Passed
Pull Request — master (#126)
by Kiran
03:53
created
includes/wpinv-tax-functions.php 1 patch
Spacing   +164 added lines, -164 removed lines patch added patch discarded remove patch
@@ -1,121 +1,121 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // MUST have WordPress.
3
-if ( !defined( 'WPINC' ) ) {
4
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
3
+if (!defined('WPINC')) {
4
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
5 5
 }
6 6
 
7 7
 function wpinv_use_taxes() {
8
-    $ret = wpinv_get_option( 'enable_taxes', false );
8
+    $ret = wpinv_get_option('enable_taxes', false);
9 9
     
10
-    return (bool) apply_filters( 'wpinv_use_taxes', $ret );
10
+    return (bool)apply_filters('wpinv_use_taxes', $ret);
11 11
 }
12 12
 
13 13
 function wpinv_get_tax_rates() {
14
-    $rates = get_option( 'wpinv_tax_rates', array() );
14
+    $rates = get_option('wpinv_tax_rates', array());
15 15
     
16
-    return apply_filters( 'wpinv_get_tax_rates', $rates );
16
+    return apply_filters('wpinv_get_tax_rates', $rates);
17 17
 }
18 18
 
19
-function wpinv_get_tax_rate( $country = false, $state = false, $item_id = 0 ) {
19
+function wpinv_get_tax_rate($country = false, $state = false, $item_id = 0) {
20 20
     global $wpinv_euvat, $wpi_tax_rates, $wpi_userID;
21
-    $wpi_tax_rates = !empty( $wpi_tax_rates ) ? $wpi_tax_rates : array();
21
+    $wpi_tax_rates = !empty($wpi_tax_rates) ? $wpi_tax_rates : array();
22 22
     
23
-    if ( !empty( $wpi_tax_rates ) && !empty( $item_id ) && isset( $wpi_tax_rates[$item_id] ) ) {
23
+    if (!empty($wpi_tax_rates) && !empty($item_id) && isset($wpi_tax_rates[$item_id])) {
24 24
         return $wpi_tax_rates[$item_id];
25 25
     }
26 26
     
27
-    if ( !$wpinv_euvat->item_is_taxable( $item_id, $country, $state ) ) {
27
+    if (!$wpinv_euvat->item_is_taxable($item_id, $country, $state)) {
28 28
         $wpi_tax_rates[$item_id] = 0;
29 29
         return 0;
30 30
     }
31 31
     
32 32
     $is_global = false;
33
-    if ( $item_id == 'global' ) {
33
+    if ($item_id == 'global') {
34 34
         $is_global = true;
35 35
         $item_id = 0;
36 36
     }
37 37
     
38
-    $rate           = (float)wpinv_get_option( 'tax_rate', 0 );
39
-    $user_address   = wpinv_get_user_address( $wpi_userID );
38
+    $rate           = (float)wpinv_get_option('tax_rate', 0);
39
+    $user_address   = wpinv_get_user_address($wpi_userID);
40 40
     
41
-    if( empty( $country ) ) {
42
-        if( !empty( $_POST['wpinv_country'] ) ) {
41
+    if (empty($country)) {
42
+        if (!empty($_POST['wpinv_country'])) {
43 43
             $country = $_POST['wpinv_country'];
44
-        } elseif( !empty( $_POST['wpinv_country'] ) ) {
44
+        } elseif (!empty($_POST['wpinv_country'])) {
45 45
             $country = $_POST['wpinv_country'];
46
-        } elseif( !empty( $_POST['country'] ) ) {
46
+        } elseif (!empty($_POST['country'])) {
47 47
             $country = $_POST['country'];
48
-        } elseif( is_user_logged_in() && !empty( $user_address ) ) {
48
+        } elseif (is_user_logged_in() && !empty($user_address)) {
49 49
             $country = $user_address['country'];
50 50
         }
51
-        $country = !empty( $country ) ? $country : wpinv_get_default_country();
51
+        $country = !empty($country) ? $country : wpinv_get_default_country();
52 52
     }
53 53
 
54
-    if( empty( $state ) ) {
55
-        if( !empty( $_POST['wpinv_state'] ) ) {
54
+    if (empty($state)) {
55
+        if (!empty($_POST['wpinv_state'])) {
56 56
             $state = $_POST['wpinv_state'];
57
-        } elseif( !empty( $_POST['wpinv_state'] ) ) {
57
+        } elseif (!empty($_POST['wpinv_state'])) {
58 58
             $state = $_POST['wpinv_state'];
59
-        } elseif( !empty( $_POST['state'] ) ) {
59
+        } elseif (!empty($_POST['state'])) {
60 60
             $state = $_POST['state'];
61
-        } elseif( is_user_logged_in() && !empty( $user_address ) ) {
61
+        } elseif (is_user_logged_in() && !empty($user_address)) {
62 62
             $state = $user_address['state'];
63 63
         }
64
-        $state = !empty( $state ) ? $state : wpinv_get_default_state();
64
+        $state = !empty($state) ? $state : wpinv_get_default_state();
65 65
     }
66 66
     
67
-    if( !empty( $country ) ) {
68
-        $tax_rates   = wpinv_get_tax_rates();
67
+    if (!empty($country)) {
68
+        $tax_rates = wpinv_get_tax_rates();
69 69
 
70
-        if( !empty( $tax_rates ) ) {
70
+        if (!empty($tax_rates)) {
71 71
             // Locate the tax rate for this country / state, if it exists
72
-            foreach( $tax_rates as $key => $tax_rate ) {
73
-                if( $country != $tax_rate['country'] )
72
+            foreach ($tax_rates as $key => $tax_rate) {
73
+                if ($country != $tax_rate['country'])
74 74
                     continue;
75 75
 
76
-                if( !empty( $tax_rate['global'] ) ) {
77
-                    if( !empty( $tax_rate['rate'] ) ) {
78
-                        $rate = number_format( $tax_rate['rate'], 4 );
76
+                if (!empty($tax_rate['global'])) {
77
+                    if (!empty($tax_rate['rate'])) {
78
+                        $rate = number_format($tax_rate['rate'], 4);
79 79
                     }
80 80
                 } else {
81 81
 
82
-                    if( empty( $tax_rate['state'] ) || strtolower( $state ) != strtolower( $tax_rate['state'] ) )
82
+                    if (empty($tax_rate['state']) || strtolower($state) != strtolower($tax_rate['state']))
83 83
                         continue;
84 84
 
85 85
                     $state_rate = $tax_rate['rate'];
86
-                    if( 0 !== $state_rate || !empty( $state_rate ) ) {
87
-                        $rate = number_format( $state_rate, 4 );
86
+                    if (0 !== $state_rate || !empty($state_rate)) {
87
+                        $rate = number_format($state_rate, 4);
88 88
                     }
89 89
                 }
90 90
             }
91 91
         }
92 92
     }
93 93
     
94
-    $rate = apply_filters( 'wpinv_tax_rate', $rate, $country, $state, $item_id );
94
+    $rate = apply_filters('wpinv_tax_rate', $rate, $country, $state, $item_id);
95 95
     
96
-    if ( !empty( $item_id ) ) {
96
+    if (!empty($item_id)) {
97 97
         $wpi_tax_rates[$item_id] = $rate;
98
-    } else if ( $is_global ) {
98
+    } else if ($is_global) {
99 99
         $wpi_tax_rates['global'] = $rate;
100 100
     }
101 101
     
102 102
     return $rate;
103 103
 }
104 104
 
105
-function wpinv_get_formatted_tax_rate( $country = false, $state = false, $item_id ) {
106
-    $rate = wpinv_get_tax_rate( $country, $state, $item_id );
107
-    $rate = round( $rate, 4 );
105
+function wpinv_get_formatted_tax_rate($country = false, $state = false, $item_id) {
106
+    $rate = wpinv_get_tax_rate($country, $state, $item_id);
107
+    $rate = round($rate, 4);
108 108
     $formatted = $rate .= '%';
109
-    return apply_filters( 'wpinv_formatted_tax_rate', $formatted, $rate, $country, $state, $item_id );
109
+    return apply_filters('wpinv_formatted_tax_rate', $formatted, $rate, $country, $state, $item_id);
110 110
 }
111 111
 
112
-function wpinv_calculate_tax( $amount = 0, $country = false, $state = false, $item_id = 0 ) {
113
-    $rate = wpinv_get_tax_rate( $country, $state, $item_id );
112
+function wpinv_calculate_tax($amount = 0, $country = false, $state = false, $item_id = 0) {
113
+    $rate = wpinv_get_tax_rate($country, $state, $item_id);
114 114
     $tax  = 0.00;
115 115
 
116
-    if ( wpinv_use_taxes() ) {        
117
-        if ( wpinv_prices_include_tax() ) {
118
-            $pre_tax = ( $amount / ( ( 1 + $rate ) * 0.01 ) );
116
+    if (wpinv_use_taxes()) {        
117
+        if (wpinv_prices_include_tax()) {
118
+            $pre_tax = ($amount / ((1 + $rate) * 0.01));
119 119
             $tax     = $amount - $pre_tax;
120 120
         } else {
121 121
             $tax = $amount * $rate * 0.01;
@@ -123,46 +123,46 @@  discard block
 block discarded – undo
123 123
 
124 124
     }
125 125
 
126
-    return apply_filters( 'wpinv_taxed_amount', $tax, $rate, $country, $state, $item_id );
126
+    return apply_filters('wpinv_taxed_amount', $tax, $rate, $country, $state, $item_id);
127 127
 }
128 128
 
129 129
 function wpinv_prices_include_tax() {
130 130
     return false; // TODO
131
-    $ret = ( wpinv_get_option( 'prices_include_tax', false ) == 'yes' && wpinv_use_taxes() );
131
+    $ret = (wpinv_get_option('prices_include_tax', false) == 'yes' && wpinv_use_taxes());
132 132
 
133
-    return apply_filters( 'wpinv_prices_include_tax', $ret );
133
+    return apply_filters('wpinv_prices_include_tax', $ret);
134 134
 }
135 135
 
136
-function wpinv_sales_tax_for_year( $year = null ) {
137
-    return wpinv_price( wpinv_format_amount( wpinv_get_sales_tax_for_year( $year ) ) );
136
+function wpinv_sales_tax_for_year($year = null) {
137
+    return wpinv_price(wpinv_format_amount(wpinv_get_sales_tax_for_year($year)));
138 138
 }
139 139
 
140
-function wpinv_get_sales_tax_for_year( $year = null ) {
140
+function wpinv_get_sales_tax_for_year($year = null) {
141 141
     global $wpdb;
142 142
 
143 143
     // Start at zero
144 144
     $tax = 0;
145 145
 
146
-    if ( ! empty( $year ) ) {
146
+    if (!empty($year)) {
147 147
         $args = array(
148 148
             'post_type'      => 'wpi_invoice',
149
-            'post_status'    => array( 'publish' ),
149
+            'post_status'    => array('publish'),
150 150
             'posts_per_page' => -1,
151 151
             'year'           => $year,
152 152
             'fields'         => 'ids'
153 153
         );
154 154
 
155
-        $payments    = get_posts( $args );
156
-        $payment_ids = implode( ',', $payments );
155
+        $payments    = get_posts($args);
156
+        $payment_ids = implode(',', $payments);
157 157
 
158
-        if ( count( $payments ) > 0 ) {
158
+        if (count($payments) > 0) {
159 159
             $sql = "SELECT SUM( meta_value ) FROM $wpdb->postmeta WHERE meta_key = '_wpinv_tax' AND post_id IN( $payment_ids )";
160
-            $tax = $wpdb->get_var( $sql );
160
+            $tax = $wpdb->get_var($sql);
161 161
         }
162 162
 
163 163
     }
164 164
 
165
-    return apply_filters( 'wpinv_get_sales_tax_for_year', $tax, $year );
165
+    return apply_filters('wpinv_get_sales_tax_for_year', $tax, $year);
166 166
 }
167 167
 
168 168
 function wpinv_is_cart_taxed() {
@@ -171,33 +171,33 @@  discard block
 block discarded – undo
171 171
 
172 172
 function wpinv_prices_show_tax_on_checkout() {
173 173
     return false; // TODO
174
-    $ret = ( wpinv_get_option( 'checkout_include_tax', false ) == 'yes' && wpinv_use_taxes() );
174
+    $ret = (wpinv_get_option('checkout_include_tax', false) == 'yes' && wpinv_use_taxes());
175 175
 
176
-    return apply_filters( 'wpinv_taxes_on_prices_on_checkout', $ret );
176
+    return apply_filters('wpinv_taxes_on_prices_on_checkout', $ret);
177 177
 }
178 178
 
179 179
 function wpinv_display_tax_rate() {
180
-    $ret = wpinv_use_taxes() && wpinv_get_option( 'display_tax_rate', false );
180
+    $ret = wpinv_use_taxes() && wpinv_get_option('display_tax_rate', false);
181 181
 
182
-    return apply_filters( 'wpinv_display_tax_rate', $ret );
182
+    return apply_filters('wpinv_display_tax_rate', $ret);
183 183
 }
184 184
 
185 185
 function wpinv_cart_needs_tax_address_fields() {
186
-    if( !wpinv_is_cart_taxed() )
186
+    if (!wpinv_is_cart_taxed())
187 187
         return false;
188 188
 
189
-    return ! did_action( 'wpinv_after_cc_fields', 'wpinv_default_cc_address_fields' );
189
+    return !did_action('wpinv_after_cc_fields', 'wpinv_default_cc_address_fields');
190 190
 }
191 191
 
192
-function wpinv_item_is_tax_exclusive( $item_id = 0 ) {
193
-    $ret = (bool)get_post_meta( $item_id, '_wpinv_tax_exclusive', false );
194
-    return apply_filters( 'wpinv_is_tax_exclusive', $ret, $item_id );
192
+function wpinv_item_is_tax_exclusive($item_id = 0) {
193
+    $ret = (bool)get_post_meta($item_id, '_wpinv_tax_exclusive', false);
194
+    return apply_filters('wpinv_is_tax_exclusive', $ret, $item_id);
195 195
 }
196 196
 
197
-function wpinv_currency_decimal_filter( $decimals = 2 ) {
197
+function wpinv_currency_decimal_filter($decimals = 2) {
198 198
     $currency = wpinv_get_currency();
199 199
 
200
-    switch ( $currency ) {
200
+    switch ($currency) {
201 201
         case 'RIAL' :
202 202
         case 'JPY' :
203 203
         case 'TWD' :
@@ -206,48 +206,48 @@  discard block
 block discarded – undo
206 206
             break;
207 207
     }
208 208
 
209
-    return apply_filters( 'wpinv_currency_decimal_count', $decimals, $currency );
209
+    return apply_filters('wpinv_currency_decimal_count', $decimals, $currency);
210 210
 }
211 211
 
212 212
 function wpinv_tax_amount() {
213 213
     $output = 0.00;
214 214
     
215
-    return apply_filters( 'wpinv_tax_amount', $output );
215
+    return apply_filters('wpinv_tax_amount', $output);
216 216
 }
217 217
 
218 218
 function wpinv_recalculated_tax() {
219
-    define( 'WPINV_RECALCTAX', true );
219
+    define('WPINV_RECALCTAX', true);
220 220
 }
221
-add_action( 'wp_ajax_wpinv_recalculate_tax', 'wpinv_recalculated_tax', 1 );
221
+add_action('wp_ajax_wpinv_recalculate_tax', 'wpinv_recalculated_tax', 1);
222 222
 
223
-function wpinv_recalculate_tax( $return = false ) {
223
+function wpinv_recalculate_tax($return = false) {
224 224
     $invoice_id = (int)wpinv_get_invoice_cart_id();
225
-    if ( empty( $invoice_id ) ) {
225
+    if (empty($invoice_id)) {
226 226
         return false;
227 227
     }
228 228
     
229
-    $invoice = wpinv_get_invoice_cart( $invoice_id );
229
+    $invoice = wpinv_get_invoice_cart($invoice_id);
230 230
 
231
-    if ( empty( $invoice ) ) {
231
+    if (empty($invoice)) {
232 232
         return false;
233 233
     }
234 234
 
235
-    if ( empty( $_POST['country'] ) ) {
235
+    if (empty($_POST['country'])) {
236 236
         $_POST['country'] = !empty($invoice->country) ? $invoice->country : wpinv_get_default_country();
237 237
     }
238 238
         
239 239
     $invoice->country = sanitize_text_field($_POST['country']);
240
-    $invoice->set( 'country', sanitize_text_field( $_POST['country'] ) );
240
+    $invoice->set('country', sanitize_text_field($_POST['country']));
241 241
     if (isset($_POST['state'])) {
242 242
         $invoice->state = sanitize_text_field($_POST['state']);
243
-        $invoice->set( 'state', sanitize_text_field( $_POST['state'] ) );
243
+        $invoice->set('state', sanitize_text_field($_POST['state']));
244 244
     }
245 245
 
246 246
     $invoice->cart_details  = wpinv_get_cart_content_details();
247 247
     
248
-    $subtotal               = wpinv_get_cart_subtotal( $invoice->cart_details );
249
-    $tax                    = wpinv_get_cart_tax( $invoice->cart_details );
250
-    $total                  = wpinv_get_cart_total( $invoice->cart_details );
248
+    $subtotal               = wpinv_get_cart_subtotal($invoice->cart_details);
249
+    $tax                    = wpinv_get_cart_tax($invoice->cart_details);
250
+    $total                  = wpinv_get_cart_total($invoice->cart_details);
251 251
 
252 252
     $invoice->tax           = $tax;
253 253
     $invoice->subtotal      = $subtotal;
@@ -255,61 +255,61 @@  discard block
 block discarded – undo
255 255
 
256 256
     $invoice->save();
257 257
     
258
-    if ( $invoice->is_free_trial() ) {
258
+    if ($invoice->is_free_trial()) {
259 259
         $total = 0;
260 260
     }
261 261
     
262 262
     $response = array(
263
-        'total'        => html_entity_decode( wpinv_price( wpinv_format_amount( $total ) ), ENT_COMPAT, 'UTF-8' ),
263
+        'total'        => html_entity_decode(wpinv_price(wpinv_format_amount($total)), ENT_COMPAT, 'UTF-8'),
264 264
         'total_raw'    => $total,
265
-        'free'         => !( (float)$total > 0 ) && $invoice->is_free() ? true : false,
266
-        'html'         => wpinv_checkout_cart( $invoice->cart_details, false ),
265
+        'free'         => !((float)$total > 0) && $invoice->is_free() ? true : false,
266
+        'html'         => wpinv_checkout_cart($invoice->cart_details, false),
267 267
     );
268 268
     
269
-    if ( $return ) {
269
+    if ($return) {
270 270
         return $response;
271 271
     }
272 272
 
273
-    wp_send_json( $response );
273
+    wp_send_json($response);
274 274
 }
275
-add_action( 'wp_ajax_wpinv_recalculate_tax', 'wpinv_recalculate_tax' );
276
-add_action( 'wp_ajax_nopriv_wpinv_recalculate_tax', 'wpinv_recalculate_tax' );
275
+add_action('wp_ajax_wpinv_recalculate_tax', 'wpinv_recalculate_tax');
276
+add_action('wp_ajax_nopriv_wpinv_recalculate_tax', 'wpinv_recalculate_tax');
277 277
 
278 278
 // VAT Settings
279
-function wpinv_vat_rate_add_callback( $args ) {
279
+function wpinv_vat_rate_add_callback($args) {
280 280
     ?>
281
-    <p class="wpi-vat-rate-actions"><input id="wpi_vat_rate_add" type="button" value="<?php esc_attr_e( 'Add', 'invoicing' );?>" class="button button-primary" />&nbsp;&nbsp;<i style="display:none;" class="fa fa-refresh fa-spin"></i></p>
281
+    <p class="wpi-vat-rate-actions"><input id="wpi_vat_rate_add" type="button" value="<?php esc_attr_e('Add', 'invoicing'); ?>" class="button button-primary" />&nbsp;&nbsp;<i style="display:none;" class="fa fa-refresh fa-spin"></i></p>
282 282
     <?php
283 283
 }
284 284
 
285
-function wpinv_vat_rate_delete_callback( $args ) {
285
+function wpinv_vat_rate_delete_callback($args) {
286 286
     global $wpinv_euvat;
287 287
     
288 288
     $vat_classes = $wpinv_euvat->get_rate_classes();
289
-    $vat_class = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' && isset( $vat_classes[$_REQUEST['wpi_sub']] )? sanitize_text_field( $_REQUEST['wpi_sub'] ) : '';
290
-    if ( isset( $vat_classes[$vat_class] ) ) {
289
+    $vat_class = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' && isset($vat_classes[$_REQUEST['wpi_sub']]) ? sanitize_text_field($_REQUEST['wpi_sub']) : '';
290
+    if (isset($vat_classes[$vat_class])) {
291 291
     ?>
292
-    <p class="wpi-vat-rate-actions"><input id="wpi_vat_rate_delete" type="button" value="<?php echo wp_sprintf( esc_attr__( 'Delete class "%s"', 'invoicing' ), $vat_classes[$vat_class] );?>" class="button button-primary" />&nbsp;&nbsp;<i style="display:none;" class="fa fa-refresh fa-spin"></i></p>
292
+    <p class="wpi-vat-rate-actions"><input id="wpi_vat_rate_delete" type="button" value="<?php echo wp_sprintf(esc_attr__('Delete class "%s"', 'invoicing'), $vat_classes[$vat_class]); ?>" class="button button-primary" />&nbsp;&nbsp;<i style="display:none;" class="fa fa-refresh fa-spin"></i></p>
293 293
     <?php
294 294
     }
295 295
 }
296 296
 
297
-function wpinv_vat_rates_callback( $args ) {
297
+function wpinv_vat_rates_callback($args) {
298 298
     global $wpinv_euvat;
299 299
     
300 300
     $vat_classes    = $wpinv_euvat->get_rate_classes();
301
-    $vat_class      = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' && isset( $vat_classes[$_REQUEST['wpi_sub']] )? sanitize_text_field( $_REQUEST['wpi_sub'] ) : '_standard';
301
+    $vat_class      = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' && isset($vat_classes[$_REQUEST['wpi_sub']]) ? sanitize_text_field($_REQUEST['wpi_sub']) : '_standard';
302 302
     
303 303
     $eu_states      = $wpinv_euvat->get_eu_states();
304 304
     $countries      = wpinv_get_country_list();
305 305
     $vat_groups     = $wpinv_euvat->get_vat_groups();
306
-    $rates          = $wpinv_euvat->get_vat_rates( $vat_class );
306
+    $rates          = $wpinv_euvat->get_vat_rates($vat_class);
307 307
     ob_start();
308 308
 ?>
309 309
 </td><tr>
310 310
     <td colspan="2" class="wpinv_vat_tdbox">
311
-    <input type="hidden" name="wpi_vat_class" value="<?php echo $vat_class;?>" />
312
-    <p><?php echo ( isset( $args['desc'] ) ? $args['desc'] : '' ); ?></p>
311
+    <input type="hidden" name="wpi_vat_class" value="<?php echo $vat_class; ?>" />
312
+    <p><?php echo (isset($args['desc']) ? $args['desc'] : ''); ?></p>
313 313
     <table id="wpinv_vat_rates" class="wp-list-table widefat fixed posts">
314 314
         <colgroup>
315 315
             <col width="50px" />
@@ -321,43 +321,43 @@  discard block
 block discarded – undo
321 321
         </colgroup>
322 322
         <thead>
323 323
             <tr>
324
-                <th scope="col" colspan="2" class="wpinv_vat_country_name"><?php _e( 'Country', 'invoicing' ); ?></th>
325
-                <th scope="col" class="wpinv_vat_global" title="<?php esc_attr_e( 'Apply rate to whole country', 'invoicing' ); ?>"><?php _e( 'Country Wide', 'invoicing' ); ?></th>
326
-                <th scope="col" class="wpinv_vat_rate"><?php _e( 'Rate %', 'invoicing' ); ?></th> 
327
-                <th scope="col" class="wpinv_vat_name"><?php _e( 'VAT Name', 'invoicing' ); ?></th>
328
-                <th scope="col" class="wpinv_vat_group"><?php _e( 'Tax Group', 'invoicing' ); ?></th>
324
+                <th scope="col" colspan="2" class="wpinv_vat_country_name"><?php _e('Country', 'invoicing'); ?></th>
325
+                <th scope="col" class="wpinv_vat_global" title="<?php esc_attr_e('Apply rate to whole country', 'invoicing'); ?>"><?php _e('Country Wide', 'invoicing'); ?></th>
326
+                <th scope="col" class="wpinv_vat_rate"><?php _e('Rate %', 'invoicing'); ?></th> 
327
+                <th scope="col" class="wpinv_vat_name"><?php _e('VAT Name', 'invoicing'); ?></th>
328
+                <th scope="col" class="wpinv_vat_group"><?php _e('Tax Group', 'invoicing'); ?></th>
329 329
             </tr>
330 330
         </thead>
331 331
         <tbody>
332
-        <?php if( !empty( $eu_states ) ) { ?>
332
+        <?php if (!empty($eu_states)) { ?>
333 333
         <?php 
334
-        foreach ( $eu_states as $state ) { 
335
-            $country_name = isset( $countries[$state] ) ? $countries[$state] : '';
334
+        foreach ($eu_states as $state) { 
335
+            $country_name = isset($countries[$state]) ? $countries[$state] : '';
336 336
             
337 337
             // Filter the rate for each country
338
-            $country_rate = array_filter( $rates, function( $rate ) use( $state ) { return $rate['country'] === $state; } );
338
+            $country_rate = array_filter($rates, function($rate) use($state) { return $rate['country'] === $state; } );
339 339
             
340 340
             // If one does not exist create a default
341
-            $country_rate = is_array( $country_rate ) && count( $country_rate ) > 0 ? reset( $country_rate ) : array();
341
+            $country_rate = is_array($country_rate) && count($country_rate) > 0 ? reset($country_rate) : array();
342 342
             
343
-            $vat_global = isset( $country_rate['global'] ) ? !empty( $country_rate['global'] ) : true;
344
-            $vat_rate = isset( $country_rate['rate'] ) ? $country_rate['rate'] : '';
345
-            $vat_name = !empty( $country_rate['name'] ) ? esc_attr( stripslashes( $country_rate['name'] ) ) : '';
346
-            $vat_group = !empty( $country_rate['group'] ) ? $country_rate['group'] : ( $vat_class === '_standard' ? 'standard' : 'reduced' );
343
+            $vat_global = isset($country_rate['global']) ? !empty($country_rate['global']) : true;
344
+            $vat_rate = isset($country_rate['rate']) ? $country_rate['rate'] : '';
345
+            $vat_name = !empty($country_rate['name']) ? esc_attr(stripslashes($country_rate['name'])) : '';
346
+            $vat_group = !empty($country_rate['group']) ? $country_rate['group'] : ($vat_class === '_standard' ? 'standard' : 'reduced');
347 347
         ?>
348 348
         <tr>
349 349
             <td class="wpinv_vat_country"><?php echo $state; ?><input type="hidden" name="vat_rates[<?php echo $state; ?>][country]" value="<?php echo $state; ?>" /><input type="hidden" name="vat_rates[<?php echo $state; ?>][state]" value="" /></td>
350 350
             <td class="wpinv_vat_country_name"><?php echo $country_name; ?></td>
351 351
             <td class="wpinv_vat_global">
352
-                <input type="checkbox" name="vat_rates[<?php echo $state;?>][global]" id="vat_rates[<?php echo $state;?>][global]" value="1" <?php checked( true, $vat_global );?> disabled="disabled" />
353
-                <label for="tax_rates[<?php echo $state;?>][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label>
354
-                <input type="hidden" name="vat_rates[<?php echo $state;?>][global]" value="1" checked="checked" />
352
+                <input type="checkbox" name="vat_rates[<?php echo $state; ?>][global]" id="vat_rates[<?php echo $state; ?>][global]" value="1" <?php checked(true, $vat_global); ?> disabled="disabled" />
353
+                <label for="tax_rates[<?php echo $state; ?>][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label>
354
+                <input type="hidden" name="vat_rates[<?php echo $state; ?>][global]" value="1" checked="checked" />
355 355
             </td>
356
-            <td class="wpinv_vat_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="vat_rates[<?php echo $state;?>][rate]" value="<?php echo $vat_rate; ?>" /></td>
357
-            <td class="wpinv_vat_name"><input type="text" class="regular-text" name="vat_rates[<?php echo $state;?>][name]" value="<?php echo $vat_name; ?>" /></td>
356
+            <td class="wpinv_vat_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="vat_rates[<?php echo $state; ?>][rate]" value="<?php echo $vat_rate; ?>" /></td>
357
+            <td class="wpinv_vat_name"><input type="text" class="regular-text" name="vat_rates[<?php echo $state; ?>][name]" value="<?php echo $vat_name; ?>" /></td>
358 358
             <td class="wpinv_vat_group">
359 359
             <?php
360
-            echo wpinv_html_select( array(
360
+            echo wpinv_html_select(array(
361 361
                                         'name'             => 'vat_rates[' . $state . '][group]',
362 362
                                         'selected'         => $vat_group,
363 363
                                         'id'               => 'vat_rates[' . $state . '][group]',
@@ -366,14 +366,14 @@  discard block
 block discarded – undo
366 366
                                         'multiple'         => false,
367 367
                                         'show_option_all'  => false,
368 368
                                         'show_option_none' => false
369
-                                    ) );
369
+                                    ));
370 370
             ?>
371 371
             </td>
372 372
         </tr>
373 373
         <?php } ?>
374 374
         <tr>
375 375
             <td colspan="6" style="background-color:#fafafa;">
376
-                <span><input id="wpi_vat_get_rates_group" type="button" class="button-secondary" value="<?php esc_attr_e( 'Update EU VAT Rates', 'invoicing' ); ?>" />&nbsp;&nbsp;<i style="display:none" class="fa fa-refresh fa-spin"></i></span><span id="wpinv-rates-error-wrap" class="wpinv_errors" style="display:none;"></span>
376
+                <span><input id="wpi_vat_get_rates_group" type="button" class="button-secondary" value="<?php esc_attr_e('Update EU VAT Rates', 'invoicing'); ?>" />&nbsp;&nbsp;<i style="display:none" class="fa fa-refresh fa-spin"></i></span><span id="wpinv-rates-error-wrap" class="wpinv_errors" style="display:none;"></span>
377 377
             </td>
378 378
         </tr>
379 379
         <?php } ?>
@@ -385,35 +385,35 @@  discard block
 block discarded – undo
385 385
     echo $content;
386 386
 }
387 387
 
388
-function wpinv_vat_number_callback( $args ) {
388
+function wpinv_vat_number_callback($args) {
389 389
     global $wpinv_euvat;
390 390
     
391 391
     $vat_number     = $wpinv_euvat->get_vat_number();
392 392
     $vat_valid      = $wpinv_euvat->is_vat_validated();
393 393
 
394
-    $size           = ( isset( $args['size'] ) && !is_null( $args['size'] ) ) ? $args['size'] : 'regular';
395
-    $validated_text = $vat_valid ? __( 'VAT number validated', 'invoicing' ) : __( 'VAT number not validated', 'invoicing' );
394
+    $size           = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
395
+    $validated_text = $vat_valid ? __('VAT number validated', 'invoicing') : __('VAT number not validated', 'invoicing');
396 396
     $disabled       = $vat_valid ? 'disabled="disabled"' : " ";
397 397
     
398
-    $html = '<input type="text" class="' . $size . '-text" id="wpinv_settings[' . $args['id'] . ']" name="wpinv_settings[' . $args['id'] . ']" placeholder="GB123456789" value="' . esc_attr( stripslashes( $vat_number ) ) . '"/>';
399
-    $html .= '<span>&nbsp;<input type="button" id="wpinv_vat_validate" class="wpinv_validate_vat_button button-secondary" ' . $disabled . ' value="' . esc_attr__( 'Validate VAT Number', 'invoicing' ) . '" /></span>';
398
+    $html = '<input type="text" class="' . $size . '-text" id="wpinv_settings[' . $args['id'] . ']" name="wpinv_settings[' . $args['id'] . ']" placeholder="GB123456789" value="' . esc_attr(stripslashes($vat_number)) . '"/>';
399
+    $html .= '<span>&nbsp;<input type="button" id="wpinv_vat_validate" class="wpinv_validate_vat_button button-secondary" ' . $disabled . ' value="' . esc_attr__('Validate VAT Number', 'invoicing') . '" /></span>';
400 400
     $html .= '<span class="wpinv-vat-stat wpinv-vat-stat-' . (int)$vat_valid . '"><i class="fa"></i> <font>' . $validated_text . '</font></span>';
401
-    $html .= '<label for="wpinv_settings[' . $args['id'] . ']">' . '<p>' . __( 'Enter your VAT number including country identifier, eg: GB123456789 (Settings must be saved after validation)', 'invoicing' ).'</p>' . '</label>';
402
-    $html .= '<input type="hidden" name="_wpi_nonce" value="' . wp_create_nonce( 'vat_validation' ) . '">';
401
+    $html .= '<label for="wpinv_settings[' . $args['id'] . ']">' . '<p>' . __('Enter your VAT number including country identifier, eg: GB123456789 (Settings must be saved after validation)', 'invoicing') . '</p>' . '</label>';
402
+    $html .= '<input type="hidden" name="_wpi_nonce" value="' . wp_create_nonce('vat_validation') . '">';
403 403
 
404 404
     echo $html;
405 405
 }
406 406
 
407
-function wpinv_eu_fallback_rate_callback( $args ) {
407
+function wpinv_eu_fallback_rate_callback($args) {
408 408
     global $wpinv_options;
409 409
 
410
-    $value = isset( $wpinv_options[$args['id']] ) ? $wpinv_options[ $args['id'] ] : ( isset( $args['std'] ) ? $args['std'] : '' );
411
-    $size = ( isset( $args['size'] ) && !is_null( $args['size'] ) ) ? $args['size'] : 'small';
410
+    $value = isset($wpinv_options[$args['id']]) ? $wpinv_options[$args['id']] : (isset($args['std']) ? $args['std'] : '');
411
+    $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'small';
412 412
     
413
-    $html = '<input type="number" min="0" max="99" step="any" class="' . $size . '-text" id="wpinv_settings_' . $args['section'] . '_' . $args['id'] . '" name="wpinv_settings[' . $args['id'] . ']" value="' . esc_attr( stripslashes( $value ) ) . '" />';
414
-    $html .= '<span>&nbsp;<input id="wpi_add_eu_states" type="button" class="button-secondary" value="' . esc_attr__( 'Add EU Member States', 'invoicing' ) . '" /></span>';
415
-    $html .= '<span>&nbsp;<input id="wpi_remove_eu_states" type="button" class="button-secondary" value="' . esc_attr__( 'Remove EU Member States', 'invoicing' ) . '" /></span>';
416
-    $html .= '<span>&nbsp;<input id="wpi_vat_get_rates" type="button" class="button-secondary" value="' . esc_attr__( 'Update EU VAT Rates', 'invoicing' ) . '" />&nbsp;&nbsp;<i style="display:none" class="fa fa-refresh fa-spin"></i></span>';
413
+    $html = '<input type="number" min="0" max="99" step="any" class="' . $size . '-text" id="wpinv_settings_' . $args['section'] . '_' . $args['id'] . '" name="wpinv_settings[' . $args['id'] . ']" value="' . esc_attr(stripslashes($value)) . '" />';
414
+    $html .= '<span>&nbsp;<input id="wpi_add_eu_states" type="button" class="button-secondary" value="' . esc_attr__('Add EU Member States', 'invoicing') . '" /></span>';
415
+    $html .= '<span>&nbsp;<input id="wpi_remove_eu_states" type="button" class="button-secondary" value="' . esc_attr__('Remove EU Member States', 'invoicing') . '" /></span>';
416
+    $html .= '<span>&nbsp;<input id="wpi_vat_get_rates" type="button" class="button-secondary" value="' . esc_attr__('Update EU VAT Rates', 'invoicing') . '" />&nbsp;&nbsp;<i style="display:none" class="fa fa-refresh fa-spin"></i></span>';
417 417
     $html .= '<p><label for="wpinv_settings_' . $args['section'] . '_' . $args['id'] . '">' . $args['desc'] . '</label></p>';
418 418
     echo $html;
419 419
     ?>
@@ -421,36 +421,36 @@  discard block
 block discarded – undo
421 421
     <?php
422 422
 }
423 423
 
424
-function wpinv_vat_ip_lookup_callback( $args ) {
424
+function wpinv_vat_ip_lookup_callback($args) {
425 425
     global $wpinv_options, $wpinv_euvat;
426 426
 
427
-    $value =  isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ]  : ( isset( $args['std'] ) ? $args['std'] : 'default' );
427
+    $value = isset($wpinv_options[$args['id']]) ? $wpinv_options[$args['id']] : (isset($args['std']) ? $args['std'] : 'default');
428 428
     
429 429
     $options = array();
430
-    if ( function_exists( 'geoip_country_code_by_name' ) ) {
431
-        $options['geoip'] = __( 'PHP GeoIP extension', 'invoicing' );
430
+    if (function_exists('geoip_country_code_by_name')) {
431
+        $options['geoip'] = __('PHP GeoIP extension', 'invoicing');
432 432
     }
433 433
     
434 434
     $geoip2_database = $wpinv_euvat->geoip2_country_dbfile();
435 435
     
436
-    if ( !function_exists( 'bcadd' ) ) {
437
-        $geoip2_message = __( 'GeoIP2 service requires the BC Math PHP extension, it is not loaded in your version of PHP!', 'invoicing' );
436
+    if (!function_exists('bcadd')) {
437
+        $geoip2_message = __('GeoIP2 service requires the BC Math PHP extension, it is not loaded in your version of PHP!', 'invoicing');
438 438
     } else {
439
-        $geoip2_message = ini_get('safe_mode') ? __( 'GeoIP2 is not supported with PHP safe mode enabled!', 'invoicing' ) : '';
439
+        $geoip2_message = ini_get('safe_mode') ? __('GeoIP2 is not supported with PHP safe mode enabled!', 'invoicing') : '';
440 440
     }
441 441
     
442
-    if ( $geoip2_database !== false && empty( $geoip2_message ) ) {
443
-        $options['geoip2'] = __( 'GeoIP2 Database', 'invoicing' );
442
+    if ($geoip2_database !== false && empty($geoip2_message)) {
443
+        $options['geoip2'] = __('GeoIP2 Database', 'invoicing');
444 444
     }
445 445
     
446
-    if ( function_exists( 'simplexml_load_file' ) ) {
447
-        $options['geoplugin'] = __( 'geoPlugin Web Service', 'invoicing' );
446
+    if (function_exists('simplexml_load_file')) {
447
+        $options['geoplugin'] = __('geoPlugin Web Service', 'invoicing');
448 448
     }
449 449
     
450
-    $options['site']    = __( 'Use default country', 'invoicing' );
451
-    $options['default'] = __( 'Auto', 'invoicing' );
450
+    $options['site']    = __('Use default country', 'invoicing');
451
+    $options['default'] = __('Auto', 'invoicing');
452 452
 
453
-    $html = wpinv_html_select( array(
453
+    $html = wpinv_html_select(array(
454 454
         'name'             => "wpinv_settings[{$args['id']}]",
455 455
         'selected'         => $value,
456 456
         'id'               => "wpinv_settings[{$args['id']}]",
@@ -462,23 +462,23 @@  discard block
 block discarded – undo
462 462
     ));
463 463
     
464 464
     $desc = '<label for="wpinv_settings[' . $args['id'] . ']">';
465
-    $desc .= __( 'Select the option Invoicing should use to determine the country from the IP address of the user.', 'invoicing' );
465
+    $desc .= __('Select the option Invoicing should use to determine the country from the IP address of the user.', 'invoicing');
466 466
     $desc .= '<p>';
467
-    if ( empty( $geoip2_message ) ) {
468
-        if ( $geoip2_database ) {
467
+    if (empty($geoip2_message)) {
468
+        if ($geoip2_database) {
469 469
             $last_updated = '';
470
-            if ( $time_updated = wpinv_get_option( 'wpinv_geoip2_date_updated' ) ) {
471
-                $date_updated = date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), $time_updated );
472
-                $last_updated = '<br>' . sprintf( __( 'The GeoIP2 database was last updated on: <b>%s</b>', 'invoicing' ), $date_updated );
470
+            if ($time_updated = wpinv_get_option('wpinv_geoip2_date_updated')) {
471
+                $date_updated = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $time_updated);
472
+                $last_updated = '<br>' . sprintf(__('The GeoIP2 database was last updated on: <b>%s</b>', 'invoicing'), $date_updated);
473 473
             }
474
-            $desc .= __(  'GeoIP2 database exists:', 'invoicing' ) . $last_updated . '&nbsp;<input type="button" id="wpi_geoip2" action="update" class="wpinv-refresh-geoip2-btn button-secondary" value="' . __( 'Update GeoIP2 database now (~55MB)', 'invoicing' ) . '"></input>';
474
+            $desc .= __('GeoIP2 database exists:', 'invoicing') . $last_updated . '&nbsp;<input type="button" id="wpi_geoip2" action="update" class="wpinv-refresh-geoip2-btn button-secondary" value="' . __('Update GeoIP2 database now (~55MB)', 'invoicing') . '"></input>';
475 475
         } else {
476
-            $desc .= __( 'GeoIP2 database does not exist:', 'invoicing' ) . '&nbsp;<input type="button" id="wpi_geoip2" action="download" class="wpinv-download-geoip2-btn button-secondary" value="' . __( 'Download GeoIP2 database now', 'invoicing' ) . ' (~53MB)"></input><br>' . __(  'After downloading the GeoIP2 database the GeoIP2 lookup option will show.', 'invoicing' );
476
+            $desc .= __('GeoIP2 database does not exist:', 'invoicing') . '&nbsp;<input type="button" id="wpi_geoip2" action="download" class="wpinv-download-geoip2-btn button-secondary" value="' . __('Download GeoIP2 database now', 'invoicing') . ' (~53MB)"></input><br>' . __('After downloading the GeoIP2 database the GeoIP2 lookup option will show.', 'invoicing');
477 477
         }
478 478
     } else {
479 479
         $desc .= $geoip2_message;
480 480
     }
481
-    $desc .= '</p><p>'. __( 'GeoPlugin is a great free service please consider supporting them: ', 'invoicing' ) . ' <a href="http://www.geoplugin.com/" target="_blank">GeoPlugin.com</a></p>';
481
+    $desc .= '</p><p>' . __('GeoPlugin is a great free service please consider supporting them: ', 'invoicing') . ' <a href="http://www.geoplugin.com/" target="_blank">GeoPlugin.com</a></p>';
482 482
     $desc .= '</label>';
483 483
     
484 484
     $html .= $desc;
Please login to merge, or discard this patch.
includes/admin/admin-meta-boxes.php 1 patch
Spacing   +126 added lines, -126 removed lines patch added patch discarded remove patch
@@ -1,65 +1,65 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // MUST have WordPress.
3
-if ( !defined( 'WPINC' ) ) {
4
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
3
+if (!defined('WPINC')) {
4
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
5 5
 }
6 6
 
7
-function wpinv_add_meta_boxes( $post_type, $post ) {
7
+function wpinv_add_meta_boxes($post_type, $post) {
8 8
     global $wpi_mb_invoice;
9
-    if ( $post_type == 'wpi_invoice' && !empty( $post->ID ) ) {
10
-        $wpi_mb_invoice = wpinv_get_invoice( $post->ID );
9
+    if ($post_type == 'wpi_invoice' && !empty($post->ID)) {
10
+        $wpi_mb_invoice = wpinv_get_invoice($post->ID);
11 11
     }
12 12
     
13
-    if ( !empty( $wpi_mb_invoice ) && !$wpi_mb_invoice->has_status( array( 'draft', 'auto-draft' ) ) ) {
14
-        add_meta_box( 'wpinv-mb-resend-invoice', __( 'Resend Invoice', 'invoicing' ), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high' );
13
+    if (!empty($wpi_mb_invoice) && !$wpi_mb_invoice->has_status(array('draft', 'auto-draft'))) {
14
+        add_meta_box('wpinv-mb-resend-invoice', __('Resend Invoice', 'invoicing'), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high');
15 15
     }
16 16
     
17
-    if ( !empty( $wpi_mb_invoice ) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent() ) {
18
-        add_meta_box( 'wpinv-mb-subscriptions', __( 'Subscriptions', 'invoicing' ), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high' );
17
+    if (!empty($wpi_mb_invoice) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent()) {
18
+        add_meta_box('wpinv-mb-subscriptions', __('Subscriptions', 'invoicing'), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high');
19 19
     }
20 20
     
21
-    if ( wpinv_is_subscription_payment( $wpi_mb_invoice ) ) {
22
-        add_meta_box( 'wpinv-mb-renewals', __( 'Renewal Payment', 'invoicing' ), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high' );
21
+    if (wpinv_is_subscription_payment($wpi_mb_invoice)) {
22
+        add_meta_box('wpinv-mb-renewals', __('Renewal Payment', 'invoicing'), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high');
23 23
     }
24 24
     
25
-    add_meta_box( 'wpinv-details', __( 'Invoice Details', 'invoicing' ), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default' );
26
-    add_meta_box( 'wpinv-payment-meta', __( 'Payment Meta', 'invoicing' ), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default' );
25
+    add_meta_box('wpinv-details', __('Invoice Details', 'invoicing'), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default');
26
+    add_meta_box('wpinv-payment-meta', __('Payment Meta', 'invoicing'), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default');
27 27
    
28
-    add_meta_box( 'wpinv-address', __( 'Billing Details', 'invoicing' ), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high' );
29
-    add_meta_box( 'wpinv-items', __( 'Invoice Items', 'invoicing' ), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high' );
30
-    add_meta_box( 'wpinv-notes', __( 'Invoice Notes', 'invoicing' ), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high' );
28
+    add_meta_box('wpinv-address', __('Billing Details', 'invoicing'), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high');
29
+    add_meta_box('wpinv-items', __('Invoice Items', 'invoicing'), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high');
30
+    add_meta_box('wpinv-notes', __('Invoice Notes', 'invoicing'), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high');
31 31
 }
32
-add_action( 'add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2 );
32
+add_action('add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2);
33 33
 
34
-function wpinv_save_meta_boxes( $post_id, $post, $update = false ) {
35
-    remove_action( 'save_post', __FUNCTION__ );
34
+function wpinv_save_meta_boxes($post_id, $post, $update = false) {
35
+    remove_action('save_post', __FUNCTION__);
36 36
     
37 37
     // $post_id and $post are required
38
-    if ( empty( $post_id ) || empty( $post ) ) {
38
+    if (empty($post_id) || empty($post)) {
39 39
         return;
40 40
     }
41 41
         
42
-    if ( !current_user_can( 'edit_post', $post_id ) || empty( $post->post_type ) ) {
42
+    if (!current_user_can('edit_post', $post_id) || empty($post->post_type)) {
43 43
         return;
44 44
     }
45 45
     
46 46
     // Dont' save meta boxes for revisions or autosaves
47
-    if ( defined( 'DOING_AUTOSAVE' ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
47
+    if (defined('DOING_AUTOSAVE') || is_int(wp_is_post_revision($post)) || is_int(wp_is_post_autosave($post))) {
48 48
         return;
49 49
     }
50 50
         
51
-    if ( $post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote' ) {
52
-        if ( ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
51
+    if ($post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote') {
52
+        if ((defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) {
53 53
             return;
54 54
         }
55 55
     
56
-        if ( isset( $_POST['wpinv_save_invoice'] ) && wp_verify_nonce( $_POST['wpinv_save_invoice'], 'wpinv_save_invoice' ) ) {
57
-            WPInv_Meta_Box_Items::save( $post_id, $_POST, $post );
56
+        if (isset($_POST['wpinv_save_invoice']) && wp_verify_nonce($_POST['wpinv_save_invoice'], 'wpinv_save_invoice')) {
57
+            WPInv_Meta_Box_Items::save($post_id, $_POST, $post);
58 58
         }
59
-    } else if ( $post->post_type == 'wpi_item' ) {
59
+    } else if ($post->post_type == 'wpi_item') {
60 60
         // verify nonce
61
-        if ( isset( $_POST['wpinv_vat_meta_box_nonce'] ) && wp_verify_nonce( $_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save' ) ) {
62
-            $fields                                 = array();
61
+        if (isset($_POST['wpinv_vat_meta_box_nonce']) && wp_verify_nonce($_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save')) {
62
+            $fields = array();
63 63
             $fields['_wpinv_price']              = 'wpinv_item_price';
64 64
             $fields['_wpinv_vat_class']          = 'wpinv_vat_class';
65 65
             $fields['_wpinv_vat_rule']           = 'wpinv_vat_rules';
@@ -72,256 +72,256 @@  discard block
 block discarded – undo
72 72
             $fields['_wpinv_trial_period']       = 'wpinv_trial_period';
73 73
             $fields['_wpinv_trial_interval']     = 'wpinv_trial_interval';
74 74
             
75
-            if ( !isset( $_POST['wpinv_is_recurring'] ) ) {
75
+            if (!isset($_POST['wpinv_is_recurring'])) {
76 76
                 $_POST['wpinv_is_recurring'] = 0;
77 77
             }
78 78
             
79
-            if ( !isset( $_POST['wpinv_free_trial'] ) || empty( $_POST['wpinv_is_recurring'] ) ) {
79
+            if (!isset($_POST['wpinv_free_trial']) || empty($_POST['wpinv_is_recurring'])) {
80 80
                 $_POST['wpinv_free_trial'] = 0;
81 81
             }
82 82
             
83
-            foreach ( $fields as $field => $name ) {
84
-                if ( isset( $_POST[ $name ] ) ) {
85
-                    $allowed = apply_filters( 'wpinv_item_allowed_save_meta_value', true, $field, $post_id );
83
+            foreach ($fields as $field => $name) {
84
+                if (isset($_POST[$name])) {
85
+                    $allowed = apply_filters('wpinv_item_allowed_save_meta_value', true, $field, $post_id);
86 86
 
87
-                    if ( !$allowed ) {
87
+                    if (!$allowed) {
88 88
                         continue;
89 89
                     }
90 90
 
91
-                    if ( $field == '_wpinv_price' ) {
92
-                        $value = wpinv_sanitize_amount( $_POST[ $name ] );
91
+                    if ($field == '_wpinv_price') {
92
+                        $value = wpinv_sanitize_amount($_POST[$name]);
93 93
                     } else {
94
-                        $value = is_string( $_POST[ $name ] ) ? sanitize_text_field( $_POST[ $name ] ) : $_POST[ $name ];
94
+                        $value = is_string($_POST[$name]) ? sanitize_text_field($_POST[$name]) : $_POST[$name];
95 95
                     }
96 96
                     
97
-                    $value = apply_filters( 'wpinv_item_metabox_save_' . $field, $value, $name );
98
-                    update_post_meta( $post_id, $field, $value );
97
+                    $value = apply_filters('wpinv_item_metabox_save_' . $field, $value, $name);
98
+                    update_post_meta($post_id, $field, $value);
99 99
                 }
100 100
             }
101 101
             
102
-            if ( !get_post_meta( $post_id, '_wpinv_custom_id', true ) ) {
103
-                update_post_meta( $post_id, '_wpinv_custom_id', $post_id );
102
+            if (!get_post_meta($post_id, '_wpinv_custom_id', true)) {
103
+                update_post_meta($post_id, '_wpinv_custom_id', $post_id);
104 104
             }
105 105
         }
106 106
     }
107 107
 }
108
-add_action( 'save_post', 'wpinv_save_meta_boxes', 10, 3 );
108
+add_action('save_post', 'wpinv_save_meta_boxes', 10, 3);
109 109
 
110 110
 function wpinv_register_item_meta_boxes() {    
111 111
     global $wpinv_euvat;
112 112
     
113
-    add_meta_box( 'wpinv_field_prices', __( 'Item Price', 'invoicing' ), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high' );
113
+    add_meta_box('wpinv_field_prices', __('Item Price', 'invoicing'), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high');
114 114
 
115
-    if ( $wpinv_euvat->allow_vat_rules() ) {
116
-        add_meta_box( 'wpinv_field_vat_rules', __( 'VAT rules type to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high' );
115
+    if ($wpinv_euvat->allow_vat_rules()) {
116
+        add_meta_box('wpinv_field_vat_rules', __('VAT rules type to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high');
117 117
     }
118 118
     
119
-    if ( $wpinv_euvat->allow_vat_classes() ) {
120
-        add_meta_box( 'wpinv_field_vat_classes', __( 'VAT rates class to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high' );
119
+    if ($wpinv_euvat->allow_vat_classes()) {
120
+        add_meta_box('wpinv_field_vat_classes', __('VAT rates class to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high');
121 121
     }
122 122
     
123
-    add_meta_box( 'wpinv_field_item_info', __( 'Item info', 'invoicing' ), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core' );
124
-    add_meta_box( 'wpinv_field_meta_values', __( 'Item Meta Values', 'invoicing' ), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core' );
123
+    add_meta_box('wpinv_field_item_info', __('Item info', 'invoicing'), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core');
124
+    add_meta_box('wpinv_field_meta_values', __('Item Meta Values', 'invoicing'), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core');
125 125
 }
126 126
 
127 127
 function wpinv_register_discount_meta_boxes() {
128
-    add_meta_box( 'wpinv_discount_fields', __( 'Discount Details', 'invoicing' ), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high' );
128
+    add_meta_box('wpinv_discount_fields', __('Discount Details', 'invoicing'), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high');
129 129
 }
130 130
 
131
-function wpinv_discount_metabox_details( $post ) {
131
+function wpinv_discount_metabox_details($post) {
132 132
     $discount_id    = $post->ID;
133
-    $discount       = wpinv_get_discount( $discount_id );
133
+    $discount       = wpinv_get_discount($discount_id);
134 134
     
135
-    $type           = wpinv_get_discount_type( $discount_id );
136
-    $item_reqs      = wpinv_get_discount_item_reqs( $discount_id );
137
-    $excluded_items = wpinv_get_discount_excluded_items( $discount_id );
138
-    $min_total      = wpinv_get_discount_min_total( $discount_id );
139
-    $max_total      = wpinv_get_discount_max_total( $discount_id );
140
-    $max_uses       = wpinv_get_discount_max_uses( $discount_id );
141
-    $single_use     = wpinv_discount_is_single_use( $discount_id );
142
-    $recurring      = (bool)wpinv_discount_is_recurring( $discount_id );
135
+    $type           = wpinv_get_discount_type($discount_id);
136
+    $item_reqs      = wpinv_get_discount_item_reqs($discount_id);
137
+    $excluded_items = wpinv_get_discount_excluded_items($discount_id);
138
+    $min_total      = wpinv_get_discount_min_total($discount_id);
139
+    $max_total      = wpinv_get_discount_max_total($discount_id);
140
+    $max_uses       = wpinv_get_discount_max_uses($discount_id);
141
+    $single_use     = wpinv_discount_is_single_use($discount_id);
142
+    $recurring      = (bool)wpinv_discount_is_recurring($discount_id);
143 143
     
144 144
     $min_total      = $min_total > 0 ? $min_total : '';
145 145
     $max_total      = $max_total > 0 ? $max_total : '';
146 146
     $max_uses       = $max_uses > 0 ? $max_uses : '';
147 147
 ?>
148
-<?php do_action( 'wpinv_discount_form_top', $post ); ?>
149
-<?php wp_nonce_field( 'wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce' ); ;?>
148
+<?php do_action('wpinv_discount_form_top', $post); ?>
149
+<?php wp_nonce_field('wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce'); ;?>
150 150
 <table class="form-table wpi-form-table">
151 151
     <tbody>
152
-        <?php do_action( 'wpinv_discount_form_first', $post ); ?>
153
-        <?php do_action( 'wpinv_discount_form_before_code', $post ); ?>
152
+        <?php do_action('wpinv_discount_form_first', $post); ?>
153
+        <?php do_action('wpinv_discount_form_before_code', $post); ?>
154 154
         <tr>
155 155
             <th valign="top" scope="row">
156
-                <label for="wpinv_discount_code"><?php _e( 'Discount Code', 'invoicing' ); ?></label>
156
+                <label for="wpinv_discount_code"><?php _e('Discount Code', 'invoicing'); ?></label>
157 157
             </th>
158 158
             <td>
159
-                <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr( wpinv_get_discount_code( $discount_id ) ); ?>" required>
160
-                <p class="description"><?php _e( 'Enter a code for this discount, such as 10OFF', 'invoicing' ); ?></p>
159
+                <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr(wpinv_get_discount_code($discount_id)); ?>" required>
160
+                <p class="description"><?php _e('Enter a code for this discount, such as 10OFF', 'invoicing'); ?></p>
161 161
             </td>
162 162
         </tr>
163
-        <?php do_action( 'wpinv_discount_form_before_type', $post ); ?>
163
+        <?php do_action('wpinv_discount_form_before_type', $post); ?>
164 164
         <tr>
165 165
             <th valign="top" scope="row">
166
-                <label for="wpinv_discount_type"><?php _e( 'Discount Type', 'invoicing' ); ?></label>
166
+                <label for="wpinv_discount_type"><?php _e('Discount Type', 'invoicing'); ?></label>
167 167
             </th>
168 168
             <td>
169 169
                 <select id="wpinv_discount_type" name="type" class="medium-text">
170
-                    <?php foreach ( wpinv_get_discount_types() as $value => $label ) { ?>
171
-                    <option value="<?php echo $value ;?>" <?php selected( $type, $value ); ?>><?php echo $label; ?></option>
170
+                    <?php foreach (wpinv_get_discount_types() as $value => $label) { ?>
171
+                    <option value="<?php echo $value; ?>" <?php selected($type, $value); ?>><?php echo $label; ?></option>
172 172
                     <?php } ?>
173 173
                 </select>
174
-                <p class="description"><?php _e( 'The kind of discount to apply for this discount.', 'invoicing' ); ?></p>
174
+                <p class="description"><?php _e('The kind of discount to apply for this discount.', 'invoicing'); ?></p>
175 175
             </td>
176 176
         </tr>
177
-        <?php do_action( 'wpinv_discount_form_before_amount', $post ); ?>
177
+        <?php do_action('wpinv_discount_form_before_amount', $post); ?>
178 178
         <tr>
179 179
             <th valign="top" scope="row">
180
-                <label for="wpinv_discount_amount"><?php _e( 'Amount', 'invoicing' ); ?></label>
180
+                <label for="wpinv_discount_amount"><?php _e('Amount', 'invoicing'); ?></label>
181 181
             </th>
182 182
             <td>
183
-                <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr( wpinv_get_discount_amount( $discount_id ) ); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol() ;?></font>
184
-                <p style="display:none;" class="description"><?php _e( 'Enter the discount amount in USD', 'invoicing' ); ?></p>
185
-                <p class="description"><?php _e( 'Enter the discount value. Ex: 10', 'invoicing' ); ?></p>
183
+                <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr(wpinv_get_discount_amount($discount_id)); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol(); ?></font>
184
+                <p style="display:none;" class="description"><?php _e('Enter the discount amount in USD', 'invoicing'); ?></p>
185
+                <p class="description"><?php _e('Enter the discount value. Ex: 10', 'invoicing'); ?></p>
186 186
             </td>
187 187
         </tr>
188
-        <?php do_action( 'wpinv_discount_form_before_items', $post ); ?>
188
+        <?php do_action('wpinv_discount_form_before_items', $post); ?>
189 189
         <tr>
190 190
             <th valign="top" scope="row">
191
-                <label for="wpinv_discount_items"><?php _e( 'Items', 'invoicing' ); ?></label>
191
+                <label for="wpinv_discount_items"><?php _e('Items', 'invoicing'); ?></label>
192 192
             </th>
193 193
             <td>
194
-                <p><?php echo wpinv_item_dropdown( array(
194
+                <p><?php echo wpinv_item_dropdown(array(
195 195
                         'name'              => 'items[]',
196 196
                         'id'                => 'items',
197 197
                         'selected'          => $item_reqs,
198 198
                         'multiple'          => true,
199 199
                         'class'             => 'medium-text',
200
-                        'placeholder'       => __( 'Select one or more Items', 'invoicing' ),
200
+                        'placeholder'       => __('Select one or more Items', 'invoicing'),
201 201
                         'show_recurring'    => true,
202
-                    ) ); ?>
202
+                    )); ?>
203 203
                 </p>
204
-                <p class="description"><?php _e( 'Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing' ); ?></p>
204
+                <p class="description"><?php _e('Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing'); ?></p>
205 205
             </td>
206 206
         </tr>
207
-        <?php do_action( 'wpinv_discount_form_before_excluded_items', $post ); ?>
207
+        <?php do_action('wpinv_discount_form_before_excluded_items', $post); ?>
208 208
         <tr>
209 209
             <th valign="top" scope="row">
210
-                <label for="wpinv_discount_excluded_items"><?php _e( 'Excluded Items', 'invoicing' ); ?></label>
210
+                <label for="wpinv_discount_excluded_items"><?php _e('Excluded Items', 'invoicing'); ?></label>
211 211
             </th>
212 212
             <td>
213
-                <p><?php echo wpinv_item_dropdown( array(
213
+                <p><?php echo wpinv_item_dropdown(array(
214 214
                         'name'              => 'excluded_items[]',
215 215
                         'id'                => 'excluded_items',
216 216
                         'selected'          => $excluded_items,
217 217
                         'multiple'          => true,
218 218
                         'class'             => 'medium-text',
219
-                        'placeholder'       => __( 'Select one or more Items', 'invoicing' ),
219
+                        'placeholder'       => __('Select one or more Items', 'invoicing'),
220 220
                         'show_recurring'    => true,
221
-                    ) ); ?>
221
+                    )); ?>
222 222
                 </p>
223
-                <p class="description"><?php _e( 'Items which are NOT allowed to use this discount.', 'invoicing' ); ?></p>
223
+                <p class="description"><?php _e('Items which are NOT allowed to use this discount.', 'invoicing'); ?></p>
224 224
             </td>
225 225
         </tr>
226
-        <?php do_action( 'wpinv_discount_form_before_start', $post ); ?>
226
+        <?php do_action('wpinv_discount_form_before_start', $post); ?>
227 227
         <tr>
228 228
             <th valign="top" scope="row">
229
-                <label for="wpinv_discount_start"><?php _e( 'Start Date', 'invoicing' ); ?></label>
229
+                <label for="wpinv_discount_start"><?php _e('Start Date', 'invoicing'); ?></label>
230 230
             </th>
231 231
             <td>
232
-                <input type="text" class="medium-text wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr( wpinv_get_discount_start_date( $discount_id ) ); ?>">
233
-                <p class="description"><?php _e( 'Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing' ); ?></p>
232
+                <input type="text" class="medium-text wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr(wpinv_get_discount_start_date($discount_id)); ?>">
233
+                <p class="description"><?php _e('Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing'); ?></p>
234 234
             </td>
235 235
         </tr>
236
-        <?php do_action( 'wpinv_discount_form_before_expiration', $post ); ?>
236
+        <?php do_action('wpinv_discount_form_before_expiration', $post); ?>
237 237
         <tr>
238 238
             <th valign="top" scope="row">
239
-                <label for="wpinv_discount_expiration"><?php _e( 'Expiration Date', 'invoicing' ); ?></label>
239
+                <label for="wpinv_discount_expiration"><?php _e('Expiration Date', 'invoicing'); ?></label>
240 240
             </th>
241 241
             <td>
242
-                <input type="text" class="medium-text wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr( wpinv_get_discount_expiration( $discount_id ) ); ?>">
243
-                <p class="description"><?php _e( 'Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing' ); ?></p>
242
+                <input type="text" class="medium-text wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr(wpinv_get_discount_expiration($discount_id)); ?>">
243
+                <p class="description"><?php _e('Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing'); ?></p>
244 244
             </td>
245 245
         </tr>
246
-        <?php do_action( 'wpinv_discount_form_before_min_total', $post ); ?>
246
+        <?php do_action('wpinv_discount_form_before_min_total', $post); ?>
247 247
         <tr>
248 248
             <th valign="top" scope="row">
249
-                <label for="wpinv_discount_min_total"><?php _e( 'Minimum Amount', 'invoicing' ); ?></label>
249
+                <label for="wpinv_discount_min_total"><?php _e('Minimum Amount', 'invoicing'); ?></label>
250 250
             </th>
251 251
             <td>
252 252
                 <input type="text" name="min_total" id="wpinv_discount_min_total" class="wpi-field-price wpi-price" value="<?php echo $min_total; ?>">
253
-                <p class="description"><?php _e( 'This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p>
253
+                <p class="description"><?php _e('This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p>
254 254
             </td>
255 255
         </tr>
256
-        <?php do_action( 'wpinv_discount_form_before_max_total', $post ); ?>
256
+        <?php do_action('wpinv_discount_form_before_max_total', $post); ?>
257 257
         <tr>
258 258
             <th valign="top" scope="row">
259
-                <label for="wpinv_discount_max_total"><?php _e( 'Maximum Amount', 'invoicing' ); ?></label>
259
+                <label for="wpinv_discount_max_total"><?php _e('Maximum Amount', 'invoicing'); ?></label>
260 260
             </th>
261 261
             <td>
262 262
                 <input type="text" name="max_total" id="wpinv_discount_max_total" class="wpi-field-price wpi-price" value="<?php echo $max_total; ?>">
263
-                <p class="description"><?php _e( 'This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p>
263
+                <p class="description"><?php _e('This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p>
264 264
             </td>
265 265
         </tr>
266
-        <?php do_action( 'wpinv_discount_form_before_recurring', $post ); ?>
266
+        <?php do_action('wpinv_discount_form_before_recurring', $post); ?>
267 267
         <tr>
268 268
             <th valign="top" scope="row">
269
-                <label for="wpinv_discount_recurring"><?php _e( 'For recurring apply to', 'invoicing' ); ?></label>
269
+                <label for="wpinv_discount_recurring"><?php _e('For recurring apply to', 'invoicing'); ?></label>
270 270
             </th>
271 271
             <td>
272 272
                 <select id="wpinv_discount_recurring" name="recurring" class="medium-text">
273
-                    <option value="0" <?php selected( false, $recurring ); ?>><?php _e( 'All payments', 'invoicing' ); ?></option>
274
-                    <option value="1" <?php selected( true, $recurring ); ?>><?php _e( 'First payment only', 'invoicing' ); ?></option>
273
+                    <option value="0" <?php selected(false, $recurring); ?>><?php _e('All payments', 'invoicing'); ?></option>
274
+                    <option value="1" <?php selected(true, $recurring); ?>><?php _e('First payment only', 'invoicing'); ?></option>
275 275
                 </select>
276
-                <p class="description"><?php _e( '<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing' ); ?></p>
276
+                <p class="description"><?php _e('<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing'); ?></p>
277 277
             </td>
278 278
         </tr>
279
-        <?php do_action( 'wpinv_discount_form_before_max_uses', $post ); ?>
279
+        <?php do_action('wpinv_discount_form_before_max_uses', $post); ?>
280 280
         <tr>
281 281
             <th valign="top" scope="row">
282
-                <label for="wpinv_discount_max_uses"><?php _e( 'Max Uses', 'invoicing' ); ?></label>
282
+                <label for="wpinv_discount_max_uses"><?php _e('Max Uses', 'invoicing'); ?></label>
283 283
             </th>
284 284
             <td>
285 285
                 <input type="number" min="0" step="1" id="wpinv_discount_max_uses" name="max_uses" class="medium-text" value="<?php echo $max_uses; ?>">
286
-                <p class="description"><?php _e( 'The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing' ); ?></p>
286
+                <p class="description"><?php _e('The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing'); ?></p>
287 287
             </td>
288 288
         </tr>
289
-        <?php do_action( 'wpinv_discount_form_before_single_use', $post ); ?>
289
+        <?php do_action('wpinv_discount_form_before_single_use', $post); ?>
290 290
         <tr>
291 291
             <th valign="top" scope="row">
292
-                <label for="wpinv_discount_single_use"><?php _e( 'Use Once Per User', 'invoicing' ); ?></label>
292
+                <label for="wpinv_discount_single_use"><?php _e('Use Once Per User', 'invoicing'); ?></label>
293 293
             </th>
294 294
             <td>
295
-                <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked( true, $single_use ); ?>>
296
-                <span class="description"><?php _e( 'Limit this discount to a single use per user?', 'invoicing' ); ?></span>
295
+                <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked(true, $single_use); ?>>
296
+                <span class="description"><?php _e('Limit this discount to a single use per user?', 'invoicing'); ?></span>
297 297
             </td>
298 298
         </tr>
299
-        <?php do_action( 'wpinv_discount_form_last', $post ); ?>
299
+        <?php do_action('wpinv_discount_form_last', $post); ?>
300 300
     </tbody>
301 301
 </table>
302
-<?php do_action( 'wpinv_discount_form_bottom', $post ); ?>
302
+<?php do_action('wpinv_discount_form_bottom', $post); ?>
303 303
     <?php
304 304
 }
305 305
 
306
-function wpinv_discount_metabox_save( $post_id, $post, $update = false ) {
307
-    $post_type = !empty( $post ) ? $post->post_type : '';
306
+function wpinv_discount_metabox_save($post_id, $post, $update = false) {
307
+    $post_type = !empty($post) ? $post->post_type : '';
308 308
     
309
-    if ( $post_type != 'wpi_discount' ) {
309
+    if ($post_type != 'wpi_discount') {
310 310
         return;
311 311
     }
312 312
     
313
-    if ( !isset( $_POST['wpinv_discount_metabox_nonce'] ) || ( isset( $_POST['wpinv_discount_metabox_nonce'] ) && !wp_verify_nonce( $_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce' ) ) ) {
313
+    if (!isset($_POST['wpinv_discount_metabox_nonce']) || (isset($_POST['wpinv_discount_metabox_nonce']) && !wp_verify_nonce($_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce'))) {
314 314
         return;
315 315
     }
316 316
     
317
-    if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
317
+    if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) || (defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) {
318 318
         return;
319 319
     }
320 320
     
321
-    if ( !current_user_can( 'manage_options', $post_id ) ) {
321
+    if (!current_user_can('manage_options', $post_id)) {
322 322
         return;
323 323
     }
324 324
     
325
-    return wpinv_store_discount( $post_id, $_POST, $post, $update );
325
+    return wpinv_store_discount($post_id, $_POST, $post, $update);
326 326
 }
327
-add_action( 'save_post', 'wpinv_discount_metabox_save', 10, 3 );
328 327
\ No newline at end of file
328
+add_action('save_post', 'wpinv_discount_metabox_save', 10, 3);
329 329
\ No newline at end of file
Please login to merge, or discard this patch.
includes/admin/meta-boxes/class-mb-invoice-address.php 1 patch
Spacing   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -1,34 +1,34 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // MUST have WordPress.
3
-if ( !defined( 'WPINC' ) ) {
4
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
3
+if (!defined('WPINC')) {
4
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
5 5
 }
6 6
 
7 7
 class WPInv_Meta_Box_Billing_Details {
8
-    public static function output( $post ) {
8
+    public static function output($post) {
9 9
         global $user_ID;
10
-        $post_id    = !empty( $post->ID ) ? $post->ID : 0;
11
-        $invoice    = new WPInv_Invoice( $post_id );
10
+        $post_id    = !empty($post->ID) ? $post->ID : 0;
11
+        $invoice    = new WPInv_Invoice($post_id);
12 12
 ?>
13 13
 <div class="gdmbx2-wrap form-table">
14 14
     <div id="gdmbx2-metabox-wpinv_address" class="gdmbx2-metabox gdmbx-field-list wpinv-address gdmbx-row">
15 15
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-user-id table-layout">
16 16
             <div class="gdmbx-th">
17
-                <label for="post_author_override"><?php _e( 'Customer', 'invoicing' );?></label>
17
+                <label for="post_author_override"><?php _e('Customer', 'invoicing'); ?></label>
18 18
             </div>
19 19
             <div class="gdmbx-td gdmbx-customer-div">
20
-            <?php wpinv_dropdown_users( array(
20
+            <?php wpinv_dropdown_users(array(
21 21
                             'name' => 'post_author_override',
22 22
                             'selected' => empty($post->ID) ? $user_ID : $post->post_author,
23 23
                             'include_selected' => true,
24 24
                             'show' => 'user_email',
25 25
                             'orderby' => 'user_email',
26 26
                             'class' => 'gdmbx2-text-large'
27
-                        ) ); ?>
27
+                        )); ?>
28 28
             </div>
29 29
         </div>
30 30
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-email table-layout" style="display:none">
31
-            <div class="gdmbx-th"><label for="wpinv_email"><?php _e( 'Email', 'invoicing' );?> <span class="required">*</span></label>
31
+            <div class="gdmbx-th"><label for="wpinv_email"><?php _e('Email', 'invoicing'); ?> <span class="required">*</span></label>
32 32
             </div>
33 33
             <div class="gdmbx-td">
34 34
                 <input type="hidden" id="wpinv_new_user" name="wpinv_new_user" value="" />
@@ -36,122 +36,122 @@  discard block
 block discarded – undo
36 36
             </div>
37 37
         </div>
38 38
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-btns table-layout">
39
-            <div class="gdmbx-th"><label><?php _e( 'Actions', 'invoicing' );?></label>
39
+            <div class="gdmbx-th"><label><?php _e('Actions', 'invoicing'); ?></label>
40 40
             </div>
41
-            <?php if($invoice->has_status(array('auto-draft', 'wpi-pending', 'wpi-quote-pending'))){ ?>
41
+            <?php if ($invoice->has_status(array('auto-draft', 'wpi-pending', 'wpi-quote-pending'))) { ?>
42 42
                 <div class="gdmbx-td">
43
-                    <a id="wpinv-fill-user-details" class="button button-small button-secondary" title="<?php esc_attr_e( 'Fill User Details', 'invoicing' );?>" href="javascript:void(0)"><i aria-hidden="true" class="fa fa-refresh"></i><?php _e( 'Fill User Details', 'invoicing' );?></a>
44
-                    <a class="wpinv-new-user button button-small button-secondary" href="javascript:void(0)"><i aria-hidden="true" class="fa fa-plus"></i><?php _e( 'Add New User', 'invoicing' );?></a>
45
-                    <a style="display:none" class="wpinv-new-cancel button button-small button-secondary" href="javascript:void(0)"><i aria-hidden="true" class="fa fa-close"></i><?php _e( 'Cancel', 'invoicing' );?> </a>
43
+                    <a id="wpinv-fill-user-details" class="button button-small button-secondary" title="<?php esc_attr_e('Fill User Details', 'invoicing'); ?>" href="javascript:void(0)"><i aria-hidden="true" class="fa fa-refresh"></i><?php _e('Fill User Details', 'invoicing'); ?></a>
44
+                    <a class="wpinv-new-user button button-small button-secondary" href="javascript:void(0)"><i aria-hidden="true" class="fa fa-plus"></i><?php _e('Add New User', 'invoicing'); ?></a>
45
+                    <a style="display:none" class="wpinv-new-cancel button button-small button-secondary" href="javascript:void(0)"><i aria-hidden="true" class="fa fa-close"></i><?php _e('Cancel', 'invoicing'); ?> </a>
46 46
                 </div>
47 47
             <?php } ?>
48 48
         </div>
49 49
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-first-name table-layout">
50
-            <div class="gdmbx-th"><label for="wpinv_first_name"><?php _e( 'First Name', 'invoicing' );?></label></div>
50
+            <div class="gdmbx-th"><label for="wpinv_first_name"><?php _e('First Name', 'invoicing'); ?></label></div>
51 51
             <div class="gdmbx-td">
52
-                <input type="text" class="gdmbx2-text-large" name="wpinv_first_name" id="wpinv_first_name" value="<?php echo esc_attr( $invoice->first_name );?>" />
52
+                <input type="text" class="gdmbx2-text-large" name="wpinv_first_name" id="wpinv_first_name" value="<?php echo esc_attr($invoice->first_name); ?>" />
53 53
             </div>
54 54
         </div>
55 55
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-last-name table-layout">
56
-            <div class="gdmbx-th"><label for="wpinv_last_name"><?php _e( 'Last Name', 'invoicing' );?></label></div>
56
+            <div class="gdmbx-th"><label for="wpinv_last_name"><?php _e('Last Name', 'invoicing'); ?></label></div>
57 57
             <div class="gdmbx-td">
58
-                <input type="text" class="gdmbx2-text-large" name="wpinv_last_name" id="wpinv_last_name" value="<?php echo esc_attr( $invoice->last_name );?>" />
58
+                <input type="text" class="gdmbx2-text-large" name="wpinv_last_name" id="wpinv_last_name" value="<?php echo esc_attr($invoice->last_name); ?>" />
59 59
             </div>
60 60
         </div>
61 61
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-company table-layout">
62
-            <div class="gdmbx-th"><label for="wpinv_company"><?php _e( 'Company', 'invoicing' );?></label></div>
62
+            <div class="gdmbx-th"><label for="wpinv_company"><?php _e('Company', 'invoicing'); ?></label></div>
63 63
             <div class="gdmbx-td">
64
-                <input type="text" class="gdmbx2-text-large" name="wpinv_company" id="wpinv_company" value="<?php echo esc_attr( $invoice->company );?>" />
64
+                <input type="text" class="gdmbx2-text-large" name="wpinv_company" id="wpinv_company" value="<?php echo esc_attr($invoice->company); ?>" />
65 65
             </div>
66 66
         </div>
67 67
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-vat-number table-layout">
68
-            <div class="gdmbx-th"><label for="wpinv_vat_number"><?php _e( 'Vat Number', 'invoicing' );?></label></div>
68
+            <div class="gdmbx-th"><label for="wpinv_vat_number"><?php _e('Vat Number', 'invoicing'); ?></label></div>
69 69
             <div class="gdmbx-td">
70
-                <input type="text" class="gdmbx2-text-large" name="wpinv_vat_number" id="wpinv_vat_number" value="<?php echo esc_attr( $invoice->vat_number );?>" />
70
+                <input type="text" class="gdmbx2-text-large" name="wpinv_vat_number" id="wpinv_vat_number" value="<?php echo esc_attr($invoice->vat_number); ?>" />
71 71
             </div>
72 72
         </div>
73 73
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-address table-layout">
74
-            <div class="gdmbx-th"><label for="wpinv_address"><?php _e( 'Address', 'invoicing' );?></label></div>
74
+            <div class="gdmbx-th"><label for="wpinv_address"><?php _e('Address', 'invoicing'); ?></label></div>
75 75
             <div class="gdmbx-td">
76
-                <input type="text" class="gdmbx2-text-large" name="wpinv_address" id="wpinv_address" value="<?php echo esc_attr( $invoice->address );?>" />
76
+                <input type="text" class="gdmbx2-text-large" name="wpinv_address" id="wpinv_address" value="<?php echo esc_attr($invoice->address); ?>" />
77 77
             </div>
78 78
         </div>
79 79
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-city table-layout">
80
-            <div class="gdmbx-th"><label for="wpinv_city"><?php _e( 'City', 'invoicing' );?></label></div>
80
+            <div class="gdmbx-th"><label for="wpinv_city"><?php _e('City', 'invoicing'); ?></label></div>
81 81
             <div class="gdmbx-td">
82
-                <input type="text" class="gdmbx2-text-large" name="wpinv_city" id="wpinv_city" value="<?php echo esc_attr( $invoice->city );?>" />
82
+                <input type="text" class="gdmbx2-text-large" name="wpinv_city" id="wpinv_city" value="<?php echo esc_attr($invoice->city); ?>" />
83 83
             </div>
84 84
         </div>
85 85
         <div class="gdmbx-row gdmbx-type-select gdmbx-wpinv-country table-layout">
86
-            <div class="gdmbx-th"><label for="wpinv_country"><?php _e( 'Country', 'invoicing' );?> <span class="wpi-loader"><i class="fa fa-refresh fa-spin"></i></span></label></div>
86
+            <div class="gdmbx-th"><label for="wpinv_country"><?php _e('Country', 'invoicing'); ?> <span class="wpi-loader"><i class="fa fa-refresh fa-spin"></i></span></label></div>
87 87
             <div class="gdmbx-td">
88 88
                 <?php
89
-                echo wpinv_html_select( array(
90
-                    'options'          => array_merge( array( '' => __( 'Choose a country', 'invoicing' ) ), wpinv_get_country_list() ),
89
+                echo wpinv_html_select(array(
90
+                    'options'          => array_merge(array('' => __('Choose a country', 'invoicing')), wpinv_get_country_list()),
91 91
                     'name'             => 'wpinv_country',
92 92
                     'id'               => 'wpinv_country',
93 93
                     'selected'         => $invoice->country,
94 94
                     'show_option_all'  => false,
95 95
                     'show_option_none' => false,
96 96
                     'class'            => 'gdmbx2-text-large',
97
-                    'placeholder'      => __( 'Choose a country', 'invoicing' ),
97
+                    'placeholder'      => __('Choose a country', 'invoicing'),
98 98
                     'required'         => false,
99
-                ) );
99
+                ));
100 100
                 ?>
101 101
             </div>
102 102
         </div>
103 103
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-state table-layout">
104
-            <div class="gdmbx-th"><label for="wpinv_state"><?php _e( 'State', 'invoicing' );?></label></div>
104
+            <div class="gdmbx-th"><label for="wpinv_state"><?php _e('State', 'invoicing'); ?></label></div>
105 105
             <div class="gdmbx-td">
106 106
                 <?php
107
-                $states = wpinv_get_country_states( $invoice->country );
108
-                if( !empty( $states ) ) {
109
-                    echo wpinv_html_select( array(
110
-                        'options'          => array_merge( array( '' => __( 'Choose a state', 'invoicing' ) ), $states ),
107
+                $states = wpinv_get_country_states($invoice->country);
108
+                if (!empty($states)) {
109
+                    echo wpinv_html_select(array(
110
+                        'options'          => array_merge(array('' => __('Choose a state', 'invoicing')), $states),
111 111
                         'name'             => 'wpinv_state',
112 112
                         'id'               => 'wpinv_state',
113 113
                         'selected'         => $invoice->state,
114 114
                         'show_option_all'  => false,
115 115
                         'show_option_none' => false,
116 116
                         'class'            => 'gdmbx2-text-large',
117
-                        'placeholder'      => __( 'Choose a state', 'invoicing' ),
117
+                        'placeholder'      => __('Choose a state', 'invoicing'),
118 118
                         'required'         => false,
119
-                    ) );
119
+                    ));
120 120
                 } else {
121
-                    echo wpinv_html_text( array(
121
+                    echo wpinv_html_text(array(
122 122
                         'name'  => 'wpinv_state',
123
-                        'value' => ! empty( $invoice->state ) ? $invoice->state : '',
123
+                        'value' => !empty($invoice->state) ? $invoice->state : '',
124 124
                         'id'    => 'wpinv_state',
125 125
                         'class' => 'gdmbx2-text-large',
126 126
                         'required' => false,
127
-                    ) );
127
+                    ));
128 128
                 }
129 129
                 ?>
130 130
             </div>
131 131
         </div>
132 132
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-zip table-layout">
133
-            <div class="gdmbx-th"><label for="wpinv_zip"><?php _e( 'Zipcode', 'invoicing' );?></label></div>
133
+            <div class="gdmbx-th"><label for="wpinv_zip"><?php _e('Zipcode', 'invoicing'); ?></label></div>
134 134
             <div class="gdmbx-td">
135
-                <input type="text" class="gdmbx2-text-large" name="wpinv_zip" id="wpinv_zip" value="<?php echo esc_attr( $invoice->zip );?>" />
135
+                <input type="text" class="gdmbx2-text-large" name="wpinv_zip" id="wpinv_zip" value="<?php echo esc_attr($invoice->zip); ?>" />
136 136
             </div>
137 137
         </div>
138 138
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-phone table-layout">
139
-            <div class="gdmbx-th"><label for="wpinv_phone"><?php _e( 'Phone', 'invoicing' );?></label></div>
139
+            <div class="gdmbx-th"><label for="wpinv_phone"><?php _e('Phone', 'invoicing'); ?></label></div>
140 140
             <div class="gdmbx-td">
141
-                <input type="text" class="gdmbx2-text-large" name="wpinv_phone" id="wpinv_phone" value="<?php echo esc_attr( $invoice->phone );?>" />
141
+                <input type="text" class="gdmbx2-text-large" name="wpinv_phone" id="wpinv_phone" value="<?php echo esc_attr($invoice->phone); ?>" />
142 142
             </div>
143 143
         </div>
144 144
         <div class="gdmbx-row gdmbx-type-text gdmbx-wpinv-ip table-layout">
145
-            <div class="gdmbx-th"><label for="wpinv_ip"><?php _e( 'IP Address', 'invoicing' );?><?php if ($invoice->ip) { ?>
146
-                &nbsp;&nbsp;<a href="<?php echo admin_url( 'admin-ajax.php?action=wpinv_ip_geolocation&ip=' . $invoice->ip ); ?>" title="<?php esc_attr_e( 'View IP information', 'invoicing' );?>" target="_blank"><i class="fa fa-external-link" aria-hidden="true"></i></a>
145
+            <div class="gdmbx-th"><label for="wpinv_ip"><?php _e('IP Address', 'invoicing'); ?><?php if ($invoice->ip) { ?>
146
+                &nbsp;&nbsp;<a href="<?php echo admin_url('admin-ajax.php?action=wpinv_ip_geolocation&ip=' . $invoice->ip); ?>" title="<?php esc_attr_e('View IP information', 'invoicing'); ?>" target="_blank"><i class="fa fa-external-link" aria-hidden="true"></i></a>
147 147
                 <?php } ?></label></div>
148 148
             <div class="gdmbx-td">
149
-                <input type="text" class="gdmbx2-text-large" value="<?php echo esc_attr( $invoice->ip );?>" readonly />
149
+                <input type="text" class="gdmbx2-text-large" value="<?php echo esc_attr($invoice->ip); ?>" readonly />
150 150
             </div>
151 151
         </div>
152 152
     </div>
153 153
 </div>
154
-<?php wp_nonce_field( 'wpinv_save_invoice', 'wpinv_save_invoice' ) ;?>
154
+<?php wp_nonce_field('wpinv_save_invoice', 'wpinv_save_invoice'); ?>
155 155
 <?php
156 156
     }
157 157
 }
Please login to merge, or discard this patch.
includes/admin/register-settings.php 3 patches
Indentation   +326 added lines, -326 removed lines patch added patch discarded remove patch
@@ -868,322 +868,322 @@  discard block
 block discarded – undo
868 868
 }
869 869
 
870 870
 function wpinv_get_pages( $with_slug = false, $default_label = NULL ) {
871
-	$pages_options = array();
871
+    $pages_options = array();
872 872
 
873
-	if( $default_label !== NULL && $default_label !== false ) {
874
-		$pages_options = array( '' => $default_label ); // Blank option
875
-	}
873
+    if( $default_label !== NULL && $default_label !== false ) {
874
+        $pages_options = array( '' => $default_label ); // Blank option
875
+    }
876 876
 
877
-	$pages = get_pages();
878
-	if ( $pages ) {
879
-		foreach ( $pages as $page ) {
880
-			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
877
+    $pages = get_pages();
878
+    if ( $pages ) {
879
+        foreach ( $pages as $page ) {
880
+            $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
881 881
             $pages_options[ $page->ID ] = $title;
882
-		}
883
-	}
882
+        }
883
+    }
884 884
 
885
-	return $pages_options;
885
+    return $pages_options;
886 886
 }
887 887
 
888 888
 function wpinv_header_callback( $args ) {
889
-	if ( !empty( $args['desc'] ) ) {
889
+    if ( !empty( $args['desc'] ) ) {
890 890
         echo $args['desc'];
891 891
     }
892 892
 }
893 893
 
894 894
 function wpinv_hidden_callback( $args ) {
895
-	global $wpinv_options;
896
-
897
-	if ( isset( $args['set_value'] ) ) {
898
-		$value = $args['set_value'];
899
-	} elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
900
-		$value = $wpinv_options[ $args['id'] ];
901
-	} else {
902
-		$value = isset( $args['std'] ) ? $args['std'] : '';
903
-	}
904
-
905
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
906
-		$args['readonly'] = true;
907
-		$value = isset( $args['std'] ) ? $args['std'] : '';
908
-		$name  = '';
909
-	} else {
910
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
911
-	}
912
-
913
-	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
895
+    global $wpinv_options;
896
+
897
+    if ( isset( $args['set_value'] ) ) {
898
+        $value = $args['set_value'];
899
+    } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
900
+        $value = $wpinv_options[ $args['id'] ];
901
+    } else {
902
+        $value = isset( $args['std'] ) ? $args['std'] : '';
903
+    }
904
+
905
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
906
+        $args['readonly'] = true;
907
+        $value = isset( $args['std'] ) ? $args['std'] : '';
908
+        $name  = '';
909
+    } else {
910
+        $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
911
+    }
912
+
913
+    $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
914 914
     
915
-	echo $html;
915
+    echo $html;
916 916
 }
917 917
 
918 918
 function wpinv_checkbox_callback( $args ) {
919
-	global $wpinv_options;
919
+    global $wpinv_options;
920 920
     
921 921
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
922 922
 
923
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
924
-		$name = '';
925
-	} else {
926
-		$name = 'name="wpinv_settings[' . $sanitize_id . ']"';
927
-	}
923
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
924
+        $name = '';
925
+    } else {
926
+        $name = 'name="wpinv_settings[' . $sanitize_id . ']"';
927
+    }
928 928
 
929
-	$checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : '';
930
-	$html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>';
931
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
929
+    $checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : '';
930
+    $html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>';
931
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
932 932
 
933
-	echo $html;
933
+    echo $html;
934 934
 }
935 935
 
936 936
 function wpinv_multicheck_callback( $args ) {
937
-	global $wpinv_options;
937
+    global $wpinv_options;
938 938
 	
939
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
939
+    $sanitize_id = wpinv_sanitize_key( $args['id'] );
940 940
 	
941
-	if ( ! empty( $args['options'] ) ) {
942
-		foreach( $args['options'] as $key => $option ):
943
-			$sanitize_key = wpinv_sanitize_key( $key );
944
-			if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { 
945
-				$enabled = $sanitize_key;
946
-			} else { 
947
-				$enabled = NULL; 
948
-			}
949
-			echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
950
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label><br/>';
951
-		endforeach;
952
-		echo '<p class="description">' . $args['desc'] . '</p>';
953
-	}
941
+    if ( ! empty( $args['options'] ) ) {
942
+        foreach( $args['options'] as $key => $option ):
943
+            $sanitize_key = wpinv_sanitize_key( $key );
944
+            if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { 
945
+                $enabled = $sanitize_key;
946
+            } else { 
947
+                $enabled = NULL; 
948
+            }
949
+            echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
950
+            echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label><br/>';
951
+        endforeach;
952
+        echo '<p class="description">' . $args['desc'] . '</p>';
953
+    }
954 954
 }
955 955
 
956 956
 function wpinv_payment_icons_callback( $args ) {
957
-	global $wpinv_options;
957
+    global $wpinv_options;
958 958
     
959 959
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
960 960
 
961
-	if ( ! empty( $args['options'] ) ) {
962
-		foreach( $args['options'] as $key => $option ) {
961
+    if ( ! empty( $args['options'] ) ) {
962
+        foreach( $args['options'] as $key => $option ) {
963 963
             $sanitize_key = wpinv_sanitize_key( $key );
964 964
             
965
-			if( isset( $wpinv_options[$args['id']][$key] ) ) {
966
-				$enabled = $option;
967
-			} else {
968
-				$enabled = NULL;
969
-			}
970
-
971
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
972
-
973
-				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
974
-
975
-				if ( wpinv_string_is_image_url( $key ) ) {
976
-					echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
977
-				} else {
978
-					$card = strtolower( str_replace( ' ', '', $option ) );
979
-
980
-					if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
981
-						$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
982
-					} else {
983
-						$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
984
-						$content_dir = WP_CONTENT_DIR;
985
-
986
-						if ( function_exists( 'wp_normalize_path' ) ) {
987
-							// Replaces backslashes with forward slashes for Windows systems
988
-							$image = wp_normalize_path( $image );
989
-							$content_dir = wp_normalize_path( $content_dir );
990
-						}
991
-
992
-						$image = str_replace( $content_dir, content_url(), $image );
993
-					}
994
-
995
-					echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
996
-				}
997
-			echo $option . '</label>';
998
-		}
999
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
1000
-	}
965
+            if( isset( $wpinv_options[$args['id']][$key] ) ) {
966
+                $enabled = $option;
967
+            } else {
968
+                $enabled = NULL;
969
+            }
970
+
971
+            echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
972
+
973
+                echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
974
+
975
+                if ( wpinv_string_is_image_url( $key ) ) {
976
+                    echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
977
+                } else {
978
+                    $card = strtolower( str_replace( ' ', '', $option ) );
979
+
980
+                    if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
981
+                        $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
982
+                    } else {
983
+                        $image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
984
+                        $content_dir = WP_CONTENT_DIR;
985
+
986
+                        if ( function_exists( 'wp_normalize_path' ) ) {
987
+                            // Replaces backslashes with forward slashes for Windows systems
988
+                            $image = wp_normalize_path( $image );
989
+                            $content_dir = wp_normalize_path( $content_dir );
990
+                        }
991
+
992
+                        $image = str_replace( $content_dir, content_url(), $image );
993
+                    }
994
+
995
+                    echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
996
+                }
997
+            echo $option . '</label>';
998
+        }
999
+        echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
1000
+    }
1001 1001
 }
1002 1002
 
1003 1003
 function wpinv_radio_callback( $args ) {
1004
-	global $wpinv_options;
1004
+    global $wpinv_options;
1005 1005
     
1006 1006
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1007 1007
     
1008 1008
     foreach ( $args['options'] as $key => $option ) :
1009
-		$sanitize_key = wpinv_sanitize_key( $key );
1009
+        $sanitize_key = wpinv_sanitize_key( $key );
1010 1010
         
1011 1011
         $checked = false;
1012 1012
 
1013
-		if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key )
1014
-			$checked = true;
1015
-		elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) )
1016
-			$checked = true;
1013
+        if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key )
1014
+            $checked = true;
1015
+        elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) )
1016
+            $checked = true;
1017 1017
 
1018
-		echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/>&nbsp;';
1019
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>';
1020
-	endforeach;
1018
+        echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/>&nbsp;';
1019
+        echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>';
1020
+    endforeach;
1021 1021
 
1022
-	echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
1022
+    echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
1023 1023
 }
1024 1024
 
1025 1025
 function wpinv_gateways_callback( $args ) {
1026
-	global $wpinv_options;
1026
+    global $wpinv_options;
1027 1027
     
1028 1028
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1029 1029
 
1030
-	foreach ( $args['options'] as $key => $option ) :
1031
-		$sanitize_key = wpinv_sanitize_key( $key );
1030
+    foreach ( $args['options'] as $key => $option ) :
1031
+        $sanitize_key = wpinv_sanitize_key( $key );
1032 1032
         
1033 1033
         if ( isset( $wpinv_options['gateways'][ $key ] ) )
1034
-			$enabled = '1';
1035
-		else
1036
-			$enabled = null;
1034
+            $enabled = '1';
1035
+        else
1036
+            $enabled = null;
1037 1037
 
1038
-		echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/>&nbsp;';
1039
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>';
1040
-	endforeach;
1038
+        echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/>&nbsp;';
1039
+        echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>';
1040
+    endforeach;
1041 1041
 }
1042 1042
 
1043 1043
 function wpinv_gateway_select_callback($args) {
1044
-	global $wpinv_options;
1044
+    global $wpinv_options;
1045 1045
     
1046 1046
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1047 1047
 
1048
-	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']">';
1048
+    echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']">';
1049 1049
 
1050
-	foreach ( $args['options'] as $key => $option ) :
1051
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1050
+    foreach ( $args['options'] as $key => $option ) :
1051
+        if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1052 1052
             $selected = selected( $key, $args['selected'], false );
1053 1053
         } else {
1054 1054
             $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : '';
1055 1055
         }
1056
-		echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
1057
-	endforeach;
1056
+        echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
1057
+    endforeach;
1058 1058
 
1059
-	echo '</select>';
1060
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1059
+    echo '</select>';
1060
+    echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1061 1061
 }
1062 1062
 
1063 1063
 function wpinv_text_callback( $args ) {
1064
-	global $wpinv_options;
1064
+    global $wpinv_options;
1065 1065
     
1066 1066
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1067 1067
 
1068
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1069
-		$value = $wpinv_options[ $args['id'] ];
1070
-	} else {
1071
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1072
-	}
1073
-
1074
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1075
-		$args['readonly'] = true;
1076
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1077
-		$name  = '';
1078
-	} else {
1079
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1080
-	}
1081
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1082
-
1083
-	$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
1084
-	$size     = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1085
-	$html     = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>';
1086
-	$html    .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1087
-
1088
-	echo $html;
1068
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1069
+        $value = $wpinv_options[ $args['id'] ];
1070
+    } else {
1071
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1072
+    }
1073
+
1074
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1075
+        $args['readonly'] = true;
1076
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1077
+        $name  = '';
1078
+    } else {
1079
+        $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1080
+    }
1081
+    $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1082
+
1083
+    $readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
1084
+    $size     = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1085
+    $html     = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>';
1086
+    $html    .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1087
+
1088
+    echo $html;
1089 1089
 }
1090 1090
 
1091 1091
 function wpinv_number_callback( $args ) {
1092
-	global $wpinv_options;
1092
+    global $wpinv_options;
1093 1093
     
1094 1094
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1095 1095
 
1096
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1097
-		$value = $wpinv_options[ $args['id'] ];
1098
-	} else {
1099
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1100
-	}
1101
-
1102
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1103
-		$args['readonly'] = true;
1104
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1105
-		$name  = '';
1106
-	} else {
1107
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1108
-	}
1109
-
1110
-	$max  = isset( $args['max'] ) ? $args['max'] : 999999;
1111
-	$min  = isset( $args['min'] ) ? $args['min'] : 0;
1112
-	$step = isset( $args['step'] ) ? $args['step'] : 1;
1113
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1114
-
1115
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1116
-	$html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1117
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1118
-
1119
-	echo $html;
1096
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1097
+        $value = $wpinv_options[ $args['id'] ];
1098
+    } else {
1099
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1100
+    }
1101
+
1102
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1103
+        $args['readonly'] = true;
1104
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1105
+        $name  = '';
1106
+    } else {
1107
+        $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1108
+    }
1109
+
1110
+    $max  = isset( $args['max'] ) ? $args['max'] : 999999;
1111
+    $min  = isset( $args['min'] ) ? $args['min'] : 0;
1112
+    $step = isset( $args['step'] ) ? $args['step'] : 1;
1113
+    $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1114
+
1115
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1116
+    $html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1117
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1118
+
1119
+    echo $html;
1120 1120
 }
1121 1121
 
1122 1122
 function wpinv_textarea_callback( $args ) {
1123
-	global $wpinv_options;
1123
+    global $wpinv_options;
1124 1124
     
1125 1125
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1126 1126
 
1127
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1128
-		$value = $wpinv_options[ $args['id'] ];
1129
-	} else {
1130
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1131
-	}
1127
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1128
+        $value = $wpinv_options[ $args['id'] ];
1129
+    } else {
1130
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1131
+    }
1132 1132
     
1133 1133
     $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1134 1134
     $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
1135 1135
 
1136
-	$html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1137
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1136
+    $html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1137
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1138 1138
 
1139
-	echo $html;
1139
+    echo $html;
1140 1140
 }
1141 1141
 
1142 1142
 function wpinv_password_callback( $args ) {
1143
-	global $wpinv_options;
1143
+    global $wpinv_options;
1144 1144
     
1145 1145
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1146 1146
 
1147
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1148
-		$value = $wpinv_options[ $args['id'] ];
1149
-	} else {
1150
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1151
-	}
1147
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1148
+        $value = $wpinv_options[ $args['id'] ];
1149
+    } else {
1150
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1151
+    }
1152 1152
 
1153
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1154
-	$html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
1155
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1153
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1154
+    $html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
1155
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1156 1156
 
1157
-	echo $html;
1157
+    echo $html;
1158 1158
 }
1159 1159
 
1160 1160
 function wpinv_missing_callback($args) {
1161
-	printf(
1162
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
1163
-		'<strong>' . $args['id'] . '</strong>'
1164
-	);
1161
+    printf(
1162
+        __( 'The callback function used for the %s setting is missing.', 'invoicing' ),
1163
+        '<strong>' . $args['id'] . '</strong>'
1164
+    );
1165 1165
 }
1166 1166
 
1167 1167
 function wpinv_select_callback($args) {
1168
-	global $wpinv_options;
1168
+    global $wpinv_options;
1169 1169
     
1170 1170
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1171 1171
 
1172
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1173
-		$value = $wpinv_options[ $args['id'] ];
1174
-	} else {
1175
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1176
-	}
1172
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1173
+        $value = $wpinv_options[ $args['id'] ];
1174
+    } else {
1175
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1176
+    }
1177 1177
     
1178 1178
     if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1179 1179
         $value = $args['selected'];
1180 1180
     }
1181 1181
 
1182
-	if ( isset( $args['placeholder'] ) ) {
1183
-		$placeholder = $args['placeholder'];
1184
-	} else {
1185
-		$placeholder = '';
1186
-	}
1182
+    if ( isset( $args['placeholder'] ) ) {
1183
+        $placeholder = $args['placeholder'];
1184
+    } else {
1185
+        $placeholder = '';
1186
+    }
1187 1187
     
1188 1188
     if( !empty( $args['onchange'] ) ) {
1189 1189
         $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
@@ -1191,142 +1191,142 @@  discard block
 block discarded – undo
1191 1191
         $onchange = '';
1192 1192
     }
1193 1193
 
1194
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />';
1194
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />';
1195 1195
 
1196
-	foreach ( $args['options'] as $option => $name ) {
1197
-		$selected = selected( $option, $value, false );
1198
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1199
-	}
1196
+    foreach ( $args['options'] as $option => $name ) {
1197
+        $selected = selected( $option, $value, false );
1198
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1199
+    }
1200 1200
 
1201
-	$html .= '</select>';
1202
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1201
+    $html .= '</select>';
1202
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1203 1203
 
1204
-	echo $html;
1204
+    echo $html;
1205 1205
 }
1206 1206
 
1207 1207
 function wpinv_color_select_callback( $args ) {
1208
-	global $wpinv_options;
1208
+    global $wpinv_options;
1209 1209
     
1210 1210
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1211 1211
 
1212
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1213
-		$value = $wpinv_options[ $args['id'] ];
1214
-	} else {
1215
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1216
-	}
1212
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1213
+        $value = $wpinv_options[ $args['id'] ];
1214
+    } else {
1215
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1216
+    }
1217 1217
 
1218
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
1218
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
1219 1219
 
1220
-	foreach ( $args['options'] as $option => $color ) {
1221
-		$selected = selected( $option, $value, false );
1222
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
1223
-	}
1220
+    foreach ( $args['options'] as $option => $color ) {
1221
+        $selected = selected( $option, $value, false );
1222
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
1223
+    }
1224 1224
 
1225
-	$html .= '</select>';
1226
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1225
+    $html .= '</select>';
1226
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1227 1227
 
1228
-	echo $html;
1228
+    echo $html;
1229 1229
 }
1230 1230
 
1231 1231
 function wpinv_rich_editor_callback( $args ) {
1232
-	global $wpinv_options, $wp_version;
1232
+    global $wpinv_options, $wp_version;
1233 1233
     
1234 1234
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1235 1235
 
1236
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1237
-		$value = $wpinv_options[ $args['id'] ];
1236
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1237
+        $value = $wpinv_options[ $args['id'] ];
1238 1238
 
1239
-		if( empty( $args['allow_blank'] ) && empty( $value ) ) {
1240
-			$value = isset( $args['std'] ) ? $args['std'] : '';
1241
-		}
1242
-	} else {
1243
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1244
-	}
1239
+        if( empty( $args['allow_blank'] ) && empty( $value ) ) {
1240
+            $value = isset( $args['std'] ) ? $args['std'] : '';
1241
+        }
1242
+    } else {
1243
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1244
+    }
1245 1245
 
1246
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
1246
+    $rows = isset( $args['size'] ) ? $args['size'] : 20;
1247 1247
 
1248
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
1249
-		ob_start();
1250
-		wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ) ) );
1251
-		$html = ob_get_clean();
1252
-	} else {
1253
-		$html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1254
-	}
1248
+    if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
1249
+        ob_start();
1250
+        wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ) ) );
1251
+        $html = ob_get_clean();
1252
+    } else {
1253
+        $html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1254
+    }
1255 1255
 
1256
-	$html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1256
+    $html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1257 1257
 
1258
-	echo $html;
1258
+    echo $html;
1259 1259
 }
1260 1260
 
1261 1261
 function wpinv_upload_callback( $args ) {
1262
-	global $wpinv_options;
1262
+    global $wpinv_options;
1263 1263
     
1264 1264
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1265 1265
 
1266
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1267
-		$value = $wpinv_options[$args['id']];
1268
-	} else {
1269
-		$value = isset($args['std']) ? $args['std'] : '';
1270
-	}
1266
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1267
+        $value = $wpinv_options[$args['id']];
1268
+    } else {
1269
+        $value = isset($args['std']) ? $args['std'] : '';
1270
+    }
1271 1271
 
1272
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1273
-	$html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1274
-	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
1275
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1272
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1273
+    $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1274
+    $html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
1275
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1276 1276
 
1277
-	echo $html;
1277
+    echo $html;
1278 1278
 }
1279 1279
 
1280 1280
 function wpinv_color_callback( $args ) {
1281
-	global $wpinv_options;
1281
+    global $wpinv_options;
1282 1282
     
1283 1283
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1284 1284
 
1285
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1286
-		$value = $wpinv_options[ $args['id'] ];
1287
-	} else {
1288
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1289
-	}
1285
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1286
+        $value = $wpinv_options[ $args['id'] ];
1287
+    } else {
1288
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1289
+    }
1290 1290
 
1291
-	$default = isset( $args['std'] ) ? $args['std'] : '';
1291
+    $default = isset( $args['std'] ) ? $args['std'] : '';
1292 1292
 
1293
-	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />';
1294
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1293
+    $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />';
1294
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1295 1295
 
1296
-	echo $html;
1296
+    echo $html;
1297 1297
 }
1298 1298
 
1299 1299
 function wpinv_country_states_callback($args) {
1300
-	global $wpinv_options;
1300
+    global $wpinv_options;
1301 1301
     
1302 1302
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1303 1303
 
1304
-	if ( isset( $args['placeholder'] ) ) {
1305
-		$placeholder = $args['placeholder'];
1306
-	} else {
1307
-		$placeholder = '';
1308
-	}
1304
+    if ( isset( $args['placeholder'] ) ) {
1305
+        $placeholder = $args['placeholder'];
1306
+    } else {
1307
+        $placeholder = '';
1308
+    }
1309 1309
 
1310
-	$states = wpinv_get_country_states();
1310
+    $states = wpinv_get_country_states();
1311 1311
 
1312
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : '';
1313
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
1312
+    $class = empty( $states ) ? ' class="wpinv-no-states"' : '';
1313
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
1314 1314
 
1315
-	foreach ( $states as $option => $name ) {
1316
-		$selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
1317
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1318
-	}
1315
+    foreach ( $states as $option => $name ) {
1316
+        $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
1317
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1318
+    }
1319 1319
 
1320
-	$html .= '</select>';
1321
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1320
+    $html .= '</select>';
1321
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1322 1322
 
1323
-	echo $html;
1323
+    echo $html;
1324 1324
 }
1325 1325
 
1326 1326
 function wpinv_tax_rates_callback($args) {
1327
-	global $wpinv_options;
1328
-	$rates = wpinv_get_tax_rates();
1329
-	ob_start(); ?>
1327
+    global $wpinv_options;
1328
+    $rates = wpinv_get_tax_rates();
1329
+    ob_start(); ?>
1330 1330
     </td><tr>
1331 1331
     <td colspan="2" class="wpinv_tax_tdbox">
1332 1332
 	<p><?php echo $args['desc']; ?></p>
@@ -1350,39 +1350,39 @@  discard block
 block discarded – undo
1350 1350
 			<tr>
1351 1351
 				<td class="wpinv_tax_country">
1352 1352
 					<?php
1353
-					echo wpinv_html_select( array(
1354
-						'options'          => wpinv_get_country_list( true ),
1355
-						'name'             => 'tax_rates[' . $sanitized_key . '][country]',
1353
+                    echo wpinv_html_select( array(
1354
+                        'options'          => wpinv_get_country_list( true ),
1355
+                        'name'             => 'tax_rates[' . $sanitized_key . '][country]',
1356 1356
                         'id'               => 'tax_rates[' . $sanitized_key . '][country]',
1357
-						'selected'         => $rate['country'],
1358
-						'show_option_all'  => false,
1359
-						'show_option_none' => false,
1360
-						'class'            => 'wpinv-tax-country',
1361
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
1362
-					) );
1363
-					?>
1357
+                        'selected'         => $rate['country'],
1358
+                        'show_option_all'  => false,
1359
+                        'show_option_none' => false,
1360
+                        'class'            => 'wpinv-tax-country',
1361
+                        'placeholder'      => __( 'Choose a country', 'invoicing' )
1362
+                    ) );
1363
+                    ?>
1364 1364
 				</td>
1365 1365
 				<td class="wpinv_tax_state">
1366 1366
 					<?php
1367
-					$states = wpinv_get_country_states( $rate['country'] );
1368
-					if( !empty( $states ) ) {
1369
-						echo wpinv_html_select( array(
1370
-							'options'          => array_merge( array( '' => '' ), $states ),
1371
-							'name'             => 'tax_rates[' . $sanitized_key . '][state]',
1367
+                    $states = wpinv_get_country_states( $rate['country'] );
1368
+                    if( !empty( $states ) ) {
1369
+                        echo wpinv_html_select( array(
1370
+                            'options'          => array_merge( array( '' => '' ), $states ),
1371
+                            'name'             => 'tax_rates[' . $sanitized_key . '][state]',
1372 1372
                             'id'               => 'tax_rates[' . $sanitized_key . '][state]',
1373
-							'selected'         => $rate['state'],
1374
-							'show_option_all'  => false,
1375
-							'show_option_none' => false,
1376
-							'placeholder'      => __( 'Choose a state', 'invoicing' )
1377
-						) );
1378
-					} else {
1379
-						echo wpinv_html_text( array(
1380
-							'name'  => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'],
1381
-							'value' => ! empty( $rate['state'] ) ? $rate['state'] : '',
1373
+                            'selected'         => $rate['state'],
1374
+                            'show_option_all'  => false,
1375
+                            'show_option_none' => false,
1376
+                            'placeholder'      => __( 'Choose a state', 'invoicing' )
1377
+                        ) );
1378
+                    } else {
1379
+                        echo wpinv_html_text( array(
1380
+                            'name'  => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'],
1381
+                            'value' => ! empty( $rate['state'] ) ? $rate['state'] : '',
1382 1382
                             'id'    => 'tax_rates[' . $sanitized_key . '][state]',
1383
-						) );
1384
-					}
1385
-					?>
1383
+                        ) );
1384
+                    }
1385
+                    ?>
1386 1386
 				</td>
1387 1387
 				<td class="wpinv_tax_global">
1388 1388
 					<input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked( true, ! empty( $rate['global'] ) ); ?>/>
@@ -1397,19 +1397,19 @@  discard block
 block discarded – undo
1397 1397
 			<tr>
1398 1398
 				<td class="wpinv_tax_country">
1399 1399
 					<?php
1400
-					echo wpinv_html_select( array(
1401
-						'options'          => wpinv_get_country_list( true ),
1402
-						'name'             => 'tax_rates[0][country]',
1403
-						'show_option_all'  => false,
1404
-						'show_option_none' => false,
1405
-						'class'            => 'wpinv-tax-country',
1406
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
1407
-					) ); ?>
1400
+                    echo wpinv_html_select( array(
1401
+                        'options'          => wpinv_get_country_list( true ),
1402
+                        'name'             => 'tax_rates[0][country]',
1403
+                        'show_option_all'  => false,
1404
+                        'show_option_none' => false,
1405
+                        'class'            => 'wpinv-tax-country',
1406
+                        'placeholder'      => __( 'Choose a country', 'invoicing' )
1407
+                    ) ); ?>
1408 1408
 				</td>
1409 1409
 				<td class="wpinv_tax_state">
1410 1410
 					<?php echo wpinv_html_text( array(
1411
-						'name' => 'tax_rates[0][state]'
1412
-					) ); ?>
1411
+                        'name' => 'tax_rates[0][state]'
1412
+                    ) ); ?>
1413 1413
 				</td>
1414 1414
 				<td class="wpinv_tax_global">
1415 1415
 					<input type="checkbox" name="tax_rates[0][global]" id="tax_rates[0][global]" value="1"/>
@@ -1424,7 +1424,7 @@  discard block
 block discarded – undo
1424 1424
         <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e( 'Add Tax Rate', 'invoicing' ); ?></span></td></tr></tfoot>
1425 1425
 	</table>
1426 1426
 	<?php
1427
-	echo ob_get_clean();
1427
+    echo ob_get_clean();
1428 1428
 }
1429 1429
 
1430 1430
 function wpinv_tools_callback($args) {
@@ -1452,15 +1452,15 @@  discard block
 block discarded – undo
1452 1452
 }
1453 1453
 
1454 1454
 function wpinv_descriptive_text_callback( $args ) {
1455
-	echo wp_kses_post( $args['desc'] );
1455
+    echo wp_kses_post( $args['desc'] );
1456 1456
 }
1457 1457
 
1458 1458
 function wpinv_hook_callback( $args ) {
1459
-	do_action( 'wpinv_' . $args['id'], $args );
1459
+    do_action( 'wpinv_' . $args['id'], $args );
1460 1460
 }
1461 1461
 
1462 1462
 function wpinv_set_settings_cap() {
1463
-	return 'manage_options';
1463
+    return 'manage_options';
1464 1464
 }
1465 1465
 add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1466 1466
 
Please login to merge, or discard this patch.
Spacing   +506 added lines, -506 removed lines patch added patch discarded remove patch
@@ -1,66 +1,66 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // MUST have WordPress.
3
-if ( !defined( 'WPINC' ) ) {
4
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
3
+if (!defined('WPINC')) {
4
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
5 5
 }
6 6
 
7
-function wpinv_get_option( $key = '', $default = false ) {
7
+function wpinv_get_option($key = '', $default = false) {
8 8
     global $wpinv_options;
9 9
 
10
-    $value = isset( $wpinv_options[ $key ] ) ? $wpinv_options[ $key ] : $default;
11
-    $value = apply_filters( 'wpinv_get_option', $value, $key, $default );
10
+    $value = isset($wpinv_options[$key]) ? $wpinv_options[$key] : $default;
11
+    $value = apply_filters('wpinv_get_option', $value, $key, $default);
12 12
 
13
-    return apply_filters( 'wpinv_get_option_' . $key, $value, $key, $default );
13
+    return apply_filters('wpinv_get_option_' . $key, $value, $key, $default);
14 14
 }
15 15
 
16
-function wpinv_update_option( $key = '', $value = false ) {
16
+function wpinv_update_option($key = '', $value = false) {
17 17
     // If no key, exit
18
-    if ( empty( $key ) ) {
18
+    if (empty($key)) {
19 19
         return false;
20 20
     }
21 21
 
22
-    if ( empty( $value ) ) {
23
-        $remove_option = wpinv_delete_option( $key );
22
+    if (empty($value)) {
23
+        $remove_option = wpinv_delete_option($key);
24 24
         return $remove_option;
25 25
     }
26 26
 
27 27
     // First let's grab the current settings
28
-    $options = get_option( 'wpinv_settings' );
28
+    $options = get_option('wpinv_settings');
29 29
 
30 30
     // Let other plugin alter the value
31
-    $value = apply_filters( 'wpinv_update_option', $value, $key );
31
+    $value = apply_filters('wpinv_update_option', $value, $key);
32 32
 
33 33
     // Next let's try to update the value
34
-    $options[ $key ] = $value;
35
-    $did_update = update_option( 'wpinv_settings', $options );
34
+    $options[$key] = $value;
35
+    $did_update = update_option('wpinv_settings', $options);
36 36
 
37 37
     // If it's updated, let's update the global variable
38
-    if ( $did_update ) {
38
+    if ($did_update) {
39 39
         global $wpinv_options;
40
-        $wpinv_options[ $key ] = $value;
40
+        $wpinv_options[$key] = $value;
41 41
     }
42 42
 
43 43
     return $did_update;
44 44
 }
45 45
 
46
-function wpinv_delete_option( $key = '' ) {
46
+function wpinv_delete_option($key = '') {
47 47
     // If no key, exit
48
-    if ( empty( $key ) ) {
48
+    if (empty($key)) {
49 49
         return false;
50 50
     }
51 51
 
52 52
     // First let's grab the current settings
53
-    $options = get_option( 'wpinv_settings' );
53
+    $options = get_option('wpinv_settings');
54 54
 
55 55
     // Next let's try to update the value
56
-    if( isset( $options[ $key ] ) ) {
57
-        unset( $options[ $key ] );
56
+    if (isset($options[$key])) {
57
+        unset($options[$key]);
58 58
     }
59 59
 
60
-    $did_update = update_option( 'wpinv_settings', $options );
60
+    $did_update = update_option('wpinv_settings', $options);
61 61
 
62 62
     // If it updated, let's update the global variable
63
-    if ( $did_update ){
63
+    if ($did_update) {
64 64
         global $wpinv_options;
65 65
         $wpinv_options = $options;
66 66
     }
@@ -69,37 +69,37 @@  discard block
 block discarded – undo
69 69
 }
70 70
 
71 71
 function wpinv_get_settings() {
72
-    $settings = get_option( 'wpinv_settings' );
72
+    $settings = get_option('wpinv_settings');
73 73
 
74
-    if ( empty( $settings ) ) {
74
+    if (empty($settings)) {
75 75
         // Update old settings with new single option
76
-        $general_settings   = is_array( get_option( 'wpinv_settings_general' ) )    ? get_option( 'wpinv_settings_general' )    : array();
77
-        $gateways_settings  = is_array( get_option( 'wpinv_settings_gateways' ) )   ? get_option( 'wpinv_settings_gateways' )   : array();
78
-        $email_settings     = is_array( get_option( 'wpinv_settings_emails' ) )     ? get_option( 'wpinv_settings_emails' )     : array();
79
-        $tax_settings       = is_array( get_option( 'wpinv_settings_taxes' ) )      ? get_option( 'wpinv_settings_taxes' )      : array();
80
-        $misc_settings      = is_array( get_option( 'wpinv_settings_misc' ) )       ? get_option( 'wpinv_settings_misc' )       : array();
81
-        $tool_settings      = is_array( get_option( 'wpinv_settings_tools' ) )      ? get_option( 'wpinv_settings_tools' )      : array();
76
+        $general_settings   = is_array(get_option('wpinv_settings_general')) ? get_option('wpinv_settings_general') : array();
77
+        $gateways_settings  = is_array(get_option('wpinv_settings_gateways')) ? get_option('wpinv_settings_gateways') : array();
78
+        $email_settings     = is_array(get_option('wpinv_settings_emails')) ? get_option('wpinv_settings_emails') : array();
79
+        $tax_settings       = is_array(get_option('wpinv_settings_taxes')) ? get_option('wpinv_settings_taxes') : array();
80
+        $misc_settings      = is_array(get_option('wpinv_settings_misc')) ? get_option('wpinv_settings_misc') : array();
81
+        $tool_settings      = is_array(get_option('wpinv_settings_tools')) ? get_option('wpinv_settings_tools') : array();
82 82
 
83
-        $settings = array_merge( $general_settings, $gateways_settings, $tax_settings, $tool_settings );
83
+        $settings = array_merge($general_settings, $gateways_settings, $tax_settings, $tool_settings);
84 84
 
85
-        update_option( 'wpinv_settings', $settings );
85
+        update_option('wpinv_settings', $settings);
86 86
 
87 87
     }
88
-    return apply_filters( 'wpinv_get_settings', $settings );
88
+    return apply_filters('wpinv_get_settings', $settings);
89 89
 }
90 90
 
91 91
 function wpinv_register_settings() {
92
-    if ( false == get_option( 'wpinv_settings' ) ) {
93
-        add_option( 'wpinv_settings' );
92
+    if (false == get_option('wpinv_settings')) {
93
+        add_option('wpinv_settings');
94 94
     }
95 95
     
96 96
     $register_settings = wpinv_get_registered_settings();
97 97
     
98
-    foreach ( $register_settings as $tab => $sections ) {
99
-        foreach ( $sections as $section => $settings) {
98
+    foreach ($register_settings as $tab => $sections) {
99
+        foreach ($sections as $section => $settings) {
100 100
             // Check for backwards compatibility
101
-            $section_tabs = wpinv_get_settings_tab_sections( $tab );
102
-            if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) {
101
+            $section_tabs = wpinv_get_settings_tab_sections($tab);
102
+            if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) {
103 103
                 $section = 'main';
104 104
                 $settings = $sections;
105 105
             }
@@ -111,41 +111,41 @@  discard block
 block discarded – undo
111 111
                 'wpinv_settings_' . $tab . '_' . $section
112 112
             );
113 113
 
114
-            foreach ( $settings as $option ) {
114
+            foreach ($settings as $option) {
115 115
                 // For backwards compatibility
116
-                if ( empty( $option['id'] ) ) {
116
+                if (empty($option['id'])) {
117 117
                     continue;
118 118
                 }
119 119
 
120
-                $name = isset( $option['name'] ) ? $option['name'] : '';
120
+                $name = isset($option['name']) ? $option['name'] : '';
121 121
 
122 122
                 add_settings_field(
123 123
                     'wpinv_settings[' . $option['id'] . ']',
124 124
                     $name,
125
-                    function_exists( 'wpinv_' . $option['type'] . '_callback' ) ? 'wpinv_' . $option['type'] . '_callback' : 'wpinv_missing_callback',
125
+                    function_exists('wpinv_' . $option['type'] . '_callback') ? 'wpinv_' . $option['type'] . '_callback' : 'wpinv_missing_callback',
126 126
                     'wpinv_settings_' . $tab . '_' . $section,
127 127
                     'wpinv_settings_' . $tab . '_' . $section,
128 128
                     array(
129 129
                         'section'     => $section,
130
-                        'id'          => isset( $option['id'] )          ? $option['id']          : null,
131
-                        'desc'        => ! empty( $option['desc'] )      ? $option['desc']        : '',
132
-                        'name'        => isset( $option['name'] )        ? $option['name']        : null,
133
-                        'size'        => isset( $option['size'] )        ? $option['size']        : null,
134
-                        'options'     => isset( $option['options'] )     ? $option['options']     : '',
135
-                        'selected'    => isset( $option['selected'] )    ? $option['selected']    : null,
136
-                        'std'         => isset( $option['std'] )         ? $option['std']         : '',
137
-                        'min'         => isset( $option['min'] )         ? $option['min']         : null,
138
-                        'max'         => isset( $option['max'] )         ? $option['max']         : null,
139
-                        'step'        => isset( $option['step'] )        ? $option['step']        : null,
140
-                        'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null,
141
-                        'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true,
142
-                        'readonly'    => isset( $option['readonly'] )    ? $option['readonly']    : false,
143
-                        'faux'        => isset( $option['faux'] )        ? $option['faux']        : false,
144
-                        'onchange'    => !empty( $option['onchange'] )   ? $option['onchange']    : '',
145
-                        'custom'      => !empty( $option['custom'] )     ? $option['custom']      : '',
146
-                        'class'       =>  !empty( $option['class'] )     ? $option['class']      : '',
147
-                        'cols'        => !empty( $option['cols'] ) && (int)$option['cols'] > 0 ? (int)$option['cols'] : 50,
148
-                        'rows'        => !empty( $option['rows'] ) && (int)$option['rows'] > 0 ? (int)$option['rows'] : 5,
130
+                        'id'          => isset($option['id']) ? $option['id'] : null,
131
+                        'desc'        => !empty($option['desc']) ? $option['desc'] : '',
132
+                        'name'        => isset($option['name']) ? $option['name'] : null,
133
+                        'size'        => isset($option['size']) ? $option['size'] : null,
134
+                        'options'     => isset($option['options']) ? $option['options'] : '',
135
+                        'selected'    => isset($option['selected']) ? $option['selected'] : null,
136
+                        'std'         => isset($option['std']) ? $option['std'] : '',
137
+                        'min'         => isset($option['min']) ? $option['min'] : null,
138
+                        'max'         => isset($option['max']) ? $option['max'] : null,
139
+                        'step'        => isset($option['step']) ? $option['step'] : null,
140
+                        'placeholder' => isset($option['placeholder']) ? $option['placeholder'] : null,
141
+                        'allow_blank' => isset($option['allow_blank']) ? $option['allow_blank'] : true,
142
+                        'readonly'    => isset($option['readonly']) ? $option['readonly'] : false,
143
+                        'faux'        => isset($option['faux']) ? $option['faux'] : false,
144
+                        'onchange'    => !empty($option['onchange']) ? $option['onchange'] : '',
145
+                        'custom'      => !empty($option['custom']) ? $option['custom'] : '',
146
+                        'class'       =>  !empty($option['class']) ? $option['class'] : '',
147
+                        'cols'        => !empty($option['cols']) && (int)$option['cols'] > 0 ? (int)$option['cols'] : 50,
148
+                        'rows'        => !empty($option['rows']) && (int)$option['rows'] > 0 ? (int)$option['rows'] : 5,
149 149
                     )
150 150
                 );
151 151
             }
@@ -153,174 +153,174 @@  discard block
 block discarded – undo
153 153
     }
154 154
 
155 155
     // Creates our settings in the options table
156
-    register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' );
156
+    register_setting('wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize');
157 157
 }
158
-add_action( 'admin_init', 'wpinv_register_settings' );
158
+add_action('admin_init', 'wpinv_register_settings');
159 159
 
160 160
 function wpinv_get_registered_settings() {
161
-    $pages = wpinv_get_pages( true );
161
+    $pages = wpinv_get_pages(true);
162 162
     
163 163
     $currencies = wpinv_get_currencies();
164 164
     
165 165
     $currency_code_options = array();
166
-    foreach ( $currencies as $code => $name ) {
167
-        $currency_code_options[ $code ] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol( $code ) . ')';
166
+    foreach ($currencies as $code => $name) {
167
+        $currency_code_options[$code] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol($code) . ')';
168 168
     }
169 169
     
170 170
     $due_payment_options       = array();
171
-    $due_payment_options[0]    = __( 'Now', 'invoicing' );
172
-    for ( $i = 1; $i <= 30; $i++ ) {
171
+    $due_payment_options[0]    = __('Now', 'invoicing');
172
+    for ($i = 1; $i <= 30; $i++) {
173 173
         $due_payment_options[$i] = $i;
174 174
     }
175 175
     
176 176
     $invoice_number_padd_options = array();
177
-    for ( $i = 0; $i <= 20; $i++ ) {
177
+    for ($i = 0; $i <= 20; $i++) {
178 178
         $invoice_number_padd_options[$i] = $i;
179 179
     }
180 180
     
181 181
     $currency_symbol = wpinv_currency_symbol();
182 182
     
183 183
     $last_number = '';
184
-    if ( $last_invoice_number = get_option( 'wpinv_last_invoice_number' ) ) {
185
-        $last_invoice_number = is_numeric( $last_invoice_number ) ? $last_invoice_number : wpinv_clean_invoice_number( $last_invoice_number );
184
+    if ($last_invoice_number = get_option('wpinv_last_invoice_number')) {
185
+        $last_invoice_number = is_numeric($last_invoice_number) ? $last_invoice_number : wpinv_clean_invoice_number($last_invoice_number);
186 186
 
187
-        if ( !empty( $last_invoice_number ) ) {
188
-            $last_number = ' ' . wp_sprintf( __( "( Last Invoice's sequential number: <b>%s</b> )", 'invoicing' ), $last_invoice_number );
187
+        if (!empty($last_invoice_number)) {
188
+            $last_number = ' ' . wp_sprintf(__("( Last Invoice's sequential number: <b>%s</b> )", 'invoicing'), $last_invoice_number);
189 189
         }
190 190
     }
191 191
     
192 192
     $alert_wrapper_start = '<p style="color: #F00">';
193 193
     $alert_wrapper_close = '</p>';
194 194
     $wpinv_settings = array(
195
-        'general' => apply_filters( 'wpinv_settings_general',
195
+        'general' => apply_filters('wpinv_settings_general',
196 196
             array(
197 197
                 'main' => array(
198 198
                     'location_settings' => array(
199 199
                         'id'   => 'location_settings',
200
-                        'name' => '<h3>' . __( 'Default Location', 'invoicing' ) . '</h3>',
200
+                        'name' => '<h3>' . __('Default Location', 'invoicing') . '</h3>',
201 201
                         'desc' => '',
202 202
                         'type' => 'header',
203 203
                     ),
204 204
                     'default_country' => array(
205 205
                         'id'      => 'default_country',
206
-                        'name'    => __( 'Default Country', 'invoicing' ),
207
-                        'desc'    => __( 'Where does your store operate from?', 'invoicing' ),
206
+                        'name'    => __('Default Country', 'invoicing'),
207
+                        'desc'    => __('Where does your store operate from?', 'invoicing'),
208 208
                         'type'    => 'select',
209 209
                         'options' => wpinv_get_country_list(),
210 210
                         'std'     => 'GB',
211
-                        'placeholder' => __( 'Select a country', 'invoicing' ),
211
+                        'placeholder' => __('Select a country', 'invoicing'),
212 212
                     ),
213 213
                     'default_state' => array(
214 214
                         'id'      => 'default_state',
215
-                        'name'    => __( 'Default State / Province', 'invoicing' ),
216
-                        'desc'    => __( 'What state / province does your store operate from?', 'invoicing' ),
215
+                        'name'    => __('Default State / Province', 'invoicing'),
216
+                        'desc'    => __('What state / province does your store operate from?', 'invoicing'),
217 217
                         'type'    => 'country_states',
218
-                        'placeholder' => __( 'Select a state', 'invoicing' ),
218
+                        'placeholder' => __('Select a state', 'invoicing'),
219 219
                     ),
220 220
                     'store_name' => array(
221 221
                         'id'   => 'store_name',
222
-                        'name' => __( 'Store Name', 'invoicing' ),
223
-                        'desc' => __( 'Store name to print on invoices.', 'invoicing' ),
222
+                        'name' => __('Store Name', 'invoicing'),
223
+                        'desc' => __('Store name to print on invoices.', 'invoicing'),
224 224
                         'std'     => get_option('blogname'),
225 225
                         'type' => 'text',
226 226
                     ),
227 227
                     'logo' => array(
228 228
                         'id'   => 'logo',
229
-                        'name' => __( 'Logo URL', 'invoicing' ),
230
-                        'desc' => __( 'Store logo to print on invoices.', 'invoicing' ),
229
+                        'name' => __('Logo URL', 'invoicing'),
230
+                        'desc' => __('Store logo to print on invoices.', 'invoicing'),
231 231
                         'type' => 'text',
232 232
                     ),
233 233
                     'store_address' => array(
234 234
                         'id'   => 'store_address',
235
-                        'name' => __( 'Store Address', 'invoicing' ),
236
-                        'desc' => __( 'Enter the store address to display on invoice', 'invoicing' ),
235
+                        'name' => __('Store Address', 'invoicing'),
236
+                        'desc' => __('Enter the store address to display on invoice', 'invoicing'),
237 237
                         'type' => 'textarea',
238 238
                     ),
239 239
                     'page_settings' => array(
240 240
                         'id'   => 'page_settings',
241
-                        'name' => '<h3>' . __( 'Page Settings', 'invoicing' ) . '</h3>',
241
+                        'name' => '<h3>' . __('Page Settings', 'invoicing') . '</h3>',
242 242
                         'desc' => '',
243 243
                         'type' => 'header',
244 244
                     ),
245 245
                     'checkout_page' => array(
246 246
                         'id'          => 'checkout_page',
247
-                        'name'        => __( 'Checkout Page', 'invoicing' ),
248
-                        'desc'        => __( 'This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing' ),
247
+                        'name'        => __('Checkout Page', 'invoicing'),
248
+                        'desc'        => __('This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing'),
249 249
                         'type'        => 'select',
250 250
                         'options'     => $pages,
251
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
251
+                        'placeholder' => __('Select a page', 'invoicing'),
252 252
                     ),
253 253
                     'success_page' => array(
254 254
                         'id'          => 'success_page',
255
-                        'name'        => __( 'Success Page', 'invoicing' ),
256
-                        'desc'        => __( 'This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing' ),
255
+                        'name'        => __('Success Page', 'invoicing'),
256
+                        'desc'        => __('This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing'),
257 257
                         'type'        => 'select',
258 258
                         'options'     => $pages,
259
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
259
+                        'placeholder' => __('Select a page', 'invoicing'),
260 260
                     ),
261 261
                     'failure_page' => array(
262 262
                         'id'          => 'failure_page',
263
-                        'name'        => __( 'Failed Transaction Page', 'invoicing' ),
264
-                        'desc'        => __( 'This is the page buyers are sent to if their transaction is cancelled or fails', 'invoicing' ),
263
+                        'name'        => __('Failed Transaction Page', 'invoicing'),
264
+                        'desc'        => __('This is the page buyers are sent to if their transaction is cancelled or fails', 'invoicing'),
265 265
                         'type'        => 'select',
266 266
                         'options'     => $pages,
267
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
267
+                        'placeholder' => __('Select a page', 'invoicing'),
268 268
                     ),
269 269
                     'invoice_history_page' => array(
270 270
                         'id'          => 'invoice_history_page',
271
-                        'name'        => __( 'Invoice History Page', 'invoicing' ),
272
-                        'desc'        => __( 'This page shows an invoice history for the current user', 'invoicing' ),
271
+                        'name'        => __('Invoice History Page', 'invoicing'),
272
+                        'desc'        => __('This page shows an invoice history for the current user', 'invoicing'),
273 273
                         'type'        => 'select',
274 274
                         'options'     => $pages,
275
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
275
+                        'placeholder' => __('Select a page', 'invoicing'),
276 276
                     )
277 277
                 ),
278 278
                 'currency_section' => array(
279 279
                     'currency_settings' => array(
280 280
                         'id'   => 'currency_settings',
281
-                        'name' => '<h3>' . __( 'Currency Settings', 'invoicing' ) . '</h3>',
281
+                        'name' => '<h3>' . __('Currency Settings', 'invoicing') . '</h3>',
282 282
                         'desc' => '',
283 283
                         'type' => 'header',
284 284
                     ),
285 285
                     'currency' => array(
286 286
                         'id'      => 'currency',
287
-                        'name'    => __( 'Currency', 'invoicing' ),
288
-                        'desc'    => __( 'Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing' ),
287
+                        'name'    => __('Currency', 'invoicing'),
288
+                        'desc'    => __('Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing'),
289 289
                         'type'    => 'select',
290 290
                         'options' => $currency_code_options,
291 291
                     ),
292 292
                     'currency_position' => array(
293 293
                         'id'      => 'currency_position',
294
-                        'name'    => __( 'Currency Position', 'invoicing' ),
295
-                        'desc'    => __( 'Choose the location of the currency sign.', 'invoicing' ),
294
+                        'name'    => __('Currency Position', 'invoicing'),
295
+                        'desc'    => __('Choose the location of the currency sign.', 'invoicing'),
296 296
                         'type'    => 'select',
297 297
                         'options'  => array(
298
-                            'left'        => __( 'Left', 'invoicing' ) . ' (' . $currency_symbol . wpinv_format_amount( '99.99' ) . ')',
299
-                            'right'       => __( 'Right', 'invoicing' ) . ' ('. wpinv_format_amount( '99.99' ) . $currency_symbol . ')',
300
-                            'left_space'  => __( 'Left with space', 'invoicing' ) . ' (' . $currency_symbol . ' ' . wpinv_format_amount( '99.99' ) . ')',
301
-                            'right_space' => __( 'Right with space', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . ' ' . $currency_symbol . ')'
298
+                            'left'        => __('Left', 'invoicing') . ' (' . $currency_symbol . wpinv_format_amount('99.99') . ')',
299
+                            'right'       => __('Right', 'invoicing') . ' (' . wpinv_format_amount('99.99') . $currency_symbol . ')',
300
+                            'left_space'  => __('Left with space', 'invoicing') . ' (' . $currency_symbol . ' ' . wpinv_format_amount('99.99') . ')',
301
+                            'right_space' => __('Right with space', 'invoicing') . ' (' . wpinv_format_amount('99.99') . ' ' . $currency_symbol . ')'
302 302
                         )
303 303
                     ),
304 304
                     'thousands_separator' => array(
305 305
                         'id'   => 'thousands_separator',
306
-                        'name' => __( 'Thousands Separator', 'invoicing' ),
307
-                        'desc' => __( 'The symbol (usually , or .) to separate thousands', 'invoicing' ),
306
+                        'name' => __('Thousands Separator', 'invoicing'),
307
+                        'desc' => __('The symbol (usually , or .) to separate thousands', 'invoicing'),
308 308
                         'type' => 'text',
309 309
                         'size' => 'small',
310 310
                         'std'  => ',',
311 311
                     ),
312 312
                     'decimal_separator' => array(
313 313
                         'id'   => 'decimal_separator',
314
-                        'name' => __( 'Decimal Separator', 'invoicing' ),
315
-                        'desc' => __( 'The symbol (usually , or .) to separate decimal points', 'invoicing' ),
314
+                        'name' => __('Decimal Separator', 'invoicing'),
315
+                        'desc' => __('The symbol (usually , or .) to separate decimal points', 'invoicing'),
316 316
                         'type' => 'text',
317 317
                         'size' => 'small',
318 318
                         'std'  => '.',
319 319
                     ),
320 320
                     'decimals' => array(
321 321
                         'id'   => 'decimals',
322
-                        'name' => __( 'Number of Decimals', 'invoicing' ),
323
-                        'desc' => __( 'This sets the number of decimal points shown in displayed prices.', 'invoicing' ),
322
+                        'name' => __('Number of Decimals', 'invoicing'),
323
+                        'desc' => __('This sets the number of decimal points shown in displayed prices.', 'invoicing'),
324 324
                         'type' => 'number',
325 325
                         'size' => 'small',
326 326
                         'std'  => '2',
@@ -332,29 +332,29 @@  discard block
 block discarded – undo
332 332
                 'labels' => array(
333 333
                     'labels' => array(
334 334
                         'id'   => 'labels_settings',
335
-                        'name' => '<h3>' . __( 'Invoice Labels', 'invoicing' ) . '</h3>',
335
+                        'name' => '<h3>' . __('Invoice Labels', 'invoicing') . '</h3>',
336 336
                         'desc' => '',
337 337
                         'type' => 'header',
338 338
                     ),
339 339
                     'vat_name' => array(
340 340
                         'id' => 'vat_name',
341
-                        'name' => __( 'VAT Name', 'invoicing' ),
342
-                        'desc' => __( 'Enter the VAT name', 'invoicing' ),
341
+                        'name' => __('VAT Name', 'invoicing'),
342
+                        'desc' => __('Enter the VAT name', 'invoicing'),
343 343
                         'type' => 'text',
344 344
                         'size' => 'regular',
345 345
                         'std' => 'VAT'
346 346
                     ),
347 347
                     'vat_invoice_notice_label' => array(
348 348
                         'id' => 'vat_invoice_notice_label',
349
-                        'name' => __( 'Invoice Notice Label', 'invoicing' ),
350
-                        'desc' => __( 'Use this to add an invoice notice section (label) to your invoices', 'invoicing' ),
349
+                        'name' => __('Invoice Notice Label', 'invoicing'),
350
+                        'desc' => __('Use this to add an invoice notice section (label) to your invoices', 'invoicing'),
351 351
                         'type' => 'text',
352 352
                         'size' => 'regular',
353 353
                     ),
354 354
                     'vat_invoice_notice' => array(
355 355
                         'id' => 'vat_invoice_notice',
356
-                        'name' => __( 'Invoice notice', 'invoicing' ),
357
-                        'desc' =>   __( 'Use this to add an invoice notice section (description) to your invoices', 'invoicing' ),
356
+                        'name' => __('Invoice notice', 'invoicing'),
357
+                        'desc' =>   __('Use this to add an invoice notice section (description) to your invoices', 'invoicing'),
358 358
                         'type' => 'text',
359 359
                         'size' => 'regular',
360 360
                     )
@@ -366,22 +366,22 @@  discard block
 block discarded – undo
366 366
                 'main' => array(
367 367
                     'gateway_settings' => array(
368 368
                         'id'   => 'api_header',
369
-                        'name' => '<h3>' . __( 'Gateway Settings', 'invoicing' ) . '</h3>',
369
+                        'name' => '<h3>' . __('Gateway Settings', 'invoicing') . '</h3>',
370 370
                         'desc' => '',
371 371
                         'type' => 'header',
372 372
                     ),
373 373
                     'gateways' => array(
374 374
                         'id'      => 'gateways',
375
-                        'name'    => __( 'Payment Gateways', 'invoicing' ),
376
-                        'desc'    => __( 'Choose the payment gateways you want to enable.', 'invoicing' ),
375
+                        'name'    => __('Payment Gateways', 'invoicing'),
376
+                        'desc'    => __('Choose the payment gateways you want to enable.', 'invoicing'),
377 377
                         'type'    => 'gateways',
378 378
                         'std'     => array('manual'=>1),
379 379
                         'options' => wpinv_get_payment_gateways(),
380 380
                     ),
381 381
                     'default_gateway' => array(
382 382
                         'id'      => 'default_gateway',
383
-                        'name'    => __( 'Default Gateway', 'invoicing' ),
384
-                        'desc'    => __( 'This gateway will be loaded automatically with the checkout page.', 'invoicing' ),
383
+                        'name'    => __('Default Gateway', 'invoicing'),
384
+                        'desc'    => __('This gateway will be loaded automatically with the checkout page.', 'invoicing'),
385 385
                         'type'    => 'gateway_select',
386 386
                         'std'     => 'manual',
387 387
                         'options' => wpinv_get_payment_gateways(),
@@ -395,19 +395,19 @@  discard block
 block discarded – undo
395 395
                 'main' => array(
396 396
                     'tax_settings' => array(
397 397
                         'id'   => 'tax_settings',
398
-                        'name' => '<h3>' . __( 'Tax Settings', 'invoicing' ) . '</h3>',
398
+                        'name' => '<h3>' . __('Tax Settings', 'invoicing') . '</h3>',
399 399
                         'type' => 'header',
400 400
                     ),
401 401
                     'enable_taxes' => array(
402 402
                         'id'   => 'enable_taxes',
403
-                        'name' => __( 'Enable Taxes', 'invoicing' ),
404
-                        'desc' => __( 'Check this to enable taxes on invoices.', 'invoicing' ),
403
+                        'name' => __('Enable Taxes', 'invoicing'),
404
+                        'desc' => __('Check this to enable taxes on invoices.', 'invoicing'),
405 405
                         'type' => 'checkbox',
406 406
                     ),
407 407
                     'tax_rate' => array(
408 408
                         'id'   => 'tax_rate',
409
-                        'name' => __( 'Fallback Tax Rate', 'invoicing' ),
410
-                        'desc' => __( 'Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing' ),
409
+                        'name' => __('Fallback Tax Rate', 'invoicing'),
410
+                        'desc' => __('Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing'),
411 411
                         'type' => 'number',
412 412
                         'size' => 'small',
413 413
                         'min'  => '0',
@@ -419,8 +419,8 @@  discard block
 block discarded – undo
419 419
                 'rates' => array(
420 420
                     'tax_rates' => array(
421 421
                         'id'   => 'tax_rates',
422
-                        'name' => '<h3>' . __( 'Tax Rates', 'invoicing' ) . '</h3>',
423
-                        'desc' => __( 'Enter tax rates for specific regions.', 'invoicing' ),
422
+                        'name' => '<h3>' . __('Tax Rates', 'invoicing') . '</h3>',
423
+                        'desc' => __('Enter tax rates for specific regions.', 'invoicing'),
424 424
                         'type' => 'tax_rates',
425 425
                     ),
426 426
                 )
@@ -432,61 +432,61 @@  discard block
 block discarded – undo
432 432
                 'main' => array(
433 433
                     'email_settings_header' => array(
434 434
                         'id'   => 'email_settings_header',
435
-                        'name' => '<h3>' . __( 'Email Sender Options', 'invoicing' ) . '</h3>',
435
+                        'name' => '<h3>' . __('Email Sender Options', 'invoicing') . '</h3>',
436 436
                         'type' => 'header',
437 437
                     ),
438 438
                     'email_from_name' => array(
439 439
                         'id'   => 'email_from_name',
440
-                        'name' => __( 'From Name', 'invoicing' ),
441
-                        'desc' => __( 'Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing' ),
442
-                        'std' => esc_attr( get_bloginfo( 'name', 'display' ) ),
440
+                        'name' => __('From Name', 'invoicing'),
441
+                        'desc' => __('Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing'),
442
+                        'std' => esc_attr(get_bloginfo('name', 'display')),
443 443
                         'type' => 'text',
444 444
                     ),
445 445
                     'email_from' => array(
446 446
                         'id'   => 'email_from',
447
-                        'name' => __( 'From Email', 'invoicing' ),
448
-                        'desc' => sprintf (__( 'Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing' ), $alert_wrapper_start, $alert_wrapper_close),
449
-                        'std' => get_option( 'admin_email' ),
447
+                        'name' => __('From Email', 'invoicing'),
448
+                        'desc' => sprintf(__('Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing'), $alert_wrapper_start, $alert_wrapper_close),
449
+                        'std' => get_option('admin_email'),
450 450
                         'type' => 'text',
451 451
                     ),
452 452
                     'overdue_settings_header' => array(
453 453
                         'id'   => 'overdue_settings_header',
454
-                        'name' => '<h3>' . __( 'Due Date Settings', 'invoicing' ) . '</h3>',
454
+                        'name' => '<h3>' . __('Due Date Settings', 'invoicing') . '</h3>',
455 455
                         'type' => 'header',
456 456
                     ),
457 457
                     'overdue_active' => array(
458 458
                         'id'   => 'overdue_active',
459
-                        'name' => __( 'Enable Due Date', 'invoicing' ),
460
-                        'desc' => __( 'Check this to enable due date option for invoices.', 'invoicing' ),
459
+                        'name' => __('Enable Due Date', 'invoicing'),
460
+                        'desc' => __('Check this to enable due date option for invoices.', 'invoicing'),
461 461
                         'type' => 'checkbox',
462 462
                         'std'  => false,
463 463
                     ),
464 464
                     'overdue_days' => array(
465 465
                         'id'          => 'overdue_days',
466
-                        'name'        => __( 'Default Due Date', 'invoicing' ),
467
-                        'desc'        => __( 'Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing' ),
466
+                        'name'        => __('Default Due Date', 'invoicing'),
467
+                        'desc'        => __('Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing'),
468 468
                         'type'        => 'select',
469 469
                         'options'     => $due_payment_options,
470 470
                         'std'         => 0,
471
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
471
+                        'placeholder' => __('Select a page', 'invoicing'),
472 472
                     ),
473 473
                     'email_template_header' => array(
474 474
                         'id'   => 'email_template_header',
475
-                        'name' => '<h3>' . __( 'Email Template', 'invoicing' ) . '</h3>',
475
+                        'name' => '<h3>' . __('Email Template', 'invoicing') . '</h3>',
476 476
                         'type' => 'header',
477 477
                     ),
478 478
                     'email_header_image' => array(
479 479
                         'id'   => 'email_header_image',
480
-                        'name' => __( 'Header Image', 'invoicing' ),
481
-                        'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing' ),
480
+                        'name' => __('Header Image', 'invoicing'),
481
+                        'desc' => __('URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing'),
482 482
                         'std' => '',
483 483
                         'type' => 'text',
484 484
                     ),
485 485
                     'email_footer_text' => array(
486 486
                         'id'   => 'email_footer_text',
487
-                        'name' => __( 'Footer Text', 'invoicing' ),
488
-                        'desc' => __( 'The text to appear in the footer of all invoice emails.', 'invoicing' ),
489
-                        'std' => get_bloginfo( 'name', 'display' ) . ' - ' . __( 'Powered by GeoDirectory', 'invoicing' ),
487
+                        'name' => __('Footer Text', 'invoicing'),
488
+                        'desc' => __('The text to appear in the footer of all invoice emails.', 'invoicing'),
489
+                        'std' => get_bloginfo('name', 'display') . ' - ' . __('Powered by GeoDirectory', 'invoicing'),
490 490
                         'type' => 'textarea',
491 491
                         'class' => 'regular-text',
492 492
                         'rows' => 2,
@@ -494,29 +494,29 @@  discard block
 block discarded – undo
494 494
                     ),
495 495
                     'email_base_color' => array(
496 496
                         'id'   => 'email_base_color',
497
-                        'name' => __( 'Base Color', 'invoicing' ),
498
-                        'desc' => __( 'The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing' ),
497
+                        'name' => __('Base Color', 'invoicing'),
498
+                        'desc' => __('The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing'),
499 499
                         'std' => '#557da2',
500 500
                         'type' => 'color',
501 501
                     ),
502 502
                     'email_background_color' => array(
503 503
                         'id'   => 'email_background_color',
504
-                        'name' => __( 'Background Color', 'invoicing' ),
505
-                        'desc' => __( 'The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing' ),
504
+                        'name' => __('Background Color', 'invoicing'),
505
+                        'desc' => __('The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing'),
506 506
                         'std' => '#f5f5f5',
507 507
                         'type' => 'color',
508 508
                     ),
509 509
                     'email_body_background_color' => array(
510 510
                         'id'   => 'email_body_background_color',
511
-                        'name' => __( 'Body Background Color', 'invoicing' ),
512
-                        'desc' => __( 'The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing' ),
511
+                        'name' => __('Body Background Color', 'invoicing'),
512
+                        'desc' => __('The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing'),
513 513
                         'std' => '#fdfdfd',
514 514
                         'type' => 'color',
515 515
                     ),
516 516
                     'email_text_color' => array(
517 517
                         'id'   => 'email_text_color',
518
-                        'name' => __( 'Body Text Color', 'invoicing' ),
519
-                        'desc' => __( 'The main body text color. Default <code>#505050</code>.', 'invoicing' ),
518
+                        'name' => __('Body Text Color', 'invoicing'),
519
+                        'desc' => __('The main body text color. Default <code>#505050</code>.', 'invoicing'),
520 520
                         'std' => '#505050',
521 521
                         'type' => 'color',
522 522
                     ),
@@ -535,19 +535,19 @@  discard block
 block discarded – undo
535 535
                 'main' => array(
536 536
                     'invoice_number_format_settings' => array(
537 537
                         'id'   => 'invoice_number_format_settings',
538
-                        'name' => '<h3>' . __( 'Invoice Number', 'invoicing' ) . '</h3>',
538
+                        'name' => '<h3>' . __('Invoice Number', 'invoicing') . '</h3>',
539 539
                         'type' => 'header',
540 540
                     ),
541 541
                     'sequential_invoice_number' => array(
542 542
                         'id'   => 'sequential_invoice_number',
543
-                        'name' => __( 'Sequential Invoice Numbers', 'invoicing' ),
544
-                        'desc' => __( 'Check this box to enable sequential invoice numbers.', 'invoicing' ),
543
+                        'name' => __('Sequential Invoice Numbers', 'invoicing'),
544
+                        'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing'),
545 545
                         'type' => 'checkbox',
546 546
                     ),
547 547
                     'invoice_sequence_start' => array(
548 548
                         'id'   => 'invoice_sequence_start',
549
-                        'name' => __( 'Sequential Starting Number', 'invoicing' ),
550
-                        'desc' => __( 'The number at which the invoice number sequence should begin.', 'invoicing' ) . $last_number,
549
+                        'name' => __('Sequential Starting Number', 'invoicing'),
550
+                        'desc' => __('The number at which the invoice number sequence should begin.', 'invoicing') . $last_number,
551 551
                         'type' => 'number',
552 552
                         'size' => 'small',
553 553
                         'std'  => '1',
@@ -555,16 +555,16 @@  discard block
 block discarded – undo
555 555
                     ),
556 556
                     'invoice_number_padd' => array(
557 557
                         'id'      => 'invoice_number_padd',
558
-                        'name'    => __( 'Minimum Digits', 'invoicing' ),
559
-                        'desc'    => __( 'If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing' ),
558
+                        'name'    => __('Minimum Digits', 'invoicing'),
559
+                        'desc'    => __('If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing'),
560 560
                         'type'    => 'select',
561 561
                         'options' => $invoice_number_padd_options,
562 562
                         'std'     => 5,
563 563
                     ),
564 564
                     'invoice_number_prefix' => array(
565 565
                         'id' => 'invoice_number_prefix',
566
-                        'name' => __( 'Invoice Number Prefix', 'invoicing' ),
567
-                        'desc' => __( 'Prefix for all invoice numbers. Ex: WPINV-', 'invoicing' ),
566
+                        'name' => __('Invoice Number Prefix', 'invoicing'),
567
+                        'desc' => __('Prefix for all invoice numbers. Ex: WPINV-', 'invoicing'),
568 568
                         'type' => 'text',
569 569
                         'size' => 'regular',
570 570
                         'std' => 'WPINV-',
@@ -572,32 +572,32 @@  discard block
 block discarded – undo
572 572
                     ),
573 573
                     'invoice_number_postfix' => array(
574 574
                         'id' => 'invoice_number_postfix',
575
-                        'name' => __( 'Invoice Number Postfix', 'invoicing' ),
576
-                        'desc' => __( 'Postfix for all invoice numbers.', 'invoicing' ),
575
+                        'name' => __('Invoice Number Postfix', 'invoicing'),
576
+                        'desc' => __('Postfix for all invoice numbers.', 'invoicing'),
577 577
                         'type' => 'text',
578 578
                         'size' => 'regular',
579 579
                         'std' => ''
580 580
                     ),
581 581
                     'checkout_settings' => array(
582 582
                         'id'   => 'checkout_settings',
583
-                        'name' => '<h3>' . __( 'Checkout Settings', 'invoicing' ) . '</h3>',
583
+                        'name' => '<h3>' . __('Checkout Settings', 'invoicing') . '</h3>',
584 584
                         'type' => 'header',
585 585
                     ),
586 586
                     'login_to_checkout' => array(
587 587
                         'id'   => 'login_to_checkout',
588
-                        'name' => __( 'Require Login To Checkout', 'invoicing' ),
589
-                        'desc' => __( 'If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing' ),
588
+                        'name' => __('Require Login To Checkout', 'invoicing'),
589
+                        'desc' => __('If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing'),
590 590
                         'type' => 'checkbox',
591 591
                     ),
592 592
                     'uninstall_settings' => array(
593 593
                         'id'   => 'uninstall_settings',
594
-                        'name' => '<h3>' . __( 'Uninstall Settings', 'invoicing' ) . '</h3>',
594
+                        'name' => '<h3>' . __('Uninstall Settings', 'invoicing') . '</h3>',
595 595
                         'type' => 'header',
596 596
                     ),
597 597
                     'remove_data_on_unistall' => array(
598 598
                         'id'   => 'remove_data_on_unistall',
599
-                        'name' => __( 'Remove Data on Uninstall?', 'invoicing' ),
600
-                        'desc' => __( 'Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing' ),
599
+                        'name' => __('Remove Data on Uninstall?', 'invoicing'),
600
+                        'desc' => __('Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing'),
601 601
                         'type' => 'checkbox',
602 602
                         'std'  => ''
603 603
                     ),
@@ -605,74 +605,74 @@  discard block
 block discarded – undo
605 605
                 'fields' => array(
606 606
                     'fields_settings' => array(
607 607
                         'id'   => 'fields_settings',
608
-                        'name' => '<h3>' . __( 'Address Fields', 'invoicing' ) . '</h3>',
609
-                        'desc' => __( 'Tick fields which are mandatory in invoice address fields.', 'invoicing' ),
608
+                        'name' => '<h3>' . __('Address Fields', 'invoicing') . '</h3>',
609
+                        'desc' => __('Tick fields which are mandatory in invoice address fields.', 'invoicing'),
610 610
                         'type' => 'header',
611 611
                     ),
612 612
                     'fname_mandatory' => array(
613 613
                         'id'   => 'fname_mandatory',
614
-                        'name' => __( 'First Name', 'invoicing' ),
614
+                        'name' => __('First Name', 'invoicing'),
615 615
                         'type' => 'checkbox',
616 616
                         'std'  => true,
617 617
                     ),
618 618
                     'lname_mandatory' => array(
619 619
                         'id'   => 'lname_mandatory',
620
-                        'name' => __( 'Last Name', 'invoicing' ),
620
+                        'name' => __('Last Name', 'invoicing'),
621 621
                         'type' => 'checkbox',
622 622
                         'std'  => true,
623 623
                     ),
624 624
                     'address_mandatory' => array(
625 625
                         'id'   => 'address_mandatory',
626
-                        'name' => __( 'Address', 'invoicing' ),
626
+                        'name' => __('Address', 'invoicing'),
627 627
                         'type' => 'checkbox',
628 628
                         'std'  => true,
629 629
                     ),
630 630
                     'city_mandatory' => array(
631 631
                         'id'   => 'city_mandatory',
632
-                        'name' => __( 'City', 'invoicing' ),
632
+                        'name' => __('City', 'invoicing'),
633 633
                         'type' => 'checkbox',
634 634
                         'std'  => true,
635 635
                     ),
636 636
                     'country_mandatory' => array(
637 637
                         'id'   => 'country_mandatory',
638
-                        'name' => __( 'Country', 'invoicing' ),
638
+                        'name' => __('Country', 'invoicing'),
639 639
                         'type' => 'checkbox',
640 640
                         'std'  => true,
641 641
                     ),
642 642
                     'state_mandatory' => array(
643 643
                         'id'   => 'state_mandatory',
644
-                        'name' => __( 'State / Province', 'invoicing' ),
644
+                        'name' => __('State / Province', 'invoicing'),
645 645
                         'type' => 'checkbox',
646 646
                         'std'  => true,
647 647
                     ),
648 648
                     'zip_mandatory' => array(
649 649
                         'id'   => 'zip_mandatory',
650
-                        'name' => __( 'ZIP / Postcode', 'invoicing' ),
650
+                        'name' => __('ZIP / Postcode', 'invoicing'),
651 651
                         'type' => 'checkbox',
652 652
                         'std'  => true,
653 653
                     ),
654 654
                     'phone_mandatory' => array(
655 655
                         'id'   => 'phone_mandatory',
656
-                        'name' => __( 'Phone Number', 'invoicing' ),
656
+                        'name' => __('Phone Number', 'invoicing'),
657 657
                         'type' => 'checkbox',
658 658
                         'std'  => true,
659 659
                     ),
660 660
                     'address_autofill_settings' => array(
661 661
                         'id'   => 'address_autofill_settings',
662
-                        'name' => '<h3>' . __( 'Google Address Auto Complete', 'invoicing' ) . '</h3>',
662
+                        'name' => '<h3>' . __('Google Address Auto Complete', 'invoicing') . '</h3>',
663 663
                         'type' => 'header',
664 664
                     ),
665 665
                     'address_autofill_active' => array(
666 666
                         'id'   => 'address_autofill_active',
667
-                        'name' => __( 'Enable/Disable', 'invoicing' ),
668
-                        'desc' => __( 'Enable google address auto complete', 'invoicing' ),
667
+                        'name' => __('Enable/Disable', 'invoicing'),
668
+                        'desc' => __('Enable google address auto complete', 'invoicing'),
669 669
                         'type' => 'checkbox',
670 670
                         'std'  => 0
671 671
                     ),
672 672
                     'address_autofill_api' => array(
673 673
                         'id' => 'address_autofill_api',
674
-                        'name' => __( 'Google Place API Key', 'invoicing' ),
675
-                        'desc' => wp_sprintf(__( 'Enter google place API key. For more information go to google place API %sdocumenation%s', 'invoicing' ), '<a href="https://developers.google.com/maps/documentation/javascript/places-autocomplete" target="_blank">', '</a>' ),
674
+                        'name' => __('Google Place API Key', 'invoicing'),
675
+                        'desc' => wp_sprintf(__('Enter google place API key. For more information go to google place API %sdocumenation%s', 'invoicing'), '<a href="https://developers.google.com/maps/documentation/javascript/places-autocomplete" target="_blank">', '</a>'),
676 676
                         'type' => 'text',
677 677
                         'size' => 'regular',
678 678
                         'std' => ''
@@ -686,8 +686,8 @@  discard block
 block discarded – undo
686 686
                 'main' => array(
687 687
                     'tool_settings' => array(
688 688
                         'id'   => 'tool_settings',
689
-                        'name' => '<h3>' . __( 'Diagnostic Tools', 'invoicing' ) . '</h3>',
690
-                        'desc' => __( 'Invoicing diagnostic tools', 'invoicing' ),
689
+                        'name' => '<h3>' . __('Diagnostic Tools', 'invoicing') . '</h3>',
690
+                        'desc' => __('Invoicing diagnostic tools', 'invoicing'),
691 691
                         'type' => 'tools',
692 692
                     ),
693 693
                 ),
@@ -695,135 +695,135 @@  discard block
 block discarded – undo
695 695
         )
696 696
     );
697 697
 
698
-    return apply_filters( 'wpinv_registered_settings', $wpinv_settings );
698
+    return apply_filters('wpinv_registered_settings', $wpinv_settings);
699 699
 }
700 700
 
701
-function wpinv_settings_sanitize( $input = array() ) {
701
+function wpinv_settings_sanitize($input = array()) {
702 702
     global $wpinv_options;
703 703
 
704
-    if ( empty( $_POST['_wp_http_referer'] ) ) {
704
+    if (empty($_POST['_wp_http_referer'])) {
705 705
         return $input;
706 706
     }
707 707
 
708
-    parse_str( $_POST['_wp_http_referer'], $referrer );
708
+    parse_str($_POST['_wp_http_referer'], $referrer);
709 709
 
710 710
     $settings = wpinv_get_registered_settings();
711
-    $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
712
-    $section  = isset( $referrer['section'] ) ? $referrer['section'] : 'main';
711
+    $tab      = isset($referrer['tab']) ? $referrer['tab'] : 'general';
712
+    $section  = isset($referrer['section']) ? $referrer['section'] : 'main';
713 713
 
714 714
     $input = $input ? $input : array();
715
-    $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input );
716
-    $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input );
715
+    $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input);
716
+    $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input);
717 717
 
718 718
     // Loop through each setting being saved and pass it through a sanitization filter
719
-    foreach ( $input as $key => $value ) {
719
+    foreach ($input as $key => $value) {
720 720
         // Get the setting type (checkbox, select, etc)
721
-        $type = isset( $settings[ $tab ][ $key ]['type'] ) ? $settings[ $tab ][ $key ]['type'] : false;
721
+        $type = isset($settings[$tab][$key]['type']) ? $settings[$tab][$key]['type'] : false;
722 722
 
723
-        if ( $type ) {
723
+        if ($type) {
724 724
             // Field type specific filter
725
-            $input[$key] = apply_filters( 'wpinv_settings_sanitize_' . $type, $value, $key );
725
+            $input[$key] = apply_filters('wpinv_settings_sanitize_' . $type, $value, $key);
726 726
         }
727 727
 
728 728
         // General filter
729
-        $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
729
+        $input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key);
730 730
     }
731 731
 
732 732
     // Loop through the whitelist and unset any that are empty for the tab being saved
733
-    $main_settings    = $section == 'main' ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections
734
-    $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array();
733
+    $main_settings    = $section == 'main' ? $settings[$tab] : array(); // Check for extensions that aren't using new sections
734
+    $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array();
735 735
 
736
-    $found_settings = array_merge( $main_settings, $section_settings );
736
+    $found_settings = array_merge($main_settings, $section_settings);
737 737
 
738
-    if ( ! empty( $found_settings ) ) {
739
-        foreach ( $found_settings as $key => $value ) {
738
+    if (!empty($found_settings)) {
739
+        foreach ($found_settings as $key => $value) {
740 740
 
741 741
             // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work
742
-            if ( is_numeric( $key ) ) {
742
+            if (is_numeric($key)) {
743 743
                 $key = $value['id'];
744 744
             }
745 745
 
746
-            if ( empty( $input[ $key ] ) ) {
747
-                unset( $wpinv_options[ $key ] );
746
+            if (empty($input[$key])) {
747
+                unset($wpinv_options[$key]);
748 748
             }
749 749
         }
750 750
     }
751 751
 
752 752
     // Merge our new settings with the existing
753
-    $output = array_merge( $wpinv_options, $input );
753
+    $output = array_merge($wpinv_options, $input);
754 754
 
755
-    add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' );
755
+    add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated');
756 756
 
757 757
     return $output;
758 758
 }
759 759
 
760
-function wpinv_settings_sanitize_misc_accounting( $input ) {
760
+function wpinv_settings_sanitize_misc_accounting($input) {
761 761
     global $wpinv_options, $wpi_session;
762 762
 
763
-    if ( !current_user_can( 'manage_options' ) ) {
763
+    if (!current_user_can('manage_options')) {
764 764
         return $input;
765 765
     }
766 766
 
767
-    if( ! empty( $input['enable_sequential'] ) && !wpinv_get_option( 'enable_sequential' ) ) {
767
+    if (!empty($input['enable_sequential']) && !wpinv_get_option('enable_sequential')) {
768 768
         // Shows an admin notice about upgrading previous order numbers
769
-        $wpi_session->set( 'upgrade_sequential', '1' );
769
+        $wpi_session->set('upgrade_sequential', '1');
770 770
     }
771 771
 
772 772
     return $input;
773 773
 }
774
-add_filter( 'wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting' );
774
+add_filter('wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting');
775 775
 
776
-function wpinv_settings_sanitize_tax_rates( $input ) {
777
-    if( !current_user_can( 'manage_options' ) ) {
776
+function wpinv_settings_sanitize_tax_rates($input) {
777
+    if (!current_user_can('manage_options')) {
778 778
         return $input;
779 779
     }
780 780
 
781
-    $new_rates = !empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array();
781
+    $new_rates = !empty($_POST['tax_rates']) ? array_values($_POST['tax_rates']) : array();
782 782
 
783 783
     $tax_rates = array();
784 784
 
785
-    if ( !empty( $new_rates ) ) {
786
-        foreach ( $new_rates as $rate ) {
787
-            if ( isset( $rate['country'] ) && empty( $rate['country'] ) && empty( $rate['state'] ) ) {
785
+    if (!empty($new_rates)) {
786
+        foreach ($new_rates as $rate) {
787
+            if (isset($rate['country']) && empty($rate['country']) && empty($rate['state'])) {
788 788
                 continue;
789 789
             }
790 790
             
791
-            $rate['rate'] = wpinv_sanitize_amount( $rate['rate'], 4 );
791
+            $rate['rate'] = wpinv_sanitize_amount($rate['rate'], 4);
792 792
             
793 793
             $tax_rates[] = $rate;
794 794
         }
795 795
     }
796 796
 
797
-    update_option( 'wpinv_tax_rates', $tax_rates );
797
+    update_option('wpinv_tax_rates', $tax_rates);
798 798
 
799 799
     return $input;
800 800
 }
801
-add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' );
801
+add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates');
802 802
 
803
-function wpinv_sanitize_text_field( $input ) {
804
-    return trim( $input );
803
+function wpinv_sanitize_text_field($input) {
804
+    return trim($input);
805 805
 }
806
-add_filter( 'wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field' );
806
+add_filter('wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field');
807 807
 
808 808
 function wpinv_get_settings_tabs() {
809 809
     $tabs             = array();
810
-    $tabs['general']  = __( 'General', 'invoicing' );
811
-    $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
812
-    $tabs['taxes']    = __( 'Taxes', 'invoicing' );
813
-    $tabs['emails']   = __( 'Emails', 'invoicing' );
814
-    $tabs['misc']     = __( 'Misc', 'invoicing' );
815
-    $tabs['tools']    = __( 'Tools', 'invoicing' );
816
-
817
-    return apply_filters( 'wpinv_settings_tabs', $tabs );
810
+    $tabs['general']  = __('General', 'invoicing');
811
+    $tabs['gateways'] = __('Payment Gateways', 'invoicing');
812
+    $tabs['taxes']    = __('Taxes', 'invoicing');
813
+    $tabs['emails']   = __('Emails', 'invoicing');
814
+    $tabs['misc']     = __('Misc', 'invoicing');
815
+    $tabs['tools']    = __('Tools', 'invoicing');
816
+
817
+    return apply_filters('wpinv_settings_tabs', $tabs);
818 818
 }
819 819
 
820
-function wpinv_get_settings_tab_sections( $tab = false ) {
820
+function wpinv_get_settings_tab_sections($tab = false) {
821 821
     $tabs     = false;
822 822
     $sections = wpinv_get_registered_settings_sections();
823 823
 
824
-    if( $tab && ! empty( $sections[ $tab ] ) ) {
825
-        $tabs = $sections[ $tab ];
826
-    } else if ( $tab ) {
824
+    if ($tab && !empty($sections[$tab])) {
825
+        $tabs = $sections[$tab];
826
+    } else if ($tab) {
827 827
         $tabs = false;
828 828
     }
829 829
 
@@ -833,136 +833,136 @@  discard block
 block discarded – undo
833 833
 function wpinv_get_registered_settings_sections() {
834 834
     static $sections = false;
835 835
 
836
-    if ( false !== $sections ) {
836
+    if (false !== $sections) {
837 837
         return $sections;
838 838
     }
839 839
 
840 840
     $sections = array(
841
-        'general' => apply_filters( 'wpinv_settings_sections_general', array(
842
-            'main' => __( 'General Settings', 'invoicing' ),
843
-            'currency_section' => __( 'Currency Settings', 'invoicing' ),
844
-            'labels' => __( 'Label Texts', 'invoicing' ),
845
-        ) ),
846
-        'gateways' => apply_filters( 'wpinv_settings_sections_gateways', array(
847
-            'main' => __( 'Gateway Settings', 'invoicing' ),
848
-        ) ),
849
-        'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array(
850
-            'main' => __( 'Tax Settings', 'invoicing' ),
851
-            'rates' => __( 'Tax Rates', 'invoicing' ),
852
-        ) ),
853
-        'emails' => apply_filters( 'wpinv_settings_sections_emails', array(
854
-            'main' => __( 'Email Settings', 'invoicing' ),
855
-        ) ),
856
-        'misc' => apply_filters( 'wpinv_settings_sections_misc', array(
857
-            'main' => __( 'Miscellaneous', 'invoicing' ),
858
-            'fields' => __( 'Fields Settings', 'invoicing' ),
859
-        ) ),
860
-        'tools' => apply_filters( 'wpinv_settings_sections_tools', array(
861
-            'main' => __( 'Diagnostic Tools', 'invoicing' ),
862
-        ) ),
841
+        'general' => apply_filters('wpinv_settings_sections_general', array(
842
+            'main' => __('General Settings', 'invoicing'),
843
+            'currency_section' => __('Currency Settings', 'invoicing'),
844
+            'labels' => __('Label Texts', 'invoicing'),
845
+        )),
846
+        'gateways' => apply_filters('wpinv_settings_sections_gateways', array(
847
+            'main' => __('Gateway Settings', 'invoicing'),
848
+        )),
849
+        'taxes' => apply_filters('wpinv_settings_sections_taxes', array(
850
+            'main' => __('Tax Settings', 'invoicing'),
851
+            'rates' => __('Tax Rates', 'invoicing'),
852
+        )),
853
+        'emails' => apply_filters('wpinv_settings_sections_emails', array(
854
+            'main' => __('Email Settings', 'invoicing'),
855
+        )),
856
+        'misc' => apply_filters('wpinv_settings_sections_misc', array(
857
+            'main' => __('Miscellaneous', 'invoicing'),
858
+            'fields' => __('Fields Settings', 'invoicing'),
859
+        )),
860
+        'tools' => apply_filters('wpinv_settings_sections_tools', array(
861
+            'main' => __('Diagnostic Tools', 'invoicing'),
862
+        )),
863 863
     );
864 864
 
865
-    $sections = apply_filters( 'wpinv_settings_sections', $sections );
865
+    $sections = apply_filters('wpinv_settings_sections', $sections);
866 866
 
867 867
     return $sections;
868 868
 }
869 869
 
870
-function wpinv_get_pages( $with_slug = false, $default_label = NULL ) {
870
+function wpinv_get_pages($with_slug = false, $default_label = NULL) {
871 871
 	$pages_options = array();
872 872
 
873
-	if( $default_label !== NULL && $default_label !== false ) {
874
-		$pages_options = array( '' => $default_label ); // Blank option
873
+	if ($default_label !== NULL && $default_label !== false) {
874
+		$pages_options = array('' => $default_label); // Blank option
875 875
 	}
876 876
 
877 877
 	$pages = get_pages();
878
-	if ( $pages ) {
879
-		foreach ( $pages as $page ) {
878
+	if ($pages) {
879
+		foreach ($pages as $page) {
880 880
 			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
881
-            $pages_options[ $page->ID ] = $title;
881
+            $pages_options[$page->ID] = $title;
882 882
 		}
883 883
 	}
884 884
 
885 885
 	return $pages_options;
886 886
 }
887 887
 
888
-function wpinv_header_callback( $args ) {
889
-	if ( !empty( $args['desc'] ) ) {
888
+function wpinv_header_callback($args) {
889
+	if (!empty($args['desc'])) {
890 890
         echo $args['desc'];
891 891
     }
892 892
 }
893 893
 
894
-function wpinv_hidden_callback( $args ) {
894
+function wpinv_hidden_callback($args) {
895 895
 	global $wpinv_options;
896 896
 
897
-	if ( isset( $args['set_value'] ) ) {
897
+	if (isset($args['set_value'])) {
898 898
 		$value = $args['set_value'];
899
-	} elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
900
-		$value = $wpinv_options[ $args['id'] ];
899
+	} elseif (isset($wpinv_options[$args['id']])) {
900
+		$value = $wpinv_options[$args['id']];
901 901
 	} else {
902
-		$value = isset( $args['std'] ) ? $args['std'] : '';
902
+		$value = isset($args['std']) ? $args['std'] : '';
903 903
 	}
904 904
 
905
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
905
+	if (isset($args['faux']) && true === $args['faux']) {
906 906
 		$args['readonly'] = true;
907
-		$value = isset( $args['std'] ) ? $args['std'] : '';
907
+		$value = isset($args['std']) ? $args['std'] : '';
908 908
 		$name  = '';
909 909
 	} else {
910
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
910
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
911 911
 	}
912 912
 
913
-	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
913
+	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key($args['id']) . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '" />';
914 914
     
915 915
 	echo $html;
916 916
 }
917 917
 
918
-function wpinv_checkbox_callback( $args ) {
918
+function wpinv_checkbox_callback($args) {
919 919
 	global $wpinv_options;
920 920
     
921
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
921
+    $sanitize_id = wpinv_sanitize_key($args['id']);
922 922
 
923
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
923
+	if (isset($args['faux']) && true === $args['faux']) {
924 924
 		$name = '';
925 925
 	} else {
926 926
 		$name = 'name="wpinv_settings[' . $sanitize_id . ']"';
927 927
 	}
928 928
 
929
-	$checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : '';
929
+	$checked = isset($wpinv_options[$args['id']]) ? checked(1, $wpinv_options[$args['id']], false) : '';
930 930
 	$html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>';
931
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
931
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
932 932
 
933 933
 	echo $html;
934 934
 }
935 935
 
936
-function wpinv_multicheck_callback( $args ) {
936
+function wpinv_multicheck_callback($args) {
937 937
 	global $wpinv_options;
938 938
 	
939
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
939
+	$sanitize_id = wpinv_sanitize_key($args['id']);
940 940
 	
941
-	if ( ! empty( $args['options'] ) ) {
942
-		foreach( $args['options'] as $key => $option ):
943
-			$sanitize_key = wpinv_sanitize_key( $key );
944
-			if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { 
941
+	if (!empty($args['options'])) {
942
+		foreach ($args['options'] as $key => $option):
943
+			$sanitize_key = wpinv_sanitize_key($key);
944
+			if (isset($wpinv_options[$args['id']][$sanitize_key])) { 
945 945
 				$enabled = $sanitize_key;
946 946
 			} else { 
947 947
 				$enabled = NULL; 
948 948
 			}
949
-			echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
950
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label><br/>';
949
+			echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($sanitize_key) . '" ' . checked($sanitize_key, $enabled, false) . '/>&nbsp;';
950
+			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post($option) . '</label><br/>';
951 951
 		endforeach;
952 952
 		echo '<p class="description">' . $args['desc'] . '</p>';
953 953
 	}
954 954
 }
955 955
 
956
-function wpinv_payment_icons_callback( $args ) {
956
+function wpinv_payment_icons_callback($args) {
957 957
 	global $wpinv_options;
958 958
     
959
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
959
+    $sanitize_id = wpinv_sanitize_key($args['id']);
960 960
 
961
-	if ( ! empty( $args['options'] ) ) {
962
-		foreach( $args['options'] as $key => $option ) {
963
-            $sanitize_key = wpinv_sanitize_key( $key );
961
+	if (!empty($args['options'])) {
962
+		foreach ($args['options'] as $key => $option) {
963
+            $sanitize_key = wpinv_sanitize_key($key);
964 964
             
965
-			if( isset( $wpinv_options[$args['id']][$key] ) ) {
965
+			if (isset($wpinv_options[$args['id']][$key])) {
966 966
 				$enabled = $option;
967 967
 			} else {
968 968
 				$enabled = NULL;
@@ -970,196 +970,196 @@  discard block
 block discarded – undo
970 970
 
971 971
 			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
972 972
 
973
-				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
973
+				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($option) . '" ' . checked($option, $enabled, false) . '/>&nbsp;';
974 974
 
975
-				if ( wpinv_string_is_image_url( $key ) ) {
976
-					echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
975
+				if (wpinv_string_is_image_url($key)) {
976
+					echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
977 977
 				} else {
978
-					$card = strtolower( str_replace( ' ', '', $option ) );
978
+					$card = strtolower(str_replace(' ', '', $option));
979 979
 
980
-					if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
981
-						$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
980
+					if (has_filter('wpinv_accepted_payment_' . $card . '_image')) {
981
+						$image = apply_filters('wpinv_accepted_payment_' . $card . '_image', '');
982 982
 					} else {
983
-						$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
983
+						$image       = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false);
984 984
 						$content_dir = WP_CONTENT_DIR;
985 985
 
986
-						if ( function_exists( 'wp_normalize_path' ) ) {
986
+						if (function_exists('wp_normalize_path')) {
987 987
 							// Replaces backslashes with forward slashes for Windows systems
988
-							$image = wp_normalize_path( $image );
989
-							$content_dir = wp_normalize_path( $content_dir );
988
+							$image = wp_normalize_path($image);
989
+							$content_dir = wp_normalize_path($content_dir);
990 990
 						}
991 991
 
992
-						$image = str_replace( $content_dir, content_url(), $image );
992
+						$image = str_replace($content_dir, content_url(), $image);
993 993
 					}
994 994
 
995
-					echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
995
+					echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
996 996
 				}
997 997
 			echo $option . '</label>';
998 998
 		}
999
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
999
+		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>';
1000 1000
 	}
1001 1001
 }
1002 1002
 
1003
-function wpinv_radio_callback( $args ) {
1003
+function wpinv_radio_callback($args) {
1004 1004
 	global $wpinv_options;
1005 1005
     
1006
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1006
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1007 1007
     
1008
-    foreach ( $args['options'] as $key => $option ) :
1009
-		$sanitize_key = wpinv_sanitize_key( $key );
1008
+    foreach ($args['options'] as $key => $option) :
1009
+		$sanitize_key = wpinv_sanitize_key($key);
1010 1010
         
1011 1011
         $checked = false;
1012 1012
 
1013
-		if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key )
1013
+		if (isset($wpinv_options[$args['id']]) && $wpinv_options[$args['id']] == $key)
1014 1014
 			$checked = true;
1015
-		elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) )
1015
+		elseif (isset($args['std']) && $args['std'] == $key && !isset($wpinv_options[$args['id']]))
1016 1016
 			$checked = true;
1017 1017
 
1018 1018
 		echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/>&nbsp;';
1019
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>';
1019
+		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option) . '</label><br/>';
1020 1020
 	endforeach;
1021 1021
 
1022
-	echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
1022
+	echo '<p class="description">' . wp_kses_post($args['desc']) . '</p>';
1023 1023
 }
1024 1024
 
1025
-function wpinv_gateways_callback( $args ) {
1025
+function wpinv_gateways_callback($args) {
1026 1026
 	global $wpinv_options;
1027 1027
     
1028
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1028
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1029 1029
 
1030
-	foreach ( $args['options'] as $key => $option ) :
1031
-		$sanitize_key = wpinv_sanitize_key( $key );
1030
+	foreach ($args['options'] as $key => $option) :
1031
+		$sanitize_key = wpinv_sanitize_key($key);
1032 1032
         
1033
-        if ( isset( $wpinv_options['gateways'][ $key ] ) )
1033
+        if (isset($wpinv_options['gateways'][$key]))
1034 1034
 			$enabled = '1';
1035 1035
 		else
1036 1036
 			$enabled = null;
1037 1037
 
1038
-		echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/>&nbsp;';
1039
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>';
1038
+		echo '<input name="wpinv_settings[' . esc_attr($args['id']) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/>&nbsp;';
1039
+		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option['admin_label']) . '</label><br/>';
1040 1040
 	endforeach;
1041 1041
 }
1042 1042
 
1043 1043
 function wpinv_gateway_select_callback($args) {
1044 1044
 	global $wpinv_options;
1045 1045
     
1046
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1046
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1047 1047
 
1048 1048
 	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']">';
1049 1049
 
1050
-	foreach ( $args['options'] as $key => $option ) :
1051
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1052
-            $selected = selected( $key, $args['selected'], false );
1050
+	foreach ($args['options'] as $key => $option) :
1051
+		if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) {
1052
+            $selected = selected($key, $args['selected'], false);
1053 1053
         } else {
1054
-            $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : '';
1054
+            $selected = isset($wpinv_options[$args['id']]) ? selected($key, $wpinv_options[$args['id']], false) : '';
1055 1055
         }
1056
-		echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
1056
+		echo '<option value="' . wpinv_sanitize_key($key) . '"' . $selected . '>' . esc_html($option['admin_label']) . '</option>';
1057 1057
 	endforeach;
1058 1058
 
1059 1059
 	echo '</select>';
1060
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1060
+	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1061 1061
 }
1062 1062
 
1063
-function wpinv_text_callback( $args ) {
1063
+function wpinv_text_callback($args) {
1064 1064
 	global $wpinv_options;
1065 1065
     
1066
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1066
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1067 1067
 
1068
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1069
-		$value = $wpinv_options[ $args['id'] ];
1068
+	if (isset($wpinv_options[$args['id']])) {
1069
+		$value = $wpinv_options[$args['id']];
1070 1070
 	} else {
1071
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1071
+		$value = isset($args['std']) ? $args['std'] : '';
1072 1072
 	}
1073 1073
 
1074
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1074
+	if (isset($args['faux']) && true === $args['faux']) {
1075 1075
 		$args['readonly'] = true;
1076
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1076
+		$value = isset($args['std']) ? $args['std'] : '';
1077 1077
 		$name  = '';
1078 1078
 	} else {
1079
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1079
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
1080 1080
 	}
1081
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1081
+	$class = !empty($args['class']) ? sanitize_html_class($args['class']) : '';
1082 1082
 
1083 1083
 	$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
1084
-	$size     = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1085
-	$html     = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>';
1086
-	$html    .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1084
+	$size     = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1085
+	$html     = '<input type="text" class="' . sanitize_html_class($size) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '"' . $readonly . '/>';
1086
+	$html    .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1087 1087
 
1088 1088
 	echo $html;
1089 1089
 }
1090 1090
 
1091
-function wpinv_number_callback( $args ) {
1091
+function wpinv_number_callback($args) {
1092 1092
 	global $wpinv_options;
1093 1093
     
1094
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1094
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1095 1095
 
1096
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1097
-		$value = $wpinv_options[ $args['id'] ];
1096
+	if (isset($wpinv_options[$args['id']])) {
1097
+		$value = $wpinv_options[$args['id']];
1098 1098
 	} else {
1099
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1099
+		$value = isset($args['std']) ? $args['std'] : '';
1100 1100
 	}
1101 1101
 
1102
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1102
+	if (isset($args['faux']) && true === $args['faux']) {
1103 1103
 		$args['readonly'] = true;
1104
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1104
+		$value = isset($args['std']) ? $args['std'] : '';
1105 1105
 		$name  = '';
1106 1106
 	} else {
1107
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1107
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
1108 1108
 	}
1109 1109
 
1110
-	$max  = isset( $args['max'] ) ? $args['max'] : 999999;
1111
-	$min  = isset( $args['min'] ) ? $args['min'] : 0;
1112
-	$step = isset( $args['step'] ) ? $args['step'] : 1;
1113
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1110
+	$max  = isset($args['max']) ? $args['max'] : 999999;
1111
+	$min  = isset($args['min']) ? $args['min'] : 0;
1112
+	$step = isset($args['step']) ? $args['step'] : 1;
1113
+	$class = !empty($args['class']) ? sanitize_html_class($args['class']) : '';
1114 1114
 
1115
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1116
-	$html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1117
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1115
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1116
+	$html = '<input type="number" step="' . esc_attr($step) . '" max="' . esc_attr($max) . '" min="' . esc_attr($min) . '" class="' . sanitize_html_class($size) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '"/>';
1117
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1118 1118
 
1119 1119
 	echo $html;
1120 1120
 }
1121 1121
 
1122
-function wpinv_textarea_callback( $args ) {
1122
+function wpinv_textarea_callback($args) {
1123 1123
 	global $wpinv_options;
1124 1124
     
1125
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1125
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1126 1126
 
1127
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1128
-		$value = $wpinv_options[ $args['id'] ];
1127
+	if (isset($wpinv_options[$args['id']])) {
1128
+		$value = $wpinv_options[$args['id']];
1129 1129
 	} else {
1130
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1130
+		$value = isset($args['std']) ? $args['std'] : '';
1131 1131
 	}
1132 1132
     
1133
-    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1134
-    $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
1133
+    $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1134
+    $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text';
1135 1135
 
1136
-	$html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1137
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1136
+	$html = '<textarea class="' . sanitize_html_class($class) . ' txtarea-' . sanitize_html_class($size) . ' wpi-' . esc_attr(sanitize_html_class($sanitize_id)) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']">' . esc_textarea(stripslashes($value)) . '</textarea>';
1137
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1138 1138
 
1139 1139
 	echo $html;
1140 1140
 }
1141 1141
 
1142
-function wpinv_password_callback( $args ) {
1142
+function wpinv_password_callback($args) {
1143 1143
 	global $wpinv_options;
1144 1144
     
1145
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1145
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1146 1146
 
1147
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1148
-		$value = $wpinv_options[ $args['id'] ];
1147
+	if (isset($wpinv_options[$args['id']])) {
1148
+		$value = $wpinv_options[$args['id']];
1149 1149
 	} else {
1150
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1150
+		$value = isset($args['std']) ? $args['std'] : '';
1151 1151
 	}
1152 1152
 
1153
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1154
-	$html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
1155
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1153
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1154
+	$html = '<input type="password" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '"/>';
1155
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1156 1156
 
1157 1157
 	echo $html;
1158 1158
 }
1159 1159
 
1160 1160
 function wpinv_missing_callback($args) {
1161 1161
 	printf(
1162
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
1162
+		__('The callback function used for the %s setting is missing.', 'invoicing'),
1163 1163
 		'<strong>' . $args['id'] . '</strong>'
1164 1164
 	);
1165 1165
 }
@@ -1167,131 +1167,131 @@  discard block
 block discarded – undo
1167 1167
 function wpinv_select_callback($args) {
1168 1168
 	global $wpinv_options;
1169 1169
     
1170
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1170
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1171 1171
 
1172
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1173
-		$value = $wpinv_options[ $args['id'] ];
1172
+	if (isset($wpinv_options[$args['id']])) {
1173
+		$value = $wpinv_options[$args['id']];
1174 1174
 	} else {
1175
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1175
+		$value = isset($args['std']) ? $args['std'] : '';
1176 1176
 	}
1177 1177
     
1178
-    if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1178
+    if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) {
1179 1179
         $value = $args['selected'];
1180 1180
     }
1181 1181
 
1182
-	if ( isset( $args['placeholder'] ) ) {
1182
+	if (isset($args['placeholder'])) {
1183 1183
 		$placeholder = $args['placeholder'];
1184 1184
 	} else {
1185 1185
 		$placeholder = '';
1186 1186
 	}
1187 1187
     
1188
-    if( !empty( $args['onchange'] ) ) {
1189
-        $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
1188
+    if (!empty($args['onchange'])) {
1189
+        $onchange = ' onchange="' . esc_attr($args['onchange']) . '"';
1190 1190
     } else {
1191 1191
         $onchange = '';
1192 1192
     }
1193 1193
 
1194
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />';
1194
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" data-placeholder="' . esc_html($placeholder) . '"' . $onchange . ' />';
1195 1195
 
1196
-	foreach ( $args['options'] as $option => $name ) {
1197
-		$selected = selected( $option, $value, false );
1198
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1196
+	foreach ($args['options'] as $option => $name) {
1197
+		$selected = selected($option, $value, false);
1198
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>';
1199 1199
 	}
1200 1200
 
1201 1201
 	$html .= '</select>';
1202
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1202
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1203 1203
 
1204 1204
 	echo $html;
1205 1205
 }
1206 1206
 
1207
-function wpinv_color_select_callback( $args ) {
1207
+function wpinv_color_select_callback($args) {
1208 1208
 	global $wpinv_options;
1209 1209
     
1210
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1210
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1211 1211
 
1212
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1213
-		$value = $wpinv_options[ $args['id'] ];
1212
+	if (isset($wpinv_options[$args['id']])) {
1213
+		$value = $wpinv_options[$args['id']];
1214 1214
 	} else {
1215
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1215
+		$value = isset($args['std']) ? $args['std'] : '';
1216 1216
 	}
1217 1217
 
1218
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
1218
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>';
1219 1219
 
1220
-	foreach ( $args['options'] as $option => $color ) {
1221
-		$selected = selected( $option, $value, false );
1222
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
1220
+	foreach ($args['options'] as $option => $color) {
1221
+		$selected = selected($option, $value, false);
1222
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($color['label']) . '</option>';
1223 1223
 	}
1224 1224
 
1225 1225
 	$html .= '</select>';
1226
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1226
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1227 1227
 
1228 1228
 	echo $html;
1229 1229
 }
1230 1230
 
1231
-function wpinv_rich_editor_callback( $args ) {
1231
+function wpinv_rich_editor_callback($args) {
1232 1232
 	global $wpinv_options, $wp_version;
1233 1233
     
1234
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1234
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1235 1235
 
1236
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1237
-		$value = $wpinv_options[ $args['id'] ];
1236
+	if (isset($wpinv_options[$args['id']])) {
1237
+		$value = $wpinv_options[$args['id']];
1238 1238
 
1239
-		if( empty( $args['allow_blank'] ) && empty( $value ) ) {
1240
-			$value = isset( $args['std'] ) ? $args['std'] : '';
1239
+		if (empty($args['allow_blank']) && empty($value)) {
1240
+			$value = isset($args['std']) ? $args['std'] : '';
1241 1241
 		}
1242 1242
 	} else {
1243
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1243
+		$value = isset($args['std']) ? $args['std'] : '';
1244 1244
 	}
1245 1245
 
1246
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
1246
+	$rows = isset($args['size']) ? $args['size'] : 20;
1247 1247
 
1248
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
1248
+	if ($wp_version >= 3.3 && function_exists('wp_editor')) {
1249 1249
 		ob_start();
1250
-		wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ) ) );
1250
+		wp_editor(stripslashes($value), 'wpinv_settings_' . esc_attr($args['id']), array('textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']', 'textarea_rows' => absint($rows)));
1251 1251
 		$html = ob_get_clean();
1252 1252
 	} else {
1253
-		$html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1253
+		$html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="wpi-' . esc_attr(sanitize_html_class($args['id'])) . '">' . esc_textarea(stripslashes($value)) . '</textarea>';
1254 1254
 	}
1255 1255
 
1256
-	$html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1256
+	$html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1257 1257
 
1258 1258
 	echo $html;
1259 1259
 }
1260 1260
 
1261
-function wpinv_upload_callback( $args ) {
1261
+function wpinv_upload_callback($args) {
1262 1262
 	global $wpinv_options;
1263 1263
     
1264
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1264
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1265 1265
 
1266
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1266
+	if (isset($wpinv_options[$args['id']])) {
1267 1267
 		$value = $wpinv_options[$args['id']];
1268 1268
 	} else {
1269 1269
 		$value = isset($args['std']) ? $args['std'] : '';
1270 1270
 	}
1271 1271
 
1272
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1273
-	$html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1274
-	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
1275
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1272
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1273
+	$html = '<input type="text" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr(stripslashes($value)) . '"/>';
1274
+	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __('Upload File', 'invoicing') . '"/></span>';
1275
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1276 1276
 
1277 1277
 	echo $html;
1278 1278
 }
1279 1279
 
1280
-function wpinv_color_callback( $args ) {
1280
+function wpinv_color_callback($args) {
1281 1281
 	global $wpinv_options;
1282 1282
     
1283
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1283
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1284 1284
 
1285
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1286
-		$value = $wpinv_options[ $args['id'] ];
1285
+	if (isset($wpinv_options[$args['id']])) {
1286
+		$value = $wpinv_options[$args['id']];
1287 1287
 	} else {
1288
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1288
+		$value = isset($args['std']) ? $args['std'] : '';
1289 1289
 	}
1290 1290
 
1291
-	$default = isset( $args['std'] ) ? $args['std'] : '';
1291
+	$default = isset($args['std']) ? $args['std'] : '';
1292 1292
 
1293
-	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />';
1294
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1293
+	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '" data-default-color="' . esc_attr($default) . '" />';
1294
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1295 1295
 
1296 1296
 	echo $html;
1297 1297
 }
@@ -1299,9 +1299,9 @@  discard block
 block discarded – undo
1299 1299
 function wpinv_country_states_callback($args) {
1300 1300
 	global $wpinv_options;
1301 1301
     
1302
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1302
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1303 1303
 
1304
-	if ( isset( $args['placeholder'] ) ) {
1304
+	if (isset($args['placeholder'])) {
1305 1305
 		$placeholder = $args['placeholder'];
1306 1306
 	} else {
1307 1307
 		$placeholder = '';
@@ -1309,16 +1309,16 @@  discard block
 block discarded – undo
1309 1309
 
1310 1310
 	$states = wpinv_get_country_states();
1311 1311
 
1312
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : '';
1313
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
1312
+	$class = empty($states) ? ' class="wpinv-no-states"' : '';
1313
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"' . $class . 'data-placeholder="' . esc_html($placeholder) . '"/>';
1314 1314
 
1315
-	foreach ( $states as $option => $name ) {
1316
-		$selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
1317
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1315
+	foreach ($states as $option => $name) {
1316
+		$selected = isset($wpinv_options[$args['id']]) ? selected($option, $wpinv_options[$args['id']], false) : '';
1317
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>';
1318 1318
 	}
1319 1319
 
1320 1320
 	$html .= '</select>';
1321
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1321
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1322 1322
 
1323 1323
 	echo $html;
1324 1324
 }
@@ -1333,95 +1333,95 @@  discard block
 block discarded – undo
1333 1333
 	<table id="wpinv_tax_rates" class="wp-list-table widefat fixed posts">
1334 1334
 		<thead>
1335 1335
 			<tr>
1336
-				<th scope="col" class="wpinv_tax_country"><?php _e( 'Country', 'invoicing' ); ?></th>
1337
-				<th scope="col" class="wpinv_tax_state"><?php _e( 'State / Province', 'invoicing' ); ?></th>
1338
-                <th scope="col" class="wpinv_tax_global" title="<?php esc_attr_e( 'Apply rate to whole country, regardless of state / province', 'invoicing' ); ?>"><?php _e( 'Country Wide', 'invoicing' ); ?></th>
1339
-                <th scope="col" class="wpinv_tax_rate"><?php _e( 'Rate %', 'invoicing' ); ?></th> 
1340
-                <th scope="col" class="wpinv_tax_name"><?php _e( 'Tax Name', 'invoicing' ); ?></th>
1341
-				<th scope="col" class="wpinv_tax_action"><?php _e( 'Remove', 'invoicing' ); ?></th>
1336
+				<th scope="col" class="wpinv_tax_country"><?php _e('Country', 'invoicing'); ?></th>
1337
+				<th scope="col" class="wpinv_tax_state"><?php _e('State / Province', 'invoicing'); ?></th>
1338
+                <th scope="col" class="wpinv_tax_global" title="<?php esc_attr_e('Apply rate to whole country, regardless of state / province', 'invoicing'); ?>"><?php _e('Country Wide', 'invoicing'); ?></th>
1339
+                <th scope="col" class="wpinv_tax_rate"><?php _e('Rate %', 'invoicing'); ?></th> 
1340
+                <th scope="col" class="wpinv_tax_name"><?php _e('Tax Name', 'invoicing'); ?></th>
1341
+				<th scope="col" class="wpinv_tax_action"><?php _e('Remove', 'invoicing'); ?></th>
1342 1342
 			</tr>
1343 1343
 		</thead>
1344 1344
         <tbody>
1345
-		<?php if( !empty( $rates ) ) : ?>
1346
-			<?php foreach( $rates as $key => $rate ) : ?>
1345
+		<?php if (!empty($rates)) : ?>
1346
+			<?php foreach ($rates as $key => $rate) : ?>
1347 1347
             <?php 
1348
-            $sanitized_key = wpinv_sanitize_key( $key );
1348
+            $sanitized_key = wpinv_sanitize_key($key);
1349 1349
             ?>
1350 1350
 			<tr>
1351 1351
 				<td class="wpinv_tax_country">
1352 1352
 					<?php
1353
-					echo wpinv_html_select( array(
1354
-						'options'          => wpinv_get_country_list( true ),
1353
+					echo wpinv_html_select(array(
1354
+						'options'          => wpinv_get_country_list(true),
1355 1355
 						'name'             => 'tax_rates[' . $sanitized_key . '][country]',
1356 1356
                         'id'               => 'tax_rates[' . $sanitized_key . '][country]',
1357 1357
 						'selected'         => $rate['country'],
1358 1358
 						'show_option_all'  => false,
1359 1359
 						'show_option_none' => false,
1360 1360
 						'class'            => 'wpinv-tax-country',
1361
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
1362
-					) );
1361
+						'placeholder'      => __('Choose a country', 'invoicing')
1362
+					));
1363 1363
 					?>
1364 1364
 				</td>
1365 1365
 				<td class="wpinv_tax_state">
1366 1366
 					<?php
1367
-					$states = wpinv_get_country_states( $rate['country'] );
1368
-					if( !empty( $states ) ) {
1369
-						echo wpinv_html_select( array(
1370
-							'options'          => array_merge( array( '' => '' ), $states ),
1367
+					$states = wpinv_get_country_states($rate['country']);
1368
+					if (!empty($states)) {
1369
+						echo wpinv_html_select(array(
1370
+							'options'          => array_merge(array('' => ''), $states),
1371 1371
 							'name'             => 'tax_rates[' . $sanitized_key . '][state]',
1372 1372
                             'id'               => 'tax_rates[' . $sanitized_key . '][state]',
1373 1373
 							'selected'         => $rate['state'],
1374 1374
 							'show_option_all'  => false,
1375 1375
 							'show_option_none' => false,
1376
-							'placeholder'      => __( 'Choose a state', 'invoicing' )
1377
-						) );
1376
+							'placeholder'      => __('Choose a state', 'invoicing')
1377
+						));
1378 1378
 					} else {
1379
-						echo wpinv_html_text( array(
1379
+						echo wpinv_html_text(array(
1380 1380
 							'name'  => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'],
1381
-							'value' => ! empty( $rate['state'] ) ? $rate['state'] : '',
1381
+							'value' => !empty($rate['state']) ? $rate['state'] : '',
1382 1382
                             'id'    => 'tax_rates[' . $sanitized_key . '][state]',
1383
-						) );
1383
+						));
1384 1384
 					}
1385 1385
 					?>
1386 1386
 				</td>
1387 1387
 				<td class="wpinv_tax_global">
1388
-					<input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked( true, ! empty( $rate['global'] ) ); ?>/>
1389
-					<label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label>
1388
+					<input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked(true, !empty($rate['global'])); ?>/>
1389
+					<label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label>
1390 1390
 				</td>
1391
-				<td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[<?php echo $sanitized_key; ?>][rate]" value="<?php echo esc_html( $rate['rate'] ); ?>"/></td>
1392
-                <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[<?php echo $sanitized_key; ?>][name]" value="<?php echo esc_html( $rate['name'] ); ?>"/></td>
1393
-				<td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td>
1391
+				<td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[<?php echo $sanitized_key; ?>][rate]" value="<?php echo esc_html($rate['rate']); ?>"/></td>
1392
+                <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[<?php echo $sanitized_key; ?>][name]" value="<?php echo esc_html($rate['name']); ?>"/></td>
1393
+				<td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td>
1394 1394
 			</tr>
1395 1395
 			<?php endforeach; ?>
1396 1396
 		<?php else : ?>
1397 1397
 			<tr>
1398 1398
 				<td class="wpinv_tax_country">
1399 1399
 					<?php
1400
-					echo wpinv_html_select( array(
1401
-						'options'          => wpinv_get_country_list( true ),
1400
+					echo wpinv_html_select(array(
1401
+						'options'          => wpinv_get_country_list(true),
1402 1402
 						'name'             => 'tax_rates[0][country]',
1403 1403
 						'show_option_all'  => false,
1404 1404
 						'show_option_none' => false,
1405 1405
 						'class'            => 'wpinv-tax-country',
1406
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
1407
-					) ); ?>
1406
+						'placeholder'      => __('Choose a country', 'invoicing')
1407
+					)); ?>
1408 1408
 				</td>
1409 1409
 				<td class="wpinv_tax_state">
1410
-					<?php echo wpinv_html_text( array(
1410
+					<?php echo wpinv_html_text(array(
1411 1411
 						'name' => 'tax_rates[0][state]'
1412
-					) ); ?>
1412
+					)); ?>
1413 1413
 				</td>
1414 1414
 				<td class="wpinv_tax_global">
1415 1415
 					<input type="checkbox" name="tax_rates[0][global]" id="tax_rates[0][global]" value="1"/>
1416
-					<label for="tax_rates[0][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label>
1416
+					<label for="tax_rates[0][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label>
1417 1417
 				</td>
1418
-				<td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[0][rate]" placeholder="<?php echo (float)wpinv_get_option( 'tax_rate', 0 ) ;?>" value="<?php echo (float)wpinv_get_option( 'tax_rate', 0 ) ;?>"/></td>
1418
+				<td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[0][rate]" placeholder="<?php echo (float)wpinv_get_option('tax_rate', 0); ?>" value="<?php echo (float)wpinv_get_option('tax_rate', 0); ?>"/></td>
1419 1419
                 <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[0][name]" /></td>
1420
-				<td><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td>
1420
+				<td><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td>
1421 1421
 			</tr>
1422 1422
 		<?php endif; ?>
1423 1423
         </tbody>
1424
-        <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e( 'Add Tax Rate', 'invoicing' ); ?></span></td></tr></tfoot>
1424
+        <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e('Add Tax Rate', 'invoicing'); ?></span></td></tr></tfoot>
1425 1425
 	</table>
1426 1426
 	<?php
1427 1427
 	echo ob_get_clean();
@@ -1432,54 +1432,54 @@  discard block
 block discarded – undo
1432 1432
     ob_start(); ?>
1433 1433
     </td><tr>
1434 1434
     <td colspan="2" class="wpinv_tools_tdbox">
1435
-    <?php if ( $args['desc'] ) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
1436
-    <?php do_action( 'wpinv_tools_before' ); ?>
1435
+    <?php if ($args['desc']) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
1436
+    <?php do_action('wpinv_tools_before'); ?>
1437 1437
     <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts">
1438 1438
         <thead>
1439 1439
             <tr>
1440
-                <th scope="col" class="wpinv-th-tool"><?php _e( 'Tool', 'invoicing' ); ?></th>
1441
-                <th scope="col" class="wpinv-th-desc"><?php _e( 'Description', 'invoicing' ); ?></th>
1442
-                <th scope="col" class="wpinv-th-action"><?php _e( 'Action', 'invoicing' ); ?></th>
1440
+                <th scope="col" class="wpinv-th-tool"><?php _e('Tool', 'invoicing'); ?></th>
1441
+                <th scope="col" class="wpinv-th-desc"><?php _e('Description', 'invoicing'); ?></th>
1442
+                <th scope="col" class="wpinv-th-action"><?php _e('Action', 'invoicing'); ?></th>
1443 1443
             </tr>
1444 1444
         </thead>
1445
-            <?php do_action( 'wpinv_tools_row' ); ?>
1445
+            <?php do_action('wpinv_tools_row'); ?>
1446 1446
         <tbody>
1447 1447
         </tbody>
1448 1448
     </table>
1449
-    <?php do_action( 'wpinv_tools_after' ); ?>
1449
+    <?php do_action('wpinv_tools_after'); ?>
1450 1450
     <?php
1451 1451
     echo ob_get_clean();
1452 1452
 }
1453 1453
 
1454
-function wpinv_descriptive_text_callback( $args ) {
1455
-	echo wp_kses_post( $args['desc'] );
1454
+function wpinv_descriptive_text_callback($args) {
1455
+	echo wp_kses_post($args['desc']);
1456 1456
 }
1457 1457
 
1458
-function wpinv_hook_callback( $args ) {
1459
-	do_action( 'wpinv_' . $args['id'], $args );
1458
+function wpinv_hook_callback($args) {
1459
+	do_action('wpinv_' . $args['id'], $args);
1460 1460
 }
1461 1461
 
1462 1462
 function wpinv_set_settings_cap() {
1463 1463
 	return 'manage_options';
1464 1464
 }
1465
-add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1465
+add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap');
1466 1466
 
1467
-function wpinv_settings_sanitize_input( $value, $key ) {
1468
-    if ( $key == 'tax_rate' || $key == 'eu_fallback_rate' ) {
1469
-        $value = wpinv_sanitize_amount( $value, 4 );
1467
+function wpinv_settings_sanitize_input($value, $key) {
1468
+    if ($key == 'tax_rate' || $key == 'eu_fallback_rate') {
1469
+        $value = wpinv_sanitize_amount($value, 4);
1470 1470
         $value = $value >= 100 ? 99 : $value;
1471 1471
     }
1472 1472
         
1473 1473
     return $value;
1474 1474
 }
1475
-add_filter( 'wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2 );
1475
+add_filter('wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2);
1476 1476
 
1477
-function wpinv_on_update_settings( $old_value, $value, $option ) {
1478
-    $old = !empty( $old_value['remove_data_on_unistall'] ) ? 1 : '';
1479
-    $new = !empty( $value['remove_data_on_unistall'] ) ? 1 : '';
1477
+function wpinv_on_update_settings($old_value, $value, $option) {
1478
+    $old = !empty($old_value['remove_data_on_unistall']) ? 1 : '';
1479
+    $new = !empty($value['remove_data_on_unistall']) ? 1 : '';
1480 1480
     
1481
-    if ( $old != $new ) {
1482
-        update_option( 'wpinv_remove_data_on_invoice_unistall', $new );
1481
+    if ($old != $new) {
1482
+        update_option('wpinv_remove_data_on_invoice_unistall', $new);
1483 1483
     }
1484 1484
 }
1485
-add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 );
1486 1485
\ No newline at end of file
1486
+add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3);
1487 1487
\ No newline at end of file
Please login to merge, or discard this patch.
Braces   +15 added lines, -10 removed lines patch added patch discarded remove patch
@@ -1010,10 +1010,11 @@  discard block
 block discarded – undo
1010 1010
         
1011 1011
         $checked = false;
1012 1012
 
1013
-		if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key )
1014
-			$checked = true;
1015
-		elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) )
1016
-			$checked = true;
1013
+		if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key ) {
1014
+					$checked = true;
1015
+		} elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) ) {
1016
+					$checked = true;
1017
+		}
1017 1018
 
1018 1019
 		echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/>&nbsp;';
1019 1020
 		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>';
@@ -1030,10 +1031,11 @@  discard block
 block discarded – undo
1030 1031
 	foreach ( $args['options'] as $key => $option ) :
1031 1032
 		$sanitize_key = wpinv_sanitize_key( $key );
1032 1033
         
1033
-        if ( isset( $wpinv_options['gateways'][ $key ] ) )
1034
-			$enabled = '1';
1035
-		else
1036
-			$enabled = null;
1034
+        if ( isset( $wpinv_options['gateways'][ $key ] ) ) {
1035
+        			$enabled = '1';
1036
+        } else {
1037
+					$enabled = null;
1038
+		}
1037 1039
 
1038 1040
 		echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/>&nbsp;';
1039 1041
 		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>';
@@ -1393,7 +1395,8 @@  discard block
 block discarded – undo
1393 1395
 				<td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td>
1394 1396
 			</tr>
1395 1397
 			<?php endforeach; ?>
1396
-		<?php else : ?>
1398
+		<?php else {
1399
+    : ?>
1397 1400
 			<tr>
1398 1401
 				<td class="wpinv_tax_country">
1399 1402
 					<?php
@@ -1404,7 +1407,9 @@  discard block
 block discarded – undo
1404 1407
 						'show_option_none' => false,
1405 1408
 						'class'            => 'wpinv-tax-country',
1406 1409
 						'placeholder'      => __( 'Choose a country', 'invoicing' )
1407
-					) ); ?>
1410
+					) );
1411
+}
1412
+?>
1408 1413
 				</td>
1409 1414
 				<td class="wpinv_tax_state">
1410 1415
 					<?php echo wpinv_html_text( array(
Please login to merge, or discard this patch.
includes/wpinv-template-functions.php 1 patch
Spacing   +686 added lines, -686 removed lines patch added patch discarded remove patch
@@ -7,91 +7,91 @@  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
-if ( !is_admin() ) {
15
-    add_filter( 'template_include', 'wpinv_template', 10, 1 );
16
-    add_action( 'wpinv_invoice_print_body_start', 'wpinv_display_invoice_top_bar' );
17
-    add_action( 'wpinv_invoice_top_bar_left', 'wpinv_invoice_display_left_actions' );
18
-    add_action( 'wpinv_invoice_top_bar_right', 'wpinv_invoice_display_right_actions' );
14
+if (!is_admin()) {
15
+    add_filter('template_include', 'wpinv_template', 10, 1);
16
+    add_action('wpinv_invoice_print_body_start', 'wpinv_display_invoice_top_bar');
17
+    add_action('wpinv_invoice_top_bar_left', 'wpinv_invoice_display_left_actions');
18
+    add_action('wpinv_invoice_top_bar_right', 'wpinv_invoice_display_right_actions');
19 19
 }
20 20
 
21 21
 function wpinv_template_path() {
22
-    return apply_filters( 'wpinv_template_path', wpinv_get_theme_template_dir_name() );
22
+    return apply_filters('wpinv_template_path', wpinv_get_theme_template_dir_name());
23 23
 }
24 24
 
25
-function wpinv_display_invoice_top_bar( $invoice ) {
26
-    if ( empty( $invoice ) ) {
25
+function wpinv_display_invoice_top_bar($invoice) {
26
+    if (empty($invoice)) {
27 27
         return;
28 28
     }
29 29
     ?>
30 30
     <div class="row wpinv-top-bar no-print">
31 31
         <div class="container">
32 32
             <div class="col-xs-6">
33
-                <?php do_action( 'wpinv_invoice_top_bar_left', $invoice );?>
33
+                <?php do_action('wpinv_invoice_top_bar_left', $invoice); ?>
34 34
             </div>
35 35
             <div class="col-xs-6 text-right">
36
-                <?php do_action( 'wpinv_invoice_top_bar_right', $invoice );?>
36
+                <?php do_action('wpinv_invoice_top_bar_right', $invoice); ?>
37 37
             </div>
38 38
         </div>
39 39
     </div>
40 40
     <?php
41 41
 }
42 42
 
43
-function wpinv_invoice_display_left_actions( $invoice ) {
44
-    if ( empty( $invoice ) ) {
43
+function wpinv_invoice_display_left_actions($invoice) {
44
+    if (empty($invoice)) {
45 45
         return; // Exit if invoice is not set.
46 46
     }
47 47
     
48
-    if ( $invoice->post_type == 'wpi_invoice' ) {
49
-        if ( $invoice->needs_payment() ) {
50
-            ?> <a class="btn btn-success btn-sm" title="<?php esc_attr_e( 'Pay This Invoice', 'invoicing' ); ?>" href="<?php echo esc_url( $invoice->get_checkout_payment_url() ); ?>"><?php _e( 'Pay For Invoice', 'invoicing' ); ?></a><?php
48
+    if ($invoice->post_type == 'wpi_invoice') {
49
+        if ($invoice->needs_payment()) {
50
+            ?> <a class="btn btn-success btn-sm" title="<?php esc_attr_e('Pay This Invoice', 'invoicing'); ?>" href="<?php echo esc_url($invoice->get_checkout_payment_url()); ?>"><?php _e('Pay For Invoice', 'invoicing'); ?></a><?php
51 51
         }
52 52
     }
53 53
     do_action('wpinv_invoice_display_left_actions', $invoice);
54 54
 }
55 55
 
56
-function wpinv_invoice_display_right_actions( $invoice ) {
57
-    if ( empty( $invoice ) ) {
56
+function wpinv_invoice_display_right_actions($invoice) {
57
+    if (empty($invoice)) {
58 58
         return; // Exit if invoice is not set.
59 59
     }
60 60
 
61
-    if ( $invoice->post_type == 'wpi_invoice' ) { ?>
62
-        <a class="btn btn-primary btn-sm" onclick="window.print();" href="javascript:void(0)"><?php _e( 'Print Invoice', 'invoicing' ); ?></a>
63
-        <?php if ( is_user_logged_in() ) { ?>
64
-        &nbsp;&nbsp;<a class="btn btn-warning btn-sm" href="<?php echo esc_url( wpinv_get_history_page_uri() ); ?>"><?php _e( 'Invoice History', 'invoicing' ); ?></a>
61
+    if ($invoice->post_type == 'wpi_invoice') { ?>
62
+        <a class="btn btn-primary btn-sm" onclick="window.print();" href="javascript:void(0)"><?php _e('Print Invoice', 'invoicing'); ?></a>
63
+        <?php if (is_user_logged_in()) { ?>
64
+        &nbsp;&nbsp;<a class="btn btn-warning btn-sm" href="<?php echo esc_url(wpinv_get_history_page_uri()); ?>"><?php _e('Invoice History', 'invoicing'); ?></a>
65 65
         <?php }
66 66
     }
67 67
     do_action('wpinv_invoice_display_right_actions', $invoice);
68 68
 }
69 69
 
70
-function wpinv_before_invoice_content( $content ) {
70
+function wpinv_before_invoice_content($content) {
71 71
     global $post;
72 72
 
73
-    if ( !empty( $post ) && $post->post_type == 'wpi_invoice' && is_singular( 'wpi_invoice' ) && is_main_query() ) {
73
+    if (!empty($post) && $post->post_type == 'wpi_invoice' && is_singular('wpi_invoice') && is_main_query()) {
74 74
         ob_start();
75
-        do_action( 'wpinv_before_invoice_content', $post->ID );
75
+        do_action('wpinv_before_invoice_content', $post->ID);
76 76
         $content = ob_get_clean() . $content;
77 77
     }
78 78
 
79 79
     return $content;
80 80
 }
81
-add_filter( 'the_content', 'wpinv_before_invoice_content' );
81
+add_filter('the_content', 'wpinv_before_invoice_content');
82 82
 
83
-function wpinv_after_invoice_content( $content ) {
83
+function wpinv_after_invoice_content($content) {
84 84
     global $post;
85 85
 
86
-    if ( !empty( $post ) && $post->post_type == 'wpi_invoice' && is_singular( 'wpi_invoice' ) && is_main_query() ) {
86
+    if (!empty($post) && $post->post_type == 'wpi_invoice' && is_singular('wpi_invoice') && is_main_query()) {
87 87
         ob_start();
88
-        do_action( 'wpinv_after_invoice_content', $post->ID );
88
+        do_action('wpinv_after_invoice_content', $post->ID);
89 89
         $content .= ob_get_clean();
90 90
     }
91 91
 
92 92
     return $content;
93 93
 }
94
-add_filter( 'the_content', 'wpinv_after_invoice_content' );
94
+add_filter('the_content', 'wpinv_after_invoice_content');
95 95
 
96 96
 function wpinv_get_templates_dir() {
97 97
     return WPINV_PLUGIN_DIR . 'templates';
@@ -101,105 +101,105 @@  discard block
 block discarded – undo
101 101
     return WPINV_PLUGIN_URL . 'templates';
102 102
 }
103 103
 
104
-function wpinv_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
105
-    if ( ! empty( $args ) && is_array( $args ) ) {
106
-		extract( $args );
104
+function wpinv_get_template($template_name, $args = array(), $template_path = '', $default_path = '') {
105
+    if (!empty($args) && is_array($args)) {
106
+		extract($args);
107 107
 	}
108 108
 
109
-	$located = wpinv_locate_template( $template_name, $template_path, $default_path );
109
+	$located = wpinv_locate_template($template_name, $template_path, $default_path);
110 110
 	// Allow 3rd party plugin filter template file from their plugin.
111
-	$located = apply_filters( 'wpinv_get_template', $located, $template_name, $args, $template_path, $default_path );
111
+	$located = apply_filters('wpinv_get_template', $located, $template_name, $args, $template_path, $default_path);
112 112
 
113
-	if ( ! file_exists( $located ) ) {
114
-        _doing_it_wrong( __FUNCTION__, sprintf( '<code>%s</code> does not exist.', $located ), '2.1' );
113
+	if (!file_exists($located)) {
114
+        _doing_it_wrong(__FUNCTION__, sprintf('<code>%s</code> does not exist.', $located), '2.1');
115 115
 		return;
116 116
 	}
117 117
 
118
-	do_action( 'wpinv_before_template_part', $template_name, $template_path, $located, $args );
118
+	do_action('wpinv_before_template_part', $template_name, $template_path, $located, $args);
119 119
 
120
-	include( $located );
120
+	include($located);
121 121
 
122
-	do_action( 'wpinv_after_template_part', $template_name, $template_path, $located, $args );
122
+	do_action('wpinv_after_template_part', $template_name, $template_path, $located, $args);
123 123
 }
124 124
 
125
-function wpinv_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
125
+function wpinv_get_template_html($template_name, $args = array(), $template_path = '', $default_path = '') {
126 126
 	ob_start();
127
-	wpinv_get_template( $template_name, $args, $template_path, $default_path );
127
+	wpinv_get_template($template_name, $args, $template_path, $default_path);
128 128
 	return ob_get_clean();
129 129
 }
130 130
 
131
-function wpinv_locate_template( $template_name, $template_path = '', $default_path = '' ) {
132
-    if ( ! $template_path ) {
131
+function wpinv_locate_template($template_name, $template_path = '', $default_path = '') {
132
+    if (!$template_path) {
133 133
         $template_path = wpinv_template_path();
134 134
     }
135 135
 
136
-    if ( ! $default_path ) {
136
+    if (!$default_path) {
137 137
         $default_path = WPINV_PLUGIN_DIR . 'templates/';
138 138
     }
139 139
 
140 140
     // Look within passed path within the theme - this is priority.
141 141
     $template = locate_template(
142 142
         array(
143
-            trailingslashit( $template_path ) . $template_name,
143
+            trailingslashit($template_path) . $template_name,
144 144
             $template_name
145 145
         )
146 146
     );
147 147
 
148 148
     // Get default templates/
149
-    if ( !$template && $default_path ) {
150
-        $template = trailingslashit( $default_path ) . $template_name;
149
+    if (!$template && $default_path) {
150
+        $template = trailingslashit($default_path) . $template_name;
151 151
     }
152 152
 
153 153
     // Return what we found.
154
-    return apply_filters( 'wpinv_locate_template', $template, $template_name, $template_path );
154
+    return apply_filters('wpinv_locate_template', $template, $template_name, $template_path);
155 155
 }
156 156
 
157
-function wpinv_get_template_part( $slug, $name = null, $load = true ) {
158
-	do_action( 'get_template_part_' . $slug, $slug, $name );
157
+function wpinv_get_template_part($slug, $name = null, $load = true) {
158
+	do_action('get_template_part_' . $slug, $slug, $name);
159 159
 
160 160
 	// Setup possible parts
161 161
 	$templates = array();
162
-	if ( isset( $name ) )
162
+	if (isset($name))
163 163
 		$templates[] = $slug . '-' . $name . '.php';
164 164
 	$templates[] = $slug . '.php';
165 165
 
166 166
 	// Allow template parts to be filtered
167
-	$templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name );
167
+	$templates = apply_filters('wpinv_get_template_part', $templates, $slug, $name);
168 168
 
169 169
 	// Return the part that is found
170
-	return wpinv_locate_tmpl( $templates, $load, false );
170
+	return wpinv_locate_tmpl($templates, $load, false);
171 171
 }
172 172
 
173
-function wpinv_locate_tmpl( $template_names, $load = false, $require_once = true ) {
173
+function wpinv_locate_tmpl($template_names, $load = false, $require_once = true) {
174 174
 	// No file found yet
175 175
 	$located = false;
176 176
 
177 177
 	// Try to find a template file
178
-	foreach ( (array)$template_names as $template_name ) {
178
+	foreach ((array)$template_names as $template_name) {
179 179
 
180 180
 		// Continue if template is empty
181
-		if ( empty( $template_name ) )
181
+		if (empty($template_name))
182 182
 			continue;
183 183
 
184 184
 		// Trim off any slashes from the template name
185
-		$template_name = ltrim( $template_name, '/' );
185
+		$template_name = ltrim($template_name, '/');
186 186
 
187 187
 		// try locating this template file by looping through the template paths
188
-		foreach( wpinv_get_theme_template_paths() as $template_path ) {
188
+		foreach (wpinv_get_theme_template_paths() as $template_path) {
189 189
 
190
-			if( file_exists( $template_path . $template_name ) ) {
190
+			if (file_exists($template_path . $template_name)) {
191 191
 				$located = $template_path . $template_name;
192 192
 				break;
193 193
 			}
194 194
 		}
195 195
 
196
-		if( !empty( $located ) ) {
196
+		if (!empty($located)) {
197 197
 			break;
198 198
 		}
199 199
 	}
200 200
 
201
-	if ( ( true == $load ) && ! empty( $located ) )
202
-		load_template( $located, $require_once );
201
+	if ((true == $load) && !empty($located))
202
+		load_template($located, $require_once);
203 203
 
204 204
 	return $located;
205 205
 }
@@ -208,143 +208,143 @@  discard block
 block discarded – undo
208 208
 	$template_dir = wpinv_get_theme_template_dir_name();
209 209
 
210 210
 	$file_paths = array(
211
-		1 => trailingslashit( get_stylesheet_directory() ) . $template_dir,
212
-		10 => trailingslashit( get_template_directory() ) . $template_dir,
211
+		1 => trailingslashit(get_stylesheet_directory()) . $template_dir,
212
+		10 => trailingslashit(get_template_directory()) . $template_dir,
213 213
 		100 => wpinv_get_templates_dir()
214 214
 	);
215 215
 
216
-	$file_paths = apply_filters( 'wpinv_template_paths', $file_paths );
216
+	$file_paths = apply_filters('wpinv_template_paths', $file_paths);
217 217
 
218 218
 	// sort the file paths based on priority
219
-	ksort( $file_paths, SORT_NUMERIC );
219
+	ksort($file_paths, SORT_NUMERIC);
220 220
 
221
-	return array_map( 'trailingslashit', $file_paths );
221
+	return array_map('trailingslashit', $file_paths);
222 222
 }
223 223
 
224 224
 function wpinv_get_theme_template_dir_name() {
225
-	return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) );
225
+	return trailingslashit(apply_filters('wpinv_templates_dir', 'invoicing'));
226 226
 }
227 227
 
228 228
 function wpinv_checkout_meta_tags() {
229 229
 
230 230
 	$pages   = array();
231
-	$pages[] = wpinv_get_option( 'success_page' );
232
-	$pages[] = wpinv_get_option( 'failure_page' );
233
-	$pages[] = wpinv_get_option( 'invoice_history_page' );
231
+	$pages[] = wpinv_get_option('success_page');
232
+	$pages[] = wpinv_get_option('failure_page');
233
+	$pages[] = wpinv_get_option('invoice_history_page');
234 234
 
235
-	if( !wpinv_is_checkout() && !is_page( $pages ) ) {
235
+	if (!wpinv_is_checkout() && !is_page($pages)) {
236 236
 		return;
237 237
 	}
238 238
 
239 239
 	echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
240 240
 }
241
-add_action( 'wp_head', 'wpinv_checkout_meta_tags' );
241
+add_action('wp_head', 'wpinv_checkout_meta_tags');
242 242
 
243
-function wpinv_add_body_classes( $class ) {
243
+function wpinv_add_body_classes($class) {
244 244
 	$classes = (array)$class;
245 245
 
246
-	if( wpinv_is_checkout() ) {
246
+	if (wpinv_is_checkout()) {
247 247
 		$classes[] = 'wpinv-checkout';
248 248
 		$classes[] = 'wpinv-page';
249 249
 	}
250 250
 
251
-	if( wpinv_is_success_page() ) {
251
+	if (wpinv_is_success_page()) {
252 252
 		$classes[] = 'wpinv-success';
253 253
 		$classes[] = 'wpinv-page';
254 254
 	}
255 255
 
256
-	if( wpinv_is_failed_transaction_page() ) {
256
+	if (wpinv_is_failed_transaction_page()) {
257 257
 		$classes[] = 'wpinv-failed-transaction';
258 258
 		$classes[] = 'wpinv-page';
259 259
 	}
260 260
 
261
-	if( wpinv_is_invoice_history_page() ) {
261
+	if (wpinv_is_invoice_history_page()) {
262 262
 		$classes[] = 'wpinv-history';
263 263
 		$classes[] = 'wpinv-page';
264 264
 	}
265 265
 
266
-	if( wpinv_is_test_mode() ) {
266
+	if (wpinv_is_test_mode()) {
267 267
 		$classes[] = 'wpinv-test-mode';
268 268
 		$classes[] = 'wpinv-page';
269 269
 	}
270 270
 
271
-	return array_unique( $classes );
271
+	return array_unique($classes);
272 272
 }
273
-add_filter( 'body_class', 'wpinv_add_body_classes' );
273
+add_filter('body_class', 'wpinv_add_body_classes');
274 274
 
275
-function wpinv_html_dropdown( $name = 'wpinv_discounts', $selected = 0, $status = '' ) {
276
-    $args = array( 'nopaging' => true );
275
+function wpinv_html_dropdown($name = 'wpinv_discounts', $selected = 0, $status = '') {
276
+    $args = array('nopaging' => true);
277 277
 
278
-    if ( ! empty( $status ) )
278
+    if (!empty($status))
279 279
         $args['post_status'] = $status;
280 280
 
281
-    $discounts = wpinv_get_discounts( $args );
281
+    $discounts = wpinv_get_discounts($args);
282 282
     $options   = array();
283 283
 
284
-    if ( $discounts ) {
285
-        foreach ( $discounts as $discount ) {
286
-            $options[ absint( $discount->ID ) ] = esc_html( get_the_title( $discount->ID ) );
284
+    if ($discounts) {
285
+        foreach ($discounts as $discount) {
286
+            $options[absint($discount->ID)] = esc_html(get_the_title($discount->ID));
287 287
         }
288 288
     } else {
289
-        $options[0] = __( 'No discounts found', 'invoicing' );
289
+        $options[0] = __('No discounts found', 'invoicing');
290 290
     }
291 291
 
292
-    $output = wpinv_html_select( array(
292
+    $output = wpinv_html_select(array(
293 293
         'name'             => $name,
294 294
         'selected'         => $selected,
295 295
         'options'          => $options,
296 296
         'show_option_all'  => false,
297 297
         'show_option_none' => false,
298
-    ) );
298
+    ));
299 299
 
300 300
     return $output;
301 301
 }
302 302
 
303
-function wpinv_html_year_dropdown( $name = 'year', $selected = 0, $years_before = 5, $years_after = 0 ) {
304
-    $current     = date( 'Y' );
305
-    $start_year  = $current - absint( $years_before );
306
-    $end_year    = $current + absint( $years_after );
307
-    $selected    = empty( $selected ) ? date( 'Y' ) : $selected;
303
+function wpinv_html_year_dropdown($name = 'year', $selected = 0, $years_before = 5, $years_after = 0) {
304
+    $current     = date('Y');
305
+    $start_year  = $current - absint($years_before);
306
+    $end_year    = $current + absint($years_after);
307
+    $selected    = empty($selected) ? date('Y') : $selected;
308 308
     $options     = array();
309 309
 
310
-    while ( $start_year <= $end_year ) {
311
-        $options[ absint( $start_year ) ] = $start_year;
310
+    while ($start_year <= $end_year) {
311
+        $options[absint($start_year)] = $start_year;
312 312
         $start_year++;
313 313
     }
314 314
 
315
-    $output = wpinv_html_select( array(
315
+    $output = wpinv_html_select(array(
316 316
         'name'             => $name,
317 317
         'selected'         => $selected,
318 318
         'options'          => $options,
319 319
         'show_option_all'  => false,
320 320
         'show_option_none' => false
321
-    ) );
321
+    ));
322 322
 
323 323
     return $output;
324 324
 }
325 325
 
326
-function wpinv_html_month_dropdown( $name = 'month', $selected = 0 ) {
326
+function wpinv_html_month_dropdown($name = 'month', $selected = 0) {
327 327
     $month   = 1;
328 328
     $options = array();
329
-    $selected = empty( $selected ) ? date( 'n' ) : $selected;
329
+    $selected = empty($selected) ? date('n') : $selected;
330 330
 
331
-    while ( $month <= 12 ) {
332
-        $options[ absint( $month ) ] = wpinv_month_num_to_name( $month );
331
+    while ($month <= 12) {
332
+        $options[absint($month)] = wpinv_month_num_to_name($month);
333 333
         $month++;
334 334
     }
335 335
 
336
-    $output = wpinv_html_select( array(
336
+    $output = wpinv_html_select(array(
337 337
         'name'             => $name,
338 338
         'selected'         => $selected,
339 339
         'options'          => $options,
340 340
         'show_option_all'  => false,
341 341
         'show_option_none' => false
342
-    ) );
342
+    ));
343 343
 
344 344
     return $output;
345 345
 }
346 346
 
347
-function wpinv_html_select( $args = array() ) {
347
+function wpinv_html_select($args = array()) {
348 348
     $defaults = array(
349 349
         'options'          => array(),
350 350
         'name'             => null,
@@ -353,8 +353,8 @@  discard block
 block discarded – undo
353 353
         'selected'         => 0,
354 354
         'placeholder'      => null,
355 355
         'multiple'         => false,
356
-        'show_option_all'  => _x( 'All', 'all dropdown items', 'invoicing' ),
357
-        'show_option_none' => _x( 'None', 'no dropdown items', 'invoicing' ),
356
+        'show_option_all'  => _x('All', 'all dropdown items', 'invoicing'),
357
+        'show_option_none' => _x('None', 'no dropdown items', 'invoicing'),
358 358
         'data'             => array(),
359 359
         'onchange'         => null,
360 360
         'required'         => false,
@@ -362,74 +362,74 @@  discard block
 block discarded – undo
362 362
         'readonly'         => false,
363 363
     );
364 364
 
365
-    $args = wp_parse_args( $args, $defaults );
365
+    $args = wp_parse_args($args, $defaults);
366 366
 
367 367
     $data_elements = '';
368
-    foreach ( $args['data'] as $key => $value ) {
369
-        $data_elements .= ' data-' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
368
+    foreach ($args['data'] as $key => $value) {
369
+        $data_elements .= ' data-' . esc_attr($key) . '="' . esc_attr($value) . '"';
370 370
     }
371 371
 
372
-    if( $args['multiple'] ) {
372
+    if ($args['multiple']) {
373 373
         $multiple = ' MULTIPLE';
374 374
     } else {
375 375
         $multiple = '';
376 376
     }
377 377
 
378
-    if( $args['placeholder'] ) {
378
+    if ($args['placeholder']) {
379 379
         $placeholder = $args['placeholder'];
380 380
     } else {
381 381
         $placeholder = '';
382 382
     }
383 383
     
384 384
     $options = '';
385
-    if( !empty( $args['onchange'] ) ) {
386
-        $options .= ' onchange="' . esc_attr( $args['onchange'] ) . '"';
385
+    if (!empty($args['onchange'])) {
386
+        $options .= ' onchange="' . esc_attr($args['onchange']) . '"';
387 387
     }
388 388
     
389
-    if( !empty( $args['required'] ) ) {
389
+    if (!empty($args['required'])) {
390 390
         $options .= ' required="required"';
391 391
     }
392 392
     
393
-    if( !empty( $args['disabled'] ) ) {
393
+    if (!empty($args['disabled'])) {
394 394
         $options .= ' disabled';
395 395
     }
396 396
     
397
-    if( !empty( $args['readonly'] ) ) {
397
+    if (!empty($args['readonly'])) {
398 398
         $options .= ' readonly';
399 399
     }
400 400
 
401
-    $class  = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
402
-    $output = '<select name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim( $options ) . $data_elements . '>';
401
+    $class  = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
402
+    $output = '<select name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim($options) . $data_elements . '>';
403 403
 
404
-    if ( $args['show_option_all'] ) {
405
-        if( $args['multiple'] ) {
406
-            $selected = selected( true, in_array( 0, $args['selected'] ), false );
404
+    if ($args['show_option_all']) {
405
+        if ($args['multiple']) {
406
+            $selected = selected(true, in_array(0, $args['selected']), false);
407 407
         } else {
408
-            $selected = selected( $args['selected'], 0, false );
408
+            $selected = selected($args['selected'], 0, false);
409 409
         }
410
-        $output .= '<option value="all"' . $selected . '>' . esc_html( $args['show_option_all'] ) . '</option>';
410
+        $output .= '<option value="all"' . $selected . '>' . esc_html($args['show_option_all']) . '</option>';
411 411
     }
412 412
 
413
-    if ( !empty( $args['options'] ) ) {
413
+    if (!empty($args['options'])) {
414 414
 
415
-        if ( $args['show_option_none'] ) {
416
-            if( $args['multiple'] ) {
417
-                $selected = selected( true, in_array( "", $args['selected'] ), false );
415
+        if ($args['show_option_none']) {
416
+            if ($args['multiple']) {
417
+                $selected = selected(true, in_array("", $args['selected']), false);
418 418
             } else {
419
-                $selected = selected( $args['selected'] === "", true, false );
419
+                $selected = selected($args['selected'] === "", true, false);
420 420
             }
421
-            $output .= '<option value=""' . $selected . '>' . esc_html( $args['show_option_none'] ) . '</option>';
421
+            $output .= '<option value=""' . $selected . '>' . esc_html($args['show_option_none']) . '</option>';
422 422
         }
423 423
 
424
-        foreach( $args['options'] as $key => $option ) {
424
+        foreach ($args['options'] as $key => $option) {
425 425
 
426
-            if( $args['multiple'] && is_array( $args['selected'] ) ) {
427
-                $selected = selected( true, (bool)in_array( $key, $args['selected'] ), false );
426
+            if ($args['multiple'] && is_array($args['selected'])) {
427
+                $selected = selected(true, (bool)in_array($key, $args['selected']), false);
428 428
             } else {
429
-                $selected = selected( $args['selected'], $key, false );
429
+                $selected = selected($args['selected'], $key, false);
430 430
             }
431 431
 
432
-            $output .= '<option value="' . esc_attr( $key ) . '"' . $selected . '>' . esc_html( $option ) . '</option>';
432
+            $output .= '<option value="' . esc_attr($key) . '"' . $selected . '>' . esc_html($option) . '</option>';
433 433
         }
434 434
     }
435 435
 
@@ -438,7 +438,7 @@  discard block
 block discarded – undo
438 438
     return $output;
439 439
 }
440 440
 
441
-function wpinv_item_dropdown( $args = array() ) {
441
+function wpinv_item_dropdown($args = array()) {
442 442
     $defaults = array(
443 443
         'name'              => 'wpi_item',
444 444
         'id'                => 'wpi_item',
@@ -446,14 +446,14 @@  discard block
 block discarded – undo
446 446
         'multiple'          => false,
447 447
         'selected'          => 0,
448 448
         'number'            => 100,
449
-        'placeholder'       => __( 'Choose a item', 'invoicing' ),
450
-        'data'              => array( 'search-type' => 'item' ),
449
+        'placeholder'       => __('Choose a item', 'invoicing'),
450
+        'data'              => array('search-type' => 'item'),
451 451
         'show_option_all'   => false,
452 452
         'show_option_none'  => false,
453 453
         'show_recurring'    => false,
454 454
     );
455 455
 
456
-    $args = wp_parse_args( $args, $defaults );
456
+    $args = wp_parse_args($args, $defaults);
457 457
 
458 458
     $item_args = array(
459 459
         'post_type'      => 'wpi_item',
@@ -462,44 +462,44 @@  discard block
 block discarded – undo
462 462
         'posts_per_page' => $args['number']
463 463
     );
464 464
     
465
-    $item_args  = apply_filters( 'wpinv_item_dropdown_query_args', $item_args, $args, $defaults );
465
+    $item_args  = apply_filters('wpinv_item_dropdown_query_args', $item_args, $args, $defaults);
466 466
 
467
-    $items      = get_posts( $item_args );
467
+    $items      = get_posts($item_args);
468 468
     $options    = array();
469
-    if ( $items ) {
470
-        foreach ( $items as $item ) {
471
-            $title = esc_html( $item->post_title );
469
+    if ($items) {
470
+        foreach ($items as $item) {
471
+            $title = esc_html($item->post_title);
472 472
             
473
-            if ( !empty( $args['show_recurring'] ) ) {
474
-                $title .= wpinv_get_item_suffix( $item->ID, false );
473
+            if (!empty($args['show_recurring'])) {
474
+                $title .= wpinv_get_item_suffix($item->ID, false);
475 475
             }
476 476
             
477
-            $options[ absint( $item->ID ) ] = $title;
477
+            $options[absint($item->ID)] = $title;
478 478
         }
479 479
     }
480 480
 
481 481
     // This ensures that any selected items are included in the drop down
482
-    if( is_array( $args['selected'] ) ) {
483
-        foreach( $args['selected'] as $item ) {
484
-            if( ! in_array( $item, $options ) ) {
485
-                $title = get_the_title( $item );
486
-                if ( !empty( $args['show_recurring'] ) ) {
487
-                    $title .= wpinv_get_item_suffix( $item, false );
482
+    if (is_array($args['selected'])) {
483
+        foreach ($args['selected'] as $item) {
484
+            if (!in_array($item, $options)) {
485
+                $title = get_the_title($item);
486
+                if (!empty($args['show_recurring'])) {
487
+                    $title .= wpinv_get_item_suffix($item, false);
488 488
                 }
489 489
                 $options[$item] = $title;
490 490
             }
491 491
         }
492
-    } elseif ( is_numeric( $args['selected'] ) && $args['selected'] !== 0 ) {
493
-        if ( ! in_array( $args['selected'], $options ) ) {
494
-            $title = get_the_title( $args['selected'] );
495
-            if ( !empty( $args['show_recurring'] ) ) {
496
-                $title .= wpinv_get_item_suffix( $args['selected'], false );
492
+    } elseif (is_numeric($args['selected']) && $args['selected'] !== 0) {
493
+        if (!in_array($args['selected'], $options)) {
494
+            $title = get_the_title($args['selected']);
495
+            if (!empty($args['show_recurring'])) {
496
+                $title .= wpinv_get_item_suffix($args['selected'], false);
497 497
             }
498
-            $options[$args['selected']] = get_the_title( $args['selected'] );
498
+            $options[$args['selected']] = get_the_title($args['selected']);
499 499
         }
500 500
     }
501 501
 
502
-    $output = wpinv_html_select( array(
502
+    $output = wpinv_html_select(array(
503 503
         'name'             => $args['name'],
504 504
         'selected'         => $args['selected'],
505 505
         'id'               => $args['id'],
@@ -510,12 +510,12 @@  discard block
 block discarded – undo
510 510
         'show_option_all'  => $args['show_option_all'],
511 511
         'show_option_none' => $args['show_option_none'],
512 512
         'data'             => $args['data'],
513
-    ) );
513
+    ));
514 514
 
515 515
     return $output;
516 516
 }
517 517
 
518
-function wpinv_html_checkbox( $args = array() ) {
518
+function wpinv_html_checkbox($args = array()) {
519 519
     $defaults = array(
520 520
         'name'     => null,
521 521
         'current'  => null,
@@ -526,38 +526,38 @@  discard block
 block discarded – undo
526 526
         )
527 527
     );
528 528
 
529
-    $args = wp_parse_args( $args, $defaults );
529
+    $args = wp_parse_args($args, $defaults);
530 530
 
531
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
531
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
532 532
     $options = '';
533
-    if ( ! empty( $args['options']['disabled'] ) ) {
533
+    if (!empty($args['options']['disabled'])) {
534 534
         $options .= ' disabled="disabled"';
535
-    } elseif ( ! empty( $args['options']['readonly'] ) ) {
535
+    } elseif (!empty($args['options']['readonly'])) {
536 536
         $options .= ' readonly';
537 537
     }
538 538
 
539
-    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['name'] ) . '" class="' . $class . ' ' . esc_attr( $args['name'] ) . '" ' . checked( 1, $args['current'], false ) . ' />';
539
+    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['name']) . '" class="' . $class . ' ' . esc_attr($args['name']) . '" ' . checked(1, $args['current'], false) . ' />';
540 540
 
541 541
     return $output;
542 542
 }
543 543
 
544
-function wpinv_html_text( $args = array() ) {
544
+function wpinv_html_text($args = array()) {
545 545
     // Backwards compatibility
546
-    if ( func_num_args() > 1 ) {
546
+    if (func_num_args() > 1) {
547 547
         $args = func_get_args();
548 548
 
549 549
         $name  = $args[0];
550
-        $value = isset( $args[1] ) ? $args[1] : '';
551
-        $label = isset( $args[2] ) ? $args[2] : '';
552
-        $desc  = isset( $args[3] ) ? $args[3] : '';
550
+        $value = isset($args[1]) ? $args[1] : '';
551
+        $label = isset($args[2]) ? $args[2] : '';
552
+        $desc  = isset($args[3]) ? $args[3] : '';
553 553
     }
554 554
 
555 555
     $defaults = array(
556 556
         'id'           => '',
557
-        'name'         => isset( $name )  ? $name  : 'text',
558
-        'value'        => isset( $value ) ? $value : null,
559
-        'label'        => isset( $label ) ? $label : null,
560
-        'desc'         => isset( $desc )  ? $desc  : null,
557
+        'name'         => isset($name) ? $name : 'text',
558
+        'value'        => isset($value) ? $value : null,
559
+        'label'        => isset($label) ? $label : null,
560
+        'desc'         => isset($desc) ? $desc : null,
561 561
         'placeholder'  => '',
562 562
         'class'        => 'regular-text',
563 563
         'disabled'     => false,
@@ -567,51 +567,51 @@  discard block
 block discarded – undo
567 567
         'data'         => false
568 568
     );
569 569
 
570
-    $args = wp_parse_args( $args, $defaults );
570
+    $args = wp_parse_args($args, $defaults);
571 571
 
572
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
572
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
573 573
     $options = '';
574
-    if( $args['required'] ) {
574
+    if ($args['required']) {
575 575
         $options .= ' required="required"';
576 576
     }
577
-    if( $args['readonly'] ) {
577
+    if ($args['readonly']) {
578 578
         $options .= ' readonly';
579 579
     }
580
-    if( $args['readonly'] ) {
580
+    if ($args['readonly']) {
581 581
         $options .= ' readonly';
582 582
     }
583 583
 
584 584
     $data = '';
585
-    if ( !empty( $args['data'] ) ) {
586
-        foreach ( $args['data'] as $key => $value ) {
587
-            $data .= 'data-' . wpinv_sanitize_key( $key ) . '="' . esc_attr( $value ) . '" ';
585
+    if (!empty($args['data'])) {
586
+        foreach ($args['data'] as $key => $value) {
587
+            $data .= 'data-' . wpinv_sanitize_key($key) . '="' . esc_attr($value) . '" ';
588 588
         }
589 589
     }
590 590
 
591
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
592
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['id'] ) . '">' . esc_html( $args['label'] ) . '</label>';
593
-    if ( ! empty( $args['desc'] ) ) {
594
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
591
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
592
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['id']) . '">' . esc_html($args['label']) . '</label>';
593
+    if (!empty($args['desc'])) {
594
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
595 595
     }
596 596
 
597
-    $output .= '<input type="text" name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] )  . '" autocomplete="' . esc_attr( $args['autocomplete'] )  . '" value="' . esc_attr( $args['value'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" class="' . $class . '" ' . $data . ' ' . trim( $options ) . '/>';
597
+    $output .= '<input type="text" name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" autocomplete="' . esc_attr($args['autocomplete']) . '" value="' . esc_attr($args['value']) . '" placeholder="' . esc_attr($args['placeholder']) . '" class="' . $class . '" ' . $data . ' ' . trim($options) . '/>';
598 598
 
599 599
     $output .= '</span>';
600 600
 
601 601
     return $output;
602 602
 }
603 603
 
604
-function wpinv_html_date_field( $args = array() ) {
605
-    if( empty( $args['class'] ) ) {
604
+function wpinv_html_date_field($args = array()) {
605
+    if (empty($args['class'])) {
606 606
         $args['class'] = 'wpiDatepicker';
607
-    } elseif( ! strpos( $args['class'], 'wpiDatepicker' ) ) {
607
+    } elseif (!strpos($args['class'], 'wpiDatepicker')) {
608 608
         $args['class'] .= ' wpiDatepicker';
609 609
     }
610 610
 
611
-    return wpinv_html_text( $args );
611
+    return wpinv_html_text($args);
612 612
 }
613 613
 
614
-function wpinv_html_textarea( $args = array() ) {
614
+function wpinv_html_textarea($args = array()) {
615 615
     $defaults = array(
616 616
         'name'        => 'textarea',
617 617
         'value'       => null,
@@ -621,31 +621,31 @@  discard block
 block discarded – undo
621 621
         'disabled'    => false
622 622
     );
623 623
 
624
-    $args = wp_parse_args( $args, $defaults );
624
+    $args = wp_parse_args($args, $defaults);
625 625
 
626
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
626
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
627 627
     $disabled = '';
628
-    if( $args['disabled'] ) {
628
+    if ($args['disabled']) {
629 629
         $disabled = ' disabled="disabled"';
630 630
     }
631 631
 
632
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
633
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['name'] ) . '">' . esc_html( $args['label'] ) . '</label>';
634
-    $output .= '<textarea name="' . esc_attr( $args['name'] ) . '" id="' . wpinv_sanitize_key( $args['name'] ) . '" class="' . $class . '"' . $disabled . '>' . esc_attr( $args['value'] ) . '</textarea>';
632
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
633
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['name']) . '">' . esc_html($args['label']) . '</label>';
634
+    $output .= '<textarea name="' . esc_attr($args['name']) . '" id="' . wpinv_sanitize_key($args['name']) . '" class="' . $class . '"' . $disabled . '>' . esc_attr($args['value']) . '</textarea>';
635 635
 
636
-    if ( ! empty( $args['desc'] ) ) {
637
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
636
+    if (!empty($args['desc'])) {
637
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
638 638
     }
639 639
     $output .= '</span>';
640 640
 
641 641
     return $output;
642 642
 }
643 643
 
644
-function wpinv_html_ajax_user_search( $args = array() ) {
644
+function wpinv_html_ajax_user_search($args = array()) {
645 645
     $defaults = array(
646 646
         'name'        => 'user_id',
647 647
         'value'       => null,
648
-        'placeholder' => __( 'Enter username', 'invoicing' ),
648
+        'placeholder' => __('Enter username', 'invoicing'),
649 649
         'label'       => null,
650 650
         'desc'        => null,
651 651
         'class'       => '',
@@ -654,13 +654,13 @@  discard block
 block discarded – undo
654 654
         'data'        => false
655 655
     );
656 656
 
657
-    $args = wp_parse_args( $args, $defaults );
657
+    $args = wp_parse_args($args, $defaults);
658 658
 
659 659
     $args['class'] = 'wpinv-ajax-user-search ' . $args['class'];
660 660
 
661 661
     $output  = '<span class="wpinv_user_search_wrap">';
662
-        $output .= wpinv_html_text( $args );
663
-        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __( 'Cancel', 'invoicing' ) . '" aria-label="' . __( 'Cancel', 'invoicing' ) . '" href="#">x</a><span></span></span>';
662
+        $output .= wpinv_html_text($args);
663
+        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __('Cancel', 'invoicing') . '" aria-label="' . __('Cancel', 'invoicing') . '" href="#">x</a><span></span></span>';
664 664
     $output .= '</span>';
665 665
 
666 666
     return $output;
@@ -669,7 +669,7 @@  discard block
 block discarded – undo
669 669
 function wpinv_ip_geolocation() {
670 670
     global $wpinv_euvat;
671 671
     
672
-    $ip         = !empty( $_GET['ip'] ) ? sanitize_text_field( $_GET['ip'] ) : '';    
672
+    $ip         = !empty($_GET['ip']) ? sanitize_text_field($_GET['ip']) : '';    
673 673
     $content    = '';
674 674
     $iso        = '';
675 675
     $country    = '';
@@ -680,69 +680,69 @@  discard block
 block discarded – undo
680 680
     $credit     = '';
681 681
     $address    = '';
682 682
     
683
-    if ( wpinv_get_option( 'vat_ip_lookup' ) == 'geoip2' && $geoip2_city = $wpinv_euvat->geoip2_city_record( $ip ) ) {
683
+    if (wpinv_get_option('vat_ip_lookup') == 'geoip2' && $geoip2_city = $wpinv_euvat->geoip2_city_record($ip)) {
684 684
         try {
685 685
             $iso        = $geoip2_city->country->isoCode;
686 686
             $country    = $geoip2_city->country->name;
687
-            $region     = !empty( $geoip2_city->subdivisions ) && !empty( $geoip2_city->subdivisions[0]->name ) ? $geoip2_city->subdivisions[0]->name : '';
687
+            $region     = !empty($geoip2_city->subdivisions) && !empty($geoip2_city->subdivisions[0]->name) ? $geoip2_city->subdivisions[0]->name : '';
688 688
             $city       = $geoip2_city->city->name;
689 689
             $longitude  = $geoip2_city->location->longitude;
690 690
             $latitude   = $geoip2_city->location->latitude;
691
-            $credit     = __( 'Geolocated using the information by MaxMind, available from <a href="http://www.maxmind.com" target="_blank">www.maxmind.com</a>', 'invoicing' );
692
-        } catch( Exception $e ) { }
691
+            $credit     = __('Geolocated using the information by MaxMind, available from <a href="http://www.maxmind.com" target="_blank">www.maxmind.com</a>', 'invoicing');
692
+        } catch (Exception $e) { }
693 693
     }
694 694
     
695
-    if ( !( $iso && $longitude && $latitude ) && function_exists( 'simplexml_load_file' ) ) {
695
+    if (!($iso && $longitude && $latitude) && function_exists('simplexml_load_file')) {
696 696
         try {
697
-            $load_xml = simplexml_load_file( 'http://www.geoplugin.net/xml.gp?ip=' . $ip );
697
+            $load_xml = simplexml_load_file('http://www.geoplugin.net/xml.gp?ip=' . $ip);
698 698
             
699
-            if ( !empty( $load_xml ) && isset( $load_xml->geoplugin_countryCode ) && !empty( $load_xml->geoplugin_latitude ) && !empty( $load_xml->geoplugin_longitude ) ) {
699
+            if (!empty($load_xml) && isset($load_xml->geoplugin_countryCode) && !empty($load_xml->geoplugin_latitude) && !empty($load_xml->geoplugin_longitude)) {
700 700
                 $iso        = $load_xml->geoplugin_countryCode;
701 701
                 $country    = $load_xml->geoplugin_countryName;
702
-                $region     = !empty( $load_xml->geoplugin_regionName ) ? $load_xml->geoplugin_regionName : '';
703
-                $city       = !empty( $load_xml->geoplugin_city ) ? $load_xml->geoplugin_city : '';
702
+                $region     = !empty($load_xml->geoplugin_regionName) ? $load_xml->geoplugin_regionName : '';
703
+                $city       = !empty($load_xml->geoplugin_city) ? $load_xml->geoplugin_city : '';
704 704
                 $longitude  = $load_xml->geoplugin_longitude;
705 705
                 $latitude   = $load_xml->geoplugin_latitude;
706 706
                 $credit     = $load_xml->geoplugin_credit;
707
-                $credit     = __( 'Geolocated using the information by geoPlugin, available from <a href="http://www.geoplugin.com" target="_blank">www.geoplugin.com</a>', 'invoicing' ) . '<br>' . $load_xml->geoplugin_credit;
707
+                $credit     = __('Geolocated using the information by geoPlugin, available from <a href="http://www.geoplugin.com" target="_blank">www.geoplugin.com</a>', 'invoicing') . '<br>' . $load_xml->geoplugin_credit;
708 708
             }
709
-        } catch( Exception $e ) { }
709
+        } catch (Exception $e) { }
710 710
     }
711 711
     
712
-    if ( $iso && $longitude && $latitude ) {
713
-        if ( $city ) {
712
+    if ($iso && $longitude && $latitude) {
713
+        if ($city) {
714 714
             $address .= $city . ', ';
715 715
         }
716 716
         
717
-        if ( $region ) {
717
+        if ($region) {
718 718
             $address .= $region . ', ';
719 719
         }
720 720
         
721 721
         $address .= $country . ' (' . $iso . ')';
722
-        $content = '<p>'. sprintf( __( '<b>Address:</b> %s', 'invoicing' ), $address ) . '</p>';
723
-        $content .= '<p>'. $credit . '</p>';
722
+        $content = '<p>' . sprintf(__('<b>Address:</b> %s', 'invoicing'), $address) . '</p>';
723
+        $content .= '<p>' . $credit . '</p>';
724 724
     } else {
725
-        $content = '<p>'. sprintf( __( 'Unable to find geolocation for the IP address: %s', 'invoicing' ), $ip ) . '</p>';
725
+        $content = '<p>' . sprintf(__('Unable to find geolocation for the IP address: %s', 'invoicing'), $ip) . '</p>';
726 726
     }
727 727
     ?>
728 728
 <!DOCTYPE html>
729
-<html><head><title><?php echo sprintf( __( 'IP: %s', 'invoicing' ), $ip );?></title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.css" /><style>html,body{height:100%;margin:0;padding:0;width:100%}body{text-align:center;background:#fff;color:#222;font-size:small;}body,p{font-family: arial,sans-serif}#map{margin:auto;width:100%;height:calc(100% - 120px);min-height:240px}</style></head>
729
+<html><head><title><?php echo sprintf(__('IP: %s', 'invoicing'), $ip); ?></title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.css" /><style>html,body{height:100%;margin:0;padding:0;width:100%}body{text-align:center;background:#fff;color:#222;font-size:small;}body,p{font-family: arial,sans-serif}#map{margin:auto;width:100%;height:calc(100% - 120px);min-height:240px}</style></head>
730 730
 <body>
731
-    <?php if ( $latitude && $latitude ) { ?>
731
+    <?php if ($latitude && $latitude) { ?>
732 732
     <div id="map"></div>
733 733
         <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.js"></script>
734 734
         <script type="text/javascript">
735 735
         var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
736 736
             osmAttrib = '&copy; <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
737 737
             osm = L.tileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib}),
738
-            latlng = new L.LatLng(<?php echo $latitude;?>, <?php echo $longitude;?>);
738
+            latlng = new L.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>);
739 739
 
740 740
         var map = new L.Map('map', {center: latlng, zoom: 12, layers: [osm]});
741 741
 
742 742
         var marker = new L.Marker(latlng);
743 743
         map.addLayer(marker);
744 744
 
745
-        marker.bindPopup("<p><?php esc_attr_e( $address );?></p>");
745
+        marker.bindPopup("<p><?php esc_attr_e($address); ?></p>");
746 746
     </script>
747 747
     <?php } ?>
748 748
     <div style="height:100px"><?php echo $content; ?></div>
@@ -750,18 +750,18 @@  discard block
 block discarded – undo
750 750
 <?php
751 751
     exit;
752 752
 }
753
-add_action( 'wp_ajax_wpinv_ip_geolocation', 'wpinv_ip_geolocation' );
754
-add_action( 'wp_ajax_nopriv_wpinv_ip_geolocation', 'wpinv_ip_geolocation' );
753
+add_action('wp_ajax_wpinv_ip_geolocation', 'wpinv_ip_geolocation');
754
+add_action('wp_ajax_nopriv_wpinv_ip_geolocation', 'wpinv_ip_geolocation');
755 755
 
756 756
 // Set up the template for the invoice.
757
-function wpinv_template( $template ) {
757
+function wpinv_template($template) {
758 758
     global $post, $wp_query;
759 759
     
760
-    if ( ( is_single() || is_404() ) && !empty( $post->ID ) && (get_post_type( $post->ID ) == 'wpi_invoice' or get_post_type( $post->ID ) == 'wpi_quote')) {
761
-        if ( wpinv_user_can_view_invoice( $post->ID ) ) {
762
-            $template = wpinv_get_template_part( 'wpinv-invoice-print', false, false );
760
+    if ((is_single() || is_404()) && !empty($post->ID) && (get_post_type($post->ID) == 'wpi_invoice' or get_post_type($post->ID) == 'wpi_quote')) {
761
+        if (wpinv_user_can_view_invoice($post->ID)) {
762
+            $template = wpinv_get_template_part('wpinv-invoice-print', false, false);
763 763
         } else {
764
-            $template = wpinv_get_template_part( 'wpinv-invalid-access', false, false );
764
+            $template = wpinv_get_template_part('wpinv-invalid-access', false, false);
765 765
         }
766 766
     }
767 767
 
@@ -770,7 +770,7 @@  discard block
 block discarded – undo
770 770
 
771 771
 function wpinv_get_business_address() {
772 772
     $business_address   = wpinv_store_address();
773
-    $business_address   = !empty( $business_address ) ? wpautop( wp_kses_post( $business_address ) ) : '';
773
+    $business_address   = !empty($business_address) ? wpautop(wp_kses_post($business_address)) : '';
774 774
     
775 775
     /*
776 776
     $default_country    = wpinv_get_default_country();
@@ -794,7 +794,7 @@  discard block
 block discarded – undo
794 794
     
795 795
     $business_address = $business_address ? '<div class="address">' . $business_address . '</div>' : '';
796 796
     
797
-    return apply_filters( 'wpinv_get_business_address', $business_address );
797
+    return apply_filters('wpinv_get_business_address', $business_address);
798 798
 }
799 799
 
800 800
 function wpinv_display_from_address() {
@@ -804,187 +804,187 @@  discard block
 block discarded – undo
804 804
     if (empty($from_name)) {
805 805
         $from_name = wpinv_get_business_name();
806 806
     }
807
-    ?><div class="from col-xs-2"><strong><?php _e( 'From:', 'invoicing' ) ?></strong></div>
807
+    ?><div class="from col-xs-2"><strong><?php _e('From:', 'invoicing') ?></strong></div>
808 808
     <div class="wrapper col-xs-10">
809
-        <div class="name"><?php echo esc_html( $from_name ); ?></div>
810
-        <?php if ( $address = wpinv_get_business_address() ) { ?>
811
-        <div class="address"><?php echo wpautop( wp_kses_post( $address ) );?></div>
809
+        <div class="name"><?php echo esc_html($from_name); ?></div>
810
+        <?php if ($address = wpinv_get_business_address()) { ?>
811
+        <div class="address"><?php echo wpautop(wp_kses_post($address)); ?></div>
812 812
         <?php } ?>
813
-        <?php if ( $email_from = wpinv_mail_get_from_address() ) { ?>
814
-        <div class="email_from"><?php echo wp_sprintf( __( 'Email: %s', 'invoicing' ), $email_from );?></div>
813
+        <?php if ($email_from = wpinv_mail_get_from_address()) { ?>
814
+        <div class="email_from"><?php echo wp_sprintf(__('Email: %s', 'invoicing'), $email_from); ?></div>
815 815
         <?php } ?>
816 816
     </div>
817 817
     <?php
818 818
 }
819 819
 
820
-function wpinv_watermark( $id = 0 ) {
821
-    $output = wpinv_get_watermark( $id );
820
+function wpinv_watermark($id = 0) {
821
+    $output = wpinv_get_watermark($id);
822 822
     
823
-    return apply_filters( 'wpinv_get_watermark', $output, $id );
823
+    return apply_filters('wpinv_get_watermark', $output, $id);
824 824
 }
825 825
 
826
-function wpinv_get_watermark( $id ) {
827
-    if ( !$id > 0 ) {
826
+function wpinv_get_watermark($id) {
827
+    if (!$id > 0) {
828 828
         return NULL;
829 829
     }
830
-    $invoice = wpinv_get_invoice( $id );
830
+    $invoice = wpinv_get_invoice($id);
831 831
     
832
-    if ( !empty( $invoice ) && "wpi_invoice" === $invoice->post_type ) {
833
-        if ( $invoice->is_paid() ) {
834
-            return __( 'Paid', 'invoicing' );
832
+    if (!empty($invoice) && "wpi_invoice" === $invoice->post_type) {
833
+        if ($invoice->is_paid()) {
834
+            return __('Paid', 'invoicing');
835 835
         }
836
-        if ( $invoice->is_refunded() ) {
837
-            return __( 'Refunded', 'invoicing' );
836
+        if ($invoice->is_refunded()) {
837
+            return __('Refunded', 'invoicing');
838 838
         }
839
-        if ( $invoice->has_status( array( 'wpi-cancelled' ) ) ) {
840
-            return __( 'Cancelled', 'invoicing' );
839
+        if ($invoice->has_status(array('wpi-cancelled'))) {
840
+            return __('Cancelled', 'invoicing');
841 841
         }
842 842
     }
843 843
     
844 844
     return NULL;
845 845
 }
846 846
 
847
-function wpinv_display_invoice_details( $invoice ) {
847
+function wpinv_display_invoice_details($invoice) {
848 848
     global $wpinv_euvat;
849 849
     
850 850
     $invoice_id = $invoice->ID;
851 851
     $vat_name   = $wpinv_euvat->get_vat_name();
852 852
     $use_taxes  = wpinv_use_taxes();
853 853
     
854
-    $invoice_status = wpinv_get_invoice_status( $invoice_id );
854
+    $invoice_status = wpinv_get_invoice_status($invoice_id);
855 855
     ?>
856 856
     <table class="table table-bordered table-sm">
857
-        <?php if ( $invoice_number = wpinv_get_invoice_number( $invoice_id ) ) { ?>
857
+        <?php if ($invoice_number = wpinv_get_invoice_number($invoice_id)) { ?>
858 858
             <tr class="wpi-row-number">
859
-                <th><?php echo apply_filters( 'wpinv_invoice_number_label', __( 'Invoice Number', 'invoicing' ), $invoice ); ?></th>
860
-                <td><?php echo esc_html( $invoice_number ); ?></td>
859
+                <th><?php echo apply_filters('wpinv_invoice_number_label', __('Invoice Number', 'invoicing'), $invoice); ?></th>
860
+                <td><?php echo esc_html($invoice_number); ?></td>
861 861
             </tr>
862 862
         <?php } ?>
863 863
         <tr class="wpi-row-status">
864
-            <th><?php echo apply_filters( 'wpinv_invoice_status_label', __( 'Invoice Status', 'invoicing' ), $invoice ); ?></th>
865
-            <td><?php echo wpinv_invoice_status_label( $invoice_status, wpinv_get_invoice_status( $invoice_id, true ) ); ?></td>
864
+            <th><?php echo apply_filters('wpinv_invoice_status_label', __('Invoice Status', 'invoicing'), $invoice); ?></th>
865
+            <td><?php echo wpinv_invoice_status_label($invoice_status, wpinv_get_invoice_status($invoice_id, true)); ?></td>
866 866
         </tr>
867
-        <?php if ( $invoice->is_renewal() ) { ?>
867
+        <?php if ($invoice->is_renewal()) { ?>
868 868
         <tr class="wpi-row-parent">
869
-            <th><?php echo apply_filters( 'wpinv_invoice_parent_invoice_label', __( 'Parent Invoice', 'invoicing' ), $invoice ); ?></th>
870
-            <td><?php echo wpinv_invoice_link( $invoice->parent_invoice ); ?></td>
869
+            <th><?php echo apply_filters('wpinv_invoice_parent_invoice_label', __('Parent Invoice', 'invoicing'), $invoice); ?></th>
870
+            <td><?php echo wpinv_invoice_link($invoice->parent_invoice); ?></td>
871 871
         </tr>
872 872
         <?php } ?>
873
-        <?php if ( ( $gateway_name = wpinv_get_payment_gateway_name( $invoice_id ) ) && ( $invoice->is_paid() || $invoice->is_refunded() ) ) { ?>
873
+        <?php if (($gateway_name = wpinv_get_payment_gateway_name($invoice_id)) && ($invoice->is_paid() || $invoice->is_refunded())) { ?>
874 874
             <tr class="wpi-row-gateway">
875
-                <th><?php echo apply_filters( 'wpinv_invoice_payment_method_label', __( 'Payment Method', 'invoicing' ), $invoice ); ?></th>
875
+                <th><?php echo apply_filters('wpinv_invoice_payment_method_label', __('Payment Method', 'invoicing'), $invoice); ?></th>
876 876
                 <td><?php echo $gateway_name; ?></td>
877 877
             </tr>
878 878
         <?php } ?>
879
-        <?php if ( $invoice_date = wpinv_get_invoice_date( $invoice_id ) ) { ?>
879
+        <?php if ($invoice_date = wpinv_get_invoice_date($invoice_id)) { ?>
880 880
             <tr class="wpi-row-date">
881
-                <th><?php echo apply_filters( 'wpinv_invoice_date_label', __( 'Invoice Date', 'invoicing' ), $invoice ); ?></th>
881
+                <th><?php echo apply_filters('wpinv_invoice_date_label', __('Invoice Date', 'invoicing'), $invoice); ?></th>
882 882
                 <td><?php echo $invoice_date; ?></td>
883 883
             </tr>
884 884
         <?php } ?>
885
-        <?php if ( wpinv_get_option( 'overdue_active' ) && $invoice->needs_payment() && ( $due_date = $invoice->get_due_date( true ) ) ) { ?>
885
+        <?php if (wpinv_get_option('overdue_active') && $invoice->needs_payment() && ($due_date = $invoice->get_due_date(true))) { ?>
886 886
             <tr class="wpi-row-date">
887
-                <th><?php echo apply_filters( 'wpinv_invoice_due_date_label', __( 'Due Date', 'invoicing' ), $invoice ); ?></th>
887
+                <th><?php echo apply_filters('wpinv_invoice_due_date_label', __('Due Date', 'invoicing'), $invoice); ?></th>
888 888
                 <td><?php echo $due_date; ?></td>
889 889
             </tr>
890 890
         <?php } ?>
891
-        <?php if ( $owner_vat_number = $wpinv_euvat->get_vat_number() ) { ?>
891
+        <?php if ($owner_vat_number = $wpinv_euvat->get_vat_number()) { ?>
892 892
             <tr class="wpi-row-ovatno">
893
-                <th><?php echo apply_filters( 'wpinv_invoice_owner_vat_number_label', wp_sprintf( __( 'Owner %s Number', 'invoicing' ), $vat_name ), $invoice, $vat_name ); ?></th>
893
+                <th><?php echo apply_filters('wpinv_invoice_owner_vat_number_label', wp_sprintf(__('Owner %s Number', 'invoicing'), $vat_name), $invoice, $vat_name); ?></th>
894 894
                 <td><?php echo $owner_vat_number; ?></td>
895 895
             </tr>
896 896
         <?php } ?>
897
-        <?php if ( $use_taxes && ( $user_vat_number = wpinv_get_invoice_vat_number( $invoice_id ) ) ) { ?>
897
+        <?php if ($use_taxes && ($user_vat_number = wpinv_get_invoice_vat_number($invoice_id))) { ?>
898 898
             <tr class="wpi-row-uvatno">
899
-                <th><?php echo apply_filters( 'wpinv_invoice_user_vat_number_label', wp_sprintf( __( 'Invoice %s Number', 'invoicing' ), $vat_name ), $invoice, $vat_name ); ?></th>
899
+                <th><?php echo apply_filters('wpinv_invoice_user_vat_number_label', wp_sprintf(__('Invoice %s Number', 'invoicing'), $vat_name), $invoice, $vat_name); ?></th>
900 900
                 <td><?php echo $user_vat_number; ?></td>
901 901
             </tr>
902 902
         <?php } ?>
903 903
         <tr class="table-active tr-total wpi-row-total">
904
-            <th><strong><?php _e( 'Total Amount', 'invoicing' ) ?></strong></th>
905
-            <td><strong><?php echo wpinv_payment_total( $invoice_id, true ); ?></strong></td>
904
+            <th><strong><?php _e('Total Amount', 'invoicing') ?></strong></th>
905
+            <td><strong><?php echo wpinv_payment_total($invoice_id, true); ?></strong></td>
906 906
         </tr>
907 907
     </table>
908 908
 <?php
909 909
 }
910 910
 
911
-function wpinv_display_to_address( $invoice_id = 0 ) {
912
-    $invoice = wpinv_get_invoice( $invoice_id );
911
+function wpinv_display_to_address($invoice_id = 0) {
912
+    $invoice = wpinv_get_invoice($invoice_id);
913 913
     
914
-    if ( empty( $invoice ) ) {
914
+    if (empty($invoice)) {
915 915
         return NULL;
916 916
     }
917 917
     
918 918
     $billing_details = $invoice->get_user_info();
919
-    $output = '<div class="to col-xs-2"><strong>' . __( 'To:', 'invoicing' ) . '</strong></div>';
919
+    $output = '<div class="to col-xs-2"><strong>' . __('To:', 'invoicing') . '</strong></div>';
920 920
     $output .= '<div class="wrapper col-xs-10">';
921 921
     
922 922
     ob_start();
923
-    do_action( 'wpinv_display_to_address_top', $invoice );
923
+    do_action('wpinv_display_to_address_top', $invoice);
924 924
     $output .= ob_get_clean();
925 925
     
926
-    $output .= '<div class="name">' . esc_html( trim( $billing_details['first_name'] . ' ' . $billing_details['last_name'] ) ) . '</div>';
927
-    if ( $company = $billing_details['company'] ) {
928
-        $output .= '<div class="company">' . wpautop( wp_kses_post( $company ) ) . '</div>';
926
+    $output .= '<div class="name">' . esc_html(trim($billing_details['first_name'] . ' ' . $billing_details['last_name'])) . '</div>';
927
+    if ($company = $billing_details['company']) {
928
+        $output .= '<div class="company">' . wpautop(wp_kses_post($company)) . '</div>';
929 929
     }
930 930
     $address_row = '';
931
-    if ( $address = $billing_details['address'] ) {
932
-        $address_row .= wpautop( wp_kses_post( $address ) );
931
+    if ($address = $billing_details['address']) {
932
+        $address_row .= wpautop(wp_kses_post($address));
933 933
     }
934 934
     
935 935
     $address_fields = array();
936
-    if ( !empty( $billing_details['city'] ) ) {
936
+    if (!empty($billing_details['city'])) {
937 937
         $address_fields[] = $billing_details['city'];
938 938
     }
939 939
     
940
-    $billing_country = !empty( $billing_details['country'] ) ? $billing_details['country'] : '';
941
-    if ( !empty( $billing_details['state'] ) ) {
942
-        $address_fields[] = wpinv_state_name( $billing_details['state'], $billing_country );
940
+    $billing_country = !empty($billing_details['country']) ? $billing_details['country'] : '';
941
+    if (!empty($billing_details['state'])) {
942
+        $address_fields[] = wpinv_state_name($billing_details['state'], $billing_country);
943 943
     }
944 944
     
945
-    if ( !empty( $billing_country ) ) {
946
-        $address_fields[] = wpinv_country_name( $billing_country );
945
+    if (!empty($billing_country)) {
946
+        $address_fields[] = wpinv_country_name($billing_country);
947 947
     }
948 948
     
949
-    if ( !empty( $address_fields ) ) {
950
-        $address_fields = implode( ", ", $address_fields );
949
+    if (!empty($address_fields)) {
950
+        $address_fields = implode(", ", $address_fields);
951 951
         
952
-        if ( !empty( $billing_details['zip'] ) ) {
952
+        if (!empty($billing_details['zip'])) {
953 953
             $address_fields .= ' ' . $billing_details['zip'];
954 954
         }
955 955
         
956
-        $address_row .= wpautop( wp_kses_post( $address_fields ) );
956
+        $address_row .= wpautop(wp_kses_post($address_fields));
957 957
     }
958 958
     
959
-    if ( $address_row ) {
959
+    if ($address_row) {
960 960
         $output .= '<div class="address">' . $address_row . '</div>';
961 961
     }
962 962
     
963
-    if ( $phone = $invoice->get_phone() ) {
964
-        $output .= '<div class="phone">' . wp_sprintf( __( 'Phone: %s', 'invoicing' ), esc_html( $phone ) ) . '</div>';
963
+    if ($phone = $invoice->get_phone()) {
964
+        $output .= '<div class="phone">' . wp_sprintf(__('Phone: %s', 'invoicing'), esc_html($phone)) . '</div>';
965 965
     }
966
-    if ( $email = $invoice->get_email() ) {
967
-        $output .= '<div class="email">' . wp_sprintf( __( 'Email: %s' , 'invoicing'), esc_html( $email ) ) . '</div>';
966
+    if ($email = $invoice->get_email()) {
967
+        $output .= '<div class="email">' . wp_sprintf(__('Email: %s', 'invoicing'), esc_html($email)) . '</div>';
968 968
     }
969 969
     
970 970
     ob_start();
971
-    do_action( 'wpinv_display_to_address_bottom', $invoice );
971
+    do_action('wpinv_display_to_address_bottom', $invoice);
972 972
     $output .= ob_get_clean();
973 973
     
974 974
     $output .= '</div>';
975
-    $output = apply_filters( 'wpinv_display_to_address', $output, $invoice );
975
+    $output = apply_filters('wpinv_display_to_address', $output, $invoice);
976 976
 
977 977
     echo $output;
978 978
 }
979 979
 
980
-function wpinv_display_line_items( $invoice_id = 0 ) {
980
+function wpinv_display_line_items($invoice_id = 0) {
981 981
     global $wpinv_euvat, $ajax_cart_details;
982
-    $invoice            = wpinv_get_invoice( $invoice_id );
982
+    $invoice            = wpinv_get_invoice($invoice_id);
983 983
     $quantities_enabled = wpinv_item_quantities_enabled();
984 984
     $use_taxes          = wpinv_use_taxes();
985 985
     $zero_tax           = !(float)$invoice->get_tax() > 0 ? true : false;
986
-    $tax_label           = $use_taxes && $invoice->has_vat() ? $wpinv_euvat->get_vat_name() : __( 'Tax', 'invoicing' );
987
-    $tax_title          = !$zero_tax && $use_taxes ? ( wpinv_prices_include_tax() ? wp_sprintf( __( '(%s Incl.)', 'invoicing' ), $tax_label ) : wp_sprintf( __( '(%s Excl.)', 'invoicing' ), $tax_label ) ) : '';
986
+    $tax_label = $use_taxes && $invoice->has_vat() ? $wpinv_euvat->get_vat_name() : __('Tax', 'invoicing');
987
+    $tax_title          = !$zero_tax && $use_taxes ? (wpinv_prices_include_tax() ? wp_sprintf(__('(%s Incl.)', 'invoicing'), $tax_label) : wp_sprintf(__('(%s Excl.)', 'invoicing'), $tax_label)) : '';
988 988
     
989 989
     $cart_details       = $invoice->get_cart_details();
990 990
     $ajax_cart_details  = $cart_details;
@@ -993,64 +993,64 @@  discard block
 block discarded – undo
993 993
     <table class="table table-sm table-bordered table-responsive">
994 994
         <thead>
995 995
             <tr>
996
-                <th class="name"><strong><?php _e( "Item Name", "invoicing" );?></strong></th>
997
-                <th class="rate"><strong><?php _e( "Price", "invoicing" );?></strong></th>
996
+                <th class="name"><strong><?php _e("Item Name", "invoicing"); ?></strong></th>
997
+                <th class="rate"><strong><?php _e("Price", "invoicing"); ?></strong></th>
998 998
                 <?php if ($quantities_enabled) { ?>
999
-                    <th class="qty"><strong><?php _e( "Qty", "invoicing" );?></strong></th>
999
+                    <th class="qty"><strong><?php _e("Qty", "invoicing"); ?></strong></th>
1000 1000
                 <?php } ?>
1001 1001
                 <?php if ($use_taxes && !$zero_tax) { ?>
1002 1002
                     <th class="tax"><strong><?php echo $tax_label . ' <span class="normal small">(%)</span>'; ?></strong></th>
1003 1003
                 <?php } ?>
1004
-                <th class="total"><strong><?php echo __( "Item Total", "invoicing" ) . ' <span class="normal small">' . $tax_title . '<span>';?></strong></th>
1004
+                <th class="total"><strong><?php echo __("Item Total", "invoicing") . ' <span class="normal small">' . $tax_title . '<span>'; ?></strong></th>
1005 1005
             </tr>
1006 1006
         </thead>
1007 1007
         <tbody>
1008 1008
         <?php 
1009
-            if ( !empty( $cart_details ) ) {
1010
-                do_action( 'wpinv_display_line_items_start', $invoice );
1009
+            if (!empty($cart_details)) {
1010
+                do_action('wpinv_display_line_items_start', $invoice);
1011 1011
                 
1012 1012
                 $count = 0;
1013 1013
                 $cols  = 3;
1014
-                foreach ( $cart_details as $key => $cart_item ) {
1015
-                    $item_id    = !empty($cart_item['id']) ? absint( $cart_item['id'] ) : '';
1016
-                    $item_price = isset($cart_item["item_price"]) ? wpinv_round_amount( $cart_item["item_price"] ) : 0;
1017
-                    $line_total = isset($cart_item["subtotal"]) ? wpinv_round_amount( $cart_item["subtotal"] ) : 0;
1018
-                    $quantity   = !empty($cart_item['quantity']) && (int)$cart_item['quantity'] > 0 ? absint( $cart_item['quantity'] ) : 1;
1014
+                foreach ($cart_details as $key => $cart_item) {
1015
+                    $item_id    = !empty($cart_item['id']) ? absint($cart_item['id']) : '';
1016
+                    $item_price = isset($cart_item["item_price"]) ? wpinv_round_amount($cart_item["item_price"]) : 0;
1017
+                    $line_total = isset($cart_item["subtotal"]) ? wpinv_round_amount($cart_item["subtotal"]) : 0;
1018
+                    $quantity   = !empty($cart_item['quantity']) && (int)$cart_item['quantity'] > 0 ? absint($cart_item['quantity']) : 1;
1019 1019
                     
1020
-                    $item       = $item_id ? new WPInv_Item( $item_id ) : NULL;
1020
+                    $item       = $item_id ? new WPInv_Item($item_id) : NULL;
1021 1021
                     $summary    = '';
1022 1022
                     $cols       = 3;
1023
-                    if ( !empty($item) ) {
1023
+                    if (!empty($item)) {
1024 1024
                         $item_name  = $item->get_name();
1025 1025
                         $summary    = $item->get_summary();
1026 1026
                     }
1027
-                    $item_name  = !empty($cart_item['name']) ? $cart_item['name'] : $item_name;
1027
+                    $item_name = !empty($cart_item['name']) ? $cart_item['name'] : $item_name;
1028 1028
                     
1029
-                    $summary = apply_filters( 'wpinv_print_invoice_line_item_summary', $summary, $cart_item, $item, $invoice );
1029
+                    $summary = apply_filters('wpinv_print_invoice_line_item_summary', $summary, $cart_item, $item, $invoice);
1030 1030
                     
1031 1031
                     $item_tax       = '';
1032 1032
                     $tax_rate       = '';
1033
-                    if ( $use_taxes && $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0 ) {
1034
-                        $item_tax = wpinv_price( wpinv_format_amount( $cart_item['tax'] ), $invoice->get_currency() );
1035
-                        $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : ( $cart_item['tax'] / $cart_item['subtotal'] ) * 100;
1036
-                        $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount( $tax_rate, 4 ) : '';
1033
+                    if ($use_taxes && $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0) {
1034
+                        $item_tax = wpinv_price(wpinv_format_amount($cart_item['tax']), $invoice->get_currency());
1035
+                        $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : ($cart_item['tax'] / $cart_item['subtotal']) * 100;
1036
+                        $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount($tax_rate, 4) : '';
1037 1037
                         $tax_rate = $tax_rate != '' ? ' <small class="tax-rate">(' . $tax_rate . '%)</small>' : '';
1038 1038
                     }
1039 1039
                     
1040 1040
                     $line_item_tax = $item_tax . $tax_rate;
1041 1041
                     
1042
-                    if ( $line_item_tax === '' ) {
1042
+                    if ($line_item_tax === '') {
1043 1043
                         $line_item_tax = 0; // Zero tax
1044 1044
                     }
1045 1045
                     
1046
-                    $line_item = '<tr class="row-' . ( ($count % 2 == 0) ? 'even' : 'odd' ) . ' wpinv-item">';
1047
-                        $line_item .= '<td class="name">' . esc_html__( $item_name, 'invoicing' ) . wpinv_get_item_suffix( $item );
1048
-                        if ( $summary !== '' ) {
1049
-                            $line_item .= '<br/><small class="meta">' . wpautop( wp_kses_post( $summary ) ) . '</small>';
1046
+                    $line_item = '<tr class="row-' . (($count % 2 == 0) ? 'even' : 'odd') . ' wpinv-item">';
1047
+                        $line_item .= '<td class="name">' . esc_html__($item_name, 'invoicing') . wpinv_get_item_suffix($item);
1048
+                        if ($summary !== '') {
1049
+                            $line_item .= '<br/><small class="meta">' . wpautop(wp_kses_post($summary)) . '</small>';
1050 1050
                         }
1051 1051
                         $line_item .= '</td>';
1052 1052
                         
1053
-                        $line_item .= '<td class="rate">' . esc_html__( wpinv_price( wpinv_format_amount( $item_price ), $invoice->get_currency() ) ) . '</td>';
1053
+                        $line_item .= '<td class="rate">' . esc_html__(wpinv_price(wpinv_format_amount($item_price), $invoice->get_currency())) . '</td>';
1054 1054
                         if ($quantities_enabled) {
1055 1055
                             $cols++;
1056 1056
                             $line_item .= '<td class="qty">' . $quantity . '</td>';
@@ -1059,55 +1059,55 @@  discard block
 block discarded – undo
1059 1059
                             $cols++;
1060 1060
                             $line_item .= '<td class="tax">' . $line_item_tax . '</td>';
1061 1061
                         }
1062
-                        $line_item .= '<td class="total">' . esc_html__( wpinv_price( wpinv_format_amount( $line_total ), $invoice->get_currency() ) ) . '</td>';
1062
+                        $line_item .= '<td class="total">' . esc_html__(wpinv_price(wpinv_format_amount($line_total), $invoice->get_currency())) . '</td>';
1063 1063
                     $line_item .= '</tr>';
1064 1064
                     
1065
-                    echo apply_filters( 'wpinv_display_line_item', $line_item, $cart_item, $invoice, $cols );
1065
+                    echo apply_filters('wpinv_display_line_item', $line_item, $cart_item, $invoice, $cols);
1066 1066
 
1067 1067
                     $count++;
1068 1068
                 }
1069 1069
                 
1070
-                do_action( 'wpinv_display_before_subtotal', $invoice, $cols );
1070
+                do_action('wpinv_display_before_subtotal', $invoice, $cols);
1071 1071
                 ?>
1072 1072
                 <tr class="row-sub-total row_odd">
1073
-                    <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_subtotal_label', '<strong>' . __( 'Sub Total', 'invoicing' ) . ':</strong>', $invoice ); ?></td>
1074
-                    <td class="total"><strong><?php _e( wpinv_subtotal( $invoice_id, true ) ) ?></strong></td>
1073
+                    <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_subtotal_label', '<strong>' . __('Sub Total', 'invoicing') . ':</strong>', $invoice); ?></td>
1074
+                    <td class="total"><strong><?php _e(wpinv_subtotal($invoice_id, true)) ?></strong></td>
1075 1075
                 </tr>
1076 1076
                 <?php
1077
-                do_action( 'wpinv_display_after_subtotal', $invoice, $cols );
1077
+                do_action('wpinv_display_after_subtotal', $invoice, $cols);
1078 1078
                 
1079
-                if ( wpinv_discount( $invoice_id, false ) > 0 ) {
1080
-                    do_action( 'wpinv_display_before_discount', $invoice, $cols );
1079
+                if (wpinv_discount($invoice_id, false) > 0) {
1080
+                    do_action('wpinv_display_before_discount', $invoice, $cols);
1081 1081
                     ?>
1082 1082
                         <tr class="row-discount">
1083
-                            <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice_id ) ); ?>:</td>
1084
-                            <td class="total"><?php echo wpinv_discount( $invoice_id, true, true ); ?></td>
1083
+                            <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php wpinv_get_discount_label(wpinv_discount_code($invoice_id)); ?>:</td>
1084
+                            <td class="total"><?php echo wpinv_discount($invoice_id, true, true); ?></td>
1085 1085
                         </tr>
1086 1086
                     <?php
1087
-                    do_action( 'wpinv_display_after_discount', $invoice, $cols );
1087
+                    do_action('wpinv_display_after_discount', $invoice, $cols);
1088 1088
                 }
1089 1089
                 
1090
-                if ( $use_taxes ) {
1091
-                    do_action( 'wpinv_display_before_tax', $invoice, $cols );
1090
+                if ($use_taxes) {
1091
+                    do_action('wpinv_display_before_tax', $invoice, $cols);
1092 1092
                     ?>
1093 1093
                     <tr class="row-tax">
1094
-                        <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_tax_label', '<strong>' . $tax_label . ':</strong>', $invoice ); ?></td>
1095
-                        <td class="total"><?php _e( wpinv_tax( $invoice_id, true ) ) ?></td>
1094
+                        <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_tax_label', '<strong>' . $tax_label . ':</strong>', $invoice); ?></td>
1095
+                        <td class="total"><?php _e(wpinv_tax($invoice_id, true)) ?></td>
1096 1096
                     </tr>
1097 1097
                     <?php
1098
-                    do_action( 'wpinv_display_after_tax', $invoice, $cols );
1098
+                    do_action('wpinv_display_after_tax', $invoice, $cols);
1099 1099
                 }
1100 1100
                 
1101
-                do_action( 'wpinv_display_before_total', $invoice, $cols );
1101
+                do_action('wpinv_display_before_total', $invoice, $cols);
1102 1102
                 ?>
1103 1103
                 <tr class="table-active row-total">
1104
-                    <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_total_label', '<strong>' . __( 'Total', 'invoicing' ) . ':</strong>', $invoice ); ?></td>
1105
-                    <td class="total"><strong><?php _e( wpinv_payment_total( $invoice_id, true ) ) ?></strong></td>
1104
+                    <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_total_label', '<strong>' . __('Total', 'invoicing') . ':</strong>', $invoice); ?></td>
1105
+                    <td class="total"><strong><?php _e(wpinv_payment_total($invoice_id, true)) ?></strong></td>
1106 1106
                 </tr>
1107 1107
                 <?php
1108
-                do_action( 'wpinv_display_after_total', $invoice, $cols );
1108
+                do_action('wpinv_display_after_total', $invoice, $cols);
1109 1109
                 
1110
-                do_action( 'wpinv_display_line_end', $invoice, $cols );
1110
+                do_action('wpinv_display_line_end', $invoice, $cols);
1111 1111
             }
1112 1112
         ?>
1113 1113
         </tbody>
@@ -1116,35 +1116,35 @@  discard block
 block discarded – undo
1116 1116
     echo ob_get_clean();
1117 1117
 }
1118 1118
 
1119
-function wpinv_display_invoice_totals( $invoice_id = 0 ) {    
1119
+function wpinv_display_invoice_totals($invoice_id = 0) {    
1120 1120
     $use_taxes = wpinv_use_taxes();
1121 1121
     
1122
-    do_action( 'wpinv_before_display_totals_table', $invoice_id ); 
1122
+    do_action('wpinv_before_display_totals_table', $invoice_id); 
1123 1123
     ?>
1124 1124
     <table class="table table-sm table-bordered table-responsive">
1125 1125
         <tbody>
1126
-            <?php do_action( 'wpinv_before_display_totals' ); ?>
1126
+            <?php do_action('wpinv_before_display_totals'); ?>
1127 1127
             <tr class="row-sub-total">
1128
-                <td class="rate"><strong><?php _e( 'Sub Total', 'invoicing' ); ?></strong></td>
1129
-                <td class="total"><strong><?php _e( wpinv_subtotal( $invoice_id, true ) ) ?></strong></td>
1128
+                <td class="rate"><strong><?php _e('Sub Total', 'invoicing'); ?></strong></td>
1129
+                <td class="total"><strong><?php _e(wpinv_subtotal($invoice_id, true)) ?></strong></td>
1130 1130
             </tr>
1131
-            <?php do_action( 'wpinv_after_display_totals' ); ?>
1132
-            <?php if ( wpinv_discount( $invoice_id, false ) > 0 ) { ?>
1131
+            <?php do_action('wpinv_after_display_totals'); ?>
1132
+            <?php if (wpinv_discount($invoice_id, false) > 0) { ?>
1133 1133
                 <tr class="row-discount">
1134
-                    <td class="rate"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice_id ) ); ?></td>
1135
-                    <td class="total"><?php echo wpinv_discount( $invoice_id, true, true ); ?></td>
1134
+                    <td class="rate"><?php wpinv_get_discount_label(wpinv_discount_code($invoice_id)); ?></td>
1135
+                    <td class="total"><?php echo wpinv_discount($invoice_id, true, true); ?></td>
1136 1136
                 </tr>
1137
-            <?php do_action( 'wpinv_after_display_discount' ); ?>
1137
+            <?php do_action('wpinv_after_display_discount'); ?>
1138 1138
             <?php } ?>
1139
-            <?php if ( $use_taxes ) { ?>
1139
+            <?php if ($use_taxes) { ?>
1140 1140
             <tr class="row-tax">
1141
-                <td class="rate"><?php _e( 'Tax', 'invoicing' ); ?></td>
1142
-                <td class="total"><?php _e( wpinv_tax( $invoice_id, true ) ) ?></td>
1141
+                <td class="rate"><?php _e('Tax', 'invoicing'); ?></td>
1142
+                <td class="total"><?php _e(wpinv_tax($invoice_id, true)) ?></td>
1143 1143
             </tr>
1144
-            <?php do_action( 'wpinv_after_display_tax' ); ?>
1144
+            <?php do_action('wpinv_after_display_tax'); ?>
1145 1145
             <?php } ?>
1146
-            <?php if ( $fees = wpinv_get_fees( $invoice_id ) ) { ?>
1147
-                <?php foreach ( $fees as $fee ) { ?>
1146
+            <?php if ($fees = wpinv_get_fees($invoice_id)) { ?>
1147
+                <?php foreach ($fees as $fee) { ?>
1148 1148
                     <tr class="row-fee">
1149 1149
                         <td class="rate"><?php echo $fee['label']; ?></td>
1150 1150
                         <td class="total"><?php echo $fee['amount_display']; ?></td>
@@ -1152,73 +1152,73 @@  discard block
 block discarded – undo
1152 1152
                 <?php } ?>
1153 1153
             <?php } ?>
1154 1154
             <tr class="table-active row-total">
1155
-                <td class="rate"><strong><?php _e( 'Total', 'invoicing' ) ?></strong></td>
1156
-                <td class="total"><strong><?php _e( wpinv_payment_total( $invoice_id, true ) ) ?></strong></td>
1155
+                <td class="rate"><strong><?php _e('Total', 'invoicing') ?></strong></td>
1156
+                <td class="total"><strong><?php _e(wpinv_payment_total($invoice_id, true)) ?></strong></td>
1157 1157
             </tr>
1158
-            <?php do_action( 'wpinv_after_totals' ); ?>
1158
+            <?php do_action('wpinv_after_totals'); ?>
1159 1159
         </tbody>
1160 1160
 
1161 1161
     </table>
1162 1162
 
1163
-    <?php do_action( 'wpinv_after_totals_table' );
1163
+    <?php do_action('wpinv_after_totals_table');
1164 1164
 }
1165 1165
 
1166
-function wpinv_display_payments_info( $invoice_id = 0, $echo = true ) {
1167
-    $invoice = wpinv_get_invoice( $invoice_id );
1166
+function wpinv_display_payments_info($invoice_id = 0, $echo = true) {
1167
+    $invoice = wpinv_get_invoice($invoice_id);
1168 1168
     
1169 1169
     ob_start();
1170
-    do_action( 'wpinv_before_display_payments_info', $invoice_id );
1171
-    if ( ( $gateway_title = $invoice->get_gateway_title() ) || $invoice->is_paid() || $invoice->is_refunded() ) {
1170
+    do_action('wpinv_before_display_payments_info', $invoice_id);
1171
+    if (($gateway_title = $invoice->get_gateway_title()) || $invoice->is_paid() || $invoice->is_refunded()) {
1172 1172
         ?>
1173 1173
         <div class="wpi-payment-info">
1174
-            <p class="wpi-payment-gateway"><?php echo wp_sprintf( __( 'Payment via %s', 'invoicing' ), $gateway_title ? $gateway_title : __( 'Manually', 'invoicing' ) ); ?></p>
1175
-            <?php if ( $gateway_title ) { ?>
1176
-            <p class="wpi-payment-transid"><?php echo wp_sprintf( __( 'Transaction ID: %s', 'invoicing' ), $invoice->get_transaction_id() ); ?></p>
1174
+            <p class="wpi-payment-gateway"><?php echo wp_sprintf(__('Payment via %s', 'invoicing'), $gateway_title ? $gateway_title : __('Manually', 'invoicing')); ?></p>
1175
+            <?php if ($gateway_title) { ?>
1176
+            <p class="wpi-payment-transid"><?php echo wp_sprintf(__('Transaction ID: %s', 'invoicing'), $invoice->get_transaction_id()); ?></p>
1177 1177
             <?php } ?>
1178 1178
         </div>
1179 1179
         <?php
1180 1180
     }
1181
-    do_action( 'wpinv_after_display_payments_info', $invoice_id );
1181
+    do_action('wpinv_after_display_payments_info', $invoice_id);
1182 1182
     $outout = ob_get_clean();
1183 1183
     
1184
-    if ( $echo ) {
1184
+    if ($echo) {
1185 1185
         echo $outout;
1186 1186
     } else {
1187 1187
         return $outout;
1188 1188
     }
1189 1189
 }
1190 1190
 
1191
-function wpinv_display_style( $invoice ) {
1192
-    wp_register_style( 'wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), WPINV_VERSION );
1191
+function wpinv_display_style($invoice) {
1192
+    wp_register_style('wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), WPINV_VERSION);
1193 1193
     
1194
-    wp_print_styles( 'open-sans' );
1195
-    wp_print_styles( 'wpinv-single-style' );
1194
+    wp_print_styles('open-sans');
1195
+    wp_print_styles('wpinv-single-style');
1196 1196
 }
1197
-add_action( 'wpinv_invoice_print_head', 'wpinv_display_style' );
1198
-add_action( 'wpinv_invalid_invoice_head', 'wpinv_display_style' );
1197
+add_action('wpinv_invoice_print_head', 'wpinv_display_style');
1198
+add_action('wpinv_invalid_invoice_head', 'wpinv_display_style');
1199 1199
 
1200 1200
 function wpinv_checkout_billing_details() {  
1201 1201
     $invoice_id = (int)wpinv_get_invoice_cart_id();
1202 1202
     if (empty($invoice_id)) {
1203
-        wpinv_error_log( 'Invoice id not found', 'ERROR', __FILE__, __LINE__ );
1203
+        wpinv_error_log('Invoice id not found', 'ERROR', __FILE__, __LINE__);
1204 1204
         return null;
1205 1205
     }
1206 1206
     
1207
-    $invoice = wpinv_get_invoice_cart( $invoice_id );
1207
+    $invoice = wpinv_get_invoice_cart($invoice_id);
1208 1208
     if (empty($invoice)) {
1209
-        wpinv_error_log( 'Invoice not found', 'ERROR', __FILE__, __LINE__ );
1209
+        wpinv_error_log('Invoice not found', 'ERROR', __FILE__, __LINE__);
1210 1210
         return null;
1211 1211
     }
1212 1212
     $user_id        = $invoice->get_user_id();
1213 1213
     $user_info      = $invoice->get_user_info();
1214
-    $address_info   = wpinv_get_user_address( $user_id );
1214
+    $address_info   = wpinv_get_user_address($user_id);
1215 1215
     
1216
-    if ( empty( $user_info['first_name'] ) && !empty( $user_info['first_name'] ) ) {
1216
+    if (empty($user_info['first_name']) && !empty($user_info['first_name'])) {
1217 1217
         $user_info['first_name'] = $user_info['first_name'];
1218 1218
         $user_info['last_name'] = $user_info['last_name'];
1219 1219
     }
1220 1220
     
1221
-    if ( ( ( empty( $user_info['country'] ) && !empty( $address_info['country'] ) ) || ( empty( $user_info['state'] ) && !empty( $address_info['state'] ) && $user_info['country'] == $address_info['country'] ) ) ) {
1221
+    if (((empty($user_info['country']) && !empty($address_info['country'])) || (empty($user_info['state']) && !empty($address_info['state']) && $user_info['country'] == $address_info['country']))) {
1222 1222
         $user_info['country']   = $address_info['country'];
1223 1223
         $user_info['state']     = $address_info['state'];
1224 1224
         $user_info['city']      = $address_info['city'];
@@ -1234,98 +1234,98 @@  discard block
 block discarded – undo
1234 1234
         'address'
1235 1235
     );
1236 1236
     
1237
-    foreach ( $address_fields as $field ) {
1238
-        if ( empty( $user_info[$field] ) ) {
1237
+    foreach ($address_fields as $field) {
1238
+        if (empty($user_info[$field])) {
1239 1239
             $user_info[$field] = $address_info[$field];
1240 1240
         }
1241 1241
     }
1242 1242
     
1243
-    return apply_filters( 'wpinv_checkout_billing_details', $user_info, $invoice );
1243
+    return apply_filters('wpinv_checkout_billing_details', $user_info, $invoice);
1244 1244
 }
1245 1245
 
1246 1246
 function wpinv_admin_get_line_items($invoice = array()) {
1247 1247
     $item_quantities    = wpinv_item_quantities_enabled();
1248 1248
     $use_taxes          = wpinv_use_taxes();
1249 1249
     
1250
-    if ( empty( $invoice ) ) {
1250
+    if (empty($invoice)) {
1251 1251
         return NULL;
1252 1252
     }
1253 1253
     
1254 1254
     $cart_items = $invoice->get_cart_details();
1255
-    if ( empty( $cart_items ) ) {
1255
+    if (empty($cart_items)) {
1256 1256
         return NULL;
1257 1257
     }
1258 1258
     ob_start();
1259 1259
     
1260
-    do_action( 'wpinv_admin_before_line_items', $cart_items, $invoice );
1260
+    do_action('wpinv_admin_before_line_items', $cart_items, $invoice);
1261 1261
     
1262 1262
     $count = 0;
1263
-    foreach ( $cart_items as $key => $cart_item ) {
1263
+    foreach ($cart_items as $key => $cart_item) {
1264 1264
         $item_id    = $cart_item['id'];
1265
-        $wpi_item   = $item_id > 0 ? new WPInv_Item( $item_id ) : NULL;
1265
+        $wpi_item   = $item_id > 0 ? new WPInv_Item($item_id) : NULL;
1266 1266
         
1267 1267
         if (empty($wpi_item)) {
1268 1268
             continue;
1269 1269
         }
1270 1270
         
1271
-        $item_price     = wpinv_price( wpinv_format_amount( $cart_item['item_price'] ), $invoice->get_currency() );
1272
-        $quantity       = !empty( $cart_item['quantity'] ) && $cart_item['quantity'] > 0 ? $cart_item['quantity'] : 1;
1273
-        $item_subtotal  = wpinv_price( wpinv_format_amount( $cart_item['subtotal'] ), $invoice->get_currency() );
1271
+        $item_price     = wpinv_price(wpinv_format_amount($cart_item['item_price']), $invoice->get_currency());
1272
+        $quantity       = !empty($cart_item['quantity']) && $cart_item['quantity'] > 0 ? $cart_item['quantity'] : 1;
1273
+        $item_subtotal  = wpinv_price(wpinv_format_amount($cart_item['subtotal']), $invoice->get_currency());
1274 1274
         $can_remove     = true;
1275 1275
         
1276
-        $summary = apply_filters( 'wpinv_admin_invoice_line_item_summary', '', $cart_item, $wpi_item, $invoice );
1276
+        $summary = apply_filters('wpinv_admin_invoice_line_item_summary', '', $cart_item, $wpi_item, $invoice);
1277 1277
         
1278 1278
         $item_tax       = '';
1279 1279
         $tax_rate       = '';
1280
-        if ( $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0 ) {
1281
-            $item_tax = wpinv_price( wpinv_format_amount( $cart_item['tax'] ), $invoice->get_currency() );
1282
-            $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : ( $cart_item['tax'] / $cart_item['subtotal'] ) * 100;
1283
-            $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount( $tax_rate, 4 ) : '';
1280
+        if ($cart_item['tax'] > 0 && $cart_item['subtotal'] > 0) {
1281
+            $item_tax = wpinv_price(wpinv_format_amount($cart_item['tax']), $invoice->get_currency());
1282
+            $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : ($cart_item['tax'] / $cart_item['subtotal']) * 100;
1283
+            $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount($tax_rate, 4) : '';
1284 1284
             $tax_rate = $tax_rate != '' ? ' <span class="tax-rate">(' . $tax_rate . '%)</span>' : '';
1285 1285
         }
1286 1286
         $line_item_tax = $item_tax . $tax_rate;
1287 1287
         
1288
-        if ( $line_item_tax === '' ) {
1288
+        if ($line_item_tax === '') {
1289 1289
             $line_item_tax = 0; // Zero tax
1290 1290
         }
1291 1291
 
1292
-        $line_item = '<tr class="item item-' . ( ($count % 2 == 0) ? 'even' : 'odd' ) . '" data-item-id="' . $item_id . '">';
1292
+        $line_item = '<tr class="item item-' . (($count % 2 == 0) ? 'even' : 'odd') . '" data-item-id="' . $item_id . '">';
1293 1293
             $line_item .= '<td class="id">' . $item_id . '</td>';
1294
-            $line_item .= '<td class="title"><a href="' . get_edit_post_link( $item_id ) . '" target="_blank">' . $cart_item['name'] . '</a>' . wpinv_get_item_suffix( $wpi_item );
1295
-            if ( $summary !== '' ) {
1296
-                $line_item .= '<span class="meta">' . wpautop( wp_kses_post( $summary ) ) . '</span>';
1294
+            $line_item .= '<td class="title"><a href="' . get_edit_post_link($item_id) . '" target="_blank">' . $cart_item['name'] . '</a>' . wpinv_get_item_suffix($wpi_item);
1295
+            if ($summary !== '') {
1296
+                $line_item .= '<span class="meta">' . wpautop(wp_kses_post($summary)) . '</span>';
1297 1297
             }
1298 1298
             $line_item .= '</td>';
1299 1299
             $line_item .= '<td class="price">' . $item_price . '</td>';
1300 1300
             
1301
-            if ( $item_quantities ) {
1302
-                if ( count( $cart_items ) == 1 && $quantity <= 1 ) {
1301
+            if ($item_quantities) {
1302
+                if (count($cart_items) == 1 && $quantity <= 1) {
1303 1303
                     $can_remove = false;
1304 1304
                 }
1305 1305
                 $line_item .= '<td class="qty" data-quantity="' . $quantity . '">&nbsp;&times;&nbsp;' . $quantity . '</td>';
1306 1306
             } else {
1307
-                if ( count( $cart_items ) == 1 ) {
1307
+                if (count($cart_items) == 1) {
1308 1308
                     $can_remove = false;
1309 1309
                 }
1310 1310
             }
1311 1311
             $line_item .= '<td class="total">' . $item_subtotal . '</td>';
1312 1312
             
1313
-            if ( $use_taxes ) {
1313
+            if ($use_taxes) {
1314 1314
                 $line_item .= '<td class="tax">' . $line_item_tax . '</td>';
1315 1315
             }
1316 1316
             $line_item .= '<td class="action">';
1317
-            if ( !$invoice->is_paid() && !$invoice->is_refunded() && $can_remove ) {
1317
+            if (!$invoice->is_paid() && !$invoice->is_refunded() && $can_remove) {
1318 1318
                 $line_item .= '<i class="fa fa-remove wpinv-item-remove"></i>';
1319 1319
             }
1320 1320
             $line_item .= '</td>';
1321 1321
         $line_item .= '</tr>';
1322 1322
         
1323
-        echo apply_filters( 'wpinv_admin_line_item', $line_item, $cart_item, $invoice );
1323
+        echo apply_filters('wpinv_admin_line_item', $line_item, $cart_item, $invoice);
1324 1324
         
1325 1325
         $count++;
1326 1326
     } 
1327 1327
     
1328
-    do_action( 'wpinv_admin_after_line_items', $cart_items, $invoice );
1328
+    do_action('wpinv_admin_after_line_items', $cart_items, $invoice);
1329 1329
     
1330 1330
     return ob_get_clean();
1331 1331
 }
@@ -1336,35 +1336,35 @@  discard block
 block discarded – undo
1336 1336
     // Set current invoice id.
1337 1337
     $wpi_checkout_id = wpinv_get_invoice_cart_id();
1338 1338
     
1339
-    $form_action  = esc_url( wpinv_get_checkout_uri() );
1339
+    $form_action = esc_url(wpinv_get_checkout_uri());
1340 1340
 
1341 1341
     ob_start();
1342 1342
         echo '<div id="wpinv_checkout_wrap">';
1343 1343
         
1344
-        if ( wpinv_get_cart_contents() || wpinv_cart_has_fees() ) {
1344
+        if (wpinv_get_cart_contents() || wpinv_cart_has_fees()) {
1345 1345
             ?>
1346 1346
             <div id="wpinv_checkout_form_wrap" class="wpinv_clearfix table-responsive">
1347
-                <?php do_action( 'wpinv_before_checkout_form' ); ?>
1347
+                <?php do_action('wpinv_before_checkout_form'); ?>
1348 1348
                 <form id="wpinv_checkout_form" class="wpi-form" action="<?php echo $form_action; ?>" method="POST">
1349 1349
                     <?php
1350
-                    do_action( 'wpinv_checkout_form_top' );
1351
-                    do_action( 'wpinv_checkout_billing_info' );
1352
-                    do_action( 'wpinv_checkout_cart' );
1353
-                    do_action( 'wpinv_payment_mode_select'  );
1354
-                    do_action( 'wpinv_checkout_form_bottom' )
1350
+                    do_action('wpinv_checkout_form_top');
1351
+                    do_action('wpinv_checkout_billing_info');
1352
+                    do_action('wpinv_checkout_cart');
1353
+                    do_action('wpinv_payment_mode_select');
1354
+                    do_action('wpinv_checkout_form_bottom')
1355 1355
                     ?>
1356 1356
                 </form>
1357
-                <?php do_action( 'wpinv_after_purchase_form' ); ?>
1357
+                <?php do_action('wpinv_after_purchase_form'); ?>
1358 1358
             </div><!--end #wpinv_checkout_form_wrap-->
1359 1359
         <?php
1360 1360
         } else {
1361
-            do_action( 'wpinv_cart_empty' );
1361
+            do_action('wpinv_cart_empty');
1362 1362
         }
1363 1363
         echo '</div><!--end #wpinv_checkout_wrap-->';
1364 1364
     return ob_get_clean();
1365 1365
 }
1366 1366
 
1367
-function wpinv_checkout_cart( $cart_details = array(), $echo = true ) {
1367
+function wpinv_checkout_cart($cart_details = array(), $echo = true) {
1368 1368
     global $ajax_cart_details;
1369 1369
     $ajax_cart_details = $cart_details;
1370 1370
     /*
@@ -1379,25 +1379,25 @@  discard block
 block discarded – undo
1379 1379
     }
1380 1380
     */
1381 1381
     ob_start();
1382
-    do_action( 'wpinv_before_checkout_cart' );
1382
+    do_action('wpinv_before_checkout_cart');
1383 1383
     echo '<div id="wpinv_checkout_cart_form" method="post">';
1384 1384
         echo '<div id="wpinv_checkout_cart_wrap">';
1385
-            wpinv_get_template_part( 'wpinv-checkout-cart' );
1385
+            wpinv_get_template_part('wpinv-checkout-cart');
1386 1386
         echo '</div>';
1387 1387
     echo '</div>';
1388
-    do_action( 'wpinv_after_checkout_cart' );
1388
+    do_action('wpinv_after_checkout_cart');
1389 1389
     $content = ob_get_clean();
1390 1390
     
1391
-    if ( $echo ) {
1391
+    if ($echo) {
1392 1392
         echo $content;
1393 1393
     } else {
1394 1394
         return $content;
1395 1395
     }
1396 1396
 }
1397
-add_action( 'wpinv_checkout_cart', 'wpinv_checkout_cart', 10 );
1397
+add_action('wpinv_checkout_cart', 'wpinv_checkout_cart', 10);
1398 1398
 
1399 1399
 function wpinv_empty_cart_message() {
1400
-	return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1400
+	return apply_filters('wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __('Your cart is empty.', 'invoicing') . '</span>');
1401 1401
 }
1402 1402
 
1403 1403
 /**
@@ -1409,91 +1409,91 @@  discard block
 block discarded – undo
1409 1409
 function wpinv_empty_checkout_cart() {
1410 1410
 	echo wpinv_empty_cart_message();
1411 1411
 }
1412
-add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' );
1412
+add_action('wpinv_cart_empty', 'wpinv_empty_checkout_cart');
1413 1413
 
1414 1414
 function wpinv_save_cart_button() {
1415
-    if ( wpinv_is_cart_saving_disabled() )
1415
+    if (wpinv_is_cart_saving_disabled())
1416 1416
         return;
1417 1417
 ?>
1418
-    <a class="wpinv-cart-saving-button wpinv-submit button" id="wpinv-save-cart-button" href="<?php echo esc_url( add_query_arg( 'wpi_action', 'save_cart' ) ); ?>"><?php _e( 'Save Cart', 'invoicing' ); ?></a>
1418
+    <a class="wpinv-cart-saving-button wpinv-submit button" id="wpinv-save-cart-button" href="<?php echo esc_url(add_query_arg('wpi_action', 'save_cart')); ?>"><?php _e('Save Cart', 'invoicing'); ?></a>
1419 1419
 <?php
1420 1420
 }
1421 1421
 
1422 1422
 function wpinv_update_cart_button() {
1423
-    if ( !wpinv_item_quantities_enabled() )
1423
+    if (!wpinv_item_quantities_enabled())
1424 1424
         return;
1425 1425
 ?>
1426
-    <input type="submit" name="wpinv_update_cart_submit" class="wpinv-submit wpinv-no-js button" value="<?php _e( 'Update Cart', 'invoicing' ); ?>"/>
1426
+    <input type="submit" name="wpinv_update_cart_submit" class="wpinv-submit wpinv-no-js button" value="<?php _e('Update Cart', 'invoicing'); ?>"/>
1427 1427
     <input type="hidden" name="wpi_action" value="update_cart"/>
1428 1428
 <?php
1429 1429
 }
1430 1430
 
1431 1431
 function wpinv_checkout_cart_columns() {
1432 1432
     $default = 3;
1433
-    if ( wpinv_item_quantities_enabled() ) {
1433
+    if (wpinv_item_quantities_enabled()) {
1434 1434
         $default++;
1435 1435
     }
1436 1436
     
1437
-    if ( wpinv_use_taxes() ) {
1437
+    if (wpinv_use_taxes()) {
1438 1438
         $default++;
1439 1439
     }
1440 1440
 
1441
-    return apply_filters( 'wpinv_checkout_cart_columns', $default );
1441
+    return apply_filters('wpinv_checkout_cart_columns', $default);
1442 1442
 }
1443 1443
 
1444 1444
 function wpinv_display_cart_messages() {
1445 1445
     global $wpi_session;
1446 1446
 
1447
-    $messages = $wpi_session->get( 'wpinv_cart_messages' );
1447
+    $messages = $wpi_session->get('wpinv_cart_messages');
1448 1448
 
1449
-    if ( $messages ) {
1450
-        foreach ( $messages as $message_id => $message ) {
1449
+    if ($messages) {
1450
+        foreach ($messages as $message_id => $message) {
1451 1451
             // Try and detect what type of message this is
1452
-            if ( strpos( strtolower( $message ), 'error' ) ) {
1452
+            if (strpos(strtolower($message), 'error')) {
1453 1453
                 $type = 'error';
1454
-            } elseif ( strpos( strtolower( $message ), 'success' ) ) {
1454
+            } elseif (strpos(strtolower($message), 'success')) {
1455 1455
                 $type = 'success';
1456 1456
             } else {
1457 1457
                 $type = 'info';
1458 1458
             }
1459 1459
 
1460
-            $classes = apply_filters( 'wpinv_' . $type . '_class', array( 'wpinv_errors', 'wpinv-alert', 'wpinv-alert-' . $type ) );
1460
+            $classes = apply_filters('wpinv_' . $type . '_class', array('wpinv_errors', 'wpinv-alert', 'wpinv-alert-' . $type));
1461 1461
 
1462
-            echo '<div class="' . implode( ' ', $classes ) . '">';
1462
+            echo '<div class="' . implode(' ', $classes) . '">';
1463 1463
                 // Loop message codes and display messages
1464 1464
                     echo '<p class="wpinv_error" id="wpinv_msg_' . $message_id . '">' . $message . '</p>';
1465 1465
             echo '</div>';
1466 1466
         }
1467 1467
 
1468 1468
         // Remove all of the cart saving messages
1469
-        $wpi_session->set( 'wpinv_cart_messages', null );
1469
+        $wpi_session->set('wpinv_cart_messages', null);
1470 1470
     }
1471 1471
 }
1472
-add_action( 'wpinv_before_checkout_cart', 'wpinv_display_cart_messages' );
1472
+add_action('wpinv_before_checkout_cart', 'wpinv_display_cart_messages');
1473 1473
 
1474 1474
 function wpinv_discount_field() {
1475
-    if ( isset( $_GET['wpi-gateway'] ) && wpinv_is_ajax_disabled() ) {
1475
+    if (isset($_GET['wpi-gateway']) && wpinv_is_ajax_disabled()) {
1476 1476
         return; // Only show before a payment method has been selected if ajax is disabled
1477 1477
     }
1478 1478
 
1479
-    if ( !wpinv_is_checkout() ) {
1479
+    if (!wpinv_is_checkout()) {
1480 1480
         return;
1481 1481
     }
1482 1482
 
1483
-    if ( wpinv_has_active_discounts() && wpinv_get_cart_total() ) {
1483
+    if (wpinv_has_active_discounts() && wpinv_get_cart_total()) {
1484 1484
     ?>
1485 1485
     <div id="wpinv-discount-field" class="panel panel-default">
1486 1486
         <div class="panel-body">
1487 1487
             <p>
1488
-                <label class="wpinv-label" for="wpinv_discount_code"><strong><?php _e( 'Discount', 'invoicing' ); ?></strong></label>
1489
-                <span class="wpinv-description"><?php _e( 'Enter a discount code if you have one.', 'invoicing' ); ?></span>
1488
+                <label class="wpinv-label" for="wpinv_discount_code"><strong><?php _e('Discount', 'invoicing'); ?></strong></label>
1489
+                <span class="wpinv-description"><?php _e('Enter a discount code if you have one.', 'invoicing'); ?></span>
1490 1490
             </p>
1491 1491
             <div class="form-group row">
1492 1492
                 <div class="col-sm-4">
1493
-                    <input class="wpinv-input form-control" type="text" id="wpinv_discount_code" name="wpinv_discount_code" placeholder="<?php _e( 'Enter discount code', 'invoicing' ); ?>"/>
1493
+                    <input class="wpinv-input form-control" type="text" id="wpinv_discount_code" name="wpinv_discount_code" placeholder="<?php _e('Enter discount code', 'invoicing'); ?>"/>
1494 1494
                 </div>
1495 1495
                 <div class="col-sm-3">
1496
-                    <button id="wpi-apply-discount" type="button" class="btn btn-success btn-sm"><?php _e( 'Apply Discount', 'invoicing' ); ?></button>
1496
+                    <button id="wpi-apply-discount" type="button" class="btn btn-success btn-sm"><?php _e('Apply Discount', 'invoicing'); ?></button>
1497 1497
                 </div>
1498 1498
                 <div style="clear:both"></div>
1499 1499
                 <div class="col-sm-12 wpinv-discount-msg">
@@ -1506,10 +1506,10 @@  discard block
 block discarded – undo
1506 1506
 <?php
1507 1507
     }
1508 1508
 }
1509
-add_action( 'wpinv_after_checkout_cart', 'wpinv_discount_field', -10 );
1509
+add_action('wpinv_after_checkout_cart', 'wpinv_discount_field', -10);
1510 1510
 
1511 1511
 function wpinv_agree_to_terms_js() {
1512
-    if ( wpinv_get_option( 'show_agree_to_terms', false ) ) {
1512
+    if (wpinv_get_option('show_agree_to_terms', false)) {
1513 1513
 ?>
1514 1514
 <script type="text/javascript">
1515 1515
     jQuery(document).ready(function($){
@@ -1524,126 +1524,126 @@  discard block
 block discarded – undo
1524 1524
 <?php
1525 1525
     }
1526 1526
 }
1527
-add_action( 'wpinv_checkout_form_top', 'wpinv_agree_to_terms_js' );
1527
+add_action('wpinv_checkout_form_top', 'wpinv_agree_to_terms_js');
1528 1528
 
1529 1529
 function wpinv_payment_mode_select() {
1530
-    $gateways = wpinv_get_enabled_payment_gateways( true );
1531
-    $gateways = apply_filters( 'wpinv_payment_gateways_on_cart', $gateways );
1530
+    $gateways = wpinv_get_enabled_payment_gateways(true);
1531
+    $gateways = apply_filters('wpinv_payment_gateways_on_cart', $gateways);
1532 1532
     $page_URL = wpinv_get_current_page_url();
1533
-    $invoice = wpinv_get_invoice( 0, true );
1533
+    $invoice = wpinv_get_invoice(0, true);
1534 1534
     
1535 1535
     do_action('wpinv_payment_mode_top');
1536 1536
     $invoice_id = (int)$invoice->ID;
1537
-    $chosen_gateway = wpinv_get_chosen_gateway( $invoice_id );
1537
+    $chosen_gateway = wpinv_get_chosen_gateway($invoice_id);
1538 1538
     ?>
1539
-    <div id="wpinv_payment_mode_select" data-gateway="<?php echo $chosen_gateway; ?>" <?php echo ( $invoice->is_free() ? 'style="display:none;" data-free="1"' : '' ); ?>>
1540
-            <?php do_action( 'wpinv_payment_mode_before_gateways_wrap' ); ?>
1539
+    <div id="wpinv_payment_mode_select" data-gateway="<?php echo $chosen_gateway; ?>" <?php echo ($invoice->is_free() ? 'style="display:none;" data-free="1"' : ''); ?>>
1540
+            <?php do_action('wpinv_payment_mode_before_gateways_wrap'); ?>
1541 1541
             <div id="wpinv-payment-mode-wrap" class="panel panel-default">
1542
-                <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Select Payment Method', 'invoicing' ); ?></h3></div>
1542
+                <div class="panel-heading"><h3 class="panel-title"><?php _e('Select Payment Method', 'invoicing'); ?></h3></div>
1543 1543
                 <div class="panel-body list-group wpi-payment_methods">
1544 1544
                     <?php
1545
-                    do_action( 'wpinv_payment_mode_before_gateways' );
1545
+                    do_action('wpinv_payment_mode_before_gateways');
1546 1546
                     
1547
-                    if(!empty($gateways)){
1548
-	                    foreach ( $gateways as $gateway_id => $gateway ) {
1549
-		                    $checked = checked( $gateway_id, $chosen_gateway, false );
1550
-		                    $button_label = wpinv_get_gateway_button_label( $gateway_id );
1551
-		                    $description = wpinv_get_gateway_description( $gateway_id );
1547
+                    if (!empty($gateways)) {
1548
+	                    foreach ($gateways as $gateway_id => $gateway) {
1549
+		                    $checked = checked($gateway_id, $chosen_gateway, false);
1550
+		                    $button_label = wpinv_get_gateway_button_label($gateway_id);
1551
+		                    $description = wpinv_get_gateway_description($gateway_id);
1552 1552
 		                    ?>
1553 1553
 		                    <div class="list-group-item">
1554 1554
 			                    <div class="radio">
1555
-				                    <label><input type="radio" data-button-text="<?php echo esc_attr( $button_label );?>" value="<?php echo esc_attr( $gateway_id ) ;?>" <?php echo $checked ;?> id="wpi_gateway_<?php echo esc_attr( $gateway_id );?>" name="wpi-gateway" class="wpi-pmethod"><?php echo esc_html( $gateway['checkout_label'] ); ?></label>
1555
+				                    <label><input type="radio" data-button-text="<?php echo esc_attr($button_label); ?>" value="<?php echo esc_attr($gateway_id); ?>" <?php echo $checked; ?> id="wpi_gateway_<?php echo esc_attr($gateway_id); ?>" name="wpi-gateway" class="wpi-pmethod"><?php echo esc_html($gateway['checkout_label']); ?></label>
1556 1556
 			                    </div>
1557
-			                    <div style="display:none;" class="payment_box wpi_gateway_<?php echo esc_attr( $gateway_id );?>" role="alert">
1558
-				                    <?php if ( !empty( $description ) ) { ?>
1559
-					                    <div class="wpi-gateway-desc alert alert-info"><?php echo $description;?></div>
1557
+			                    <div style="display:none;" class="payment_box wpi_gateway_<?php echo esc_attr($gateway_id); ?>" role="alert">
1558
+				                    <?php if (!empty($description)) { ?>
1559
+					                    <div class="wpi-gateway-desc alert alert-info"><?php echo $description; ?></div>
1560 1560
 				                    <?php } ?>
1561
-				                    <?php do_action( 'wpinv_' . $gateway_id . '_cc_form', $invoice_id ) ;?>
1561
+				                    <?php do_action('wpinv_' . $gateway_id . '_cc_form', $invoice_id); ?>
1562 1562
 			                    </div>
1563 1563
 		                    </div>
1564 1564
 		                    <?php
1565 1565
 	                    }
1566
-                    }else{
1567
-	                    echo '<div class="alert alert-warning">'. __('No payment gateway active','invoicing') .'</div>';
1566
+                    } else {
1567
+	                    echo '<div class="alert alert-warning">' . __('No payment gateway active', 'invoicing') . '</div>';
1568 1568
                     }
1569 1569
 
1570
-                    do_action( 'wpinv_payment_mode_after_gateways' );
1570
+                    do_action('wpinv_payment_mode_after_gateways');
1571 1571
                     ?>
1572 1572
                 </div>
1573 1573
             </div>
1574
-            <?php do_action( 'wpinv_payment_mode_after_gateways_wrap' ); ?>
1574
+            <?php do_action('wpinv_payment_mode_after_gateways_wrap'); ?>
1575 1575
     </div>
1576 1576
     <?php
1577 1577
     do_action('wpinv_payment_mode_bottom');
1578 1578
 }
1579
-add_action( 'wpinv_payment_mode_select', 'wpinv_payment_mode_select' );
1579
+add_action('wpinv_payment_mode_select', 'wpinv_payment_mode_select');
1580 1580
 
1581 1581
 function wpinv_checkout_billing_info() {    
1582
-    if ( wpinv_is_checkout() ) {
1582
+    if (wpinv_is_checkout()) {
1583 1583
         $logged_in          = is_user_logged_in();
1584 1584
         $billing_details    = wpinv_checkout_billing_details();
1585
-        $selected_country   = !empty( $billing_details['country'] ) ? $billing_details['country'] : wpinv_default_billing_country();
1585
+        $selected_country   = !empty($billing_details['country']) ? $billing_details['country'] : wpinv_default_billing_country();
1586 1586
         ?>
1587 1587
         <div id="wpinv-fields" class="clearfix">
1588 1588
             <div id="wpi-billing" class="wpi-billing clearfix panel panel-default">
1589
-                <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Billing Details', 'invoicing' );?></h3></div>
1589
+                <div class="panel-heading"><h3 class="panel-title"><?php _e('Billing Details', 'invoicing'); ?></h3></div>
1590 1590
                 <div id="wpinv-fields-box" class="panel-body">
1591
-                    <?php do_action( 'wpinv_checkout_billing_fields_first', $billing_details ); ?>
1591
+                    <?php do_action('wpinv_checkout_billing_fields_first', $billing_details); ?>
1592 1592
                     <p class="wpi-cart-field wpi-col2 wpi-colf">
1593
-                        <label for="wpinv_first_name" class="wpi-label"><?php _e( 'First Name', 'invoicing' );?><?php if ( wpinv_get_option( 'fname_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1593
+                        <label for="wpinv_first_name" class="wpi-label"><?php _e('First Name', 'invoicing'); ?><?php if (wpinv_get_option('fname_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1594 1594
                         <?php
1595
-                        echo wpinv_html_text( array(
1595
+                        echo wpinv_html_text(array(
1596 1596
                                 'id'            => 'wpinv_first_name',
1597 1597
                                 'name'          => 'wpinv_first_name',
1598 1598
                                 'value'         => $billing_details['first_name'],
1599 1599
                                 'class'         => 'wpi-input form-control',
1600
-                                'placeholder'   => __( 'First name', 'invoicing' ),
1601
-                                'required'      => (bool)wpinv_get_option( 'fname_mandatory' ),
1602
-                            ) );
1600
+                                'placeholder'   => __('First name', 'invoicing'),
1601
+                                'required'      => (bool)wpinv_get_option('fname_mandatory'),
1602
+                            ));
1603 1603
                         ?>
1604 1604
                     </p>
1605 1605
                     <p class="wpi-cart-field wpi-col2 wpi-coll">
1606
-                        <label for="wpinv_last_name" class="wpi-label"><?php _e( 'Last Name', 'invoicing' );?><?php if ( wpinv_get_option( 'lname_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1606
+                        <label for="wpinv_last_name" class="wpi-label"><?php _e('Last Name', 'invoicing'); ?><?php if (wpinv_get_option('lname_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1607 1607
                         <?php
1608
-                        echo wpinv_html_text( array(
1608
+                        echo wpinv_html_text(array(
1609 1609
                                 'id'            => 'wpinv_last_name',
1610 1610
                                 'name'          => 'wpinv_last_name',
1611 1611
                                 'value'         => $billing_details['last_name'],
1612 1612
                                 'class'         => 'wpi-input form-control',
1613
-                                'placeholder'   => __( 'Last name', 'invoicing' ),
1614
-                                'required'      => (bool)wpinv_get_option( 'lname_mandatory' ),
1615
-                            ) );
1613
+                                'placeholder'   => __('Last name', 'invoicing'),
1614
+                                'required'      => (bool)wpinv_get_option('lname_mandatory'),
1615
+                            ));
1616 1616
                         ?>
1617 1617
                     </p>
1618 1618
                     <p class="wpi-cart-field wpi-col2 wpi-colf">
1619
-                        <label for="wpinv_address" class="wpi-label"><?php _e( 'Address', 'invoicing' );?><?php if ( wpinv_get_option( 'address_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1619
+                        <label for="wpinv_address" class="wpi-label"><?php _e('Address', 'invoicing'); ?><?php if (wpinv_get_option('address_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1620 1620
                         <?php
1621
-                        echo wpinv_html_text( array(
1621
+                        echo wpinv_html_text(array(
1622 1622
                                 'id'            => 'wpinv_address',
1623 1623
                                 'name'          => 'wpinv_address',
1624 1624
                                 'value'         => $billing_details['address'],
1625 1625
                                 'class'         => 'wpi-input form-control',
1626
-                                'placeholder'   => __( 'Address', 'invoicing' ),
1627
-                                'required'      => (bool)wpinv_get_option( 'address_mandatory' ),
1628
-                            ) );
1626
+                                'placeholder'   => __('Address', 'invoicing'),
1627
+                                'required'      => (bool)wpinv_get_option('address_mandatory'),
1628
+                            ));
1629 1629
                         ?>
1630 1630
                     </p>
1631 1631
                     <p class="wpi-cart-field wpi-col2 wpi-coll">
1632
-                        <label for="wpinv_city" class="wpi-label"><?php _e( 'City', 'invoicing' );?><?php if ( wpinv_get_option( 'city_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1632
+                        <label for="wpinv_city" class="wpi-label"><?php _e('City', 'invoicing'); ?><?php if (wpinv_get_option('city_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1633 1633
                         <?php
1634
-                        echo wpinv_html_text( array(
1634
+                        echo wpinv_html_text(array(
1635 1635
                                 'id'            => 'wpinv_city',
1636 1636
                                 'name'          => 'wpinv_city',
1637 1637
                                 'value'         => $billing_details['city'],
1638 1638
                                 'class'         => 'wpi-input form-control',
1639
-                                'placeholder'   => __( 'City', 'invoicing' ),
1640
-                                'required'      => (bool)wpinv_get_option( 'city_mandatory' ),
1641
-                            ) );
1639
+                                'placeholder'   => __('City', 'invoicing'),
1640
+                                'required'      => (bool)wpinv_get_option('city_mandatory'),
1641
+                            ));
1642 1642
                         ?>
1643 1643
                     </p>
1644 1644
                     <p id="wpinv_country_box" class="wpi-cart-field wpi-col2 wpi-colf">
1645
-                        <label for="wpinv_country" class="wpi-label"><?php _e( 'Country', 'invoicing' );?><?php if ( wpinv_get_option( 'country_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1646
-                        <?php echo wpinv_html_select( array(
1645
+                        <label for="wpinv_country" class="wpi-label"><?php _e('Country', 'invoicing'); ?><?php if (wpinv_get_option('country_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1646
+                        <?php echo wpinv_html_select(array(
1647 1647
                             'options'          => wpinv_get_country_list(),
1648 1648
                             'name'             => 'wpinv_country',
1649 1649
                             'id'               => 'wpinv_country',
@@ -1651,16 +1651,16 @@  discard block
 block discarded – undo
1651 1651
                             'show_option_all'  => false,
1652 1652
                             'show_option_none' => false,
1653 1653
                             'class'            => 'wpi-input form-control',
1654
-                            'placeholder'      => __( 'Choose a country', 'invoicing' ),
1655
-                            'required'         => (bool)wpinv_get_option( 'country_mandatory' ),
1656
-                        ) ); ?>
1654
+                            'placeholder'      => __('Choose a country', 'invoicing'),
1655
+                            'required'         => (bool)wpinv_get_option('country_mandatory'),
1656
+                        )); ?>
1657 1657
                     </p>
1658 1658
                     <p id="wpinv_state_box" class="wpi-cart-field wpi-col2 wpi-coll">
1659
-                        <label for="wpinv_state" class="wpi-label"><?php _e( 'State / Province', 'invoicing' );?><?php if ( wpinv_get_option( 'state_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1659
+                        <label for="wpinv_state" class="wpi-label"><?php _e('State / Province', 'invoicing'); ?><?php if (wpinv_get_option('state_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1660 1660
                         <?php
1661
-                        $states = wpinv_get_country_states( $selected_country );
1662
-                        if( !empty( $states ) ) {
1663
-                            echo wpinv_html_select( array(
1661
+                        $states = wpinv_get_country_states($selected_country);
1662
+                        if (!empty($states)) {
1663
+                            echo wpinv_html_select(array(
1664 1664
                                 'options'          => $states,
1665 1665
                                 'name'             => 'wpinv_state',
1666 1666
                                 'id'               => 'wpinv_state',
@@ -1668,61 +1668,61 @@  discard block
 block discarded – undo
1668 1668
                                 'show_option_all'  => false,
1669 1669
                                 'show_option_none' => false,
1670 1670
                                 'class'            => 'wpi-input form-control',
1671
-                                'placeholder'      => __( 'Choose a state', 'invoicing' ),
1672
-                                'required'         => (bool)wpinv_get_option( 'state_mandatory' ),
1673
-                            ) );
1671
+                                'placeholder'      => __('Choose a state', 'invoicing'),
1672
+                                'required'         => (bool)wpinv_get_option('state_mandatory'),
1673
+                            ));
1674 1674
                         } else {
1675
-                            echo wpinv_html_text( array(
1675
+                            echo wpinv_html_text(array(
1676 1676
                                 'name'          => 'wpinv_state',
1677 1677
                                 'value'         => $billing_details['state'],
1678 1678
                                 'id'            => 'wpinv_state',
1679 1679
                                 'class'         => 'wpi-input form-control',
1680
-                                'placeholder'   => __( 'State / Province', 'invoicing' ),
1681
-                                'required'      => (bool)wpinv_get_option( 'state_mandatory' ),
1682
-                            ) );
1680
+                                'placeholder'   => __('State / Province', 'invoicing'),
1681
+                                'required'      => (bool)wpinv_get_option('state_mandatory'),
1682
+                            ));
1683 1683
                         }
1684 1684
                         ?>
1685 1685
                     </p>
1686 1686
                     <p class="wpi-cart-field wpi-col2 wpi-colf">
1687
-                        <label for="wpinv_zip" class="wpi-label"><?php _e( 'ZIP / Postcode', 'invoicing' );?><?php if ( wpinv_get_option( 'zip_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1687
+                        <label for="wpinv_zip" class="wpi-label"><?php _e('ZIP / Postcode', 'invoicing'); ?><?php if (wpinv_get_option('zip_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1688 1688
                         <?php
1689
-                        echo wpinv_html_text( array(
1689
+                        echo wpinv_html_text(array(
1690 1690
                                 'name'          => 'wpinv_zip',
1691 1691
                                 'value'         => $billing_details['zip'],
1692 1692
                                 'id'            => 'wpinv_zip',
1693 1693
                                 'class'         => 'wpi-input form-control',
1694
-                                'placeholder'   => __( 'ZIP / Postcode', 'invoicing' ),
1695
-                                'required'      => (bool)wpinv_get_option( 'zip_mandatory' ),
1696
-                            ) );
1694
+                                'placeholder'   => __('ZIP / Postcode', 'invoicing'),
1695
+                                'required'      => (bool)wpinv_get_option('zip_mandatory'),
1696
+                            ));
1697 1697
                         ?>
1698 1698
                     </p>
1699 1699
                     <p class="wpi-cart-field wpi-col2 wpi-coll">
1700
-                        <label for="wpinv_phone" class="wpi-label"><?php _e( 'Phone', 'invoicing' );?><?php if ( wpinv_get_option( 'phone_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1700
+                        <label for="wpinv_phone" class="wpi-label"><?php _e('Phone', 'invoicing'); ?><?php if (wpinv_get_option('phone_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1701 1701
                         <?php
1702
-                        echo wpinv_html_text( array(
1702
+                        echo wpinv_html_text(array(
1703 1703
                                 'id'            => 'wpinv_phone',
1704 1704
                                 'name'          => 'wpinv_phone',
1705 1705
                                 'value'         => $billing_details['phone'],
1706 1706
                                 'class'         => 'wpi-input form-control',
1707
-                                'placeholder'   => __( 'Phone', 'invoicing' ),
1708
-                                'required'      => (bool)wpinv_get_option( 'phone_mandatory' ),
1709
-                            ) );
1707
+                                'placeholder'   => __('Phone', 'invoicing'),
1708
+                                'required'      => (bool)wpinv_get_option('phone_mandatory'),
1709
+                            ));
1710 1710
                         ?>
1711 1711
                     </p>
1712
-                    <?php do_action( 'wpinv_checkout_billing_fields_last', $billing_details ); ?>
1712
+                    <?php do_action('wpinv_checkout_billing_fields_last', $billing_details); ?>
1713 1713
                     <div class="clearfix"></div>
1714 1714
                 </div>
1715 1715
             </div>
1716
-            <?php do_action( 'wpinv_after_billing_fields', $billing_details ); ?>
1716
+            <?php do_action('wpinv_after_billing_fields', $billing_details); ?>
1717 1717
         </div>
1718 1718
         <?php
1719 1719
     }
1720 1720
 }
1721
-add_action( 'wpinv_checkout_billing_info', 'wpinv_checkout_billing_info' );
1721
+add_action('wpinv_checkout_billing_info', 'wpinv_checkout_billing_info');
1722 1722
 
1723 1723
 function wpinv_checkout_hidden_fields() {
1724 1724
 ?>
1725
-    <?php if ( is_user_logged_in() ) { ?>
1725
+    <?php if (is_user_logged_in()) { ?>
1726 1726
     <input type="hidden" name="wpinv_user_id" value="<?php echo get_current_user_id(); ?>"/>
1727 1727
     <?php } ?>
1728 1728
     <input type="hidden" name="wpi_action" value="payment" />
@@ -1732,9 +1732,9 @@  discard block
 block discarded – undo
1732 1732
 function wpinv_checkout_button_purchase() {
1733 1733
     ob_start();
1734 1734
 ?>
1735
-    <input type="submit" class="btn btn-success wpinv-submit" id="wpinv-payment-button" data-value="<?php esc_attr_e( 'Proceed to Pay', 'invoicing' ) ?>" name="wpinv_payment" value="<?php esc_attr_e( 'Proceed to Pay', 'invoicing' ) ?>"/>
1735
+    <input type="submit" class="btn btn-success wpinv-submit" id="wpinv-payment-button" data-value="<?php esc_attr_e('Proceed to Pay', 'invoicing') ?>" name="wpinv_payment" value="<?php esc_attr_e('Proceed to Pay', 'invoicing') ?>"/>
1736 1736
 <?php
1737
-    return apply_filters( 'wpinv_checkout_button_purchase', ob_get_clean() );
1737
+    return apply_filters('wpinv_checkout_button_purchase', ob_get_clean());
1738 1738
 }
1739 1739
 
1740 1740
 function wpinv_checkout_total() {
@@ -1743,96 +1743,96 @@  discard block
 block discarded – undo
1743 1743
 <div id="wpinv_checkout_total" class="panel panel-info">
1744 1744
     <div class="panel-body">
1745 1745
     <?php
1746
-    do_action( 'wpinv_purchase_form_before_checkout_total' );
1746
+    do_action('wpinv_purchase_form_before_checkout_total');
1747 1747
     ?>
1748
-    <strong><?php _e( 'Invoice Total:', 'invoicing' ) ?></strong> <span class="wpinv-chdeckout-total"><?php echo $cart_total;?></span>
1748
+    <strong><?php _e('Invoice Total:', 'invoicing') ?></strong> <span class="wpinv-chdeckout-total"><?php echo $cart_total; ?></span>
1749 1749
     <?php
1750
-    do_action( 'wpinv_purchase_form_after_checkout_total' );
1750
+    do_action('wpinv_purchase_form_after_checkout_total');
1751 1751
     ?>
1752 1752
     </div>
1753 1753
 </div>
1754 1754
 <?php
1755 1755
 }
1756
-add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_total', 9998 );
1756
+add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_total', 9998);
1757 1757
 
1758 1758
 function wpinv_checkout_submit() {
1759 1759
 ?>
1760 1760
 <div id="wpinv_purchase_submit" class="panel panel-success">
1761 1761
     <div class="panel-body text-center">
1762 1762
     <?php
1763
-    do_action( 'wpinv_purchase_form_before_submit' );
1763
+    do_action('wpinv_purchase_form_before_submit');
1764 1764
     wpinv_checkout_hidden_fields();
1765 1765
     echo wpinv_checkout_button_purchase();
1766
-    do_action( 'wpinv_purchase_form_after_submit' );
1766
+    do_action('wpinv_purchase_form_after_submit');
1767 1767
     ?>
1768 1768
     </div>
1769 1769
 </div>
1770 1770
 <?php
1771 1771
 }
1772
-add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_submit', 9999 );
1772
+add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_submit', 9999);
1773 1773
 
1774
-function wpinv_receipt_billing_address( $invoice_id = 0 ) {
1775
-    $invoice = wpinv_get_invoice( $invoice_id );
1774
+function wpinv_receipt_billing_address($invoice_id = 0) {
1775
+    $invoice = wpinv_get_invoice($invoice_id);
1776 1776
     
1777
-    if ( empty( $invoice ) ) {
1777
+    if (empty($invoice)) {
1778 1778
         return NULL;
1779 1779
     }
1780 1780
     
1781 1781
     $billing_details = $invoice->get_user_info();
1782 1782
     $address_row = '';
1783
-    if ( $address = $billing_details['address'] ) {
1784
-        $address_row .= wpautop( wp_kses_post( $address ) );
1783
+    if ($address = $billing_details['address']) {
1784
+        $address_row .= wpautop(wp_kses_post($address));
1785 1785
     }
1786 1786
     
1787 1787
     $address_fields = array();
1788
-    if ( !empty( $billing_details['city'] ) ) {
1788
+    if (!empty($billing_details['city'])) {
1789 1789
         $address_fields[] = $billing_details['city'];
1790 1790
     }
1791 1791
     
1792
-    $billing_country = !empty( $billing_details['country'] ) ? $billing_details['country'] : '';
1793
-    if ( !empty( $billing_details['state'] ) ) {
1794
-        $address_fields[] = wpinv_state_name( $billing_details['state'], $billing_country );
1792
+    $billing_country = !empty($billing_details['country']) ? $billing_details['country'] : '';
1793
+    if (!empty($billing_details['state'])) {
1794
+        $address_fields[] = wpinv_state_name($billing_details['state'], $billing_country);
1795 1795
     }
1796 1796
     
1797
-    if ( !empty( $billing_country ) ) {
1798
-        $address_fields[] = wpinv_country_name( $billing_country );
1797
+    if (!empty($billing_country)) {
1798
+        $address_fields[] = wpinv_country_name($billing_country);
1799 1799
     }
1800 1800
     
1801
-    if ( !empty( $address_fields ) ) {
1802
-        $address_fields = implode( ", ", $address_fields );
1801
+    if (!empty($address_fields)) {
1802
+        $address_fields = implode(", ", $address_fields);
1803 1803
         
1804
-        if ( !empty( $billing_details['zip'] ) ) {
1804
+        if (!empty($billing_details['zip'])) {
1805 1805
             $address_fields .= ' ' . $billing_details['zip'];
1806 1806
         }
1807 1807
         
1808
-        $address_row .= wpautop( wp_kses_post( $address_fields ) );
1808
+        $address_row .= wpautop(wp_kses_post($address_fields));
1809 1809
     }
1810 1810
     ob_start();
1811 1811
     ?>
1812 1812
     <table class="table table-bordered table-sm wpi-billing-details">
1813 1813
         <tbody>
1814 1814
             <tr class="wpi-receipt-name">
1815
-                <th class="text-left"><?php _e( 'Name', 'invoicing' ); ?></th>
1816
-                <td><?php echo esc_html( trim( $billing_details['first_name'] . ' ' . $billing_details['last_name'] ) ) ;?></td>
1815
+                <th class="text-left"><?php _e('Name', 'invoicing'); ?></th>
1816
+                <td><?php echo esc_html(trim($billing_details['first_name'] . ' ' . $billing_details['last_name'])); ?></td>
1817 1817
             </tr>
1818 1818
             <tr class="wpi-receipt-email">
1819
-                <th class="text-left"><?php _e( 'Email', 'invoicing' ); ?></th>
1820
-                <td><?php echo $billing_details['email'] ;?></td>
1819
+                <th class="text-left"><?php _e('Email', 'invoicing'); ?></th>
1820
+                <td><?php echo $billing_details['email']; ?></td>
1821 1821
             </tr>
1822
-            <?php if ( $billing_details['company'] ) { ?>
1822
+            <?php if ($billing_details['company']) { ?>
1823 1823
             <tr class="wpi-receipt-company">
1824
-                <th class="text-left"><?php _e( 'Company', 'invoicing' ); ?></th>
1825
-                <td><?php echo esc_html( $billing_details['company'] ) ;?></td>
1824
+                <th class="text-left"><?php _e('Company', 'invoicing'); ?></th>
1825
+                <td><?php echo esc_html($billing_details['company']); ?></td>
1826 1826
             </tr>
1827 1827
             <?php } ?>
1828 1828
             <tr class="wpi-receipt-address">
1829
-                <th class="text-left"><?php _e( 'Address', 'invoicing' ); ?></th>
1830
-                <td><?php echo $address_row ;?></td>
1829
+                <th class="text-left"><?php _e('Address', 'invoicing'); ?></th>
1830
+                <td><?php echo $address_row; ?></td>
1831 1831
             </tr>
1832
-            <?php if ( $billing_details['phone'] ) { ?>
1832
+            <?php if ($billing_details['phone']) { ?>
1833 1833
             <tr class="wpi-receipt-phone">
1834
-                <th class="text-left"><?php _e( 'Phone', 'invoicing' ); ?></th>
1835
-                <td><?php echo esc_html( $billing_details['phone'] ) ;?></td>
1834
+                <th class="text-left"><?php _e('Phone', 'invoicing'); ?></th>
1835
+                <td><?php echo esc_html($billing_details['phone']); ?></td>
1836 1836
             </tr>
1837 1837
             <?php } ?>
1838 1838
         </tbody>
@@ -1840,103 +1840,103 @@  discard block
 block discarded – undo
1840 1840
     <?php
1841 1841
     $output = ob_get_clean();
1842 1842
     
1843
-    $output = apply_filters( 'wpinv_receipt_billing_address', $output, $invoice_id );
1843
+    $output = apply_filters('wpinv_receipt_billing_address', $output, $invoice_id);
1844 1844
 
1845 1845
     echo $output;
1846 1846
 }
1847 1847
 
1848
-function wpinv_filter_success_page_content( $content ) {
1849
-    if ( isset( $_GET['payment-confirm'] ) && wpinv_is_success_page() ) {
1850
-        if ( has_filter( 'wpinv_payment_confirm_' . sanitize_text_field( $_GET['payment-confirm'] ) ) ) {
1851
-            $content = apply_filters( 'wpinv_payment_confirm_' . sanitize_text_field( $_GET['payment-confirm'] ), $content );
1848
+function wpinv_filter_success_page_content($content) {
1849
+    if (isset($_GET['payment-confirm']) && wpinv_is_success_page()) {
1850
+        if (has_filter('wpinv_payment_confirm_' . sanitize_text_field($_GET['payment-confirm']))) {
1851
+            $content = apply_filters('wpinv_payment_confirm_' . sanitize_text_field($_GET['payment-confirm']), $content);
1852 1852
         }
1853 1853
     }
1854 1854
 
1855 1855
     return $content;
1856 1856
 }
1857
-add_filter( 'the_content', 'wpinv_filter_success_page_content', 99999 );
1857
+add_filter('the_content', 'wpinv_filter_success_page_content', 99999);
1858 1858
 
1859
-function wpinv_receipt_actions( $invoice ) {
1860
-    if ( !empty( $invoice ) ) {
1859
+function wpinv_receipt_actions($invoice) {
1860
+    if (!empty($invoice)) {
1861 1861
         $actions = array();
1862 1862
 
1863
-        if ( wpinv_user_can_view_invoice( $invoice->ID ) ) {
1864
-            $actions['print']   = array(
1865
-                'url'  => $invoice->get_view_url( true ),
1866
-                'name' => __( 'Print Invoice', 'invoicing' ),
1863
+        if (wpinv_user_can_view_invoice($invoice->ID)) {
1864
+            $actions['print'] = array(
1865
+                'url'  => $invoice->get_view_url(true),
1866
+                'name' => __('Print Invoice', 'invoicing'),
1867 1867
                 'class' => 'btn-primary',
1868 1868
             );
1869 1869
         }
1870 1870
 
1871
-        if ( is_user_logged_in() ) {
1871
+        if (is_user_logged_in()) {
1872 1872
             $actions['history'] = array(
1873 1873
                 'url'  => wpinv_get_history_page_uri(),
1874
-                'name' => __( 'Invoice History', 'invoicing' ),
1874
+                'name' => __('Invoice History', 'invoicing'),
1875 1875
                 'class' => 'btn-warning',
1876 1876
             );
1877 1877
         }
1878 1878
 
1879
-        $actions = apply_filters( 'wpinv_invoice_receipt_actions', $actions, $invoice );
1879
+        $actions = apply_filters('wpinv_invoice_receipt_actions', $actions, $invoice);
1880 1880
         
1881
-        if ( !empty( $actions ) ) {
1881
+        if (!empty($actions)) {
1882 1882
         ?>
1883 1883
         <div class="wpinv-receipt-actions text-right">
1884
-            <?php foreach ( $actions as $key => $action ) { $class = !empty($action['class']) ? sanitize_html_class( $action['class'] ) : ''; ?>
1885
-            <a href="<?php echo esc_url( $action['url'] );?>" class="btn btn-sm <?php echo $class . ' ' . sanitize_html_class( $key );?>" <?php echo ( !empty($action['attrs']) ? $action['attrs'] : '' ) ;?>><?php echo esc_html( $action['name'] );?></a>
1884
+            <?php foreach ($actions as $key => $action) { $class = !empty($action['class']) ? sanitize_html_class($action['class']) : ''; ?>
1885
+            <a href="<?php echo esc_url($action['url']); ?>" class="btn btn-sm <?php echo $class . ' ' . sanitize_html_class($key); ?>" <?php echo (!empty($action['attrs']) ? $action['attrs'] : ''); ?>><?php echo esc_html($action['name']); ?></a>
1886 1886
             <?php } ?>
1887 1887
         </div>
1888 1888
         <?php
1889 1889
         }
1890 1890
     }
1891 1891
 }
1892
-add_action( 'wpinv_receipt_start', 'wpinv_receipt_actions', -10, 1 );
1892
+add_action('wpinv_receipt_start', 'wpinv_receipt_actions', -10, 1);
1893 1893
 
1894
-function wpinv_invoice_link( $invoice_id ) {
1895
-    $invoice = wpinv_get_invoice( $invoice_id );
1894
+function wpinv_invoice_link($invoice_id) {
1895
+    $invoice = wpinv_get_invoice($invoice_id);
1896 1896
     
1897
-    if ( empty( $invoice ) ) {
1897
+    if (empty($invoice)) {
1898 1898
         return NULL;
1899 1899
     }
1900 1900
     
1901
-    $invoice_link = '<a href="' . esc_url( $invoice->get_view_url() ) . '">' . $invoice->get_number() . '</a>';
1901
+    $invoice_link = '<a href="' . esc_url($invoice->get_view_url()) . '">' . $invoice->get_number() . '</a>';
1902 1902
     
1903
-    return apply_filters( 'wpinv_get_invoice_link', $invoice_link, $invoice );
1903
+    return apply_filters('wpinv_get_invoice_link', $invoice_link, $invoice);
1904 1904
 }
1905 1905
 
1906
-function wpinv_invoice_subscription_details( $invoice ) {
1907
-    if ( !empty( $invoice ) && $invoice->is_recurring() && !wpinv_is_subscription_payment( $invoice ) ) {
1906
+function wpinv_invoice_subscription_details($invoice) {
1907
+    if (!empty($invoice) && $invoice->is_recurring() && !wpinv_is_subscription_payment($invoice)) {
1908 1908
         $total_payments = (int)$invoice->get_total_payments();
1909 1909
         $payments       = $invoice->get_child_payments();
1910 1910
         
1911 1911
         $subscription   = $invoice->get_subscription_data();
1912 1912
         
1913
-        if ( !( !empty( $subscription ) && !empty( $subscription['item_id'] ) ) ) {
1913
+        if (!(!empty($subscription) && !empty($subscription['item_id']))) {
1914 1914
             return;
1915 1915
         }
1916 1916
         
1917
-        $billing_cycle  = wpinv_get_billing_cycle( $subscription['initial_amount'], $subscription['recurring_amount'], $subscription['period'], $subscription['interval'], $subscription['bill_times'], $subscription['trial_period'], $subscription['trial_interval'], $invoice->get_currency() );
1918
-        $times_billed   = $total_payments . ' / ' . ( ( (int)$subscription['bill_times'] == 0 ) ? __( 'Until cancelled', 'invoicing' ) : $subscription['bill_times'] );
1917
+        $billing_cycle  = wpinv_get_billing_cycle($subscription['initial_amount'], $subscription['recurring_amount'], $subscription['period'], $subscription['interval'], $subscription['bill_times'], $subscription['trial_period'], $subscription['trial_interval'], $invoice->get_currency());
1918
+        $times_billed   = $total_payments . ' / ' . (((int)$subscription['bill_times'] == 0) ? __('Until cancelled', 'invoicing') : $subscription['bill_times']);
1919 1919
         
1920 1920
         $subscription_status = $invoice->get_subscription_status();
1921 1921
         
1922 1922
         $status_desc = '';
1923
-        if ( $subscription_status == 'trialing' && $trial_end_date = $invoice->get_trial_end_date() ) {
1924
-            $status_desc = wp_sprintf( __( 'Until: %s', 'invoicing' ), $trial_end_date );
1925
-        } else if ( $subscription_status == 'cancelled' && $cancelled_date = $invoice->get_cancelled_date() ) {
1926
-            $status_desc = wp_sprintf( __( 'On: %s', 'invoicing' ), $cancelled_date );
1923
+        if ($subscription_status == 'trialing' && $trial_end_date = $invoice->get_trial_end_date()) {
1924
+            $status_desc = wp_sprintf(__('Until: %s', 'invoicing'), $trial_end_date);
1925
+        } else if ($subscription_status == 'cancelled' && $cancelled_date = $invoice->get_cancelled_date()) {
1926
+            $status_desc = wp_sprintf(__('On: %s', 'invoicing'), $cancelled_date);
1927 1927
         }
1928 1928
         $status_desc = $status_desc != '' ? '<span class="meta">' . $status_desc . '</span>' : '';
1929 1929
         ?>
1930 1930
         <div class="wpinv-subscriptions-details">
1931
-            <h3 class="wpinv-subscriptions-t"><?php echo apply_filters( 'wpinv_subscription_details_title', __( 'Subscription Details', 'invoicing' ) ); ?></h3>
1931
+            <h3 class="wpinv-subscriptions-t"><?php echo apply_filters('wpinv_subscription_details_title', __('Subscription Details', 'invoicing')); ?></h3>
1932 1932
             <table class="table">
1933 1933
                 <thead>
1934 1934
                     <tr>
1935
-                        <th><?php _e( 'Billing Cycle', 'invoicing' ) ;?></th>
1936
-                        <th><?php _e( 'Start Date', 'invoicing' ) ;?></th>
1937
-                        <th><?php _e( 'Expiration Date', 'invoicing' ) ;?></th>
1938
-                        <th class="text-center"><?php _e( 'Times Billed', 'invoicing' ) ;?></th>
1939
-                        <th class="text-center"><?php _e( 'Status', 'invoicing' ) ;?></th>
1935
+                        <th><?php _e('Billing Cycle', 'invoicing'); ?></th>
1936
+                        <th><?php _e('Start Date', 'invoicing'); ?></th>
1937
+                        <th><?php _e('Expiration Date', 'invoicing'); ?></th>
1938
+                        <th class="text-center"><?php _e('Times Billed', 'invoicing'); ?></th>
1939
+                        <th class="text-center"><?php _e('Status', 'invoicing'); ?></th>
1940 1940
                     </tr>
1941 1941
                 </thead>
1942 1942
                 <tbody>
@@ -1945,32 +1945,32 @@  discard block
 block discarded – undo
1945 1945
                         <td><?php echo $invoice->get_subscription_start(); ?></td>
1946 1946
                         <td><?php echo $invoice->get_subscription_end(); ?></td>
1947 1947
                         <td class="text-center"><?php echo $times_billed; ?></td>
1948
-                        <td class="text-center wpi-sub-status"><?php echo $invoice->get_subscription_status_label() ;?>
1948
+                        <td class="text-center wpi-sub-status"><?php echo $invoice->get_subscription_status_label(); ?>
1949 1949
                         <?php echo $status_desc; ?>
1950 1950
                         </td>
1951 1951
                     </tr>
1952 1952
                 </tbody>
1953 1953
             </table>
1954 1954
         </div>
1955
-        <?php if ( !empty( $payments ) ) { ?>
1955
+        <?php if (!empty($payments)) { ?>
1956 1956
         <div class="wpinv-renewal-payments">
1957
-            <h3 class="wpinv-renewals-t"><?php echo apply_filters( 'wpinv_renewal_payments_title', __( 'Renewal Payments', 'invoicing' ) ); ?></h3>
1957
+            <h3 class="wpinv-renewals-t"><?php echo apply_filters('wpinv_renewal_payments_title', __('Renewal Payments', 'invoicing')); ?></h3>
1958 1958
             <table class="table">
1959 1959
                 <thead>
1960 1960
                     <tr>
1961 1961
                         <th>#</th>
1962
-                        <th><?php _e( 'Invoice', 'invoicing' ) ;?></th>
1963
-                        <th><?php _e( 'Date', 'invoicing' ) ;?></th>
1964
-                        <th class="text-right"><?php _e( 'Amount', 'invoicing' ) ;?></th>
1962
+                        <th><?php _e('Invoice', 'invoicing'); ?></th>
1963
+                        <th><?php _e('Date', 'invoicing'); ?></th>
1964
+                        <th class="text-right"><?php _e('Amount', 'invoicing'); ?></th>
1965 1965
                     </tr>
1966 1966
                 </thead>
1967 1967
                 <tbody>
1968
-                    <?php foreach ( $payments as $key => $invoice_id ) { ?>
1968
+                    <?php foreach ($payments as $key => $invoice_id) { ?>
1969 1969
                     <tr>
1970
-                        <th scope="row"><?php echo ( $key + 1 );?></th>
1971
-                        <td><?php echo wpinv_invoice_link( $invoice_id ) ;?></td>
1972
-                        <td><?php echo wpinv_get_invoice_date( $invoice_id ); ?></td>
1973
-                        <td class="text-right"><?php echo wpinv_payment_total( $invoice_id, true ); ?></td>
1970
+                        <th scope="row"><?php echo ($key + 1); ?></th>
1971
+                        <td><?php echo wpinv_invoice_link($invoice_id); ?></td>
1972
+                        <td><?php echo wpinv_get_invoice_date($invoice_id); ?></td>
1973
+                        <td class="text-right"><?php echo wpinv_payment_total($invoice_id, true); ?></td>
1974 1974
                     </tr>
1975 1975
                     <?php } ?>
1976 1976
                     <tr><td colspan="4" style="padding:0"></td></tr>
@@ -1982,52 +1982,52 @@  discard block
 block discarded – undo
1982 1982
     }
1983 1983
 }
1984 1984
 
1985
-function wpinv_cart_total_label( $label, $invoice ) {
1986
-    if ( empty( $invoice ) ) {
1985
+function wpinv_cart_total_label($label, $invoice) {
1986
+    if (empty($invoice)) {
1987 1987
         return $label;
1988 1988
     }
1989 1989
     
1990 1990
     $prefix_label = '';
1991
-    if ( $invoice->is_parent() && $item_id = $invoice->get_recurring() ) {        
1992
-        $prefix_label   = '<span class="label label-primary label-recurring">' . __( 'Recurring Payment', 'invoicing' ) . '</span> ' . wpinv_subscription_payment_desc( $invoice );
1993
-    } else if ( $invoice->is_renewal() ) {
1994
-        $prefix_label   = '<span class="label label-primary label-renewal">' . __( 'Renewal Payment', 'invoicing' ) . '</span> ';        
1991
+    if ($invoice->is_parent() && $item_id = $invoice->get_recurring()) {        
1992
+        $prefix_label   = '<span class="label label-primary label-recurring">' . __('Recurring Payment', 'invoicing') . '</span> ' . wpinv_subscription_payment_desc($invoice);
1993
+    } else if ($invoice->is_renewal()) {
1994
+        $prefix_label   = '<span class="label label-primary label-renewal">' . __('Renewal Payment', 'invoicing') . '</span> ';        
1995 1995
     }
1996 1996
     
1997
-    if ( $prefix_label != '' ) {
1998
-        $label  = '<span class="wpinv-cart-sub-desc">' . $prefix_label . '</span> ' . $label;
1997
+    if ($prefix_label != '') {
1998
+        $label = '<span class="wpinv-cart-sub-desc">' . $prefix_label . '</span> ' . $label;
1999 1999
     }
2000 2000
     
2001 2001
     return $label;
2002 2002
 }
2003
-add_filter( 'wpinv_cart_total_label', 'wpinv_cart_total_label', 10, 2 );
2004
-add_filter( 'wpinv_email_cart_total_label', 'wpinv_cart_total_label', 10, 2 );
2005
-add_filter( 'wpinv_print_cart_total_label', 'wpinv_cart_total_label', 10, 2 );
2003
+add_filter('wpinv_cart_total_label', 'wpinv_cart_total_label', 10, 2);
2004
+add_filter('wpinv_email_cart_total_label', 'wpinv_cart_total_label', 10, 2);
2005
+add_filter('wpinv_print_cart_total_label', 'wpinv_cart_total_label', 10, 2);
2006 2006
 
2007
-add_action( 'wpinv_invoice_print_middle', 'wpinv_invoice_subscription_details', 10, 1 );
2007
+add_action('wpinv_invoice_print_middle', 'wpinv_invoice_subscription_details', 10, 1);
2008 2008
 
2009
-function wpinv_invoice_print_description( $invoice ) {
2010
-    if ( empty( $invoice ) ) {
2009
+function wpinv_invoice_print_description($invoice) {
2010
+    if (empty($invoice)) {
2011 2011
         return NULL;
2012 2012
     }
2013
-    if ( $description = wpinv_get_invoice_description( $invoice->ID ) ) {
2013
+    if ($description = wpinv_get_invoice_description($invoice->ID)) {
2014 2014
         ?>
2015 2015
         <div class="row wpinv-lower">
2016 2016
             <div class="col-sm-12 wpinv-description">
2017
-                <?php echo wpautop( $description ); ?>
2017
+                <?php echo wpautop($description); ?>
2018 2018
             </div>
2019 2019
         </div>
2020 2020
         <?php
2021 2021
     }
2022 2022
 }
2023
-add_action( 'wpinv_invoice_print_middle', 'wpinv_invoice_print_description', 10.1, 1 );
2023
+add_action('wpinv_invoice_print_middle', 'wpinv_invoice_print_description', 10.1, 1);
2024 2024
 
2025
-function wpinv_invoice_print_payment_info( $invoice ) {
2026
-    if ( empty( $invoice ) ) {
2025
+function wpinv_invoice_print_payment_info($invoice) {
2026
+    if (empty($invoice)) {
2027 2027
         return NULL;
2028 2028
     }
2029 2029
     
2030
-    if ( $payments_info = wpinv_display_payments_info( $invoice->ID, false ) ) {
2030
+    if ($payments_info = wpinv_display_payments_info($invoice->ID, false)) {
2031 2031
         ?>
2032 2032
         <div class="row wpinv-payments">
2033 2033
             <div class="col-sm-12">
@@ -2039,43 +2039,43 @@  discard block
 block discarded – undo
2039 2039
 }
2040 2040
 // add_action( 'wpinv_invoice_print_after_line_items', 'wpinv_invoice_print_payment_info', 10, 1 );
2041 2041
 
2042
-function wpinv_get_invoice_note_line_item( $note, $echo = true ) {
2043
-    if ( empty( $note ) ) {
2042
+function wpinv_get_invoice_note_line_item($note, $echo = true) {
2043
+    if (empty($note)) {
2044 2044
         return NULL;
2045 2045
     }
2046 2046
     
2047
-    if ( is_int( $note ) ) {
2048
-        $note = get_comment( $note );
2047
+    if (is_int($note)) {
2048
+        $note = get_comment($note);
2049 2049
     }
2050 2050
     
2051
-    if ( !( is_object( $note ) && is_a( $note, 'WP_Comment' ) ) ) {
2051
+    if (!(is_object($note) && is_a($note, 'WP_Comment'))) {
2052 2052
         return NULL;
2053 2053
     }
2054 2054
     
2055
-    $note_classes   = array( 'note' );
2056
-    $note_classes[] = get_comment_meta( $note->comment_ID, '_wpi_customer_note', true ) ? 'customer-note' : '';
2057
-    $note_classes[] = $note->comment_author === __( 'System', 'invoicing' ) ? 'system-note' : '';
2058
-    $note_classes   = apply_filters( 'wpinv_invoice_note_class', array_filter( $note_classes ), $note );
2059
-    $note_classes   = !empty( $note_classes ) ? implode( ' ', $note_classes ) : '';
2055
+    $note_classes   = array('note');
2056
+    $note_classes[] = get_comment_meta($note->comment_ID, '_wpi_customer_note', true) ? 'customer-note' : '';
2057
+    $note_classes[] = $note->comment_author === __('System', 'invoicing') ? 'system-note' : '';
2058
+    $note_classes   = apply_filters('wpinv_invoice_note_class', array_filter($note_classes), $note);
2059
+    $note_classes   = !empty($note_classes) ? implode(' ', $note_classes) : '';
2060 2060
     
2061 2061
     ob_start();
2062 2062
     ?>
2063
-    <li rel="<?php echo absint( $note->comment_ID ) ; ?>" class="<?php echo esc_attr( $note_classes ); ?>">
2063
+    <li rel="<?php echo absint($note->comment_ID); ?>" class="<?php echo esc_attr($note_classes); ?>">
2064 2064
         <div class="note_content">
2065
-            <?php echo wpautop( wptexturize( wp_kses_post( $note->comment_content ) ) ); ?>
2065
+            <?php echo wpautop(wptexturize(wp_kses_post($note->comment_content))); ?>
2066 2066
         </div>
2067 2067
         <p class="meta">
2068
-            <abbr class="exact-date" title="<?php echo $note->comment_date; ?>"><?php printf( __( '%1$s - %2$s at %3$s', 'invoicing' ), $note->comment_author, date_i18n( get_option( 'date_format' ), strtotime( $note->comment_date ) ), date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) ) ); ?></abbr>&nbsp;&nbsp;
2069
-            <?php if($note->comment_author !== 'System') {?>
2070
-                <a href="#" class="delete_note"><?php _e( 'Delete note', 'invoicing' ); ?></a>
2068
+            <abbr class="exact-date" title="<?php echo $note->comment_date; ?>"><?php printf(__('%1$s - %2$s at %3$s', 'invoicing'), $note->comment_author, date_i18n(get_option('date_format'), strtotime($note->comment_date)), date_i18n(get_option('time_format'), strtotime($note->comment_date))); ?></abbr>&nbsp;&nbsp;
2069
+            <?php if ($note->comment_author !== 'System') {?>
2070
+                <a href="#" class="delete_note"><?php _e('Delete note', 'invoicing'); ?></a>
2071 2071
             <?php } ?>
2072 2072
         </p>
2073 2073
     </li>
2074 2074
     <?php
2075 2075
     $note_content = ob_get_clean();
2076
-    $note_content = apply_filters( 'wpinv_get_invoice_note_line_item', $note_content, $note, $echo );
2076
+    $note_content = apply_filters('wpinv_get_invoice_note_line_item', $note_content, $note, $echo);
2077 2077
     
2078
-    if ( $echo ) {
2078
+    if ($echo) {
2079 2079
         echo $note_content;
2080 2080
     } else {
2081 2081
         return $note_content;
@@ -2085,33 +2085,33 @@  discard block
 block discarded – undo
2085 2085
 function wpinv_invalid_invoice_content() {
2086 2086
     global $post;
2087 2087
 
2088
-    $invoice = wpinv_get_invoice( $post->ID );
2088
+    $invoice = wpinv_get_invoice($post->ID);
2089 2089
 
2090
-    $error = __( 'This invoice is only viewable by clicking on the invoice link that sent to you via email.', 'invoicing' );
2091
-    if ( !empty( $invoice->ID ) && $invoice->has_status( array_keys( wpinv_get_invoice_statuses() ) ) ) {
2092
-        if ( is_user_logged_in() ) {
2093
-            if ( wpinv_require_login_to_checkout() ) {
2094
-                if ( isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2095
-                    $error = __( 'You are not allowed to view this invoice.', 'invoicing' );
2090
+    $error = __('This invoice is only viewable by clicking on the invoice link that sent to you via email.', 'invoicing');
2091
+    if (!empty($invoice->ID) && $invoice->has_status(array_keys(wpinv_get_invoice_statuses()))) {
2092
+        if (is_user_logged_in()) {
2093
+            if (wpinv_require_login_to_checkout()) {
2094
+                if (isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
2095
+                    $error = __('You are not allowed to view this invoice.', 'invoicing');
2096 2096
                 }
2097 2097
             }
2098 2098
         } else {
2099
-            if ( wpinv_require_login_to_checkout() ) {
2100
-                if ( isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2101
-                    $error = __( 'You must be logged in to view this invoice.', 'invoicing' );
2099
+            if (wpinv_require_login_to_checkout()) {
2100
+                if (isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
2101
+                    $error = __('You must be logged in to view this invoice.', 'invoicing');
2102 2102
                 }
2103 2103
             }
2104 2104
         }
2105 2105
     } else {
2106
-        $error = __( 'This invoice is deleted or does not exist.', 'invoicing' );
2106
+        $error = __('This invoice is deleted or does not exist.', 'invoicing');
2107 2107
     }
2108 2108
     ?>
2109 2109
     <div class="row wpinv-row-invalid">
2110 2110
         <div class="col-md-6 col-md-offset-3 wpinv-message error">
2111
-            <h3><?php _e( 'Access Denied', 'invoicing' ); ?></h3>
2111
+            <h3><?php _e('Access Denied', 'invoicing'); ?></h3>
2112 2112
             <p class="wpinv-msg-text"><?php echo $error; ?></p>
2113 2113
         </div>
2114 2114
     </div>
2115 2115
     <?php
2116 2116
 }
2117
-add_action( 'wpinv_invalid_invoice_content', 'wpinv_invalid_invoice_content' );
2118 2117
\ No newline at end of file
2118
+add_action('wpinv_invalid_invoice_content', 'wpinv_invalid_invoice_content');
2119 2119
\ No newline at end of file
Please login to merge, or discard this patch.
includes/class-wpinv.php 1 patch
Spacing   +156 added lines, -156 removed lines patch added patch discarded remove patch
@@ -7,15 +7,15 @@  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
 class WPInv_Plugin {
15 15
     private static $instance;
16 16
     
17 17
     public static function run() {
18
-        if ( !isset( self::$instance ) && !( self::$instance instanceof WPInv_Plugin ) ) {
18
+        if (!isset(self::$instance) && !(self::$instance instanceof WPInv_Plugin)) {
19 19
             self::$instance = new WPInv_Plugin;
20 20
             self::$instance->includes();
21 21
             self::$instance->actions();
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
             self::$instance->reports    = new WPInv_Reports();
24 24
         }
25 25
         
26
-        do_action( 'wpinv_loaded' );
26
+        do_action('wpinv_loaded');
27 27
         
28 28
         return self::$instance;
29 29
     }
@@ -33,31 +33,31 @@  discard block
 block discarded – undo
33 33
     }
34 34
     
35 35
     public function define_constants() {
36
-        define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
37
-        define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
36
+        define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE));
37
+        define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE));
38 38
     }
39 39
     
40 40
     private function actions() {
41 41
         /* Internationalize the text strings used. */
42
-        add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
42
+        add_action('plugins_loaded', array(&$this, 'plugins_loaded'));
43 43
         
44 44
         /* Perform actions on admin initialization. */
45
-        add_action( 'admin_init', array( &$this, 'admin_init') );
46
-        add_action( 'init', array( &$this, 'init' ), 3 );
47
-        add_action( 'init', array( 'WPInv_Shortcodes', 'init' ) );
48
-        add_action( 'init', array( &$this, 'wpinv_actions' ) );
45
+        add_action('admin_init', array(&$this, 'admin_init'));
46
+        add_action('init', array(&$this, 'init'), 3);
47
+        add_action('init', array('WPInv_Shortcodes', 'init'));
48
+        add_action('init', array(&$this, 'wpinv_actions'));
49 49
         
50
-        if ( class_exists( 'BuddyPress' ) ) {
51
-            add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) );
50
+        if (class_exists('BuddyPress')) {
51
+            add_action('bp_include', array(&$this, 'bp_invoicing_init'));
52 52
         }
53 53
 
54
-        add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_scripts' ) );
54
+        add_action('wp_enqueue_scripts', array(&$this, 'enqueue_scripts'));
55 55
         
56
-        if ( is_admin() ) {
57
-            add_action( 'admin_enqueue_scripts', array( &$this, 'admin_enqueue_scripts' ) );
58
-            add_action( 'admin_body_class', array( &$this, 'admin_body_class' ) );
56
+        if (is_admin()) {
57
+            add_action('admin_enqueue_scripts', array(&$this, 'admin_enqueue_scripts'));
58
+            add_action('admin_body_class', array(&$this, 'admin_body_class'));
59 59
         } else {
60
-            add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
60
+            add_filter('pre_get_posts', array(&$this, 'pre_get_posts'));
61 61
         }
62 62
         
63 63
         /**
@@ -67,9 +67,9 @@  discard block
 block discarded – undo
67 67
          *
68 68
          * @param WPInv_Plugin $this. Current WPInv_Plugin instance. Passed by reference.
69 69
          */
70
-        do_action_ref_array( 'wpinv_actions', array( &$this ) );
70
+        do_action_ref_array('wpinv_actions', array(&$this));
71 71
 
72
-        add_action( 'admin_init', array( &$this, 'activation_redirect') );
72
+        add_action('admin_init', array(&$this, 'activation_redirect'));
73 73
     }
74 74
     
75 75
     public function plugins_loaded() {
@@ -83,194 +83,194 @@  discard block
 block discarded – undo
83 83
      * @since 1.0
84 84
      */
85 85
     public function load_textdomain() {
86
-        $locale = apply_filters( 'plugin_locale', get_locale(), 'invoicing' );
86
+        $locale = apply_filters('plugin_locale', get_locale(), 'invoicing');
87 87
         
88
-        load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
89
-        load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
88
+        load_textdomain('invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo');
89
+        load_plugin_textdomain('invoicing', false, WPINV_PLUGIN_DIR . 'languages');
90 90
         
91 91
         /**
92 92
          * Define language constants.
93 93
          */
94
-        require_once( WPINV_PLUGIN_DIR . 'language.php' );
94
+        require_once(WPINV_PLUGIN_DIR . 'language.php');
95 95
     }
96 96
         
97 97
     public function includes() {
98 98
         global $wpinv_options;
99 99
         
100
-        require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
100
+        require_once(WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php');
101 101
         $wpinv_options = wpinv_get_settings();
102 102
         
103
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-post-types.php' );
104
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
105
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
106
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
107
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
108
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
109
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
110
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-invoice-functions.php' );
111
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
112
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
113
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
114
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
115
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php' );
116
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-error-functions.php' );
103
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-post-types.php');
104
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php');
105
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php');
106
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php');
107
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php');
108
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php');
109
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php');
110
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-invoice-functions.php');
111
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php');
112
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php');
113
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php');
114
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php');
115
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php');
116
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-error-functions.php');
117 117
         //require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
118 118
         //require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
119
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-invoice.php' );
119
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-invoice.php');
120 120
         //require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscription.php' );
121
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php' );
122
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php' );
123
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session.php' );
124
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
125
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
126
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php' );
127
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-shortcodes.php' );
128
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
129
-        if ( !class_exists( 'WPInv_EUVat' ) ) {
130
-            require_once( WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php' );
121
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php');
122
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php');
123
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session.php');
124
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php');
125
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php');
126
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php');
127
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-shortcodes.php');
128
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php');
129
+        if (!class_exists('WPInv_EUVat')) {
130
+            require_once(WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php');
131 131
         }
132 132
         
133
-        $gateways = array_keys( wpinv_get_enabled_payment_gateways() );
134
-        if ( !empty( $gateways ) ) {
135
-            foreach ( $gateways as $gateway ) {
136
-                if ( $gateway == 'manual' ) {
133
+        $gateways = array_keys(wpinv_get_enabled_payment_gateways());
134
+        if (!empty($gateways)) {
135
+            foreach ($gateways as $gateway) {
136
+                if ($gateway == 'manual') {
137 137
                     continue;
138 138
                 }
139 139
                 
140 140
                 $gateway_file = WPINV_PLUGIN_DIR . 'includes/gateways/' . $gateway . '.php';
141 141
                 
142
-                if ( file_exists( $gateway_file ) ) {
143
-                    require_once( $gateway_file );
142
+                if (file_exists($gateway_file)) {
143
+                    require_once($gateway_file);
144 144
                 }
145 145
             }
146 146
         }
147
-        require_once( WPINV_PLUGIN_DIR . 'includes/gateways/manual.php' );
147
+        require_once(WPINV_PLUGIN_DIR . 'includes/gateways/manual.php');
148 148
         
149
-        if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
150
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php' );
151
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
152
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php' );
149
+        if (is_admin() || (defined('WP_CLI') && WP_CLI)) {
150
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php');
151
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php');
152
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php');
153 153
             //require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-recurring-admin.php' );
154
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php' );
155
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php' );
156
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
157
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php' );
158
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
154
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php');
155
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php');
156
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php');
157
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php');
158
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php');
159 159
             //require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
160 160
         }
161 161
         
162 162
         // include css inliner
163
-        if ( ! class_exists( 'Emogrifier' ) && class_exists( 'DOMDocument' ) ) {
164
-            include_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php' );
163
+        if (!class_exists('Emogrifier') && class_exists('DOMDocument')) {
164
+            include_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php');
165 165
         }
166 166
         
167
-        require_once( WPINV_PLUGIN_DIR . 'includes/admin/install.php' );
167
+        require_once(WPINV_PLUGIN_DIR . 'includes/admin/install.php');
168 168
     }
169 169
     
170 170
     public function init() {
171 171
     }
172 172
     
173 173
     public function admin_init() {
174
-        if (!(defined( 'DOING_AJAX' ) && DOING_AJAX)) {
174
+        if (!(defined('DOING_AJAX') && DOING_AJAX)) {
175 175
         }
176 176
         
177
-        add_action( 'admin_print_scripts-edit.php', array( &$this, 'admin_print_scripts_edit_php' ) );
177
+        add_action('admin_print_scripts-edit.php', array(&$this, 'admin_print_scripts_edit_php'));
178 178
     }
179 179
 
180 180
     public function activation_redirect() {
181 181
         // Bail if no activation redirect
182
-        if ( !get_transient( '_wpinv_activation_redirect' ) ) {
182
+        if (!get_transient('_wpinv_activation_redirect')) {
183 183
             return;
184 184
         }
185 185
 
186 186
         // Delete the redirect transient
187
-        delete_transient( '_wpinv_activation_redirect' );
187
+        delete_transient('_wpinv_activation_redirect');
188 188
 
189 189
         // Bail if activating from network, or bulk
190
-        if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
190
+        if (is_network_admin() || isset($_GET['activate-multi'])) {
191 191
             return;
192 192
         }
193 193
 
194
-        wp_safe_redirect( admin_url( 'admin.php?page=wpinv-settings&tab=general' ) );
194
+        wp_safe_redirect(admin_url('admin.php?page=wpinv-settings&tab=general'));
195 195
         exit;
196 196
     }
197 197
     
198 198
     public function enqueue_scripts() {
199
-        $suffix       = '';//defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
199
+        $suffix = ''; //defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
200 200
         
201
-        wp_deregister_style( 'font-awesome' );
202
-        wp_register_style( 'font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome' . $suffix . '.css', array(), '4.7.0' );
203
-        wp_enqueue_style( 'font-awesome' );
201
+        wp_deregister_style('font-awesome');
202
+        wp_register_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome' . $suffix . '.css', array(), '4.7.0');
203
+        wp_enqueue_style('font-awesome');
204 204
         
205
-        wp_register_style( 'wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION );
206
-        wp_enqueue_style( 'wpinv_front_style' );
205
+        wp_register_style('wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION);
206
+        wp_enqueue_style('wpinv_front_style');
207 207
                
208 208
         // Register scripts
209
-        wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true );
210
-        wp_register_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front' . $suffix . '.js', array( 'jquery', 'wpinv-vat-script' ),  WPINV_VERSION );
209
+        wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true);
210
+        wp_register_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front' . $suffix . '.js', array('jquery', 'wpinv-vat-script'), WPINV_VERSION);
211 211
         
212 212
         $localize                         = array();
213
-        $localize['ajax_url']             = admin_url( 'admin-ajax.php' );
214
-        $localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
213
+        $localize['ajax_url']             = admin_url('admin-ajax.php');
214
+        $localize['nonce']                = wp_create_nonce('wpinv-nonce');
215 215
         $localize['currency_symbol']      = wpinv_currency_symbol();
216 216
         $localize['currency_pos']         = wpinv_currency_position();
217 217
         $localize['thousand_sep']         = wpinv_thousands_separator();
218 218
         $localize['decimal_sep']          = wpinv_decimal_separator();
219 219
         $localize['decimals']             = wpinv_decimals();
220
-        $localize['txtComplete']          = __( 'Complete', 'invoicing' );
220
+        $localize['txtComplete']          = __('Complete', 'invoicing');
221 221
         
222
-        $localize = apply_filters( 'wpinv_front_js_localize', $localize );
222
+        $localize = apply_filters('wpinv_front_js_localize', $localize);
223 223
         
224
-        wp_enqueue_script( 'jquery-blockui' );
224
+        wp_enqueue_script('jquery-blockui');
225 225
         $autofill_api = wpinv_get_option('address_autofill_api');
226 226
         $autofill_active = wpinv_get_option('address_autofill_active');
227
-        if ( isset( $autofill_active ) && 1 == $autofill_active && !empty( $autofill_api ) && wpinv_is_checkout() ) {
228
-            if ( wp_script_is( 'google-maps-api', 'enqueued' ) ) {
229
-                wp_dequeue_script( 'google-maps-api' );
227
+        if (isset($autofill_active) && 1 == $autofill_active && !empty($autofill_api) && wpinv_is_checkout()) {
228
+            if (wp_script_is('google-maps-api', 'enqueued')) {
229
+                wp_dequeue_script('google-maps-api');
230 230
             }
231
-            wp_enqueue_script( 'google-maps-api', 'https://maps.googleapis.com/maps/api/js?key=' . $autofill_api . '&libraries=places', array( 'jquery' ), '', false );
232
-            wp_enqueue_script( 'google-maps-init', WPINV_PLUGIN_URL . 'assets/js/gaaf.js', array( 'jquery', 'google-maps-api' ), '', true );
231
+            wp_enqueue_script('google-maps-api', 'https://maps.googleapis.com/maps/api/js?key=' . $autofill_api . '&libraries=places', array('jquery'), '', false);
232
+            wp_enqueue_script('google-maps-init', WPINV_PLUGIN_URL . 'assets/js/gaaf.js', array('jquery', 'google-maps-api'), '', true);
233 233
         }
234
-        wp_enqueue_script( 'wpinv-front-script' );
235
-        wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
234
+        wp_enqueue_script('wpinv-front-script');
235
+        wp_localize_script('wpinv-front-script', 'WPInv', $localize);
236 236
     }
237 237
 
238 238
     public function admin_enqueue_scripts() {
239 239
         global $post, $pagenow;
240 240
         
241 241
         $post_type  = wpinv_admin_post_type();
242
-        $suffix     = '';//defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
243
-        $page       = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : '';
242
+        $suffix     = ''; //defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
243
+        $page       = isset($_GET['page']) ? strtolower($_GET['page']) : '';
244 244
 
245
-        wp_deregister_style( 'font-awesome' );
246
-        wp_register_style( 'font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome' . $suffix . '.css', array(), '4.7.0' );
247
-        wp_enqueue_style( 'font-awesome' );
245
+        wp_deregister_style('font-awesome');
246
+        wp_register_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome' . $suffix . '.css', array(), '4.7.0');
247
+        wp_enqueue_style('font-awesome');
248 248
         
249 249
         $jquery_ui_css = false;
250
-        if ( ( $post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $post_type == 'wpi_discount' ) && ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) ) {
250
+        if (($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $post_type == 'wpi_discount') && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) {
251 251
             $jquery_ui_css = true;
252
-        } else if ( $page == 'wpinv-settings' || $page == 'wpinv-reports' ) {
252
+        } else if ($page == 'wpinv-settings' || $page == 'wpinv-reports') {
253 253
             $jquery_ui_css = true;
254 254
         }
255
-        if ( $jquery_ui_css ) {
256
-            wp_register_style( 'jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16' );
257
-            wp_enqueue_style( 'jquery-ui-css' );
255
+        if ($jquery_ui_css) {
256
+            wp_register_style('jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16');
257
+            wp_enqueue_style('jquery-ui-css');
258 258
         }
259 259
 
260
-        wp_register_style( 'wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION );
261
-        wp_enqueue_style( 'wpinv_meta_box_style' );
260
+        wp_register_style('wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION);
261
+        wp_enqueue_style('wpinv_meta_box_style');
262 262
         
263
-        wp_register_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION );
264
-        wp_enqueue_style( 'wpinv_admin_style' );
263
+        wp_register_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION);
264
+        wp_enqueue_style('wpinv_admin_style');
265 265
         
266
-        if ( $post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) ) {
267
-            wp_enqueue_script( 'jquery-ui-datepicker' );
266
+        if ($post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) {
267
+            wp_enqueue_script('jquery-ui-datepicker');
268 268
         }
269 269
 
270
-        wp_enqueue_style( 'wp-color-picker' );
271
-        wp_enqueue_script( 'wp-color-picker' );
270
+        wp_enqueue_style('wp-color-picker');
271
+        wp_enqueue_script('wp-color-picker');
272 272
         
273
-        wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true );
273
+        wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true);
274 274
 
275 275
         if ($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) {
276 276
             $autofill_api = wpinv_get_option('address_autofill_api');
@@ -281,17 +281,17 @@  discard block
 block discarded – undo
281 281
             }
282 282
         }
283 283
 
284
-        wp_register_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin' . $suffix . '.js', array( 'jquery', 'jquery-blockui','jquery-ui-tooltip' ),  WPINV_VERSION );
285
-        wp_enqueue_script( 'wpinv-admin-script' );
284
+        wp_register_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin' . $suffix . '.js', array('jquery', 'jquery-blockui', 'jquery-ui-tooltip'), WPINV_VERSION);
285
+        wp_enqueue_script('wpinv-admin-script');
286 286
         
287 287
         $localize                               = array();
288
-        $localize['ajax_url']                   = admin_url( 'admin-ajax.php' );
289
-        $localize['post_ID']                    = isset( $post->ID ) ? $post->ID : '';
290
-        $localize['wpinv_nonce']                = wp_create_nonce( 'wpinv-nonce' );
291
-        $localize['add_invoice_note_nonce']     = wp_create_nonce( 'add-invoice-note' );
292
-        $localize['delete_invoice_note_nonce']  = wp_create_nonce( 'delete-invoice-note' );
293
-        $localize['invoice_item_nonce']         = wp_create_nonce( 'invoice-item' );
294
-        $localize['billing_details_nonce']      = wp_create_nonce( 'get-billing-details' );
288
+        $localize['ajax_url']                   = admin_url('admin-ajax.php');
289
+        $localize['post_ID']                    = isset($post->ID) ? $post->ID : '';
290
+        $localize['wpinv_nonce']                = wp_create_nonce('wpinv-nonce');
291
+        $localize['add_invoice_note_nonce']     = wp_create_nonce('add-invoice-note');
292
+        $localize['delete_invoice_note_nonce']  = wp_create_nonce('delete-invoice-note');
293
+        $localize['invoice_item_nonce']         = wp_create_nonce('invoice-item');
294
+        $localize['billing_details_nonce']      = wp_create_nonce('get-billing-details');
295 295
         $localize['tax']                        = wpinv_tax_amount();
296 296
         $localize['discount']                   = wpinv_discount_amount();
297 297
         $localize['currency_symbol']            = wpinv_currency_symbol();
@@ -299,60 +299,60 @@  discard block
 block discarded – undo
299 299
         $localize['thousand_sep']               = wpinv_thousands_separator();
300 300
         $localize['decimal_sep']                = wpinv_decimal_separator();
301 301
         $localize['decimals']                   = wpinv_decimals();
302
-        $localize['save_invoice']               = __( 'Save Invoice', 'invoicing' );
303
-        $localize['status_publish']             = wpinv_status_nicename( 'publish' );
304
-        $localize['status_pending']             = wpinv_status_nicename( 'wpi-pending' );
305
-        $localize['delete_tax_rate']            = __( 'Are you sure you wish to delete this tax rate?', 'invoicing' );
306
-        $localize['OneItemMin']                 = __( 'Invoice must contain at least one item', 'invoicing' );
307
-        $localize['DeleteInvoiceItem']          = __( 'Are you sure you wish to delete this item?', 'invoicing' );
308
-        $localize['FillBillingDetails']         = __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' );
309
-        $localize['confirmCalcTotals']          = __( 'Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing' );
310
-        $localize['AreYouSure']                 = __( 'Are you sure?', 'invoicing' );
311
-        $localize['errDeleteItem']              = __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' );
302
+        $localize['save_invoice']               = __('Save Invoice', 'invoicing');
303
+        $localize['status_publish']             = wpinv_status_nicename('publish');
304
+        $localize['status_pending']             = wpinv_status_nicename('wpi-pending');
305
+        $localize['delete_tax_rate']            = __('Are you sure you wish to delete this tax rate?', 'invoicing');
306
+        $localize['OneItemMin']                 = __('Invoice must contain at least one item', 'invoicing');
307
+        $localize['DeleteInvoiceItem']          = __('Are you sure you wish to delete this item?', 'invoicing');
308
+        $localize['FillBillingDetails']         = __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing');
309
+        $localize['confirmCalcTotals']          = __('Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing');
310
+        $localize['AreYouSure']                 = __('Are you sure?', 'invoicing');
311
+        $localize['errDeleteItem']              = __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing');
312 312
 
313
-        $localize = apply_filters( 'wpinv_admin_js_localize', $localize );
313
+        $localize = apply_filters('wpinv_admin_js_localize', $localize);
314 314
 
315
-        wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', $localize );
315
+        wp_localize_script('wpinv-admin-script', 'WPInv_Admin', $localize);
316 316
     }
317 317
     
318
-    public function admin_body_class( $classes ) {
318
+    public function admin_body_class($classes) {
319 319
         global $pagenow, $post, $current_screen;
320 320
         
321
-        if ( !empty( $current_screen->post_type ) && ( $current_screen->post_type == 'wpi_invoice' || $current_screen->post_type == 'wpi_quote' ) ) {
321
+        if (!empty($current_screen->post_type) && ($current_screen->post_type == 'wpi_invoice' || $current_screen->post_type == 'wpi_quote')) {
322 322
             $classes .= ' wpinv-cpt';
323 323
         }
324 324
         
325
-        $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : false;
325
+        $page = isset($_GET['page']) ? strtolower($_GET['page']) : false;
326 326
 
327 327
         $add_class = false;
328
-        if ( $pagenow == 'admin.php' && $page ) {
329
-            $add_class = strpos( $page, 'wpinv-' );
328
+        if ($pagenow == 'admin.php' && $page) {
329
+            $add_class = strpos($page, 'wpinv-');
330 330
         }
331 331
         
332 332
         $settings_class = array();
333
-        if ( $page == 'wpinv-settings' ) {
334
-            if ( !empty( $_REQUEST['tab'] ) ) {
335
-                $settings_class[] = sanitize_text_field( $_REQUEST['tab'] );
333
+        if ($page == 'wpinv-settings') {
334
+            if (!empty($_REQUEST['tab'])) {
335
+                $settings_class[] = sanitize_text_field($_REQUEST['tab']);
336 336
             }
337 337
             
338
-            if ( !empty( $_REQUEST['section'] ) ) {
339
-                $settings_class[] = sanitize_text_field( $_REQUEST['section'] );
338
+            if (!empty($_REQUEST['section'])) {
339
+                $settings_class[] = sanitize_text_field($_REQUEST['section']);
340 340
             }
341 341
             
342
-            $settings_class[] = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field( $_REQUEST['wpi_sub'] ) : 'main';
342
+            $settings_class[] = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field($_REQUEST['wpi_sub']) : 'main';
343 343
         }
344 344
         
345
-        if ( !empty( $settings_class ) ) {
346
-            $classes .= ' wpi-' . wpinv_sanitize_key( implode( $settings_class, '-' ) );
345
+        if (!empty($settings_class)) {
346
+            $classes .= ' wpi-' . wpinv_sanitize_key(implode($settings_class, '-'));
347 347
         }
348 348
         
349 349
         $post_type = wpinv_admin_post_type();
350 350
 
351
-        if ( $post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false ) {
351
+        if ($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false) {
352 352
             return $classes .= ' wpinv';
353 353
         }
354 354
         
355
-        if ( $pagenow == 'post.php' && $post_type == 'wpi_item' && !empty( $post ) && !wpinv_item_is_editable( $post ) ) {
355
+        if ($pagenow == 'post.php' && $post_type == 'wpi_item' && !empty($post) && !wpinv_item_is_editable($post)) {
356 356
             $classes .= ' wpi-editable-n';
357 357
         }
358 358
 
@@ -364,20 +364,20 @@  discard block
 block discarded – undo
364 364
     }
365 365
     
366 366
     public function wpinv_actions() {
367
-        if ( isset( $_REQUEST['wpi_action'] ) ) {
368
-            do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
367
+        if (isset($_REQUEST['wpi_action'])) {
368
+            do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST);
369 369
         }
370 370
     }
371 371
     
372
-    public function pre_get_posts( $wp_query ) {
373
-        if ( !empty( $wp_query->query_vars['post_type'] ) && $wp_query->query_vars['post_type'] == 'wpi_invoice' && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
374
-            $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses() );
372
+    public function pre_get_posts($wp_query) {
373
+        if (!empty($wp_query->query_vars['post_type']) && $wp_query->query_vars['post_type'] == 'wpi_invoice' && is_user_logged_in() && is_single() && $wp_query->is_main_query()) {
374
+            $wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses());
375 375
         }
376 376
         
377 377
         return $wp_query;
378 378
     }
379 379
     
380 380
     public function bp_invoicing_init() {
381
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' );
381
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php');
382 382
     }
383 383
 }
384 384
\ No newline at end of file
Please login to merge, or discard this patch.
includes/libraries/wpinv-euvat/class-wpinv-euvat.php 1 patch
Spacing   +710 added lines, -710 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // Exit if accessed directly.
3
-if (!defined( 'ABSPATH' ) ) exit;
3
+if (!defined('ABSPATH')) exit;
4 4
 
5 5
 class WPInv_EUVat {
6 6
     private static $is_ajax = false;
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
     private static $instance = false;
9 9
     
10 10
     public static function get_instance() {
11
-        if ( !self::$instance ) {
11
+        if (!self::$instance) {
12 12
             self::$instance = new self();
13 13
             self::$instance->actions();
14 14
         }
@@ -17,132 +17,132 @@  discard block
 block discarded – undo
17 17
     }
18 18
     
19 19
     public function __construct() {
20
-        self::$is_ajax          = defined( 'DOING_AJAX' ) && DOING_AJAX;
20
+        self::$is_ajax          = defined('DOING_AJAX') && DOING_AJAX;
21 21
         self::$default_country  = wpinv_get_default_country();
22 22
     }
23 23
     
24 24
     public static function actions() {
25
-        if ( is_admin() ) {
26
-            add_action( 'admin_enqueue_scripts', array( self::$instance, 'enqueue_admin_scripts' ) );
27
-            add_action( 'wpinv_settings_sections_taxes', array( self::$instance, 'section_vat_settings' ) ); 
28
-            add_action( 'wpinv_settings_taxes', array( self::$instance, 'vat_settings' ) );
29
-            add_filter( 'wpinv_settings_taxes-vat_sanitize', array( self::$instance, 'sanitize_vat_settings' ) );
30
-            add_filter( 'wpinv_settings_taxes-vat_rates_sanitize', array( self::$instance, 'sanitize_vat_rates' ) );
31
-            add_action( 'wp_ajax_wpinv_add_vat_class', array( self::$instance, 'add_class' ) );
32
-            add_action( 'wp_ajax_nopriv_wpinv_add_vat_class', array( self::$instance, 'add_class' ) );
33
-            add_action( 'wp_ajax_wpinv_delete_vat_class', array( self::$instance, 'delete_class' ) );
34
-            add_action( 'wp_ajax_nopriv_wpinv_delete_vat_class', array( self::$instance, 'delete_class' ) );
35
-            add_action( 'wp_ajax_wpinv_update_vat_rates', array( self::$instance, 'update_eu_rates' ) );
36
-            add_action( 'wp_ajax_nopriv_wpinv_update_vat_rates', array( self::$instance, 'update_eu_rates' ) );
37
-            add_action( 'wp_ajax_wpinv_geoip2', array( self::$instance, 'geoip2_download_database' ) );
38
-            add_action( 'wp_ajax_nopriv_wpinv_geoip2', array( self::$instance, 'geoip2_download_database' ) );
39
-        }
40
-        
41
-        add_action( 'wp_enqueue_scripts', array( self::$instance, 'enqueue_vat_scripts' ) );
42
-        add_filter( 'wpinv_default_billing_country', array( self::$instance, 'get_user_country' ), 10 );
43
-        add_filter( 'wpinv_get_user_country', array( self::$instance, 'set_user_country' ), 10 );
44
-        add_action( 'wp_ajax_wpinv_vat_validate', array( self::$instance, 'ajax_vat_validate' ) );
45
-        add_action( 'wp_ajax_nopriv_wpinv_vat_validate', array( self::$instance, 'ajax_vat_validate' ) );
46
-        add_action( 'wp_ajax_wpinv_vat_reset', array( self::$instance, 'ajax_vat_reset' ) );
47
-        add_action( 'wp_ajax_nopriv_wpinv_vat_reset', array( self::$instance, 'ajax_vat_reset' ) );
48
-        add_action( 'wpinv_invoice_print_after_line_items', array( self::$instance, 'show_vat_notice' ), 999, 1 );
49
-        if ( wpinv_use_taxes() ) {
50
-            add_action( 'wpinv_after_billing_fields', array( self::$instance, 'checkout_vat_fields' ) );
51
-            if ( self::allow_vat_rules() ) {
52
-                add_action( 'wpinv_checkout_error_checks', array( self::$instance, 'checkout_vat_validate' ), 10, 2 );
53
-                add_filter( 'wpinv_tax_rate', array( self::$instance, 'get_rate' ), 10, 4 );
25
+        if (is_admin()) {
26
+            add_action('admin_enqueue_scripts', array(self::$instance, 'enqueue_admin_scripts'));
27
+            add_action('wpinv_settings_sections_taxes', array(self::$instance, 'section_vat_settings')); 
28
+            add_action('wpinv_settings_taxes', array(self::$instance, 'vat_settings'));
29
+            add_filter('wpinv_settings_taxes-vat_sanitize', array(self::$instance, 'sanitize_vat_settings'));
30
+            add_filter('wpinv_settings_taxes-vat_rates_sanitize', array(self::$instance, 'sanitize_vat_rates'));
31
+            add_action('wp_ajax_wpinv_add_vat_class', array(self::$instance, 'add_class'));
32
+            add_action('wp_ajax_nopriv_wpinv_add_vat_class', array(self::$instance, 'add_class'));
33
+            add_action('wp_ajax_wpinv_delete_vat_class', array(self::$instance, 'delete_class'));
34
+            add_action('wp_ajax_nopriv_wpinv_delete_vat_class', array(self::$instance, 'delete_class'));
35
+            add_action('wp_ajax_wpinv_update_vat_rates', array(self::$instance, 'update_eu_rates'));
36
+            add_action('wp_ajax_nopriv_wpinv_update_vat_rates', array(self::$instance, 'update_eu_rates'));
37
+            add_action('wp_ajax_wpinv_geoip2', array(self::$instance, 'geoip2_download_database'));
38
+            add_action('wp_ajax_nopriv_wpinv_geoip2', array(self::$instance, 'geoip2_download_database'));
39
+        }
40
+        
41
+        add_action('wp_enqueue_scripts', array(self::$instance, 'enqueue_vat_scripts'));
42
+        add_filter('wpinv_default_billing_country', array(self::$instance, 'get_user_country'), 10);
43
+        add_filter('wpinv_get_user_country', array(self::$instance, 'set_user_country'), 10);
44
+        add_action('wp_ajax_wpinv_vat_validate', array(self::$instance, 'ajax_vat_validate'));
45
+        add_action('wp_ajax_nopriv_wpinv_vat_validate', array(self::$instance, 'ajax_vat_validate'));
46
+        add_action('wp_ajax_wpinv_vat_reset', array(self::$instance, 'ajax_vat_reset'));
47
+        add_action('wp_ajax_nopriv_wpinv_vat_reset', array(self::$instance, 'ajax_vat_reset'));
48
+        add_action('wpinv_invoice_print_after_line_items', array(self::$instance, 'show_vat_notice'), 999, 1);
49
+        if (wpinv_use_taxes()) {
50
+            add_action('wpinv_after_billing_fields', array(self::$instance, 'checkout_vat_fields'));
51
+            if (self::allow_vat_rules()) {
52
+                add_action('wpinv_checkout_error_checks', array(self::$instance, 'checkout_vat_validate'), 10, 2);
53
+                add_filter('wpinv_tax_rate', array(self::$instance, 'get_rate'), 10, 4);
54 54
             }
55 55
         }
56 56
     }        
57 57
     
58
-    public static function get_eu_states( $sort = true ) {
59
-        $eu_states = array( 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GB', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE' );
60
-        if ( $sort ) {
61
-            $sort = sort( $eu_states );
58
+    public static function get_eu_states($sort = true) {
59
+        $eu_states = array('AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GB', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE');
60
+        if ($sort) {
61
+            $sort = sort($eu_states);
62 62
         }
63 63
         
64
-        return apply_filters( 'wpinv_get_eu_states', $eu_states, $sort );
64
+        return apply_filters('wpinv_get_eu_states', $eu_states, $sort);
65 65
     }
66 66
     
67
-    public static function get_gst_countries( $sort = true ) {
68
-        $gst_countries  = array( 'AU', 'NZ', 'CA', 'CN' );
67
+    public static function get_gst_countries($sort = true) {
68
+        $gst_countries = array('AU', 'NZ', 'CA', 'CN');
69 69
         
70
-        if ( $sort ) {
71
-            $sort = sort( $gst_countries );
70
+        if ($sort) {
71
+            $sort = sort($gst_countries);
72 72
         }
73 73
         
74
-        return apply_filters( 'wpinv_get_gst_countries', $gst_countries, $sort );
74
+        return apply_filters('wpinv_get_gst_countries', $gst_countries, $sort);
75 75
     }
76 76
     
77
-    public static function is_eu_state( $country_code ) {
78
-        $return = !empty( $country_code ) && in_array( strtoupper( $country_code ), self::get_eu_states() ) ? true : false;
77
+    public static function is_eu_state($country_code) {
78
+        $return = !empty($country_code) && in_array(strtoupper($country_code), self::get_eu_states()) ? true : false;
79 79
                 
80
-        return apply_filters( 'wpinv_is_eu_state', $return, $country_code );
80
+        return apply_filters('wpinv_is_eu_state', $return, $country_code);
81 81
     }
82 82
     
83
-    public static function is_gst_country( $country_code ) {
84
-        $return = !empty( $country_code ) && in_array( strtoupper( $country_code ), self::get_gst_countries() ) ? true : false;
83
+    public static function is_gst_country($country_code) {
84
+        $return = !empty($country_code) && in_array(strtoupper($country_code), self::get_gst_countries()) ? true : false;
85 85
                 
86
-        return apply_filters( 'wpinv_is_gst_country', $return, $country_code );
86
+        return apply_filters('wpinv_is_gst_country', $return, $country_code);
87 87
     }
88 88
     
89 89
     public static function enqueue_vat_scripts() {
90
-        $suffix     = '';//defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
90
+        $suffix = ''; //defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
91 91
         
92
-        wp_register_script( 'wpinv-vat-validation-script', WPINV_PLUGIN_URL . 'assets/js/jsvat' . $suffix . '.js', array( 'jquery' ),  WPINV_VERSION );
93
-        wp_register_script( 'wpinv-vat-script', WPINV_PLUGIN_URL . 'assets/js/euvat' . $suffix . '.js', array( 'jquery' ),  WPINV_VERSION );
92
+        wp_register_script('wpinv-vat-validation-script', WPINV_PLUGIN_URL . 'assets/js/jsvat' . $suffix . '.js', array('jquery'), WPINV_VERSION);
93
+        wp_register_script('wpinv-vat-script', WPINV_PLUGIN_URL . 'assets/js/euvat' . $suffix . '.js', array('jquery'), WPINV_VERSION);
94 94
         
95
-        $vat_name   = self::get_vat_name();
95
+        $vat_name = self::get_vat_name();
96 96
         
97 97
         $vars = array();
98 98
         $vars['UseTaxes'] = wpinv_use_taxes();
99 99
         $vars['EUStates'] = self::get_eu_states();
100
-        $vars['NoRateSet'] = __( 'You have not set a rate. Do you want to continue?', 'invoicing' );
101
-        $vars['EmptyCompany'] = __( 'Please enter your registered company name!', 'invoicing' );
102
-        $vars['EmptyVAT'] = wp_sprintf( __( 'Please enter your %s number!', 'invoicing' ), $vat_name );
103
-        $vars['TotalsRefreshed'] = wp_sprintf( __( 'The invoice totals will be refreshed to update the %s.', 'invoicing' ), $vat_name );
104
-        $vars['ErrValidateVAT'] = wp_sprintf( __( 'Fail to validate the %s number!', 'invoicing' ), $vat_name );
105
-        $vars['ErrResetVAT'] = wp_sprintf( __( 'Fail to reset the %s number!', 'invoicing' ), $vat_name );
106
-        $vars['ErrInvalidVat'] = wp_sprintf( __( 'The %s number supplied does not have a valid format!', 'invoicing' ), $vat_name );
107
-        $vars['ErrInvalidResponse'] = __( 'An invalid response has been received from the server!', 'invoicing' );
100
+        $vars['NoRateSet'] = __('You have not set a rate. Do you want to continue?', 'invoicing');
101
+        $vars['EmptyCompany'] = __('Please enter your registered company name!', 'invoicing');
102
+        $vars['EmptyVAT'] = wp_sprintf(__('Please enter your %s number!', 'invoicing'), $vat_name);
103
+        $vars['TotalsRefreshed'] = wp_sprintf(__('The invoice totals will be refreshed to update the %s.', 'invoicing'), $vat_name);
104
+        $vars['ErrValidateVAT'] = wp_sprintf(__('Fail to validate the %s number!', 'invoicing'), $vat_name);
105
+        $vars['ErrResetVAT'] = wp_sprintf(__('Fail to reset the %s number!', 'invoicing'), $vat_name);
106
+        $vars['ErrInvalidVat'] = wp_sprintf(__('The %s number supplied does not have a valid format!', 'invoicing'), $vat_name);
107
+        $vars['ErrInvalidResponse'] = __('An invalid response has been received from the server!', 'invoicing');
108 108
         $vars['ApplyVATRules'] = $vars['UseTaxes'] ? self::allow_vat_rules() : false;
109 109
         $vars['HideVatFields'] = $vars['ApplyVATRules'] ? self::hide_vat_fields() : true;
110
-        $vars['ErrResponse'] = __( 'The request response is invalid!', 'invoicing' );
111
-        $vars['ErrRateResponse'] = __( 'The get rate request response is invalid', 'invoicing' );
112
-        $vars['PageRefresh'] = __( 'The page will be refreshed in 10 seconds to show the new options.', 'invoicing' );
113
-        $vars['RequestResponseNotValidJSON'] = __( 'The get rate request response is not valid JSON', 'invoicing' );
114
-        $vars['GetRateRequestFailed'] = __( 'The get rate request failed: ', 'invoicing' );
115
-        $vars['NoRateInformationInResponse'] = __( 'The get rate request response does not contain any rate information', 'invoicing' );
116
-        $vars['RatesUpdated'] = __( 'The rates have been updated. Press the save button to record these new rates.', 'invoicing' );
117
-        $vars['IPAddressInformation'] = __( 'IP Address Information', 'invoicing' );
118
-        $vars['VatValidating'] = wp_sprintf( __( 'Validating %s number...', 'invoicing' ), $vat_name );
119
-        $vars['VatReseting'] = __( 'Reseting...', 'invoicing' );
120
-        $vars['VatValidated'] = wp_sprintf( __( '%s number validated', 'invoicing' ), $vat_name );
121
-        $vars['VatNotValidated'] = wp_sprintf( __( '%s number not validated', 'invoicing' ), $vat_name );
122
-        $vars['ConfirmDeleteClass'] = __( 'Are you sure you wish to delete this rates class?', 'invoicing' );
110
+        $vars['ErrResponse'] = __('The request response is invalid!', 'invoicing');
111
+        $vars['ErrRateResponse'] = __('The get rate request response is invalid', 'invoicing');
112
+        $vars['PageRefresh'] = __('The page will be refreshed in 10 seconds to show the new options.', 'invoicing');
113
+        $vars['RequestResponseNotValidJSON'] = __('The get rate request response is not valid JSON', 'invoicing');
114
+        $vars['GetRateRequestFailed'] = __('The get rate request failed: ', 'invoicing');
115
+        $vars['NoRateInformationInResponse'] = __('The get rate request response does not contain any rate information', 'invoicing');
116
+        $vars['RatesUpdated'] = __('The rates have been updated. Press the save button to record these new rates.', 'invoicing');
117
+        $vars['IPAddressInformation'] = __('IP Address Information', 'invoicing');
118
+        $vars['VatValidating'] = wp_sprintf(__('Validating %s number...', 'invoicing'), $vat_name);
119
+        $vars['VatReseting'] = __('Reseting...', 'invoicing');
120
+        $vars['VatValidated'] = wp_sprintf(__('%s number validated', 'invoicing'), $vat_name);
121
+        $vars['VatNotValidated'] = wp_sprintf(__('%s number not validated', 'invoicing'), $vat_name);
122
+        $vars['ConfirmDeleteClass'] = __('Are you sure you wish to delete this rates class?', 'invoicing');
123 123
         $vars['isFront'] = is_admin() ? false : true;
124
-        $vars['checkoutNonce'] = wp_create_nonce( 'wpinv_checkout_nonce' );
124
+        $vars['checkoutNonce'] = wp_create_nonce('wpinv_checkout_nonce');
125 125
         $vars['baseCountry'] = wpinv_get_default_country();
126
-        $vars['disableVATSameCountry'] = ( self::same_country_rule() == 'no' ? true : false );
127
-        $vars['disableVATSimpleCheck'] = wpinv_get_option( 'vat_offline_check' ) ? true : false;
126
+        $vars['disableVATSameCountry'] = (self::same_country_rule() == 'no' ? true : false);
127
+        $vars['disableVATSimpleCheck'] = wpinv_get_option('vat_offline_check') ? true : false;
128 128
         
129
-        wp_enqueue_script( 'wpinv-vat-validation-script' );
130
-        wp_enqueue_script( 'wpinv-vat-script' );
131
-        wp_localize_script( 'wpinv-vat-script', 'WPInv_VAT_Vars', $vars );
129
+        wp_enqueue_script('wpinv-vat-validation-script');
130
+        wp_enqueue_script('wpinv-vat-script');
131
+        wp_localize_script('wpinv-vat-script', 'WPInv_VAT_Vars', $vars);
132 132
     }
133 133
 
134 134
     public static function enqueue_admin_scripts() {
135
-        if( isset( $_GET['page'] ) && 'wpinv-settings' == $_GET['page'] ) {
135
+        if (isset($_GET['page']) && 'wpinv-settings' == $_GET['page']) {
136 136
             self::enqueue_vat_scripts();
137 137
         }
138 138
     }
139 139
     
140
-    public static function section_vat_settings( $sections ) {
141
-        if ( !empty( $sections ) ) {
142
-            $sections['vat'] = __( 'EU VAT Settings', 'invoicing' );
140
+    public static function section_vat_settings($sections) {
141
+        if (!empty($sections)) {
142
+            $sections['vat'] = __('EU VAT Settings', 'invoicing');
143 143
             
144
-            if ( self::allow_vat_classes() ) {
145
-                $sections['vat_rates'] = __( 'EU VAT Rates', 'invoicing' );
144
+            if (self::allow_vat_classes()) {
145
+                $sections['vat_rates'] = __('EU VAT Rates', 'invoicing');
146 146
             }
147 147
         }
148 148
         return $sections;
@@ -151,51 +151,51 @@  discard block
 block discarded – undo
151 151
     public static function vat_rates_settings() {
152 152
         $vat_classes = self::get_rate_classes();
153 153
         $vat_rates = array();
154
-        $vat_class = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' && isset( $vat_classes[$_REQUEST['wpi_sub']] )? sanitize_text_field( $_REQUEST['wpi_sub'] ) : '_new';
155
-        $current_url = remove_query_arg( 'wpi_sub' );
154
+        $vat_class = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' && isset($vat_classes[$_REQUEST['wpi_sub']]) ? sanitize_text_field($_REQUEST['wpi_sub']) : '_new';
155
+        $current_url = remove_query_arg('wpi_sub');
156 156
         
157 157
         $vat_rates['vat_rates_header'] = array(
158 158
             'id' => 'vat_rates_header',
159
-            'name' => '<h3>' . __( 'Manage VAT Rates', 'invoicing' ) . '</h3>',
159
+            'name' => '<h3>' . __('Manage VAT Rates', 'invoicing') . '</h3>',
160 160
             'desc' => '',
161 161
             'type' => 'header',
162 162
             'size' => 'regular'
163 163
         );
164 164
         $vat_rates['vat_rates_class'] = array(
165 165
             'id'          => 'vat_rates_class',
166
-            'name'        => __( 'Edit VAT Rates', 'invoicing' ),
167
-            'desc'        => __( 'The standard rate will apply where no explicit rate is provided.', 'invoicing' ),
166
+            'name'        => __('Edit VAT Rates', 'invoicing'),
167
+            'desc'        => __('The standard rate will apply where no explicit rate is provided.', 'invoicing'),
168 168
             'type'        => 'select',
169
-            'options'     => array_merge( $vat_classes, array( '_new' => __( 'Add New Rate Class', 'invoicing' ) ) ),
170
-            'placeholder' => __( 'Select a VAT Rate', 'invoicing' ),
169
+            'options'     => array_merge($vat_classes, array('_new' => __('Add New Rate Class', 'invoicing'))),
170
+            'placeholder' => __('Select a VAT Rate', 'invoicing'),
171 171
             'selected'    => $vat_class,
172 172
             'onchange'    => 'document.location.href="' . $current_url . '&wpi_sub=" + this.value;',
173 173
         );
174 174
         
175
-        if ( $vat_class != '_standard' && $vat_class != '_new' ) {
175
+        if ($vat_class != '_standard' && $vat_class != '_new') {
176 176
             $vat_rates['vat_rate_delete'] = array(
177 177
                 'id'   => 'vat_rate_delete',
178 178
                 'type' => 'vat_rate_delete',
179 179
             );
180 180
         }
181 181
                     
182
-        if ( $vat_class == '_new' ) {
182
+        if ($vat_class == '_new') {
183 183
             $vat_rates['vat_rates_settings'] = array(
184 184
                 'id' => 'vat_rates_settings',
185
-                'name' => '<h3>' . __( 'Add New Rate Class', 'invoicing' ) . '</h3>',
185
+                'name' => '<h3>' . __('Add New Rate Class', 'invoicing') . '</h3>',
186 186
                 'type' => 'header',
187 187
             );
188 188
             $vat_rates['vat_rate_name'] = array(
189 189
                 'id'   => 'vat_rate_name',
190
-                'name' => __( 'Name', 'invoicing' ),
191
-                'desc' => __( 'A short name for the new VAT Rate class', 'invoicing' ),
190
+                'name' => __('Name', 'invoicing'),
191
+                'desc' => __('A short name for the new VAT Rate class', 'invoicing'),
192 192
                 'type' => 'text',
193 193
                 'size' => 'regular',
194 194
             );
195 195
             $vat_rates['vat_rate_desc'] = array(
196 196
                 'id'   => 'vat_rate_desc',
197
-                'name' => __( 'Description', 'invoicing' ),
198
-                'desc' => __( 'Manage VAT Rate class', 'invoicing' ),
197
+                'name' => __('Description', 'invoicing'),
198
+                'desc' => __('Manage VAT Rate class', 'invoicing'),
199 199
                 'type' => 'text',
200 200
                 'size' => 'regular',
201 201
             );
@@ -207,7 +207,7 @@  discard block
 block discarded – undo
207 207
             $vat_rates['vat_rates'] = array(
208 208
                 'id'   => 'vat_rates',
209 209
                 'name' => '<h3>' . $vat_classes[$vat_class] . '</h3>',
210
-                'desc' => self::get_class_desc( $vat_class ),
210
+                'desc' => self::get_class_desc($vat_class),
211 211
                 'type' => 'vat_rates',
212 212
             );
213 213
         }
@@ -215,12 +215,12 @@  discard block
 block discarded – undo
215 215
         return $vat_rates;
216 216
     }
217 217
     
218
-    public static function vat_settings( $settings ) {
219
-        if ( !empty( $settings ) ) {    
218
+    public static function vat_settings($settings) {
219
+        if (!empty($settings)) {    
220 220
             $vat_settings = array();
221 221
             $vat_settings['vat_company_title'] = array(
222 222
                 'id' => 'vat_company_title',
223
-                'name' => '<h3>' . __( 'Your Company Details', 'invoicing' ) . '</h3>',
223
+                'name' => '<h3>' . __('Your Company Details', 'invoicing') . '</h3>',
224 224
                 'desc' => '',
225 225
                 'type' => 'header',
226 226
                 'size' => 'regular'
@@ -228,22 +228,22 @@  discard block
 block discarded – undo
228 228
             
229 229
             $vat_settings['vat_company_name'] = array(
230 230
                 'id' => 'vat_company_name',
231
-                'name' => __( 'Your Company Name', 'invoicing' ),
232
-                'desc' => wp_sprintf(__( 'Your company name as it appears on your VAT return, you can verify it via your VAT ID on the %sEU VIES System.%s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ),
231
+                'name' => __('Your Company Name', 'invoicing'),
232
+                'desc' => wp_sprintf(__('Your company name as it appears on your VAT return, you can verify it via your VAT ID on the %sEU VIES System.%s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'),
233 233
                 'type' => 'text',
234 234
                 'size' => 'regular',
235 235
             );
236 236
             
237 237
             $vat_settings['vat_number'] = array(
238 238
                 'id'   => 'vat_number',
239
-                'name' => __( 'Your VAT Number', 'invoicing' ),
239
+                'name' => __('Your VAT Number', 'invoicing'),
240 240
                 'type' => 'vat_number',
241 241
                 'size' => 'regular',
242 242
             );
243 243
 
244 244
             $vat_settings['vat_settings_title'] = array(
245 245
                 'id' => 'vat_settings_title',
246
-                'name' => '<h3>' . __( 'Apply VAT Settings', 'invoicing' ) . '</h3>',
246
+                'name' => '<h3>' . __('Apply VAT Settings', 'invoicing') . '</h3>',
247 247
                 'desc' => '',
248 248
                 'type' => 'header',
249 249
                 'size' => 'regular'
@@ -251,8 +251,8 @@  discard block
 block discarded – undo
251 251
 
252 252
             $vat_settings['apply_vat_rules'] = array(
253 253
                 'id' => 'apply_vat_rules',
254
-                'name' => __( 'Enable VAT Rules', 'invoicing' ),
255
-                'desc' => __( 'Apply VAT to consumer sales from IP addresses within the EU, even if the billing address is outside the EU.', 'invoicing' ) . '<br><font style="color:red">' . __( 'Do not disable unless you know what you are doing.', 'invoicing' ) . '</font>',
254
+                'name' => __('Enable VAT Rules', 'invoicing'),
255
+                'desc' => __('Apply VAT to consumer sales from IP addresses within the EU, even if the billing address is outside the EU.', 'invoicing') . '<br><font style="color:red">' . __('Do not disable unless you know what you are doing.', 'invoicing') . '</font>',
256 256
                 'type' => 'checkbox',
257 257
                 'std' => '1'
258 258
             );
@@ -268,8 +268,8 @@  discard block
 block discarded – undo
268 268
 
269 269
             $vat_settings['vat_prevent_b2c_purchase'] = array(
270 270
                 'id' => 'vat_prevent_b2c_purchase',
271
-                'name' => __( 'Prevent EU B2C Sales', 'invoicing' ),
272
-                'desc' => __( 'Enable this option if you are not registered for VAT in the EU.', 'invoicing' ),
271
+                'name' => __('Prevent EU B2C Sales', 'invoicing'),
272
+                'desc' => __('Enable this option if you are not registered for VAT in the EU.', 'invoicing'),
273 273
                 'type' => 'checkbox'
274 274
             );
275 275
 
@@ -277,21 +277,21 @@  discard block
 block discarded – undo
277 277
 
278 278
             $vat_settings['vat_same_country_rule'] = array(
279 279
                 'id'          => 'vat_same_country_rule',
280
-                'name'        => __( 'Same Country Rule', 'invoicing' ),
281
-                'desc'        => __( 'Select how you want to handle VAT charge if sales are in the same country as the base country.', 'invoicing' ),
280
+                'name'        => __('Same Country Rule', 'invoicing'),
281
+                'desc'        => __('Select how you want to handle VAT charge if sales are in the same country as the base country.', 'invoicing'),
282 282
                 'type'        => 'select',
283 283
                 'options'     => array(
284
-                    ''          => __( 'Normal', 'invoicing' ),
285
-                    'no'        => __( 'No VAT', 'invoicing' ),
286
-                    'always'    => __( 'Always apply VAT', 'invoicing' ),
284
+                    ''          => __('Normal', 'invoicing'),
285
+                    'no'        => __('No VAT', 'invoicing'),
286
+                    'always'    => __('Always apply VAT', 'invoicing'),
287 287
                 ),
288
-                'placeholder' => __( 'Select an option', 'invoicing' ),
288
+                'placeholder' => __('Select an option', 'invoicing'),
289 289
                 'std'         => ''
290 290
             );
291 291
 
292 292
             $vat_settings['vat_checkout_title'] = array(
293 293
                 'id' => 'vat_checkout_title',
294
-                'name' => '<h3>' . __( 'Checkout Fields', 'invoicing' ) . '</h3>',
294
+                'name' => '<h3>' . __('Checkout Fields', 'invoicing') . '</h3>',
295 295
                 'desc' => '',
296 296
                 'type' => 'header',
297 297
                 'size' => 'regular'
@@ -299,14 +299,14 @@  discard block
 block discarded – undo
299 299
 
300 300
             $vat_settings['vat_disable_fields'] = array(
301 301
                 'id' => 'vat_disable_fields',
302
-                'name' => __( 'Disable VAT Fields', 'invoicing' ),
303
-                'desc' => __( 'Disable VAT fields if Invoicing is being used for GST.', 'invoicing' ) . '<br><font style="color:red">' . __( 'Do not disable if you have enabled Prevent EU B2C sales, otherwise Prevent EU B2C sales setting will not work.', 'invoicing' ) . '</font>',
302
+                'name' => __('Disable VAT Fields', 'invoicing'),
303
+                'desc' => __('Disable VAT fields if Invoicing is being used for GST.', 'invoicing') . '<br><font style="color:red">' . __('Do not disable if you have enabled Prevent EU B2C sales, otherwise Prevent EU B2C sales setting will not work.', 'invoicing') . '</font>',
304 304
                 'type' => 'checkbox'
305 305
             );
306 306
 
307 307
             $vat_settings['vat_ip_lookup'] = array(
308 308
                 'id'   => 'vat_ip_lookup',
309
-                'name' => __( 'IP Country Look-up', 'invoicing' ),
309
+                'name' => __('IP Country Look-up', 'invoicing'),
310 310
                 'type' => 'vat_ip_lookup',
311 311
                 'size' => 'regular',
312 312
                 'std' => 'default'
@@ -314,21 +314,21 @@  discard block
 block discarded – undo
314 314
 
315 315
             $vat_settings['hide_ip_address'] = array(
316 316
                 'id' => 'hide_ip_address',
317
-                'name' => __( 'Hide IP Info at Checkout', 'invoicing' ),
318
-                'desc' => __( 'Hide the user IP info at checkout.', 'invoicing' ),
317
+                'name' => __('Hide IP Info at Checkout', 'invoicing'),
318
+                'desc' => __('Hide the user IP info at checkout.', 'invoicing'),
319 319
                 'type' => 'checkbox'
320 320
             );
321 321
 
322 322
             $vat_settings['vat_ip_country_default'] = array(
323 323
                 'id' => 'vat_ip_country_default',
324
-                'name' => __( 'Enable IP Country as Default', 'invoicing' ),
325
-                'desc' => __( 'Show the country of the users IP as the default country, otherwise the site default country will be used.', 'invoicing' ),
324
+                'name' => __('Enable IP Country as Default', 'invoicing'),
325
+                'desc' => __('Show the country of the users IP as the default country, otherwise the site default country will be used.', 'invoicing'),
326 326
                 'type' => 'checkbox'
327 327
             );
328 328
 
329 329
             $vat_settings['vies_validation_title'] = array(
330 330
                 'id' => 'vies_validation_title',
331
-                'name' => '<h3>' . __( 'VIES Validation', 'invoicing' ) . '</h3>',
331
+                'name' => '<h3>' . __('VIES Validation', 'invoicing') . '</h3>',
332 332
                 'desc' => '',
333 333
                 'type' => 'header',
334 334
                 'size' => 'regular'
@@ -336,37 +336,37 @@  discard block
 block discarded – undo
336 336
 
337 337
             $vat_settings['vat_vies_check'] = array(
338 338
                 'id' => 'vat_vies_check',
339
-                'name' => __( 'Disable VIES VAT ID Check', 'invoicing' ),
340
-                'desc' => wp_sprintf( __( 'Prevent VAT numbers from being validated by the %sEU VIES System.%s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ),
339
+                'name' => __('Disable VIES VAT ID Check', 'invoicing'),
340
+                'desc' => wp_sprintf(__('Prevent VAT numbers from being validated by the %sEU VIES System.%s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'),
341 341
                 'type' => 'checkbox'
342 342
             );
343 343
 
344 344
             $vat_settings['vat_disable_company_name_check'] = array(
345 345
                 'id' => 'vat_disable_company_name_check',
346
-                'name' => __( 'Disable VIES Name Check', 'invoicing' ),
347
-                'desc' => wp_sprintf( __( 'Prevent company name from being validated by the %sEU VIES System.%s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ),
346
+                'name' => __('Disable VIES Name Check', 'invoicing'),
347
+                'desc' => wp_sprintf(__('Prevent company name from being validated by the %sEU VIES System.%s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'),
348 348
                 'type' => 'checkbox'
349 349
             );
350 350
 
351 351
             $vat_settings['vat_offline_check'] = array(
352 352
                 'id' => 'vat_offline_check',
353
-                'name' => __( 'Disable Basic Checks', 'invoicing' ),
354
-                'desc' => __( 'This will disable basic JS correct format validation attempts, it is very rare this should need to be disabled.', 'invoicing' ),
353
+                'name' => __('Disable Basic Checks', 'invoicing'),
354
+                'desc' => __('This will disable basic JS correct format validation attempts, it is very rare this should need to be disabled.', 'invoicing'),
355 355
                 'type' => 'checkbox'
356 356
             );
357 357
             
358 358
 
359 359
             $settings['vat'] = $vat_settings;
360 360
             
361
-            if ( self::allow_vat_classes() ) {
361
+            if (self::allow_vat_classes()) {
362 362
                 $settings['vat_rates'] = self::vat_rates_settings();
363 363
             }
364 364
             
365 365
             $eu_fallback_rate = array(
366 366
                 'id'   => 'eu_fallback_rate',
367
-                'name' => '<h3>' . __( 'VAT rate for EU member states', 'invoicing' ) . '</h3>',
367
+                'name' => '<h3>' . __('VAT rate for EU member states', 'invoicing') . '</h3>',
368 368
                 'type' => 'eu_fallback_rate',
369
-                'desc' => __( 'Enter the VAT rate to be charged for EU member states. You can edit the rates for each member state when a country rate has been set up by pressing this button.', 'invoicing' ),
369
+                'desc' => __('Enter the VAT rate to be charged for EU member states. You can edit the rates for each member state when a country rate has been set up by pressing this button.', 'invoicing'),
370 370
                 'std'  => '20',
371 371
                 'size' => 'small'
372 372
             );
@@ -382,11 +382,11 @@  discard block
 block discarded – undo
382 382
         $database_url       = 'http' . (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === 'on' ? 's' : '') . '://geolite.maxmind.com/download/geoip/database/';
383 383
         $destination_dir    = $upload_dir['basedir'] . '/invoicing';
384 384
         
385
-        if ( !is_dir( $destination_dir ) ) { 
386
-            mkdir( $destination_dir );
385
+        if (!is_dir($destination_dir)) { 
386
+            mkdir($destination_dir);
387 387
         }
388 388
         
389
-        $database_files     = array(
389
+        $database_files = array(
390 390
             'country'   => array(
391 391
                 'source'        => $database_url . 'GeoLite2-Country.mmdb.gz',
392 392
                 'destination'   => $destination_dir . '/GeoLite2-Country.mmdb',
@@ -397,57 +397,57 @@  discard block
 block discarded – undo
397 397
             )
398 398
         );
399 399
 
400
-        foreach( $database_files as $database => $files ) {
401
-            $result = self::geoip2_download_file( $files['source'], $files['destination'] );
400
+        foreach ($database_files as $database => $files) {
401
+            $result = self::geoip2_download_file($files['source'], $files['destination']);
402 402
             
403
-            if ( empty( $result['success'] ) ) {
403
+            if (empty($result['success'])) {
404 404
                 echo $result['message'];
405 405
                 exit;
406 406
             }
407 407
             
408
-            wpinv_update_option( 'wpinv_geoip2_date_updated', current_time( 'timestamp' ) );
409
-            echo sprintf(__( 'GeoIp2 %s database updated successfully.', 'invoicing' ), $database ) . ' ';
408
+            wpinv_update_option('wpinv_geoip2_date_updated', current_time('timestamp'));
409
+            echo sprintf(__('GeoIp2 %s database updated successfully.', 'invoicing'), $database) . ' ';
410 410
         }
411 411
         
412 412
         exit;
413 413
     }
414 414
     
415
-    public static function geoip2_download_file( $source_url, $destination_file ) {
415
+    public static function geoip2_download_file($source_url, $destination_file) {
416 416
         $success    = false;
417 417
         $message    = '';
418 418
         
419
-        if ( !function_exists( 'download_url' ) ) {
420
-            require_once( ABSPATH . 'wp-admin/includes/file.php' );
419
+        if (!function_exists('download_url')) {
420
+            require_once(ABSPATH . 'wp-admin/includes/file.php');
421 421
         }
422 422
 
423
-        $temp_file  = download_url( $source_url );
423
+        $temp_file = download_url($source_url);
424 424
         
425
-        if ( is_wp_error( $temp_file ) ) {
426
-            $message = sprintf( __( 'Error while downloading GeoIp2 database( %s ): %s', 'invoicing' ), $source_url, $temp_file->get_error_message() );
425
+        if (is_wp_error($temp_file)) {
426
+            $message = sprintf(__('Error while downloading GeoIp2 database( %s ): %s', 'invoicing'), $source_url, $temp_file->get_error_message());
427 427
         } else {
428
-            $handle = gzopen( $temp_file, 'rb' );
428
+            $handle = gzopen($temp_file, 'rb');
429 429
             
430
-            if ( $handle ) {
431
-                $fopen  = fopen( $destination_file, 'wb' );
432
-                if ( $fopen ) {
433
-                    while ( ( $data = gzread( $handle, 4096 ) ) != false ) {
434
-                        fwrite( $fopen, $data );
430
+            if ($handle) {
431
+                $fopen = fopen($destination_file, 'wb');
432
+                if ($fopen) {
433
+                    while (($data = gzread($handle, 4096)) != false) {
434
+                        fwrite($fopen, $data);
435 435
                     }
436 436
 
437
-                    gzclose( $handle );
438
-                    fclose( $fopen );
437
+                    gzclose($handle);
438
+                    fclose($fopen);
439 439
                         
440 440
                     $success = true;
441 441
                 } else {
442
-                    gzclose( $handle );
443
-                    $message = sprintf( __( 'Error could not open destination GeoIp2 database file for writing: %s', 'invoicing' ), $destination_file );
442
+                    gzclose($handle);
443
+                    $message = sprintf(__('Error could not open destination GeoIp2 database file for writing: %s', 'invoicing'), $destination_file);
444 444
                 }
445 445
             } else {
446
-                $message = sprintf( __( 'Error could not open GeoIp2 database file for reading: %s', 'invoicing' ), $temp_file );
446
+                $message = sprintf(__('Error could not open GeoIp2 database file for reading: %s', 'invoicing'), $temp_file);
447 447
             }
448 448
             
449
-            if ( file_exists( $temp_file ) ) {
450
-                unlink( $temp_file );
449
+            if (file_exists($temp_file)) {
450
+                unlink($temp_file);
451 451
             }
452 452
         }
453 453
         
@@ -459,11 +459,11 @@  discard block
 block discarded – undo
459 459
     }
460 460
     
461 461
     public static function load_geoip2() {
462
-        if ( defined( 'WPINV_GEOIP2_LODDED' ) ) {
462
+        if (defined('WPINV_GEOIP2_LODDED')) {
463 463
             return;
464 464
         }
465 465
         
466
-        if ( !class_exists( '\MaxMind\Db\Reader' ) ) {
466
+        if (!class_exists('\MaxMind\Db\Reader')) {
467 467
             $maxmind_db_files = array(
468 468
                 'Reader/Decoder.php',
469 469
                 'Reader/InvalidDatabaseException.php',
@@ -472,12 +472,12 @@  discard block
 block discarded – undo
472 472
                 'Reader.php',
473 473
             );
474 474
             
475
-            foreach ( $maxmind_db_files as $key => $file ) {
476
-                require_once( WPINV_PLUGIN_DIR . 'includes/libraries/MaxMind/Db/' . $file );
475
+            foreach ($maxmind_db_files as $key => $file) {
476
+                require_once(WPINV_PLUGIN_DIR . 'includes/libraries/MaxMind/Db/' . $file);
477 477
             }
478 478
         }
479 479
         
480
-        if ( !class_exists( '\GeoIp2\Database\Reader' ) ) {        
480
+        if (!class_exists('\GeoIp2\Database\Reader')) {        
481 481
             $geoip2_files = array(
482 482
                 'ProviderInterface.php',
483 483
                 'Compat/JsonSerializable.php',
@@ -511,23 +511,23 @@  discard block
 block discarded – undo
511 511
                 'WebService/Client.php',
512 512
             );
513 513
             
514
-            foreach ( $geoip2_files as $key => $file ) {
515
-                require_once( WPINV_PLUGIN_DIR . 'includes/libraries/GeoIp2/' . $file );
514
+            foreach ($geoip2_files as $key => $file) {
515
+                require_once(WPINV_PLUGIN_DIR . 'includes/libraries/GeoIp2/' . $file);
516 516
             }
517 517
         }
518 518
 
519
-        define( 'WPINV_GEOIP2_LODDED', true );
519
+        define('WPINV_GEOIP2_LODDED', true);
520 520
     }
521 521
 
522 522
     public static function geoip2_country_dbfile() {
523 523
         $upload_dir = wp_upload_dir();
524 524
 
525
-        if ( !isset( $upload_dir['basedir'] ) ) {
525
+        if (!isset($upload_dir['basedir'])) {
526 526
             return false;
527 527
         }
528 528
 
529 529
         $filename = $upload_dir['basedir'] . '/invoicing/GeoLite2-Country.mmdb';
530
-        if ( !file_exists( $filename ) ) {
530
+        if (!file_exists($filename)) {
531 531
             return false;
532 532
         }
533 533
         
@@ -537,12 +537,12 @@  discard block
 block discarded – undo
537 537
     public static function geoip2_city_dbfile() {
538 538
         $upload_dir = wp_upload_dir();
539 539
 
540
-        if ( !isset( $upload_dir['basedir'] ) ) {
540
+        if (!isset($upload_dir['basedir'])) {
541 541
             return false;
542 542
         }
543 543
 
544 544
         $filename = $upload_dir['basedir'] . '/invoicing/GeoLite2-City.mmdb';
545
-        if ( !file_exists( $filename ) ) {
545
+        if (!file_exists($filename)) {
546 546
             return false;
547 547
         }
548 548
         
@@ -553,10 +553,10 @@  discard block
 block discarded – undo
553 553
         try {
554 554
             self::load_geoip2();
555 555
 
556
-            if ( $filename = self::geoip2_country_dbfile() ) {
557
-                return new \GeoIp2\Database\Reader( $filename );
556
+            if ($filename = self::geoip2_country_dbfile()) {
557
+                return new \GeoIp2\Database\Reader($filename);
558 558
             }
559
-        } catch( Exception $e ) {
559
+        } catch (Exception $e) {
560 560
             return false;
561 561
         }
562 562
         
@@ -567,173 +567,173 @@  discard block
 block discarded – undo
567 567
         try {
568 568
             self::load_geoip2();
569 569
 
570
-            if ( $filename = self::geoip2_city_dbfile() ) {
571
-                return new \GeoIp2\Database\Reader( $filename );
570
+            if ($filename = self::geoip2_city_dbfile()) {
571
+                return new \GeoIp2\Database\Reader($filename);
572 572
             }
573
-        } catch( Exception $e ) {
573
+        } catch (Exception $e) {
574 574
             return false;
575 575
         }
576 576
         
577 577
         return false;
578 578
     }
579 579
 
580
-    public static function geoip2_country_record( $ip_address ) {
580
+    public static function geoip2_country_record($ip_address) {
581 581
         try {
582 582
             $reader = self::geoip2_country_reader();
583 583
 
584
-            if ( $reader ) {
585
-                $record = $reader->country( $ip_address );
584
+            if ($reader) {
585
+                $record = $reader->country($ip_address);
586 586
                 
587
-                if ( !empty( $record->country->isoCode ) ) {
587
+                if (!empty($record->country->isoCode)) {
588 588
                     return $record;
589 589
                 }
590 590
             }
591
-        } catch(\InvalidArgumentException $e) {
592
-            wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' );
591
+        } catch (\InvalidArgumentException $e) {
592
+            wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )');
593 593
             
594 594
             return false;
595
-        } catch(\GeoIp2\Exception\AddressNotFoundException $e) {
596
-            wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' );
595
+        } catch (\GeoIp2\Exception\AddressNotFoundException $e) {
596
+            wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )');
597 597
             
598 598
             return false;
599
-        } catch( Exception $e ) {
599
+        } catch (Exception $e) {
600 600
             return false;
601 601
         }
602 602
         
603 603
         return false;
604 604
     }
605 605
 
606
-    public static function geoip2_city_record( $ip_address ) {
606
+    public static function geoip2_city_record($ip_address) {
607 607
         try {
608 608
             $reader = self::geoip2_city_reader();
609 609
 
610
-            if ( $reader ) {
611
-                $record = $reader->city( $ip_address );
610
+            if ($reader) {
611
+                $record = $reader->city($ip_address);
612 612
                 
613
-                if ( !empty( $record->country->isoCode ) ) {
613
+                if (!empty($record->country->isoCode)) {
614 614
                     return $record;
615 615
                 }
616 616
             }
617
-        } catch(\InvalidArgumentException $e) {
618
-            wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' );
617
+        } catch (\InvalidArgumentException $e) {
618
+            wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )');
619 619
             
620 620
             return false;
621
-        } catch(\GeoIp2\Exception\AddressNotFoundException $e) {
622
-            wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' );
621
+        } catch (\GeoIp2\Exception\AddressNotFoundException $e) {
622
+            wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )');
623 623
             
624 624
             return false;
625
-        } catch( Exception $e ) {
625
+        } catch (Exception $e) {
626 626
             return false;
627 627
         }
628 628
         
629 629
         return false;
630 630
     }
631 631
 
632
-    public static function geoip2_country_code( $ip_address ) {
633
-        $record = self::geoip2_country_record( $ip_address );
634
-        return !empty( $record->country->isoCode ) ? $record->country->isoCode : wpinv_get_default_country();
632
+    public static function geoip2_country_code($ip_address) {
633
+        $record = self::geoip2_country_record($ip_address);
634
+        return !empty($record->country->isoCode) ? $record->country->isoCode : wpinv_get_default_country();
635 635
     }
636 636
 
637 637
     // Find country by IP address.
638
-    public static function get_country_by_ip( $ip = '' ) {
638
+    public static function get_country_by_ip($ip = '') {
639 639
         global $wpinv_ip_address_country;
640 640
         
641
-        if ( !empty( $wpinv_ip_address_country ) ) {
641
+        if (!empty($wpinv_ip_address_country)) {
642 642
             return $wpinv_ip_address_country;
643 643
         }
644 644
         
645
-        if ( empty( $ip ) ) {
645
+        if (empty($ip)) {
646 646
             $ip = wpinv_get_ip();
647 647
         }
648 648
 
649
-        $ip_country_service = wpinv_get_option( 'vat_ip_lookup' );
650
-        $is_default         = empty( $ip_country_service ) || $ip_country_service === 'default' ? true : false;
649
+        $ip_country_service = wpinv_get_option('vat_ip_lookup');
650
+        $is_default         = empty($ip_country_service) || $ip_country_service === 'default' ? true : false;
651 651
 
652
-        if ( !empty( $ip ) && $ip !== '127.0.0.1' ) { // For 127.0.0.1(localhost) use default country.
653
-            if ( function_exists( 'geoip_country_code_by_name') && ( $ip_country_service === 'geoip' || $is_default ) ) {
652
+        if (!empty($ip) && $ip !== '127.0.0.1') { // For 127.0.0.1(localhost) use default country.
653
+            if (function_exists('geoip_country_code_by_name') && ($ip_country_service === 'geoip' || $is_default)) {
654 654
                 try {
655
-                    $wpinv_ip_address_country = geoip_country_code_by_name( $ip );
656
-                } catch( Exception $e ) {
657
-                    wpinv_error_log( $e->getMessage(), 'GeoIP Lookup( ' . $ip . ' )' );
655
+                    $wpinv_ip_address_country = geoip_country_code_by_name($ip);
656
+                } catch (Exception $e) {
657
+                    wpinv_error_log($e->getMessage(), 'GeoIP Lookup( ' . $ip . ' )');
658 658
                 }
659
-            } else if ( self::geoip2_country_dbfile() && ( $ip_country_service === 'geoip2' || $is_default ) ) {
660
-                $wpinv_ip_address_country = self::geoip2_country_code( $ip );
661
-            } else if ( function_exists( 'simplexml_load_file' ) && ( $ip_country_service === 'geoplugin' || $is_default ) ) {
662
-                $load_xml = simplexml_load_file( 'http://www.geoplugin.net/xml.gp?ip=' . $ip );
659
+            } else if (self::geoip2_country_dbfile() && ($ip_country_service === 'geoip2' || $is_default)) {
660
+                $wpinv_ip_address_country = self::geoip2_country_code($ip);
661
+            } else if (function_exists('simplexml_load_file') && ($ip_country_service === 'geoplugin' || $is_default)) {
662
+                $load_xml = simplexml_load_file('http://www.geoplugin.net/xml.gp?ip=' . $ip);
663 663
                 
664
-                if ( !empty( $load_xml ) && !empty( $load_xml->geoplugin_countryCode ) ) {
664
+                if (!empty($load_xml) && !empty($load_xml->geoplugin_countryCode)) {
665 665
                     $wpinv_ip_address_country = (string)$load_xml->geoplugin_countryCode;
666 666
                 }
667 667
             }
668 668
         }
669 669
 
670
-        if ( empty( $wpinv_ip_address_country ) ) {
670
+        if (empty($wpinv_ip_address_country)) {
671 671
             $wpinv_ip_address_country = wpinv_get_default_country();
672 672
         }
673 673
 
674 674
         return $wpinv_ip_address_country;
675 675
     }
676 676
     
677
-    public static function sanitize_vat_settings( $input ) {
677
+    public static function sanitize_vat_settings($input) {
678 678
         global $wpinv_options;
679 679
         
680 680
         $valid      = false;
681 681
         $message    = '';
682 682
         
683
-        if ( !empty( $wpinv_options['vat_vies_check'] ) ) {
684
-            if ( empty( $wpinv_options['vat_offline_check'] ) ) {
685
-                $valid = self::offline_check( $input['vat_number'] );
683
+        if (!empty($wpinv_options['vat_vies_check'])) {
684
+            if (empty($wpinv_options['vat_offline_check'])) {
685
+                $valid = self::offline_check($input['vat_number']);
686 686
             } else {
687 687
                 $valid = true;
688 688
             }
689 689
             
690
-            $message = $valid ? '' : __( 'VAT number not validated', 'invoicing' );
690
+            $message = $valid ? '' : __('VAT number not validated', 'invoicing');
691 691
         } else {
692
-            $result = self::check_vat( $input['vat_number'] );
692
+            $result = self::check_vat($input['vat_number']);
693 693
             
694
-            if ( empty( $result['valid'] ) ) {
694
+            if (empty($result['valid'])) {
695 695
                 $valid      = false;
696 696
                 $message    = $result['message'];
697 697
             } else {
698
-                $valid      = ( isset( $result['company'] ) && ( $result['company'] == '---' || ( strcasecmp( trim( $result['company'] ), trim( $input['vat_company_name'] ) ) == 0 ) ) ) || !empty( $wpinv_options['vat_disable_company_name_check'] );
699
-                $message    = $valid ? '' : __( 'The company name associated with the VAT number provided is not the same as the company name provided.', 'invoicing' );
698
+                $valid      = (isset($result['company']) && ($result['company'] == '---' || (strcasecmp(trim($result['company']), trim($input['vat_company_name'])) == 0))) || !empty($wpinv_options['vat_disable_company_name_check']);
699
+                $message    = $valid ? '' : __('The company name associated with the VAT number provided is not the same as the company name provided.', 'invoicing');
700 700
             }
701 701
         }
702 702
 
703
-        if ( $message && self::is_vat_validated() != $valid ) {
704
-            add_settings_error( 'wpinv-notices', '', $message, ( $valid ? 'updated' : 'error' ) );
703
+        if ($message && self::is_vat_validated() != $valid) {
704
+            add_settings_error('wpinv-notices', '', $message, ($valid ? 'updated' : 'error'));
705 705
         }
706 706
 
707 707
         $input['vat_valid'] = $valid;
708 708
         return $input;
709 709
     }
710 710
     
711
-    public static function sanitize_vat_rates( $input ) {
712
-        if( !current_user_can( 'manage_options' ) ) {
713
-            add_settings_error( 'wpinv-notices', '', __( 'Your account does not have permission to add rate classes.', 'invoicing' ), 'error' );
711
+    public static function sanitize_vat_rates($input) {
712
+        if (!current_user_can('manage_options')) {
713
+            add_settings_error('wpinv-notices', '', __('Your account does not have permission to add rate classes.', 'invoicing'), 'error');
714 714
             return $input;
715 715
         }
716 716
         
717 717
         $vat_classes = self::get_rate_classes();
718
-        $vat_class = !empty( $_REQUEST['wpi_vat_class'] ) && isset( $vat_classes[$_REQUEST['wpi_vat_class']] )? sanitize_text_field( $_REQUEST['wpi_vat_class'] ) : '';
718
+        $vat_class = !empty($_REQUEST['wpi_vat_class']) && isset($vat_classes[$_REQUEST['wpi_vat_class']]) ? sanitize_text_field($_REQUEST['wpi_vat_class']) : '';
719 719
         
720
-        if ( empty( $vat_class ) ) {
721
-            add_settings_error( 'wpinv-notices', '', __( 'No valid VAT rates class contained in the request to save rates.', 'invoicing' ), 'error' );
720
+        if (empty($vat_class)) {
721
+            add_settings_error('wpinv-notices', '', __('No valid VAT rates class contained in the request to save rates.', 'invoicing'), 'error');
722 722
             
723 723
             return $input;
724 724
         }
725 725
 
726
-        $new_rates = ! empty( $_POST['vat_rates'] ) ? array_values( $_POST['vat_rates'] ) : array();
726
+        $new_rates = !empty($_POST['vat_rates']) ? array_values($_POST['vat_rates']) : array();
727 727
 
728
-        if ( $vat_class === '_standard' ) {
728
+        if ($vat_class === '_standard') {
729 729
             // Save the active rates in the invoice settings
730
-            update_option( 'wpinv_tax_rates', $new_rates );
730
+            update_option('wpinv_tax_rates', $new_rates);
731 731
         } else {
732 732
             // Get the existing set of rates
733 733
             $rates = self::get_non_standard_rates();
734 734
             $rates[$vat_class] = $new_rates;
735 735
 
736
-            update_option( 'wpinv_vat_rates', $rates );
736
+            update_option('wpinv_vat_rates', $rates);
737 737
         }
738 738
         
739 739
         return $input;
@@ -743,71 +743,71 @@  discard block
 block discarded – undo
743 743
         $response = array();
744 744
         $response['success'] = false;
745 745
         
746
-        if ( !current_user_can( 'manage_options' ) ) {
747
-            $response['error'] = __( 'Invalid access!', 'invoicing' );
748
-            wp_send_json( $response );
746
+        if (!current_user_can('manage_options')) {
747
+            $response['error'] = __('Invalid access!', 'invoicing');
748
+            wp_send_json($response);
749 749
         }
750 750
         
751
-        $vat_class_name = !empty( $_POST['name'] ) ? sanitize_text_field( $_POST['name'] ) : false;
752
-        $vat_class_desc = !empty( $_POST['desc'] ) ? sanitize_text_field( $_POST['desc'] ) : false;
751
+        $vat_class_name = !empty($_POST['name']) ? sanitize_text_field($_POST['name']) : false;
752
+        $vat_class_desc = !empty($_POST['desc']) ? sanitize_text_field($_POST['desc']) : false;
753 753
         
754
-        if ( empty( $vat_class_name ) ) {
755
-            $response['error'] = __( 'Select the VAT rate name', 'invoicing' );
756
-            wp_send_json( $response );
754
+        if (empty($vat_class_name)) {
755
+            $response['error'] = __('Select the VAT rate name', 'invoicing');
756
+            wp_send_json($response);
757 757
         }
758 758
         
759 759
         $vat_classes = (array)self::get_rate_classes();
760 760
 
761
-        if ( !empty( $vat_classes ) && in_array( strtolower( $vat_class_name ), array_map( 'strtolower', array_values( $vat_classes ) ) ) ) {
762
-            $response['error'] = wp_sprintf( __( 'A VAT Rate name "%s" already exists', 'invoicing' ), $vat_class_name );
763
-            wp_send_json( $response );
761
+        if (!empty($vat_classes) && in_array(strtolower($vat_class_name), array_map('strtolower', array_values($vat_classes)))) {
762
+            $response['error'] = wp_sprintf(__('A VAT Rate name "%s" already exists', 'invoicing'), $vat_class_name);
763
+            wp_send_json($response);
764 764
         }
765 765
         
766
-        $rate_class_key = normalize_whitespace( 'wpi-' . $vat_class_name );
767
-        $rate_class_key = sanitize_key( str_replace( " ", "-", $rate_class_key ) );
766
+        $rate_class_key = normalize_whitespace('wpi-' . $vat_class_name);
767
+        $rate_class_key = sanitize_key(str_replace(" ", "-", $rate_class_key));
768 768
         
769
-        $vat_classes = (array)self::get_rate_classes( true );
770
-        $vat_classes[$rate_class_key] = array( 'name' => $vat_class_name, 'desc' => $vat_class_desc );
769
+        $vat_classes = (array)self::get_rate_classes(true);
770
+        $vat_classes[$rate_class_key] = array('name' => $vat_class_name, 'desc' => $vat_class_desc);
771 771
         
772
-        update_option( '_wpinv_vat_rate_classes', $vat_classes );
772
+        update_option('_wpinv_vat_rate_classes', $vat_classes);
773 773
         
774 774
         $response['success'] = true;
775
-        $response['redirect'] = admin_url( 'admin.php?page=wpinv-settings&tab=taxes&section=vat_rates&wpi_sub=' . $rate_class_key );
775
+        $response['redirect'] = admin_url('admin.php?page=wpinv-settings&tab=taxes&section=vat_rates&wpi_sub=' . $rate_class_key);
776 776
         
777
-        wp_send_json( $response );
777
+        wp_send_json($response);
778 778
     }
779 779
     
780 780
     public static function delete_class() {
781 781
         $response = array();
782 782
         $response['success'] = false;
783 783
         
784
-        if ( !current_user_can( 'manage_options' ) || !isset( $_POST['class'] ) ) {
785
-            $response['error'] = __( 'Invalid access!', 'invoicing' );
786
-            wp_send_json( $response );
784
+        if (!current_user_can('manage_options') || !isset($_POST['class'])) {
785
+            $response['error'] = __('Invalid access!', 'invoicing');
786
+            wp_send_json($response);
787 787
         }
788 788
         
789
-        $vat_class = isset( $_POST['class'] ) && $_POST['class'] !== '' ? sanitize_text_field( $_POST['class'] ) : false;
789
+        $vat_class = isset($_POST['class']) && $_POST['class'] !== '' ? sanitize_text_field($_POST['class']) : false;
790 790
         $vat_classes = (array)self::get_rate_classes();
791 791
 
792
-        if ( !isset( $vat_classes[$vat_class] ) ) {
793
-            $response['error'] = __( 'Requested class does not exists', 'invoicing' );
794
-            wp_send_json( $response );
792
+        if (!isset($vat_classes[$vat_class])) {
793
+            $response['error'] = __('Requested class does not exists', 'invoicing');
794
+            wp_send_json($response);
795 795
         }
796 796
         
797
-        if ( $vat_class == '_new' || $vat_class == '_standard' ) {
798
-            $response['error'] = __( 'You can not delete standard rates class', 'invoicing' );
799
-            wp_send_json( $response );
797
+        if ($vat_class == '_new' || $vat_class == '_standard') {
798
+            $response['error'] = __('You can not delete standard rates class', 'invoicing');
799
+            wp_send_json($response);
800 800
         }
801 801
             
802
-        $vat_classes = (array)self::get_rate_classes( true );
803
-        unset( $vat_classes[$vat_class] );
802
+        $vat_classes = (array)self::get_rate_classes(true);
803
+        unset($vat_classes[$vat_class]);
804 804
         
805
-        update_option( '_wpinv_vat_rate_classes', $vat_classes );
805
+        update_option('_wpinv_vat_rate_classes', $vat_classes);
806 806
         
807 807
         $response['success'] = true;
808
-        $response['redirect'] = admin_url( 'admin.php?page=wpinv-settings&tab=taxes&section=vat_rates&wpi_sub=_new' );
808
+        $response['redirect'] = admin_url('admin.php?page=wpinv-settings&tab=taxes&section=vat_rates&wpi_sub=_new');
809 809
         
810
-        wp_send_json( $response );
810
+        wp_send_json($response);
811 811
     }
812 812
     
813 813
     public static function update_eu_rates() {        
@@ -816,72 +816,72 @@  discard block
 block discarded – undo
816 816
         $response['error']      = null;
817 817
         $response['data']       = null;
818 818
         
819
-        if ( !current_user_can( 'manage_options' ) ) {
820
-            $response['error'] = __( 'Invalid access!', 'invoicing' );
821
-            wp_send_json( $response );
819
+        if (!current_user_can('manage_options')) {
820
+            $response['error'] = __('Invalid access!', 'invoicing');
821
+            wp_send_json($response);
822 822
         }
823 823
         
824
-        $group      = !empty( $_POST['group'] ) ? sanitize_text_field( $_POST['group'] ) : '';
825
-        $euvatrates = self::request_euvatrates( $group );
824
+        $group      = !empty($_POST['group']) ? sanitize_text_field($_POST['group']) : '';
825
+        $euvatrates = self::request_euvatrates($group);
826 826
         
827
-        if ( !empty( $euvatrates ) ) {
828
-            if ( !empty( $euvatrates['success'] ) && !empty( $euvatrates['rates'] ) ) {
827
+        if (!empty($euvatrates)) {
828
+            if (!empty($euvatrates['success']) && !empty($euvatrates['rates'])) {
829 829
                 $response['success']        = true;
830 830
                 $response['data']['rates']  = $euvatrates['rates'];
831
-            } else if ( !empty( $euvatrates['error'] ) ) {
831
+            } else if (!empty($euvatrates['error'])) {
832 832
                 $response['error']          = $euvatrates['error'];
833 833
             }
834 834
         }
835 835
             
836
-        wp_send_json( $response );
836
+        wp_send_json($response);
837 837
     }
838 838
     
839 839
     public static function hide_vat_fields() {
840
-        $hide = wpinv_get_option( 'vat_disable_fields' );
840
+        $hide = wpinv_get_option('vat_disable_fields');
841 841
         
842
-        return apply_filters( 'wpinv_hide_vat_fields', $hide );
842
+        return apply_filters('wpinv_hide_vat_fields', $hide);
843 843
     }
844 844
     
845 845
     public static function same_country_rule() {
846
-        $same_country_rule = wpinv_get_option( 'vat_same_country_rule' );
846
+        $same_country_rule = wpinv_get_option('vat_same_country_rule');
847 847
         
848
-        return apply_filters( 'wpinv_vat_same_country_rule', $same_country_rule );
848
+        return apply_filters('wpinv_vat_same_country_rule', $same_country_rule);
849 849
     }
850 850
     
851 851
     public static function get_vat_name() {
852
-        $vat_name   = wpinv_get_option( 'vat_name' );
853
-        $vat_name   = !empty( $vat_name ) ? $vat_name : 'VAT';
852
+        $vat_name   = wpinv_get_option('vat_name');
853
+        $vat_name   = !empty($vat_name) ? $vat_name : 'VAT';
854 854
         
855
-        return apply_filters( 'wpinv_get_owner_vat_name', $vat_name );
855
+        return apply_filters('wpinv_get_owner_vat_name', $vat_name);
856 856
     }
857 857
     
858 858
     public static function get_company_name() {
859
-        $company_name = wpinv_get_option( 'vat_company_name' );
859
+        $company_name = wpinv_get_option('vat_company_name');
860 860
         
861
-        return apply_filters( 'wpinv_get_owner_company_name', $company_name );
861
+        return apply_filters('wpinv_get_owner_company_name', $company_name);
862 862
     }
863 863
     
864 864
     public static function get_vat_number() {
865
-        $vat_number = wpinv_get_option( 'vat_number' );
865
+        $vat_number = wpinv_get_option('vat_number');
866 866
         
867
-        return apply_filters( 'wpinv_get_owner_vat_number', $vat_number );
867
+        return apply_filters('wpinv_get_owner_vat_number', $vat_number);
868 868
     }
869 869
     
870 870
     public static function is_vat_validated() {
871
-        $validated = self::get_vat_number() && wpinv_get_option( 'vat_valid' );
871
+        $validated = self::get_vat_number() && wpinv_get_option('vat_valid');
872 872
         
873
-        return apply_filters( 'wpinv_is_owner_vat_validated', $validated );
873
+        return apply_filters('wpinv_is_owner_vat_validated', $validated);
874 874
     }
875 875
     
876
-    public static function sanitize_vat( $vat_number, $country_code = '' ) {        
877
-        $vat_number = str_replace( array(' ', '.', '-', '_', ',' ), '', strtoupper( trim( $vat_number ) ) );
876
+    public static function sanitize_vat($vat_number, $country_code = '') {        
877
+        $vat_number = str_replace(array(' ', '.', '-', '_', ','), '', strtoupper(trim($vat_number)));
878 878
         
879
-        if ( empty( $country_code ) ) {
880
-            $country_code = substr( $vat_number, 0, 2 );
879
+        if (empty($country_code)) {
880
+            $country_code = substr($vat_number, 0, 2);
881 881
         }
882 882
         
883
-        if ( strpos( $vat_number , $country_code ) === 0 ) {
884
-            $vat = str_replace( $country_code, '', $vat_number );
883
+        if (strpos($vat_number, $country_code) === 0) {
884
+            $vat = str_replace($country_code, '', $vat_number);
885 885
         } else {
886 886
             $vat = $country_code . $vat_number;
887 887
         }
@@ -894,140 +894,140 @@  discard block
 block discarded – undo
894 894
         return $return;
895 895
     }
896 896
     
897
-    public static function offline_check( $vat_number, $country_code = '', $formatted = false ) {
898
-        $vat            = self::sanitize_vat( $vat_number, $country_code );
897
+    public static function offline_check($vat_number, $country_code = '', $formatted = false) {
898
+        $vat            = self::sanitize_vat($vat_number, $country_code);
899 899
         $vat_number     = $vat['vat_number'];
900 900
         $country_code   = $vat['iso'];
901 901
         $regex          = array();
902 902
         
903
-        switch ( $country_code ) {
903
+        switch ($country_code) {
904 904
             case 'AT':
905
-                $regex[] = '/^(AT)U(\d{8})$/';                           // Austria
905
+                $regex[] = '/^(AT)U(\d{8})$/'; // Austria
906 906
                 break;
907 907
             case 'BE':
908
-                $regex[] = '/^(BE)(0?\d{9})$/';                          // Belgium
908
+                $regex[] = '/^(BE)(0?\d{9})$/'; // Belgium
909 909
                 break;
910 910
             case 'BG':
911
-                $regex[] = '/^(BG)(\d{9,10})$/';                         // Bulgaria
911
+                $regex[] = '/^(BG)(\d{9,10})$/'; // Bulgaria
912 912
                 break;
913 913
             case 'CH':
914 914
             case 'CHE':
915
-                $regex[] = '/^(CHE)(\d{9})MWST$/';                       // Switzerland (Not EU)
915
+                $regex[] = '/^(CHE)(\d{9})MWST$/'; // Switzerland (Not EU)
916 916
                 break;
917 917
             case 'CY':
918
-                $regex[] = '/^(CY)([0-5|9]\d{7}[A-Z])$/';                // Cyprus
918
+                $regex[] = '/^(CY)([0-5|9]\d{7}[A-Z])$/'; // Cyprus
919 919
                 break;
920 920
             case 'CZ':
921
-                $regex[] = '/^(CZ)(\d{8,13})$/';                         // Czech Republic
921
+                $regex[] = '/^(CZ)(\d{8,13})$/'; // Czech Republic
922 922
                 break;
923 923
             case 'DE':
924
-                $regex[] = '/^(DE)([1-9]\d{8})$/';                       // Germany
924
+                $regex[] = '/^(DE)([1-9]\d{8})$/'; // Germany
925 925
                 break;
926 926
             case 'DK':
927
-                $regex[] = '/^(DK)(\d{8})$/';                            // Denmark
927
+                $regex[] = '/^(DK)(\d{8})$/'; // Denmark
928 928
                 break;
929 929
             case 'EE':
930
-                $regex[] = '/^(EE)(10\d{7})$/';                          // Estonia
930
+                $regex[] = '/^(EE)(10\d{7})$/'; // Estonia
931 931
                 break;
932 932
             case 'EL':
933
-                $regex[] = '/^(EL)(\d{9})$/';                            // Greece
933
+                $regex[] = '/^(EL)(\d{9})$/'; // Greece
934 934
                 break;
935 935
             case 'ES':
936
-                $regex[] = '/^(ES)([A-Z]\d{8})$/';                       // Spain (National juridical entities)
937
-                $regex[] = '/^(ES)([A-H|N-S|W]\d{7}[A-J])$/';            // Spain (Other juridical entities)
938
-                $regex[] = '/^(ES)([0-9|Y|Z]\d{7}[A-Z])$/';              // Spain (Personal entities type 1)
939
-                $regex[] = '/^(ES)([K|L|M|X]\d{7}[A-Z])$/';              // Spain (Personal entities type 2)
936
+                $regex[] = '/^(ES)([A-Z]\d{8})$/'; // Spain (National juridical entities)
937
+                $regex[] = '/^(ES)([A-H|N-S|W]\d{7}[A-J])$/'; // Spain (Other juridical entities)
938
+                $regex[] = '/^(ES)([0-9|Y|Z]\d{7}[A-Z])$/'; // Spain (Personal entities type 1)
939
+                $regex[] = '/^(ES)([K|L|M|X]\d{7}[A-Z])$/'; // Spain (Personal entities type 2)
940 940
                 break;
941 941
             case 'EU':
942
-                $regex[] = '/^(EU)(\d{9})$/';                            // EU-type
942
+                $regex[] = '/^(EU)(\d{9})$/'; // EU-type
943 943
                 break;
944 944
             case 'FI':
945
-                $regex[] = '/^(FI)(\d{8})$/';                            // Finland
945
+                $regex[] = '/^(FI)(\d{8})$/'; // Finland
946 946
                 break;
947 947
             case 'FR':
948
-                $regex[] = '/^(FR)(\d{11})$/';                           // France (1)
949
-                $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)](\d{10})$/';        // France (2)
950
-                $regex[] = '/^(FR)\d[(A-H)|(J-N)|(P-Z)](\d{9})$/';       // France (3)
951
-                $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)]{2}(\d{9})$/';      // France (4)
948
+                $regex[] = '/^(FR)(\d{11})$/'; // France (1)
949
+                $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)](\d{10})$/'; // France (2)
950
+                $regex[] = '/^(FR)\d[(A-H)|(J-N)|(P-Z)](\d{9})$/'; // France (3)
951
+                $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)]{2}(\d{9})$/'; // France (4)
952 952
                 break;
953 953
             case 'GB':
954
-                $regex[] = '/^(GB)?(\d{9})$/';                           // UK (Standard)
955
-                $regex[] = '/^(GB)?(\d{12})$/';                          // UK (Branches)
956
-                $regex[] = '/^(GB)?(GD\d{3})$/';                         // UK (Government)
957
-                $regex[] = '/^(GB)?(HA\d{3})$/';                         // UK (Health authority)
954
+                $regex[] = '/^(GB)?(\d{9})$/'; // UK (Standard)
955
+                $regex[] = '/^(GB)?(\d{12})$/'; // UK (Branches)
956
+                $regex[] = '/^(GB)?(GD\d{3})$/'; // UK (Government)
957
+                $regex[] = '/^(GB)?(HA\d{3})$/'; // UK (Health authority)
958 958
                 break;
959 959
             case 'GR':
960
-                $regex[] = '/^(GR)(\d{8,9})$/';                          // Greece
960
+                $regex[] = '/^(GR)(\d{8,9})$/'; // Greece
961 961
                 break;
962 962
             case 'HR':
963
-                $regex[] = '/^(HR)(\d{11})$/';                           // Croatia
963
+                $regex[] = '/^(HR)(\d{11})$/'; // Croatia
964 964
                 break;
965 965
             case 'HU':
966
-                $regex[] = '/^(HU)(\d{8})$/';                            // Hungary
966
+                $regex[] = '/^(HU)(\d{8})$/'; // Hungary
967 967
                 break;
968 968
             case 'IE':
969
-                $regex[] = '/^(IE)(\d{7}[A-W])$/';                       // Ireland (1)
970
-                $regex[] = '/^(IE)([7-9][A-Z\*\+)]\d{5}[A-W])$/';        // Ireland (2)
971
-                $regex[] = '/^(IE)(\d{7}[A-Z][AH])$/';                   // Ireland (3) (new format from 1 Jan 2013)
969
+                $regex[] = '/^(IE)(\d{7}[A-W])$/'; // Ireland (1)
970
+                $regex[] = '/^(IE)([7-9][A-Z\*\+)]\d{5}[A-W])$/'; // Ireland (2)
971
+                $regex[] = '/^(IE)(\d{7}[A-Z][AH])$/'; // Ireland (3) (new format from 1 Jan 2013)
972 972
                 break;
973 973
             case 'IT':
974
-                $regex[] = '/^(IT)(\d{11})$/';                           // Italy
974
+                $regex[] = '/^(IT)(\d{11})$/'; // Italy
975 975
                 break;
976 976
             case 'LV':
977
-                $regex[] = '/^(LV)(\d{11})$/';                           // Latvia
977
+                $regex[] = '/^(LV)(\d{11})$/'; // Latvia
978 978
                 break;
979 979
             case 'LT':
980
-                $regex[] = '/^(LT)(\d{9}|\d{12})$/';                     // Lithuania
980
+                $regex[] = '/^(LT)(\d{9}|\d{12})$/'; // Lithuania
981 981
                 break;
982 982
             case 'LU':
983
-                $regex[] = '/^(LU)(\d{8})$/';                            // Luxembourg
983
+                $regex[] = '/^(LU)(\d{8})$/'; // Luxembourg
984 984
                 break;
985 985
             case 'MT':
986
-                $regex[] = '/^(MT)([1-9]\d{7})$/';                       // Malta
986
+                $regex[] = '/^(MT)([1-9]\d{7})$/'; // Malta
987 987
                 break;
988 988
             case 'NL':
989
-                $regex[] = '/^(NL)(\d{9})B\d{2}$/';                      // Netherlands
989
+                $regex[] = '/^(NL)(\d{9})B\d{2}$/'; // Netherlands
990 990
                 break;
991 991
             case 'NO':
992
-                $regex[] = '/^(NO)(\d{9})$/';                            // Norway (Not EU)
992
+                $regex[] = '/^(NO)(\d{9})$/'; // Norway (Not EU)
993 993
                 break;
994 994
             case 'PL':
995
-                $regex[] = '/^(PL)(\d{10})$/';                           // Poland
995
+                $regex[] = '/^(PL)(\d{10})$/'; // Poland
996 996
                 break;
997 997
             case 'PT':
998
-                $regex[] = '/^(PT)(\d{9})$/';                            // Portugal
998
+                $regex[] = '/^(PT)(\d{9})$/'; // Portugal
999 999
                 break;
1000 1000
             case 'RO':
1001
-                $regex[] = '/^(RO)([1-9]\d{1,9})$/';                     // Romania
1001
+                $regex[] = '/^(RO)([1-9]\d{1,9})$/'; // Romania
1002 1002
                 break;
1003 1003
             case 'RS':
1004
-                $regex[] = '/^(RS)(\d{9})$/';                            // Serbia (Not EU)
1004
+                $regex[] = '/^(RS)(\d{9})$/'; // Serbia (Not EU)
1005 1005
                 break;
1006 1006
             case 'SI':
1007
-                $regex[] = '/^(SI)([1-9]\d{7})$/';                       // Slovenia
1007
+                $regex[] = '/^(SI)([1-9]\d{7})$/'; // Slovenia
1008 1008
                 break;
1009 1009
             case 'SK':
1010
-                $regex[] = '/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7})$/';        // Slovakia Republic
1010
+                $regex[] = '/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7})$/'; // Slovakia Republic
1011 1011
                 break;
1012 1012
             case 'SE':
1013
-                $regex[] = '/^(SE)(\d{10}01)$/';                         // Sweden
1013
+                $regex[] = '/^(SE)(\d{10}01)$/'; // Sweden
1014 1014
                 break;
1015 1015
             default:
1016 1016
                 $regex = array();
1017 1017
             break;
1018 1018
         }
1019 1019
         
1020
-        if ( empty( $regex ) ) {
1020
+        if (empty($regex)) {
1021 1021
             return false;
1022 1022
         }
1023 1023
         
1024
-        foreach ( $regex as $pattern ) {
1024
+        foreach ($regex as $pattern) {
1025 1025
             $matches = null;
1026
-            preg_match_all( $pattern, $vat_number, $matches );
1026
+            preg_match_all($pattern, $vat_number, $matches);
1027 1027
             
1028
-            if ( !empty( $matches[1][0] ) && !empty( $matches[2][0] ) ) {
1029
-                if ( $formatted ) {
1030
-                    return array( 'code' => $matches[1][0], 'number' => $matches[2][0] );
1028
+            if (!empty($matches[1][0]) && !empty($matches[2][0])) {
1029
+                if ($formatted) {
1030
+                    return array('code' => $matches[1][0], 'number' => $matches[2][0]);
1031 1031
                 } else {
1032 1032
                     return true;
1033 1033
                 }
@@ -1037,75 +1037,75 @@  discard block
 block discarded – undo
1037 1037
         return false;
1038 1038
     }
1039 1039
     
1040
-    public static function vies_check( $vat_number, $country_code = '', $result = false ) {
1041
-        $vat            = self::sanitize_vat( $vat_number, $country_code );
1040
+    public static function vies_check($vat_number, $country_code = '', $result = false) {
1041
+        $vat            = self::sanitize_vat($vat_number, $country_code);
1042 1042
         $vat_number     = $vat['vat'];
1043 1043
         $iso            = $vat['iso'];
1044 1044
         
1045
-        $url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=' . urlencode( $iso ) . '&iso=' . urlencode( $iso ) . '&vat=' . urlencode( $vat_number );
1045
+        $url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=' . urlencode($iso) . '&iso=' . urlencode($iso) . '&vat=' . urlencode($vat_number);
1046 1046
         
1047
-        if ( ini_get( 'allow_url_fopen' ) ) {
1048
-            $response = file_get_contents( $url );
1049
-        } else if ( function_exists( 'curl_init' ) ) {
1047
+        if (ini_get('allow_url_fopen')) {
1048
+            $response = file_get_contents($url);
1049
+        } else if (function_exists('curl_init')) {
1050 1050
             $ch = curl_init();
1051 1051
             
1052
-            curl_setopt( $ch, CURLOPT_URL, $url );
1053
-            curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 30 );
1054
-            curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
1055
-            curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
1056
-            curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
1052
+            curl_setopt($ch, CURLOPT_URL, $url);
1053
+            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
1054
+            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
1055
+            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
1056
+            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
1057 1057
             
1058
-            $response = curl_exec( $ch );
1058
+            $response = curl_exec($ch);
1059 1059
             
1060
-            if ( curl_errno( $ch ) ) {
1061
-                wpinv_error_log( curl_error( $ch ), 'VIES CHECK ERROR' );
1060
+            if (curl_errno($ch)) {
1061
+                wpinv_error_log(curl_error($ch), 'VIES CHECK ERROR');
1062 1062
                 $response = '';
1063 1063
             }
1064 1064
             
1065
-            curl_close( $ch );
1065
+            curl_close($ch);
1066 1066
         } else {
1067
-            wpinv_error_log( 'To use VIES CHECK you must have allow_url_fopen is ON or cURL installed & active on your server.', 'VIES CHECK ERROR' );
1067
+            wpinv_error_log('To use VIES CHECK you must have allow_url_fopen is ON or cURL installed & active on your server.', 'VIES CHECK ERROR');
1068 1068
         }
1069 1069
         
1070
-        if ( empty( $response ) ) {
1070
+        if (empty($response)) {
1071 1071
             return $result;
1072 1072
         }
1073 1073
 
1074
-        if ( preg_match( '/invalid VAT number/i', $response ) ) {
1074
+        if (preg_match('/invalid VAT number/i', $response)) {
1075 1075
             return false;
1076
-        } else if ( preg_match( '/valid VAT number/i', $response, $matches ) ) {
1077
-            $content = explode( "valid VAT number", htmlentities( $response ) );
1076
+        } else if (preg_match('/valid VAT number/i', $response, $matches)) {
1077
+            $content = explode("valid VAT number", htmlentities($response));
1078 1078
             
1079
-            if ( !empty( $content[1] ) ) {
1080
-                preg_match_all( '/<tr>(.*?)<td.*?>(.*?)<\/td>(.*?)<\/tr>/si', html_entity_decode( $content[1] ), $matches );
1079
+            if (!empty($content[1])) {
1080
+                preg_match_all('/<tr>(.*?)<td.*?>(.*?)<\/td>(.*?)<\/tr>/si', html_entity_decode($content[1]), $matches);
1081 1081
                 
1082
-                if ( !empty( $matches[2] ) && $matches[3] ) {
1082
+                if (!empty($matches[2]) && $matches[3]) {
1083 1083
                     $return = array();
1084 1084
                     
1085
-                    foreach ( $matches[2] as $key => $label ) {
1086
-                        $label = trim( $label );
1085
+                    foreach ($matches[2] as $key => $label) {
1086
+                        $label = trim($label);
1087 1087
                         
1088
-                        switch ( strtolower( $label ) ) {
1088
+                        switch (strtolower($label)) {
1089 1089
                             case 'member state':
1090
-                                $return['state'] = trim( strip_tags( $matches[3][$key] ) );
1090
+                                $return['state'] = trim(strip_tags($matches[3][$key]));
1091 1091
                             break;
1092 1092
                             case 'vat number':
1093
-                                $return['number'] = trim( strip_tags( $matches[3][$key] ) );
1093
+                                $return['number'] = trim(strip_tags($matches[3][$key]));
1094 1094
                             break;
1095 1095
                             case 'name':
1096
-                                $return['company'] = trim( strip_tags( $matches[3][$key] ) );
1096
+                                $return['company'] = trim(strip_tags($matches[3][$key]));
1097 1097
                             break;
1098 1098
                             case 'address':
1099
-                                $address           = str_replace( array( "<br><br>", "<br /><br />", "<br/><br/>" ), "<br>", html_entity_decode( trim( $matches[3][$key] ) ) );
1100
-                                $return['address'] = trim( strip_tags( $address, '<br>' ) );
1099
+                                $address           = str_replace(array("<br><br>", "<br /><br />", "<br/><br/>"), "<br>", html_entity_decode(trim($matches[3][$key])));
1100
+                                $return['address'] = trim(strip_tags($address, '<br>'));
1101 1101
                             break;
1102 1102
                             case 'consultation number':
1103
-                                $return['consultation'] = trim( strip_tags( $matches[3][$key] ) );
1103
+                                $return['consultation'] = trim(strip_tags($matches[3][$key]));
1104 1104
                             break;
1105 1105
                         }
1106 1106
                     }
1107 1107
                     
1108
-                    if ( !empty( $return ) ) {
1108
+                    if (!empty($return)) {
1109 1109
                         return $return;
1110 1110
                     }
1111 1111
                 }
@@ -1117,55 +1117,55 @@  discard block
 block discarded – undo
1117 1117
         }
1118 1118
     }
1119 1119
     
1120
-    public static function check_vat( $vat_number, $country_code = '' ) {        
1120
+    public static function check_vat($vat_number, $country_code = '') {        
1121 1121
         $vat_name           = self::get_vat_name();
1122 1122
         
1123 1123
         $return             = array();
1124 1124
         $return['valid']    = false;
1125
-        $return['message']  = wp_sprintf( __( '%s number not validated', 'invoicing' ), $vat_name );
1125
+        $return['message']  = wp_sprintf(__('%s number not validated', 'invoicing'), $vat_name);
1126 1126
                 
1127
-        if ( !wpinv_get_option( 'vat_offline_check' ) && !self::offline_check( $vat_number, $country_code ) ) {
1127
+        if (!wpinv_get_option('vat_offline_check') && !self::offline_check($vat_number, $country_code)) {
1128 1128
             return $return;
1129 1129
         }
1130 1130
             
1131
-        $response = self::vies_check( $vat_number, $country_code );
1131
+        $response = self::vies_check($vat_number, $country_code);
1132 1132
         
1133
-        if ( $response ) {
1134
-            $return['valid']    = true;
1133
+        if ($response) {
1134
+            $return['valid'] = true;
1135 1135
             
1136
-            if ( is_array( $response ) ) {
1137
-                $return['company'] = isset( $response['company'] ) ? $response['company'] : '';
1138
-                $return['address'] = isset( $response['address'] ) ? $response['address'] : '';
1136
+            if (is_array($response)) {
1137
+                $return['company'] = isset($response['company']) ? $response['company'] : '';
1138
+                $return['address'] = isset($response['address']) ? $response['address'] : '';
1139 1139
                 $return['message'] = $return['company'] . '<br/>' . $return['address'];
1140 1140
             }
1141 1141
         } else {
1142 1142
             $return['valid']    = false;
1143
-            $return['message']  = wp_sprintf( __( 'Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing' ), $vat_name );
1143
+            $return['message']  = wp_sprintf(__('Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing'), $vat_name);
1144 1144
         }
1145 1145
         
1146 1146
         return $return;
1147 1147
     }
1148 1148
     
1149
-    public static function request_euvatrates( $group ) {
1149
+    public static function request_euvatrates($group) {
1150 1150
         $response               = array();
1151 1151
         $response['success']    = false;
1152 1152
         $response['error']      = null;
1153 1153
         $response['eurates']    = null;
1154 1154
         
1155 1155
         $euvatrates_url = 'https://euvatrates.com/rates.json';
1156
-        $euvatrates_url = apply_filters( 'wpinv_euvatrates_url', $euvatrates_url );
1157
-        $api_response   = wp_remote_get( $euvatrates_url );
1156
+        $euvatrates_url = apply_filters('wpinv_euvatrates_url', $euvatrates_url);
1157
+        $api_response   = wp_remote_get($euvatrates_url);
1158 1158
     
1159 1159
         try {
1160
-            if ( is_wp_error( $api_response ) ) {
1161
-                $response['error']      = __( $api_response->get_error_message(), 'invoicing' );
1160
+            if (is_wp_error($api_response)) {
1161
+                $response['error'] = __($api_response->get_error_message(), 'invoicing');
1162 1162
             } else {
1163
-                $body = json_decode( $api_response['body'] );
1163
+                $body = json_decode($api_response['body']);
1164 1164
                 
1165
-                if ( isset( $body->rates ) ) {
1165
+                if (isset($body->rates)) {
1166 1166
                     $rates = array();
1167 1167
                     
1168
-                    foreach ( $body->rates as $country_code => $rate ) {
1168
+                    foreach ($body->rates as $country_code => $rate) {
1169 1169
                         $vat_rate = array();
1170 1170
                         $vat_rate['country']        = $rate->country;
1171 1171
                         $vat_rate['standard']       = (float)$rate->standard_rate;
@@ -1173,7 +1173,7 @@  discard block
 block discarded – undo
1173 1173
                         $vat_rate['superreduced']   = (float)$rate->super_reduced_rate;
1174 1174
                         $vat_rate['parking']        = (float)$rate->parking_rate;
1175 1175
                         
1176
-                        if ( $group !== '' && in_array( $group, array( 'standard', 'reduced', 'superreduced', 'parking' ) ) ) {
1176
+                        if ($group !== '' && in_array($group, array('standard', 'reduced', 'superreduced', 'parking'))) {
1177 1177
                             $vat_rate_group = array();
1178 1178
                             $vat_rate_group['country'] = $rate->country;
1179 1179
                             $vat_rate_group[$group]    = $vat_rate[$group];
@@ -1185,79 +1185,79 @@  discard block
 block discarded – undo
1185 1185
                     }
1186 1186
                     
1187 1187
                     $response['success']    = true;                                
1188
-                    $response['rates']      = apply_filters( 'wpinv_process_euvatrates', $rates, $api_response, $group );
1188
+                    $response['rates']      = apply_filters('wpinv_process_euvatrates', $rates, $api_response, $group);
1189 1189
                 } else {
1190
-                    $response['error']      = __( 'No EU rates found!', 'invoicing' );
1190
+                    $response['error']      = __('No EU rates found!', 'invoicing');
1191 1191
                 }
1192 1192
             }
1193
-        } catch ( Exception $e ) {
1194
-            $response['error'] = __( $e->getMessage(), 'invoicing' );
1193
+        } catch (Exception $e) {
1194
+            $response['error'] = __($e->getMessage(), 'invoicing');
1195 1195
         }
1196 1196
         
1197
-        return apply_filters( 'wpinv_response_euvatrates', $response, $group );
1197
+        return apply_filters('wpinv_response_euvatrates', $response, $group);
1198 1198
     }    
1199 1199
     
1200
-    public static function requires_vat( $requires_vat = false, $user_id = 0, $is_digital = null ) {
1200
+    public static function requires_vat($requires_vat = false, $user_id = 0, $is_digital = null) {
1201 1201
         global $wpi_item_id, $wpi_country;
1202 1202
         
1203
-        if ( !empty( $_POST['wpinv_country'] ) ) {
1204
-            $country_code = trim( $_POST['wpinv_country'] );
1205
-        } else if ( !empty( $_POST['country'] ) ) {
1206
-            $country_code = trim( $_POST['country'] );
1207
-        } else if ( !empty( $wpi_country ) ) {
1203
+        if (!empty($_POST['wpinv_country'])) {
1204
+            $country_code = trim($_POST['wpinv_country']);
1205
+        } else if (!empty($_POST['country'])) {
1206
+            $country_code = trim($_POST['country']);
1207
+        } else if (!empty($wpi_country)) {
1208 1208
             $country_code = $wpi_country;
1209 1209
         } else {
1210
-            $country_code = self::get_user_country( '', $user_id );
1210
+            $country_code = self::get_user_country('', $user_id);
1211 1211
         }
1212 1212
         
1213
-        if ( $is_digital === null && $wpi_item_id ) {
1214
-            $is_digital = $wpi_item_id ? self::item_has_digital_rule( $wpi_item_id ) : self::allow_vat_rules();
1213
+        if ($is_digital === null && $wpi_item_id) {
1214
+            $is_digital = $wpi_item_id ? self::item_has_digital_rule($wpi_item_id) : self::allow_vat_rules();
1215 1215
         }
1216 1216
         
1217
-        if ( !empty( $country_code ) ) {
1218
-            $requires_vat = ( self::is_eu_state( $country_code ) && ( self::is_eu_state( self::$default_country ) || $is_digital ) ) || ( self::is_gst_country( $country_code ) && self::is_gst_country( self::$default_country ) );
1217
+        if (!empty($country_code)) {
1218
+            $requires_vat = (self::is_eu_state($country_code) && (self::is_eu_state(self::$default_country) || $is_digital)) || (self::is_gst_country($country_code) && self::is_gst_country(self::$default_country));
1219 1219
         }
1220 1220
         
1221
-        return apply_filters( 'wpinv_requires_vat', $requires_vat, $user_id );
1221
+        return apply_filters('wpinv_requires_vat', $requires_vat, $user_id);
1222 1222
     }
1223 1223
     
1224
-    public static function tax_label( $label = '' ) {
1224
+    public static function tax_label($label = '') {
1225 1225
         global $wpi_requires_vat;
1226 1226
         
1227
-        if ( !( $wpi_requires_vat !== 0 && $wpi_requires_vat ) ) {
1228
-            $wpi_requires_vat = self::requires_vat( 0, false );
1227
+        if (!($wpi_requires_vat !== 0 && $wpi_requires_vat)) {
1228
+            $wpi_requires_vat = self::requires_vat(0, false);
1229 1229
         }
1230 1230
         
1231
-        return $wpi_requires_vat ? __( self::get_vat_name(), 'invoicing' ) : ( $label ? $label : __( 'Tax', 'invoicing' ) );
1231
+        return $wpi_requires_vat ? __(self::get_vat_name(), 'invoicing') : ($label ? $label : __('Tax', 'invoicing'));
1232 1232
     }
1233 1233
     
1234 1234
     public static function standard_rates_label() {
1235
-        return __( 'Standard Rates', 'invoicing' );
1235
+        return __('Standard Rates', 'invoicing');
1236 1236
     }
1237 1237
     
1238
-    public static function get_rate_classes( $with_desc = false ) {        
1239
-        $rate_classes_option = get_option( '_wpinv_vat_rate_classes', true );
1240
-        $classes = maybe_unserialize( $rate_classes_option );
1238
+    public static function get_rate_classes($with_desc = false) {        
1239
+        $rate_classes_option = get_option('_wpinv_vat_rate_classes', true);
1240
+        $classes = maybe_unserialize($rate_classes_option);
1241 1241
         
1242
-        if ( empty( $classes ) || !is_array( $classes ) ) {
1242
+        if (empty($classes) || !is_array($classes)) {
1243 1243
             $classes = array();
1244 1244
         }
1245 1245
 
1246 1246
         $rate_classes = array();
1247
-        if ( !array_key_exists( '_standard', $classes ) ) {
1248
-            if ( $with_desc ) {
1249
-                $rate_classes['_standard'] = array( 'name' => self::standard_rates_label(), 'desc' => __( 'EU member states standard VAT rates', 'invoicing' ) );
1247
+        if (!array_key_exists('_standard', $classes)) {
1248
+            if ($with_desc) {
1249
+                $rate_classes['_standard'] = array('name' => self::standard_rates_label(), 'desc' => __('EU member states standard VAT rates', 'invoicing'));
1250 1250
             } else {
1251 1251
                 $rate_classes['_standard'] = self::standard_rates_label();
1252 1252
             }
1253 1253
         }
1254 1254
         
1255
-        foreach ( $classes as $key => $class ) {
1256
-            $name = !empty( $class['name'] ) ? __( $class['name'], 'invoicing' ) : $key;
1257
-            $desc = !empty( $class['desc'] ) ? __( $class['desc'], 'invoicing' ) : '';
1255
+        foreach ($classes as $key => $class) {
1256
+            $name = !empty($class['name']) ? __($class['name'], 'invoicing') : $key;
1257
+            $desc = !empty($class['desc']) ? __($class['desc'], 'invoicing') : '';
1258 1258
             
1259
-            if ( $with_desc ) {
1260
-                $rate_classes[$key] = array( 'name' => $name, 'desc' => $desc );
1259
+            if ($with_desc) {
1260
+                $rate_classes[$key] = array('name' => $name, 'desc' => $desc);
1261 1261
             } else {
1262 1262
                 $rate_classes[$key] = $name;
1263 1263
             }
@@ -1268,15 +1268,15 @@  discard block
 block discarded – undo
1268 1268
     
1269 1269
     public static function get_all_classes() {        
1270 1270
         $classes            = self::get_rate_classes();
1271
-        $classes['_exempt'] = __( 'Exempt (0%)', 'invoicing' );
1271
+        $classes['_exempt'] = __('Exempt (0%)', 'invoicing');
1272 1272
         
1273
-        return apply_filters( 'wpinv_vat_get_all_classes', $classes );
1273
+        return apply_filters('wpinv_vat_get_all_classes', $classes);
1274 1274
     }
1275 1275
     
1276
-    public static function get_class_desc( $rate_class ) {        
1277
-        $rate_classes = self::get_rate_classes( true );
1276
+    public static function get_class_desc($rate_class) {        
1277
+        $rate_classes = self::get_rate_classes(true);
1278 1278
 
1279
-        if ( !empty( $rate_classes ) && isset( $rate_classes[$rate_class] ) && isset( $rate_classes[$rate_class]['desc'] ) ) {
1279
+        if (!empty($rate_classes) && isset($rate_classes[$rate_class]) && isset($rate_classes[$rate_class]['desc'])) {
1280 1280
             return $rate_classes[$rate_class]['desc'];
1281 1281
         }
1282 1282
         
@@ -1292,106 +1292,106 @@  discard block
 block discarded – undo
1292 1292
             'increased'     => 'Increased'
1293 1293
         );
1294 1294
         
1295
-        return apply_filters( 'wpinv_get_vat_groups', $vat_groups );
1295
+        return apply_filters('wpinv_get_vat_groups', $vat_groups);
1296 1296
     }
1297 1297
 
1298 1298
     public static function get_rules() {
1299 1299
         $vat_rules = array(
1300
-            'digital' => __( 'Digital Product', 'invoicing' ),
1301
-            'physical' => __( 'Physical Product', 'invoicing' )
1300
+            'digital' => __('Digital Product', 'invoicing'),
1301
+            'physical' => __('Physical Product', 'invoicing')
1302 1302
         );
1303
-        return apply_filters( 'wpinv_get_vat_rules', $vat_rules );
1303
+        return apply_filters('wpinv_get_vat_rules', $vat_rules);
1304 1304
     }
1305 1305
 
1306
-    public static function get_vat_rates( $class ) {
1307
-        if ( $class === '_standard' ) {
1306
+    public static function get_vat_rates($class) {
1307
+        if ($class === '_standard') {
1308 1308
             return wpinv_get_tax_rates();
1309 1309
         }
1310 1310
 
1311 1311
         $rates = self::get_non_standard_rates();
1312 1312
 
1313
-        return array_key_exists( $class, $rates ) ? $rates[$class] : array();
1313
+        return array_key_exists($class, $rates) ? $rates[$class] : array();
1314 1314
     }
1315 1315
 
1316 1316
     public static function get_non_standard_rates() {
1317
-        $option = get_option( 'wpinv_vat_rates', array());
1318
-        return is_array( $option ) ? $option : array();
1317
+        $option = get_option('wpinv_vat_rates', array());
1318
+        return is_array($option) ? $option : array();
1319 1319
     }
1320 1320
     
1321 1321
     public static function allow_vat_rules() {
1322
-        return ( wpinv_use_taxes() && wpinv_get_option( 'apply_vat_rules' ) ? true : false );
1322
+        return (wpinv_use_taxes() && wpinv_get_option('apply_vat_rules') ? true : false);
1323 1323
     }
1324 1324
     
1325 1325
     public static function allow_vat_classes() {
1326 1326
         return false; // TODO
1327
-        return ( wpinv_get_option( 'vat_allow_classes' ) ? true : false );
1327
+        return (wpinv_get_option('vat_allow_classes') ? true : false);
1328 1328
     }
1329 1329
     
1330
-    public static function get_item_class( $postID ) {
1331
-        $class = get_post_meta( $postID, '_wpinv_vat_class', true );
1330
+    public static function get_item_class($postID) {
1331
+        $class = get_post_meta($postID, '_wpinv_vat_class', true);
1332 1332
 
1333
-        if ( empty( $class ) ) {
1333
+        if (empty($class)) {
1334 1334
             $class = '_standard';
1335 1335
         }
1336 1336
         
1337
-        return apply_filters( 'wpinv_get_item_vat_class', $class, $postID );
1337
+        return apply_filters('wpinv_get_item_vat_class', $class, $postID);
1338 1338
     }
1339 1339
     
1340
-    public static function item_class_label( $postID ) {        
1340
+    public static function item_class_label($postID) {        
1341 1341
         $vat_classes = self::get_all_classes();
1342 1342
         
1343
-        $class = self::get_item_class( $postID );
1344
-        $class = isset( $vat_classes[$class] ) ? $vat_classes[$class] : __( $class, 'invoicing' );
1343
+        $class = self::get_item_class($postID);
1344
+        $class = isset($vat_classes[$class]) ? $vat_classes[$class] : __($class, 'invoicing');
1345 1345
         
1346
-        return apply_filters( 'wpinv_item_class_label', $class, $postID );
1346
+        return apply_filters('wpinv_item_class_label', $class, $postID);
1347 1347
     }
1348 1348
     
1349
-    public static function get_item_rule( $postID ) {        
1350
-        $rule_type = get_post_meta( $postID, '_wpinv_vat_rule', true );
1349
+    public static function get_item_rule($postID) {        
1350
+        $rule_type = get_post_meta($postID, '_wpinv_vat_rule', true);
1351 1351
         
1352
-        if ( empty( $rule_type ) ) {        
1352
+        if (empty($rule_type)) {        
1353 1353
             $rule_type = self::allow_vat_rules() ? 'digital' : 'physical';
1354 1354
         }
1355 1355
         
1356
-        return apply_filters( 'wpinv_item_get_vat_rule', $rule_type, $postID );
1356
+        return apply_filters('wpinv_item_get_vat_rule', $rule_type, $postID);
1357 1357
     }
1358 1358
     
1359
-    public static function item_rule_label( $postID ) {
1359
+    public static function item_rule_label($postID) {
1360 1360
         $vat_rules  = self::get_rules();
1361
-        $vat_rule   = self::get_item_rule( $postID );
1362
-        $vat_rule   = isset( $vat_rules[$vat_rule] ) ? $vat_rules[$vat_rule] : $vat_rule;
1361
+        $vat_rule   = self::get_item_rule($postID);
1362
+        $vat_rule   = isset($vat_rules[$vat_rule]) ? $vat_rules[$vat_rule] : $vat_rule;
1363 1363
         
1364
-        return apply_filters( 'wpinv_item_rule_label', $vat_rule, $postID );
1364
+        return apply_filters('wpinv_item_rule_label', $vat_rule, $postID);
1365 1365
     }
1366 1366
     
1367
-    public static function item_has_digital_rule( $item_id = 0 ) {        
1368
-        return self::get_item_rule( $item_id ) == 'digital' ? true : false;
1367
+    public static function item_has_digital_rule($item_id = 0) {        
1368
+        return self::get_item_rule($item_id) == 'digital' ? true : false;
1369 1369
     }
1370 1370
     
1371
-    public static function invoice_has_digital_rule( $invoice = 0 ) {        
1372
-        if ( !self::allow_vat_rules() ) {
1371
+    public static function invoice_has_digital_rule($invoice = 0) {        
1372
+        if (!self::allow_vat_rules()) {
1373 1373
             return false;
1374 1374
         }
1375 1375
         
1376
-        if ( empty( $invoice ) ) {
1376
+        if (empty($invoice)) {
1377 1377
             return true;
1378 1378
         }
1379 1379
         
1380
-        if ( is_int( $invoice ) ) {
1381
-            $invoice = new WPInv_Invoice( $invoice );
1380
+        if (is_int($invoice)) {
1381
+            $invoice = new WPInv_Invoice($invoice);
1382 1382
         }
1383 1383
         
1384
-        if ( !( is_object( $invoice ) && is_a( $invoice, 'WPInv_Invoice' ) ) ) {
1384
+        if (!(is_object($invoice) && is_a($invoice, 'WPInv_Invoice'))) {
1385 1385
             return true;
1386 1386
         }
1387 1387
         
1388
-        $cart_items  = $invoice->get_cart_details();
1388
+        $cart_items = $invoice->get_cart_details();
1389 1389
         
1390
-        if ( !empty( $cart_items ) ) {
1390
+        if (!empty($cart_items)) {
1391 1391
             $has_digital_rule = false;
1392 1392
             
1393
-            foreach ( $cart_items as $key => $item ) {
1394
-                if ( self::item_has_digital_rule( $item['id'] ) ) {
1393
+            foreach ($cart_items as $key => $item) {
1394
+                if (self::item_has_digital_rule($item['id'])) {
1395 1395
                     $has_digital_rule = true;
1396 1396
                     break;
1397 1397
                 }
@@ -1403,67 +1403,67 @@  discard block
 block discarded – undo
1403 1403
         return $has_digital_rule;
1404 1404
     }
1405 1405
     
1406
-    public static function item_is_taxable( $item_id = 0, $country = false, $state = false ) {        
1407
-        if ( !wpinv_use_taxes() ) {
1406
+    public static function item_is_taxable($item_id = 0, $country = false, $state = false) {        
1407
+        if (!wpinv_use_taxes()) {
1408 1408
             return false;
1409 1409
         }
1410 1410
         
1411 1411
         $is_taxable = true;
1412 1412
 
1413
-        if ( !empty( $item_id ) && self::get_item_class( $item_id ) == '_exempt' ) {
1413
+        if (!empty($item_id) && self::get_item_class($item_id) == '_exempt') {
1414 1414
             $is_taxable = false;
1415 1415
         }
1416 1416
         
1417
-        return apply_filters( 'wpinv_item_is_taxable', $is_taxable, $item_id, $country , $state );
1417
+        return apply_filters('wpinv_item_is_taxable', $is_taxable, $item_id, $country, $state);
1418 1418
     }
1419 1419
     
1420
-    public static function find_rate( $country, $state, $rate, $class ) {
1420
+    public static function find_rate($country, $state, $rate, $class) {
1421 1421
         global $wpi_zero_tax;
1422 1422
 
1423
-        if ( $class === '_exempt' || $wpi_zero_tax ) {
1423
+        if ($class === '_exempt' || $wpi_zero_tax) {
1424 1424
             return 0;
1425 1425
         }
1426 1426
 
1427
-        $tax_rates   = wpinv_get_tax_rates();
1427
+        $tax_rates = wpinv_get_tax_rates();
1428 1428
         
1429
-        if ( $class !== '_standard' ) {
1430
-            $class_rates = self::get_vat_rates( $class );
1429
+        if ($class !== '_standard') {
1430
+            $class_rates = self::get_vat_rates($class);
1431 1431
             
1432
-            if ( is_array( $class_rates ) ) {
1432
+            if (is_array($class_rates)) {
1433 1433
                 $indexed_class_rates = array();
1434 1434
                 
1435
-                foreach ( $class_rates as $key => $cr ) {
1435
+                foreach ($class_rates as $key => $cr) {
1436 1436
                     $indexed_class_rates[$cr['country']] = $cr;
1437 1437
                 }
1438 1438
 
1439
-                $tax_rates = array_map( function( $tr ) use( $indexed_class_rates ) {
1439
+                $tax_rates = array_map(function($tr) use($indexed_class_rates) {
1440 1440
                     $tr_country = $tr['country'];
1441
-                    if ( !isset( $indexed_class_rates[$tr_country] ) ) {
1441
+                    if (!isset($indexed_class_rates[$tr_country])) {
1442 1442
                         return $tr;
1443 1443
                     }
1444 1444
                     $icr = $indexed_class_rates[$tr_country];
1445
-                    return ( empty( $icr['rate'] ) && $icr['rate'] !== '0' ) ? $tr : $icr;
1445
+                    return (empty($icr['rate']) && $icr['rate'] !== '0') ? $tr : $icr;
1446 1446
 
1447
-                }, $tax_rates, $class_rates );
1447
+                }, $tax_rates, $class_rates);
1448 1448
             }
1449 1449
         }
1450 1450
 
1451
-        if ( !empty( $tax_rates ) ) {
1452
-            foreach ( $tax_rates as $key => $tax_rate ) {
1453
-                if ( $country != $tax_rate['country'] )
1451
+        if (!empty($tax_rates)) {
1452
+            foreach ($tax_rates as $key => $tax_rate) {
1453
+                if ($country != $tax_rate['country'])
1454 1454
                     continue;
1455 1455
 
1456
-                if ( !empty( $tax_rate['global'] ) ) {
1457
-                    if ( 0 !== $tax_rate['rate'] || !empty( $tax_rate['rate'] ) ) {
1458
-                        $rate = number_format( $tax_rate['rate'], 4 );
1456
+                if (!empty($tax_rate['global'])) {
1457
+                    if (0 !== $tax_rate['rate'] || !empty($tax_rate['rate'])) {
1458
+                        $rate = number_format($tax_rate['rate'], 4);
1459 1459
                     }
1460 1460
                 } else {
1461
-                    if ( empty( $tax_rate['state'] ) || strtolower( $state ) != strtolower( $tax_rate['state'] ) )
1461
+                    if (empty($tax_rate['state']) || strtolower($state) != strtolower($tax_rate['state']))
1462 1462
                         continue;
1463 1463
 
1464 1464
                     $state_rate = $tax_rate['rate'];
1465
-                    if ( 0 !== $state_rate || !empty( $state_rate ) ) {
1466
-                        $rate = number_format( $state_rate, 4 );
1465
+                    if (0 !== $state_rate || !empty($state_rate)) {
1466
+                        $rate = number_format($state_rate, 4);
1467 1467
                     }
1468 1468
                 }
1469 1469
             }
@@ -1472,84 +1472,84 @@  discard block
 block discarded – undo
1472 1472
         return $rate;
1473 1473
     }
1474 1474
     
1475
-    public static function get_rate( $rate = 1, $country = '', $state = '', $item_id = 0 ) {
1475
+    public static function get_rate($rate = 1, $country = '', $state = '', $item_id = 0) {
1476 1476
         global $wpinv_options, $wpi_session, $wpi_item_id, $wpi_zero_tax;
1477 1477
         
1478 1478
         $item_id = $item_id > 0 ? $item_id : $wpi_item_id;
1479 1479
         $allow_vat_classes = self::allow_vat_classes();
1480
-        $class = $item_id ? self::get_item_class( $item_id ) : '_standard';
1480
+        $class = $item_id ? self::get_item_class($item_id) : '_standard';
1481 1481
 
1482
-        if ( $class === '_exempt' || $wpi_zero_tax ) {
1482
+        if ($class === '_exempt' || $wpi_zero_tax) {
1483 1483
             return 0;
1484
-        } else if ( !$allow_vat_classes ) {
1484
+        } else if (!$allow_vat_classes) {
1485 1485
             $class = '_standard';
1486 1486
         }
1487 1487
 
1488
-        if( !empty( $_POST['wpinv_country'] ) ) {
1488
+        if (!empty($_POST['wpinv_country'])) {
1489 1489
             $post_country = $_POST['wpinv_country'];
1490
-        } elseif( !empty( $_POST['wpinv_country'] ) ) {
1490
+        } elseif (!empty($_POST['wpinv_country'])) {
1491 1491
             $post_country = $_POST['wpinv_country'];
1492
-        } elseif( !empty( $_POST['country'] ) ) {
1492
+        } elseif (!empty($_POST['country'])) {
1493 1493
             $post_country = $_POST['country'];
1494 1494
         } else {
1495 1495
             $post_country = '';
1496 1496
         }
1497 1497
 
1498
-        $country        = !empty( $post_country ) ? $post_country : wpinv_default_billing_country( $country );
1499
-        $base_country   = wpinv_is_base_country( $country );
1498
+        $country        = !empty($post_country) ? $post_country : wpinv_default_billing_country($country);
1499
+        $base_country   = wpinv_is_base_country($country);
1500 1500
         
1501
-        $requires_vat   = self::requires_vat( 0, false );
1502
-        $is_digital     = self::get_item_rule( $item_id ) == 'digital' ;
1503
-        $rate           = $requires_vat && isset( $wpinv_options['eu_fallback_rate'] ) ? $wpinv_options['eu_fallback_rate'] : $rate;
1501
+        $requires_vat   = self::requires_vat(0, false);
1502
+        $is_digital     = self::get_item_rule($item_id) == 'digital';
1503
+        $rate           = $requires_vat && isset($wpinv_options['eu_fallback_rate']) ? $wpinv_options['eu_fallback_rate'] : $rate;
1504 1504
           
1505
-        if ( self::same_country_rule() == 'no' && $base_country ) { // Disable VAT to same country
1505
+        if (self::same_country_rule() == 'no' && $base_country) { // Disable VAT to same country
1506 1506
             $rate = 0;
1507
-        } else if ( $requires_vat ) {
1508
-            $vat_number = self::get_user_vat_number( '', 0, true );
1507
+        } else if ($requires_vat) {
1508
+            $vat_number = self::get_user_vat_number('', 0, true);
1509 1509
             $vat_info   = self::current_vat_data();
1510 1510
             
1511
-            if ( is_array( $vat_info ) ) {
1512
-                $vat_number = isset( $vat_info['number'] ) && !empty( $vat_info['valid'] ) ? $vat_info['number'] : "";
1511
+            if (is_array($vat_info)) {
1512
+                $vat_number = isset($vat_info['number']) && !empty($vat_info['valid']) ? $vat_info['number'] : "";
1513 1513
             }
1514 1514
             
1515
-            if ( $country == 'UK' ) {
1515
+            if ($country == 'UK') {
1516 1516
                 $country = 'GB';
1517 1517
             }
1518 1518
 
1519
-            if ( !empty( $vat_number ) ) {
1519
+            if (!empty($vat_number)) {
1520 1520
                 $rate = 0;
1521 1521
             } else {
1522
-                $rate = self::find_rate( $country, $state, $rate, $class ); // Fix if there are no tax rated and you try to pay an invoice it does not add the fallback tax rate
1522
+                $rate = self::find_rate($country, $state, $rate, $class); // Fix if there are no tax rated and you try to pay an invoice it does not add the fallback tax rate
1523 1523
             }
1524 1524
 
1525
-            if ( empty( $vat_number ) && !$is_digital ) {
1526
-                if ( $base_country ) {
1527
-                    $rate = self::find_rate( $country, null, $rate, $class );
1525
+            if (empty($vat_number) && !$is_digital) {
1526
+                if ($base_country) {
1527
+                    $rate = self::find_rate($country, null, $rate, $class);
1528 1528
                 } else {
1529
-                    if ( empty( $country ) && isset( $wpinv_options['eu_fallback_rate'] ) ) {
1529
+                    if (empty($country) && isset($wpinv_options['eu_fallback_rate'])) {
1530 1530
                         $rate = $wpinv_options['eu_fallback_rate'];
1531
-                    } else if( !empty( $country ) ) {
1532
-                        $rate = self::find_rate( $country, $state, $rate, $class );
1531
+                    } else if (!empty($country)) {
1532
+                        $rate = self::find_rate($country, $state, $rate, $class);
1533 1533
                     }
1534 1534
                 }
1535
-            } else if ( empty( $vat_number ) || ( self::same_country_rule() == 'always' && $base_country ) ) {
1536
-                if ( empty( $country ) && isset( $wpinv_options['eu_fallback_rate'] ) ) {
1535
+            } else if (empty($vat_number) || (self::same_country_rule() == 'always' && $base_country)) {
1536
+                if (empty($country) && isset($wpinv_options['eu_fallback_rate'])) {
1537 1537
                     $rate = $wpinv_options['eu_fallback_rate'];
1538
-                } else if( !empty( $country ) ) {
1539
-                    $rate = self::find_rate( $country, $state, $rate, $class );
1538
+                } else if (!empty($country)) {
1539
+                    $rate = self::find_rate($country, $state, $rate, $class);
1540 1540
                 }
1541 1541
             }
1542 1542
         } else {
1543
-            if ( $is_digital ) {
1543
+            if ($is_digital) {
1544 1544
                 $ip_country_code = self::get_country_by_ip();
1545 1545
                 
1546
-                if ( $ip_country_code && self::is_eu_state( $ip_country_code ) ) {
1547
-                    $rate = self::find_rate( $ip_country_code, '', 0, $class );
1546
+                if ($ip_country_code && self::is_eu_state($ip_country_code)) {
1547
+                    $rate = self::find_rate($ip_country_code, '', 0, $class);
1548 1548
                 } else {
1549
-                    $rate = self::find_rate( $country, $state, $rate, $class );
1549
+                    $rate = self::find_rate($country, $state, $rate, $class);
1550 1550
                 }
1551 1551
             } else {
1552
-                $rate = self::find_rate( $country, $state, $rate, $class );
1552
+                $rate = self::find_rate($country, $state, $rate, $class);
1553 1553
             }
1554 1554
         }
1555 1555
 
@@ -1559,48 +1559,48 @@  discard block
 block discarded – undo
1559 1559
     public static function current_vat_data() {
1560 1560
         global $wpi_session;
1561 1561
         
1562
-        return $wpi_session->get( 'user_vat_data' );
1562
+        return $wpi_session->get('user_vat_data');
1563 1563
     }
1564 1564
     
1565
-    public static function get_user_country( $country = '', $user_id = 0 ) {
1566
-        $user_address = wpinv_get_user_address( $user_id, false );
1565
+    public static function get_user_country($country = '', $user_id = 0) {
1566
+        $user_address = wpinv_get_user_address($user_id, false);
1567 1567
         
1568
-        if ( wpinv_get_option( 'vat_ip_country_default' ) ) {
1568
+        if (wpinv_get_option('vat_ip_country_default')) {
1569 1569
             $country = '';
1570 1570
         }
1571 1571
         
1572
-        $country    = empty( $user_address ) || !isset( $user_address['country'] ) || empty( $user_address['country'] ) ? $country : $user_address['country'];
1573
-        $result     = apply_filters( 'wpinv_get_user_country', $country, $user_id );
1572
+        $country    = empty($user_address) || !isset($user_address['country']) || empty($user_address['country']) ? $country : $user_address['country'];
1573
+        $result     = apply_filters('wpinv_get_user_country', $country, $user_id);
1574 1574
 
1575
-        if ( empty( $result ) ) {
1575
+        if (empty($result)) {
1576 1576
             $result = self::get_country_by_ip();
1577 1577
         }
1578 1578
 
1579 1579
         return $result;
1580 1580
     }
1581 1581
     
1582
-    public static function set_user_country( $country = '', $user_id = 0 ) {
1582
+    public static function set_user_country($country = '', $user_id = 0) {
1583 1583
         global $wpi_userID;
1584 1584
         
1585
-        if ( empty($country) && !empty($wpi_userID) && get_current_user_id() != $wpi_userID ) {
1585
+        if (empty($country) && !empty($wpi_userID) && get_current_user_id() != $wpi_userID) {
1586 1586
             $country = wpinv_get_default_country();
1587 1587
         }
1588 1588
         
1589 1589
         return $country;
1590 1590
     }
1591 1591
     
1592
-    public static function get_user_vat_number( $vat_number = '', $user_id = 0, $is_valid = false ) {
1592
+    public static function get_user_vat_number($vat_number = '', $user_id = 0, $is_valid = false) {
1593 1593
         global $wpi_current_id, $wpi_userID;
1594 1594
         
1595
-        if ( !empty( $_POST['new_user'] ) ) {
1595
+        if (!empty($_POST['new_user'])) {
1596 1596
             return '';
1597 1597
         }
1598 1598
         
1599
-        if ( empty( $user_id ) ) {
1600
-            $user_id = !empty( $wpi_userID ) ? $wpi_userID : ( $wpi_current_id ? wpinv_get_user_id( $wpi_current_id ) : get_current_user_id() );
1599
+        if (empty($user_id)) {
1600
+            $user_id = !empty($wpi_userID) ? $wpi_userID : ($wpi_current_id ? wpinv_get_user_id($wpi_current_id) : get_current_user_id());
1601 1601
         }
1602 1602
 
1603
-        $vat_number = empty( $user_id ) ? '' : get_user_meta( $user_id, '_wpinv_vat_number', true );
1603
+        $vat_number = empty($user_id) ? '' : get_user_meta($user_id, '_wpinv_vat_number', true);
1604 1604
         
1605 1605
         /* TODO
1606 1606
         if ( $is_valid && $vat_number ) {
@@ -1611,38 +1611,38 @@  discard block
 block discarded – undo
1611 1611
         }
1612 1612
         */
1613 1613
 
1614
-        return apply_filters('wpinv_get_user_vat_number', $vat_number, $user_id, $is_valid );
1614
+        return apply_filters('wpinv_get_user_vat_number', $vat_number, $user_id, $is_valid);
1615 1615
     }
1616 1616
     
1617
-    public static function get_user_company( $company = '', $user_id = 0 ) {
1617
+    public static function get_user_company($company = '', $user_id = 0) {
1618 1618
         global $wpi_current_id, $wpi_userID;
1619 1619
         
1620
-        if ( empty( $user_id ) ) {
1621
-            $user_id = !empty( $wpi_userID ) ? $wpi_userID : ( $wpi_current_id ? wpinv_get_user_id( $wpi_current_id ) : get_current_user_id() );
1620
+        if (empty($user_id)) {
1621
+            $user_id = !empty($wpi_userID) ? $wpi_userID : ($wpi_current_id ? wpinv_get_user_id($wpi_current_id) : get_current_user_id());
1622 1622
         }
1623 1623
 
1624
-        $company = empty( $user_id ) ? "" : get_user_meta( $user_id, '_wpinv_company', true );
1624
+        $company = empty($user_id) ? "" : get_user_meta($user_id, '_wpinv_company', true);
1625 1625
 
1626
-        return apply_filters( 'wpinv_user_company', $company, $user_id );
1626
+        return apply_filters('wpinv_user_company', $company, $user_id);
1627 1627
     }
1628 1628
     
1629
-    public static function save_user_vat_details( $company = '', $vat_number = '' ) {
1630
-        $save = apply_filters( 'wpinv_allow_save_user_vat_details', true );
1629
+    public static function save_user_vat_details($company = '', $vat_number = '') {
1630
+        $save = apply_filters('wpinv_allow_save_user_vat_details', true);
1631 1631
 
1632
-        if ( is_user_logged_in() && $save ) {
1632
+        if (is_user_logged_in() && $save) {
1633 1633
             $user_id = get_current_user_id();
1634 1634
 
1635
-            if ( !empty( $vat_number ) ) {
1636
-                update_user_meta( $user_id, '_wpinv_vat_number', $vat_number );
1635
+            if (!empty($vat_number)) {
1636
+                update_user_meta($user_id, '_wpinv_vat_number', $vat_number);
1637 1637
             } else {
1638
-                delete_user_meta( $user_id, '_wpinv_vat_number');
1638
+                delete_user_meta($user_id, '_wpinv_vat_number');
1639 1639
             }
1640 1640
 
1641
-            if ( !empty( $company ) ) {
1642
-                update_user_meta( $user_id, '_wpinv_company', $company );
1641
+            if (!empty($company)) {
1642
+                update_user_meta($user_id, '_wpinv_company', $company);
1643 1643
             } else {
1644
-                delete_user_meta( $user_id, '_wpinv_company');
1645
-                delete_user_meta( $user_id, '_wpinv_vat_number');
1644
+                delete_user_meta($user_id, '_wpinv_company');
1645
+                delete_user_meta($user_id, '_wpinv_vat_number');
1646 1646
             }
1647 1647
         }
1648 1648
 
@@ -1652,113 +1652,113 @@  discard block
 block discarded – undo
1652 1652
     public static function ajax_vat_validate() {
1653 1653
         global $wpinv_options, $wpi_session;
1654 1654
         
1655
-        $is_checkout            = ( !empty( $_POST['source'] ) && $_POST['source'] == 'checkout' ) ? true : false;
1655
+        $is_checkout            = (!empty($_POST['source']) && $_POST['source'] == 'checkout') ? true : false;
1656 1656
         $response               = array();
1657 1657
         $response['success']    = false;
1658 1658
         
1659
-        if ( empty( $_REQUEST['_wpi_nonce'] ) || ( !empty( $_REQUEST['_wpi_nonce'] ) && !wp_verify_nonce( $_REQUEST['_wpi_nonce'], 'vat_validation' ) ) ) {
1660
-            $response['error'] = __( 'Invalid security nonce', 'invoicing' );
1661
-            wp_send_json( $response );
1659
+        if (empty($_REQUEST['_wpi_nonce']) || (!empty($_REQUEST['_wpi_nonce']) && !wp_verify_nonce($_REQUEST['_wpi_nonce'], 'vat_validation'))) {
1660
+            $response['error'] = __('Invalid security nonce', 'invoicing');
1661
+            wp_send_json($response);
1662 1662
         }
1663 1663
         
1664
-        $vat_name   = self::get_vat_name();
1664
+        $vat_name = self::get_vat_name();
1665 1665
         
1666
-        if ( $is_checkout ) {
1666
+        if ($is_checkout) {
1667 1667
             $invoice = wpinv_get_invoice_cart();
1668 1668
             
1669
-            if ( !self::requires_vat( false, 0, self::invoice_has_digital_rule( $invoice ) ) ) {
1669
+            if (!self::requires_vat(false, 0, self::invoice_has_digital_rule($invoice))) {
1670 1670
                 $vat_info = array();
1671
-                $wpi_session->set( 'user_vat_data', $vat_info );
1671
+                $wpi_session->set('user_vat_data', $vat_info);
1672 1672
 
1673 1673
                 self::save_user_vat_details();
1674 1674
                 
1675 1675
                 $response['success'] = true;
1676
-                $response['message'] = wp_sprintf( __( 'Ignore %s', 'invoicing' ), $vat_name );
1677
-                wp_send_json( $response );
1676
+                $response['message'] = wp_sprintf(__('Ignore %s', 'invoicing'), $vat_name);
1677
+                wp_send_json($response);
1678 1678
             }
1679 1679
         }
1680 1680
         
1681
-        $company    = !empty( $_POST['company'] ) ? sanitize_text_field( $_POST['company'] ) : '';
1682
-        $vat_number = !empty( $_POST['number'] ) ? sanitize_text_field( $_POST['number'] ) : '';
1681
+        $company    = !empty($_POST['company']) ? sanitize_text_field($_POST['company']) : '';
1682
+        $vat_number = !empty($_POST['number']) ? sanitize_text_field($_POST['number']) : '';
1683 1683
         
1684
-        $vat_info = $wpi_session->get( 'user_vat_data' );
1685
-        if ( !is_array( $vat_info ) || empty( $vat_info ) ) {
1686
-            $vat_info = array( 'company'=> $company, 'number' => '', 'valid' => true );
1684
+        $vat_info = $wpi_session->get('user_vat_data');
1685
+        if (!is_array($vat_info) || empty($vat_info)) {
1686
+            $vat_info = array('company'=> $company, 'number' => '', 'valid' => true);
1687 1687
         }
1688 1688
         
1689
-        if ( empty( $vat_number ) ) {
1690
-            if ( $is_checkout ) {
1689
+        if (empty($vat_number)) {
1690
+            if ($is_checkout) {
1691 1691
                 $response['success'] = true;
1692
-                $response['message'] = wp_sprintf( __( 'No %s number has been applied. %s will be added to invoice totals', 'invoicing' ), $vat_name, $vat_name );
1692
+                $response['message'] = wp_sprintf(__('No %s number has been applied. %s will be added to invoice totals', 'invoicing'), $vat_name, $vat_name);
1693 1693
                 
1694
-                $vat_info = $wpi_session->get( 'user_vat_data' );
1694
+                $vat_info = $wpi_session->get('user_vat_data');
1695 1695
                 $vat_info['number'] = "";
1696 1696
                 $vat_info['valid'] = true;
1697 1697
                 
1698
-                self::save_user_vat_details( $company );
1698
+                self::save_user_vat_details($company);
1699 1699
             } else {
1700
-                $response['error'] = wp_sprintf( __( 'Please enter your %s number!', 'invoicing' ), $vat_name );
1700
+                $response['error'] = wp_sprintf(__('Please enter your %s number!', 'invoicing'), $vat_name);
1701 1701
                 
1702 1702
                 $vat_info['valid'] = false;
1703 1703
             }
1704 1704
 
1705
-            $wpi_session->set( 'user_vat_data', $vat_info );
1706
-            wp_send_json( $response );
1705
+            $wpi_session->set('user_vat_data', $vat_info);
1706
+            wp_send_json($response);
1707 1707
         }
1708 1708
         
1709
-        if ( empty( $company ) ) {
1709
+        if (empty($company)) {
1710 1710
             $vat_info['valid'] = false;
1711
-            $wpi_session->set( 'user_vat_data', $vat_info );
1711
+            $wpi_session->set('user_vat_data', $vat_info);
1712 1712
             
1713
-            $response['error'] = __( 'Please enter your registered company name!', 'invoicing' );
1714
-            wp_send_json( $response );
1713
+            $response['error'] = __('Please enter your registered company name!', 'invoicing');
1714
+            wp_send_json($response);
1715 1715
         }
1716 1716
         
1717
-        if ( !empty( $wpinv_options['vat_vies_check'] ) ) {
1718
-            if ( empty( $wpinv_options['vat_offline_check'] ) && !self::offline_check( $vat_number ) ) {
1717
+        if (!empty($wpinv_options['vat_vies_check'])) {
1718
+            if (empty($wpinv_options['vat_offline_check']) && !self::offline_check($vat_number)) {
1719 1719
                 $vat_info['valid'] = false;
1720
-                $wpi_session->set( 'user_vat_data', $vat_info );
1720
+                $wpi_session->set('user_vat_data', $vat_info);
1721 1721
                 
1722
-                $response['error'] = wp_sprintf( __( '%s number not validated', 'invoicing' ), $vat_name );
1723
-                wp_send_json( $response );
1722
+                $response['error'] = wp_sprintf(__('%s number not validated', 'invoicing'), $vat_name);
1723
+                wp_send_json($response);
1724 1724
             }
1725 1725
             
1726 1726
             $response['success'] = true;
1727
-            $response['message'] = wp_sprintf( __( '%s number validated', 'invoicing' ), $vat_name );
1727
+            $response['message'] = wp_sprintf(__('%s number validated', 'invoicing'), $vat_name);
1728 1728
         } else {
1729
-            $result = self::check_vat( $vat_number );
1729
+            $result = self::check_vat($vat_number);
1730 1730
             
1731
-            if ( empty( $result['valid'] ) ) {
1731
+            if (empty($result['valid'])) {
1732 1732
                 $response['error'] = $result['message'];
1733
-                wp_send_json( $response );
1733
+                wp_send_json($response);
1734 1734
             }
1735 1735
             
1736
-            $vies_company = !empty( $result['company'] ) ? $result['company'] : '';
1737
-            $vies_company = apply_filters( 'wpinv_vies_company_name', $vies_company );
1736
+            $vies_company = !empty($result['company']) ? $result['company'] : '';
1737
+            $vies_company = apply_filters('wpinv_vies_company_name', $vies_company);
1738 1738
             
1739
-            $valid_company = $vies_company && $company && ( $vies_company == '---' || strcasecmp( trim( $vies_company ), trim( $company ) ) == 0 ) ? true : false;
1739
+            $valid_company = $vies_company && $company && ($vies_company == '---' || strcasecmp(trim($vies_company), trim($company)) == 0) ? true : false;
1740 1740
 
1741
-            if ( !empty( $wpinv_options['vat_disable_company_name_check'] ) || $valid_company ) {
1741
+            if (!empty($wpinv_options['vat_disable_company_name_check']) || $valid_company) {
1742 1742
                 $response['success'] = true;
1743
-                $response['message'] = wp_sprintf( __( '%s number validated', 'invoicing' ), $vat_name );
1743
+                $response['message'] = wp_sprintf(__('%s number validated', 'invoicing'), $vat_name);
1744 1744
             } else {           
1745 1745
                 $vat_info['valid'] = false;
1746
-                $wpi_session->set( 'user_vat_data', $vat_info );
1746
+                $wpi_session->set('user_vat_data', $vat_info);
1747 1747
                 
1748 1748
                 $response['success'] = false;
1749
-                $response['message'] = wp_sprintf( __( 'The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing' ), $vat_name );
1750
-                wp_send_json( $response );
1749
+                $response['message'] = wp_sprintf(__('The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing'), $vat_name);
1750
+                wp_send_json($response);
1751 1751
             }
1752 1752
         }
1753 1753
         
1754
-        if ( $is_checkout ) {
1755
-            self::save_user_vat_details( $company, $vat_number );
1754
+        if ($is_checkout) {
1755
+            self::save_user_vat_details($company, $vat_number);
1756 1756
 
1757
-            $vat_info = array('company' => $company, 'number' => $vat_number, 'valid' => true );
1758
-            $wpi_session->set( 'user_vat_data', $vat_info );
1757
+            $vat_info = array('company' => $company, 'number' => $vat_number, 'valid' => true);
1758
+            $wpi_session->set('user_vat_data', $vat_info);
1759 1759
         }
1760 1760
 
1761
-        wp_send_json( $response );
1761
+        wp_send_json($response);
1762 1762
     }
1763 1763
     
1764 1764
     public static function ajax_vat_reset() {
@@ -1767,161 +1767,161 @@  discard block
 block discarded – undo
1767 1767
         $company    = is_user_logged_in() ? self::get_user_company() : '';
1768 1768
         $vat_number = self::get_user_vat_number();
1769 1769
         
1770
-        $vat_info   = array('company' => $company, 'number' => $vat_number, 'valid' => false );
1771
-        $wpi_session->set( 'user_vat_data', $vat_info );
1770
+        $vat_info   = array('company' => $company, 'number' => $vat_number, 'valid' => false);
1771
+        $wpi_session->set('user_vat_data', $vat_info);
1772 1772
         
1773 1773
         $response                       = array();
1774 1774
         $response['success']            = true;
1775 1775
         $response['data']['company']    = $company;
1776 1776
         $response['data']['number']     = $vat_number;
1777 1777
         
1778
-        wp_send_json( $response );
1778
+        wp_send_json($response);
1779 1779
     }
1780 1780
     
1781
-    public static function checkout_vat_validate( $valid_data, $post ) {
1781
+    public static function checkout_vat_validate($valid_data, $post) {
1782 1782
         global $wpinv_options, $wpi_session;
1783 1783
         
1784
-        $vat_name  = __( self::get_vat_name(), 'invoicing' );
1784
+        $vat_name = __(self::get_vat_name(), 'invoicing');
1785 1785
         
1786
-        if ( !isset( $_POST['_wpi_nonce'] ) || !wp_verify_nonce( $_POST['_wpi_nonce'], 'vat_validation' ) ) {
1787
-            wpinv_set_error( 'vat_validation', wp_sprintf( __( "Invalid %s validation request.", 'invoicing' ), $vat_name ) );
1786
+        if (!isset($_POST['_wpi_nonce']) || !wp_verify_nonce($_POST['_wpi_nonce'], 'vat_validation')) {
1787
+            wpinv_set_error('vat_validation', wp_sprintf(__("Invalid %s validation request.", 'invoicing'), $vat_name));
1788 1788
             return;
1789 1789
         }
1790 1790
         
1791
-        $vat_saved = $wpi_session->get( 'user_vat_data' );
1792
-        $wpi_session->set( 'user_vat_data', null );
1791
+        $vat_saved = $wpi_session->get('user_vat_data');
1792
+        $wpi_session->set('user_vat_data', null);
1793 1793
         
1794 1794
         $invoice        = wpinv_get_invoice_cart();
1795 1795
         $amount         = $invoice->get_total();
1796
-        $is_digital     = self::invoice_has_digital_rule( $invoice );
1797
-        $no_vat         = !self::requires_vat( 0, false, $is_digital );
1796
+        $is_digital     = self::invoice_has_digital_rule($invoice);
1797
+        $no_vat         = !self::requires_vat(0, false, $is_digital);
1798 1798
         
1799
-        $company        = !empty( $_POST['wpinv_company'] ) ? $_POST['wpinv_company'] : null;
1800
-        $vat_number     = !empty( $_POST['wpinv_vat_number'] ) ? $_POST['wpinv_vat_number'] : null;
1801
-        $country        = !empty( $_POST['wpinv_country'] ) ? $_POST['wpinv_country'] : $invoice->country;
1802
-        if ( empty( $country ) ) {
1799
+        $company        = !empty($_POST['wpinv_company']) ? $_POST['wpinv_company'] : null;
1800
+        $vat_number     = !empty($_POST['wpinv_vat_number']) ? $_POST['wpinv_vat_number'] : null;
1801
+        $country        = !empty($_POST['wpinv_country']) ? $_POST['wpinv_country'] : $invoice->country;
1802
+        if (empty($country)) {
1803 1803
             $country = wpinv_default_billing_country();
1804 1804
         }
1805 1805
         
1806
-        if ( !$is_digital && $no_vat ) {
1806
+        if (!$is_digital && $no_vat) {
1807 1807
             return;
1808 1808
         }
1809 1809
             
1810
-        $vat_data           = array( 'company' => '', 'number' => '', 'valid' => false );
1810
+        $vat_data           = array('company' => '', 'number' => '', 'valid' => false);
1811 1811
         
1812 1812
         $ip_country_code    = self::get_country_by_ip();
1813
-        $is_eu_state        = self::is_eu_state( $country );
1814
-        $is_eu_state_ip     = self::is_eu_state( $ip_country_code );
1813
+        $is_eu_state        = self::is_eu_state($country);
1814
+        $is_eu_state_ip     = self::is_eu_state($ip_country_code);
1815 1815
         $is_non_eu_user     = !$is_eu_state && !$is_eu_state_ip;
1816 1816
         
1817
-        if ( $is_digital && !$is_non_eu_user && empty( $vat_number ) && apply_filters( 'wpinv_checkout_requires_country', true, $amount ) ) {
1817
+        if ($is_digital && !$is_non_eu_user && empty($vat_number) && apply_filters('wpinv_checkout_requires_country', true, $amount)) {
1818 1818
             $vat_data['adddress_confirmed'] = false;
1819 1819
             
1820
-            if ( !isset( $_POST['wpinv_adddress_confirmed'] ) ) {
1821
-                if ( $ip_country_code != $country ) {
1822
-                    wpinv_set_error( 'vat_validation', sprintf( __( 'The country of your current location must be the same as the country of your billing location or you must %s confirm %s the billing address is your home country.', 'invoicing' ), '<a href="#wpinv_adddress_confirm">', '</a>' ) );
1820
+            if (!isset($_POST['wpinv_adddress_confirmed'])) {
1821
+                if ($ip_country_code != $country) {
1822
+                    wpinv_set_error('vat_validation', sprintf(__('The country of your current location must be the same as the country of your billing location or you must %s confirm %s the billing address is your home country.', 'invoicing'), '<a href="#wpinv_adddress_confirm">', '</a>'));
1823 1823
                 }
1824 1824
             } else {
1825 1825
                 $vat_data['adddress_confirmed'] = true;
1826 1826
             }
1827 1827
         }
1828 1828
         
1829
-        if ( !empty( $wpinv_options['vat_prevent_b2c_purchase'] ) && !$is_non_eu_user && ( empty( $vat_number ) || $no_vat ) ) {
1830
-            if ( $is_eu_state ) {
1831
-                wpinv_set_error( 'vat_validation', wp_sprintf( __( 'Please enter and validate your %s number to verify your purchase is by an EU business.', 'invoicing' ), $vat_name ) );
1832
-            } else if ( $is_digital && $is_eu_state_ip ) {
1833
-                wpinv_set_error( 'vat_validation', wp_sprintf( __( 'Sales to non-EU countries cannot be completed because %s must be applied.', 'invoicing' ), $vat_name ) );
1829
+        if (!empty($wpinv_options['vat_prevent_b2c_purchase']) && !$is_non_eu_user && (empty($vat_number) || $no_vat)) {
1830
+            if ($is_eu_state) {
1831
+                wpinv_set_error('vat_validation', wp_sprintf(__('Please enter and validate your %s number to verify your purchase is by an EU business.', 'invoicing'), $vat_name));
1832
+            } else if ($is_digital && $is_eu_state_ip) {
1833
+                wpinv_set_error('vat_validation', wp_sprintf(__('Sales to non-EU countries cannot be completed because %s must be applied.', 'invoicing'), $vat_name));
1834 1834
             }
1835 1835
         }
1836 1836
         
1837
-        if ( !$is_eu_state || $no_vat || empty( $vat_number ) ) {
1837
+        if (!$is_eu_state || $no_vat || empty($vat_number)) {
1838 1838
             return;
1839 1839
         }
1840 1840
 
1841
-        if ( !empty( $vat_saved ) && isset( $vat_saved['valid'] ) ) {
1842
-            $vat_data['valid']  = $vat_saved['valid'];
1841
+        if (!empty($vat_saved) && isset($vat_saved['valid'])) {
1842
+            $vat_data['valid'] = $vat_saved['valid'];
1843 1843
         }
1844 1844
             
1845
-        if ( $company !== null ) {
1845
+        if ($company !== null) {
1846 1846
             $vat_data['company'] = $company;
1847 1847
         }
1848 1848
 
1849 1849
         $message = '';
1850
-        if ( $vat_number !== null ) {
1850
+        if ($vat_number !== null) {
1851 1851
             $vat_data['number'] = $vat_number;
1852 1852
             
1853
-            if ( !$vat_data['valid'] || ( $vat_saved['number'] !== $vat_data['number'] ) || ( $vat_saved['company'] !== $vat_data['company'] ) ) {
1854
-                if ( !empty( $wpinv_options['vat_vies_check'] ) ) {            
1855
-                    if ( empty( $wpinv_options['vat_offline_check'] ) && !self::offline_check( $vat_number ) ) {
1853
+            if (!$vat_data['valid'] || ($vat_saved['number'] !== $vat_data['number']) || ($vat_saved['company'] !== $vat_data['company'])) {
1854
+                if (!empty($wpinv_options['vat_vies_check'])) {            
1855
+                    if (empty($wpinv_options['vat_offline_check']) && !self::offline_check($vat_number)) {
1856 1856
                         $vat_data['valid'] = false;
1857 1857
                     }
1858 1858
                 } else {
1859
-                    $result = self::check_vat( $vat_number );
1859
+                    $result = self::check_vat($vat_number);
1860 1860
                     
1861
-                    if ( !empty( $result['valid'] ) ) {                
1861
+                    if (!empty($result['valid'])) {                
1862 1862
                         $vat_data['valid'] = true;
1863
-                        $vies_company = !empty( $result['company'] ) ? $result['company'] : '';
1864
-                        $vies_company = apply_filters( 'wpinv_vies_company_name', $vies_company );
1863
+                        $vies_company = !empty($result['company']) ? $result['company'] : '';
1864
+                        $vies_company = apply_filters('wpinv_vies_company_name', $vies_company);
1865 1865
                     
1866
-                        $valid_company = $vies_company && $company && ( $vies_company == '---' || strcasecmp( trim( $vies_company ), trim( $company ) ) == 0 ) ? true : false;
1866
+                        $valid_company = $vies_company && $company && ($vies_company == '---' || strcasecmp(trim($vies_company), trim($company)) == 0) ? true : false;
1867 1867
 
1868
-                        if ( !( !empty( $wpinv_options['vat_disable_company_name_check'] ) || $valid_company ) ) {         
1868
+                        if (!(!empty($wpinv_options['vat_disable_company_name_check']) || $valid_company)) {         
1869 1869
                             $vat_data['valid'] = false;
1870 1870
                             
1871
-                            $message = wp_sprintf( __( 'The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing' ), $vat_name );
1871
+                            $message = wp_sprintf(__('The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing'), $vat_name);
1872 1872
                         }
1873 1873
                     } else {
1874
-                        $message = wp_sprintf( __( 'Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing' ), $vat_name );
1874
+                        $message = wp_sprintf(__('Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing'), $vat_name);
1875 1875
                     }
1876 1876
                 }
1877 1877
                 
1878
-                if ( !$vat_data['valid'] ) {
1879
-                    $error = wp_sprintf( __( 'The %s %s number %s you have entered has not been validated', 'invoicing' ), '<a href="#wpi-vat-details">', $vat_name, '</a>' ) . ( $message ? ' ( ' . $message . ' )' : '' );
1880
-                    wpinv_set_error( 'vat_validation', $error );
1878
+                if (!$vat_data['valid']) {
1879
+                    $error = wp_sprintf(__('The %s %s number %s you have entered has not been validated', 'invoicing'), '<a href="#wpi-vat-details">', $vat_name, '</a>') . ($message ? ' ( ' . $message . ' )' : '');
1880
+                    wpinv_set_error('vat_validation', $error);
1881 1881
                 }
1882 1882
             }
1883 1883
         }
1884 1884
 
1885
-        $wpi_session->set( 'user_vat_data', $vat_data );
1885
+        $wpi_session->set('user_vat_data', $vat_data);
1886 1886
     }
1887 1887
     
1888
-    public static function checkout_vat_fields( $billing_details ) {
1888
+    public static function checkout_vat_fields($billing_details) {
1889 1889
         global $wpi_session, $wpinv_options, $wpi_country, $wpi_requires_vat;
1890 1890
         
1891 1891
         $ip_address         = wpinv_get_ip();
1892 1892
         $ip_country_code    = self::get_country_by_ip();
1893 1893
         
1894
-        $tax_label          = __( self::get_vat_name(), 'invoicing' );
1894
+        $tax_label          = __(self::get_vat_name(), 'invoicing');
1895 1895
         $invoice            = wpinv_get_invoice_cart();
1896
-        $is_digital         = self::invoice_has_digital_rule( $invoice );
1896
+        $is_digital         = self::invoice_has_digital_rule($invoice);
1897 1897
         $wpi_country        = $invoice->country;
1898 1898
         
1899
-        $requires_vat       = !self::hide_vat_fields() && !$invoice->is_free() && self::requires_vat( 0, false, $is_digital );
1899
+        $requires_vat       = !self::hide_vat_fields() && !$invoice->is_free() && self::requires_vat(0, false, $is_digital);
1900 1900
         $wpi_requires_vat   = $requires_vat;
1901 1901
         
1902 1902
         $company            = self::get_user_company();
1903 1903
         $vat_number         = self::get_user_vat_number();
1904 1904
         
1905
-        $validated          = $vat_number ? self::get_user_vat_number( '', 0, true ) : 1;
1906
-        $vat_info           = $wpi_session->get( 'user_vat_data' );
1905
+        $validated          = $vat_number ? self::get_user_vat_number('', 0, true) : 1;
1906
+        $vat_info           = $wpi_session->get('user_vat_data');
1907 1907
 
1908
-        if ( is_array( $vat_info ) ) {
1909
-            $company    = isset( $vat_info['company'] ) ? $vat_info['company'] : '';
1910
-            $vat_number = isset( $vat_info['number'] ) ? $vat_info['number'] : '';
1911
-            $validated  = isset( $vat_info['valid'] ) ? $vat_info['valid'] : false;
1908
+        if (is_array($vat_info)) {
1909
+            $company    = isset($vat_info['company']) ? $vat_info['company'] : '';
1910
+            $vat_number = isset($vat_info['number']) ? $vat_info['number'] : '';
1911
+            $validated  = isset($vat_info['valid']) ? $vat_info['valid'] : false;
1912 1912
         }
1913 1913
         
1914 1914
         $selected_country = $invoice->country ? $invoice->country : wpinv_default_billing_country();
1915 1915
 
1916
-        if ( $ip_country_code == 'UK' ) {
1916
+        if ($ip_country_code == 'UK') {
1917 1917
             $ip_country_code = 'GB';
1918 1918
         }
1919 1919
         
1920
-        if ( $selected_country == 'UK' ) {
1920
+        if ($selected_country == 'UK') {
1921 1921
             $selected_country = 'GB';
1922 1922
         }
1923 1923
         
1924
-        if ( $requires_vat && ( self::same_country_rule() == 'no' && wpinv_is_base_country( $selected_country ) || !self::allow_vat_rules() ) ) {
1924
+        if ($requires_vat && (self::same_country_rule() == 'no' && wpinv_is_base_country($selected_country) || !self::allow_vat_rules())) {
1925 1925
             $requires_vat = false;
1926 1926
         }
1927 1927
 
@@ -1929,52 +1929,52 @@  discard block
 block discarded – undo
1929 1929
         $display_validate_btn   = 'none';
1930 1930
         $display_reset_btn      = 'none';
1931 1931
         
1932
-        if ( !empty( $vat_number ) && $validated ) {
1933
-            $vat_vailidated_text    = wp_sprintf( __( '%s number validated', 'invoicing' ), $tax_label );
1932
+        if (!empty($vat_number) && $validated) {
1933
+            $vat_vailidated_text    = wp_sprintf(__('%s number validated', 'invoicing'), $tax_label);
1934 1934
             $vat_vailidated_class   = 'wpinv-vat-stat-1';
1935 1935
             $display_reset_btn      = 'block';
1936 1936
         } else {
1937
-            $vat_vailidated_text    = empty( $vat_number ) ? '' : wp_sprintf( __( '%s number not validated', 'invoicing' ), $tax_label );
1938
-            $vat_vailidated_class   = empty( $vat_number ) ? '' : 'wpinv-vat-stat-0';
1937
+            $vat_vailidated_text    = empty($vat_number) ? '' : wp_sprintf(__('%s number not validated', 'invoicing'), $tax_label);
1938
+            $vat_vailidated_class   = empty($vat_number) ? '' : 'wpinv-vat-stat-0';
1939 1939
             $display_validate_btn   = 'block';
1940 1940
         }
1941 1941
         
1942
-        $show_ip_country        = $is_digital && ( empty( $vat_number ) || !$requires_vat ) && $ip_country_code != $selected_country ? 'block' : 'none';
1942
+        $show_ip_country = $is_digital && (empty($vat_number) || !$requires_vat) && $ip_country_code != $selected_country ? 'block' : 'none';
1943 1943
         ?>
1944 1944
         <div id="wpi-vat-details" class="wpi-vat-details clearfix" style="display:<?php echo $display_vat_details; ?>">
1945 1945
             <div id="wpi_vat_info" class="clearfix panel panel-default">
1946
-                <div class="panel-heading"><h3 class="panel-title"><?php echo wp_sprintf( __( '%s Details', 'invoicing' ), $tax_label );?></h3></div>
1946
+                <div class="panel-heading"><h3 class="panel-title"><?php echo wp_sprintf(__('%s Details', 'invoicing'), $tax_label); ?></h3></div>
1947 1947
                 <div id="wpinv-fields-box" class="panel-body">
1948 1948
                     <p id="wpi_show_vat_note">
1949
-                        <?php echo wp_sprintf( __( 'Validate your registered %s number to exclude tax.', 'invoicing' ), $tax_label ); ?>
1949
+                        <?php echo wp_sprintf(__('Validate your registered %s number to exclude tax.', 'invoicing'), $tax_label); ?>
1950 1950
                     </p>
1951 1951
                     <div id="wpi_vat_fields" class="wpi_vat_info">
1952 1952
                         <p class="wpi-cart-field wpi-col2 wpi-colf">
1953
-                            <label for="wpinv_company" class="wpi-label"><?php _e( 'Company Name', 'invoicing' );?></label>
1953
+                            <label for="wpinv_company" class="wpi-label"><?php _e('Company Name', 'invoicing'); ?></label>
1954 1954
                             <?php
1955
-                            echo wpinv_html_text( array(
1955
+                            echo wpinv_html_text(array(
1956 1956
                                     'id'            => 'wpinv_company',
1957 1957
                                     'name'          => 'wpinv_company',
1958 1958
                                     'value'         => $company,
1959 1959
                                     'class'         => 'wpi-input form-control',
1960
-                                    'placeholder'   => __( 'Company name', 'invoicing' ),
1961
-                                ) );
1960
+                                    'placeholder'   => __('Company name', 'invoicing'),
1961
+                                ));
1962 1962
                             ?>
1963 1963
                         </p>
1964 1964
                         <p class="wpi-cart-field wpi-col2 wpi-coll wpi-cart-field-vat">
1965
-                            <label for="wpinv_vat_number" class="wpi-label"><?php echo wp_sprintf( __( '%s Number', 'invoicing' ), $tax_label );?></label>
1965
+                            <label for="wpinv_vat_number" class="wpi-label"><?php echo wp_sprintf(__('%s Number', 'invoicing'), $tax_label); ?></label>
1966 1966
                             <span id="wpinv_vat_number-wrap">
1967 1967
                                 <label for="wpinv_vat_number" class="wpinv-label"></label>
1968
-                                <input type="text" class="wpi-input form-control" placeholder="<?php echo esc_attr( wp_sprintf( __( '%s number', 'invoicing' ), $tax_label ) );?>" value="<?php esc_attr_e( $vat_number );?>" id="wpinv_vat_number" name="wpinv_vat_number">
1969
-                                <span class="wpinv-vat-stat <?php echo $vat_vailidated_class;?>"><i class="fa"></i>&nbsp;<font><?php echo $vat_vailidated_text;?></font></span>
1968
+                                <input type="text" class="wpi-input form-control" placeholder="<?php echo esc_attr(wp_sprintf(__('%s number', 'invoicing'), $tax_label)); ?>" value="<?php esc_attr_e($vat_number); ?>" id="wpinv_vat_number" name="wpinv_vat_number">
1969
+                                <span class="wpinv-vat-stat <?php echo $vat_vailidated_class; ?>"><i class="fa"></i>&nbsp;<font><?php echo $vat_vailidated_text; ?></font></span>
1970 1970
                             </span>
1971 1971
                         </p>
1972 1972
                         <p class="wpi-cart-field wpi-col wpi-colf wpi-cart-field-actions">
1973
-                            <button class="btn btn-success btn-sm wpinv-vat-validate" type="button" id="wpinv_vat_validate" style="display:<?php echo $display_validate_btn; ?>"><?php echo wp_sprintf( __("Validate %s Number", 'invoicing'), $tax_label ); ?></button>
1974
-                            <button class="btn btn-danger btn-sm wpinv-vat-reset" type="button" id="wpinv_vat_reset" style="display:<?php echo $display_reset_btn; ?>"><?php echo wp_sprintf( __("Reset %s", 'invoicing'), $tax_label ); ?></button>
1973
+                            <button class="btn btn-success btn-sm wpinv-vat-validate" type="button" id="wpinv_vat_validate" style="display:<?php echo $display_validate_btn; ?>"><?php echo wp_sprintf(__("Validate %s Number", 'invoicing'), $tax_label); ?></button>
1974
+                            <button class="btn btn-danger btn-sm wpinv-vat-reset" type="button" id="wpinv_vat_reset" style="display:<?php echo $display_reset_btn; ?>"><?php echo wp_sprintf(__("Reset %s", 'invoicing'), $tax_label); ?></button>
1975 1975
                             <span class="wpi-vat-box wpi-vat-box-info"><span id="text"></span></span>
1976 1976
                             <span class="wpi-vat-box wpi-vat-box-error"><span id="text"></span></span>
1977
-                            <input type="hidden" name="_wpi_nonce" value="<?php echo wp_create_nonce( 'vat_validation' ) ?>" />
1977
+                            <input type="hidden" name="_wpi_nonce" value="<?php echo wp_create_nonce('vat_validation') ?>" />
1978 1978
                         </p>
1979 1979
                     </div>
1980 1980
                 </div>
@@ -1988,32 +1988,32 @@  discard block
 block discarded – undo
1988 1988
                 </span>
1989 1989
             </div>
1990 1990
         </div>
1991
-        <?php if ( empty( $wpinv_options['hide_ip_address'] ) ) { 
1992
-            $ip_link = '<a title="' . esc_attr( __( 'View more details on map', 'invoicing' ) ) . '" target="_blank" href="' . esc_url( admin_url( 'admin-ajax.php?action=wpinv_ip_geolocation&ip=' . $ip_address ) ) . '" class="wpi-ip-address-link">' . $ip_address . '&nbsp;&nbsp;<i class="fa fa-external-link-square" aria-hidden="true"></i></a>';
1991
+        <?php if (empty($wpinv_options['hide_ip_address'])) { 
1992
+            $ip_link = '<a title="' . esc_attr(__('View more details on map', 'invoicing')) . '" target="_blank" href="' . esc_url(admin_url('admin-ajax.php?action=wpinv_ip_geolocation&ip=' . $ip_address)) . '" class="wpi-ip-address-link">' . $ip_address . '&nbsp;&nbsp;<i class="fa fa-external-link-square" aria-hidden="true"></i></a>';
1993 1993
         ?>
1994 1994
         <div class="wpi-ip-info clearfix panel panel-info">
1995 1995
             <div id="wpinv-fields-box" class="panel-body">
1996
-                <span><?php echo wp_sprintf( __( "Your IP address is: %s", 'invoicing' ), $ip_link ); ?></span>
1996
+                <span><?php echo wp_sprintf(__("Your IP address is: %s", 'invoicing'), $ip_link); ?></span>
1997 1997
             </div>
1998 1998
         </div>
1999 1999
         <?php }
2000 2000
     }
2001 2001
     
2002
-    public static function show_vat_notice( $invoice ) {
2003
-        if ( empty( $invoice ) ) {
2002
+    public static function show_vat_notice($invoice) {
2003
+        if (empty($invoice)) {
2004 2004
             return NULL;
2005 2005
         }
2006 2006
         
2007
-        $label      = wpinv_get_option( 'vat_invoice_notice_label' );
2008
-        $notice     = wpinv_get_option( 'vat_invoice_notice' );
2009
-        if ( $label || $notice ) {
2007
+        $label      = wpinv_get_option('vat_invoice_notice_label');
2008
+        $notice     = wpinv_get_option('vat_invoice_notice');
2009
+        if ($label || $notice) {
2010 2010
         ?>
2011 2011
         <div class="row wpinv-vat-notice">
2012 2012
             <div class="col-sm-12">
2013
-                <?php if ( $label ) { ?>
2014
-                <strong><?php _e( $label, 'invoicing' ); ?></strong>
2015
-                <?php } if ( $notice ) { ?>
2016
-                <?php echo wpautop( wptexturize( __( $notice, 'invoicing' ) ) ) ?>
2013
+                <?php if ($label) { ?>
2014
+                <strong><?php _e($label, 'invoicing'); ?></strong>
2015
+                <?php } if ($notice) { ?>
2016
+                <?php echo wpautop(wptexturize(__($notice, 'invoicing'))) ?>
2017 2017
                 <?php } ?>
2018 2018
             </div>
2019 2019
         </div>
Please login to merge, or discard this patch.
includes/wpinv-post-types.php 1 patch
Spacing   +103 added lines, -103 removed lines patch added patch discarded remove patch
@@ -7,44 +7,44 @@  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
-add_action( 'init', 'wpinv_register_post_types', 1 );
14
+add_action('init', 'wpinv_register_post_types', 1);
15 15
 function wpinv_register_post_types() {    
16 16
     $labels = array(
17
-        'name'               => _x( 'Invoices', 'post type general name', 'invoicing' ),
18
-        'singular_name'      => _x( 'Invoice', 'post type singular name', 'invoicing' ),
19
-        'menu_name'          => _x( 'Invoices', 'admin menu', 'invoicing' ),
20
-        'name_admin_bar'     => _x( 'Invoice', 'add new on admin bar', 'invoicing' ),
21
-        'add_new'            => _x( 'Add New', 'book', 'invoicing' ),
22
-        'add_new_item'       => __( 'Add New Invoice', 'invoicing' ),
23
-        'new_item'           => __( 'New Invoice', 'invoicing' ),
24
-        'edit_item'          => __( 'Edit Invoice', 'invoicing' ),
25
-        'view_item'          => __( 'View Invoice', 'invoicing' ),
26
-        'all_items'          => __( 'Invoices', 'invoicing' ),
27
-        'search_items'       => __( 'Search Invoices', 'invoicing' ),
28
-        'parent_item_colon'  => __( 'Parent Invoices:', 'invoicing' ),
29
-        'not_found'          => __( 'No invoices found.', 'invoicing' ),
30
-        'not_found_in_trash' => __( 'No invoices found in trash.', 'invoicing' )
17
+        'name'               => _x('Invoices', 'post type general name', 'invoicing'),
18
+        'singular_name'      => _x('Invoice', 'post type singular name', 'invoicing'),
19
+        'menu_name'          => _x('Invoices', 'admin menu', 'invoicing'),
20
+        'name_admin_bar'     => _x('Invoice', 'add new on admin bar', 'invoicing'),
21
+        'add_new'            => _x('Add New', 'book', 'invoicing'),
22
+        'add_new_item'       => __('Add New Invoice', 'invoicing'),
23
+        'new_item'           => __('New Invoice', 'invoicing'),
24
+        'edit_item'          => __('Edit Invoice', 'invoicing'),
25
+        'view_item'          => __('View Invoice', 'invoicing'),
26
+        'all_items'          => __('Invoices', 'invoicing'),
27
+        'search_items'       => __('Search Invoices', 'invoicing'),
28
+        'parent_item_colon'  => __('Parent Invoices:', 'invoicing'),
29
+        'not_found'          => __('No invoices found.', 'invoicing'),
30
+        'not_found_in_trash' => __('No invoices found in trash.', 'invoicing')
31 31
     );
32
-    $labels = apply_filters( 'wpinv_labels', $labels );
32
+    $labels = apply_filters('wpinv_labels', $labels);
33 33
     
34 34
     $menu_icon = WPINV_PLUGIN_URL . '/assets/images/favicon.ico';
35
-    $menu_icon = apply_filters( 'wpinv_menu_icon_invoice', $menu_icon );
35
+    $menu_icon = apply_filters('wpinv_menu_icon_invoice', $menu_icon);
36 36
 
37 37
     $cap_type = 'wpi_invoice';
38 38
     $args = array(
39 39
         'labels'             => $labels,
40
-        'description'        => __( 'This is where invoices are stored.', 'invoicing' ),
40
+        'description'        => __('This is where invoices are stored.', 'invoicing'),
41 41
         'public'             => true,
42 42
         'can_export'         => true,
43 43
         '_builtin'           => false,
44 44
         'publicly_queryable' => true,
45 45
         'exclude_from_search'=> true,
46 46
         'show_ui'            => true,
47
-        'show_in_menu'       => current_user_can( 'manage_invoicing' ) ? 'wpinv' : true,
47
+        'show_in_menu'       => current_user_can('manage_invoicing') ? 'wpinv' : true,
48 48
         'show_in_nav_menus'  => false,
49 49
         'query_var'          => false,
50 50
         'rewrite'            => true,
@@ -69,39 +69,39 @@  discard block
 block discarded – undo
69 69
         'has_archive'        => false,
70 70
         'hierarchical'       => false,
71 71
         'menu_position'      => null,
72
-        'supports'           => array( 'title', 'author' ),
72
+        'supports'           => array('title', 'author'),
73 73
         'menu_icon'          => $menu_icon,
74 74
     );
75 75
             
76
-    $args = apply_filters( 'wpinv_register_post_type_invoice', $args );
76
+    $args = apply_filters('wpinv_register_post_type_invoice', $args);
77 77
     
78
-    register_post_type( 'wpi_invoice', $args );
78
+    register_post_type('wpi_invoice', $args);
79 79
     
80 80
     $items_labels = array(
81
-        'name'               => _x( 'Items', 'post type general name', 'invoicing' ),
82
-        'singular_name'      => _x( 'Item', 'post type singular name', 'invoicing' ),
83
-        'menu_name'          => _x( 'Items', 'admin menu', 'invoicing' ),
84
-        'add_new'            => _x( 'Add New', 'wpi_item', 'invoicing' ),
85
-        'add_new_item'       => __( 'Add New Item', 'invoicing' ),
86
-        'new_item'           => __( 'New Item', 'invoicing' ),
87
-        'edit_item'          => __( 'Edit Item', 'invoicing' ),
88
-        'view_item'          => __( 'View Item', 'invoicing' ),
89
-        'all_items'          => __( 'Items', 'invoicing' ),
90
-        'search_items'       => __( 'Search Items', 'invoicing' ),
81
+        'name'               => _x('Items', 'post type general name', 'invoicing'),
82
+        'singular_name'      => _x('Item', 'post type singular name', 'invoicing'),
83
+        'menu_name'          => _x('Items', 'admin menu', 'invoicing'),
84
+        'add_new'            => _x('Add New', 'wpi_item', 'invoicing'),
85
+        'add_new_item'       => __('Add New Item', 'invoicing'),
86
+        'new_item'           => __('New Item', 'invoicing'),
87
+        'edit_item'          => __('Edit Item', 'invoicing'),
88
+        'view_item'          => __('View Item', 'invoicing'),
89
+        'all_items'          => __('Items', 'invoicing'),
90
+        'search_items'       => __('Search Items', 'invoicing'),
91 91
         'parent_item_colon'  => '',
92
-        'not_found'          => __( 'No items found.', 'invoicing' ),
93
-        'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' )
92
+        'not_found'          => __('No items found.', 'invoicing'),
93
+        'not_found_in_trash' => __('No items found in trash.', 'invoicing')
94 94
     );
95
-    $items_labels = apply_filters( 'wpinv_items_labels', $items_labels );
95
+    $items_labels = apply_filters('wpinv_items_labels', $items_labels);
96 96
 
97 97
     $cap_type = 'wpi_item';
98 98
     $invoice_item_args = array(
99 99
         'labels'                => $items_labels,
100 100
         'public'                => false,
101 101
         'show_ui'               => true,
102
-        'show_in_menu'          => current_user_can( 'manage_invoicing' ) ? 'wpinv' : false,
102
+        'show_in_menu'          => current_user_can('manage_invoicing') ? 'wpinv' : false,
103 103
         'show_in_nav_menus'     => false,
104
-        'supports'              => array( 'title', 'excerpt' ),
104
+        'supports'              => array('title', 'excerpt'),
105 105
         'register_meta_box_cb'  => 'wpinv_register_item_meta_boxes',
106 106
         'rewrite'               => false,
107 107
         'query_var'             => false,
@@ -125,40 +125,40 @@  discard block
 block discarded – undo
125 125
         ),
126 126
         'can_export'            => true,
127 127
     );
128
-    $invoice_item_args = apply_filters( 'wpinv_register_post_type_invoice_item', $invoice_item_args );
128
+    $invoice_item_args = apply_filters('wpinv_register_post_type_invoice_item', $invoice_item_args);
129 129
 
130
-    register_post_type( 'wpi_item', $invoice_item_args );
130
+    register_post_type('wpi_item', $invoice_item_args);
131 131
     
132 132
     $labels = array(
133
-        'name'               => _x( 'Discounts', 'post type general name', 'invoicing' ),
134
-        'singular_name'      => _x( 'Discount', 'post type singular name', 'invoicing' ),
135
-        'menu_name'          => _x( 'Discounts', 'admin menu', 'invoicing' ),
136
-        'name_admin_bar'     => _x( 'Discount', 'add new on admin bar', 'invoicing' ),
137
-        'add_new'            => _x( 'Add New', 'book', 'invoicing' ),
138
-        'add_new_item'       => __( 'Add New Discount', 'invoicing' ),
139
-        'new_item'           => __( 'New Discount', 'invoicing' ),
140
-        'edit_item'          => __( 'Edit Discount', 'invoicing' ),
141
-        'view_item'          => __( 'View Discount', 'invoicing' ),
142
-        'all_items'          => __( 'Discounts', 'invoicing' ),
143
-        'search_items'       => __( 'Search Discounts', 'invoicing' ),
144
-        'parent_item_colon'  => __( 'Parent Discounts:', 'invoicing' ),
145
-        'not_found'          => __( 'No discounts found.', 'invoicing' ),
146
-        'not_found_in_trash' => __( 'No discounts found in trash.', 'invoicing' )
133
+        'name'               => _x('Discounts', 'post type general name', 'invoicing'),
134
+        'singular_name'      => _x('Discount', 'post type singular name', 'invoicing'),
135
+        'menu_name'          => _x('Discounts', 'admin menu', 'invoicing'),
136
+        'name_admin_bar'     => _x('Discount', 'add new on admin bar', 'invoicing'),
137
+        'add_new'            => _x('Add New', 'book', 'invoicing'),
138
+        'add_new_item'       => __('Add New Discount', 'invoicing'),
139
+        'new_item'           => __('New Discount', 'invoicing'),
140
+        'edit_item'          => __('Edit Discount', 'invoicing'),
141
+        'view_item'          => __('View Discount', 'invoicing'),
142
+        'all_items'          => __('Discounts', 'invoicing'),
143
+        'search_items'       => __('Search Discounts', 'invoicing'),
144
+        'parent_item_colon'  => __('Parent Discounts:', 'invoicing'),
145
+        'not_found'          => __('No discounts found.', 'invoicing'),
146
+        'not_found_in_trash' => __('No discounts found in trash.', 'invoicing')
147 147
     );
148
-    $labels = apply_filters( 'wpinv_discounts_labels', $labels );
148
+    $labels = apply_filters('wpinv_discounts_labels', $labels);
149 149
 
150 150
     $cap_type = 'wpi_discount';
151 151
     
152 152
     $args = array(
153 153
         'labels'             => $labels,
154
-        'description'        => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ),
154
+        'description'        => __('This is where you can add new discounts that users can use in invoices.', 'invoicing'),
155 155
         'public'             => false,
156 156
         'can_export'         => true,
157 157
         '_builtin'           => false,
158 158
         'publicly_queryable' => false,
159 159
         'exclude_from_search'=> true,
160 160
         'show_ui'            => true,
161
-        'show_in_menu'       => current_user_can( 'manage_invoicing' ) ? 'wpinv' : false,
161
+        'show_in_menu'       => current_user_can('manage_invoicing') ? 'wpinv' : false,
162 162
         'query_var'          => false,
163 163
         'rewrite'            => false,
164 164
         'capability_type'    => $cap_type,
@@ -181,7 +181,7 @@  discard block
 block discarded – undo
181 181
         ),
182 182
         'has_archive'        => false,
183 183
         'hierarchical'       => false,
184
-        'supports'           => array( 'title', 'excerpt' ),
184
+        'supports'           => array('title', 'excerpt'),
185 185
         'register_meta_box_cb'  => 'wpinv_register_discount_meta_boxes',
186 186
         'show_in_nav_menus'  => false,
187 187
         'show_in_admin_bar'  => true,
@@ -189,107 +189,107 @@  discard block
 block discarded – undo
189 189
         'menu_position'      => null,
190 190
     );
191 191
             
192
-    $args = apply_filters( 'wpinv_register_post_type_discount', $args );
192
+    $args = apply_filters('wpinv_register_post_type_discount', $args);
193 193
     
194
-    register_post_type( 'wpi_discount', $args );
194
+    register_post_type('wpi_discount', $args);
195 195
 }
196 196
 
197 197
 function wpinv_get_default_labels() {
198 198
     $defaults = array(
199
-       'singular' => __( 'Invoice', 'invoicing' ),
200
-       'plural'   => __( 'Invoices', 'invoicing' )
199
+       'singular' => __('Invoice', 'invoicing'),
200
+       'plural'   => __('Invoices', 'invoicing')
201 201
     );
202 202
     
203
-    return apply_filters( 'wpinv_default_invoices_name', $defaults );
203
+    return apply_filters('wpinv_default_invoices_name', $defaults);
204 204
 }
205 205
 
206
-function wpinv_get_label_singular( $lowercase = false ) {
206
+function wpinv_get_label_singular($lowercase = false) {
207 207
     $defaults = wpinv_get_default_labels();
208 208
     
209
-    return ($lowercase) ? strtolower( $defaults['singular'] ) : $defaults['singular'];
209
+    return ($lowercase) ? strtolower($defaults['singular']) : $defaults['singular'];
210 210
 }
211 211
 
212
-function wpinv_get_label_plural( $lowercase = false ) {
212
+function wpinv_get_label_plural($lowercase = false) {
213 213
     $defaults = wpinv_get_default_labels();
214 214
     
215
-    return ( $lowercase ) ? strtolower( $defaults['plural'] ) : $defaults['plural'];
215
+    return ($lowercase) ? strtolower($defaults['plural']) : $defaults['plural'];
216 216
 }
217 217
 
218
-function wpinv_change_default_title( $title ) {
219
-     if ( !is_admin() ) {
218
+function wpinv_change_default_title($title) {
219
+     if (!is_admin()) {
220 220
         $label = wpinv_get_label_singular();
221
-        $title = sprintf( __( 'Enter %s name here', 'invoicing' ), $label );
221
+        $title = sprintf(__('Enter %s name here', 'invoicing'), $label);
222 222
         return $title;
223 223
      }
224 224
 
225 225
      $screen = get_current_screen();
226 226
 
227
-     if ( 'wpi_invoice' == $screen->post_type ) {
227
+     if ('wpi_invoice' == $screen->post_type) {
228 228
         $label = wpinv_get_label_singular();
229
-        $title = sprintf( __( 'Enter %s name here', 'invoicing' ), $label );
229
+        $title = sprintf(__('Enter %s name here', 'invoicing'), $label);
230 230
      }
231 231
 
232 232
      return $title;
233 233
 }
234
-add_filter( 'enter_title_here', 'wpinv_change_default_title' );
234
+add_filter('enter_title_here', 'wpinv_change_default_title');
235 235
 
236 236
 function wpinv_register_post_status() {
237
-    register_post_status( 'wpi-pending', array(
238
-        'label'                     => _x( 'Pending', 'Invoice status', 'invoicing' ),
237
+    register_post_status('wpi-pending', array(
238
+        'label'                     => _x('Pending', 'Invoice status', 'invoicing'),
239 239
         'public'                    => true,
240 240
         'exclude_from_search'       => true,
241 241
         'show_in_admin_all_list'    => true,
242 242
         'show_in_admin_status_list' => true,
243
-        'label_count'               => _n_noop( 'Pending <span class="count">(%s)</span>', 'Pending <span class="count">(%s)</span>', 'invoicing' )
244
-    ) );
245
-    register_post_status( 'wpi-processing', array(
246
-        'label'                     => _x( 'Processing', 'Invoice status', 'invoicing' ),
243
+        'label_count'               => _n_noop('Pending <span class="count">(%s)</span>', 'Pending <span class="count">(%s)</span>', 'invoicing')
244
+    ));
245
+    register_post_status('wpi-processing', array(
246
+        'label'                     => _x('Processing', 'Invoice status', 'invoicing'),
247 247
         'public'                    => true,
248 248
         'exclude_from_search'       => true,
249 249
         'show_in_admin_all_list'    => true,
250 250
         'show_in_admin_status_list' => true,
251
-        'label_count'               => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' )
252
-    ) );
253
-    register_post_status( 'wpi-onhold', array(
254
-        'label'                     => _x( 'On Hold', 'Invoice status', 'invoicing' ),
251
+        'label_count'               => _n_noop('Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing')
252
+    ));
253
+    register_post_status('wpi-onhold', array(
254
+        'label'                     => _x('On Hold', 'Invoice status', 'invoicing'),
255 255
         'public'                    => true,
256 256
         'exclude_from_search'       => true,
257 257
         'show_in_admin_all_list'    => true,
258 258
         'show_in_admin_status_list' => true,
259
-        'label_count'               => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' )
260
-    ) );
261
-    register_post_status( 'wpi-cancelled', array(
262
-        'label'                     => _x( 'Cancelled', 'Invoice status', 'invoicing' ),
259
+        'label_count'               => _n_noop('On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing')
260
+    ));
261
+    register_post_status('wpi-cancelled', array(
262
+        'label'                     => _x('Cancelled', 'Invoice status', 'invoicing'),
263 263
         'public'                    => true,
264 264
         'exclude_from_search'       => true,
265 265
         'show_in_admin_all_list'    => true,
266 266
         'show_in_admin_status_list' => true,
267
-        'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' )
268
-    ) );
269
-    register_post_status( 'wpi-refunded', array(
270
-        'label'                     => _x( 'Refunded', 'Invoice status', 'invoicing' ),
267
+        'label_count'               => _n_noop('Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing')
268
+    ));
269
+    register_post_status('wpi-refunded', array(
270
+        'label'                     => _x('Refunded', 'Invoice status', 'invoicing'),
271 271
         'public'                    => true,
272 272
         'exclude_from_search'       => true,
273 273
         'show_in_admin_all_list'    => true,
274 274
         'show_in_admin_status_list' => true,
275
-        'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' )
276
-    ) );
277
-    register_post_status( 'wpi-failed', array(
278
-        'label'                     => _x( 'Failed', 'Invoice status', 'invoicing' ),
275
+        'label_count'               => _n_noop('Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing')
276
+    ));
277
+    register_post_status('wpi-failed', array(
278
+        'label'                     => _x('Failed', 'Invoice status', 'invoicing'),
279 279
         'public'                    => true,
280 280
         'exclude_from_search'       => true,
281 281
         'show_in_admin_all_list'    => true,
282 282
         'show_in_admin_status_list' => true,
283
-        'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' )
284
-    ) );
285
-    register_post_status( 'wpi-renewal', array(
286
-        'label'                     => _x( 'Renewal', 'Invoice status', 'invoicing' ),
283
+        'label_count'               => _n_noop('Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing')
284
+    ));
285
+    register_post_status('wpi-renewal', array(
286
+        'label'                     => _x('Renewal', 'Invoice status', 'invoicing'),
287 287
         'public'                    => true,
288 288
         'exclude_from_search'       => true,
289 289
         'show_in_admin_all_list'    => true,
290 290
         'show_in_admin_status_list' => true,
291
-        'label_count'               => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' )
292
-    ) );
291
+        'label_count'               => _n_noop('Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing')
292
+    ));
293 293
 }
294
-add_action( 'init', 'wpinv_register_post_status', 10 );
294
+add_action('init', 'wpinv_register_post_status', 10);
295 295
 
Please login to merge, or discard this patch.
includes/gateways/paypal.php 2 patches
Indentation   +251 added lines, -251 removed lines patch added patch discarded remove patch
@@ -218,261 +218,261 @@  discard block
 block discarded – undo
218 218
 add_filter( 'wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3 );
219 219
 
220 220
 function wpinv_process_paypal_ipn() {
221
-	// Check the request method is POST
222
-	if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) {
223
-		return;
224
-	}
225
-
226
-	// Set initial post data to empty string
227
-	$post_data = '';
228
-
229
-	// Fallback just in case post_max_size is lower than needed
230
-	if ( ini_get( 'allow_url_fopen' ) ) {
231
-		$post_data = file_get_contents( 'php://input' );
232
-	} else {
233
-		// If allow_url_fopen is not enabled, then make sure that post_max_size is large enough
234
-		ini_set( 'post_max_size', '12M' );
235
-	}
236
-	// Start the encoded data collection with notification command
237
-	$encoded_data = 'cmd=_notify-validate';
238
-
239
-	// Get current arg separator
240
-	$arg_separator = wpinv_get_php_arg_separator_output();
241
-
242
-	// Verify there is a post_data
243
-	if ( $post_data || strlen( $post_data ) > 0 ) {
244
-		// Append the data
245
-		$encoded_data .= $arg_separator.$post_data;
246
-	} else {
247
-		// Check if POST is empty
248
-		if ( empty( $_POST ) ) {
249
-			// Nothing to do
250
-			return;
251
-		} else {
252
-			// Loop through each POST
253
-			foreach ( $_POST as $key => $value ) {
254
-				// Encode the value and append the data
255
-				$encoded_data .= $arg_separator."$key=" . urlencode( $value );
256
-			}
257
-		}
258
-	}
259
-
260
-	// Convert collected post data to an array
261
-	parse_str( $encoded_data, $encoded_data_array );
262
-
263
-	foreach ( $encoded_data_array as $key => $value ) {
264
-		if ( false !== strpos( $key, 'amp;' ) ) {
265
-			$new_key = str_replace( '&amp;', '&', $key );
266
-			$new_key = str_replace( 'amp;', '&' , $new_key );
267
-
268
-			unset( $encoded_data_array[ $key ] );
269
-			$encoded_data_array[ $new_key ] = $value;
270
-		}
271
-	}
272
-
273
-	// Get the PayPal redirect uri
274
-	$paypal_redirect = wpinv_get_paypal_redirect( true );
275
-
276
-	if ( !wpinv_get_option( 'disable_paypal_verification', false ) ) {
277
-		// Validate the IPN
278
-
279
-		$remote_post_vars      = array(
280
-			'method'           => 'POST',
281
-			'timeout'          => 45,
282
-			'redirection'      => 5,
283
-			'httpversion'      => '1.1',
284
-			'blocking'         => true,
285
-			'headers'          => array(
286
-				'host'         => 'www.paypal.com',
287
-				'connection'   => 'close',
288
-				'content-type' => 'application/x-www-form-urlencoded',
289
-				'post'         => '/cgi-bin/webscr HTTP/1.1',
290
-
291
-			),
292
-			'sslverify'        => false,
293
-			'body'             => $encoded_data_array
294
-		);
295
-
296
-		// Get response
297
-		$api_response = wp_remote_post( wpinv_get_paypal_redirect(), $remote_post_vars );
298
-
299
-		if ( is_wp_error( $api_response ) ) {
300
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
301
-			return; // Something went wrong
302
-		}
303
-
304
-		if ( $api_response['body'] !== 'VERIFIED' && wpinv_get_option( 'disable_paypal_verification', false ) ) {
305
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
306
-			return; // Response not okay
307
-		}
308
-	}
309
-
310
-	// Check if $post_data_array has been populated
311
-	if ( !is_array( $encoded_data_array ) && !empty( $encoded_data_array ) )
312
-		return;
313
-
314
-	$defaults = array(
315
-		'txn_type'       => '',
316
-		'payment_status' => ''
317
-	);
318
-
319
-	$encoded_data_array = wp_parse_args( $encoded_data_array, $defaults );
320
-
321
-	$invoice_id = isset( $encoded_data_array['custom'] ) ? absint( $encoded_data_array['custom'] ) : 0;
221
+    // Check the request method is POST
222
+    if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) {
223
+        return;
224
+    }
225
+
226
+    // Set initial post data to empty string
227
+    $post_data = '';
228
+
229
+    // Fallback just in case post_max_size is lower than needed
230
+    if ( ini_get( 'allow_url_fopen' ) ) {
231
+        $post_data = file_get_contents( 'php://input' );
232
+    } else {
233
+        // If allow_url_fopen is not enabled, then make sure that post_max_size is large enough
234
+        ini_set( 'post_max_size', '12M' );
235
+    }
236
+    // Start the encoded data collection with notification command
237
+    $encoded_data = 'cmd=_notify-validate';
238
+
239
+    // Get current arg separator
240
+    $arg_separator = wpinv_get_php_arg_separator_output();
241
+
242
+    // Verify there is a post_data
243
+    if ( $post_data || strlen( $post_data ) > 0 ) {
244
+        // Append the data
245
+        $encoded_data .= $arg_separator.$post_data;
246
+    } else {
247
+        // Check if POST is empty
248
+        if ( empty( $_POST ) ) {
249
+            // Nothing to do
250
+            return;
251
+        } else {
252
+            // Loop through each POST
253
+            foreach ( $_POST as $key => $value ) {
254
+                // Encode the value and append the data
255
+                $encoded_data .= $arg_separator."$key=" . urlencode( $value );
256
+            }
257
+        }
258
+    }
259
+
260
+    // Convert collected post data to an array
261
+    parse_str( $encoded_data, $encoded_data_array );
262
+
263
+    foreach ( $encoded_data_array as $key => $value ) {
264
+        if ( false !== strpos( $key, 'amp;' ) ) {
265
+            $new_key = str_replace( '&amp;', '&', $key );
266
+            $new_key = str_replace( 'amp;', '&' , $new_key );
267
+
268
+            unset( $encoded_data_array[ $key ] );
269
+            $encoded_data_array[ $new_key ] = $value;
270
+        }
271
+    }
272
+
273
+    // Get the PayPal redirect uri
274
+    $paypal_redirect = wpinv_get_paypal_redirect( true );
275
+
276
+    if ( !wpinv_get_option( 'disable_paypal_verification', false ) ) {
277
+        // Validate the IPN
278
+
279
+        $remote_post_vars      = array(
280
+            'method'           => 'POST',
281
+            'timeout'          => 45,
282
+            'redirection'      => 5,
283
+            'httpversion'      => '1.1',
284
+            'blocking'         => true,
285
+            'headers'          => array(
286
+                'host'         => 'www.paypal.com',
287
+                'connection'   => 'close',
288
+                'content-type' => 'application/x-www-form-urlencoded',
289
+                'post'         => '/cgi-bin/webscr HTTP/1.1',
290
+
291
+            ),
292
+            'sslverify'        => false,
293
+            'body'             => $encoded_data_array
294
+        );
295
+
296
+        // Get response
297
+        $api_response = wp_remote_post( wpinv_get_paypal_redirect(), $remote_post_vars );
298
+
299
+        if ( is_wp_error( $api_response ) ) {
300
+            wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
301
+            return; // Something went wrong
302
+        }
303
+
304
+        if ( $api_response['body'] !== 'VERIFIED' && wpinv_get_option( 'disable_paypal_verification', false ) ) {
305
+            wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
306
+            return; // Response not okay
307
+        }
308
+    }
309
+
310
+    // Check if $post_data_array has been populated
311
+    if ( !is_array( $encoded_data_array ) && !empty( $encoded_data_array ) )
312
+        return;
313
+
314
+    $defaults = array(
315
+        'txn_type'       => '',
316
+        'payment_status' => ''
317
+    );
318
+
319
+    $encoded_data_array = wp_parse_args( $encoded_data_array, $defaults );
320
+
321
+    $invoice_id = isset( $encoded_data_array['custom'] ) ? absint( $encoded_data_array['custom'] ) : 0;
322 322
     
323
-	wpinv_error_log( $encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__ );
324
-
325
-	if ( has_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'] ) ) {
326
-		// Allow PayPal IPN types to be processed separately
327
-		do_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id );
328
-	} else {
329
-		// Fallback to web accept just in case the txn_type isn't present
330
-		do_action( 'wpinv_paypal_web_accept', $encoded_data_array, $invoice_id );
331
-	}
332
-	exit;
323
+    wpinv_error_log( $encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__ );
324
+
325
+    if ( has_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'] ) ) {
326
+        // Allow PayPal IPN types to be processed separately
327
+        do_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id );
328
+    } else {
329
+        // Fallback to web accept just in case the txn_type isn't present
330
+        do_action( 'wpinv_paypal_web_accept', $encoded_data_array, $invoice_id );
331
+    }
332
+    exit;
333 333
 }
334 334
 add_action( 'wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn' );
335 335
 
336 336
 function wpinv_process_paypal_web_accept_and_cart( $data, $invoice_id ) {
337
-	if ( $data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded' ) {
338
-		return;
339
-	}
340
-
341
-	if( empty( $invoice_id ) ) {
342
-		return;
343
-	}
344
-
345
-	// Collect payment details
346
-	$purchase_key   = isset( $data['invoice'] ) ? $data['invoice'] : $data['item_number'];
347
-	$paypal_amount  = $data['mc_gross'];
348
-	$payment_status = strtolower( $data['payment_status'] );
349
-	$currency_code  = strtolower( $data['mc_currency'] );
350
-	$business_email = isset( $data['business'] ) && is_email( $data['business'] ) ? trim( $data['business'] ) : trim( $data['receiver_email'] );
351
-	$payment_meta   = wpinv_get_invoice_meta( $invoice_id );
352
-
353
-	if ( wpinv_get_payment_gateway( $invoice_id ) != 'paypal' ) {
354
-		return; // this isn't a PayPal standard IPN
355
-	}
356
-
357
-	// Verify payment recipient
358
-	if ( strcasecmp( $business_email, trim( wpinv_get_option( 'paypal_email', false ) ) ) != 0 ) {
359
-		wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid business email in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
360
-		wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
361
-		wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid PayPal business email.', 'invoicing' ) );
362
-		return;
363
-	}
364
-
365
-	// Verify payment currency
366
-	if ( $currency_code != strtolower( $payment_meta['currency'] ) ) {
367
-		wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
368
-		wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
369
-		wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid currency in PayPal IPN.', 'invoicing' ) );
370
-		return;
371
-	}
372
-
373
-	if ( !wpinv_get_payment_user_email( $invoice_id ) ) {
374
-		// This runs when a Buy Now purchase was made. It bypasses checkout so no personal info is collected until PayPal
375
-		// No email associated with purchase, so store from PayPal
376
-		wpinv_update_invoice_meta( $invoice_id, '_wpinv_email', $data['payer_email'] );
377
-
378
-		// Setup and store the customer's details
379
-		$user_info = array(
380
-			'user_id'    => '-1',
381
-			'email'      => sanitize_text_field( $data['payer_email'] ),
382
-			'first_name' => sanitize_text_field( $data['first_name'] ),
383
-			'last_name'  => sanitize_text_field( $data['last_name'] ),
384
-			'discount'   => '',
385
-		);
386
-		$user_info['address'] = ! empty( $data['address_street']       ) ? sanitize_text_field( $data['address_street'] )       : false;
387
-		$user_info['city']    = ! empty( $data['address_city']         ) ? sanitize_text_field( $data['address_city'] )         : false;
388
-		$user_info['state']   = ! empty( $data['address_state']        ) ? sanitize_text_field( $data['address_state'] )        : false;
389
-		$user_info['country'] = ! empty( $data['address_country_code'] ) ? sanitize_text_field( $data['address_country_code'] ) : false;
390
-		$user_info['zip']     = ! empty( $data['address_zip']          ) ? sanitize_text_field( $data['address_zip'] )          : false;
391
-
392
-		$payment_meta['user_info'] = $user_info;
393
-		wpinv_update_invoice_meta( $invoice_id, '_wpinv_payment_meta', $payment_meta );
394
-	}
395
-
396
-	if ( $payment_status == 'refunded' || $payment_status == 'reversed' ) {
397
-		// Process a refund
398
-		wpinv_process_paypal_refund( $data, $invoice_id );
399
-	} else {
400
-		if ( get_post_status( $invoice_id ) == 'publish' ) {
401
-			return; // Only paid payments once
402
-		}
403
-
404
-		// Retrieve the total purchase amount (before PayPal)
405
-		$payment_amount = wpinv_payment_total( $invoice_id );
406
-
407
-		if ( number_format( (float) $paypal_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
408
-			// The prices don't match
409
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid payment amount in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
410
-			wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
411
-			wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid amount in PayPal IPN.', 'invoicing' ) );
412
-			return;
413
-		}
414
-		if ( $purchase_key != wpinv_get_payment_key( $invoice_id ) ) {
415
-			// Purchase keys don't match
416
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid purchase key in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
417
-			wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
418
-			wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing' ) );
419
-			return;
420
-		}
421
-
422
-		if ( 'complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode( 'paypal' ) ) {
423
-			wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $data['txn_id'] ) );
424
-			wpinv_set_payment_transaction_id( $invoice_id, $data['txn_id'] );
425
-			wpinv_update_payment_status( $invoice_id, 'publish' );
426
-		} else if ( 'pending' == $payment_status && isset( $data['pending_reason'] ) ) {
427
-			// Look for possible pending reasons, such as an echeck
428
-			$note = '';
429
-
430
-			switch( strtolower( $data['pending_reason'] ) ) {
431
-				case 'echeck' :
432
-					$note = __( 'Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing' );
433
-					break;
337
+    if ( $data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded' ) {
338
+        return;
339
+    }
340
+
341
+    if( empty( $invoice_id ) ) {
342
+        return;
343
+    }
344
+
345
+    // Collect payment details
346
+    $purchase_key   = isset( $data['invoice'] ) ? $data['invoice'] : $data['item_number'];
347
+    $paypal_amount  = $data['mc_gross'];
348
+    $payment_status = strtolower( $data['payment_status'] );
349
+    $currency_code  = strtolower( $data['mc_currency'] );
350
+    $business_email = isset( $data['business'] ) && is_email( $data['business'] ) ? trim( $data['business'] ) : trim( $data['receiver_email'] );
351
+    $payment_meta   = wpinv_get_invoice_meta( $invoice_id );
352
+
353
+    if ( wpinv_get_payment_gateway( $invoice_id ) != 'paypal' ) {
354
+        return; // this isn't a PayPal standard IPN
355
+    }
356
+
357
+    // Verify payment recipient
358
+    if ( strcasecmp( $business_email, trim( wpinv_get_option( 'paypal_email', false ) ) ) != 0 ) {
359
+        wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid business email in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
360
+        wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
361
+        wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid PayPal business email.', 'invoicing' ) );
362
+        return;
363
+    }
364
+
365
+    // Verify payment currency
366
+    if ( $currency_code != strtolower( $payment_meta['currency'] ) ) {
367
+        wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
368
+        wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
369
+        wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid currency in PayPal IPN.', 'invoicing' ) );
370
+        return;
371
+    }
372
+
373
+    if ( !wpinv_get_payment_user_email( $invoice_id ) ) {
374
+        // This runs when a Buy Now purchase was made. It bypasses checkout so no personal info is collected until PayPal
375
+        // No email associated with purchase, so store from PayPal
376
+        wpinv_update_invoice_meta( $invoice_id, '_wpinv_email', $data['payer_email'] );
377
+
378
+        // Setup and store the customer's details
379
+        $user_info = array(
380
+            'user_id'    => '-1',
381
+            'email'      => sanitize_text_field( $data['payer_email'] ),
382
+            'first_name' => sanitize_text_field( $data['first_name'] ),
383
+            'last_name'  => sanitize_text_field( $data['last_name'] ),
384
+            'discount'   => '',
385
+        );
386
+        $user_info['address'] = ! empty( $data['address_street']       ) ? sanitize_text_field( $data['address_street'] )       : false;
387
+        $user_info['city']    = ! empty( $data['address_city']         ) ? sanitize_text_field( $data['address_city'] )         : false;
388
+        $user_info['state']   = ! empty( $data['address_state']        ) ? sanitize_text_field( $data['address_state'] )        : false;
389
+        $user_info['country'] = ! empty( $data['address_country_code'] ) ? sanitize_text_field( $data['address_country_code'] ) : false;
390
+        $user_info['zip']     = ! empty( $data['address_zip']          ) ? sanitize_text_field( $data['address_zip'] )          : false;
391
+
392
+        $payment_meta['user_info'] = $user_info;
393
+        wpinv_update_invoice_meta( $invoice_id, '_wpinv_payment_meta', $payment_meta );
394
+    }
395
+
396
+    if ( $payment_status == 'refunded' || $payment_status == 'reversed' ) {
397
+        // Process a refund
398
+        wpinv_process_paypal_refund( $data, $invoice_id );
399
+    } else {
400
+        if ( get_post_status( $invoice_id ) == 'publish' ) {
401
+            return; // Only paid payments once
402
+        }
403
+
404
+        // Retrieve the total purchase amount (before PayPal)
405
+        $payment_amount = wpinv_payment_total( $invoice_id );
406
+
407
+        if ( number_format( (float) $paypal_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
408
+            // The prices don't match
409
+            wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid payment amount in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
410
+            wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
411
+            wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid amount in PayPal IPN.', 'invoicing' ) );
412
+            return;
413
+        }
414
+        if ( $purchase_key != wpinv_get_payment_key( $invoice_id ) ) {
415
+            // Purchase keys don't match
416
+            wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid purchase key in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
417
+            wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
418
+            wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing' ) );
419
+            return;
420
+        }
421
+
422
+        if ( 'complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode( 'paypal' ) ) {
423
+            wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $data['txn_id'] ) );
424
+            wpinv_set_payment_transaction_id( $invoice_id, $data['txn_id'] );
425
+            wpinv_update_payment_status( $invoice_id, 'publish' );
426
+        } else if ( 'pending' == $payment_status && isset( $data['pending_reason'] ) ) {
427
+            // Look for possible pending reasons, such as an echeck
428
+            $note = '';
429
+
430
+            switch( strtolower( $data['pending_reason'] ) ) {
431
+                case 'echeck' :
432
+                    $note = __( 'Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing' );
433
+                    break;
434 434
 				
435 435
                 case 'address' :
436
-					$note = __( 'Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing' );
437
-					break;
436
+                    $note = __( 'Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing' );
437
+                    break;
438 438
 				
439 439
                 case 'intl' :
440
-					$note = __( 'Payment must be accepted manually through PayPal due to international account regulations', 'invoicing' );
441
-					break;
440
+                    $note = __( 'Payment must be accepted manually through PayPal due to international account regulations', 'invoicing' );
441
+                    break;
442 442
 				
443 443
                 case 'multi-currency' :
444
-					$note = __( 'Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing' );
445
-					break;
444
+                    $note = __( 'Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing' );
445
+                    break;
446 446
 				
447 447
                 case 'paymentreview' :
448 448
                 case 'regulatory_review' :
449
-					$note = __( 'Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing' );
450
-					break;
449
+                    $note = __( 'Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing' );
450
+                    break;
451 451
 				
452 452
                 case 'unilateral' :
453
-					$note = __( 'Payment was sent to non-confirmed or non-registered email address.', 'invoicing' );
454
-					break;
453
+                    $note = __( 'Payment was sent to non-confirmed or non-registered email address.', 'invoicing' );
454
+                    break;
455 455
 				
456 456
                 case 'upgrade' :
457
-					$note = __( 'PayPal account must be upgraded before this payment can be accepted', 'invoicing' );
458
-					break;
457
+                    $note = __( 'PayPal account must be upgraded before this payment can be accepted', 'invoicing' );
458
+                    break;
459 459
 				
460 460
                 case 'verify' :
461
-					$note = __( 'PayPal account is not verified. Verify account in order to accept this payment', 'invoicing' );
462
-					break;
463
-
464
-				case 'other' :
465
-					$note = __( 'Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing' );
466
-					break;
467
-			}
468
-
469
-			if ( ! empty( $note ) ) {
470
-				wpinv_insert_payment_note( $invoice_id, $note );
471
-			}
472
-		} else {
473
-			wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal IPN has been received with invalid payment status: %s', 'invoicing' ), $payment_status ) );
474
-		}
475
-	}
461
+                    $note = __( 'PayPal account is not verified. Verify account in order to accept this payment', 'invoicing' );
462
+                    break;
463
+
464
+                case 'other' :
465
+                    $note = __( 'Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing' );
466
+                    break;
467
+            }
468
+
469
+            if ( ! empty( $note ) ) {
470
+                wpinv_insert_payment_note( $invoice_id, $note );
471
+            }
472
+        } else {
473
+            wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal IPN has been received with invalid payment status: %s', 'invoicing' ), $payment_status ) );
474
+        }
475
+    }
476 476
 }
477 477
 add_action( 'wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2 );
478 478
 
@@ -693,27 +693,27 @@  discard block
 block discarded – undo
693 693
 }
694 694
 
695 695
 function wpinv_process_paypal_refund( $data, $invoice_id = 0 ) {
696
-	// Collect payment details
696
+    // Collect payment details
697 697
 
698
-	if( empty( $invoice_id ) ) {
699
-		return;
700
-	}
698
+    if( empty( $invoice_id ) ) {
699
+        return;
700
+    }
701 701
 
702
-	if ( get_post_status( $invoice_id ) == 'wpi-refunded' ) {
703
-		return; // Only refund payments once
704
-	}
702
+    if ( get_post_status( $invoice_id ) == 'wpi-refunded' ) {
703
+        return; // Only refund payments once
704
+    }
705 705
 
706
-	$payment_amount = wpinv_payment_total( $invoice_id );
707
-	$refund_amount  = $data['mc_gross'] * -1;
706
+    $payment_amount = wpinv_payment_total( $invoice_id );
707
+    $refund_amount  = $data['mc_gross'] * -1;
708 708
 
709
-	if ( number_format( (float) $refund_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
710
-		wpinv_insert_payment_note( $invoice_id, sprintf( __( 'Partial PayPal refund processed: %s', 'invoicing' ), $data['parent_txn_id'] ) );
711
-		return; // This is a partial refund
712
-	}
709
+    if ( number_format( (float) $refund_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
710
+        wpinv_insert_payment_note( $invoice_id, sprintf( __( 'Partial PayPal refund processed: %s', 'invoicing' ), $data['parent_txn_id'] ) );
711
+        return; // This is a partial refund
712
+    }
713 713
 
714
-	wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Payment #%s Refunded for reason: %s', 'invoicing' ), $data['parent_txn_id'], $data['reason_code'] ) );
715
-	wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Refund Transaction ID: %s', 'invoicing' ), $data['txn_id'] ) );
716
-	wpinv_update_payment_status( $invoice_id, 'wpi-refunded' );
714
+    wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Payment #%s Refunded for reason: %s', 'invoicing' ), $data['parent_txn_id'], $data['reason_code'] ) );
715
+    wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Refund Transaction ID: %s', 'invoicing' ), $data['txn_id'] ) );
716
+    wpinv_update_payment_status( $invoice_id, 'wpi-refunded' );
717 717
 }
718 718
 
719 719
 function wpinv_get_paypal_redirect( $ssl_check = false ) {
Please login to merge, or discard this patch.
Spacing   +260 added lines, -260 removed lines patch added patch discarded remove patch
@@ -1,13 +1,13 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // Exit if accessed directly
3
-if ( ! defined( 'ABSPATH' ) ) exit;
3
+if (!defined('ABSPATH')) exit;
4 4
 
5
-add_action( 'wpinv_paypal_cc_form', '__return_false' );
6
-add_filter( 'wpinv_paypal_support_subscription', '__return_true' );
5
+add_action('wpinv_paypal_cc_form', '__return_false');
6
+add_filter('wpinv_paypal_support_subscription', '__return_true');
7 7
 
8
-function wpinv_process_paypal_payment( $purchase_data ) {
9
-    if( ! wp_verify_nonce( $purchase_data['gateway_nonce'], 'wpi-gateway' ) ) {
10
-        wp_die( __( 'Nonce verification has failed', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
8
+function wpinv_process_paypal_payment($purchase_data) {
9
+    if (!wp_verify_nonce($purchase_data['gateway_nonce'], 'wpi-gateway')) {
10
+        wp_die(__('Nonce verification has failed', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
11 11
     }
12 12
 
13 13
     // Collect payment data
@@ -25,30 +25,30 @@  discard block
 block discarded – undo
25 25
     );
26 26
 
27 27
     // Record the pending payment
28
-    $invoice = wpinv_get_invoice( $purchase_data['invoice_id'] );
28
+    $invoice = wpinv_get_invoice($purchase_data['invoice_id']);
29 29
 
30 30
     // Check payment
31
-    if ( ! $invoice ) {
31
+    if (!$invoice) {
32 32
         // Record the error
33
-        wpinv_record_gateway_error( __( 'Payment Error', 'invoicing' ), sprintf( __( 'Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing' ), json_encode( $payment_data ) ), $payment );
33
+        wpinv_record_gateway_error(__('Payment Error', 'invoicing'), sprintf(__('Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing'), json_encode($payment_data)), $payment);
34 34
         // Problems? send back
35
-        wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] );
35
+        wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']);
36 36
     } else {
37 37
         // Only send to PayPal if the pending payment is created successfully
38
-        $listener_url = wpinv_get_ipn_url( 'paypal' );
38
+        $listener_url = wpinv_get_ipn_url('paypal');
39 39
 
40 40
         // Get the success url
41
-        $return_url = add_query_arg( array(
41
+        $return_url = add_query_arg(array(
42 42
                 'payment-confirm' => 'paypal',
43 43
                 'invoice-id' => $invoice->ID
44
-            ), get_permalink( wpinv_get_option( 'success_page', false ) ) );
44
+            ), get_permalink(wpinv_get_option('success_page', false)));
45 45
 
46 46
         // Get the PayPal redirect uri
47
-        $paypal_redirect = trailingslashit( wpinv_get_paypal_redirect() ) . '?';
47
+        $paypal_redirect = trailingslashit(wpinv_get_paypal_redirect()) . '?';
48 48
 
49 49
         // Setup PayPal arguments
50 50
         $paypal_args = array(
51
-            'business'      => wpinv_get_option( 'paypal_email', false ),
51
+            'business'      => wpinv_get_option('paypal_email', false),
52 52
             'email'         => $invoice->get_email(),
53 53
             'first_name'    => $invoice->get_first_name(),
54 54
             'last_name'     => $invoice->get_last_name(),
@@ -57,16 +57,16 @@  discard block
 block discarded – undo
57 57
             'shipping'      => '0',
58 58
             'no_note'       => '1',
59 59
             'currency_code' => wpinv_get_currency(),
60
-            'charset'       => get_bloginfo( 'charset' ),
60
+            'charset'       => get_bloginfo('charset'),
61 61
             'custom'        => $invoice->ID,
62 62
             'rm'            => '2',
63 63
             'return'        => $return_url,
64
-            'cancel_return' => wpinv_get_failed_transaction_uri( '?invoice-id=' . $invoice->ID ),
64
+            'cancel_return' => wpinv_get_failed_transaction_uri('?invoice-id=' . $invoice->ID),
65 65
             'notify_url'    => $listener_url,
66
-            'cbt'           => get_bloginfo( 'name' ),
66
+            'cbt'           => get_bloginfo('name'),
67 67
             'bn'            => 'WPInvoicing_SP',
68 68
             'lc'            => 'US', // this will force paypal site to english
69
-            'landing_page'  => apply_filters( 'wpinv_paypal_standard_landing_page', 'billing', $invoice ), // 'login' or 'billing'. login - PayPal account login, billing - Non-PayPal account.
69
+            'landing_page'  => apply_filters('wpinv_paypal_standard_landing_page', 'billing', $invoice), // 'login' or 'billing'. login - PayPal account login, billing - Non-PayPal account.
70 70
         );
71 71
 
72 72
         $paypal_args['address1'] = $invoice->get_address();
@@ -80,57 +80,57 @@  discard block
 block discarded – undo
80 80
             'upload' => '1'
81 81
         );
82 82
 
83
-        $paypal_args = array_merge( $paypal_extra_args, $paypal_args );
83
+        $paypal_args = array_merge($paypal_extra_args, $paypal_args);
84 84
 
85 85
         // Add cart items
86 86
         $i = 1;
87
-        if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) {
88
-            foreach ( $purchase_data['cart_details'] as $item ) {
87
+        if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) {
88
+            foreach ($purchase_data['cart_details'] as $item) {
89 89
                 $item['quantity'] = $item['quantity'] > 0 ? $item['quantity'] : 1;
90
-                $item_amount = wpinv_sanitize_amount( $item['subtotal'] / $item['quantity'], 2 );
90
+                $item_amount = wpinv_sanitize_amount($item['subtotal'] / $item['quantity'], 2);
91 91
 
92
-                if ( $item_amount <= 0 ) {
92
+                if ($item_amount <= 0) {
93 93
                     $item_amount = 0;
94 94
                 }
95 95
 
96
-                $paypal_args['item_number_' . $i ]      = $item['id'];
97
-                $paypal_args['item_name_' . $i ]        = stripslashes_deep( html_entity_decode( wpinv_get_cart_item_name( $item ), ENT_COMPAT, 'UTF-8' ) );
98
-                $paypal_args['quantity_' . $i ]         = $item['quantity'];
99
-                $paypal_args['amount_' . $i ]           = $item_amount;
100
-                $paypal_args['discount_amount_' . $i ]  = wpinv_sanitize_amount( $item['discount'], 2 );
96
+                $paypal_args['item_number_' . $i]      = $item['id'];
97
+                $paypal_args['item_name_' . $i]        = stripslashes_deep(html_entity_decode(wpinv_get_cart_item_name($item), ENT_COMPAT, 'UTF-8'));
98
+                $paypal_args['quantity_' . $i]         = $item['quantity'];
99
+                $paypal_args['amount_' . $i]           = $item_amount;
100
+                $paypal_args['discount_amount_' . $i]  = wpinv_sanitize_amount($item['discount'], 2);
101 101
 
102 102
                 $i++;
103 103
             }
104 104
         }
105 105
 
106 106
         // Add taxes to the cart
107
-        if ( wpinv_use_taxes() ) {
108
-            $paypal_args['tax_cart'] = wpinv_sanitize_amount( (float)$invoice->get_tax(), 2 );
107
+        if (wpinv_use_taxes()) {
108
+            $paypal_args['tax_cart'] = wpinv_sanitize_amount((float)$invoice->get_tax(), 2);
109 109
         }
110 110
 
111
-        $paypal_args = apply_filters( 'wpinv_paypal_args', $paypal_args, $purchase_data, $invoice );
111
+        $paypal_args = apply_filters('wpinv_paypal_args', $paypal_args, $purchase_data, $invoice);
112 112
 
113 113
         // Build query
114
-        $paypal_redirect .= http_build_query( $paypal_args );
114
+        $paypal_redirect .= http_build_query($paypal_args);
115 115
 
116 116
         // Fix for some sites that encode the entities
117
-        $paypal_redirect = str_replace( '&amp;', '&', $paypal_redirect );
117
+        $paypal_redirect = str_replace('&amp;', '&', $paypal_redirect);
118 118
 
119 119
         // Get rid of cart contents
120 120
         wpinv_empty_cart();
121 121
         
122 122
         // Redirect to PayPal
123
-        wp_redirect( $paypal_redirect );
123
+        wp_redirect($paypal_redirect);
124 124
         exit;
125 125
     }
126 126
 }
127
-add_action( 'wpinv_gateway_paypal', 'wpinv_process_paypal_payment' );
127
+add_action('wpinv_gateway_paypal', 'wpinv_process_paypal_payment');
128 128
 
129
-function wpinv_get_paypal_recurring_args( $paypal_args, $purchase_data, $invoice ) {
130
-    if ( $invoice->is_recurring() && $item_id = $invoice->get_recurring() ) {
131
-        $item   = new WPInv_Item( $item_id );
129
+function wpinv_get_paypal_recurring_args($paypal_args, $purchase_data, $invoice) {
130
+    if ($invoice->is_recurring() && $item_id = $invoice->get_recurring()) {
131
+        $item = new WPInv_Item($item_id);
132 132
         
133
-        if ( empty( $item ) ) {
133
+        if (empty($item)) {
134 134
             return $paypal_args;
135 135
         }
136 136
 
@@ -138,24 +138,24 @@  discard block
 block discarded – undo
138 138
         $interval           = $item->get_recurring_interval();
139 139
         $bill_times         = (int)$item->get_recurring_limit();
140 140
         
141
-        $initial_amount     = wpinv_sanitize_amount( $invoice->get_total(), 2 );
142
-        $recurring_amount   = wpinv_sanitize_amount( $invoice->get_recurring_details( 'total' ), 2 );
141
+        $initial_amount     = wpinv_sanitize_amount($invoice->get_total(), 2);
142
+        $recurring_amount   = wpinv_sanitize_amount($invoice->get_recurring_details('total'), 2);
143 143
         
144 144
         $paypal_args['cmd'] = '_xclick-subscriptions';
145 145
         $paypal_args['sra'] = '1';
146 146
         $paypal_args['src'] = '1';
147 147
         
148 148
         // Set item description
149
-        $paypal_args['item_name']   = stripslashes_deep( html_entity_decode( wpinv_get_cart_item_name( array( 'id' => $item->ID ) ), ENT_COMPAT, 'UTF-8' ) );
149
+        $paypal_args['item_name'] = stripslashes_deep(html_entity_decode(wpinv_get_cart_item_name(array('id' => $item->ID)), ENT_COMPAT, 'UTF-8'));
150 150
         
151
-        if ( $invoice->is_free_trial() && $item->has_free_trial() ) {
151
+        if ($invoice->is_free_trial() && $item->has_free_trial()) {
152 152
             $paypal_args['a1']  = $initial_amount;
153 153
             $paypal_args['p1']  = $item->get_trial_interval();
154 154
             $paypal_args['t1']  = $item->get_trial_period();
155 155
             
156 156
             // Set the recurring amount
157 157
             $paypal_args['a3']  = $recurring_amount;
158
-        } else if ( $initial_amount != $recurring_amount && $bill_times != 1 ) {
158
+        } else if ($initial_amount != $recurring_amount && $bill_times != 1) {
159 159
             $paypal_args['a1']  = $initial_amount;
160 160
             $paypal_args['p1']  = $interval;
161 161
             $paypal_args['t1']  = $period;
@@ -163,63 +163,63 @@  discard block
 block discarded – undo
163 163
             // Set the recurring amount
164 164
             $paypal_args['a3']  = $recurring_amount;
165 165
             
166
-            if ( $bill_times > 1 ) {
166
+            if ($bill_times > 1) {
167 167
                 $bill_times--;
168 168
             }
169 169
         } else {
170
-            $paypal_args['a3']  = $initial_amount;
170
+            $paypal_args['a3'] = $initial_amount;
171 171
         }
172 172
         
173 173
         $paypal_args['p3']  = $interval;
174 174
         $paypal_args['t3']  = $period;
175 175
         
176
-        if ( $bill_times > 1 ) {
176
+        if ($bill_times > 1) {
177 177
             // Make sure it's not over the max of 52
178
-            $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 );
178
+            $paypal_args['srt'] = ($bill_times <= 52 ? absint($bill_times) : 52);
179 179
         }
180 180
                 
181 181
         // Remove cart items
182 182
         $i = 1;
183
-        if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) {
184
-            foreach ( $purchase_data['cart_details'] as $item ) {                
185
-                if ( isset( $paypal_args['item_number_' . $i] ) ) {
186
-                    unset( $paypal_args['item_number_' . $i] );
183
+        if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) {
184
+            foreach ($purchase_data['cart_details'] as $item) {                
185
+                if (isset($paypal_args['item_number_' . $i])) {
186
+                    unset($paypal_args['item_number_' . $i]);
187 187
                 }
188
-                if ( isset( $paypal_args['item_name_' . $i] ) ) {
189
-                    unset( $paypal_args['item_name_' . $i] );
188
+                if (isset($paypal_args['item_name_' . $i])) {
189
+                    unset($paypal_args['item_name_' . $i]);
190 190
                 }
191
-                if ( isset( $paypal_args['quantity_' . $i] ) ) {
192
-                    unset( $paypal_args['quantity_' . $i] );
191
+                if (isset($paypal_args['quantity_' . $i])) {
192
+                    unset($paypal_args['quantity_' . $i]);
193 193
                 }
194
-                if ( isset( $paypal_args['amount_' . $i] ) ) {
195
-                    unset( $paypal_args['amount_' . $i] );
194
+                if (isset($paypal_args['amount_' . $i])) {
195
+                    unset($paypal_args['amount_' . $i]);
196 196
                 }
197
-                if ( isset( $paypal_args['discount_amount_' . $i] ) ) {
198
-                    unset( $paypal_args['discount_amount_' . $i] );
197
+                if (isset($paypal_args['discount_amount_' . $i])) {
198
+                    unset($paypal_args['discount_amount_' . $i]);
199 199
                 }
200 200
 
201 201
                 $i++;
202 202
             }
203 203
         }
204 204
         
205
-        if ( isset( $paypal_args['tax_cart'] ) ) {
206
-            unset( $paypal_args['tax_cart'] );
205
+        if (isset($paypal_args['tax_cart'])) {
206
+            unset($paypal_args['tax_cart']);
207 207
         }
208 208
                 
209
-        if ( isset( $paypal_args['upload'] ) ) {
210
-            unset( $paypal_args['upload'] );
209
+        if (isset($paypal_args['upload'])) {
210
+            unset($paypal_args['upload']);
211 211
         }
212 212
         
213
-        $paypal_args = apply_filters( 'wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice );
213
+        $paypal_args = apply_filters('wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice);
214 214
     }
215 215
     
216 216
     return $paypal_args;
217 217
 }
218
-add_filter( 'wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3 );
218
+add_filter('wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3);
219 219
 
220 220
 function wpinv_process_paypal_ipn() {
221 221
 	// Check the request method is POST
222
-	if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) {
222
+	if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'POST') {
223 223
 		return;
224 224
 	}
225 225
 
@@ -227,11 +227,11 @@  discard block
 block discarded – undo
227 227
 	$post_data = '';
228 228
 
229 229
 	// Fallback just in case post_max_size is lower than needed
230
-	if ( ini_get( 'allow_url_fopen' ) ) {
231
-		$post_data = file_get_contents( 'php://input' );
230
+	if (ini_get('allow_url_fopen')) {
231
+		$post_data = file_get_contents('php://input');
232 232
 	} else {
233 233
 		// If allow_url_fopen is not enabled, then make sure that post_max_size is large enough
234
-		ini_set( 'post_max_size', '12M' );
234
+		ini_set('post_max_size', '12M');
235 235
 	}
236 236
 	// Start the encoded data collection with notification command
237 237
 	$encoded_data = 'cmd=_notify-validate';
@@ -240,43 +240,43 @@  discard block
 block discarded – undo
240 240
 	$arg_separator = wpinv_get_php_arg_separator_output();
241 241
 
242 242
 	// Verify there is a post_data
243
-	if ( $post_data || strlen( $post_data ) > 0 ) {
243
+	if ($post_data || strlen($post_data) > 0) {
244 244
 		// Append the data
245
-		$encoded_data .= $arg_separator.$post_data;
245
+		$encoded_data .= $arg_separator . $post_data;
246 246
 	} else {
247 247
 		// Check if POST is empty
248
-		if ( empty( $_POST ) ) {
248
+		if (empty($_POST)) {
249 249
 			// Nothing to do
250 250
 			return;
251 251
 		} else {
252 252
 			// Loop through each POST
253
-			foreach ( $_POST as $key => $value ) {
253
+			foreach ($_POST as $key => $value) {
254 254
 				// Encode the value and append the data
255
-				$encoded_data .= $arg_separator."$key=" . urlencode( $value );
255
+				$encoded_data .= $arg_separator . "$key=" . urlencode($value);
256 256
 			}
257 257
 		}
258 258
 	}
259 259
 
260 260
 	// Convert collected post data to an array
261
-	parse_str( $encoded_data, $encoded_data_array );
261
+	parse_str($encoded_data, $encoded_data_array);
262 262
 
263
-	foreach ( $encoded_data_array as $key => $value ) {
264
-		if ( false !== strpos( $key, 'amp;' ) ) {
265
-			$new_key = str_replace( '&amp;', '&', $key );
266
-			$new_key = str_replace( 'amp;', '&' , $new_key );
263
+	foreach ($encoded_data_array as $key => $value) {
264
+		if (false !== strpos($key, 'amp;')) {
265
+			$new_key = str_replace('&amp;', '&', $key);
266
+			$new_key = str_replace('amp;', '&', $new_key);
267 267
 
268
-			unset( $encoded_data_array[ $key ] );
269
-			$encoded_data_array[ $new_key ] = $value;
268
+			unset($encoded_data_array[$key]);
269
+			$encoded_data_array[$new_key] = $value;
270 270
 		}
271 271
 	}
272 272
 
273 273
 	// Get the PayPal redirect uri
274
-	$paypal_redirect = wpinv_get_paypal_redirect( true );
274
+	$paypal_redirect = wpinv_get_paypal_redirect(true);
275 275
 
276
-	if ( !wpinv_get_option( 'disable_paypal_verification', false ) ) {
276
+	if (!wpinv_get_option('disable_paypal_verification', false)) {
277 277
 		// Validate the IPN
278 278
 
279
-		$remote_post_vars      = array(
279
+		$remote_post_vars = array(
280 280
 			'method'           => 'POST',
281 281
 			'timeout'          => 45,
282 282
 			'redirection'      => 5,
@@ -294,21 +294,21 @@  discard block
 block discarded – undo
294 294
 		);
295 295
 
296 296
 		// Get response
297
-		$api_response = wp_remote_post( wpinv_get_paypal_redirect(), $remote_post_vars );
297
+		$api_response = wp_remote_post(wpinv_get_paypal_redirect(), $remote_post_vars);
298 298
 
299
-		if ( is_wp_error( $api_response ) ) {
300
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
299
+		if (is_wp_error($api_response)) {
300
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response)));
301 301
 			return; // Something went wrong
302 302
 		}
303 303
 
304
-		if ( $api_response['body'] !== 'VERIFIED' && wpinv_get_option( 'disable_paypal_verification', false ) ) {
305
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) );
304
+		if ($api_response['body'] !== 'VERIFIED' && wpinv_get_option('disable_paypal_verification', false)) {
305
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response)));
306 306
 			return; // Response not okay
307 307
 		}
308 308
 	}
309 309
 
310 310
 	// Check if $post_data_array has been populated
311
-	if ( !is_array( $encoded_data_array ) && !empty( $encoded_data_array ) )
311
+	if (!is_array($encoded_data_array) && !empty($encoded_data_array))
312 312
 		return;
313 313
 
314 314
 	$defaults = array(
@@ -316,215 +316,215 @@  discard block
 block discarded – undo
316 316
 		'payment_status' => ''
317 317
 	);
318 318
 
319
-	$encoded_data_array = wp_parse_args( $encoded_data_array, $defaults );
319
+	$encoded_data_array = wp_parse_args($encoded_data_array, $defaults);
320 320
 
321
-	$invoice_id = isset( $encoded_data_array['custom'] ) ? absint( $encoded_data_array['custom'] ) : 0;
321
+	$invoice_id = isset($encoded_data_array['custom']) ? absint($encoded_data_array['custom']) : 0;
322 322
     
323
-	wpinv_error_log( $encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__ );
323
+	wpinv_error_log($encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__);
324 324
 
325
-	if ( has_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'] ) ) {
325
+	if (has_action('wpinv_paypal_' . $encoded_data_array['txn_type'])) {
326 326
 		// Allow PayPal IPN types to be processed separately
327
-		do_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id );
327
+		do_action('wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id);
328 328
 	} else {
329 329
 		// Fallback to web accept just in case the txn_type isn't present
330
-		do_action( 'wpinv_paypal_web_accept', $encoded_data_array, $invoice_id );
330
+		do_action('wpinv_paypal_web_accept', $encoded_data_array, $invoice_id);
331 331
 	}
332 332
 	exit;
333 333
 }
334
-add_action( 'wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn' );
334
+add_action('wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn');
335 335
 
336
-function wpinv_process_paypal_web_accept_and_cart( $data, $invoice_id ) {
337
-	if ( $data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded' ) {
336
+function wpinv_process_paypal_web_accept_and_cart($data, $invoice_id) {
337
+	if ($data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded') {
338 338
 		return;
339 339
 	}
340 340
 
341
-	if( empty( $invoice_id ) ) {
341
+	if (empty($invoice_id)) {
342 342
 		return;
343 343
 	}
344 344
 
345 345
 	// Collect payment details
346
-	$purchase_key   = isset( $data['invoice'] ) ? $data['invoice'] : $data['item_number'];
346
+	$purchase_key   = isset($data['invoice']) ? $data['invoice'] : $data['item_number'];
347 347
 	$paypal_amount  = $data['mc_gross'];
348
-	$payment_status = strtolower( $data['payment_status'] );
349
-	$currency_code  = strtolower( $data['mc_currency'] );
350
-	$business_email = isset( $data['business'] ) && is_email( $data['business'] ) ? trim( $data['business'] ) : trim( $data['receiver_email'] );
351
-	$payment_meta   = wpinv_get_invoice_meta( $invoice_id );
348
+	$payment_status = strtolower($data['payment_status']);
349
+	$currency_code  = strtolower($data['mc_currency']);
350
+	$business_email = isset($data['business']) && is_email($data['business']) ? trim($data['business']) : trim($data['receiver_email']);
351
+	$payment_meta   = wpinv_get_invoice_meta($invoice_id);
352 352
 
353
-	if ( wpinv_get_payment_gateway( $invoice_id ) != 'paypal' ) {
353
+	if (wpinv_get_payment_gateway($invoice_id) != 'paypal') {
354 354
 		return; // this isn't a PayPal standard IPN
355 355
 	}
356 356
 
357 357
 	// Verify payment recipient
358
-	if ( strcasecmp( $business_email, trim( wpinv_get_option( 'paypal_email', false ) ) ) != 0 ) {
359
-		wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid business email in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
360
-		wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
361
-		wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid PayPal business email.', 'invoicing' ) );
358
+	if (strcasecmp($business_email, trim(wpinv_get_option('paypal_email', false))) != 0) {
359
+		wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid business email in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
360
+		wpinv_update_payment_status($invoice_id, 'wpi-failed');
361
+		wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid PayPal business email.', 'invoicing'));
362 362
 		return;
363 363
 	}
364 364
 
365 365
 	// Verify payment currency
366
-	if ( $currency_code != strtolower( $payment_meta['currency'] ) ) {
367
-		wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
368
-		wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
369
-		wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid currency in PayPal IPN.', 'invoicing' ) );
366
+	if ($currency_code != strtolower($payment_meta['currency'])) {
367
+		wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
368
+		wpinv_update_payment_status($invoice_id, 'wpi-failed');
369
+		wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid currency in PayPal IPN.', 'invoicing'));
370 370
 		return;
371 371
 	}
372 372
 
373
-	if ( !wpinv_get_payment_user_email( $invoice_id ) ) {
373
+	if (!wpinv_get_payment_user_email($invoice_id)) {
374 374
 		// This runs when a Buy Now purchase was made. It bypasses checkout so no personal info is collected until PayPal
375 375
 		// No email associated with purchase, so store from PayPal
376
-		wpinv_update_invoice_meta( $invoice_id, '_wpinv_email', $data['payer_email'] );
376
+		wpinv_update_invoice_meta($invoice_id, '_wpinv_email', $data['payer_email']);
377 377
 
378 378
 		// Setup and store the customer's details
379 379
 		$user_info = array(
380 380
 			'user_id'    => '-1',
381
-			'email'      => sanitize_text_field( $data['payer_email'] ),
382
-			'first_name' => sanitize_text_field( $data['first_name'] ),
383
-			'last_name'  => sanitize_text_field( $data['last_name'] ),
381
+			'email'      => sanitize_text_field($data['payer_email']),
382
+			'first_name' => sanitize_text_field($data['first_name']),
383
+			'last_name'  => sanitize_text_field($data['last_name']),
384 384
 			'discount'   => '',
385 385
 		);
386
-		$user_info['address'] = ! empty( $data['address_street']       ) ? sanitize_text_field( $data['address_street'] )       : false;
387
-		$user_info['city']    = ! empty( $data['address_city']         ) ? sanitize_text_field( $data['address_city'] )         : false;
388
-		$user_info['state']   = ! empty( $data['address_state']        ) ? sanitize_text_field( $data['address_state'] )        : false;
389
-		$user_info['country'] = ! empty( $data['address_country_code'] ) ? sanitize_text_field( $data['address_country_code'] ) : false;
390
-		$user_info['zip']     = ! empty( $data['address_zip']          ) ? sanitize_text_field( $data['address_zip'] )          : false;
386
+		$user_info['address'] = !empty($data['address_street']) ? sanitize_text_field($data['address_street']) : false;
387
+		$user_info['city']    = !empty($data['address_city']) ? sanitize_text_field($data['address_city']) : false;
388
+		$user_info['state']   = !empty($data['address_state']) ? sanitize_text_field($data['address_state']) : false;
389
+		$user_info['country'] = !empty($data['address_country_code']) ? sanitize_text_field($data['address_country_code']) : false;
390
+		$user_info['zip']     = !empty($data['address_zip']) ? sanitize_text_field($data['address_zip']) : false;
391 391
 
392 392
 		$payment_meta['user_info'] = $user_info;
393
-		wpinv_update_invoice_meta( $invoice_id, '_wpinv_payment_meta', $payment_meta );
393
+		wpinv_update_invoice_meta($invoice_id, '_wpinv_payment_meta', $payment_meta);
394 394
 	}
395 395
 
396
-	if ( $payment_status == 'refunded' || $payment_status == 'reversed' ) {
396
+	if ($payment_status == 'refunded' || $payment_status == 'reversed') {
397 397
 		// Process a refund
398
-		wpinv_process_paypal_refund( $data, $invoice_id );
398
+		wpinv_process_paypal_refund($data, $invoice_id);
399 399
 	} else {
400
-		if ( get_post_status( $invoice_id ) == 'publish' ) {
400
+		if (get_post_status($invoice_id) == 'publish') {
401 401
 			return; // Only paid payments once
402 402
 		}
403 403
 
404 404
 		// Retrieve the total purchase amount (before PayPal)
405
-		$payment_amount = wpinv_payment_total( $invoice_id );
405
+		$payment_amount = wpinv_payment_total($invoice_id);
406 406
 
407
-		if ( number_format( (float) $paypal_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
407
+		if (number_format((float)$paypal_amount, 2) < number_format((float)$payment_amount, 2)) {
408 408
 			// The prices don't match
409
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid payment amount in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
410
-			wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
411
-			wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid amount in PayPal IPN.', 'invoicing' ) );
409
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid payment amount in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
410
+			wpinv_update_payment_status($invoice_id, 'wpi-failed');
411
+			wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid amount in PayPal IPN.', 'invoicing'));
412 412
 			return;
413 413
 		}
414
-		if ( $purchase_key != wpinv_get_payment_key( $invoice_id ) ) {
414
+		if ($purchase_key != wpinv_get_payment_key($invoice_id)) {
415 415
 			// Purchase keys don't match
416
-			wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid purchase key in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id );
417
-			wpinv_update_payment_status( $invoice_id, 'wpi-failed' );
418
-			wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing' ) );
416
+			wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid purchase key in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id);
417
+			wpinv_update_payment_status($invoice_id, 'wpi-failed');
418
+			wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing'));
419 419
 			return;
420 420
 		}
421 421
 
422
-		if ( 'complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode( 'paypal' ) ) {
423
-			wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $data['txn_id'] ) );
424
-			wpinv_set_payment_transaction_id( $invoice_id, $data['txn_id'] );
425
-			wpinv_update_payment_status( $invoice_id, 'publish' );
426
-		} else if ( 'pending' == $payment_status && isset( $data['pending_reason'] ) ) {
422
+		if ('complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode('paypal')) {
423
+			wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $data['txn_id']));
424
+			wpinv_set_payment_transaction_id($invoice_id, $data['txn_id']);
425
+			wpinv_update_payment_status($invoice_id, 'publish');
426
+		} else if ('pending' == $payment_status && isset($data['pending_reason'])) {
427 427
 			// Look for possible pending reasons, such as an echeck
428 428
 			$note = '';
429 429
 
430
-			switch( strtolower( $data['pending_reason'] ) ) {
430
+			switch (strtolower($data['pending_reason'])) {
431 431
 				case 'echeck' :
432
-					$note = __( 'Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing' );
432
+					$note = __('Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing');
433 433
 					break;
434 434
 				
435 435
                 case 'address' :
436
-					$note = __( 'Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing' );
436
+					$note = __('Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing');
437 437
 					break;
438 438
 				
439 439
                 case 'intl' :
440
-					$note = __( 'Payment must be accepted manually through PayPal due to international account regulations', 'invoicing' );
440
+					$note = __('Payment must be accepted manually through PayPal due to international account regulations', 'invoicing');
441 441
 					break;
442 442
 				
443 443
                 case 'multi-currency' :
444
-					$note = __( 'Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing' );
444
+					$note = __('Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing');
445 445
 					break;
446 446
 				
447 447
                 case 'paymentreview' :
448 448
                 case 'regulatory_review' :
449
-					$note = __( 'Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing' );
449
+					$note = __('Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing');
450 450
 					break;
451 451
 				
452 452
                 case 'unilateral' :
453
-					$note = __( 'Payment was sent to non-confirmed or non-registered email address.', 'invoicing' );
453
+					$note = __('Payment was sent to non-confirmed or non-registered email address.', 'invoicing');
454 454
 					break;
455 455
 				
456 456
                 case 'upgrade' :
457
-					$note = __( 'PayPal account must be upgraded before this payment can be accepted', 'invoicing' );
457
+					$note = __('PayPal account must be upgraded before this payment can be accepted', 'invoicing');
458 458
 					break;
459 459
 				
460 460
                 case 'verify' :
461
-					$note = __( 'PayPal account is not verified. Verify account in order to accept this payment', 'invoicing' );
461
+					$note = __('PayPal account is not verified. Verify account in order to accept this payment', 'invoicing');
462 462
 					break;
463 463
 
464 464
 				case 'other' :
465
-					$note = __( 'Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing' );
465
+					$note = __('Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing');
466 466
 					break;
467 467
 			}
468 468
 
469
-			if ( ! empty( $note ) ) {
470
-				wpinv_insert_payment_note( $invoice_id, $note );
469
+			if (!empty($note)) {
470
+				wpinv_insert_payment_note($invoice_id, $note);
471 471
 			}
472 472
 		} else {
473
-			wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal IPN has been received with invalid payment status: %s', 'invoicing' ), $payment_status ) );
473
+			wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal IPN has been received with invalid payment status: %s', 'invoicing'), $payment_status));
474 474
 		}
475 475
 	}
476 476
 }
477
-add_action( 'wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2 );
477
+add_action('wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2);
478 478
 
479 479
 // Process PayPal subscription sign ups
480
-add_action( 'wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup' );
480
+add_action('wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup');
481 481
 
482 482
 // Process PayPal subscription payments
483
-add_action( 'wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment' );
483
+add_action('wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment');
484 484
 
485 485
 // Process PayPal subscription cancellations
486
-add_action( 'wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel' );
486
+add_action('wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel');
487 487
 
488 488
 // Process PayPal subscription end of term notices
489
-add_action( 'wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot' );
489
+add_action('wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot');
490 490
 
491 491
 // Process PayPal payment failed
492
-add_action( 'wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed' );
492
+add_action('wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed');
493 493
 
494 494
 
495 495
 /**
496 496
  * Process the subscription started IPN.
497 497
  */
498
-function wpinv_process_paypal_subscr_signup( $ipn_data ) {
499
-    $parent_invoice_id = absint( $ipn_data['custom'] );
500
-    if( empty( $parent_invoice_id ) ) {
498
+function wpinv_process_paypal_subscr_signup($ipn_data) {
499
+    $parent_invoice_id = absint($ipn_data['custom']);
500
+    if (empty($parent_invoice_id)) {
501 501
         return;
502 502
     }
503 503
 
504
-    $invoice = wpinv_get_invoice( $parent_invoice_id );
505
-    if ( empty( $invoice ) ) {
504
+    $invoice = wpinv_get_invoice($parent_invoice_id);
505
+    if (empty($invoice)) {
506 506
         return;
507 507
     }
508 508
 
509
-    if ( $invoice->is_free_trial() && !empty( $ipn_data['invoice'] ) ) {
510
-        wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Invoice ID: %s', 'invoicing' ) , $ipn_data['invoice'] ) );
511
-        wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['invoice'] );
509
+    if ($invoice->is_free_trial() && !empty($ipn_data['invoice'])) {
510
+        wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Invoice ID: %s', 'invoicing'), $ipn_data['invoice']));
511
+        wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['invoice']);
512 512
     }
513 513
     
514
-    wpinv_update_payment_status( $parent_invoice_id, 'publish' );
514
+    wpinv_update_payment_status($parent_invoice_id, 'publish');
515 515
     sleep(1);
516
-    wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ) );
516
+    wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id']));
517 517
     
518
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
519
-    if ( false === $subscription ) {
518
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
519
+    if (false === $subscription) {
520 520
         return;
521 521
     }
522 522
 
523
-    $cart_details   = $invoice->cart_details;
523
+    $cart_details = $invoice->cart_details;
524 524
 
525
-    if ( !empty( $cart_details ) ) {
526
-        foreach ( $cart_details as $cart_item ) {
527
-            $item = new WPInv_Item( $cart_item['id'] );
525
+    if (!empty($cart_details)) {
526
+        foreach ($cart_details as $cart_item) {
527
+            $item = new WPInv_Item($cart_item['id']);
528 528
             
529 529
             $status = $invoice->is_free_trial() && $item->has_free_trial() ? 'trialing' : 'active';
530 530
             
@@ -533,15 +533,15 @@  discard block
 block discarded – undo
533 533
                 'status'            => $status,
534 534
                 'period'            => $item->get_recurring_period(),
535 535
                 'initial_amount'    => $invoice->get_total(),
536
-                'recurring_amount'  => $invoice->get_recurring_details( 'total' ),
536
+                'recurring_amount'  => $invoice->get_recurring_details('total'),
537 537
                 'interval'          => $item->get_recurring_interval(),
538 538
                 'bill_times'        => $item->get_recurring_limit(),
539
-                'expiration'        => $invoice->get_new_expiration( $cart_item['id'] ),
539
+                'expiration'        => $invoice->get_new_expiration($cart_item['id']),
540 540
                 'profile_id'        => $ipn_data['subscr_id'],
541
-                'created'           => date_i18n( 'Y-m-d H:i:s', strtotime( $ipn_data['subscr_date'] ) )
541
+                'created'           => date_i18n('Y-m-d H:i:s', strtotime($ipn_data['subscr_date']))
542 542
             );
543 543
             
544
-            if ( $item->has_free_trial() ) {
544
+            if ($item->has_free_trial()) {
545 545
                 $args['trial_period']      = $item->get_trial_period();
546 546
                 $args['trial_interval']    = $item->get_trial_interval();
547 547
             } else {
@@ -550,7 +550,7 @@  discard block
 block discarded – undo
550 550
             }
551 551
             
552 552
 
553
-            $subscription->update_subscription( $args );
553
+            $subscription->update_subscription($args);
554 554
         }
555 555
     }
556 556
 }
@@ -558,45 +558,45 @@  discard block
 block discarded – undo
558 558
 /**
559 559
  * Process the subscription payment received IPN.
560 560
  */
561
-function wpinv_process_paypal_subscr_payment( $ipn_data ) {
562
-    $parent_invoice_id = absint( $ipn_data['custom'] );
561
+function wpinv_process_paypal_subscr_payment($ipn_data) {
562
+    $parent_invoice_id = absint($ipn_data['custom']);
563 563
     
564
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
565
-    if ( false === $subscription ) {
564
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
565
+    if (false === $subscription) {
566 566
         return;
567 567
     }
568 568
 
569
-    $parent_invoice = wpinv_get_invoice( $parent_invoice_id );
570
-    if ( empty( $parent_invoice ) ) {
569
+    $parent_invoice = wpinv_get_invoice($parent_invoice_id);
570
+    if (empty($parent_invoice)) {
571 571
         return;
572 572
     }
573 573
 
574
-    $transaction_id = wpinv_get_payment_transaction_id( $parent_invoice_id );
574
+    $transaction_id = wpinv_get_payment_transaction_id($parent_invoice_id);
575 575
     $signup_date    = $subscription->get_subscription_created();
576 576
     $payment_date   = $ipn_data['payment_date'];
577
-    $times_billed   = $parent_invoice->get_total_payments( false );
577
+    $times_billed   = $parent_invoice->get_total_payments(false);
578 578
 
579 579
     // Look to see if payment is same day as signup and we have set the transaction ID on the parent payment yet.
580
-    if ( empty( $times_billed ) && ( !$transaction_id || $transaction_id == $parent_invoice_id ) ) {
581
-        wpinv_update_payment_status( $parent_invoice_id, 'publish' );
580
+    if (empty($times_billed) && (!$transaction_id || $transaction_id == $parent_invoice_id)) {
581
+        wpinv_update_payment_status($parent_invoice_id, 'publish');
582 582
         sleep(1);
583 583
         
584 584
         // This is the very first payment
585
-        wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] );
586
-        wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ) );
585
+        wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']);
586
+        wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']));
587 587
         return;
588 588
     }
589 589
     
590
-    if ( wpinv_get_id_by_transaction_id( $ipn_data['txn_id'] ) ) {
590
+    if (wpinv_get_id_by_transaction_id($ipn_data['txn_id'])) {
591 591
         return; // Payment already recorded
592 592
     }
593 593
 
594
-    $currency_code = strtolower( $ipn_data['mc_currency'] );
594
+    $currency_code = strtolower($ipn_data['mc_currency']);
595 595
 
596 596
     // verify details
597
-    if ( $currency_code != strtolower( wpinv_get_currency() ) ) {
597
+    if ($currency_code != strtolower(wpinv_get_currency())) {
598 598
         // the currency code is invalid
599
-        wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: ', 'invoicing' ), json_encode( $ipn_data ) ) );
599
+        wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: ', 'invoicing'), json_encode($ipn_data)));
600 600
         return;
601 601
     }
602 602
 
@@ -605,11 +605,11 @@  discard block
 block discarded – undo
605 605
         'transaction_id' => $ipn_data['txn_id']
606 606
     );
607 607
     
608
-    $invoice = wpinv_recurring_add_subscription_payment( $parent_invoice_id, $args );
608
+    $invoice = wpinv_recurring_add_subscription_payment($parent_invoice_id, $args);
609 609
     
610
-    if ( !empty( $invoice ) ) {
610
+    if (!empty($invoice)) {
611 611
         sleep(1);
612
-        wpinv_insert_payment_note( $invoice->ID, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ) );
612
+        wpinv_insert_payment_note($invoice->ID, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']));
613 613
 
614 614
         $invoice->renew_subscription();
615 615
     }
@@ -618,10 +618,10 @@  discard block
 block discarded – undo
618 618
 /**
619 619
  * Process the subscription canceled IPN.
620 620
  */
621
-function wpinv_process_paypal_subscr_cancel( $ipn_data ) {
622
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
621
+function wpinv_process_paypal_subscr_cancel($ipn_data) {
622
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
623 623
 
624
-    if( false === $subscription ) {
624
+    if (false === $subscription) {
625 625
         return;
626 626
     }
627 627
 
@@ -631,10 +631,10 @@  discard block
 block discarded – undo
631 631
 /**
632 632
  * Process the subscription expired IPN.
633 633
  */
634
-function wpinv_process_paypal_subscr_eot( $ipn_data ) {
635
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
634
+function wpinv_process_paypal_subscr_eot($ipn_data) {
635
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
636 636
 
637
-    if( false === $subscription ) {
637
+    if (false === $subscription) {
638 638
         return;
639 639
     }
640 640
 
@@ -644,45 +644,45 @@  discard block
 block discarded – undo
644 644
 /**
645 645
  * Process the subscription payment failed IPN.
646 646
  */
647
-function wpinv_process_paypal_subscr_failed( $ipn_data ) {
648
-    $subscription = wpinv_get_paypal_subscription( $ipn_data );
647
+function wpinv_process_paypal_subscr_failed($ipn_data) {
648
+    $subscription = wpinv_get_paypal_subscription($ipn_data);
649 649
 
650
-    if( false === $subscription ) {
650
+    if (false === $subscription) {
651 651
         return;
652 652
     }
653 653
 
654 654
     $subscription->failing_subscription();
655 655
 
656
-    do_action( 'wpinv_recurring_payment_failed', $subscription );
656
+    do_action('wpinv_recurring_payment_failed', $subscription);
657 657
 }
658 658
 
659 659
 /**
660 660
  * Retrieve the subscription this IPN notice is for.
661 661
  */
662
-function wpinv_get_paypal_subscription( $ipn_data = array() ) {
663
-    $parent_invoice_id = absint( $ipn_data['custom'] );
662
+function wpinv_get_paypal_subscription($ipn_data = array()) {
663
+    $parent_invoice_id = absint($ipn_data['custom']);
664 664
 
665
-    if( empty( $parent_invoice_id ) ) {
665
+    if (empty($parent_invoice_id)) {
666 666
         return false;
667 667
     }
668 668
 
669
-    $invoice = wpinv_get_invoice( $parent_invoice_id );
670
-    if ( empty( $invoice ) ) {
669
+    $invoice = wpinv_get_invoice($parent_invoice_id);
670
+    if (empty($invoice)) {
671 671
         return false;
672 672
     }
673 673
 
674
-    $subscription = wpinv_get_subscription( $ipn_data['subscr_id'], true );
674
+    $subscription = wpinv_get_subscription($ipn_data['subscr_id'], true);
675 675
 
676
-    if ( empty( $subscription ) ) {
677
-        $subs         = wpinv_get_subscriptions( array( 'parent_invoice_id' => $parent_invoice_id, 'numberposts' => 1 ) );
678
-        $subscription = reset( $subs );
676
+    if (empty($subscription)) {
677
+        $subs         = wpinv_get_subscriptions(array('parent_invoice_id' => $parent_invoice_id, 'numberposts' => 1));
678
+        $subscription = reset($subs);
679 679
 
680
-        if ( $subscription && $subscription->ID > 0 ) {
680
+        if ($subscription && $subscription->ID > 0) {
681 681
             // Update the profile ID so it is set for future renewals
682
-            $subscription->update_subscription( array( 'profile_id' => sanitize_text_field( $ipn_data['subscr_id'] ) ) );
682
+            $subscription->update_subscription(array('profile_id' => sanitize_text_field($ipn_data['subscr_id'])));
683 683
         } else {
684 684
             $subscription = $invoice;
685
-            $subscription->update_subscription( array( 'profile_id' => sanitize_text_field( $ipn_data['subscr_id'] ) ) );
685
+            $subscription->update_subscription(array('profile_id' => sanitize_text_field($ipn_data['subscr_id'])));
686 686
             // No subscription found with a matching payment ID, bail
687 687
             //return false;
688 688
         }
@@ -692,39 +692,39 @@  discard block
 block discarded – undo
692 692
 
693 693
 }
694 694
 
695
-function wpinv_process_paypal_refund( $data, $invoice_id = 0 ) {
695
+function wpinv_process_paypal_refund($data, $invoice_id = 0) {
696 696
 	// Collect payment details
697 697
 
698
-	if( empty( $invoice_id ) ) {
698
+	if (empty($invoice_id)) {
699 699
 		return;
700 700
 	}
701 701
 
702
-	if ( get_post_status( $invoice_id ) == 'wpi-refunded' ) {
702
+	if (get_post_status($invoice_id) == 'wpi-refunded') {
703 703
 		return; // Only refund payments once
704 704
 	}
705 705
 
706
-	$payment_amount = wpinv_payment_total( $invoice_id );
706
+	$payment_amount = wpinv_payment_total($invoice_id);
707 707
 	$refund_amount  = $data['mc_gross'] * -1;
708 708
 
709
-	if ( number_format( (float) $refund_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) {
710
-		wpinv_insert_payment_note( $invoice_id, sprintf( __( 'Partial PayPal refund processed: %s', 'invoicing' ), $data['parent_txn_id'] ) );
709
+	if (number_format((float)$refund_amount, 2) < number_format((float)$payment_amount, 2)) {
710
+		wpinv_insert_payment_note($invoice_id, sprintf(__('Partial PayPal refund processed: %s', 'invoicing'), $data['parent_txn_id']));
711 711
 		return; // This is a partial refund
712 712
 	}
713 713
 
714
-	wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Payment #%s Refunded for reason: %s', 'invoicing' ), $data['parent_txn_id'], $data['reason_code'] ) );
715
-	wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Refund Transaction ID: %s', 'invoicing' ), $data['txn_id'] ) );
716
-	wpinv_update_payment_status( $invoice_id, 'wpi-refunded' );
714
+	wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Payment #%s Refunded for reason: %s', 'invoicing'), $data['parent_txn_id'], $data['reason_code']));
715
+	wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Refund Transaction ID: %s', 'invoicing'), $data['txn_id']));
716
+	wpinv_update_payment_status($invoice_id, 'wpi-refunded');
717 717
 }
718 718
 
719
-function wpinv_get_paypal_redirect( $ssl_check = false ) {
720
-    if ( is_ssl() || ! $ssl_check ) {
719
+function wpinv_get_paypal_redirect($ssl_check = false) {
720
+    if (is_ssl() || !$ssl_check) {
721 721
         $protocol = 'https://';
722 722
     } else {
723 723
         $protocol = 'http://';
724 724
     }
725 725
 
726 726
     // Check the current payment mode
727
-    if ( wpinv_is_test_mode( 'paypal' ) ) {
727
+    if (wpinv_is_test_mode('paypal')) {
728 728
         // Test mode
729 729
         $paypal_uri = $protocol . 'www.sandbox.paypal.com/cgi-bin/webscr';
730 730
     } else {
@@ -732,67 +732,67 @@  discard block
 block discarded – undo
732 732
         $paypal_uri = $protocol . 'www.paypal.com/cgi-bin/webscr';
733 733
     }
734 734
 
735
-    return apply_filters( 'wpinv_paypal_uri', $paypal_uri );
735
+    return apply_filters('wpinv_paypal_uri', $paypal_uri);
736 736
 }
737 737
 
738
-function wpinv_paypal_success_page_content( $content ) {
738
+function wpinv_paypal_success_page_content($content) {
739 739
     global $wpi_invoice;
740 740
     
741 741
     $session = wpinv_get_checkout_session();
742 742
 
743
-    if ( empty( $_GET['invoice-id'] ) && empty( $session['invoice_key'] )  ) {
743
+    if (empty($_GET['invoice-id']) && empty($session['invoice_key'])) {
744 744
         return $content;
745 745
     }
746 746
 
747
-    $invoice_id = !empty( $_GET['invoice-id'] ) ? absint( $_GET['invoice-id'] ) : wpinv_get_invoice_id_by_key( $session['invoice_key'] );
747
+    $invoice_id = !empty($_GET['invoice-id']) ? absint($_GET['invoice-id']) : wpinv_get_invoice_id_by_key($session['invoice_key']);
748 748
 
749
-    if ( empty(  $invoice_id ) ) {
749
+    if (empty($invoice_id)) {
750 750
         return $content;
751 751
     }
752 752
 
753
-    $wpi_invoice = wpinv_get_invoice( $invoice_id );
753
+    $wpi_invoice = wpinv_get_invoice($invoice_id);
754 754
     
755
-    if ( !empty( $wpi_invoice ) && 'wpi-pending' == $wpi_invoice->status ) {
755
+    if (!empty($wpi_invoice) && 'wpi-pending' == $wpi_invoice->status) {
756 756
         // Payment is still pending so show processing indicator to fix the Race Condition, issue #
757 757
         ob_start();
758
-        wpinv_get_template_part( 'wpinv-payment-processing' );
758
+        wpinv_get_template_part('wpinv-payment-processing');
759 759
         $content = ob_get_clean();
760 760
     }
761 761
 
762 762
     return $content;
763 763
 }
764
-add_filter( 'wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content' );
764
+add_filter('wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content');
765 765
 
766
-function wpinv_paypal_get_transaction_id( $invoice_id ) {
766
+function wpinv_paypal_get_transaction_id($invoice_id) {
767 767
     $transaction_id = '';
768
-    $notes = wpinv_get_invoice_notes( $invoice_id );
768
+    $notes = wpinv_get_invoice_notes($invoice_id);
769 769
 
770
-    foreach ( $notes as $note ) {
771
-        if ( preg_match( '/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match ) ) {
770
+    foreach ($notes as $note) {
771
+        if (preg_match('/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match)) {
772 772
             $transaction_id = $match[1];
773 773
             continue;
774 774
         }
775 775
     }
776 776
 
777
-    return apply_filters( 'wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id );
777
+    return apply_filters('wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id);
778 778
 }
779
-add_filter( 'wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1 );
779
+add_filter('wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1);
780 780
 
781
-function wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice ) {
782
-    if ( $invoice->is_free_trial() || $transaction_id == $invoice_id ) { // Free trial does not have transaction at PayPal.
781
+function wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice) {
782
+    if ($invoice->is_free_trial() || $transaction_id == $invoice_id) { // Free trial does not have transaction at PayPal.
783 783
         $transaction_url = $invoice->get_view_url();
784 784
     } else {
785
-        $sandbox = wpinv_is_test_mode( 'paypal' ) ? '.sandbox' : '';
785
+        $sandbox = wpinv_is_test_mode('paypal') ? '.sandbox' : '';
786 786
         $transaction_url = 'https://www' . $sandbox . '.paypal.com/cgi-bin/webscr?cmd=_view-a-trans&id=' . $transaction_id;
787 787
     }
788 788
 
789
-    $transaction_link = '<a href="' . esc_url( $transaction_url ) . '" target="_blank">' . $transaction_id . '</a>';
789
+    $transaction_link = '<a href="' . esc_url($transaction_url) . '" target="_blank">' . $transaction_id . '</a>';
790 790
 
791
-    return apply_filters( 'wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $invoice );
791
+    return apply_filters('wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $invoice);
792 792
 }
793
-add_filter( 'wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3 );
793
+add_filter('wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3);
794 794
 
795 795
 function wpinv_gateway_paypal_button_label($label) {
796
-    return __( 'Proceed to PayPal', 'invoicing' );
796
+    return __('Proceed to PayPal', 'invoicing');
797 797
 }
798
-add_filter( 'wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1 );
799 798
\ No newline at end of file
799
+add_filter('wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1);
800 800
\ No newline at end of file
Please login to merge, or discard this patch.