Passed
Push — master ( 11ea61...3d88bf )
by Brian
05:49
created
includes/admin/register-settings.php 1 patch
Spacing   +395 added lines, -395 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @since   1.0.0
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Retrieves all default settings.
@@ -16,13 +16,13 @@  discard block
 block discarded – undo
16 16
 function wpinv_get_settings() {
17 17
     $defaults = array();
18 18
 
19
-    foreach ( array_values( wpinv_get_registered_settings() ) as $tab_settings ) {
19
+    foreach (array_values(wpinv_get_registered_settings()) as $tab_settings) {
20 20
 
21
-        foreach ( array_values( $tab_settings ) as $section_settings ) {
21
+        foreach (array_values($tab_settings) as $section_settings) {
22 22
 
23
-            foreach ( $section_settings as $key => $setting ) {
24
-                if ( isset( $setting['std'] ) ) {
25
-                    $defaults[ $key ] = $setting['std'];
23
+            foreach ($section_settings as $key => $setting) {
24
+                if (isset($setting['std'])) {
25
+                    $defaults[$key] = $setting['std'];
26 26
                 }
27 27
             }
28 28
 
@@ -43,12 +43,12 @@  discard block
 block discarded – undo
43 43
     global $wpinv_options;
44 44
 
45 45
     // Try fetching the saved options.
46
-    if ( ! is_array( $wpinv_options ) ) {
47
-        $wpinv_options = get_option( 'wpinv_settings' );
46
+    if (!is_array($wpinv_options)) {
47
+        $wpinv_options = get_option('wpinv_settings');
48 48
     }
49 49
 
50 50
     // If that fails, don't fetch the default settings to prevent a loop.
51
-    if ( ! is_array( $wpinv_options ) ) {
51
+    if (!is_array($wpinv_options)) {
52 52
         $wpinv_options = array();
53 53
     }
54 54
 
@@ -62,13 +62,13 @@  discard block
 block discarded – undo
62 62
  * @param mixed $default The default value to use if the setting has not been set.
63 63
  * @return mixed
64 64
  */
65
-function wpinv_get_option( $key = '', $default = false ) {
65
+function wpinv_get_option($key = '', $default = false) {
66 66
 
67 67
     $options = wpinv_get_options();
68
-    $value   = isset( $options[ $key ] ) ? $options[ $key ] : $default;
69
-    $value   = apply_filters( 'wpinv_get_option', $value, $key, $default );
68
+    $value   = isset($options[$key]) ? $options[$key] : $default;
69
+    $value   = apply_filters('wpinv_get_option', $value, $key, $default);
70 70
 
71
-    return apply_filters( 'wpinv_get_option_' . $key, $value, $key, $default );
71
+    return apply_filters('wpinv_get_option_' . $key, $value, $key, $default);
72 72
 }
73 73
 
74 74
 /**
@@ -77,11 +77,11 @@  discard block
 block discarded – undo
77 77
  * @param array $options the new options.
78 78
  * @return bool
79 79
  */
80
-function wpinv_update_options( $options ) {
80
+function wpinv_update_options($options) {
81 81
     global $wpinv_options;
82 82
 
83 83
     // update the option.
84
-    if ( is_array( $options ) && update_option( 'wpinv_settings', $options ) ) {
84
+    if (is_array($options) && update_option('wpinv_settings', $options)) {
85 85
         $wpinv_options = $options;
86 86
         return true;
87 87
     }
@@ -96,24 +96,24 @@  discard block
 block discarded – undo
96 96
  * @param mixed $value The setting value.
97 97
  * @return bool
98 98
  */
99
-function wpinv_update_option( $key = '', $value = false ) {
99
+function wpinv_update_option($key = '', $value = false) {
100 100
 
101 101
     // If no key, exit.
102
-    if ( empty( $key ) ) {
102
+    if (empty($key)) {
103 103
         return false;
104 104
     }
105 105
 
106 106
     // Maybe delete the option instead.
107
-    if ( is_null( $value ) ) {
108
-        return wpinv_delete_option( $key );
107
+    if (is_null($value)) {
108
+        return wpinv_delete_option($key);
109 109
     }
110 110
 
111 111
     // Prepare the new options.
112 112
     $options         = wpinv_get_options();
113
-    $options[ $key ] = apply_filters( 'wpinv_update_option', $value, $key );
113
+    $options[$key] = apply_filters('wpinv_update_option', $value, $key);
114 114
 
115 115
     // Save the new options.
116
-    return wpinv_update_options( $options );
116
+    return wpinv_update_options($options);
117 117
 
118 118
 }
119 119
 
@@ -123,18 +123,18 @@  discard block
 block discarded – undo
123 123
  * @param string $key the setting key.
124 124
  * @return bool
125 125
  */
126
-function wpinv_delete_option( $key = '' ) {
126
+function wpinv_delete_option($key = '') {
127 127
 
128 128
     // If no key, exit
129
-    if ( empty( $key ) ) {
129
+    if (empty($key)) {
130 130
         return false;
131 131
     }
132 132
 
133 133
     $options = wpinv_get_options();
134 134
 
135
-    if ( isset( $options[ $key ] ) ) {
136
-        unset( $options[ $key ] );
137
-        return wpinv_update_options( $options );
135
+    if (isset($options[$key])) {
136
+        unset($options[$key]);
137
+        return wpinv_update_options($options);
138 138
     }
139 139
 
140 140
     return true;
@@ -148,14 +148,14 @@  discard block
 block discarded – undo
148 148
 function wpinv_register_settings() {
149 149
 
150 150
     // Loop through all tabs.
151
-    foreach ( wpinv_get_registered_settings() as $tab => $sections ) {
151
+    foreach (wpinv_get_registered_settings() as $tab => $sections) {
152 152
 
153 153
         // In each tab, loop through sections.
154
-        foreach ( $sections as $section => $settings ) {
154
+        foreach ($sections as $section => $settings) {
155 155
 
156 156
             // Check for backwards compatibility
157
-            $section_tabs = wpinv_get_settings_tab_sections( $tab );
158
-            if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) {
157
+            $section_tabs = wpinv_get_settings_tab_sections($tab);
158
+            if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) {
159 159
                 $section = 'main';
160 160
                 $settings = $sections;
161 161
             }
@@ -168,9 +168,9 @@  discard block
 block discarded – undo
168 168
                 'wpinv_settings_' . $tab . '_' . $section
169 169
             );
170 170
 
171
-            foreach ( $settings as $option ) {
172
-                if ( ! empty( $option['id'] ) ) {
173
-                    wpinv_register_settings_option( $tab, $section, $option );
171
+            foreach ($settings as $option) {
172
+                if (!empty($option['id'])) {
173
+                    wpinv_register_settings_option($tab, $section, $option);
174 174
                 }
175 175
             }
176 176
 
@@ -178,9 +178,9 @@  discard block
 block discarded – undo
178 178
     }
179 179
 
180 180
     // Creates our settings in the options table.
181
-    register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' );
181
+    register_setting('wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize');
182 182
 }
183
-add_action( 'admin_init', 'wpinv_register_settings' );
183
+add_action('admin_init', 'wpinv_register_settings');
184 184
 
185 185
 /**
186 186
  * Register a single settings option.
@@ -190,46 +190,46 @@  discard block
 block discarded – undo
190 190
  * @param string $option
191 191
  * 
192 192
  */
193
-function wpinv_register_settings_option( $tab, $section, $option ) {
193
+function wpinv_register_settings_option($tab, $section, $option) {
194 194
 
195
-    $name    = isset( $option['name'] ) ? $option['name'] : '';
195
+    $name    = isset($option['name']) ? $option['name'] : '';
196 196
     $cb      = "wpinv_{$option['type']}_callback";
197 197
     $section = "wpinv_settings_{$tab}_$section";
198 198
 
199
-	if ( isset( $option['desc'] ) && ! empty( $option['help-tip'] ) ) {
200
-		$tip   = esc_attr( $option['desc'] );
199
+	if (isset($option['desc']) && !empty($option['help-tip'])) {
200
+		$tip   = esc_attr($option['desc']);
201 201
 		$name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
202
-		unset( $option['desc'] );
202
+		unset($option['desc']);
203 203
 	}
204 204
 
205 205
     // Loop through all tabs.
206 206
     add_settings_field(
207 207
         'wpinv_settings[' . $option['id'] . ']',
208 208
         $name,
209
-        function_exists( $cb ) ? $cb : 'wpinv_missing_callback',
209
+        function_exists($cb) ? $cb : 'wpinv_missing_callback',
210 210
         $section,
211 211
         $section,
212 212
         array(
213 213
             'section'     => $section,
214
-            'id'          => isset( $option['id'] )          ? $option['id']          : null,
215
-            'desc'        => isset( $option['desc'] )        ? $option['desc']        : '',
214
+            'id'          => isset($option['id']) ? $option['id'] : null,
215
+            'desc'        => isset($option['desc']) ? $option['desc'] : '',
216 216
             'name'        => $name,
217
-            'size'        => isset( $option['size'] )        ? $option['size']        : null,
218
-            'options'     => isset( $option['options'] )     ? $option['options']     : '',
219
-            'selected'    => isset( $option['selected'] )    ? $option['selected']    : null,
220
-            'std'         => isset( $option['std'] )         ? $option['std']         : '',
221
-            'min'         => isset( $option['min'] )         ? $option['min']         : null,
222
-            'max'         => isset( $option['max'] )         ? $option['max']         : null,
223
-            'step'        => isset( $option['step'] )        ? $option['step']        : null,
224
-            'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null,
225
-            'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true,
226
-            'readonly'    => isset( $option['readonly'] )    ? $option['readonly']    : false,
227
-            'faux'        => isset( $option['faux'] )        ? $option['faux']        : false,
228
-            'onchange'    => isset( $option['onchange'] )   ? $option['onchange']     : '',
229
-            'custom'      => isset( $option['custom'] )     ? $option['custom']       : '',
230
-            'class'       => isset( $option['class'] )     ? $option['class']         : '',
231
-            'cols'        => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
232
-            'rows'        => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
217
+            'size'        => isset($option['size']) ? $option['size'] : null,
218
+            'options'     => isset($option['options']) ? $option['options'] : '',
219
+            'selected'    => isset($option['selected']) ? $option['selected'] : null,
220
+            'std'         => isset($option['std']) ? $option['std'] : '',
221
+            'min'         => isset($option['min']) ? $option['min'] : null,
222
+            'max'         => isset($option['max']) ? $option['max'] : null,
223
+            'step'        => isset($option['step']) ? $option['step'] : null,
224
+            'placeholder' => isset($option['placeholder']) ? $option['placeholder'] : null,
225
+            'allow_blank' => isset($option['allow_blank']) ? $option['allow_blank'] : true,
226
+            'readonly'    => isset($option['readonly']) ? $option['readonly'] : false,
227
+            'faux'        => isset($option['faux']) ? $option['faux'] : false,
228
+            'onchange'    => isset($option['onchange']) ? $option['onchange'] : '',
229
+            'custom'      => isset($option['custom']) ? $option['custom'] : '',
230
+            'class'       => isset($option['class']) ? $option['class'] : '',
231
+            'cols'        => isset($option['cols']) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
232
+            'rows'        => isset($option['rows']) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
233 233
         )
234 234
     );
235 235
 
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
  * @return array
242 242
  */
243 243
 function wpinv_get_registered_settings() {
244
-    return apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) );
244
+    return apply_filters('wpinv_registered_settings', wpinv_get_data('admin-settings'));
245 245
 }
246 246
 
247 247
 /**
@@ -249,134 +249,134 @@  discard block
 block discarded – undo
249 249
  * 
250 250
  * @return array
251 251
  */
252
-function wpinv_settings_sanitize( $input = array() ) {
252
+function wpinv_settings_sanitize($input = array()) {
253 253
 
254 254
     $wpinv_options = wpinv_get_options();
255 255
 
256
-    if ( empty( wp_get_raw_referer() ) ) {
256
+    if (empty(wp_get_raw_referer())) {
257 257
         return $input;
258 258
     }
259 259
 
260
-    wp_parse_str( wp_get_raw_referer(), $referrer );
260
+    wp_parse_str(wp_get_raw_referer(), $referrer);
261 261
 
262 262
     $settings = wpinv_get_registered_settings();
263
-    $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
264
-    $section  = isset( $referrer['section'] ) ? $referrer['section'] : 'main';
263
+    $tab      = isset($referrer['tab']) ? $referrer['tab'] : 'general';
264
+    $section  = isset($referrer['section']) ? $referrer['section'] : 'main';
265 265
 
266 266
     $input = $input ? $input : array();
267
-    $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input );
268
-    $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input );
267
+    $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input);
268
+    $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input);
269 269
 
270 270
     // Loop through each setting being saved and pass it through a sanitization filter
271
-    foreach ( $input as $key => $value ) {
271
+    foreach ($input as $key => $value) {
272 272
 
273 273
         // Get the setting type (checkbox, select, etc)
274
-        $type = isset( $settings[ $tab ][$section][ $key ]['type'] ) ? $settings[ $tab ][$section][ $key ]['type'] : false;
274
+        $type = isset($settings[$tab][$section][$key]['type']) ? $settings[$tab][$section][$key]['type'] : false;
275 275
 
276
-        if ( $type ) {
276
+        if ($type) {
277 277
             // Field type specific filter
278
-            $input[$key] = apply_filters( 'wpinv_settings_sanitize_' . $type, $value, $key );
278
+            $input[$key] = apply_filters('wpinv_settings_sanitize_' . $type, $value, $key);
279 279
         }
280 280
 
281 281
         // General filter
282
-        $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
282
+        $input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key);
283 283
     }
284 284
 
285 285
     // Loop through the whitelist and unset any that are empty for the tab being saved
286
-    $main_settings    = $section == 'main' ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections
287
-    $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array();
286
+    $main_settings    = $section == 'main' ? $settings[$tab] : array(); // Check for extensions that aren't using new sections
287
+    $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array();
288 288
 
289
-    $found_settings = array_merge( $main_settings, $section_settings );
289
+    $found_settings = array_merge($main_settings, $section_settings);
290 290
 
291
-    if ( ! empty( $found_settings ) ) {
292
-        foreach ( $found_settings as $key => $value ) {
291
+    if (!empty($found_settings)) {
292
+        foreach ($found_settings as $key => $value) {
293 293
 
294 294
             // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work
295
-            if ( is_numeric( $key ) ) {
295
+            if (is_numeric($key)) {
296 296
                 $key = $value['id'];
297 297
             }
298 298
 
299
-            if ( ! isset( $input[ $key ] ) && isset( $wpinv_options[ $key ] ) ) {
300
-                unset( $wpinv_options[ $key ] );
299
+            if (!isset($input[$key]) && isset($wpinv_options[$key])) {
300
+                unset($wpinv_options[$key]);
301 301
             }
302 302
         }
303 303
     }
304 304
 
305 305
     // Merge our new settings with the existing
306
-    $output = array_merge( $wpinv_options, $input );
306
+    $output = array_merge($wpinv_options, $input);
307 307
 
308
-    add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' );
308
+    add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated');
309 309
 
310 310
     return $output;
311 311
 }
312 312
 
313
-function wpinv_settings_sanitize_misc_accounting( $input ) {
313
+function wpinv_settings_sanitize_misc_accounting($input) {
314 314
 
315
-    if ( ! wpinv_current_user_can_manage_invoicing() ) {
315
+    if (!wpinv_current_user_can_manage_invoicing()) {
316 316
         return $input;
317 317
     }
318 318
 
319
-    if( ! empty( $input['enable_sequential'] ) && !wpinv_get_option( 'enable_sequential' ) ) {
319
+    if (!empty($input['enable_sequential']) && !wpinv_get_option('enable_sequential')) {
320 320
         // Shows an admin notice about upgrading previous order numbers
321
-        getpaid_session()->set( 'upgrade_sequential', '1' );
321
+        getpaid_session()->set('upgrade_sequential', '1');
322 322
     }
323 323
 
324 324
     return $input;
325 325
 }
326
-add_filter( 'wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting' );
326
+add_filter('wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting');
327 327
 
328
-function wpinv_settings_sanitize_tax_rates( $input ) {
329
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
328
+function wpinv_settings_sanitize_tax_rates($input) {
329
+    if (!wpinv_current_user_can_manage_invoicing()) {
330 330
         return $input;
331 331
     }
332 332
 
333
-    $new_rates = !empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array();
333
+    $new_rates = !empty($_POST['tax_rates']) ? array_values($_POST['tax_rates']) : array();
334 334
 
335 335
     $tax_rates = array();
336 336
 
337
-    if ( !empty( $new_rates ) ) {
338
-        foreach ( $new_rates as $rate ) {
339
-            if ( isset( $rate['country'] ) && empty( $rate['country'] ) && empty( $rate['state'] ) ) {
337
+    if (!empty($new_rates)) {
338
+        foreach ($new_rates as $rate) {
339
+            if (isset($rate['country']) && empty($rate['country']) && empty($rate['state'])) {
340 340
                 continue;
341 341
             }
342 342
             
343
-            $rate['rate'] = wpinv_sanitize_amount( $rate['rate'], 4 );
343
+            $rate['rate'] = wpinv_sanitize_amount($rate['rate'], 4);
344 344
             
345 345
             $tax_rates[] = $rate;
346 346
         }
347 347
     }
348 348
 
349
-    update_option( 'wpinv_tax_rates', $tax_rates );
349
+    update_option('wpinv_tax_rates', $tax_rates);
350 350
 
351 351
     return $input;
352 352
 }
353
-add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' );
353
+add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates');
354 354
 
355
-function wpinv_sanitize_text_field( $input ) {
356
-    return trim( $input );
355
+function wpinv_sanitize_text_field($input) {
356
+    return trim($input);
357 357
 }
358
-add_filter( 'wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field' );
358
+add_filter('wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field');
359 359
 
360 360
 function wpinv_get_settings_tabs() {
361 361
     $tabs             = array();
362
-    $tabs['general']  = __( 'General', 'invoicing' );
363
-    $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
364
-    $tabs['taxes']    = __( 'Taxes', 'invoicing' );
365
-    $tabs['emails']   = __( 'Emails', 'invoicing' );
366
-    $tabs['privacy']  = __( 'Privacy', 'invoicing' );
367
-    $tabs['misc']     = __( 'Misc', 'invoicing' );
368
-    $tabs['tools']    = __( 'Tools', 'invoicing' );
369
-
370
-    return apply_filters( 'wpinv_settings_tabs', $tabs );
362
+    $tabs['general']  = __('General', 'invoicing');
363
+    $tabs['gateways'] = __('Payment Gateways', 'invoicing');
364
+    $tabs['taxes']    = __('Taxes', 'invoicing');
365
+    $tabs['emails']   = __('Emails', 'invoicing');
366
+    $tabs['privacy']  = __('Privacy', 'invoicing');
367
+    $tabs['misc']     = __('Misc', 'invoicing');
368
+    $tabs['tools']    = __('Tools', 'invoicing');
369
+
370
+    return apply_filters('wpinv_settings_tabs', $tabs);
371 371
 }
372 372
 
373
-function wpinv_get_settings_tab_sections( $tab = false ) {
373
+function wpinv_get_settings_tab_sections($tab = false) {
374 374
     $tabs     = false;
375 375
     $sections = wpinv_get_registered_settings_sections();
376 376
 
377
-    if( $tab && ! empty( $sections[ $tab ] ) ) {
378
-        $tabs = $sections[ $tab ];
379
-    } else if ( $tab ) {
377
+    if ($tab && !empty($sections[$tab])) {
378
+        $tabs = $sections[$tab];
379
+    } else if ($tab) {
380 380
         $tabs = false;
381 381
     }
382 382
 
@@ -386,149 +386,149 @@  discard block
 block discarded – undo
386 386
 function wpinv_get_registered_settings_sections() {
387 387
     static $sections = false;
388 388
 
389
-    if ( false !== $sections ) {
389
+    if (false !== $sections) {
390 390
         return $sections;
391 391
     }
392 392
 
393 393
     $sections = array(
394
-        'general' => apply_filters( 'wpinv_settings_sections_general', array(
395
-            'main' => __( 'General Settings', 'invoicing' ),
396
-            'currency_section' => __( 'Currency Settings', 'invoicing' ),
397
-            'labels' => __( 'Label Texts', 'invoicing' ),
398
-        ) ),
399
-        'gateways' => apply_filters( 'wpinv_settings_sections_gateways', array(
400
-            'main' => __( 'Gateway Settings', 'invoicing' ),
401
-        ) ),
402
-        'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array(
403
-            'main' => __( 'Tax Settings', 'invoicing' ),
404
-            'rates' => __( 'Tax Rates', 'invoicing' ),
405
-        ) ),
406
-        'emails' => apply_filters( 'wpinv_settings_sections_emails', array(
407
-            'main' => __( 'Email Settings', 'invoicing' ),
408
-        ) ),
409
-        'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array(
410
-            'main' => __( 'Privacy policy', 'invoicing' ),
411
-        ) ),
412
-        'misc' => apply_filters( 'wpinv_settings_sections_misc', array(
413
-            'main' => __( 'Miscellaneous', 'invoicing' ),
414
-            'custom-css' => __( 'Custom CSS', 'invoicing' ),
415
-        ) ),
416
-        'tools' => apply_filters( 'wpinv_settings_sections_tools', array(
417
-            'main' => __( 'Diagnostic Tools', 'invoicing' ),
418
-        ) ),
394
+        'general' => apply_filters('wpinv_settings_sections_general', array(
395
+            'main' => __('General Settings', 'invoicing'),
396
+            'currency_section' => __('Currency Settings', 'invoicing'),
397
+            'labels' => __('Label Texts', 'invoicing'),
398
+        )),
399
+        'gateways' => apply_filters('wpinv_settings_sections_gateways', array(
400
+            'main' => __('Gateway Settings', 'invoicing'),
401
+        )),
402
+        'taxes' => apply_filters('wpinv_settings_sections_taxes', array(
403
+            'main' => __('Tax Settings', 'invoicing'),
404
+            'rates' => __('Tax Rates', 'invoicing'),
405
+        )),
406
+        'emails' => apply_filters('wpinv_settings_sections_emails', array(
407
+            'main' => __('Email Settings', 'invoicing'),
408
+        )),
409
+        'privacy' => apply_filters('wpinv_settings_sections_privacy', array(
410
+            'main' => __('Privacy policy', 'invoicing'),
411
+        )),
412
+        'misc' => apply_filters('wpinv_settings_sections_misc', array(
413
+            'main' => __('Miscellaneous', 'invoicing'),
414
+            'custom-css' => __('Custom CSS', 'invoicing'),
415
+        )),
416
+        'tools' => apply_filters('wpinv_settings_sections_tools', array(
417
+            'main' => __('Diagnostic Tools', 'invoicing'),
418
+        )),
419 419
     );
420 420
 
421
-    $sections = apply_filters( 'wpinv_settings_sections', $sections );
421
+    $sections = apply_filters('wpinv_settings_sections', $sections);
422 422
 
423 423
     return $sections;
424 424
 }
425 425
 
426
-function wpinv_get_pages( $with_slug = false, $default_label = NULL ) {
426
+function wpinv_get_pages($with_slug = false, $default_label = NULL) {
427 427
 	$pages_options = array();
428 428
 
429
-	if( $default_label !== NULL && $default_label !== false ) {
430
-		$pages_options = array( '' => $default_label ); // Blank option
429
+	if ($default_label !== NULL && $default_label !== false) {
430
+		$pages_options = array('' => $default_label); // Blank option
431 431
 	}
432 432
 
433 433
 	$pages = get_pages();
434
-	if ( $pages ) {
435
-		foreach ( $pages as $page ) {
434
+	if ($pages) {
435
+		foreach ($pages as $page) {
436 436
 			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
437
-            $pages_options[ $page->ID ] = $title;
437
+            $pages_options[$page->ID] = $title;
438 438
 		}
439 439
 	}
440 440
 
441 441
 	return $pages_options;
442 442
 }
443 443
 
444
-function wpinv_header_callback( $args ) {
445
-	if ( !empty( $args['desc'] ) ) {
444
+function wpinv_header_callback($args) {
445
+	if (!empty($args['desc'])) {
446 446
         echo $args['desc'];
447 447
     }
448 448
 }
449 449
 
450
-function wpinv_hidden_callback( $args ) {
450
+function wpinv_hidden_callback($args) {
451 451
 	global $wpinv_options;
452 452
 
453
-	if ( isset( $args['set_value'] ) ) {
453
+	if (isset($args['set_value'])) {
454 454
 		$value = $args['set_value'];
455
-	} elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
456
-		$value = $wpinv_options[ $args['id'] ];
455
+	} elseif (isset($wpinv_options[$args['id']])) {
456
+		$value = $wpinv_options[$args['id']];
457 457
 	} else {
458
-		$value = isset( $args['std'] ) ? $args['std'] : '';
458
+		$value = isset($args['std']) ? $args['std'] : '';
459 459
 	}
460 460
 
461
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
461
+	if (isset($args['faux']) && true === $args['faux']) {
462 462
 		$args['readonly'] = true;
463
-		$value = isset( $args['std'] ) ? $args['std'] : '';
463
+		$value = isset($args['std']) ? $args['std'] : '';
464 464
 		$name  = '';
465 465
 	} else {
466
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
466
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
467 467
 	}
468 468
 
469
-	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
469
+	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key($args['id']) . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '" />';
470 470
     
471 471
 	echo $html;
472 472
 }
473 473
 
474
-function wpinv_checkbox_callback( $args ) {
474
+function wpinv_checkbox_callback($args) {
475 475
 	global $wpinv_options;
476 476
     
477
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
477
+    $sanitize_id = wpinv_sanitize_key($args['id']);
478 478
 
479
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
479
+	if (isset($args['faux']) && true === $args['faux']) {
480 480
 		$name = '';
481 481
 	} else {
482 482
 		$name = 'name="wpinv_settings[' . $sanitize_id . ']"';
483 483
 	}
484 484
 
485
-	$std     = isset( $args['std'] ) ? $args['std'] : 0;
486
-	$value   = isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ] : $std;
487
-	$checked = checked( empty( $value ), false, false );
485
+	$std     = isset($args['std']) ? $args['std'] : 0;
486
+	$value   = isset($wpinv_options[$args['id']]) ? $wpinv_options[$args['id']] : $std;
487
+	$checked = checked(empty($value), false, false);
488 488
 
489 489
 	$html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>';
490
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
490
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
491 491
 
492 492
 	echo $html;
493 493
 }
494 494
 
495
-function wpinv_multicheck_callback( $args ) {
495
+function wpinv_multicheck_callback($args) {
496 496
 	global $wpinv_options;
497 497
 
498
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
499
-	$class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
498
+	$sanitize_id = wpinv_sanitize_key($args['id']);
499
+	$class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
500 500
 
501
-	if ( ! empty( $args['options'] ) ) {
501
+	if (!empty($args['options'])) {
502 502
 
503
-		$std     = isset( $args['std'] ) ? $args['std'] : array();
504
-		$value   = isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ] : $std;
503
+		$std     = isset($args['std']) ? $args['std'] : array();
504
+		$value   = isset($wpinv_options[$args['id']]) ? $wpinv_options[$args['id']] : $std;
505 505
 
506 506
 		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
507
-        foreach( $args['options'] as $key => $option ):
508
-			$sanitize_key = wpinv_sanitize_key( $key );
509
-			if ( in_array( $sanitize_key, $value ) ) { 
507
+        foreach ($args['options'] as $key => $option):
508
+			$sanitize_key = wpinv_sanitize_key($key);
509
+			if (in_array($sanitize_key, $value)) { 
510 510
 				$enabled = $sanitize_key;
511 511
 			} else { 
512 512
 				$enabled = NULL; 
513 513
 			}
514
-			echo '<div class="wpi-mcheck-row"><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;';
515
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
514
+			echo '<div class="wpi-mcheck-row"><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;';
515
+			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post($option) . '</label></div>';
516 516
 		endforeach;
517 517
 		echo '</div>';
518 518
 		echo '<p class="description">' . $args['desc'] . '</p>';
519 519
 	}
520 520
 }
521 521
 
522
-function wpinv_payment_icons_callback( $args ) {
522
+function wpinv_payment_icons_callback($args) {
523 523
 	global $wpinv_options;
524 524
     
525
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
525
+    $sanitize_id = wpinv_sanitize_key($args['id']);
526 526
 
527
-	if ( ! empty( $args['options'] ) ) {
528
-		foreach( $args['options'] as $key => $option ) {
529
-            $sanitize_key = wpinv_sanitize_key( $key );
527
+	if (!empty($args['options'])) {
528
+		foreach ($args['options'] as $key => $option) {
529
+            $sanitize_key = wpinv_sanitize_key($key);
530 530
             
531
-			if( isset( $wpinv_options[$args['id']][$key] ) ) {
531
+			if (isset($wpinv_options[$args['id']][$key])) {
532 532
 				$enabled = $option;
533 533
 			} else {
534 534
 				$enabled = NULL;
@@ -536,197 +536,197 @@  discard block
 block discarded – undo
536 536
 
537 537
 			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
538 538
 
539
-				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;';
539
+				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;';
540 540
 
541
-				if ( wpinv_string_is_image_url( $key ) ) {
542
-					echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
541
+				if (wpinv_string_is_image_url($key)) {
542
+					echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
543 543
 				} else {
544
-					$card = strtolower( str_replace( ' ', '', $option ) );
544
+					$card = strtolower(str_replace(' ', '', $option));
545 545
 
546
-					if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
547
-						$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
546
+					if (has_filter('wpinv_accepted_payment_' . $card . '_image')) {
547
+						$image = apply_filters('wpinv_accepted_payment_' . $card . '_image', '');
548 548
 					} else {
549
-						$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
549
+						$image       = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false);
550 550
 						$content_dir = WP_CONTENT_DIR;
551 551
 
552
-						if ( function_exists( 'wp_normalize_path' ) ) {
552
+						if (function_exists('wp_normalize_path')) {
553 553
 							// Replaces backslashes with forward slashes for Windows systems
554
-							$image = wp_normalize_path( $image );
555
-							$content_dir = wp_normalize_path( $content_dir );
554
+							$image = wp_normalize_path($image);
555
+							$content_dir = wp_normalize_path($content_dir);
556 556
 						}
557 557
 
558
-						$image = str_replace( $content_dir, content_url(), $image );
558
+						$image = str_replace($content_dir, content_url(), $image);
559 559
 					}
560 560
 
561
-					echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
561
+					echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
562 562
 				}
563 563
 			echo $option . '</label>';
564 564
 		}
565
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
565
+		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>';
566 566
 	}
567 567
 }
568 568
 
569
-function wpinv_radio_callback( $args ) {
569
+function wpinv_radio_callback($args) {
570 570
 	global $wpinv_options;
571 571
     
572
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
572
+    $sanitize_id = wpinv_sanitize_key($args['id']);
573 573
     
574
-    foreach ( $args['options'] as $key => $option ) :
575
-		$sanitize_key = wpinv_sanitize_key( $key );
574
+    foreach ($args['options'] as $key => $option) :
575
+		$sanitize_key = wpinv_sanitize_key($key);
576 576
         
577 577
         $checked = false;
578 578
 
579
-		if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key )
579
+		if (isset($wpinv_options[$args['id']]) && $wpinv_options[$args['id']] == $key)
580 580
 			$checked = true;
581
-		elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) )
581
+		elseif (isset($args['std']) && $args['std'] == $key && !isset($wpinv_options[$args['id']]))
582 582
 			$checked = true;
583 583
 
584 584
 		echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/>&nbsp;';
585
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>';
585
+		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option) . '</label><br/>';
586 586
 	endforeach;
587 587
 
588
-	echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
588
+	echo '<p class="description">' . wp_kses_post($args['desc']) . '</p>';
589 589
 }
590 590
 
591
-function wpinv_gateways_callback( $args ) {
591
+function wpinv_gateways_callback($args) {
592 592
 	global $wpinv_options;
593 593
     
594
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
594
+    $sanitize_id = wpinv_sanitize_key($args['id']);
595 595
 
596
-	foreach ( $args['options'] as $key => $option ) :
597
-		$sanitize_key = wpinv_sanitize_key( $key );
596
+	foreach ($args['options'] as $key => $option) :
597
+		$sanitize_key = wpinv_sanitize_key($key);
598 598
         
599
-        if ( isset( $wpinv_options['gateways'][ $key ] ) )
599
+        if (isset($wpinv_options['gateways'][$key]))
600 600
 			$enabled = '1';
601 601
 		else
602 602
 			$enabled = null;
603 603
 
604
-		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;';
605
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>';
604
+		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;';
605
+		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option['admin_label']) . '</label><br/>';
606 606
 	endforeach;
607 607
 }
608 608
 
609 609
 function wpinv_gateway_select_callback($args) {
610 610
 	global $wpinv_options;
611 611
     
612
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
613
-    $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
612
+    $sanitize_id = wpinv_sanitize_key($args['id']);
613
+    $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
614 614
 
615
-	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
615
+	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '" >';
616 616
 
617
-	foreach ( $args['options'] as $key => $option ) :
618
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
619
-            $selected = selected( $key, $args['selected'], false );
617
+	foreach ($args['options'] as $key => $option) :
618
+		if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) {
619
+            $selected = selected($key, $args['selected'], false);
620 620
         } else {
621
-            $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : '';
621
+            $selected = isset($wpinv_options[$args['id']]) ? selected($key, $wpinv_options[$args['id']], false) : '';
622 622
         }
623
-		echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
623
+		echo '<option value="' . wpinv_sanitize_key($key) . '"' . $selected . '>' . esc_html($option['admin_label']) . '</option>';
624 624
 	endforeach;
625 625
 
626 626
 	echo '</select>';
627
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
627
+	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
628 628
 }
629 629
 
630
-function wpinv_text_callback( $args ) {
630
+function wpinv_text_callback($args) {
631 631
 	global $wpinv_options;
632 632
     
633
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
633
+    $sanitize_id = wpinv_sanitize_key($args['id']);
634 634
 
635
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
636
-		$value = $wpinv_options[ $args['id'] ];
635
+	if (isset($wpinv_options[$args['id']])) {
636
+		$value = $wpinv_options[$args['id']];
637 637
 	} else {
638
-		$value = isset( $args['std'] ) ? $args['std'] : '';
638
+		$value = isset($args['std']) ? $args['std'] : '';
639 639
 	}
640 640
 
641
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
641
+	if (isset($args['faux']) && true === $args['faux']) {
642 642
 		$args['readonly'] = true;
643
-		$value = isset( $args['std'] ) ? $args['std'] : '';
643
+		$value = isset($args['std']) ? $args['std'] : '';
644 644
 		$name  = '';
645 645
 	} else {
646
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
646
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
647 647
 	}
648
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
648
+	$class = !empty($args['class']) ? sanitize_html_class($args['class']) : '';
649 649
 
650 650
 	$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
651
-	$size     = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
652
-	$html     = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>';
653
-	$html    .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
651
+	$size     = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
652
+	$html     = '<input type="text" class="' . sanitize_html_class($size) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '"' . $readonly . '/>';
653
+	$html    .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
654 654
 
655 655
 	echo $html;
656 656
 }
657 657
 
658
-function wpinv_number_callback( $args ) {
658
+function wpinv_number_callback($args) {
659 659
 	global $wpinv_options;
660 660
     
661
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
661
+    $sanitize_id = wpinv_sanitize_key($args['id']);
662 662
 
663
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
664
-		$value = $wpinv_options[ $args['id'] ];
663
+	if (isset($wpinv_options[$args['id']])) {
664
+		$value = $wpinv_options[$args['id']];
665 665
 	} else {
666
-		$value = isset( $args['std'] ) ? $args['std'] : '';
666
+		$value = isset($args['std']) ? $args['std'] : '';
667 667
 	}
668 668
 
669
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
669
+	if (isset($args['faux']) && true === $args['faux']) {
670 670
 		$args['readonly'] = true;
671
-		$value = isset( $args['std'] ) ? $args['std'] : '';
671
+		$value = isset($args['std']) ? $args['std'] : '';
672 672
 		$name  = '';
673 673
 	} else {
674
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
674
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
675 675
 	}
676 676
 
677
-	$max  = isset( $args['max'] ) ? $args['max'] : 999999;
678
-	$min  = isset( $args['min'] ) ? $args['min'] : 0;
679
-	$step = isset( $args['step'] ) ? $args['step'] : 1;
680
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
677
+	$max  = isset($args['max']) ? $args['max'] : 999999;
678
+	$min  = isset($args['min']) ? $args['min'] : 0;
679
+	$step = isset($args['step']) ? $args['step'] : 1;
680
+	$class = !empty($args['class']) ? sanitize_html_class($args['class']) : '';
681 681
 
682
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
683
-	$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 ) ) . '"/>';
684
-	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
682
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
683
+	$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)) . '"/>';
684
+	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
685 685
 
686 686
 	echo $html;
687 687
 }
688 688
 
689
-function wpinv_textarea_callback( $args ) {
689
+function wpinv_textarea_callback($args) {
690 690
 	global $wpinv_options;
691 691
     
692
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
692
+    $sanitize_id = wpinv_sanitize_key($args['id']);
693 693
 
694
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
695
-		$value = $wpinv_options[ $args['id'] ];
694
+	if (isset($wpinv_options[$args['id']])) {
695
+		$value = $wpinv_options[$args['id']];
696 696
 	} else {
697
-		$value = isset( $args['std'] ) ? $args['std'] : '';
697
+		$value = isset($args['std']) ? $args['std'] : '';
698 698
 	}
699 699
     
700
-    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
701
-    $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
700
+    $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
701
+    $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text';
702 702
 
703
-	$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>';
704
-	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
703
+	$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>';
704
+	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
705 705
 
706 706
 	echo $html;
707 707
 }
708 708
 
709
-function wpinv_password_callback( $args ) {
709
+function wpinv_password_callback($args) {
710 710
 	global $wpinv_options;
711 711
     
712
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
712
+    $sanitize_id = wpinv_sanitize_key($args['id']);
713 713
 
714
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
715
-		$value = $wpinv_options[ $args['id'] ];
714
+	if (isset($wpinv_options[$args['id']])) {
715
+		$value = $wpinv_options[$args['id']];
716 716
 	} else {
717
-		$value = isset( $args['std'] ) ? $args['std'] : '';
717
+		$value = isset($args['std']) ? $args['std'] : '';
718 718
 	}
719 719
 
720
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
721
-	$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 ) . '"/>';
722
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
720
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
721
+	$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) . '"/>';
722
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
723 723
 
724 724
 	echo $html;
725 725
 }
726 726
 
727 727
 function wpinv_missing_callback($args) {
728 728
 	printf(
729
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
729
+		__('The callback function used for the %s setting is missing.', 'invoicing'),
730 730
 		'<strong>' . $args['id'] . '</strong>'
731 731
 	);
732 732
 }
@@ -734,134 +734,134 @@  discard block
 block discarded – undo
734 734
 function wpinv_select_callback($args) {
735 735
 	global $wpinv_options;
736 736
     
737
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
737
+    $sanitize_id = wpinv_sanitize_key($args['id']);
738 738
 
739
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
740
-		$value = $wpinv_options[ $args['id'] ];
739
+	if (isset($wpinv_options[$args['id']])) {
740
+		$value = $wpinv_options[$args['id']];
741 741
 	} else {
742
-		$value = isset( $args['std'] ) ? $args['std'] : '';
742
+		$value = isset($args['std']) ? $args['std'] : '';
743 743
 	}
744 744
     
745
-    if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
745
+    if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) {
746 746
         $value = $args['selected'];
747 747
     }
748 748
 
749
-	if ( isset( $args['placeholder'] ) ) {
749
+	if (isset($args['placeholder'])) {
750 750
 		$placeholder = $args['placeholder'];
751 751
 	} else {
752 752
 		$placeholder = '';
753 753
 	}
754 754
     
755
-    if( !empty( $args['onchange'] ) ) {
756
-        $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
755
+    if (!empty($args['onchange'])) {
756
+        $onchange = ' onchange="' . esc_attr($args['onchange']) . '"';
757 757
     } else {
758 758
         $onchange = '';
759 759
     }
760 760
 
761
-    $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
761
+    $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
762 762
 
763
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'"  name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />';
763
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '"  name="wpinv_settings[' . esc_attr($args['id']) . ']" data-placeholder="' . esc_html($placeholder) . '"' . $onchange . ' />';
764 764
 
765
-	foreach ( $args['options'] as $option => $name ) {
766
-		$selected = selected( $option, $value, false );
767
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
765
+	foreach ($args['options'] as $option => $name) {
766
+		$selected = selected($option, $value, false);
767
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>';
768 768
 	}
769 769
 
770 770
 	$html .= '</select>';
771
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
771
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
772 772
 
773 773
 	echo $html;
774 774
 }
775 775
 
776
-function wpinv_color_select_callback( $args ) {
776
+function wpinv_color_select_callback($args) {
777 777
 	global $wpinv_options;
778 778
     
779
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
779
+    $sanitize_id = wpinv_sanitize_key($args['id']);
780 780
 
781
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
782
-		$value = $wpinv_options[ $args['id'] ];
781
+	if (isset($wpinv_options[$args['id']])) {
782
+		$value = $wpinv_options[$args['id']];
783 783
 	} else {
784
-		$value = isset( $args['std'] ) ? $args['std'] : '';
784
+		$value = isset($args['std']) ? $args['std'] : '';
785 785
 	}
786 786
 
787
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
787
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>';
788 788
 
789
-	foreach ( $args['options'] as $option => $color ) {
790
-		$selected = selected( $option, $value, false );
791
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
789
+	foreach ($args['options'] as $option => $color) {
790
+		$selected = selected($option, $value, false);
791
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($color['label']) . '</option>';
792 792
 	}
793 793
 
794 794
 	$html .= '</select>';
795
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
795
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
796 796
 
797 797
 	echo $html;
798 798
 }
799 799
 
800
-function wpinv_rich_editor_callback( $args ) {
800
+function wpinv_rich_editor_callback($args) {
801 801
 	global $wpinv_options, $wp_version;
802 802
     
803
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
803
+    $sanitize_id = wpinv_sanitize_key($args['id']);
804 804
 
805
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
806
-		$value = $wpinv_options[ $args['id'] ];
805
+	if (isset($wpinv_options[$args['id']])) {
806
+		$value = $wpinv_options[$args['id']];
807 807
 
808
-		if( empty( $args['allow_blank'] ) && empty( $value ) ) {
809
-			$value = isset( $args['std'] ) ? $args['std'] : '';
808
+		if (empty($args['allow_blank']) && empty($value)) {
809
+			$value = isset($args['std']) ? $args['std'] : '';
810 810
 		}
811 811
 	} else {
812
-		$value = isset( $args['std'] ) ? $args['std'] : '';
812
+		$value = isset($args['std']) ? $args['std'] : '';
813 813
 	}
814 814
 
815
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
815
+	$rows = isset($args['size']) ? $args['size'] : 20;
816 816
 
817 817
 	$html = '<div class="getpaid-settings-editor-input">';
818
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
818
+	if ($wp_version >= 3.3 && function_exists('wp_editor')) {
819 819
 		ob_start();
820
-		wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
820
+		wp_editor(stripslashes($value), 'wpinv_settings_' . esc_attr($args['id']), array('textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']', 'textarea_rows' => absint($rows), 'media_buttons' => false));
821 821
 		$html .= ob_get_clean();
822 822
 	} else {
823
-		$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>';
823
+		$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>';
824 824
 	}
825 825
 
826
-	$html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
826
+	$html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
827 827
 
828 828
 	echo $html;
829 829
 }
830 830
 
831
-function wpinv_upload_callback( $args ) {
831
+function wpinv_upload_callback($args) {
832 832
 	global $wpinv_options;
833 833
     
834
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
834
+    $sanitize_id = wpinv_sanitize_key($args['id']);
835 835
 
836
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
836
+	if (isset($wpinv_options[$args['id']])) {
837 837
 		$value = $wpinv_options[$args['id']];
838 838
 	} else {
839 839
 		$value = isset($args['std']) ? $args['std'] : '';
840 840
 	}
841 841
 
842
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
843
-	$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 ) ) . '"/>';
844
-	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
845
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
842
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
843
+	$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)) . '"/>';
844
+	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __('Upload File', 'invoicing') . '"/></span>';
845
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
846 846
 
847 847
 	echo $html;
848 848
 }
849 849
 
850
-function wpinv_color_callback( $args ) {
850
+function wpinv_color_callback($args) {
851 851
 	global $wpinv_options;
852 852
     
853
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
853
+    $sanitize_id = wpinv_sanitize_key($args['id']);
854 854
 
855
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
856
-		$value = $wpinv_options[ $args['id'] ];
855
+	if (isset($wpinv_options[$args['id']])) {
856
+		$value = $wpinv_options[$args['id']];
857 857
 	} else {
858
-		$value = isset( $args['std'] ) ? $args['std'] : '';
858
+		$value = isset($args['std']) ? $args['std'] : '';
859 859
 	}
860 860
 
861
-	$default = isset( $args['std'] ) ? $args['std'] : '';
861
+	$default = isset($args['std']) ? $args['std'] : '';
862 862
 
863
-	$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 ) . '" />';
864
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
863
+	$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) . '" />';
864
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
865 865
 
866 866
 	echo $html;
867 867
 }
@@ -869,9 +869,9 @@  discard block
 block discarded – undo
869 869
 function wpinv_country_states_callback($args) {
870 870
 	global $wpinv_options;
871 871
     
872
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
872
+    $sanitize_id = wpinv_sanitize_key($args['id']);
873 873
 
874
-	if ( isset( $args['placeholder'] ) ) {
874
+	if (isset($args['placeholder'])) {
875 875
 		$placeholder = $args['placeholder'];
876 876
 	} else {
877 877
 		$placeholder = '';
@@ -879,16 +879,16 @@  discard block
 block discarded – undo
879 879
 
880 880
 	$states = wpinv_get_country_states();
881 881
 
882
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
883
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
882
+	$class = empty($states) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
883
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"' . $class . 'data-placeholder="' . esc_html($placeholder) . '"/>';
884 884
 
885
-	foreach ( $states as $option => $name ) {
886
-		$selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
887
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
885
+	foreach ($states as $option => $name) {
886
+		$selected = isset($wpinv_options[$args['id']]) ? selected($option, $wpinv_options[$args['id']], false) : '';
887
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>';
888 888
 	}
889 889
 
890 890
 	$html .= '</select>';
891
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
891
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
892 892
 
893 893
 	echo $html;
894 894
 }
@@ -903,96 +903,96 @@  discard block
 block discarded – undo
903 903
 	<table id="wpinv_tax_rates" class="wp-list-table widefat fixed posts">
904 904
 		<thead>
905 905
 			<tr>
906
-				<th scope="col" class="wpinv_tax_country"><?php _e( 'Country', 'invoicing' ); ?></th>
907
-				<th scope="col" class="wpinv_tax_state"><?php _e( 'State / Province', 'invoicing' ); ?></th>
908
-                <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>
909
-                <th scope="col" class="wpinv_tax_rate"><?php _e( 'Rate %', 'invoicing' ); ?></th> 
910
-                <th scope="col" class="wpinv_tax_name"><?php _e( 'Tax Name', 'invoicing' ); ?></th>
911
-				<th scope="col" class="wpinv_tax_action"><?php _e( 'Remove', 'invoicing' ); ?></th>
906
+				<th scope="col" class="wpinv_tax_country"><?php _e('Country', 'invoicing'); ?></th>
907
+				<th scope="col" class="wpinv_tax_state"><?php _e('State / Province', 'invoicing'); ?></th>
908
+                <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>
909
+                <th scope="col" class="wpinv_tax_rate"><?php _e('Rate %', 'invoicing'); ?></th> 
910
+                <th scope="col" class="wpinv_tax_name"><?php _e('Tax Name', 'invoicing'); ?></th>
911
+				<th scope="col" class="wpinv_tax_action"><?php _e('Remove', 'invoicing'); ?></th>
912 912
 			</tr>
913 913
 		</thead>
914 914
         <tbody>
915
-		<?php if( !empty( $rates ) ) : ?>
916
-			<?php foreach( $rates as $key => $rate ) : ?>
915
+		<?php if (!empty($rates)) : ?>
916
+			<?php foreach ($rates as $key => $rate) : ?>
917 917
             <?php 
918
-            $sanitized_key = wpinv_sanitize_key( $key );
918
+            $sanitized_key = wpinv_sanitize_key($key);
919 919
             ?>
920 920
 			<tr>
921 921
 				<td class="wpinv_tax_country">
922 922
 					<?php
923
-					echo wpinv_html_select( array(
924
-						'options'          => wpinv_get_country_list( true ),
923
+					echo wpinv_html_select(array(
924
+						'options'          => wpinv_get_country_list(true),
925 925
 						'name'             => 'tax_rates[' . $sanitized_key . '][country]',
926 926
                         'id'               => 'tax_rates[' . $sanitized_key . '][country]',
927 927
 						'selected'         => $rate['country'],
928 928
 						'show_option_all'  => false,
929 929
 						'show_option_none' => false,
930 930
 						'class'            => 'wpinv-tax-country wpi_select2',
931
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
932
-					) );
931
+						'placeholder'      => __('Choose a country', 'invoicing')
932
+					));
933 933
 					?>
934 934
 				</td>
935 935
 				<td class="wpinv_tax_state">
936 936
 					<?php
937
-					$states = wpinv_get_country_states( $rate['country'] );
938
-					if( !empty( $states ) ) {
939
-						echo wpinv_html_select( array(
940
-							'options'          => array_merge( array( '' => '' ), $states ),
937
+					$states = wpinv_get_country_states($rate['country']);
938
+					if (!empty($states)) {
939
+						echo wpinv_html_select(array(
940
+							'options'          => array_merge(array('' => ''), $states),
941 941
 							'name'             => 'tax_rates[' . $sanitized_key . '][state]',
942 942
                             'id'               => 'tax_rates[' . $sanitized_key . '][state]',
943 943
 							'selected'         => $rate['state'],
944 944
 							'show_option_all'  => false,
945 945
 							'show_option_none' => false,
946 946
                             'class'            => 'wpi_select2',
947
-							'placeholder'      => __( 'Choose a state', 'invoicing' )
948
-						) );
947
+							'placeholder'      => __('Choose a state', 'invoicing')
948
+						));
949 949
 					} else {
950
-						echo wpinv_html_text( array(
950
+						echo wpinv_html_text(array(
951 951
 							'name'  => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'],
952
-							'value' => ! empty( $rate['state'] ) ? $rate['state'] : '',
952
+							'value' => !empty($rate['state']) ? $rate['state'] : '',
953 953
                             'id'    => 'tax_rates[' . $sanitized_key . '][state]',
954
-						) );
954
+						));
955 955
 					}
956 956
 					?>
957 957
 				</td>
958 958
 				<td class="wpinv_tax_global">
959
-					<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'] ) ); ?>/>
960
-					<label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label>
959
+					<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'])); ?>/>
960
+					<label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label>
961 961
 				</td>
962
-				<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>
963
-                <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>
964
-				<td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td>
962
+				<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>
963
+                <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>
964
+				<td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td>
965 965
 			</tr>
966 966
 			<?php endforeach; ?>
967 967
 		<?php else : ?>
968 968
 			<tr>
969 969
 				<td class="wpinv_tax_country">
970 970
 					<?php
971
-					echo wpinv_html_select( array(
972
-						'options'          => wpinv_get_country_list( true ),
971
+					echo wpinv_html_select(array(
972
+						'options'          => wpinv_get_country_list(true),
973 973
 						'name'             => 'tax_rates[0][country]',
974 974
 						'show_option_all'  => false,
975 975
 						'show_option_none' => false,
976 976
 						'class'            => 'wpinv-tax-country wpi_select2',
977
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
978
-					) ); ?>
977
+						'placeholder'      => __('Choose a country', 'invoicing')
978
+					)); ?>
979 979
 				</td>
980 980
 				<td class="wpinv_tax_state">
981
-					<?php echo wpinv_html_text( array(
981
+					<?php echo wpinv_html_text(array(
982 982
 						'name' => 'tax_rates[0][state]'
983
-					) ); ?>
983
+					)); ?>
984 984
 				</td>
985 985
 				<td class="wpinv_tax_global">
986 986
 					<input type="checkbox" name="tax_rates[0][global]" id="tax_rates[0][global]" value="1"/>
987
-					<label for="tax_rates[0][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label>
987
+					<label for="tax_rates[0][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label>
988 988
 				</td>
989
-				<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>
989
+				<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>
990 990
                 <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[0][name]" /></td>
991
-				<td><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td>
991
+				<td><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td>
992 992
 			</tr>
993 993
 		<?php endif; ?>
994 994
         </tbody>
995
-        <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>
995
+        <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>
996 996
 	</table>
997 997
 	<?php
998 998
 	echo ob_get_clean();
@@ -1003,76 +1003,76 @@  discard block
 block discarded – undo
1003 1003
     ob_start(); ?>
1004 1004
     </td><tr>
1005 1005
     <td colspan="2" class="wpinv_tools_tdbox">
1006
-    <?php if ( $args['desc'] ) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
1007
-    <?php do_action( 'wpinv_tools_before' ); ?>
1006
+    <?php if ($args['desc']) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
1007
+    <?php do_action('wpinv_tools_before'); ?>
1008 1008
     <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts">
1009 1009
         <thead>
1010 1010
             <tr>
1011
-                <th scope="col" class="wpinv-th-tool"><?php _e( 'Tool', 'invoicing' ); ?></th>
1012
-                <th scope="col" class="wpinv-th-desc"><?php _e( 'Description', 'invoicing' ); ?></th>
1013
-                <th scope="col" class="wpinv-th-action"><?php _e( 'Action', 'invoicing' ); ?></th>
1011
+                <th scope="col" class="wpinv-th-tool"><?php _e('Tool', 'invoicing'); ?></th>
1012
+                <th scope="col" class="wpinv-th-desc"><?php _e('Description', 'invoicing'); ?></th>
1013
+                <th scope="col" class="wpinv-th-action"><?php _e('Action', 'invoicing'); ?></th>
1014 1014
             </tr>
1015 1015
         </thead>
1016
-            <?php do_action( 'wpinv_tools_row' ); ?>
1016
+            <?php do_action('wpinv_tools_row'); ?>
1017 1017
         <tbody>
1018 1018
         </tbody>
1019 1019
     </table>
1020
-    <?php do_action( 'wpinv_tools_after' ); ?>
1020
+    <?php do_action('wpinv_tools_after'); ?>
1021 1021
     <?php
1022 1022
     echo ob_get_clean();
1023 1023
 }
1024 1024
 
1025
-function wpinv_descriptive_text_callback( $args ) {
1026
-	echo wp_kses_post( $args['desc'] );
1025
+function wpinv_descriptive_text_callback($args) {
1026
+	echo wp_kses_post($args['desc']);
1027 1027
 }
1028 1028
 
1029
-function wpinv_hook_callback( $args ) {
1030
-	do_action( 'wpinv_' . $args['id'], $args );
1029
+function wpinv_hook_callback($args) {
1030
+	do_action('wpinv_' . $args['id'], $args);
1031 1031
 }
1032 1032
 
1033 1033
 function wpinv_set_settings_cap() {
1034 1034
 	return wpinv_get_capability();
1035 1035
 }
1036
-add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1036
+add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap');
1037 1037
 
1038
-function wpinv_settings_sanitize_input( $value, $key ) {
1039
-    if ( $key == 'tax_rate' || $key == 'eu_fallback_rate' ) {
1040
-        $value = wpinv_sanitize_amount( $value, 4 );
1038
+function wpinv_settings_sanitize_input($value, $key) {
1039
+    if ($key == 'tax_rate' || $key == 'eu_fallback_rate') {
1040
+        $value = wpinv_sanitize_amount($value, 4);
1041 1041
         $value = $value >= 100 ? 99 : $value;
1042 1042
     }
1043 1043
         
1044 1044
     return $value;
1045 1045
 }
1046
-add_filter( 'wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2 );
1046
+add_filter('wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2);
1047 1047
 
1048
-function wpinv_on_update_settings( $old_value, $value, $option ) {
1049
-    $old = !empty( $old_value['remove_data_on_unistall'] ) ? 1 : '';
1050
-    $new = !empty( $value['remove_data_on_unistall'] ) ? 1 : '';
1048
+function wpinv_on_update_settings($old_value, $value, $option) {
1049
+    $old = !empty($old_value['remove_data_on_unistall']) ? 1 : '';
1050
+    $new = !empty($value['remove_data_on_unistall']) ? 1 : '';
1051 1051
     
1052
-    if ( $old != $new ) {
1053
-        update_option( 'wpinv_remove_data_on_invoice_unistall', $new );
1052
+    if ($old != $new) {
1053
+        update_option('wpinv_remove_data_on_invoice_unistall', $new);
1054 1054
     }
1055 1055
 }
1056
-add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 );
1057
-add_action( 'wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1058
-add_action( 'wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1059
-add_action( 'wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1060
-add_action( 'wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1061
-add_action( 'wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1062
-add_action( 'wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1063
-add_action( 'wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1064
-add_action( 'wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1065
-add_action( 'wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1066
-add_action( 'wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1067
-
1068
-function wpinv_settings_tab_bottom_emails( $active_tab, $section ) {
1056
+add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3);
1057
+add_action('wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1058
+add_action('wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1059
+add_action('wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1060
+add_action('wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1061
+add_action('wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1062
+add_action('wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1063
+add_action('wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1064
+add_action('wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1065
+add_action('wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2);
1066
+add_action('wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2);
1067
+
1068
+function wpinv_settings_tab_bottom_emails($active_tab, $section) {
1069 1069
     ?>
1070 1070
     <div class="wpinv-email-wc-row ">
1071 1071
         <div class="wpinv-email-wc-td">
1072
-            <h3 class="wpinv-email-wc-title"><?php echo apply_filters( 'wpinv_settings_email_wildcards_title', __( 'Wildcards For Emails', 'invoicing' ) ); ?></h3>
1072
+            <h3 class="wpinv-email-wc-title"><?php echo apply_filters('wpinv_settings_email_wildcards_title', __('Wildcards For Emails', 'invoicing')); ?></h3>
1073 1073
             <p class="wpinv-email-wc-description">
1074 1074
                 <?php
1075
-                $description = __( 'The following wildcards can be used in email subjects, heading and content:<br>
1075
+                $description = __('The following wildcards can be used in email subjects, heading and content:<br>
1076 1076
                     <strong>{site_title} :</strong> Site Title<br>
1077 1077
                     <strong>{name} :</strong> Customer\'s full name<br>
1078 1078
                     <strong>{first_name} :</strong> Customer\'s first name<br>
@@ -1086,7 +1086,7 @@  discard block
 block discarded – undo
1086 1086
                     <strong>{invoice_due_date} :</strong> The date the invoice is due<br>
1087 1087
                     <strong>{date} :</strong> Today\'s date.<br>
1088 1088
                     <strong>{is_was} :</strong> If due date of invoice is past, displays "was" otherwise displays "is"<br>
1089
-                    <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing' );
1089
+                    <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing');
1090 1090
                 echo apply_filters('wpinv_settings_email_wildcards_description', $description, $active_tab, $section);
1091 1091
                 ?>
1092 1092
             </p>
Please login to merge, or discard this patch.
includes/libraries/wpinv-euvat/class-wpinv-euvat.php 1 patch
Spacing   +624 added lines, -624 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 class WPInv_EUVat {
10 10
 
@@ -24,128 +24,128 @@  discard block
 block discarded – undo
24 24
     public function init() {
25 25
 
26 26
         // If this is an admin page...
27
-        if ( is_admin() ) {
27
+        if (is_admin()) {
28 28
 
29 29
             // Register our scripts.
30
-            add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
31
-            add_action( 'wpinv_settings_sections_taxes', array( $this, 'section_vat_settings' ) );
32
-            add_action( 'wpinv_settings_taxes', array( $this, 'vat_settings' ) );
33
-            add_filter( 'wpinv_settings_taxes-vat_sanitize', array( $this, 'sanitize_vat_settings' ) );
34
-            add_filter( 'wpinv_settings_taxes-vat_rates_sanitize', array( $this, 'sanitize_vat_rates' ) );
35
-            add_action( 'wp_ajax_wpinv_add_vat_class', array( $this, 'add_class' ) );
36
-            add_action( 'wp_ajax_nopriv_wpinv_add_vat_class', array( $this, 'add_class' ) );
37
-            add_action( 'wp_ajax_wpinv_delete_vat_class', array( $this, 'delete_class' ) );
38
-            add_action( 'wp_ajax_nopriv_wpinv_delete_vat_class', array( $this, 'delete_class' ) );
39
-            add_action( 'wp_ajax_wpinv_update_vat_rates', array( $this, 'update_eu_rates' ) );
40
-            add_action( 'wp_ajax_nopriv_wpinv_update_vat_rates', array( $this, 'update_eu_rates' ) );
41
-            add_action( 'wp_ajax_wpinv_geoip2', array( $this, 'geoip2_download_database' ) );
42
-            add_action( 'wp_ajax_nopriv_wpinv_geoip2', array( $this, 'geoip2_download_database' ) );
30
+            add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts'));
31
+            add_action('wpinv_settings_sections_taxes', array($this, 'section_vat_settings'));
32
+            add_action('wpinv_settings_taxes', array($this, 'vat_settings'));
33
+            add_filter('wpinv_settings_taxes-vat_sanitize', array($this, 'sanitize_vat_settings'));
34
+            add_filter('wpinv_settings_taxes-vat_rates_sanitize', array($this, 'sanitize_vat_rates'));
35
+            add_action('wp_ajax_wpinv_add_vat_class', array($this, 'add_class'));
36
+            add_action('wp_ajax_nopriv_wpinv_add_vat_class', array($this, 'add_class'));
37
+            add_action('wp_ajax_wpinv_delete_vat_class', array($this, 'delete_class'));
38
+            add_action('wp_ajax_nopriv_wpinv_delete_vat_class', array($this, 'delete_class'));
39
+            add_action('wp_ajax_wpinv_update_vat_rates', array($this, 'update_eu_rates'));
40
+            add_action('wp_ajax_nopriv_wpinv_update_vat_rates', array($this, 'update_eu_rates'));
41
+            add_action('wp_ajax_wpinv_geoip2', array($this, 'geoip2_download_database'));
42
+            add_action('wp_ajax_nopriv_wpinv_geoip2', array($this, 'geoip2_download_database'));
43 43
         }
44 44
 
45
-        add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_vat_scripts' ) );
46
-        add_filter( 'wpinv_default_billing_country', array( $this, 'get_user_country' ), 10 );
47
-        add_filter( 'wpinv_get_user_country', array( $this, 'set_user_country' ), 10 );
48
-        add_action( 'wp_ajax_wpinv_vat_validate', array( $this, 'ajax_vat_validate' ) );
49
-        add_action( 'wp_ajax_nopriv_wpinv_vat_validate', array( $this, 'ajax_vat_validate' ) );
45
+        add_action('wp_enqueue_scripts', array($this, 'enqueue_vat_scripts'));
46
+        add_filter('wpinv_default_billing_country', array($this, 'get_user_country'), 10);
47
+        add_filter('wpinv_get_user_country', array($this, 'set_user_country'), 10);
48
+        add_action('wp_ajax_wpinv_vat_validate', array($this, 'ajax_vat_validate'));
49
+        add_action('wp_ajax_nopriv_wpinv_vat_validate', array($this, 'ajax_vat_validate'));
50 50
 
51
-        if ( wpinv_use_taxes() && self::allow_vat_rules() ) {
52
-            add_filter( 'wpinv_tax_rate', array( $this, 'get_rate' ), 10, 4 );
51
+        if (wpinv_use_taxes() && self::allow_vat_rules()) {
52
+            add_filter('wpinv_tax_rate', array($this, 'get_rate'), 10, 4);
53 53
         }
54 54
     }
55 55
 
56
-    public static function get_eu_states( $sort = true ) {
57
-        $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' );
58
-        if ( $sort ) {
59
-            $sort = sort( $eu_states );
56
+    public static function get_eu_states($sort = true) {
57
+        $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');
58
+        if ($sort) {
59
+            $sort = sort($eu_states);
60 60
         }
61 61
 
62
-        return apply_filters( 'wpinv_get_eu_states', $eu_states, $sort );
62
+        return apply_filters('wpinv_get_eu_states', $eu_states, $sort);
63 63
     }
64 64
 
65
-    public static function get_gst_countries( $sort = true ) {
66
-        $gst_countries  = array( 'AU', 'NZ', 'CA', 'CN' );
65
+    public static function get_gst_countries($sort = true) {
66
+        $gst_countries = array('AU', 'NZ', 'CA', 'CN');
67 67
 
68
-        if ( $sort ) {
69
-            $sort = sort( $gst_countries );
68
+        if ($sort) {
69
+            $sort = sort($gst_countries);
70 70
         }
71 71
 
72
-        return apply_filters( 'wpinv_get_gst_countries', $gst_countries, $sort );
72
+        return apply_filters('wpinv_get_gst_countries', $gst_countries, $sort);
73 73
     }
74 74
 
75
-    public static function is_eu_state( $country_code ) {
76
-        $return = !empty( $country_code ) && in_array( strtoupper( $country_code ), self::get_eu_states() ) ? true : false;
75
+    public static function is_eu_state($country_code) {
76
+        $return = !empty($country_code) && in_array(strtoupper($country_code), self::get_eu_states()) ? true : false;
77 77
 
78
-        return apply_filters( 'wpinv_is_eu_state', $return, $country_code );
78
+        return apply_filters('wpinv_is_eu_state', $return, $country_code);
79 79
     }
80 80
 
81
-    public static function is_gst_country( $country_code ) {
82
-        $return = !empty( $country_code ) && in_array( strtoupper( $country_code ), self::get_gst_countries() ) ? true : false;
81
+    public static function is_gst_country($country_code) {
82
+        $return = !empty($country_code) && in_array(strtoupper($country_code), self::get_gst_countries()) ? true : false;
83 83
 
84
-        return apply_filters( 'wpinv_is_gst_country', $return, $country_code );
84
+        return apply_filters('wpinv_is_gst_country', $return, $country_code);
85 85
     }
86 86
 
87 87
     public function enqueue_vat_scripts() {
88
-        if( wpinv_use_taxes() && wpinv_get_option( 'apply_vat_rules' ) ) {
88
+        if (wpinv_use_taxes() && wpinv_get_option('apply_vat_rules')) {
89 89
             $this->load_vat_scripts();
90 90
         }
91 91
     }
92 92
 
93
-    public function load_vat_scripts(){
94
-        $suffix     = '';//defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
93
+    public function load_vat_scripts() {
94
+        $suffix = ''; //defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
95 95
 
96
-        wp_register_script( 'wpinv-vat-validation-script', WPINV_PLUGIN_URL . 'assets/js/jsvat' . $suffix . '.js', array( 'jquery' ),  WPINV_VERSION );
97
-        wp_register_script( 'wpinv-vat-script', WPINV_PLUGIN_URL . 'assets/js/euvat' . $suffix . '.js', array( 'jquery' ),  WPINV_VERSION );
96
+        wp_register_script('wpinv-vat-validation-script', WPINV_PLUGIN_URL . 'assets/js/jsvat' . $suffix . '.js', array('jquery'), WPINV_VERSION);
97
+        wp_register_script('wpinv-vat-script', WPINV_PLUGIN_URL . 'assets/js/euvat' . $suffix . '.js', array('jquery'), WPINV_VERSION);
98 98
 
99
-        $vat_name   = $this->get_vat_name();
99
+        $vat_name = $this->get_vat_name();
100 100
 
101 101
         $vars = array();
102 102
         $vars['UseTaxes'] = wpinv_use_taxes();
103 103
         $vars['EUStates'] = self::get_eu_states();
104
-        $vars['NoRateSet'] = __( 'You have not set a rate. Do you want to continue?', 'invoicing' );
105
-        $vars['EmptyCompany'] = __( 'Please enter your registered company name!', 'invoicing' );
106
-        $vars['EmptyVAT'] = wp_sprintf( __( 'Please enter your %s number!', 'invoicing' ), $vat_name );
107
-        $vars['TotalsRefreshed'] = wp_sprintf( __( 'The invoice totals will be refreshed to update the %s.', 'invoicing' ), $vat_name );
108
-        $vars['ErrValidateVAT'] = wp_sprintf( __( 'Fail to validate the %s number!', 'invoicing' ), $vat_name );
109
-        $vars['ErrResetVAT'] = wp_sprintf( __( 'Fail to reset the %s number!', 'invoicing' ), $vat_name );
110
-        $vars['ErrInvalidVat'] = wp_sprintf( __( 'The %s number supplied does not have a valid format!', 'invoicing' ), $vat_name );
111
-        $vars['ErrInvalidResponse'] = __( 'An invalid response has been received from the server!', 'invoicing' );
104
+        $vars['NoRateSet'] = __('You have not set a rate. Do you want to continue?', 'invoicing');
105
+        $vars['EmptyCompany'] = __('Please enter your registered company name!', 'invoicing');
106
+        $vars['EmptyVAT'] = wp_sprintf(__('Please enter your %s number!', 'invoicing'), $vat_name);
107
+        $vars['TotalsRefreshed'] = wp_sprintf(__('The invoice totals will be refreshed to update the %s.', 'invoicing'), $vat_name);
108
+        $vars['ErrValidateVAT'] = wp_sprintf(__('Fail to validate the %s number!', 'invoicing'), $vat_name);
109
+        $vars['ErrResetVAT'] = wp_sprintf(__('Fail to reset the %s number!', 'invoicing'), $vat_name);
110
+        $vars['ErrInvalidVat'] = wp_sprintf(__('The %s number supplied does not have a valid format!', 'invoicing'), $vat_name);
111
+        $vars['ErrInvalidResponse'] = __('An invalid response has been received from the server!', 'invoicing');
112 112
         $vars['ApplyVATRules'] = $vars['UseTaxes'] ? self::allow_vat_rules() : false;
113 113
         $vars['HideVatFields'] = $vars['ApplyVATRules'] ? self::hide_vat_fields() : true;
114
-        $vars['ErrResponse'] = __( 'The request response is invalid!', 'invoicing' );
115
-        $vars['ErrRateResponse'] = __( 'The get rate request response is invalid', 'invoicing' );
116
-        $vars['PageRefresh'] = __( 'The page will be refreshed in 10 seconds to show the new options.', 'invoicing' );
117
-        $vars['RequestResponseNotValidJSON'] = __( 'The get rate request response is not valid JSON', 'invoicing' );
118
-        $vars['GetRateRequestFailed'] = __( 'The get rate request failed: ', 'invoicing' );
119
-        $vars['NoRateInformationInResponse'] = __( 'The get rate request response does not contain any rate information', 'invoicing' );
120
-        $vars['RatesUpdated'] = __( 'The rates have been updated. Press the save button to record these new rates.', 'invoicing' );
121
-        $vars['IPAddressInformation'] = __( 'IP Address Information', 'invoicing' );
122
-        $vars['VatValidating'] = wp_sprintf( __( 'Validating %s number...', 'invoicing' ), $vat_name );
123
-        $vars['VatReseting'] = __( 'Reseting...', 'invoicing' );
124
-        $vars['VatValidated'] = wp_sprintf( __( '%s number validated', 'invoicing' ), $vat_name );
125
-        $vars['VatNotValidated'] = wp_sprintf( __( '%s number not validated', 'invoicing' ), $vat_name );
126
-        $vars['ConfirmDeleteClass'] = __( 'Are you sure you wish to delete this rates class?', 'invoicing' );
114
+        $vars['ErrResponse'] = __('The request response is invalid!', 'invoicing');
115
+        $vars['ErrRateResponse'] = __('The get rate request response is invalid', 'invoicing');
116
+        $vars['PageRefresh'] = __('The page will be refreshed in 10 seconds to show the new options.', 'invoicing');
117
+        $vars['RequestResponseNotValidJSON'] = __('The get rate request response is not valid JSON', 'invoicing');
118
+        $vars['GetRateRequestFailed'] = __('The get rate request failed: ', 'invoicing');
119
+        $vars['NoRateInformationInResponse'] = __('The get rate request response does not contain any rate information', 'invoicing');
120
+        $vars['RatesUpdated'] = __('The rates have been updated. Press the save button to record these new rates.', 'invoicing');
121
+        $vars['IPAddressInformation'] = __('IP Address Information', 'invoicing');
122
+        $vars['VatValidating'] = wp_sprintf(__('Validating %s number...', 'invoicing'), $vat_name);
123
+        $vars['VatReseting'] = __('Reseting...', 'invoicing');
124
+        $vars['VatValidated'] = wp_sprintf(__('%s number validated', 'invoicing'), $vat_name);
125
+        $vars['VatNotValidated'] = wp_sprintf(__('%s number not validated', 'invoicing'), $vat_name);
126
+        $vars['ConfirmDeleteClass'] = __('Are you sure you wish to delete this rates class?', 'invoicing');
127 127
         $vars['isFront'] = is_admin() ? false : true;
128 128
         $vars['baseCountry'] = wpinv_get_default_country();
129
-        $vars['disableVATSameCountry'] = ( self::same_country_rule() == 'no' ? true : false );
130
-        $vars['disableVATSimpleCheck'] = wpinv_get_option( 'vat_offline_check' ) ? true : false;
129
+        $vars['disableVATSameCountry'] = (self::same_country_rule() == 'no' ? true : false);
130
+        $vars['disableVATSimpleCheck'] = wpinv_get_option('vat_offline_check') ? true : false;
131 131
 
132
-        wp_enqueue_script( 'wpinv-vat-validation-script' );
133
-        wp_enqueue_script( 'wpinv-vat-script' );
134
-        wp_localize_script( 'wpinv-vat-script', 'WPInv_VAT_Vars', $vars );
132
+        wp_enqueue_script('wpinv-vat-validation-script');
133
+        wp_enqueue_script('wpinv-vat-script');
134
+        wp_localize_script('wpinv-vat-script', 'WPInv_VAT_Vars', $vars);
135 135
     }
136 136
 
137 137
     public static function enqueue_admin_scripts() {
138
-        if( isset( $_GET['page'] ) && 'wpinv-settings' == $_GET['page'] ) {
138
+        if (isset($_GET['page']) && 'wpinv-settings' == $_GET['page']) {
139 139
             self::load_vat_scripts();
140 140
         }
141 141
     }
142 142
 
143
-    public static function section_vat_settings( $sections ) {
144
-        if ( !empty( $sections ) ) {
145
-            $sections['vat'] = __( 'EU VAT Settings', 'invoicing' );
143
+    public static function section_vat_settings($sections) {
144
+        if (!empty($sections)) {
145
+            $sections['vat'] = __('EU VAT Settings', 'invoicing');
146 146
 
147
-            if ( self::allow_vat_classes() ) {
148
-                $sections['vat_rates'] = __( 'EU VAT Rates', 'invoicing' );
147
+            if (self::allow_vat_classes()) {
148
+                $sections['vat_rates'] = __('EU VAT Rates', 'invoicing');
149 149
             }
150 150
         }
151 151
         return $sections;
@@ -154,52 +154,52 @@  discard block
 block discarded – undo
154 154
     public static function vat_rates_settings() {
155 155
         $vat_classes = self::get_rate_classes();
156 156
         $vat_rates = array();
157
-        $vat_class = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' && isset( $vat_classes[$_REQUEST['wpi_sub']] )? sanitize_text_field( $_REQUEST['wpi_sub'] ) : '_new';
158
-        $current_url = remove_query_arg( 'wpi_sub' );
157
+        $vat_class = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' && isset($vat_classes[$_REQUEST['wpi_sub']]) ? sanitize_text_field($_REQUEST['wpi_sub']) : '_new';
158
+        $current_url = remove_query_arg('wpi_sub');
159 159
 
160 160
         $vat_rates['vat_rates_header'] = array(
161 161
             'id' => 'vat_rates_header',
162
-            'name' => '<h3>' . __( 'Manage VAT Rates', 'invoicing' ) . '</h3>',
162
+            'name' => '<h3>' . __('Manage VAT Rates', 'invoicing') . '</h3>',
163 163
             'desc' => '',
164 164
             'type' => 'header',
165 165
             'size' => 'regular'
166 166
         );
167 167
         $vat_rates['vat_rates_class'] = array(
168 168
             'id'          => 'vat_rates_class',
169
-            'name'        => __( 'Edit VAT Rates', 'invoicing' ),
170
-            'desc'        => __( 'The standard rate will apply where no explicit rate is provided.', 'invoicing' ),
169
+            'name'        => __('Edit VAT Rates', 'invoicing'),
170
+            'desc'        => __('The standard rate will apply where no explicit rate is provided.', 'invoicing'),
171 171
             'type'        => 'select',
172
-            'options'     => array_merge( $vat_classes, array( '_new' => __( 'Add New Rate Class', 'invoicing' ) ) ),
173
-            'placeholder' => __( 'Select a VAT Rate', 'invoicing' ),
172
+            'options'     => array_merge($vat_classes, array('_new' => __('Add New Rate Class', 'invoicing'))),
173
+            'placeholder' => __('Select a VAT Rate', 'invoicing'),
174 174
             'selected'    => $vat_class,
175 175
             'class'       => 'wpi_select2',
176 176
             'onchange'    => 'document.location.href="' . $current_url . '&wpi_sub=" + this.value;',
177 177
         );
178 178
 
179
-        if ( $vat_class != '_standard' && $vat_class != '_new' ) {
179
+        if ($vat_class != '_standard' && $vat_class != '_new') {
180 180
             $vat_rates['vat_rate_delete'] = array(
181 181
                 'id'   => 'vat_rate_delete',
182 182
                 'type' => 'vat_rate_delete',
183 183
             );
184 184
         }
185 185
 
186
-        if ( $vat_class == '_new' ) {
186
+        if ($vat_class == '_new') {
187 187
             $vat_rates['vat_rates_settings'] = array(
188 188
                 'id' => 'vat_rates_settings',
189
-                'name' => '<h3>' . __( 'Add New Rate Class', 'invoicing' ) . '</h3>',
189
+                'name' => '<h3>' . __('Add New Rate Class', 'invoicing') . '</h3>',
190 190
                 'type' => 'header',
191 191
             );
192 192
             $vat_rates['vat_rate_name'] = array(
193 193
                 'id'   => 'vat_rate_name',
194
-                'name' => __( 'Name', 'invoicing' ),
195
-                'desc' => __( 'A short name for the new VAT Rate class', 'invoicing' ),
194
+                'name' => __('Name', 'invoicing'),
195
+                'desc' => __('A short name for the new VAT Rate class', 'invoicing'),
196 196
                 'type' => 'text',
197 197
                 'size' => 'regular',
198 198
             );
199 199
             $vat_rates['vat_rate_desc'] = array(
200 200
                 'id'   => 'vat_rate_desc',
201
-                'name' => __( 'Description', 'invoicing' ),
202
-                'desc' => __( 'Manage VAT Rate class', 'invoicing' ),
201
+                'name' => __('Description', 'invoicing'),
202
+                'desc' => __('Manage VAT Rate class', 'invoicing'),
203 203
                 'type' => 'text',
204 204
                 'size' => 'regular',
205 205
             );
@@ -211,7 +211,7 @@  discard block
 block discarded – undo
211 211
             $vat_rates['vat_rates'] = array(
212 212
                 'id'   => 'vat_rates',
213 213
                 'name' => '<h3>' . $vat_classes[$vat_class] . '</h3>',
214
-                'desc' => self::get_class_desc( $vat_class ),
214
+                'desc' => self::get_class_desc($vat_class),
215 215
                 'type' => 'vat_rates',
216 216
             );
217 217
         }
@@ -219,12 +219,12 @@  discard block
 block discarded – undo
219 219
         return $vat_rates;
220 220
     }
221 221
 
222
-    public static function vat_settings( $settings ) {
223
-        if ( !empty( $settings ) ) {
222
+    public static function vat_settings($settings) {
223
+        if (!empty($settings)) {
224 224
             $vat_settings = array();
225 225
             $vat_settings['vat_company_title'] = array(
226 226
                 'id' => 'vat_company_title',
227
-                'name' => '<h3>' . __( 'Your Company Details', 'invoicing' ) . '</h3>',
227
+                'name' => '<h3>' . __('Your Company Details', 'invoicing') . '</h3>',
228 228
                 'desc' => '',
229 229
                 'type' => 'header',
230 230
                 'size' => 'regular'
@@ -232,22 +232,22 @@  discard block
 block discarded – undo
232 232
 
233 233
             $vat_settings['vat_company_name'] = array(
234 234
                 'id' => 'vat_company_name',
235
-                'name' => __( 'Your Company Name', 'invoicing' ),
236
-                '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>' ),
235
+                'name' => __('Your Company Name', 'invoicing'),
236
+                '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>'),
237 237
                 'type' => 'text',
238 238
                 'size' => 'regular',
239 239
             );
240 240
 
241 241
             $vat_settings['vat_number'] = array(
242 242
                 'id'   => 'vat_number',
243
-                'name' => __( 'Your VAT Number', 'invoicing' ),
243
+                'name' => __('Your VAT Number', 'invoicing'),
244 244
                 'type' => 'vat_number',
245 245
                 'size' => 'regular',
246 246
             );
247 247
 
248 248
             $vat_settings['vat_settings_title'] = array(
249 249
                 'id' => 'vat_settings_title',
250
-                'name' => '<h3>' . __( 'Apply VAT Settings', 'invoicing' ) . '</h3>',
250
+                'name' => '<h3>' . __('Apply VAT Settings', 'invoicing') . '</h3>',
251 251
                 'desc' => '',
252 252
                 'type' => 'header',
253 253
                 'size' => 'regular'
@@ -255,8 +255,8 @@  discard block
 block discarded – undo
255 255
 
256 256
             $vat_settings['apply_vat_rules'] = array(
257 257
                 'id' => 'apply_vat_rules',
258
-                'name' => __( 'Enable VAT Rules', 'invoicing' ),
259
-                '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>',
258
+                'name' => __('Enable VAT Rules', 'invoicing'),
259
+                '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>',
260 260
                 'type' => 'checkbox',
261 261
                 'std' => '1'
262 262
             );
@@ -272,8 +272,8 @@  discard block
 block discarded – undo
272 272
 
273 273
             $vat_settings['vat_prevent_b2c_purchase'] = array(
274 274
                 'id' => 'vat_prevent_b2c_purchase',
275
-                'name' => __( 'Prevent EU B2C Sales', 'invoicing' ),
276
-                'desc' => __( 'Enable this option if you are not registered for VAT in the EU.', 'invoicing' ),
275
+                'name' => __('Prevent EU B2C Sales', 'invoicing'),
276
+                'desc' => __('Enable this option if you are not registered for VAT in the EU.', 'invoicing'),
277 277
                 'type' => 'checkbox'
278 278
             );
279 279
 
@@ -281,22 +281,22 @@  discard block
 block discarded – undo
281 281
 
282 282
             $vat_settings['vat_same_country_rule'] = array(
283 283
                 'id'          => 'vat_same_country_rule',
284
-                'name'        => __( 'Same Country Rule', 'invoicing' ),
285
-                'desc'        => __( 'Select how you want to handle VAT charge if sales are in the same country as the base country.', 'invoicing' ),
284
+                'name'        => __('Same Country Rule', 'invoicing'),
285
+                'desc'        => __('Select how you want to handle VAT charge if sales are in the same country as the base country.', 'invoicing'),
286 286
                 'type'        => 'select',
287 287
                 'options'     => array(
288
-                    ''          => __( 'Normal', 'invoicing' ),
289
-                    'no'        => __( 'No VAT', 'invoicing' ),
290
-                    'always'    => __( 'Always apply VAT', 'invoicing' ),
288
+                    ''          => __('Normal', 'invoicing'),
289
+                    'no'        => __('No VAT', 'invoicing'),
290
+                    'always'    => __('Always apply VAT', 'invoicing'),
291 291
                 ),
292
-                'placeholder' => __( 'Select an option', 'invoicing' ),
292
+                'placeholder' => __('Select an option', 'invoicing'),
293 293
                 'std'         => '',
294 294
                 'class'   => 'wpi_select2',
295 295
             );
296 296
 
297 297
             $vat_settings['vat_checkout_title'] = array(
298 298
                 'id' => 'vat_checkout_title',
299
-                'name' => '<h3>' . __( 'Checkout Fields', 'invoicing' ) . '</h3>',
299
+                'name' => '<h3>' . __('Checkout Fields', 'invoicing') . '</h3>',
300 300
                 'desc' => '',
301 301
                 'type' => 'header',
302 302
                 'size' => 'regular'
@@ -304,22 +304,22 @@  discard block
 block discarded – undo
304 304
 
305 305
             $vat_settings['vat_disable_fields'] = array(
306 306
                 'id' => 'vat_disable_fields',
307
-                'name' => __( 'Disable VAT Fields', 'invoicing' ),
308
-                '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>',
307
+                'name' => __('Disable VAT Fields', 'invoicing'),
308
+                '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>',
309 309
                 'type' => 'checkbox'
310 310
             );
311 311
 
312 312
             $vat_settings['maxmind_license_key'] = array(
313 313
                 'id'   => 'maxmind_license_key',
314
-                'name' => __( 'MaxMind License Key', 'invoicing' ),
314
+                'name' => __('MaxMind License Key', 'invoicing'),
315 315
                 'type' => 'text',
316 316
                 'size' => 'regular',
317
-                'desc' => '<a href="https://support.maxmind.com/account-faq/license-keys/how-do-i-generate-a-license-key/">' . __( 'The key that will be used when dealing with MaxMind Geolocation services.', 'invoicing' ) . '</a>',
317
+                'desc' => '<a href="https://support.maxmind.com/account-faq/license-keys/how-do-i-generate-a-license-key/">' . __('The key that will be used when dealing with MaxMind Geolocation services.', 'invoicing') . '</a>',
318 318
             );
319 319
 
320 320
             $vat_settings['vat_ip_lookup'] = array(
321 321
                 'id'   => 'vat_ip_lookup',
322
-                'name' => __( 'IP Country Look-up', 'invoicing' ),
322
+                'name' => __('IP Country Look-up', 'invoicing'),
323 323
                 'type' => 'vat_ip_lookup',
324 324
                 'size' => 'regular',
325 325
                 'std' => 'default',
@@ -328,14 +328,14 @@  discard block
 block discarded – undo
328 328
 
329 329
             $vat_settings['vat_ip_country_default'] = array(
330 330
                 'id' => 'vat_ip_country_default',
331
-                'name' => __( 'Enable IP Country as Default', 'invoicing' ),
332
-                'desc' => __( 'Show the country of the users IP as the default country, otherwise the site default country will be used.', 'invoicing' ),
331
+                'name' => __('Enable IP Country as Default', 'invoicing'),
332
+                'desc' => __('Show the country of the users IP as the default country, otherwise the site default country will be used.', 'invoicing'),
333 333
                 'type' => 'checkbox'
334 334
             );
335 335
 
336 336
             $vat_settings['vies_validation_title'] = array(
337 337
                 'id' => 'vies_validation_title',
338
-                'name' => '<h3>' . __( 'VIES Validation', 'invoicing' ) . '</h3>',
338
+                'name' => '<h3>' . __('VIES Validation', 'invoicing') . '</h3>',
339 339
                 'desc' => '',
340 340
                 'type' => 'header',
341 341
                 'size' => 'regular'
@@ -343,37 +343,37 @@  discard block
 block discarded – undo
343 343
 
344 344
             $vat_settings['vat_vies_check'] = array(
345 345
                 'id' => 'vat_vies_check',
346
-                'name' => __( 'Disable VIES VAT ID Check', 'invoicing' ),
347
-                '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>' ),
346
+                'name' => __('Disable VIES VAT ID Check', 'invoicing'),
347
+                '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>'),
348 348
                 'type' => 'checkbox'
349 349
             );
350 350
 
351 351
             $vat_settings['vat_disable_company_name_check'] = array(
352 352
                 'id' => 'vat_disable_company_name_check',
353
-                'name' => __( 'Disable VIES Name Check', 'invoicing' ),
354
-                '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>' ),
353
+                'name' => __('Disable VIES Name Check', 'invoicing'),
354
+                '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>'),
355 355
                 'type' => 'checkbox'
356 356
             );
357 357
 
358 358
             $vat_settings['vat_offline_check'] = array(
359 359
                 'id' => 'vat_offline_check',
360
-                'name' => __( 'Disable Basic Checks', 'invoicing' ),
361
-                'desc' => __( 'Disable basic JS checks for correct format of VAT number. (Not Recommended)', 'invoicing' ),
360
+                'name' => __('Disable Basic Checks', 'invoicing'),
361
+                'desc' => __('Disable basic JS checks for correct format of VAT number. (Not Recommended)', 'invoicing'),
362 362
                 'type' => 'checkbox'
363 363
             );
364 364
 
365 365
 
366 366
             $settings['vat'] = $vat_settings;
367 367
 
368
-            if ( self::allow_vat_classes() ) {
368
+            if (self::allow_vat_classes()) {
369 369
                 $settings['vat_rates'] = self::vat_rates_settings();
370 370
             }
371 371
 
372 372
             $eu_fallback_rate = array(
373 373
                 'id'   => 'eu_fallback_rate',
374
-                'name' => '<h3>' . __( 'VAT rate for EU member states', 'invoicing' ) . '</h3>',
374
+                'name' => '<h3>' . __('VAT rate for EU member states', 'invoicing') . '</h3>',
375 375
                 'type' => 'eu_fallback_rate',
376
-                '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' ),
376
+                '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'),
377 377
                 'std'  => '20',
378 378
                 'size' => 'small'
379 379
             );
@@ -388,7 +388,7 @@  discard block
 block discarded – undo
388 388
      */
389 389
     public static function maxmind_folder() {
390 390
 
391
-        $upload_dir      = wp_upload_dir();
391
+        $upload_dir = wp_upload_dir();
392 392
         return $upload_dir['basedir'] . '/invoicing';
393 393
 
394 394
     }
@@ -405,39 +405,39 @@  discard block
 block discarded – undo
405 405
 		WP_Filesystem();
406 406
         global $wp_filesystem;
407 407
 
408
-        $license_key = wpinv_get_option( 'maxmind_license_key' );
408
+        $license_key = wpinv_get_option('maxmind_license_key');
409 409
 
410
-        if ( empty( $license_key ) ) {
411
-            echo __( 'Please enter your MaxMind license key then save the settings first before downloading the databases.', 'invoicing' );
410
+        if (empty($license_key)) {
411
+            echo __('Please enter your MaxMind license key then save the settings first before downloading the databases.', 'invoicing');
412 412
             exit;
413 413
         }
414 414
 
415 415
         // The database files that we will download.
416
-        $database_files     = array( 'GeoLite2-Country', 'GeoLite2-City' );
416
+        $database_files = array('GeoLite2-Country', 'GeoLite2-City');
417 417
 
418 418
         // The destination dir of all databases.
419 419
         $destination_dir = self::maxmind_folder();
420 420
 
421
-        if ( ! $wp_filesystem->is_dir( $destination_dir ) ) {
422
-            $wp_filesystem->mkdir( $destination_dir );
421
+        if (!$wp_filesystem->is_dir($destination_dir)) {
422
+            $wp_filesystem->mkdir($destination_dir);
423 423
         }
424 424
 
425
-        foreach( $database_files as $database ) {
425
+        foreach ($database_files as $database) {
426 426
 
427
-            $database_path = self::geoip2_download_file( $license_key, $database );
428
-            $target_path   = trailingslashit( $destination_dir ) .  $database . '.mmdb';
427
+            $database_path = self::geoip2_download_file($license_key, $database);
428
+            $target_path   = trailingslashit($destination_dir) . $database . '.mmdb';
429 429
 
430
-            if ( is_wp_error( $database_path ) ) {
430
+            if (is_wp_error($database_path)) {
431 431
                 echo $database_path->get_error_message();
432 432
                 exit;
433 433
             }
434 434
 
435 435
             // Move the new database into position.
436
-		    $wp_filesystem->move( $database_path, $target_path, true );
437
-            $wp_filesystem->delete( dirname( $database_path ) );
436
+		    $wp_filesystem->move($database_path, $target_path, true);
437
+            $wp_filesystem->delete(dirname($database_path));
438 438
 
439
-            wpinv_update_option( 'wpinv_geoip2_date_updated', current_time( 'timestamp' ) );
440
-            echo sprintf( __( 'GeoIP2 %s database updated successfully.', 'invoicing' ), $database ) . ' ';
439
+            wpinv_update_option('wpinv_geoip2_date_updated', current_time('timestamp'));
440
+            echo sprintf(__('GeoIP2 %s database updated successfully.', 'invoicing'), $database) . ' ';
441 441
         }
442 442
 
443 443
         exit;
@@ -448,12 +448,12 @@  discard block
 block discarded – undo
448 448
      *
449 449
      * @return string|WP_Error
450 450
      */
451
-    public static function geoip2_download_file( $license_key, $database ) {
451
+    public static function geoip2_download_file($license_key, $database) {
452 452
 
453 453
         // The download URI of the database.
454 454
         $source_url = add_query_arg(
455 455
 			array(
456
-                'license_key' => urlencode( sanitize_text_field( $license_key ) ),
456
+                'license_key' => urlencode(sanitize_text_field($license_key)),
457 457
                 'edition_id'  => $database,
458 458
 				'suffix'      => 'tar.gz',
459 459
 			),
@@ -464,54 +464,54 @@  discard block
 block discarded – undo
464 464
 		require_once ABSPATH . 'wp-admin/includes/file.php';
465 465
 
466 466
         // Download the file.
467
-        $tmp_archive_path = download_url( esc_url_raw( $source_url ) );
467
+        $tmp_archive_path = download_url(esc_url_raw($source_url));
468 468
 
469 469
         // Did we encounter an error?
470
-        if ( is_wp_error( $tmp_archive_path ) ) {
470
+        if (is_wp_error($tmp_archive_path)) {
471 471
 
472 472
             // Transform the error into something more informative.
473 473
 			$error_data = $tmp_archive_path->get_error_data();
474
-			if ( isset( $error_data['code'] ) ) {
475
-				switch ( $error_data['code'] ) {
474
+			if (isset($error_data['code'])) {
475
+				switch ($error_data['code']) {
476 476
 					case 401:
477 477
 						return new WP_Error(
478 478
 							'invoicing_maxmind_geolocation_database_license_key',
479
-							__( 'The MaxMind license key is invalid. If you have recently created this key, you may need to wait for it to become active.', 'invoicing' )
479
+							__('The MaxMind license key is invalid. If you have recently created this key, you may need to wait for it to become active.', 'invoicing')
480 480
 						);
481 481
 				}
482 482
 			}
483 483
 
484
-            return new WP_Error( 'invoicing_maxmind_geolocation_database_download', __( 'Failed to download the MaxMind database.', 'invoicing' ) );
484
+            return new WP_Error('invoicing_maxmind_geolocation_database_download', __('Failed to download the MaxMind database.', 'invoicing'));
485 485
 
486 486
         }
487 487
 
488 488
         // Extract the database from the archive.
489 489
         try {
490
-			$file      = new PharData( $tmp_archive_path );
491
-            $file_path = trailingslashit( dirname( $tmp_archive_path ) ) . trailingslashit( $file->current()->getFilename() ) . $database . '.mmdb';
490
+			$file = new PharData($tmp_archive_path);
491
+            $file_path = trailingslashit(dirname($tmp_archive_path)) . trailingslashit($file->current()->getFilename()) . $database . '.mmdb';
492 492
 
493 493
 			$file->extractTo(
494
-				dirname( $tmp_archive_path ),
495
-				trailingslashit( $file->current()->getFilename() ) . $database . '.mmdb',
494
+				dirname($tmp_archive_path),
495
+				trailingslashit($file->current()->getFilename()) . $database . '.mmdb',
496 496
 				true
497 497
             );
498 498
 
499
-		} catch ( Exception $exception ) {
500
-			return new WP_Error( 'invoicing_maxmind_geolocation_database_archive', $exception->getMessage() );
499
+		} catch (Exception $exception) {
500
+			return new WP_Error('invoicing_maxmind_geolocation_database_archive', $exception->getMessage());
501 501
 		} finally {
502 502
 			// Remove the archive since we only care about a single file in it.
503
-            unlink( $tmp_archive_path );
503
+            unlink($tmp_archive_path);
504 504
         }
505 505
 
506 506
         return $file_path;
507 507
     }
508 508
 
509 509
     public static function load_geoip2() {
510
-        if ( defined( 'WPINV_GEOIP2_LODDED' ) ) {
510
+        if (defined('WPINV_GEOIP2_LODDED')) {
511 511
             return;
512 512
         }
513 513
 
514
-        if ( !class_exists( '\MaxMind\Db\Reader' ) ) {
514
+        if (!class_exists('\MaxMind\Db\Reader')) {
515 515
             $maxmind_db_files = array(
516 516
                 'Reader/Decoder.php',
517 517
                 'Reader/InvalidDatabaseException.php',
@@ -520,12 +520,12 @@  discard block
 block discarded – undo
520 520
                 'Reader.php',
521 521
             );
522 522
 
523
-            foreach ( $maxmind_db_files as $key => $file ) {
524
-                require_once( WPINV_PLUGIN_DIR . 'includes/libraries/MaxMind/Db/' . $file );
523
+            foreach ($maxmind_db_files as $key => $file) {
524
+                require_once(WPINV_PLUGIN_DIR . 'includes/libraries/MaxMind/Db/' . $file);
525 525
             }
526 526
         }
527 527
 
528
-        if ( !class_exists( '\GeoIp2\Database\Reader' ) ) {
528
+        if (!class_exists('\GeoIp2\Database\Reader')) {
529 529
             $geoip2_files = array(
530 530
                 'ProviderInterface.php',
531 531
                 'Compat/JsonSerializable.php',
@@ -559,23 +559,23 @@  discard block
 block discarded – undo
559 559
                 'WebService/Client.php',
560 560
             );
561 561
 
562
-            foreach ( $geoip2_files as $key => $file ) {
563
-                require_once( WPINV_PLUGIN_DIR . 'includes/libraries/GeoIp2/' . $file );
562
+            foreach ($geoip2_files as $key => $file) {
563
+                require_once(WPINV_PLUGIN_DIR . 'includes/libraries/GeoIp2/' . $file);
564 564
             }
565 565
         }
566 566
 
567
-        define( 'WPINV_GEOIP2_LODDED', true );
567
+        define('WPINV_GEOIP2_LODDED', true);
568 568
     }
569 569
 
570 570
     public static function geoip2_country_dbfile() {
571 571
         $upload_dir = wp_upload_dir();
572 572
 
573
-        if ( !isset( $upload_dir['basedir'] ) ) {
573
+        if (!isset($upload_dir['basedir'])) {
574 574
             return false;
575 575
         }
576 576
 
577 577
         $filename = $upload_dir['basedir'] . '/invoicing/GeoLite2-Country.mmdb';
578
-        if ( !file_exists( $filename ) ) {
578
+        if (!file_exists($filename)) {
579 579
             return false;
580 580
         }
581 581
 
@@ -585,12 +585,12 @@  discard block
 block discarded – undo
585 585
     public static function geoip2_city_dbfile() {
586 586
         $upload_dir = wp_upload_dir();
587 587
 
588
-        if ( !isset( $upload_dir['basedir'] ) ) {
588
+        if (!isset($upload_dir['basedir'])) {
589 589
             return false;
590 590
         }
591 591
 
592 592
         $filename = $upload_dir['basedir'] . '/invoicing/GeoLite2-City.mmdb';
593
-        if ( !file_exists( $filename ) ) {
593
+        if (!file_exists($filename)) {
594 594
             return false;
595 595
         }
596 596
 
@@ -601,10 +601,10 @@  discard block
 block discarded – undo
601 601
         try {
602 602
             self::load_geoip2();
603 603
 
604
-            if ( $filename = self::geoip2_country_dbfile() ) {
605
-                return new \GeoIp2\Database\Reader( $filename );
604
+            if ($filename = self::geoip2_country_dbfile()) {
605
+                return new \GeoIp2\Database\Reader($filename);
606 606
             }
607
-        } catch( Exception $e ) {
607
+        } catch (Exception $e) {
608 608
             return false;
609 609
         }
610 610
 
@@ -615,183 +615,183 @@  discard block
 block discarded – undo
615 615
         try {
616 616
             self::load_geoip2();
617 617
 
618
-            if ( $filename = self::geoip2_city_dbfile() ) {
619
-                return new \GeoIp2\Database\Reader( $filename );
618
+            if ($filename = self::geoip2_city_dbfile()) {
619
+                return new \GeoIp2\Database\Reader($filename);
620 620
             }
621
-        } catch( Exception $e ) {
621
+        } catch (Exception $e) {
622 622
             return false;
623 623
         }
624 624
 
625 625
         return false;
626 626
     }
627 627
 
628
-    public static function geoip2_country_record( $ip_address ) {
628
+    public static function geoip2_country_record($ip_address) {
629 629
         try {
630 630
             $reader = self::geoip2_country_reader();
631 631
 
632
-            if ( $reader ) {
633
-                $record = $reader->country( $ip_address );
632
+            if ($reader) {
633
+                $record = $reader->country($ip_address);
634 634
 
635
-                if ( !empty( $record->country->isoCode ) ) {
635
+                if (!empty($record->country->isoCode)) {
636 636
                     return $record;
637 637
                 }
638 638
             }
639
-        } catch(\InvalidArgumentException $e) {
640
-            wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' );
639
+        } catch (\InvalidArgumentException $e) {
640
+            wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )');
641 641
 
642 642
             return false;
643
-        } catch(\GeoIp2\Exception\AddressNotFoundException $e) {
644
-            wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' );
643
+        } catch (\GeoIp2\Exception\AddressNotFoundException $e) {
644
+            wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )');
645 645
 
646 646
             return false;
647
-        } catch( Exception $e ) {
647
+        } catch (Exception $e) {
648 648
             return false;
649 649
         }
650 650
 
651 651
         return false;
652 652
     }
653 653
 
654
-    public static function geoip2_city_record( $ip_address ) {
654
+    public static function geoip2_city_record($ip_address) {
655 655
         try {
656 656
             $reader = self::geoip2_city_reader();
657 657
 
658
-            if ( $reader ) {
659
-                $record = $reader->city( $ip_address );
658
+            if ($reader) {
659
+                $record = $reader->city($ip_address);
660 660
 
661
-                if ( !empty( $record->country->isoCode ) ) {
661
+                if (!empty($record->country->isoCode)) {
662 662
                     return $record;
663 663
                 }
664 664
             }
665
-        } catch(\InvalidArgumentException $e) {
666
-            wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' );
665
+        } catch (\InvalidArgumentException $e) {
666
+            wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )');
667 667
 
668 668
             return false;
669
-        } catch(\GeoIp2\Exception\AddressNotFoundException $e) {
670
-            wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' );
669
+        } catch (\GeoIp2\Exception\AddressNotFoundException $e) {
670
+            wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )');
671 671
 
672 672
             return false;
673
-        } catch( Exception $e ) {
673
+        } catch (Exception $e) {
674 674
             return false;
675 675
         }
676 676
 
677 677
         return false;
678 678
     }
679 679
 
680
-    public static function geoip2_country_code( $ip_address ) {
681
-        $record = self::geoip2_country_record( $ip_address );
682
-        return !empty( $record->country->isoCode ) ? $record->country->isoCode : wpinv_get_default_country();
680
+    public static function geoip2_country_code($ip_address) {
681
+        $record = self::geoip2_country_record($ip_address);
682
+        return !empty($record->country->isoCode) ? $record->country->isoCode : wpinv_get_default_country();
683 683
     }
684 684
 
685 685
     // Find country by IP address.
686
-    public static function get_country_by_ip( $ip = '' ) {
686
+    public static function get_country_by_ip($ip = '') {
687 687
         global $wpinv_ip_address_country;
688 688
         return '';
689
-        if ( !empty( $wpinv_ip_address_country ) ) {
689
+        if (!empty($wpinv_ip_address_country)) {
690 690
             return $wpinv_ip_address_country;
691 691
         }
692 692
 
693
-        if ( empty( $ip ) ) {
693
+        if (empty($ip)) {
694 694
             $ip = wpinv_get_ip();
695 695
         }
696 696
 
697
-        $ip_country_service = wpinv_get_option( 'vat_ip_lookup' );
698
-        $is_default         = empty( $ip_country_service ) || $ip_country_service === 'default' ? true : false;
697
+        $ip_country_service = wpinv_get_option('vat_ip_lookup');
698
+        $is_default         = empty($ip_country_service) || $ip_country_service === 'default' ? true : false;
699 699
 
700
-        if ( !empty( $ip ) && $ip !== '127.0.0.1' ) { // For 127.0.0.1(localhost) use default country.
701
-            if ( function_exists( 'geoip_country_code_by_name') && ( $ip_country_service === 'geoip' || $is_default ) ) {
700
+        if (!empty($ip) && $ip !== '127.0.0.1') { // For 127.0.0.1(localhost) use default country.
701
+            if (function_exists('geoip_country_code_by_name') && ($ip_country_service === 'geoip' || $is_default)) {
702 702
                 try {
703
-                    $wpinv_ip_address_country = geoip_country_code_by_name( $ip );
704
-                } catch( Exception $e ) {
705
-                    wpinv_error_log( $e->getMessage(), 'GeoIP Lookup( ' . $ip . ' )' );
703
+                    $wpinv_ip_address_country = geoip_country_code_by_name($ip);
704
+                } catch (Exception $e) {
705
+                    wpinv_error_log($e->getMessage(), 'GeoIP Lookup( ' . $ip . ' )');
706 706
                 }
707
-            } else if ( self::geoip2_country_dbfile() && ( $ip_country_service === 'geoip2' || $is_default ) ) {
708
-                $wpinv_ip_address_country = self::geoip2_country_code( $ip );
709
-            } else if ( function_exists( 'simplexml_load_file' ) && ini_get('allow_url_fopen') && ( $ip_country_service === 'geoplugin' || $is_default ) ) {
710
-                $load_xml = simplexml_load_file( 'http://www.geoplugin.net/xml.gp?ip=' . $ip );
707
+            } else if (self::geoip2_country_dbfile() && ($ip_country_service === 'geoip2' || $is_default)) {
708
+                $wpinv_ip_address_country = self::geoip2_country_code($ip);
709
+            } else if (function_exists('simplexml_load_file') && ini_get('allow_url_fopen') && ($ip_country_service === 'geoplugin' || $is_default)) {
710
+                $load_xml = simplexml_load_file('http://www.geoplugin.net/xml.gp?ip=' . $ip);
711 711
 
712
-                if ( !empty( $load_xml ) && !empty( $load_xml->geoplugin_countryCode ) ) {
713
-                    $wpinv_ip_address_country = (string)$load_xml->geoplugin_countryCode;
712
+                if (!empty($load_xml) && !empty($load_xml->geoplugin_countryCode)) {
713
+                    $wpinv_ip_address_country = (string) $load_xml->geoplugin_countryCode;
714 714
                 }
715
-            }elseif(!empty( $ip )){
715
+            }elseif (!empty($ip)) {
716 716
                 $url = 'http://ip-api.com/json/' . $ip;
717 717
                 $response = wp_remote_get($url);
718 718
 
719
-                if ( is_array( $response ) && wp_remote_retrieve_response_code( $response ) == '200' ) {
720
-                    $data = json_decode(wp_remote_retrieve_body( $response ),true);
721
-                    if(!empty($data['countryCode'])){
722
-                        $wpinv_ip_address_country = (string)$data['countryCode'];
719
+                if (is_array($response) && wp_remote_retrieve_response_code($response) == '200') {
720
+                    $data = json_decode(wp_remote_retrieve_body($response), true);
721
+                    if (!empty($data['countryCode'])) {
722
+                        $wpinv_ip_address_country = (string) $data['countryCode'];
723 723
                     }
724 724
                 }
725 725
             }
726 726
         }
727 727
 
728
-        if ( empty( $wpinv_ip_address_country ) ) {
728
+        if (empty($wpinv_ip_address_country)) {
729 729
             $wpinv_ip_address_country = wpinv_get_default_country();
730 730
         }
731 731
 
732 732
         return $wpinv_ip_address_country;
733 733
     }
734 734
 
735
-    public static function sanitize_vat_settings( $input ) {
735
+    public static function sanitize_vat_settings($input) {
736 736
         global $wpinv_options;
737 737
 
738 738
         $valid      = false;
739 739
         $message    = '';
740 740
 
741
-        if ( !empty( $wpinv_options['vat_vies_check'] ) ) {
742
-            if ( empty( $wpinv_options['vat_offline_check'] ) ) {
743
-                $valid = self::offline_check( $input['vat_number'] );
741
+        if (!empty($wpinv_options['vat_vies_check'])) {
742
+            if (empty($wpinv_options['vat_offline_check'])) {
743
+                $valid = self::offline_check($input['vat_number']);
744 744
             } else {
745 745
                 $valid = true;
746 746
             }
747 747
 
748
-            $message = $valid ? '' : __( 'VAT number not validated', 'invoicing' );
748
+            $message = $valid ? '' : __('VAT number not validated', 'invoicing');
749 749
         } else {
750
-            $result = self::check_vat( $input['vat_number'] );
750
+            $result = self::check_vat($input['vat_number']);
751 751
 
752
-            if ( empty( $result['valid'] ) ) {
752
+            if (empty($result['valid'])) {
753 753
                 $valid      = false;
754 754
                 $message    = $result['message'];
755 755
             } else {
756
-                $valid      = ( isset( $result['company'] ) && ( $result['company'] == '---' || ( strcasecmp( trim( $result['company'] ), trim( $input['vat_company_name'] ) ) == 0 ) ) ) || !empty( $wpinv_options['vat_disable_company_name_check'] );
757
-                $message    = $valid ? '' : __( 'The company name associated with the VAT number provided is not the same as the company name provided.', 'invoicing' );
756
+                $valid      = (isset($result['company']) && ($result['company'] == '---' || (strcasecmp(trim($result['company']), trim($input['vat_company_name'])) == 0))) || !empty($wpinv_options['vat_disable_company_name_check']);
757
+                $message    = $valid ? '' : __('The company name associated with the VAT number provided is not the same as the company name provided.', 'invoicing');
758 758
             }
759 759
         }
760 760
 
761
-        if ( $message && self::is_vat_validated() != $valid ) {
762
-            add_settings_error( 'wpinv-notices', '', $message, ( $valid ? 'updated' : 'error' ) );
761
+        if ($message && self::is_vat_validated() != $valid) {
762
+            add_settings_error('wpinv-notices', '', $message, ($valid ? 'updated' : 'error'));
763 763
         }
764 764
 
765 765
         $input['vat_valid'] = $valid;
766 766
         return $input;
767 767
     }
768 768
 
769
-    public static function sanitize_vat_rates( $input ) {
770
-        if( !wpinv_current_user_can_manage_invoicing() ) {
771
-            add_settings_error( 'wpinv-notices', '', __( 'Your account does not have permission to add rate classes.', 'invoicing' ), 'error' );
769
+    public static function sanitize_vat_rates($input) {
770
+        if (!wpinv_current_user_can_manage_invoicing()) {
771
+            add_settings_error('wpinv-notices', '', __('Your account does not have permission to add rate classes.', 'invoicing'), 'error');
772 772
             return $input;
773 773
         }
774 774
 
775 775
         $vat_classes = self::get_rate_classes();
776
-        $vat_class = !empty( $_REQUEST['wpi_vat_class'] ) && isset( $vat_classes[$_REQUEST['wpi_vat_class']] )? sanitize_text_field( $_REQUEST['wpi_vat_class'] ) : '';
776
+        $vat_class = !empty($_REQUEST['wpi_vat_class']) && isset($vat_classes[$_REQUEST['wpi_vat_class']]) ? sanitize_text_field($_REQUEST['wpi_vat_class']) : '';
777 777
 
778
-        if ( empty( $vat_class ) ) {
779
-            add_settings_error( 'wpinv-notices', '', __( 'No valid VAT rates class contained in the request to save rates.', 'invoicing' ), 'error' );
778
+        if (empty($vat_class)) {
779
+            add_settings_error('wpinv-notices', '', __('No valid VAT rates class contained in the request to save rates.', 'invoicing'), 'error');
780 780
 
781 781
             return $input;
782 782
         }
783 783
 
784
-        $new_rates = ! empty( $_POST['vat_rates'] ) ? array_values( $_POST['vat_rates'] ) : array();
784
+        $new_rates = !empty($_POST['vat_rates']) ? array_values($_POST['vat_rates']) : array();
785 785
 
786
-        if ( $vat_class === '_standard' ) {
786
+        if ($vat_class === '_standard') {
787 787
             // Save the active rates in the invoice settings
788
-            update_option( 'wpinv_tax_rates', $new_rates );
788
+            update_option('wpinv_tax_rates', $new_rates);
789 789
         } else {
790 790
             // Get the existing set of rates
791 791
             $rates = self::get_non_standard_rates();
792 792
             $rates[$vat_class] = $new_rates;
793 793
 
794
-            update_option( 'wpinv_vat_rates', $rates );
794
+            update_option('wpinv_vat_rates', $rates);
795 795
         }
796 796
 
797 797
         return $input;
@@ -801,71 +801,71 @@  discard block
 block discarded – undo
801 801
         $response = array();
802 802
         $response['success'] = false;
803 803
 
804
-        if ( !wpinv_current_user_can_manage_invoicing() ) {
805
-            $response['error'] = __( 'Invalid access!', 'invoicing' );
806
-            wp_send_json( $response );
804
+        if (!wpinv_current_user_can_manage_invoicing()) {
805
+            $response['error'] = __('Invalid access!', 'invoicing');
806
+            wp_send_json($response);
807 807
         }
808 808
 
809
-        $vat_class_name = !empty( $_POST['name'] ) ? sanitize_text_field( $_POST['name'] ) : false;
810
-        $vat_class_desc = !empty( $_POST['desc'] ) ? sanitize_text_field( $_POST['desc'] ) : false;
809
+        $vat_class_name = !empty($_POST['name']) ? sanitize_text_field($_POST['name']) : false;
810
+        $vat_class_desc = !empty($_POST['desc']) ? sanitize_text_field($_POST['desc']) : false;
811 811
 
812
-        if ( empty( $vat_class_name ) ) {
813
-            $response['error'] = __( 'Select the VAT rate name', 'invoicing' );
814
-            wp_send_json( $response );
812
+        if (empty($vat_class_name)) {
813
+            $response['error'] = __('Select the VAT rate name', 'invoicing');
814
+            wp_send_json($response);
815 815
         }
816 816
 
817
-        $vat_classes = (array)self::get_rate_classes();
817
+        $vat_classes = (array) self::get_rate_classes();
818 818
 
819
-        if ( !empty( $vat_classes ) && in_array( strtolower( $vat_class_name ), array_map( 'strtolower', array_values( $vat_classes ) ) ) ) {
820
-            $response['error'] = wp_sprintf( __( 'A VAT Rate name "%s" already exists', 'invoicing' ), $vat_class_name );
821
-            wp_send_json( $response );
819
+        if (!empty($vat_classes) && in_array(strtolower($vat_class_name), array_map('strtolower', array_values($vat_classes)))) {
820
+            $response['error'] = wp_sprintf(__('A VAT Rate name "%s" already exists', 'invoicing'), $vat_class_name);
821
+            wp_send_json($response);
822 822
         }
823 823
 
824
-        $rate_class_key = normalize_whitespace( 'wpi-' . $vat_class_name );
825
-        $rate_class_key = sanitize_key( str_replace( " ", "-", $rate_class_key ) );
824
+        $rate_class_key = normalize_whitespace('wpi-' . $vat_class_name);
825
+        $rate_class_key = sanitize_key(str_replace(" ", "-", $rate_class_key));
826 826
 
827
-        $vat_classes = (array)self::get_rate_classes( true );
828
-        $vat_classes[$rate_class_key] = array( 'name' => $vat_class_name, 'desc' => $vat_class_desc );
827
+        $vat_classes = (array) self::get_rate_classes(true);
828
+        $vat_classes[$rate_class_key] = array('name' => $vat_class_name, 'desc' => $vat_class_desc);
829 829
 
830
-        update_option( '_wpinv_vat_rate_classes', $vat_classes );
830
+        update_option('_wpinv_vat_rate_classes', $vat_classes);
831 831
 
832 832
         $response['success'] = true;
833
-        $response['redirect'] = admin_url( 'admin.php?page=wpinv-settings&tab=taxes&section=vat_rates&wpi_sub=' . $rate_class_key );
833
+        $response['redirect'] = admin_url('admin.php?page=wpinv-settings&tab=taxes&section=vat_rates&wpi_sub=' . $rate_class_key);
834 834
 
835
-        wp_send_json( $response );
835
+        wp_send_json($response);
836 836
     }
837 837
 
838 838
     public static function delete_class() {
839 839
         $response = array();
840 840
         $response['success'] = false;
841 841
 
842
-        if ( !wpinv_current_user_can_manage_invoicing() || !isset( $_POST['class'] ) ) {
843
-            $response['error'] = __( 'Invalid access!', 'invoicing' );
844
-            wp_send_json( $response );
842
+        if (!wpinv_current_user_can_manage_invoicing() || !isset($_POST['class'])) {
843
+            $response['error'] = __('Invalid access!', 'invoicing');
844
+            wp_send_json($response);
845 845
         }
846 846
 
847
-        $vat_class = isset( $_POST['class'] ) && $_POST['class'] !== '' ? sanitize_text_field( $_POST['class'] ) : false;
848
-        $vat_classes = (array)self::get_rate_classes();
847
+        $vat_class = isset($_POST['class']) && $_POST['class'] !== '' ? sanitize_text_field($_POST['class']) : false;
848
+        $vat_classes = (array) self::get_rate_classes();
849 849
 
850
-        if ( !isset( $vat_classes[$vat_class] ) ) {
851
-            $response['error'] = __( 'Requested class does not exists', 'invoicing' );
852
-            wp_send_json( $response );
850
+        if (!isset($vat_classes[$vat_class])) {
851
+            $response['error'] = __('Requested class does not exists', 'invoicing');
852
+            wp_send_json($response);
853 853
         }
854 854
 
855
-        if ( $vat_class == '_new' || $vat_class == '_standard' ) {
856
-            $response['error'] = __( 'You can not delete standard rates class', 'invoicing' );
857
-            wp_send_json( $response );
855
+        if ($vat_class == '_new' || $vat_class == '_standard') {
856
+            $response['error'] = __('You can not delete standard rates class', 'invoicing');
857
+            wp_send_json($response);
858 858
         }
859 859
 
860
-        $vat_classes = (array)self::get_rate_classes( true );
861
-        unset( $vat_classes[$vat_class] );
860
+        $vat_classes = (array) self::get_rate_classes(true);
861
+        unset($vat_classes[$vat_class]);
862 862
 
863
-        update_option( '_wpinv_vat_rate_classes', $vat_classes );
863
+        update_option('_wpinv_vat_rate_classes', $vat_classes);
864 864
 
865 865
         $response['success'] = true;
866
-        $response['redirect'] = admin_url( 'admin.php?page=wpinv-settings&tab=taxes&section=vat_rates&wpi_sub=_new' );
866
+        $response['redirect'] = admin_url('admin.php?page=wpinv-settings&tab=taxes&section=vat_rates&wpi_sub=_new');
867 867
 
868
-        wp_send_json( $response );
868
+        wp_send_json($response);
869 869
     }
870 870
 
871 871
     public static function update_eu_rates() {
@@ -874,73 +874,73 @@  discard block
 block discarded – undo
874 874
         $response['error']      = null;
875 875
         $response['data']       = null;
876 876
 
877
-        if ( !wpinv_current_user_can_manage_invoicing() ) {
878
-            $response['error'] = __( 'Invalid access!', 'invoicing' );
879
-            wp_send_json( $response );
877
+        if (!wpinv_current_user_can_manage_invoicing()) {
878
+            $response['error'] = __('Invalid access!', 'invoicing');
879
+            wp_send_json($response);
880 880
         }
881 881
 
882
-        $group      = !empty( $_POST['group'] ) ? sanitize_text_field( $_POST['group'] ) : '';
883
-        $euvatrates = self::request_euvatrates( $group );
882
+        $group      = !empty($_POST['group']) ? sanitize_text_field($_POST['group']) : '';
883
+        $euvatrates = self::request_euvatrates($group);
884 884
 
885
-        if ( !empty( $euvatrates ) ) {
886
-            if ( !empty( $euvatrates['success'] ) && !empty( $euvatrates['rates'] ) ) {
885
+        if (!empty($euvatrates)) {
886
+            if (!empty($euvatrates['success']) && !empty($euvatrates['rates'])) {
887 887
                 $response['success']        = true;
888 888
                 $response['data']['rates']  = $euvatrates['rates'];
889
-            } else if ( !empty( $euvatrates['error'] ) ) {
889
+            } else if (!empty($euvatrates['error'])) {
890 890
                 $response['error']          = $euvatrates['error'];
891 891
             }
892 892
         }
893 893
 
894
-        wp_send_json( $response );
894
+        wp_send_json($response);
895 895
     }
896 896
 
897 897
     public static function hide_vat_fields() {
898
-        $hide = wpinv_get_option( 'vat_disable_fields' );
898
+        $hide = wpinv_get_option('vat_disable_fields');
899 899
 
900
-        return apply_filters( 'wpinv_hide_vat_fields', $hide );
900
+        return apply_filters('wpinv_hide_vat_fields', $hide);
901 901
     }
902 902
 
903 903
     public static function same_country_rule() {
904
-        $same_country_rule = wpinv_get_option( 'vat_same_country_rule' );
904
+        $same_country_rule = wpinv_get_option('vat_same_country_rule');
905 905
 
906
-        return apply_filters( 'wpinv_vat_same_country_rule', $same_country_rule );
906
+        return apply_filters('wpinv_vat_same_country_rule', $same_country_rule);
907 907
     }
908 908
 
909 909
     /**
910 910
      * Retrieves the vat name.
911 911
      */
912 912
     public function get_vat_name() {
913
-        $vat_name = wpinv_get_option( 'vat_name' );
914
-        return empty( $vat_name ) ? __( 'VAT', 'invoicing' ) : sanitize_text_field( $vat_name );
913
+        $vat_name = wpinv_get_option('vat_name');
914
+        return empty($vat_name) ? __('VAT', 'invoicing') : sanitize_text_field($vat_name);
915 915
     }
916 916
 
917 917
     public static function get_company_name() {
918
-        $company_name = wpinv_get_option( 'vat_company_name' );
918
+        $company_name = wpinv_get_option('vat_company_name');
919 919
 
920
-        return apply_filters( 'wpinv_get_owner_company_name', $company_name );
920
+        return apply_filters('wpinv_get_owner_company_name', $company_name);
921 921
     }
922 922
 
923 923
     public static function get_vat_number() {
924
-        $vat_number = wpinv_get_option( 'vat_number' );
924
+        $vat_number = wpinv_get_option('vat_number');
925 925
 
926
-        return apply_filters( 'wpinv_get_owner_vat_number', $vat_number );
926
+        return apply_filters('wpinv_get_owner_vat_number', $vat_number);
927 927
     }
928 928
 
929 929
     public static function is_vat_validated() {
930
-        $validated = self::get_vat_number() && wpinv_get_option( 'vat_valid' );
930
+        $validated = self::get_vat_number() && wpinv_get_option('vat_valid');
931 931
 
932
-        return apply_filters( 'wpinv_is_owner_vat_validated', $validated );
932
+        return apply_filters('wpinv_is_owner_vat_validated', $validated);
933 933
     }
934 934
 
935
-    public static function sanitize_vat( $vat_number, $country_code = '' ) {
936
-        $vat_number = str_replace( array(' ', '.', '-', '_', ',' ), '', strtoupper( trim( $vat_number ) ) );
935
+    public static function sanitize_vat($vat_number, $country_code = '') {
936
+        $vat_number = str_replace(array(' ', '.', '-', '_', ','), '', strtoupper(trim($vat_number)));
937 937
 
938
-        if ( empty( $country_code ) ) {
939
-            $country_code = substr( $vat_number, 0, 2 );
938
+        if (empty($country_code)) {
939
+            $country_code = substr($vat_number, 0, 2);
940 940
         }
941 941
 
942
-        if ( strpos( $vat_number , $country_code ) === 0 ) {
943
-            $vat = str_replace( $country_code, '', $vat_number );
942
+        if (strpos($vat_number, $country_code) === 0) {
943
+            $vat = str_replace($country_code, '', $vat_number);
944 944
         } else {
945 945
             $vat = $country_code . $vat_number;
946 946
         }
@@ -953,140 +953,140 @@  discard block
 block discarded – undo
953 953
         return $return;
954 954
     }
955 955
 
956
-    public static function offline_check( $vat_number, $country_code = '', $formatted = false ) {
957
-        $vat            = self::sanitize_vat( $vat_number, $country_code );
956
+    public static function offline_check($vat_number, $country_code = '', $formatted = false) {
957
+        $vat            = self::sanitize_vat($vat_number, $country_code);
958 958
         $vat_number     = $vat['vat_number'];
959 959
         $country_code   = $vat['iso'];
960 960
         $regex          = array();
961 961
 
962
-        switch ( $country_code ) {
962
+        switch ($country_code) {
963 963
             case 'AT':
964
-                $regex[] = '/^(AT)U(\d{8})$/';                           // Austria
964
+                $regex[] = '/^(AT)U(\d{8})$/'; // Austria
965 965
                 break;
966 966
             case 'BE':
967
-                $regex[] = '/^(BE)(0?\d{9})$/';                          // Belgium
967
+                $regex[] = '/^(BE)(0?\d{9})$/'; // Belgium
968 968
                 break;
969 969
             case 'BG':
970
-                $regex[] = '/^(BG)(\d{9,10})$/';                         // Bulgaria
970
+                $regex[] = '/^(BG)(\d{9,10})$/'; // Bulgaria
971 971
                 break;
972 972
             case 'CH':
973 973
             case 'CHE':
974
-                $regex[] = '/^(CHE)(\d{9})MWST$/';                       // Switzerland (Not EU)
974
+                $regex[] = '/^(CHE)(\d{9})MWST$/'; // Switzerland (Not EU)
975 975
                 break;
976 976
             case 'CY':
977
-                $regex[] = '/^(CY)([0-5|9]\d{7}[A-Z])$/';                // Cyprus
977
+                $regex[] = '/^(CY)([0-5|9]\d{7}[A-Z])$/'; // Cyprus
978 978
                 break;
979 979
             case 'CZ':
980
-                $regex[] = '/^(CZ)(\d{8,13})$/';                         // Czech Republic
980
+                $regex[] = '/^(CZ)(\d{8,13})$/'; // Czech Republic
981 981
                 break;
982 982
             case 'DE':
983
-                $regex[] = '/^(DE)([1-9]\d{8})$/';                       // Germany
983
+                $regex[] = '/^(DE)([1-9]\d{8})$/'; // Germany
984 984
                 break;
985 985
             case 'DK':
986
-                $regex[] = '/^(DK)(\d{8})$/';                            // Denmark
986
+                $regex[] = '/^(DK)(\d{8})$/'; // Denmark
987 987
                 break;
988 988
             case 'EE':
989
-                $regex[] = '/^(EE)(10\d{7})$/';                          // Estonia
989
+                $regex[] = '/^(EE)(10\d{7})$/'; // Estonia
990 990
                 break;
991 991
             case 'EL':
992
-                $regex[] = '/^(EL)(\d{9})$/';                            // Greece
992
+                $regex[] = '/^(EL)(\d{9})$/'; // Greece
993 993
                 break;
994 994
             case 'ES':
995
-                $regex[] = '/^(ES)([A-Z]\d{8})$/';                       // Spain (National juridical entities)
996
-                $regex[] = '/^(ES)([A-H|N-S|W]\d{7}[A-J])$/';            // Spain (Other juridical entities)
997
-                $regex[] = '/^(ES)([0-9|Y|Z]\d{7}[A-Z])$/';              // Spain (Personal entities type 1)
998
-                $regex[] = '/^(ES)([K|L|M|X]\d{7}[A-Z])$/';              // Spain (Personal entities type 2)
995
+                $regex[] = '/^(ES)([A-Z]\d{8})$/'; // Spain (National juridical entities)
996
+                $regex[] = '/^(ES)([A-H|N-S|W]\d{7}[A-J])$/'; // Spain (Other juridical entities)
997
+                $regex[] = '/^(ES)([0-9|Y|Z]\d{7}[A-Z])$/'; // Spain (Personal entities type 1)
998
+                $regex[] = '/^(ES)([K|L|M|X]\d{7}[A-Z])$/'; // Spain (Personal entities type 2)
999 999
                 break;
1000 1000
             case 'EU':
1001
-                $regex[] = '/^(EU)(\d{9})$/';                            // EU-type
1001
+                $regex[] = '/^(EU)(\d{9})$/'; // EU-type
1002 1002
                 break;
1003 1003
             case 'FI':
1004
-                $regex[] = '/^(FI)(\d{8})$/';                            // Finland
1004
+                $regex[] = '/^(FI)(\d{8})$/'; // Finland
1005 1005
                 break;
1006 1006
             case 'FR':
1007
-                $regex[] = '/^(FR)(\d{11})$/';                           // France (1)
1008
-                $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)](\d{10})$/';        // France (2)
1009
-                $regex[] = '/^(FR)\d[(A-H)|(J-N)|(P-Z)](\d{9})$/';       // France (3)
1010
-                $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)]{2}(\d{9})$/';      // France (4)
1007
+                $regex[] = '/^(FR)(\d{11})$/'; // France (1)
1008
+                $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)](\d{10})$/'; // France (2)
1009
+                $regex[] = '/^(FR)\d[(A-H)|(J-N)|(P-Z)](\d{9})$/'; // France (3)
1010
+                $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)]{2}(\d{9})$/'; // France (4)
1011 1011
                 break;
1012 1012
             case 'GB':
1013
-                $regex[] = '/^(GB)?(\d{9})$/';                           // UK (Standard)
1014
-                $regex[] = '/^(GB)?(\d{12})$/';                          // UK (Branches)
1015
-                $regex[] = '/^(GB)?(GD\d{3})$/';                         // UK (Government)
1016
-                $regex[] = '/^(GB)?(HA\d{3})$/';                         // UK (Health authority)
1013
+                $regex[] = '/^(GB)?(\d{9})$/'; // UK (Standard)
1014
+                $regex[] = '/^(GB)?(\d{12})$/'; // UK (Branches)
1015
+                $regex[] = '/^(GB)?(GD\d{3})$/'; // UK (Government)
1016
+                $regex[] = '/^(GB)?(HA\d{3})$/'; // UK (Health authority)
1017 1017
                 break;
1018 1018
             case 'GR':
1019
-                $regex[] = '/^(GR)(\d{8,9})$/';                          // Greece
1019
+                $regex[] = '/^(GR)(\d{8,9})$/'; // Greece
1020 1020
                 break;
1021 1021
             case 'HR':
1022
-                $regex[] = '/^(HR)(\d{11})$/';                           // Croatia
1022
+                $regex[] = '/^(HR)(\d{11})$/'; // Croatia
1023 1023
                 break;
1024 1024
             case 'HU':
1025
-                $regex[] = '/^(HU)(\d{8})$/';                            // Hungary
1025
+                $regex[] = '/^(HU)(\d{8})$/'; // Hungary
1026 1026
                 break;
1027 1027
             case 'IE':
1028
-                $regex[] = '/^(IE)(\d{7}[A-W])$/';                       // Ireland (1)
1029
-                $regex[] = '/^(IE)([7-9][A-Z\*\+)]\d{5}[A-W])$/';        // Ireland (2)
1030
-                $regex[] = '/^(IE)(\d{7}[A-Z][AH])$/';                   // Ireland (3) (new format from 1 Jan 2013)
1028
+                $regex[] = '/^(IE)(\d{7}[A-W])$/'; // Ireland (1)
1029
+                $regex[] = '/^(IE)([7-9][A-Z\*\+)]\d{5}[A-W])$/'; // Ireland (2)
1030
+                $regex[] = '/^(IE)(\d{7}[A-Z][AH])$/'; // Ireland (3) (new format from 1 Jan 2013)
1031 1031
                 break;
1032 1032
             case 'IT':
1033
-                $regex[] = '/^(IT)(\d{11})$/';                           // Italy
1033
+                $regex[] = '/^(IT)(\d{11})$/'; // Italy
1034 1034
                 break;
1035 1035
             case 'LV':
1036
-                $regex[] = '/^(LV)(\d{11})$/';                           // Latvia
1036
+                $regex[] = '/^(LV)(\d{11})$/'; // Latvia
1037 1037
                 break;
1038 1038
             case 'LT':
1039
-                $regex[] = '/^(LT)(\d{9}|\d{12})$/';                     // Lithuania
1039
+                $regex[] = '/^(LT)(\d{9}|\d{12})$/'; // Lithuania
1040 1040
                 break;
1041 1041
             case 'LU':
1042
-                $regex[] = '/^(LU)(\d{8})$/';                            // Luxembourg
1042
+                $regex[] = '/^(LU)(\d{8})$/'; // Luxembourg
1043 1043
                 break;
1044 1044
             case 'MT':
1045
-                $regex[] = '/^(MT)([1-9]\d{7})$/';                       // Malta
1045
+                $regex[] = '/^(MT)([1-9]\d{7})$/'; // Malta
1046 1046
                 break;
1047 1047
             case 'NL':
1048
-                $regex[] = '/^(NL)(\d{9})B\d{2}$/';                      // Netherlands
1048
+                $regex[] = '/^(NL)(\d{9})B\d{2}$/'; // Netherlands
1049 1049
                 break;
1050 1050
             case 'NO':
1051
-                $regex[] = '/^(NO)(\d{9})$/';                            // Norway (Not EU)
1051
+                $regex[] = '/^(NO)(\d{9})$/'; // Norway (Not EU)
1052 1052
                 break;
1053 1053
             case 'PL':
1054
-                $regex[] = '/^(PL)(\d{10})$/';                           // Poland
1054
+                $regex[] = '/^(PL)(\d{10})$/'; // Poland
1055 1055
                 break;
1056 1056
             case 'PT':
1057
-                $regex[] = '/^(PT)(\d{9})$/';                            // Portugal
1057
+                $regex[] = '/^(PT)(\d{9})$/'; // Portugal
1058 1058
                 break;
1059 1059
             case 'RO':
1060
-                $regex[] = '/^(RO)([1-9]\d{1,9})$/';                     // Romania
1060
+                $regex[] = '/^(RO)([1-9]\d{1,9})$/'; // Romania
1061 1061
                 break;
1062 1062
             case 'RS':
1063
-                $regex[] = '/^(RS)(\d{9})$/';                            // Serbia (Not EU)
1063
+                $regex[] = '/^(RS)(\d{9})$/'; // Serbia (Not EU)
1064 1064
                 break;
1065 1065
             case 'SI':
1066
-                $regex[] = '/^(SI)([1-9]\d{7})$/';                       // Slovenia
1066
+                $regex[] = '/^(SI)([1-9]\d{7})$/'; // Slovenia
1067 1067
                 break;
1068 1068
             case 'SK':
1069
-                $regex[] = '/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7})$/';        // Slovakia Republic
1069
+                $regex[] = '/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7})$/'; // Slovakia Republic
1070 1070
                 break;
1071 1071
             case 'SE':
1072
-                $regex[] = '/^(SE)(\d{10}01)$/';                         // Sweden
1072
+                $regex[] = '/^(SE)(\d{10}01)$/'; // Sweden
1073 1073
                 break;
1074 1074
             default:
1075 1075
                 $regex = array();
1076 1076
             break;
1077 1077
         }
1078 1078
 
1079
-        if ( empty( $regex ) ) {
1079
+        if (empty($regex)) {
1080 1080
             return false;
1081 1081
         }
1082 1082
 
1083
-        foreach ( $regex as $pattern ) {
1083
+        foreach ($regex as $pattern) {
1084 1084
             $matches = null;
1085
-            preg_match_all( $pattern, $vat_number, $matches );
1085
+            preg_match_all($pattern, $vat_number, $matches);
1086 1086
 
1087
-            if ( !empty( $matches[1][0] ) && !empty( $matches[2][0] ) ) {
1088
-                if ( $formatted ) {
1089
-                    return array( 'code' => $matches[1][0], 'number' => $matches[2][0] );
1087
+            if (!empty($matches[1][0]) && !empty($matches[2][0])) {
1088
+                if ($formatted) {
1089
+                    return array('code' => $matches[1][0], 'number' => $matches[2][0]);
1090 1090
                 } else {
1091 1091
                     return true;
1092 1092
                 }
@@ -1096,75 +1096,75 @@  discard block
 block discarded – undo
1096 1096
         return false;
1097 1097
     }
1098 1098
 
1099
-    public static function vies_check( $vat_number, $country_code = '', $result = false ) {
1100
-        $vat            = self::sanitize_vat( $vat_number, $country_code );
1099
+    public static function vies_check($vat_number, $country_code = '', $result = false) {
1100
+        $vat            = self::sanitize_vat($vat_number, $country_code);
1101 1101
         $vat_number     = $vat['vat'];
1102 1102
         $iso            = $vat['iso'];
1103 1103
 
1104
-        $url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=' . urlencode( $iso ) . '&iso=' . urlencode( $iso ) . '&vat=' . urlencode( $vat_number );
1104
+        $url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=' . urlencode($iso) . '&iso=' . urlencode($iso) . '&vat=' . urlencode($vat_number);
1105 1105
 
1106
-        if ( ini_get( 'allow_url_fopen' ) ) {
1107
-            $response = file_get_contents( $url );
1108
-        } else if ( function_exists( 'curl_init' ) ) {
1106
+        if (ini_get('allow_url_fopen')) {
1107
+            $response = file_get_contents($url);
1108
+        } else if (function_exists('curl_init')) {
1109 1109
             $ch = curl_init();
1110 1110
 
1111
-            curl_setopt( $ch, CURLOPT_URL, $url );
1112
-            curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 30 );
1113
-            curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
1114
-            curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
1115
-            curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
1111
+            curl_setopt($ch, CURLOPT_URL, $url);
1112
+            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
1113
+            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
1114
+            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
1115
+            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
1116 1116
 
1117
-            $response = curl_exec( $ch );
1117
+            $response = curl_exec($ch);
1118 1118
 
1119
-            if ( curl_errno( $ch ) ) {
1120
-                wpinv_error_log( curl_error( $ch ), 'VIES CHECK ERROR' );
1119
+            if (curl_errno($ch)) {
1120
+                wpinv_error_log(curl_error($ch), 'VIES CHECK ERROR');
1121 1121
                 $response = '';
1122 1122
             }
1123 1123
 
1124
-            curl_close( $ch );
1124
+            curl_close($ch);
1125 1125
         } else {
1126
-            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' );
1126
+            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');
1127 1127
         }
1128 1128
 
1129
-        if ( empty( $response ) ) {
1129
+        if (empty($response)) {
1130 1130
             return $result;
1131 1131
         }
1132 1132
 
1133
-        if ( preg_match( '/invalid VAT number/i', $response ) ) {
1133
+        if (preg_match('/invalid VAT number/i', $response)) {
1134 1134
             return false;
1135
-        } else if ( preg_match( '/valid VAT number/i', $response, $matches ) ) {
1136
-            $content = explode( "valid VAT number", htmlentities( $response ) );
1135
+        } else if (preg_match('/valid VAT number/i', $response, $matches)) {
1136
+            $content = explode("valid VAT number", htmlentities($response));
1137 1137
 
1138
-            if ( !empty( $content[1] ) ) {
1139
-                preg_match_all( '/<tr>(.*?)<td.*?>(.*?)<\/td>(.*?)<\/tr>/si', html_entity_decode( $content[1] ), $matches );
1138
+            if (!empty($content[1])) {
1139
+                preg_match_all('/<tr>(.*?)<td.*?>(.*?)<\/td>(.*?)<\/tr>/si', html_entity_decode($content[1]), $matches);
1140 1140
 
1141
-                if ( !empty( $matches[2] ) && $matches[3] ) {
1141
+                if (!empty($matches[2]) && $matches[3]) {
1142 1142
                     $return = array();
1143 1143
 
1144
-                    foreach ( $matches[2] as $key => $label ) {
1145
-                        $label = trim( $label );
1144
+                    foreach ($matches[2] as $key => $label) {
1145
+                        $label = trim($label);
1146 1146
 
1147
-                        switch ( strtolower( $label ) ) {
1147
+                        switch (strtolower($label)) {
1148 1148
                             case 'member state':
1149
-                                $return['state'] = trim( strip_tags( $matches[3][$key] ) );
1149
+                                $return['state'] = trim(strip_tags($matches[3][$key]));
1150 1150
                             break;
1151 1151
                             case 'vat number':
1152
-                                $return['number'] = trim( strip_tags( $matches[3][$key] ) );
1152
+                                $return['number'] = trim(strip_tags($matches[3][$key]));
1153 1153
                             break;
1154 1154
                             case 'name':
1155
-                                $return['company'] = trim( strip_tags( $matches[3][$key] ) );
1155
+                                $return['company'] = trim(strip_tags($matches[3][$key]));
1156 1156
                             break;
1157 1157
                             case 'address':
1158
-                                $address           = str_replace( array( "<br><br>", "<br /><br />", "<br/><br/>" ), "<br>", html_entity_decode( trim( $matches[3][$key] ) ) );
1159
-                                $return['address'] = trim( strip_tags( $address, '<br>' ) );
1158
+                                $address           = str_replace(array("<br><br>", "<br /><br />", "<br/><br/>"), "<br>", html_entity_decode(trim($matches[3][$key])));
1159
+                                $return['address'] = trim(strip_tags($address, '<br>'));
1160 1160
                             break;
1161 1161
                             case 'consultation number':
1162
-                                $return['consultation'] = trim( strip_tags( $matches[3][$key] ) );
1162
+                                $return['consultation'] = trim(strip_tags($matches[3][$key]));
1163 1163
                             break;
1164 1164
                         }
1165 1165
                     }
1166 1166
 
1167
-                    if ( !empty( $return ) ) {
1167
+                    if (!empty($return)) {
1168 1168
                         return $return;
1169 1169
                     }
1170 1170
                 }
@@ -1176,62 +1176,62 @@  discard block
 block discarded – undo
1176 1176
         }
1177 1177
     }
1178 1178
 
1179
-    public static function check_vat( $vat_number, $country_code = '' ) {
1179
+    public static function check_vat($vat_number, $country_code = '') {
1180 1180
         $vat_name           = getpaid_vat_name();
1181 1181
 
1182 1182
         $return             = array();
1183 1183
         $return['valid']    = false;
1184
-        $return['message']  = wp_sprintf( __( '%s number not validated', 'invoicing' ), $vat_name );
1184
+        $return['message']  = wp_sprintf(__('%s number not validated', 'invoicing'), $vat_name);
1185 1185
 
1186
-        if ( !wpinv_get_option( 'vat_offline_check' ) && !self::offline_check( $vat_number, $country_code ) ) {
1186
+        if (!wpinv_get_option('vat_offline_check') && !self::offline_check($vat_number, $country_code)) {
1187 1187
             return $return;
1188 1188
         }
1189 1189
 
1190
-        $response = self::vies_check( $vat_number, $country_code );
1190
+        $response = self::vies_check($vat_number, $country_code);
1191 1191
 
1192
-        if ( $response ) {
1193
-            $return['valid']    = true;
1192
+        if ($response) {
1193
+            $return['valid'] = true;
1194 1194
 
1195
-            if ( is_array( $response ) ) {
1196
-                $return['company'] = isset( $response['company'] ) ? $response['company'] : '';
1197
-                $return['address'] = isset( $response['address'] ) ? $response['address'] : '';
1195
+            if (is_array($response)) {
1196
+                $return['company'] = isset($response['company']) ? $response['company'] : '';
1197
+                $return['address'] = isset($response['address']) ? $response['address'] : '';
1198 1198
                 $return['message'] = $return['company'] . '<br/>' . $return['address'];
1199 1199
             }
1200 1200
         } else {
1201 1201
             $return['valid']    = false;
1202
-            $return['message']  = wp_sprintf( __( 'Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing' ), $vat_name );
1202
+            $return['message']  = wp_sprintf(__('Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing'), $vat_name);
1203 1203
         }
1204 1204
 
1205 1205
         return $return;
1206 1206
     }
1207 1207
 
1208
-    public static function request_euvatrates( $group ) {
1208
+    public static function request_euvatrates($group) {
1209 1209
         $response               = array();
1210 1210
         $response['success']    = false;
1211 1211
         $response['error']      = null;
1212 1212
         $response['eurates']    = null;
1213 1213
 
1214 1214
         $euvatrates_url = 'https://euvatrates.com/rates.json';
1215
-        $euvatrates_url = apply_filters( 'wpinv_euvatrates_url', $euvatrates_url );
1216
-        $api_response   = wp_remote_get( $euvatrates_url );
1215
+        $euvatrates_url = apply_filters('wpinv_euvatrates_url', $euvatrates_url);
1216
+        $api_response   = wp_remote_get($euvatrates_url);
1217 1217
 
1218 1218
         try {
1219
-            if ( is_wp_error( $api_response ) ) {
1220
-                $response['error']      = __( $api_response->get_error_message(), 'invoicing' );
1219
+            if (is_wp_error($api_response)) {
1220
+                $response['error'] = __($api_response->get_error_message(), 'invoicing');
1221 1221
             } else {
1222
-                $body = json_decode( $api_response['body'] );
1223
-                if ( isset( $body->rates ) ) {
1222
+                $body = json_decode($api_response['body']);
1223
+                if (isset($body->rates)) {
1224 1224
                     $rates = array();
1225 1225
 
1226
-                    foreach ( $body->rates as $country_code => $rate ) {
1226
+                    foreach ($body->rates as $country_code => $rate) {
1227 1227
                         $vat_rate = array();
1228 1228
                         $vat_rate['country']        = $rate->country;
1229
-                        $vat_rate['standard']       = (float)$rate->standard_rate;
1230
-                        $vat_rate['reduced']        = (float)$rate->reduced_rate;
1231
-                        $vat_rate['superreduced']   = (float)$rate->super_reduced_rate;
1232
-                        $vat_rate['parking']        = (float)$rate->parking_rate;
1229
+                        $vat_rate['standard']       = (float) $rate->standard_rate;
1230
+                        $vat_rate['reduced']        = (float) $rate->reduced_rate;
1231
+                        $vat_rate['superreduced']   = (float) $rate->super_reduced_rate;
1232
+                        $vat_rate['parking']        = (float) $rate->parking_rate;
1233 1233
 
1234
-                        if ( $group !== '' && in_array( $group, array( 'standard', 'reduced', 'superreduced', 'parking' ) ) ) {
1234
+                        if ($group !== '' && in_array($group, array('standard', 'reduced', 'superreduced', 'parking'))) {
1235 1235
                             $vat_rate_group = array();
1236 1236
                             $vat_rate_group['country'] = $rate->country;
1237 1237
                             $vat_rate_group[$group]    = $vat_rate[$group];
@@ -1243,79 +1243,79 @@  discard block
 block discarded – undo
1243 1243
                     }
1244 1244
 
1245 1245
                     $response['success']    = true;
1246
-                    $response['rates']      = apply_filters( 'wpinv_process_euvatrates', $rates, $api_response, $group );
1246
+                    $response['rates']      = apply_filters('wpinv_process_euvatrates', $rates, $api_response, $group);
1247 1247
                 } else {
1248
-                    $response['error']      = __( 'No EU rates found!', 'invoicing' );
1248
+                    $response['error']      = __('No EU rates found!', 'invoicing');
1249 1249
                 }
1250 1250
             }
1251
-        } catch ( Exception $e ) {
1252
-            $response['error'] = __( $e->getMessage(), 'invoicing' );
1251
+        } catch (Exception $e) {
1252
+            $response['error'] = __($e->getMessage(), 'invoicing');
1253 1253
         }
1254 1254
 
1255
-        return apply_filters( 'wpinv_response_euvatrates', $response, $group );
1255
+        return apply_filters('wpinv_response_euvatrates', $response, $group);
1256 1256
     }
1257 1257
 
1258
-    public static function requires_vat( $requires_vat = false, $user_id = 0, $is_digital = null ) {
1258
+    public static function requires_vat($requires_vat = false, $user_id = 0, $is_digital = null) {
1259 1259
         global $wpi_item_id, $wpi_country;
1260 1260
 
1261
-        if ( !empty( $_POST['wpinv_country'] ) ) {
1262
-            $country_code = trim( $_POST['wpinv_country'] );
1263
-        } else if ( !empty( $_POST['country'] ) ) {
1264
-            $country_code = trim( $_POST['country'] );
1265
-        } else if ( !empty( $wpi_country ) ) {
1261
+        if (!empty($_POST['wpinv_country'])) {
1262
+            $country_code = trim($_POST['wpinv_country']);
1263
+        } else if (!empty($_POST['country'])) {
1264
+            $country_code = trim($_POST['country']);
1265
+        } else if (!empty($wpi_country)) {
1266 1266
             $country_code = $wpi_country;
1267 1267
         } else {
1268
-            $country_code = self::get_user_country( '', $user_id );
1268
+            $country_code = self::get_user_country('', $user_id);
1269 1269
         }
1270 1270
 
1271
-        if ( $is_digital === null && $wpi_item_id ) {
1272
-            $is_digital = $wpi_item_id ? self::item_has_digital_rule( $wpi_item_id ) : self::allow_vat_rules();
1271
+        if ($is_digital === null && $wpi_item_id) {
1272
+            $is_digital = $wpi_item_id ? self::item_has_digital_rule($wpi_item_id) : self::allow_vat_rules();
1273 1273
         }
1274 1274
 
1275
-        if ( !empty( $country_code ) ) {
1276
-            $requires_vat = ( self::is_eu_state( $country_code ) && ( self::is_eu_state( wpinv_get_default_country() ) || $is_digital ) ) || ( self::is_gst_country( $country_code ) && self::is_gst_country( wpinv_get_default_country() ) );
1275
+        if (!empty($country_code)) {
1276
+            $requires_vat = (self::is_eu_state($country_code) && (self::is_eu_state(wpinv_get_default_country()) || $is_digital)) || (self::is_gst_country($country_code) && self::is_gst_country(wpinv_get_default_country()));
1277 1277
         }
1278 1278
 
1279
-        return apply_filters( 'wpinv_requires_vat', $requires_vat, $user_id );
1279
+        return apply_filters('wpinv_requires_vat', $requires_vat, $user_id);
1280 1280
     }
1281 1281
 
1282
-    public static function tax_label( $label = '' ) {
1282
+    public static function tax_label($label = '') {
1283 1283
         global $wpi_requires_vat;
1284 1284
 
1285
-        if ( !( $wpi_requires_vat !== 0 && $wpi_requires_vat ) ) {
1286
-            $wpi_requires_vat = self::requires_vat( 0, false );
1285
+        if (!($wpi_requires_vat !== 0 && $wpi_requires_vat)) {
1286
+            $wpi_requires_vat = self::requires_vat(0, false);
1287 1287
         }
1288 1288
 
1289
-        return $wpi_requires_vat ? __( self::get_vat_name(), 'invoicing' ) : ( $label ? $label : __( 'Tax', 'invoicing' ) );
1289
+        return $wpi_requires_vat ? __(self::get_vat_name(), 'invoicing') : ($label ? $label : __('Tax', 'invoicing'));
1290 1290
     }
1291 1291
 
1292 1292
     public static function standard_rates_label() {
1293
-        return __( 'Standard Rates', 'invoicing' );
1293
+        return __('Standard Rates', 'invoicing');
1294 1294
     }
1295 1295
 
1296
-    public static function get_rate_classes( $with_desc = false ) {
1297
-        $rate_classes_option = get_option( '_wpinv_vat_rate_classes', true );
1298
-        $classes = maybe_unserialize( $rate_classes_option );
1296
+    public static function get_rate_classes($with_desc = false) {
1297
+        $rate_classes_option = get_option('_wpinv_vat_rate_classes', true);
1298
+        $classes = maybe_unserialize($rate_classes_option);
1299 1299
 
1300
-        if ( empty( $classes ) || !is_array( $classes ) ) {
1300
+        if (empty($classes) || !is_array($classes)) {
1301 1301
             $classes = array();
1302 1302
         }
1303 1303
 
1304 1304
         $rate_classes = array();
1305
-        if ( !array_key_exists( '_standard', $classes ) ) {
1306
-            if ( $with_desc ) {
1307
-                $rate_classes['_standard'] = array( 'name' => self::standard_rates_label(), 'desc' => __( 'EU member states standard VAT rates', 'invoicing' ) );
1305
+        if (!array_key_exists('_standard', $classes)) {
1306
+            if ($with_desc) {
1307
+                $rate_classes['_standard'] = array('name' => self::standard_rates_label(), 'desc' => __('EU member states standard VAT rates', 'invoicing'));
1308 1308
             } else {
1309 1309
                 $rate_classes['_standard'] = self::standard_rates_label();
1310 1310
             }
1311 1311
         }
1312 1312
 
1313
-        foreach ( $classes as $key => $class ) {
1314
-            $name = !empty( $class['name'] ) ? __( $class['name'], 'invoicing' ) : $key;
1315
-            $desc = !empty( $class['desc'] ) ? __( $class['desc'], 'invoicing' ) : '';
1313
+        foreach ($classes as $key => $class) {
1314
+            $name = !empty($class['name']) ? __($class['name'], 'invoicing') : $key;
1315
+            $desc = !empty($class['desc']) ? __($class['desc'], 'invoicing') : '';
1316 1316
 
1317
-            if ( $with_desc ) {
1318
-                $rate_classes[$key] = array( 'name' => $name, 'desc' => $desc );
1317
+            if ($with_desc) {
1318
+                $rate_classes[$key] = array('name' => $name, 'desc' => $desc);
1319 1319
             } else {
1320 1320
                 $rate_classes[$key] = $name;
1321 1321
             }
@@ -1326,15 +1326,15 @@  discard block
 block discarded – undo
1326 1326
 
1327 1327
     public static function get_all_classes() {
1328 1328
         $classes            = self::get_rate_classes();
1329
-        $classes['_exempt'] = __( 'Exempt (0%)', 'invoicing' );
1329
+        $classes['_exempt'] = __('Exempt (0%)', 'invoicing');
1330 1330
 
1331
-        return apply_filters( 'wpinv_vat_get_all_classes', $classes );
1331
+        return apply_filters('wpinv_vat_get_all_classes', $classes);
1332 1332
     }
1333 1333
 
1334
-    public static function get_class_desc( $rate_class ) {
1335
-        $rate_classes = self::get_rate_classes( true );
1334
+    public static function get_class_desc($rate_class) {
1335
+        $rate_classes = self::get_rate_classes(true);
1336 1336
 
1337
-        if ( !empty( $rate_classes ) && isset( $rate_classes[$rate_class] ) && isset( $rate_classes[$rate_class]['desc'] ) ) {
1337
+        if (!empty($rate_classes) && isset($rate_classes[$rate_class]) && isset($rate_classes[$rate_class]['desc'])) {
1338 1338
             return $rate_classes[$rate_class]['desc'];
1339 1339
         }
1340 1340
 
@@ -1350,107 +1350,107 @@  discard block
 block discarded – undo
1350 1350
             'increased'     => 'Increased'
1351 1351
         );
1352 1352
 
1353
-        return apply_filters( 'wpinv_get_vat_groups', $vat_groups );
1353
+        return apply_filters('wpinv_get_vat_groups', $vat_groups);
1354 1354
     }
1355 1355
 
1356 1356
     public static function get_rules() {
1357 1357
         $vat_rules = array(
1358
-            'digital' => __( 'Digital Product', 'invoicing' ),
1359
-            'physical' => __( 'Physical Product', 'invoicing' ),
1360
-            '_exempt' => __( 'Tax-Free Product', 'invoicing' ),
1358
+            'digital' => __('Digital Product', 'invoicing'),
1359
+            'physical' => __('Physical Product', 'invoicing'),
1360
+            '_exempt' => __('Tax-Free Product', 'invoicing'),
1361 1361
         );
1362
-        return apply_filters( 'wpinv_get_vat_rules', $vat_rules );
1362
+        return apply_filters('wpinv_get_vat_rules', $vat_rules);
1363 1363
     }
1364 1364
 
1365
-    public static function get_vat_rates( $class ) {
1366
-        if ( $class === '_standard' ) {
1365
+    public static function get_vat_rates($class) {
1366
+        if ($class === '_standard') {
1367 1367
             return wpinv_get_tax_rates();
1368 1368
         }
1369 1369
 
1370 1370
         $rates = self::get_non_standard_rates();
1371 1371
 
1372
-        return array_key_exists( $class, $rates ) ? $rates[$class] : array();
1372
+        return array_key_exists($class, $rates) ? $rates[$class] : array();
1373 1373
     }
1374 1374
 
1375 1375
     public static function get_non_standard_rates() {
1376
-        $option = get_option( 'wpinv_vat_rates', array());
1377
-        return is_array( $option ) ? $option : array();
1376
+        $option = get_option('wpinv_vat_rates', array());
1377
+        return is_array($option) ? $option : array();
1378 1378
     }
1379 1379
 
1380 1380
     public static function allow_vat_rules() {
1381
-        return ( wpinv_use_taxes() && wpinv_get_option( 'apply_vat_rules' ) ? true : false );
1381
+        return (wpinv_use_taxes() && wpinv_get_option('apply_vat_rules') ? true : false);
1382 1382
     }
1383 1383
 
1384 1384
     public static function allow_vat_classes() {
1385 1385
         return false; // TODO
1386
-        return ( wpinv_get_option( 'vat_allow_classes' ) ? true : false );
1386
+        return (wpinv_get_option('vat_allow_classes') ? true : false);
1387 1387
     }
1388 1388
 
1389
-    public static function get_item_class( $postID ) {
1390
-        $class = get_post_meta( $postID, '_wpinv_vat_class', true );
1389
+    public static function get_item_class($postID) {
1390
+        $class = get_post_meta($postID, '_wpinv_vat_class', true);
1391 1391
 
1392
-        if ( empty( $class ) ) {
1392
+        if (empty($class)) {
1393 1393
             $class = '_standard';
1394 1394
         }
1395 1395
 
1396
-        return apply_filters( 'wpinv_get_item_vat_class', $class, $postID );
1396
+        return apply_filters('wpinv_get_item_vat_class', $class, $postID);
1397 1397
     }
1398 1398
 
1399
-    public static function item_class_label( $postID ) {
1399
+    public static function item_class_label($postID) {
1400 1400
         $vat_classes = self::get_all_classes();
1401 1401
 
1402
-        $class = self::get_item_class( $postID );
1403
-        $class = isset( $vat_classes[$class] ) ? $vat_classes[$class] : __( $class, 'invoicing' );
1402
+        $class = self::get_item_class($postID);
1403
+        $class = isset($vat_classes[$class]) ? $vat_classes[$class] : __($class, 'invoicing');
1404 1404
 
1405
-        return apply_filters( 'wpinv_item_class_label', $class, $postID );
1405
+        return apply_filters('wpinv_item_class_label', $class, $postID);
1406 1406
     }
1407 1407
 
1408
-    public static function get_item_rule( $postID ) {
1409
-        $rule_type = get_post_meta( $postID, '_wpinv_vat_rule', true );
1408
+    public static function get_item_rule($postID) {
1409
+        $rule_type = get_post_meta($postID, '_wpinv_vat_rule', true);
1410 1410
 
1411
-        if ( empty( $rule_type ) ) {
1411
+        if (empty($rule_type)) {
1412 1412
             $rule_type = self::allow_vat_rules() ? 'digital' : 'physical';
1413 1413
         }
1414 1414
 
1415
-        return apply_filters( 'wpinv_item_get_vat_rule', $rule_type, $postID );
1415
+        return apply_filters('wpinv_item_get_vat_rule', $rule_type, $postID);
1416 1416
     }
1417 1417
 
1418
-    public static function item_rule_label( $postID ) {
1418
+    public static function item_rule_label($postID) {
1419 1419
         $vat_rules  = self::get_rules();
1420
-        $vat_rule   = self::get_item_rule( $postID );
1421
-        $vat_rule   = isset( $vat_rules[$vat_rule] ) ? $vat_rules[$vat_rule] : $vat_rule;
1420
+        $vat_rule   = self::get_item_rule($postID);
1421
+        $vat_rule   = isset($vat_rules[$vat_rule]) ? $vat_rules[$vat_rule] : $vat_rule;
1422 1422
 
1423
-        return apply_filters( 'wpinv_item_rule_label', $vat_rule, $postID );
1423
+        return apply_filters('wpinv_item_rule_label', $vat_rule, $postID);
1424 1424
     }
1425 1425
 
1426
-    public static function item_has_digital_rule( $item_id = 0 ) {
1427
-        return self::get_item_rule( $item_id ) == 'digital' ? true : false;
1426
+    public static function item_has_digital_rule($item_id = 0) {
1427
+        return self::get_item_rule($item_id) == 'digital' ? true : false;
1428 1428
     }
1429 1429
 
1430
-    public static function invoice_has_digital_rule( $invoice = 0 ) {
1431
-        if ( !self::allow_vat_rules() ) {
1430
+    public static function invoice_has_digital_rule($invoice = 0) {
1431
+        if (!self::allow_vat_rules()) {
1432 1432
             return false;
1433 1433
         }
1434 1434
 
1435
-        if ( empty( $invoice ) ) {
1435
+        if (empty($invoice)) {
1436 1436
             return true;
1437 1437
         }
1438 1438
 
1439
-        if ( is_int( $invoice ) ) {
1440
-            $invoice = new WPInv_Invoice( $invoice );
1439
+        if (is_int($invoice)) {
1440
+            $invoice = new WPInv_Invoice($invoice);
1441 1441
         }
1442 1442
 
1443
-        if ( !( is_object( $invoice ) && is_a( $invoice, 'WPInv_Invoice' ) ) ) {
1443
+        if (!(is_object($invoice) && is_a($invoice, 'WPInv_Invoice'))) {
1444 1444
             return true;
1445 1445
         }
1446 1446
 
1447
-        $cart_items  = $invoice->get_cart_details();
1447
+        $cart_items = $invoice->get_cart_details();
1448 1448
 
1449
-        if ( !empty( $cart_items ) ) {
1449
+        if (!empty($cart_items)) {
1450 1450
             $has_digital_rule = false;
1451 1451
 
1452
-            foreach ( $cart_items as $key => $item ) {
1453
-                if ( self::item_has_digital_rule( $item['id'] ) ) {
1452
+            foreach ($cart_items as $key => $item) {
1453
+                if (self::item_has_digital_rule($item['id'])) {
1454 1454
                     $has_digital_rule = true;
1455 1455
                     break;
1456 1456
                 }
@@ -1462,71 +1462,71 @@  discard block
 block discarded – undo
1462 1462
         return $has_digital_rule;
1463 1463
     }
1464 1464
 
1465
-    public static function item_is_taxable( $item_id = 0, $country = false, $state = false ) {
1466
-        if ( !wpinv_use_taxes() ) {
1465
+    public static function item_is_taxable($item_id = 0, $country = false, $state = false) {
1466
+        if (!wpinv_use_taxes()) {
1467 1467
             return false;
1468 1468
         }
1469 1469
 
1470 1470
         $is_taxable = true;
1471 1471
 
1472
-        if ( !empty( $item_id ) && self::get_item_class( $item_id ) == '_exempt' ) {
1472
+        if (!empty($item_id) && self::get_item_class($item_id) == '_exempt') {
1473 1473
             $is_taxable = false;
1474 1474
         }
1475 1475
 
1476
-        if ( !empty( $item_id ) && self::get_item_rule( $item_id ) == '_exempt' ) {
1476
+        if (!empty($item_id) && self::get_item_rule($item_id) == '_exempt') {
1477 1477
             $is_taxable = false;
1478 1478
         }
1479 1479
 
1480
-        return apply_filters( 'wpinv_item_is_taxable', $is_taxable, $item_id, $country , $state );
1480
+        return apply_filters('wpinv_item_is_taxable', $is_taxable, $item_id, $country, $state);
1481 1481
     }
1482 1482
 
1483
-    public static function find_rate( $country, $state, $rate, $class ) {
1483
+    public static function find_rate($country, $state, $rate, $class) {
1484 1484
         global $wpi_zero_tax;
1485 1485
 
1486
-        if ( $class === '_exempt' || $wpi_zero_tax ) {
1486
+        if ($class === '_exempt' || $wpi_zero_tax) {
1487 1487
             return 0;
1488 1488
         }
1489 1489
 
1490
-        $tax_rates   = wpinv_get_tax_rates();
1490
+        $tax_rates = wpinv_get_tax_rates();
1491 1491
 
1492
-        if ( $class !== '_standard' ) {
1493
-            $class_rates = self::get_vat_rates( $class );
1492
+        if ($class !== '_standard') {
1493
+            $class_rates = self::get_vat_rates($class);
1494 1494
 
1495
-            if ( is_array( $class_rates ) ) {
1495
+            if (is_array($class_rates)) {
1496 1496
                 $indexed_class_rates = array();
1497 1497
 
1498
-                foreach ( $class_rates as $key => $cr ) {
1498
+                foreach ($class_rates as $key => $cr) {
1499 1499
                     $indexed_class_rates[$cr['country']] = $cr;
1500 1500
                 }
1501 1501
 
1502
-                $tax_rates = array_map( function( $tr ) use( $indexed_class_rates ) {
1502
+                $tax_rates = array_map(function($tr) use($indexed_class_rates) {
1503 1503
                     $tr_country = $tr['country'];
1504
-                    if ( !isset( $indexed_class_rates[$tr_country] ) ) {
1504
+                    if (!isset($indexed_class_rates[$tr_country])) {
1505 1505
                         return $tr;
1506 1506
                     }
1507 1507
                     $icr = $indexed_class_rates[$tr_country];
1508
-                    return ( empty( $icr['rate'] ) && $icr['rate'] !== '0' ) ? $tr : $icr;
1508
+                    return (empty($icr['rate']) && $icr['rate'] !== '0') ? $tr : $icr;
1509 1509
 
1510
-                }, $tax_rates, $class_rates );
1510
+                }, $tax_rates, $class_rates);
1511 1511
             }
1512 1512
         }
1513 1513
 
1514
-        if ( !empty( $tax_rates ) ) {
1515
-            foreach ( $tax_rates as $key => $tax_rate ) {
1516
-                if ( $country != $tax_rate['country'] )
1514
+        if (!empty($tax_rates)) {
1515
+            foreach ($tax_rates as $key => $tax_rate) {
1516
+                if ($country != $tax_rate['country'])
1517 1517
                     continue;
1518 1518
 
1519
-                if ( !empty( $tax_rate['global'] ) ) {
1520
-                    if ( 0 !== $tax_rate['rate'] || !empty( $tax_rate['rate'] ) ) {
1521
-                        $rate = number_format( $tax_rate['rate'], 4 );
1519
+                if (!empty($tax_rate['global'])) {
1520
+                    if (0 !== $tax_rate['rate'] || !empty($tax_rate['rate'])) {
1521
+                        $rate = number_format($tax_rate['rate'], 4);
1522 1522
                     }
1523 1523
                 } else {
1524
-                    if ( empty( $tax_rate['state'] ) || strtolower( $state ) != strtolower( $tax_rate['state'] ) )
1524
+                    if (empty($tax_rate['state']) || strtolower($state) != strtolower($tax_rate['state']))
1525 1525
                         continue;
1526 1526
 
1527 1527
                     $state_rate = $tax_rate['rate'];
1528
-                    if ( 0 !== $state_rate || !empty( $state_rate ) ) {
1529
-                        $rate = number_format( $state_rate, 4 );
1528
+                    if (0 !== $state_rate || !empty($state_rate)) {
1529
+                        $rate = number_format($state_rate, 4);
1530 1530
                     }
1531 1531
                 }
1532 1532
             }
@@ -1535,84 +1535,84 @@  discard block
 block discarded – undo
1535 1535
         return $rate;
1536 1536
     }
1537 1537
 
1538
-    public static function get_rate( $rate = 1, $country = '', $state = '', $item_id = 0 ) {
1538
+    public static function get_rate($rate = 1, $country = '', $state = '', $item_id = 0) {
1539 1539
         global $wpinv_options, $wpi_item_id, $wpi_zero_tax;
1540 1540
 
1541 1541
         $item_id = $item_id > 0 ? $item_id : $wpi_item_id;
1542 1542
         $allow_vat_classes = self::allow_vat_classes();
1543
-        $class = $item_id ? self::get_item_class( $item_id ) : '_standard';
1543
+        $class = $item_id ? self::get_item_class($item_id) : '_standard';
1544 1544
 
1545
-        if ( $class === '_exempt' || $wpi_zero_tax ) {
1545
+        if ($class === '_exempt' || $wpi_zero_tax) {
1546 1546
             return 0;
1547
-        } else if ( !$allow_vat_classes ) {
1547
+        } else if (!$allow_vat_classes) {
1548 1548
             $class = '_standard';
1549 1549
         }
1550 1550
 
1551
-        if( !empty( $_POST['wpinv_country'] ) ) {
1551
+        if (!empty($_POST['wpinv_country'])) {
1552 1552
             $post_country = $_POST['wpinv_country'];
1553
-        } elseif( !empty( $_POST['wpinv_country'] ) ) {
1553
+        } elseif (!empty($_POST['wpinv_country'])) {
1554 1554
             $post_country = $_POST['wpinv_country'];
1555
-        } elseif( !empty( $_POST['country'] ) ) {
1555
+        } elseif (!empty($_POST['country'])) {
1556 1556
             $post_country = $_POST['country'];
1557 1557
         } else {
1558 1558
             $post_country = '';
1559 1559
         }
1560 1560
 
1561
-        $country        = !empty( $post_country ) ? $post_country : wpinv_default_billing_country( $country );
1562
-        $base_country   = wpinv_is_base_country( $country );
1561
+        $country        = !empty($post_country) ? $post_country : wpinv_default_billing_country($country);
1562
+        $base_country   = wpinv_is_base_country($country);
1563 1563
 
1564
-        $requires_vat   = self::requires_vat( 0, false );
1565
-        $is_digital     = self::get_item_rule( $item_id ) == 'digital' ;
1566
-        $rate           = $requires_vat && isset( $wpinv_options['eu_fallback_rate'] ) ? $wpinv_options['eu_fallback_rate'] : $rate;
1564
+        $requires_vat   = self::requires_vat(0, false);
1565
+        $is_digital     = self::get_item_rule($item_id) == 'digital';
1566
+        $rate           = $requires_vat && isset($wpinv_options['eu_fallback_rate']) ? $wpinv_options['eu_fallback_rate'] : $rate;
1567 1567
 
1568
-        if ( self::same_country_rule() == 'no' && $base_country ) { // Disable VAT to same country
1568
+        if (self::same_country_rule() == 'no' && $base_country) { // Disable VAT to same country
1569 1569
             $rate = 0;
1570
-        } else if ( $requires_vat ) {
1571
-            $vat_number = self::get_user_vat_number( '', 0, true );
1570
+        } else if ($requires_vat) {
1571
+            $vat_number = self::get_user_vat_number('', 0, true);
1572 1572
             $vat_info   = self::current_vat_data();
1573 1573
 
1574
-            if ( is_array( $vat_info ) ) {
1575
-                $vat_number = isset( $vat_info['number'] ) && !empty( $vat_info['valid'] ) ? $vat_info['number'] : "";
1574
+            if (is_array($vat_info)) {
1575
+                $vat_number = isset($vat_info['number']) && !empty($vat_info['valid']) ? $vat_info['number'] : "";
1576 1576
             }
1577 1577
 
1578
-            if ( $country == 'UK' ) {
1578
+            if ($country == 'UK') {
1579 1579
                 $country = 'GB';
1580 1580
             }
1581 1581
 
1582
-            if ( !empty( $vat_number ) ) {
1582
+            if (!empty($vat_number)) {
1583 1583
                 $rate = 0;
1584 1584
             } else {
1585
-                $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
1585
+                $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
1586 1586
             }
1587 1587
 
1588
-            if ( empty( $vat_number ) && !$is_digital ) {
1589
-                if ( $base_country ) {
1590
-                    $rate = self::find_rate( $country, null, $rate, $class );
1588
+            if (empty($vat_number) && !$is_digital) {
1589
+                if ($base_country) {
1590
+                    $rate = self::find_rate($country, null, $rate, $class);
1591 1591
                 } else {
1592
-                    if ( empty( $country ) && isset( $wpinv_options['eu_fallback_rate'] ) ) {
1592
+                    if (empty($country) && isset($wpinv_options['eu_fallback_rate'])) {
1593 1593
                         $rate = $wpinv_options['eu_fallback_rate'];
1594
-                    } else if( !empty( $country ) ) {
1595
-                        $rate = self::find_rate( $country, $state, $rate, $class );
1594
+                    } else if (!empty($country)) {
1595
+                        $rate = self::find_rate($country, $state, $rate, $class);
1596 1596
                     }
1597 1597
                 }
1598
-            } else if ( empty( $vat_number ) || ( self::same_country_rule() == 'always' && $base_country ) ) {
1599
-                if ( empty( $country ) && isset( $wpinv_options['eu_fallback_rate'] ) ) {
1598
+            } else if (empty($vat_number) || (self::same_country_rule() == 'always' && $base_country)) {
1599
+                if (empty($country) && isset($wpinv_options['eu_fallback_rate'])) {
1600 1600
                     $rate = $wpinv_options['eu_fallback_rate'];
1601
-                } else if( !empty( $country ) ) {
1602
-                    $rate = self::find_rate( $country, $state, $rate, $class );
1601
+                } else if (!empty($country)) {
1602
+                    $rate = self::find_rate($country, $state, $rate, $class);
1603 1603
                 }
1604 1604
             }
1605 1605
         } else {
1606
-            if ( $is_digital ) {
1606
+            if ($is_digital) {
1607 1607
                 $ip_country_code = self::get_country_by_ip();
1608 1608
 
1609
-                if ( $ip_country_code && self::is_eu_state( $ip_country_code ) ) {
1610
-                    $rate = self::find_rate( $ip_country_code, '', 0, $class );
1609
+                if ($ip_country_code && self::is_eu_state($ip_country_code)) {
1610
+                    $rate = self::find_rate($ip_country_code, '', 0, $class);
1611 1611
                 } else {
1612
-                    $rate = self::find_rate( $country, $state, $rate, $class );
1612
+                    $rate = self::find_rate($country, $state, $rate, $class);
1613 1613
                 }
1614 1614
             } else {
1615
-                $rate = self::find_rate( $country, $state, $rate, $class );
1615
+                $rate = self::find_rate($country, $state, $rate, $class);
1616 1616
             }
1617 1617
         }
1618 1618
 
@@ -1620,48 +1620,48 @@  discard block
 block discarded – undo
1620 1620
     }
1621 1621
 
1622 1622
     public static function current_vat_data() {
1623
-        return getpaid_session()->get( 'user_vat_data' );
1623
+        return getpaid_session()->get('user_vat_data');
1624 1624
     }
1625 1625
 
1626
-    public static function get_user_country( $country = '', $user_id = 0 ) {
1627
-        $user_address = wpinv_get_user_address( $user_id, false );
1626
+    public static function get_user_country($country = '', $user_id = 0) {
1627
+        $user_address = wpinv_get_user_address($user_id, false);
1628 1628
 
1629
-        if ( wpinv_get_option( 'vat_ip_country_default' ) ) {
1629
+        if (wpinv_get_option('vat_ip_country_default')) {
1630 1630
             $country = '';
1631 1631
         }
1632 1632
 
1633
-        $country    = empty( $user_address ) || !isset( $user_address['country'] ) || empty( $user_address['country'] ) ? $country : $user_address['country'];
1634
-        $result     = apply_filters( 'wpinv_get_user_country', $country, $user_id );
1633
+        $country    = empty($user_address) || !isset($user_address['country']) || empty($user_address['country']) ? $country : $user_address['country'];
1634
+        $result     = apply_filters('wpinv_get_user_country', $country, $user_id);
1635 1635
 
1636
-        if ( empty( $result ) ) {
1636
+        if (empty($result)) {
1637 1637
             $result = self::get_country_by_ip();
1638 1638
         }
1639 1639
 
1640 1640
         return $result;
1641 1641
     }
1642 1642
 
1643
-    public static function set_user_country( $country = '', $user_id = 0 ) {
1643
+    public static function set_user_country($country = '', $user_id = 0) {
1644 1644
         global $wpi_userID;
1645 1645
 
1646
-        if ( empty($country) && !empty($wpi_userID) && get_current_user_id() != $wpi_userID ) {
1646
+        if (empty($country) && !empty($wpi_userID) && get_current_user_id() != $wpi_userID) {
1647 1647
             $country = wpinv_get_default_country();
1648 1648
         }
1649 1649
 
1650 1650
         return $country;
1651 1651
     }
1652 1652
 
1653
-    public static function get_user_vat_number( $vat_number = '', $user_id = 0, $is_valid = false ) {
1653
+    public static function get_user_vat_number($vat_number = '', $user_id = 0, $is_valid = false) {
1654 1654
         global $wpi_current_id, $wpi_userID;
1655 1655
 
1656
-        if ( !empty( $_POST['new_user'] ) ) {
1656
+        if (!empty($_POST['new_user'])) {
1657 1657
             return '';
1658 1658
         }
1659 1659
 
1660
-        if ( empty( $user_id ) ) {
1661
-            $user_id = !empty( $wpi_userID ) ? $wpi_userID : ( $wpi_current_id ? wpinv_get_user_id( $wpi_current_id ) : get_current_user_id() );
1660
+        if (empty($user_id)) {
1661
+            $user_id = !empty($wpi_userID) ? $wpi_userID : ($wpi_current_id ? wpinv_get_user_id($wpi_current_id) : get_current_user_id());
1662 1662
         }
1663 1663
 
1664
-        $vat_number = empty( $user_id ) ? '' : get_user_meta( $user_id, '_wpinv_vat_number', true );
1664
+        $vat_number = empty($user_id) ? '' : get_user_meta($user_id, '_wpinv_vat_number', true);
1665 1665
 
1666 1666
         /* TODO
1667 1667
         if ( $is_valid && $vat_number ) {
@@ -1672,38 +1672,38 @@  discard block
 block discarded – undo
1672 1672
         }
1673 1673
         */
1674 1674
 
1675
-        return apply_filters('wpinv_get_user_vat_number', $vat_number, $user_id, $is_valid );
1675
+        return apply_filters('wpinv_get_user_vat_number', $vat_number, $user_id, $is_valid);
1676 1676
     }
1677 1677
 
1678
-    public static function get_user_company( $company = '', $user_id = 0 ) {
1678
+    public static function get_user_company($company = '', $user_id = 0) {
1679 1679
         global $wpi_current_id, $wpi_userID;
1680 1680
 
1681
-        if ( empty( $user_id ) ) {
1682
-            $user_id = !empty( $wpi_userID ) ? $wpi_userID : ( $wpi_current_id ? wpinv_get_user_id( $wpi_current_id ) : get_current_user_id() );
1681
+        if (empty($user_id)) {
1682
+            $user_id = !empty($wpi_userID) ? $wpi_userID : ($wpi_current_id ? wpinv_get_user_id($wpi_current_id) : get_current_user_id());
1683 1683
         }
1684 1684
 
1685
-        $company = empty( $user_id ) ? "" : get_user_meta( $user_id, '_wpinv_company', true );
1685
+        $company = empty($user_id) ? "" : get_user_meta($user_id, '_wpinv_company', true);
1686 1686
 
1687
-        return apply_filters( 'wpinv_user_company', $company, $user_id );
1687
+        return apply_filters('wpinv_user_company', $company, $user_id);
1688 1688
     }
1689 1689
 
1690
-    public static function save_user_vat_details( $company = '', $vat_number = '' ) {
1691
-        $save = apply_filters( 'wpinv_allow_save_user_vat_details', true );
1690
+    public static function save_user_vat_details($company = '', $vat_number = '') {
1691
+        $save = apply_filters('wpinv_allow_save_user_vat_details', true);
1692 1692
 
1693
-        if ( is_user_logged_in() && $save ) {
1693
+        if (is_user_logged_in() && $save) {
1694 1694
             $user_id = get_current_user_id();
1695 1695
 
1696
-            if ( !empty( $vat_number ) ) {
1697
-                update_user_meta( $user_id, '_wpinv_vat_number', $vat_number );
1696
+            if (!empty($vat_number)) {
1697
+                update_user_meta($user_id, '_wpinv_vat_number', $vat_number);
1698 1698
             } else {
1699
-                delete_user_meta( $user_id, '_wpinv_vat_number');
1699
+                delete_user_meta($user_id, '_wpinv_vat_number');
1700 1700
             }
1701 1701
 
1702
-            if ( !empty( $company ) ) {
1703
-                update_user_meta( $user_id, '_wpinv_company', $company );
1702
+            if (!empty($company)) {
1703
+                update_user_meta($user_id, '_wpinv_company', $company);
1704 1704
             } else {
1705
-                delete_user_meta( $user_id, '_wpinv_company');
1706
-                delete_user_meta( $user_id, '_wpinv_vat_number');
1705
+                delete_user_meta($user_id, '_wpinv_company');
1706
+                delete_user_meta($user_id, '_wpinv_vat_number');
1707 1707
             }
1708 1708
         }
1709 1709
 
@@ -1716,74 +1716,74 @@  discard block
 block discarded – undo
1716 1716
         $response               = array();
1717 1717
         $response['success']    = false;
1718 1718
 
1719
-        if ( empty( $_REQUEST['_wpi_nonce'] ) || ( !empty( $_REQUEST['_wpi_nonce'] ) && !wp_verify_nonce( $_REQUEST['_wpi_nonce'], 'vat_validation' ) ) ) {
1720
-            $response['error'] = __( 'Invalid security nonce', 'invoicing' );
1721
-            wp_send_json( $response );
1719
+        if (empty($_REQUEST['_wpi_nonce']) || (!empty($_REQUEST['_wpi_nonce']) && !wp_verify_nonce($_REQUEST['_wpi_nonce'], 'vat_validation'))) {
1720
+            $response['error'] = __('Invalid security nonce', 'invoicing');
1721
+            wp_send_json($response);
1722 1722
         }
1723 1723
 
1724 1724
         $vat_name   = self::get_vat_name();
1725 1725
 
1726
-        $company    = !empty( $_POST['company'] ) ? sanitize_text_field( $_POST['company'] ) : '';
1727
-        $vat_number = !empty( $_POST['number'] ) ? sanitize_text_field( $_POST['number'] ) : '';
1726
+        $company    = !empty($_POST['company']) ? sanitize_text_field($_POST['company']) : '';
1727
+        $vat_number = !empty($_POST['number']) ? sanitize_text_field($_POST['number']) : '';
1728 1728
 
1729
-        $vat_info = getpaid_session()->get( 'user_vat_data' );
1730
-        if ( !is_array( $vat_info ) || empty( $vat_info ) ) {
1731
-            $vat_info = array( 'company'=> $company, 'number' => '', 'valid' => true );
1729
+        $vat_info = getpaid_session()->get('user_vat_data');
1730
+        if (!is_array($vat_info) || empty($vat_info)) {
1731
+            $vat_info = array('company'=> $company, 'number' => '', 'valid' => true);
1732 1732
         }
1733 1733
 
1734
-        if ( empty( $vat_number ) ) {
1735
-            $response['error'] = wp_sprintf( __( 'Please enter your %s number!', 'invoicing' ), $vat_name );
1734
+        if (empty($vat_number)) {
1735
+            $response['error'] = wp_sprintf(__('Please enter your %s number!', 'invoicing'), $vat_name);
1736 1736
             $vat_info['valid'] = false;
1737
-            getpaid_session()->set( 'user_vat_data', $vat_info );
1738
-            wp_send_json( $response );
1737
+            getpaid_session()->set('user_vat_data', $vat_info);
1738
+            wp_send_json($response);
1739 1739
         }
1740 1740
 
1741
-        if ( empty( $company ) ) {
1741
+        if (empty($company)) {
1742 1742
             $vat_info['valid'] = false;
1743
-            getpaid_session()->set( 'user_vat_data', $vat_info );
1743
+            getpaid_session()->set('user_vat_data', $vat_info);
1744 1744
 
1745
-            $response['error'] = __( 'Please enter your registered company name!', 'invoicing' );
1746
-            wp_send_json( $response );
1745
+            $response['error'] = __('Please enter your registered company name!', 'invoicing');
1746
+            wp_send_json($response);
1747 1747
         }
1748 1748
 
1749
-        if ( !empty( $wpinv_options['vat_vies_check'] ) ) {
1750
-            if ( empty( $wpinv_options['vat_offline_check'] ) && !self::offline_check( $vat_number ) ) {
1749
+        if (!empty($wpinv_options['vat_vies_check'])) {
1750
+            if (empty($wpinv_options['vat_offline_check']) && !self::offline_check($vat_number)) {
1751 1751
                 $vat_info['valid'] = false;
1752
-                getpaid_session()->set( 'user_vat_data', $vat_info );
1752
+                getpaid_session()->set('user_vat_data', $vat_info);
1753 1753
 
1754
-                $response['error'] = wp_sprintf( __( '%s number not validated', 'invoicing' ), $vat_name );
1755
-                wp_send_json( $response );
1754
+                $response['error'] = wp_sprintf(__('%s number not validated', 'invoicing'), $vat_name);
1755
+                wp_send_json($response);
1756 1756
             }
1757 1757
 
1758 1758
             $response['success'] = true;
1759
-            $response['message'] = wp_sprintf( __( '%s number validated', 'invoicing' ), $vat_name );
1759
+            $response['message'] = wp_sprintf(__('%s number validated', 'invoicing'), $vat_name);
1760 1760
         } else {
1761
-            $result = self::check_vat( $vat_number );
1761
+            $result = self::check_vat($vat_number);
1762 1762
 
1763
-            if ( empty( $result['valid'] ) ) {
1763
+            if (empty($result['valid'])) {
1764 1764
                 $response['error'] = $result['message'];
1765
-                wp_send_json( $response );
1765
+                wp_send_json($response);
1766 1766
             }
1767 1767
 
1768
-            $vies_company = !empty( $result['company'] ) ? $result['company'] : '';
1769
-            $vies_company = apply_filters( 'wpinv_vies_company_name', $vies_company );
1768
+            $vies_company = !empty($result['company']) ? $result['company'] : '';
1769
+            $vies_company = apply_filters('wpinv_vies_company_name', $vies_company);
1770 1770
 
1771
-            $valid_company = $vies_company && $company && ( $vies_company == '---' || strcasecmp( trim( $vies_company ), trim( $company ) ) == 0 ) ? true : false;
1771
+            $valid_company = $vies_company && $company && ($vies_company == '---' || strcasecmp(trim($vies_company), trim($company)) == 0) ? true : false;
1772 1772
 
1773
-            if ( !empty( $wpinv_options['vat_disable_company_name_check'] ) || $valid_company ) {
1773
+            if (!empty($wpinv_options['vat_disable_company_name_check']) || $valid_company) {
1774 1774
                 $response['success'] = true;
1775
-                $response['message'] = wp_sprintf( __( '%s number validated', 'invoicing' ), $vat_name );
1775
+                $response['message'] = wp_sprintf(__('%s number validated', 'invoicing'), $vat_name);
1776 1776
             } else {
1777 1777
                 $vat_info['valid'] = false;
1778
-                getpaid_session()->set( 'user_vat_data', $vat_info );
1778
+                getpaid_session()->set('user_vat_data', $vat_info);
1779 1779
 
1780 1780
                 $response['success'] = false;
1781
-                $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 );
1782
-                wp_send_json( $response );
1781
+                $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);
1782
+                wp_send_json($response);
1783 1783
             }
1784 1784
         }
1785 1785
 
1786
-        wp_send_json( $response );
1786
+        wp_send_json($response);
1787 1787
     }
1788 1788
 
1789 1789
     /**
@@ -1791,16 +1791,16 @@  discard block
 block discarded – undo
1791 1791
      * 
1792 1792
      * @return string
1793 1793
      */
1794
-    public static function validate_vat_number( $vat_number, $company, $country ) {
1794
+    public static function validate_vat_number($vat_number, $company, $country) {
1795 1795
         global $wpinv_options;
1796 1796
 
1797 1797
         // If we are not checking the vat number via view...
1798
-        if ( ! empty( $wpinv_options['vat_vies_check'] ) ) {
1798
+        if (!empty($wpinv_options['vat_vies_check'])) {
1799 1799
 
1800 1800
             // Try validating via regex.
1801
-            if ( empty( $wpinv_options['vat_offline_check'] ) && ! self::offline_check( $vat_number, $country ) ) {
1801
+            if (empty($wpinv_options['vat_offline_check']) && !self::offline_check($vat_number, $country)) {
1802 1802
                 return wp_sprintf(
1803
-                    __( 'Your %s number is invalid', 'invoicing' ),
1803
+                    __('Your %s number is invalid', 'invoicing'),
1804 1804
                     getpaid_vat_name()
1805 1805
                 );
1806 1806
             }
@@ -1809,23 +1809,23 @@  discard block
 block discarded – undo
1809 1809
         }
1810 1810
 
1811 1811
         // Validate the vat number.
1812
-        $result = self::check_vat( $vat_number, $country );
1812
+        $result = self::check_vat($vat_number, $country);
1813 1813
 
1814
-        if ( empty( $result['valid'] ) ) {
1814
+        if (empty($result['valid'])) {
1815 1815
             return wp_sprintf(
1816
-                __( 'Failed to validate the %s number via EU Commission VAT server (VIES).', 'invoicing' ),
1816
+                __('Failed to validate the %s number via EU Commission VAT server (VIES).', 'invoicing'),
1817 1817
                 getpaid_vat_name()
1818 1818
             );
1819 1819
         }
1820 1820
 
1821 1821
         // Validate the company.
1822
-        $vies_company  = ! empty( $result['company'] ) ? $result['company'] : '';
1823
-        $vies_company  = apply_filters( 'wpinv_vies_company_name', $vies_company );
1824
-        $valid_company = $vies_company && $company && ( $vies_company == '---' || strcasecmp( trim( $vies_company ), trim( $company ) ) == 0 ) ? true : false;
1822
+        $vies_company  = !empty($result['company']) ? $result['company'] : '';
1823
+        $vies_company  = apply_filters('wpinv_vies_company_name', $vies_company);
1824
+        $valid_company = $vies_company && $company && ($vies_company == '---' || strcasecmp(trim($vies_company), trim($company)) == 0) ? true : false;
1825 1825
 
1826
-        if ( ! $valid_company && ! empty( $wpinv_options['vat_disable_company_name_check'] ) ) {
1826
+        if (!$valid_company && !empty($wpinv_options['vat_disable_company_name_check'])) {
1827 1827
            return wp_sprintf(
1828
-                __( 'The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing' ),
1828
+                __('The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing'),
1829 1829
                 getpaid_vat_name()
1830 1830
             );
1831 1831
         }
Please login to merge, or discard this patch.
includes/data/admin-settings.php 1 patch
Spacing   +138 added lines, -138 removed lines patch added patch discarded remove patch
@@ -8,201 +8,201 @@  discard block
 block discarded – undo
8 8
  * @version 1.0.19
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13
-$pages = wpinv_get_pages( true );
13
+$pages = wpinv_get_pages(true);
14 14
     
15 15
 $currencies = wpinv_get_currencies();
16 16
     
17 17
 $currency_code_options = array();
18
-foreach ( $currencies as $code => $name ) {
19
-    $currency_code_options[ $code ] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol( $code ) . ')';
18
+foreach ($currencies as $code => $name) {
19
+    $currency_code_options[$code] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol($code) . ')';
20 20
 }
21 21
     
22 22
 $due_payment_options       = array();
23
-$due_payment_options[0]    = __( 'Now', 'invoicing' );
24
-for ( $i = 1; $i <= 30; $i++ ) {
23
+$due_payment_options[0]    = __('Now', 'invoicing');
24
+for ($i = 1; $i <= 30; $i++) {
25 25
     $due_payment_options[$i] = $i;
26 26
 }
27 27
     
28 28
 $invoice_number_padd_options = array();
29
-for ( $i = 0; $i <= 20; $i++ ) {
29
+for ($i = 0; $i <= 20; $i++) {
30 30
     $invoice_number_padd_options[$i] = $i;
31 31
 }
32 32
     
33 33
 $currency_symbol = wpinv_currency_symbol();
34 34
     
35 35
 $last_number = $reset_number = '';
36
-if ( $last_invoice_number = get_option( 'wpinv_last_invoice_number' ) ) {
37
-    $last_invoice_number = preg_replace( '/[^0-9]/', '', $last_invoice_number );
36
+if ($last_invoice_number = get_option('wpinv_last_invoice_number')) {
37
+    $last_invoice_number = preg_replace('/[^0-9]/', '', $last_invoice_number);
38 38
 
39
-    if ( !empty( $last_invoice_number ) ) {
40
-        $last_number = ' ' . wp_sprintf( __( "( Last Invoice's sequential number: <b>%s</b> )", 'invoicing' ), $last_invoice_number );
39
+    if (!empty($last_invoice_number)) {
40
+        $last_number = ' ' . wp_sprintf(__("( Last Invoice's sequential number: <b>%s</b> )", 'invoicing'), $last_invoice_number);
41 41
     }
42 42
 
43 43
     $nonce = wp_create_nonce('reset_invoice_count');
44
-    $reset_number = '<a href="'.add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)).'" class="btn button">'.__('Force Reset Sequence', 'invoicing' ). '</a>';
44
+    $reset_number = '<a href="' . add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)) . '" class="btn button">' . __('Force Reset Sequence', 'invoicing') . '</a>';
45 45
 }
46 46
     
47 47
 $alert_wrapper_start = '<p style="color: #F00">';
48 48
 $alert_wrapper_close = '</p>';
49 49
 
50 50
 return array(
51
-    'general' => apply_filters( 'wpinv_settings_general',
51
+    'general' => apply_filters('wpinv_settings_general',
52 52
         array(
53 53
             'main' => array(
54 54
                 'location_settings' => array(
55 55
                     'id'   => 'location_settings',
56
-                    'name' => '<h3>' . __( 'Default Location', 'invoicing' ) . '</h3>',
56
+                    'name' => '<h3>' . __('Default Location', 'invoicing') . '</h3>',
57 57
                     'desc' => '',
58 58
                     'type' => 'header',
59 59
                 ),
60 60
                 'default_country' => array(
61 61
                     'id'      => 'default_country',
62
-                    'name'    => __( 'Default Country', 'invoicing' ),
63
-                    'desc'    => __( 'Where does your store operate from?', 'invoicing' ),
62
+                    'name'    => __('Default Country', 'invoicing'),
63
+                    'desc'    => __('Where does your store operate from?', 'invoicing'),
64 64
                     'type'    => 'select',
65 65
                     'options' => wpinv_get_country_list(),
66 66
                     'std'     => 'GB',
67 67
                     'class'   => 'wpi_select2',
68
-                    'placeholder' => __( 'Select a country', 'invoicing' ),
68
+                    'placeholder' => __('Select a country', 'invoicing'),
69 69
                 ),
70 70
                 'default_state' => array(
71 71
                     'id'      => 'default_state',
72
-                    'name'    => __( 'Default State / Province', 'invoicing' ),
73
-                    'desc'    => __( 'What state / province does your store operate from?', 'invoicing' ),
72
+                    'name'    => __('Default State / Province', 'invoicing'),
73
+                    'desc'    => __('What state / province does your store operate from?', 'invoicing'),
74 74
                     'type'    => 'country_states',
75 75
                     'class'   => 'wpi_select2',
76
-                    'placeholder' => __( 'Select a state', 'invoicing' ),
76
+                    'placeholder' => __('Select a state', 'invoicing'),
77 77
                 ),
78 78
                 'store_name' => array(
79 79
                     'id'   => 'store_name',
80
-                    'name' => __( 'Store Name', 'invoicing' ),
81
-                    'desc' => __( 'Store name to print on invoices.', 'invoicing' ),
80
+                    'name' => __('Store Name', 'invoicing'),
81
+                    'desc' => __('Store name to print on invoices.', 'invoicing'),
82 82
                     'std'     => get_option('blogname'),
83 83
                     'type' => 'text',
84 84
                 ),
85 85
                 'logo' => array(
86 86
                     'id'   => 'logo',
87
-                    'name' => __( 'Logo URL', 'invoicing' ),
88
-                    'desc' => __( 'Store logo to print on invoices.', 'invoicing' ),
87
+                    'name' => __('Logo URL', 'invoicing'),
88
+                    'desc' => __('Store logo to print on invoices.', 'invoicing'),
89 89
                     'type' => 'text',
90 90
                 ),
91 91
                 'store_address' => array(
92 92
                     'id'   => 'store_address',
93
-                    'name' => __( 'Store Address', 'invoicing' ),
94
-                    'desc' => __( 'Enter the store address to display on invoice', 'invoicing' ),
93
+                    'name' => __('Store Address', 'invoicing'),
94
+                    'desc' => __('Enter the store address to display on invoice', 'invoicing'),
95 95
                     'type' => 'textarea',
96 96
                 ),
97 97
                 'page_settings' => array(
98 98
                     'id'   => 'page_settings',
99
-                    'name' => '<h3>' . __( 'Page Settings', 'invoicing' ) . '</h3>',
99
+                    'name' => '<h3>' . __('Page Settings', 'invoicing') . '</h3>',
100 100
                     'desc' => '',
101 101
                     'type' => 'header',
102 102
                 ),
103 103
                 'checkout_page' => array(
104 104
                     'id'          => 'checkout_page',
105
-                    'name'        => __( 'Checkout Page', 'invoicing' ),
106
-                    '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' ),
105
+                    'name'        => __('Checkout Page', 'invoicing'),
106
+                    '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'),
107 107
                     'type'        => 'select',
108 108
                     'options'     => $pages,
109 109
                     'class'       => 'wpi_select2',
110
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
110
+                    'placeholder' => __('Select a page', 'invoicing'),
111 111
                 ),
112 112
                 'tandc_page' => array(
113 113
                     'id'          => 'tandc_page',
114
-                    'name'        => __( 'Terms & Conditions', 'invoicing' ),
115
-                    'desc'        => __( 'If you select a "Terms & Conditions" page here the customer will be asked to accept them on checkout.', 'invoicing' ),
114
+                    'name'        => __('Terms & Conditions', 'invoicing'),
115
+                    'desc'        => __('If you select a "Terms & Conditions" page here the customer will be asked to accept them on checkout.', 'invoicing'),
116 116
                     'type'        => 'select',
117
-                    'options'     => wpinv_get_pages( true,  __( 'Select a page', 'invoicing' )),
117
+                    'options'     => wpinv_get_pages(true, __('Select a page', 'invoicing')),
118 118
                     'class'       => 'wpi_select2',
119
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
119
+                    'placeholder' => __('Select a page', 'invoicing'),
120 120
                 ),
121 121
                 'success_page' => array(
122 122
                     'id'          => 'success_page',
123
-                    'name'        => __( 'Success Page', 'invoicing' ),
124
-                    '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' ),
123
+                    'name'        => __('Success Page', 'invoicing'),
124
+                    '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'),
125 125
                     'type'        => 'select',
126 126
                     'options'     => $pages,
127 127
                     'class'       => 'wpi_select2',
128
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
128
+                    'placeholder' => __('Select a page', 'invoicing'),
129 129
                 ),
130 130
                 'failure_page' => array(
131 131
                     'id'          => 'failure_page',
132
-                    'name'        => __( 'Failed Transaction Page', 'invoicing' ),
133
-                    'desc'        => __( 'This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing' ),
132
+                    'name'        => __('Failed Transaction Page', 'invoicing'),
133
+                    'desc'        => __('This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing'),
134 134
                     'type'        => 'select',
135 135
                     'options'     => $pages,
136 136
                     'class'       => 'wpi_select2',
137
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
137
+                    'placeholder' => __('Select a page', 'invoicing'),
138 138
                 ),
139 139
                 'invoice_history_page' => array(
140 140
                     'id'          => 'invoice_history_page',
141
-                    'name'        => __( 'Invoice History Page', 'invoicing' ),
142
-                    'desc'        => __( 'This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing' ),
141
+                    'name'        => __('Invoice History Page', 'invoicing'),
142
+                    'desc'        => __('This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing'),
143 143
                     'type'        => 'select',
144 144
                     'options'     => $pages,
145 145
                     'class'       => 'wpi_select2',
146
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
146
+                    'placeholder' => __('Select a page', 'invoicing'),
147 147
                 ),
148 148
                 'invoice_subscription_page' => array(
149 149
                     'id'          => 'invoice_subscription_page',
150
-                    'name'        => __( 'Invoice Subscriptions Page', 'invoicing' ),
151
-                    'desc'        => __( 'This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing' ),
150
+                    'name'        => __('Invoice Subscriptions Page', 'invoicing'),
151
+                    'desc'        => __('This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing'),
152 152
                     'type'        => 'select',
153 153
                     'options'     => $pages,
154 154
                     'class'       => 'wpi_select2',
155
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
155
+                    'placeholder' => __('Select a page', 'invoicing'),
156 156
                 ),
157 157
             ),
158 158
             'currency_section' => array(
159 159
                 'currency_settings' => array(
160 160
                     'id'   => 'currency_settings',
161
-                    'name' => '<h3>' . __( 'Currency Settings', 'invoicing' ) . '</h3>',
161
+                    'name' => '<h3>' . __('Currency Settings', 'invoicing') . '</h3>',
162 162
                     'desc' => '',
163 163
                     'type' => 'header',
164 164
                 ),
165 165
                 'currency' => array(
166 166
                     'id'      => 'currency',
167
-                    'name'    => __( 'Currency', 'invoicing' ),
168
-                    'desc'    => __( 'Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing' ),
167
+                    'name'    => __('Currency', 'invoicing'),
168
+                    'desc'    => __('Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing'),
169 169
                     'type'    => 'select',
170 170
                     'class'       => 'wpi_select2',
171 171
                     'options' => $currency_code_options,
172 172
                 ),
173 173
                 'currency_position' => array(
174 174
                     'id'      => 'currency_position',
175
-                    'name'    => __( 'Currency Position', 'invoicing' ),
176
-                    'desc'    => __( 'Choose the location of the currency sign.', 'invoicing' ),
175
+                    'name'    => __('Currency Position', 'invoicing'),
176
+                    'desc'    => __('Choose the location of the currency sign.', 'invoicing'),
177 177
                     'type'    => 'select',
178 178
                     'class'   => 'wpi_select2',
179 179
                     'options'  => array(
180
-                        'left'        => __( 'Left', 'invoicing' ) . ' (' . $currency_symbol . wpinv_format_amount( '99.99' ) . ')',
181
-                        'right'       => __( 'Right', 'invoicing' ) . ' ('. wpinv_format_amount( '99.99' ) . $currency_symbol . ')',
182
-                        'left_space'  => __( 'Left with space', 'invoicing' ) . ' (' . $currency_symbol . ' ' . wpinv_format_amount( '99.99' ) . ')',
183
-                        'right_space' => __( 'Right with space', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . ' ' . $currency_symbol . ')'
180
+                        'left'        => __('Left', 'invoicing') . ' (' . $currency_symbol . wpinv_format_amount('99.99') . ')',
181
+                        'right'       => __('Right', 'invoicing') . ' (' . wpinv_format_amount('99.99') . $currency_symbol . ')',
182
+                        'left_space'  => __('Left with space', 'invoicing') . ' (' . $currency_symbol . ' ' . wpinv_format_amount('99.99') . ')',
183
+                        'right_space' => __('Right with space', 'invoicing') . ' (' . wpinv_format_amount('99.99') . ' ' . $currency_symbol . ')'
184 184
                     )
185 185
                 ),
186 186
                 'thousands_separator' => array(
187 187
                     'id'   => 'thousands_separator',
188
-                    'name' => __( 'Thousands Separator', 'invoicing' ),
189
-                    'desc' => __( 'The symbol (usually , or .) to separate thousands', 'invoicing' ),
188
+                    'name' => __('Thousands Separator', 'invoicing'),
189
+                    'desc' => __('The symbol (usually , or .) to separate thousands', 'invoicing'),
190 190
                     'type' => 'text',
191 191
                     'size' => 'small',
192 192
                     'std'  => ',',
193 193
                 ),
194 194
                 'decimal_separator' => array(
195 195
                     'id'   => 'decimal_separator',
196
-                    'name' => __( 'Decimal Separator', 'invoicing' ),
197
-                    'desc' => __( 'The symbol (usually , or .) to separate decimal points', 'invoicing' ),
196
+                    'name' => __('Decimal Separator', 'invoicing'),
197
+                    'desc' => __('The symbol (usually , or .) to separate decimal points', 'invoicing'),
198 198
                     'type' => 'text',
199 199
                     'size' => 'small',
200 200
                     'std'  => '.',
201 201
                 ),
202 202
                 'decimals' => array(
203 203
                     'id'   => 'decimals',
204
-                    'name' => __( 'Number of Decimals', 'invoicing' ),
205
-                    'desc' => __( 'This sets the number of decimal points shown in displayed prices.', 'invoicing' ),
204
+                    'name' => __('Number of Decimals', 'invoicing'),
205
+                    'desc' => __('This sets the number of decimal points shown in displayed prices.', 'invoicing'),
206 206
                     'type' => 'number',
207 207
                     'size' => 'small',
208 208
                     'std'  => '2',
@@ -214,29 +214,29 @@  discard block
 block discarded – undo
214 214
             'labels' => array(
215 215
                 'labels' => array(
216 216
                     'id'   => 'labels_settings',
217
-                    'name' => '<h3>' . __( 'Invoice Labels', 'invoicing' ) . '</h3>',
217
+                    'name' => '<h3>' . __('Invoice Labels', 'invoicing') . '</h3>',
218 218
                     'desc' => '',
219 219
                     'type' => 'header',
220 220
                 ),
221 221
                 'vat_name' => array(
222 222
                     'id' => 'vat_name',
223
-                    'name' => __( 'VAT Name', 'invoicing' ),
224
-                    'desc' => __( 'Enter the VAT name', 'invoicing' ),
223
+                    'name' => __('VAT Name', 'invoicing'),
224
+                    'desc' => __('Enter the VAT name', 'invoicing'),
225 225
                     'type' => 'text',
226 226
                     'size' => 'regular',
227
-                    'std' => __( 'VAT', 'invoicing' ),
227
+                    'std' => __('VAT', 'invoicing'),
228 228
                 ),
229 229
                 'vat_invoice_notice_label' => array(
230 230
                     'id' => 'vat_invoice_notice_label',
231
-                    'name' => __( 'Invoice Notice Label', 'invoicing' ),
232
-                    'desc' => __( 'Use this to add an invoice notice section (label) to your invoices', 'invoicing' ),
231
+                    'name' => __('Invoice Notice Label', 'invoicing'),
232
+                    'desc' => __('Use this to add an invoice notice section (label) to your invoices', 'invoicing'),
233 233
                     'type' => 'text',
234 234
                     'size' => 'regular',
235 235
                 ),
236 236
                 'vat_invoice_notice' => array(
237 237
                     'id' => 'vat_invoice_notice',
238
-                    'name' => __( 'Invoice notice', 'invoicing' ),
239
-                    'desc' =>   __( 'Use this to add an invoice notice section (description) to your invoices', 'invoicing' ),
238
+                    'name' => __('Invoice notice', 'invoicing'),
239
+                    'desc' =>   __('Use this to add an invoice notice section (description) to your invoices', 'invoicing'),
240 240
                     'type' => 'text',
241 241
                     'size' => 'regular',
242 242
                 ),
@@ -248,22 +248,22 @@  discard block
 block discarded – undo
248 248
             'main' => array(
249 249
                 'gateway_settings' => array(
250 250
                     'id'   => 'api_header',
251
-                    'name' => '<h3>' . __( 'Gateway Settings', 'invoicing' ) . '</h3>',
251
+                    'name' => '<h3>' . __('Gateway Settings', 'invoicing') . '</h3>',
252 252
                     'desc' => '',
253 253
                     'type' => 'header',
254 254
                 ),
255 255
                 'gateways' => array(
256 256
                     'id'      => 'gateways',
257
-                    'name'    => __( 'Payment Gateways', 'invoicing' ),
258
-                    'desc'    => __( 'Choose the payment gateways you want to enable.', 'invoicing' ),
257
+                    'name'    => __('Payment Gateways', 'invoicing'),
258
+                    'desc'    => __('Choose the payment gateways you want to enable.', 'invoicing'),
259 259
                     'type'    => 'gateways',
260 260
                     'std'     => array('manual'=>1),
261 261
                     'options' => wpinv_get_payment_gateways(),
262 262
                 ),
263 263
                 'default_gateway' => array(
264 264
                     'id'      => 'default_gateway',
265
-                    'name'    => __( 'Default Gateway', 'invoicing' ),
266
-                    'desc'    => __( 'This gateway will be loaded automatically with the checkout page.', 'invoicing' ),
265
+                    'name'    => __('Default Gateway', 'invoicing'),
266
+                    'desc'    => __('This gateway will be loaded automatically with the checkout page.', 'invoicing'),
267 267
                     'type'    => 'gateway_select',
268 268
                     'std'     => 'manual',
269 269
                     'class'   => 'wpi_select2',
@@ -278,19 +278,19 @@  discard block
 block discarded – undo
278 278
             'main' => array(
279 279
                 'tax_settings' => array(
280 280
                     'id'   => 'tax_settings',
281
-                    'name' => '<h3>' . __( 'Tax Settings', 'invoicing' ) . '</h3>',
281
+                    'name' => '<h3>' . __('Tax Settings', 'invoicing') . '</h3>',
282 282
                     'type' => 'header',
283 283
                 ),
284 284
                 'enable_taxes' => array(
285 285
                     'id'   => 'enable_taxes',
286
-                    'name' => __( 'Enable Taxes', 'invoicing' ),
287
-                    'desc' => __( 'Check this to enable taxes on invoices.', 'invoicing' ),
286
+                    'name' => __('Enable Taxes', 'invoicing'),
287
+                    'desc' => __('Check this to enable taxes on invoices.', 'invoicing'),
288 288
                     'type' => 'checkbox',
289 289
                 ),
290 290
                 'tax_rate' => array(
291 291
                     'id'   => 'tax_rate',
292
-                    'name' => __( 'Fallback Tax Rate', 'invoicing' ),
293
-                    'desc' => __( 'Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing' ),
292
+                    'name' => __('Fallback Tax Rate', 'invoicing'),
293
+                    'desc' => __('Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing'),
294 294
                     'type' => 'number',
295 295
                     'size' => 'small',
296 296
                     'min'  => '0',
@@ -302,8 +302,8 @@  discard block
 block discarded – undo
302 302
             'rates' => array(
303 303
                 'tax_rates' => array(
304 304
                     'id'   => 'tax_rates',
305
-                    'name' => '<h3>' . __( 'Tax Rates', 'invoicing' ) . '</h3>',
306
-                    'desc' => __( 'Enter tax rates for specific regions.', 'invoicing' ),
305
+                    'name' => '<h3>' . __('Tax Rates', 'invoicing') . '</h3>',
306
+                    'desc' => __('Enter tax rates for specific regions.', 'invoicing'),
307 307
                     'type' => 'tax_rates',
308 308
                 ),
309 309
             )
@@ -315,68 +315,68 @@  discard block
 block discarded – undo
315 315
             'main' => array(
316 316
                 'email_settings_header' => array(
317 317
                     'id'   => 'email_settings_header',
318
-                    'name' => '<h3>' . __( 'Email Sender Options', 'invoicing' ) . '</h3>',
318
+                    'name' => '<h3>' . __('Email Sender Options', 'invoicing') . '</h3>',
319 319
                     'type' => 'header',
320 320
                 ),
321 321
                 'email_from_name' => array(
322 322
                     'id'   => 'email_from_name',
323
-                    'name' => __( 'From Name', 'invoicing' ),
324
-                    'desc' => __( 'Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing' ),
325
-                    'std' => esc_attr( get_bloginfo( 'name', 'display' ) ),
323
+                    'name' => __('From Name', 'invoicing'),
324
+                    'desc' => __('Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing'),
325
+                    'std' => esc_attr(get_bloginfo('name', 'display')),
326 326
                     'type' => 'text',
327 327
                 ),
328 328
                 'email_from' => array(
329 329
                     'id'   => 'email_from',
330
-                    'name' => __( 'From Email', 'invoicing' ),
331
-                    '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),
332
-                    'std' => get_option( 'admin_email' ),
330
+                    'name' => __('From Email', 'invoicing'),
331
+                    '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),
332
+                    'std' => get_option('admin_email'),
333 333
                     'type' => 'text',
334 334
                 ),
335 335
                 'admin_email' => array(
336 336
                     'id'   => 'admin_email',
337
-                    'name' => __( 'Admin Email', 'invoicing' ),
338
-                    'desc' => __( 'Where should we send admin notifications?', 'invoicing' ),
339
-                    'std' => get_option( 'admin_email' ),
337
+                    'name' => __('Admin Email', 'invoicing'),
338
+                    'desc' => __('Where should we send admin notifications?', 'invoicing'),
339
+                    'std' => get_option('admin_email'),
340 340
                     'type' => 'text',
341 341
                 ),
342 342
                 'overdue_settings_header' => array(
343 343
                     'id'   => 'overdue_settings_header',
344
-                    'name' => '<h3>' . __( 'Due Date Settings', 'invoicing' ) . '</h3>',
344
+                    'name' => '<h3>' . __('Due Date Settings', 'invoicing') . '</h3>',
345 345
                     'type' => 'header',
346 346
                 ),
347 347
                 'overdue_active' => array(
348 348
                     'id'   => 'overdue_active',
349
-                    'name' => __( 'Enable Due Date', 'invoicing' ),
350
-                    'desc' => __( 'Check this to enable due date option for invoices.', 'invoicing' ),
349
+                    'name' => __('Enable Due Date', 'invoicing'),
350
+                    'desc' => __('Check this to enable due date option for invoices.', 'invoicing'),
351 351
                     'type' => 'checkbox',
352 352
                     'std'  => false,
353 353
                 ),
354 354
                 'overdue_days' => array(
355 355
                     'id'          => 'overdue_days',
356
-                    'name'        => __( 'Default Due Date', 'invoicing' ),
357
-                    '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' ),
356
+                    'name'        => __('Default Due Date', 'invoicing'),
357
+                    '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'),
358 358
                     'type'        => 'select',
359 359
                     'options'     => $due_payment_options,
360 360
                     'std'         => 0,
361
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
361
+                    'placeholder' => __('Select a page', 'invoicing'),
362 362
                 ),
363 363
                 'email_template_header' => array(
364 364
                     'id'   => 'email_template_header',
365
-                    'name' => '<h3>' . __( 'Email Template', 'invoicing' ) . '</h3>',
365
+                    'name' => '<h3>' . __('Email Template', 'invoicing') . '</h3>',
366 366
                     'type' => 'header',
367 367
                 ),
368 368
                 'email_header_image' => array(
369 369
                     'id'   => 'email_header_image',
370
-                    'name' => __( 'Header Image', 'invoicing' ),
371
-                    'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing' ),
370
+                    'name' => __('Header Image', 'invoicing'),
371
+                    'desc' => __('URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing'),
372 372
                     'std' => '',
373 373
                     'type' => 'text',
374 374
                 ),
375 375
                 'email_footer_text' => array(
376 376
                     'id'   => 'email_footer_text',
377
-                    'name' => __( 'Footer Text', 'invoicing' ),
378
-                    'desc' => __( 'The text to appear in the footer of all invoice emails.', 'invoicing' ),
379
-                    'std' => get_bloginfo( 'name', 'display' ) . ' - ' . __( 'Powered by GeoDirectory', 'invoicing' ),
377
+                    'name' => __('Footer Text', 'invoicing'),
378
+                    'desc' => __('The text to appear in the footer of all invoice emails.', 'invoicing'),
379
+                    'std' => get_bloginfo('name', 'display') . ' - ' . __('Powered by GeoDirectory', 'invoicing'),
380 380
                     'type' => 'textarea',
381 381
                     'class' => 'regular-text',
382 382
                     'rows' => 2,
@@ -384,29 +384,29 @@  discard block
 block discarded – undo
384 384
                 ),
385 385
                 'email_base_color' => array(
386 386
                     'id'   => 'email_base_color',
387
-                    'name' => __( 'Base Color', 'invoicing' ),
388
-                    'desc' => __( 'The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing' ),
387
+                    'name' => __('Base Color', 'invoicing'),
388
+                    'desc' => __('The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing'),
389 389
                     'std' => '#557da2',
390 390
                     'type' => 'color',
391 391
                 ),
392 392
                 'email_background_color' => array(
393 393
                     'id'   => 'email_background_color',
394
-                    'name' => __( 'Background Color', 'invoicing' ),
395
-                    'desc' => __( 'The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing' ),
394
+                    'name' => __('Background Color', 'invoicing'),
395
+                    'desc' => __('The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing'),
396 396
                     'std' => '#f5f5f5',
397 397
                     'type' => 'color',
398 398
                 ),
399 399
                 'email_body_background_color' => array(
400 400
                     'id'   => 'email_body_background_color',
401
-                    'name' => __( 'Body Background Color', 'invoicing' ),
402
-                    'desc' => __( 'The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing' ),
401
+                    'name' => __('Body Background Color', 'invoicing'),
402
+                    'desc' => __('The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing'),
403 403
                     'std' => '#fdfdfd',
404 404
                     'type' => 'color',
405 405
                 ),
406 406
                 'email_text_color' => array(
407 407
                     'id'   => 'email_text_color',
408
-                    'name' => __( 'Body Text Color', 'invoicing' ),
409
-                    'desc' => __( 'The main body text color. Default <code>#505050</code>.', 'invoicing' ),
408
+                    'name' => __('Body Text Color', 'invoicing'),
409
+                    'desc' => __('The main body text color. Default <code>#505050</code>.', 'invoicing'),
410 410
                     'std' => '#505050',
411 411
                     'type' => 'color',
412 412
                 ),
@@ -425,17 +425,17 @@  discard block
 block discarded – undo
425 425
             'main' => array(
426 426
                 'invoicing_privacy_policy_settings' => array(
427 427
                     'id'   => 'invoicing_privacy_policy_settings',
428
-                    'name' => '<h3>' . __( 'Privacy Policy', 'invoicing' ) . '</h3>',
428
+                    'name' => '<h3>' . __('Privacy Policy', 'invoicing') . '</h3>',
429 429
                     'type' => 'header',
430 430
                 ),
431 431
                 'privacy_page' => array(
432 432
                     'id'          => 'privacy_page',
433
-                    'name'        => __( 'Privacy Page', 'invoicing' ),
434
-                    'desc'        => __( 'If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing' ),
433
+                    'name'        => __('Privacy Page', 'invoicing'),
434
+                    'desc'        => __('If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing'),
435 435
                     'type'        => 'select',
436
-                    'options'     => wpinv_get_pages( true,  __( 'Select a page', 'invoicing' )),
436
+                    'options'     => wpinv_get_pages(true, __('Select a page', 'invoicing')),
437 437
                     'class'       => 'wpi_select2',
438
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
438
+                    'placeholder' => __('Select a page', 'invoicing'),
439 439
                 ),
440 440
             ),
441 441
         )
@@ -446,19 +446,19 @@  discard block
 block discarded – undo
446 446
             'main' => array(
447 447
                 'invoice_number_format_settings' => array(
448 448
                     'id'   => 'invoice_number_format_settings',
449
-                    'name' => '<h3>' . __( 'Invoice Number', 'invoicing' ) . '</h3>',
449
+                    'name' => '<h3>' . __('Invoice Number', 'invoicing') . '</h3>',
450 450
                     'type' => 'header',
451 451
                 ),
452 452
                 'sequential_invoice_number' => array(
453 453
                     'id'   => 'sequential_invoice_number',
454
-                    'name' => __( 'Sequential Invoice Numbers', 'invoicing' ),
455
-                    'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing' ) . $reset_number,
454
+                    'name' => __('Sequential Invoice Numbers', 'invoicing'),
455
+                    'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing') . $reset_number,
456 456
                     'type' => 'checkbox',
457 457
                 ),
458 458
                 'invoice_sequence_start' => array(
459 459
                     'id'   => 'invoice_sequence_start',
460
-                    'name' => __( 'Sequential Starting Number', 'invoicing' ),
461
-                    'desc' => __( 'The number at which the invoice number sequence should begin.', 'invoicing' ) . $last_number,
460
+                    'name' => __('Sequential Starting Number', 'invoicing'),
461
+                    'desc' => __('The number at which the invoice number sequence should begin.', 'invoicing') . $last_number,
462 462
                     'type' => 'number',
463 463
                     'size' => 'small',
464 464
                     'std'  => '1',
@@ -466,8 +466,8 @@  discard block
 block discarded – undo
466 466
                 ),
467 467
                 'invoice_number_padd' => array(
468 468
                     'id'      => 'invoice_number_padd',
469
-                    'name'    => __( 'Minimum Digits', 'invoicing' ),
470
-                    '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' ),
469
+                    'name'    => __('Minimum Digits', 'invoicing'),
470
+                    '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'),
471 471
                     'type'    => 'select',
472 472
                     'options' => $invoice_number_padd_options,
473 473
                     'std'     => 5,
@@ -475,8 +475,8 @@  discard block
 block discarded – undo
475 475
                 ),
476 476
                 'invoice_number_prefix' => array(
477 477
                     'id' => 'invoice_number_prefix',
478
-                    'name' => __( 'Invoice Number Prefix', 'invoicing' ),
479
-                    'desc' => __( 'Prefix for all invoice numbers. Ex: INV-', 'invoicing' ),
478
+                    'name' => __('Invoice Number Prefix', 'invoicing'),
479
+                    'desc' => __('Prefix for all invoice numbers. Ex: INV-', 'invoicing'),
480 480
                     'type' => 'text',
481 481
                     'size' => 'regular',
482 482
                     'std' => 'INV-',
@@ -484,32 +484,32 @@  discard block
 block discarded – undo
484 484
                 ),
485 485
                 'invoice_number_postfix' => array(
486 486
                     'id' => 'invoice_number_postfix',
487
-                    'name' => __( 'Invoice Number Postfix', 'invoicing' ),
488
-                    'desc' => __( 'Postfix for all invoice numbers.', 'invoicing' ),
487
+                    'name' => __('Invoice Number Postfix', 'invoicing'),
488
+                    'desc' => __('Postfix for all invoice numbers.', 'invoicing'),
489 489
                     'type' => 'text',
490 490
                     'size' => 'regular',
491 491
                     'std' => ''
492 492
                 ),
493 493
                 'checkout_settings' => array(
494 494
                     'id'   => 'checkout_settings',
495
-                    'name' => '<h3>' . __( 'Checkout Settings', 'invoicing' ) . '</h3>',
495
+                    'name' => '<h3>' . __('Checkout Settings', 'invoicing') . '</h3>',
496 496
                     'type' => 'header',
497 497
                 ),
498 498
                 'login_to_checkout' => array(
499 499
                     'id'   => 'login_to_checkout',
500
-                    'name' => __( 'Require Login To Checkout', 'invoicing' ),
501
-                    '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' ),
500
+                    'name' => __('Require Login To Checkout', 'invoicing'),
501
+                    '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'),
502 502
                     'type' => 'checkbox',
503 503
                 ),
504 504
                 'uninstall_settings' => array(
505 505
                     'id'   => 'uninstall_settings',
506
-                    'name' => '<h3>' . __( 'Uninstall Settings', 'invoicing' ) . '</h3>',
506
+                    'name' => '<h3>' . __('Uninstall Settings', 'invoicing') . '</h3>',
507 507
                     'type' => 'header',
508 508
                 ),
509 509
                 'remove_data_on_unistall' => array(
510 510
                     'id'   => 'remove_data_on_unistall',
511
-                    'name' => __( 'Remove Data on Uninstall?', 'invoicing' ),
512
-                    'desc' => __( 'Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing' ),
511
+                    'name' => __('Remove Data on Uninstall?', 'invoicing'),
512
+                    'desc' => __('Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing'),
513 513
                     'type' => 'checkbox',
514 514
                     'std'  => ''
515 515
                 ),
@@ -518,13 +518,13 @@  discard block
 block discarded – undo
518 518
             'custom-css' => array(
519 519
                 'css_settings' => array(
520 520
                     'id'   => 'css_settings',
521
-                    'name' => '<h3>' . __( 'Custom CSS', 'invoicing' ) . '</h3>',
521
+                    'name' => '<h3>' . __('Custom CSS', 'invoicing') . '</h3>',
522 522
                     'type' => 'header',
523 523
                 ),
524 524
                 'template_custom_css' => array(
525 525
                     'id' => 'template_custom_css',
526
-                    'name' => __( 'Invoice Template CSS', 'invoicing' ),
527
-                    'desc' => __( 'Add CSS to modify appearance of the print invoice page.', 'invoicing' ),
526
+                    'name' => __('Invoice Template CSS', 'invoicing'),
527
+                    'desc' => __('Add CSS to modify appearance of the print invoice page.', 'invoicing'),
528 528
                     'type' => 'textarea',
529 529
                     'class'=> 'regular-text',
530 530
                     'rows' => 10,
@@ -538,8 +538,8 @@  discard block
 block discarded – undo
538 538
             'main' => array(
539 539
                 'tool_settings' => array(
540 540
                     'id'   => 'tool_settings',
541
-                    'name' => '<h3>' . __( 'Diagnostic Tools', 'invoicing' ) . '</h3>',
542
-                    'desc' => __( 'Invoicing diagnostic tools', 'invoicing' ),
541
+                    'name' => '<h3>' . __('Diagnostic Tools', 'invoicing') . '</h3>',
542
+                    'desc' => __('Invoicing diagnostic tools', 'invoicing'),
543 543
                     'type' => 'tools',
544 544
                 ),
545 545
             ),
Please login to merge, or discard this patch.
includes/class-wpinv.php 2 patches
Indentation   +459 added lines, -459 removed lines patch added patch discarded remove patch
@@ -14,406 +14,406 @@  discard block
 block discarded – undo
14 14
  */
15 15
 class WPInv_Plugin {
16 16
 
17
-	/**
18
-	 * GetPaid version.
19
-	 *
20
-	 * @var string
21
-	 */
22
-	public $version;
23
-
24
-	/**
25
-	 * Data container.
26
-	 *
27
-	 * @var array
28
-	 */
29
-	protected $data = array();
30
-
31
-	/**
32
-	 * Form elements instance.
33
-	 *
34
-	 * @var WPInv_Payment_Form_Elements
35
-	 */
36
-	public $form_elements;
37
-
38
-	/**
39
-	 * Tax instance.
40
-	 *
41
-	 * @var WPInv_EUVat
42
-	 */
43
-	public $tax;
44
-
45
-	/**
46
-	 * @param array An array of payment gateways.
47
-	 */
48
-	public $gateways;
49
-
50
-	/**
51
-	 * Class constructor.
52
-	 */
53
-	public function __construct() {
54
-		$this->define_constants();
55
-		$this->includes();
56
-		$this->init_hooks();
57
-		$this->set_properties();
58
-	}
59
-
60
-	/**
61
-	 * Sets a custom data property.
62
-	 * 
63
-	 * @param string $prop The prop to set.
64
-	 * @param mixed $value The value to retrieve.
65
-	 */
66
-	public function set( $prop, $value ) {
67
-		$this->data[ $prop ] = $value;
68
-	}
69
-
70
-	/**
71
-	 * Gets a custom data property.
72
-	 *
73
-	 * @param string $prop The prop to set.
74
-	 * @return mixed The value.
75
-	 */
76
-	public function get( $prop ) {
77
-
78
-		if ( isset( $this->data[ $prop ] ) ) {
79
-			return $this->data[ $prop ];
80
-		}
81
-
82
-		return null;
83
-	}
84
-
85
-	/**
86
-	 * Define class properties.
87
-	 */
88
-	public function set_properties() {
89
-
90
-		// Sessions.
91
-		$this->set( 'session', new WPInv_Session_Handler() );
92
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
93
-		$this->tax              = new WPInv_EUVat();
94
-		$this->tax->init();
95
-		$GLOBALS['wpinv_euvat'] = $this->tax; // Backwards compatibility.
96
-
97
-		// Init other objects.
98
-		$this->set( 'reports', new WPInv_Reports() ); // TODO: Refactor.
99
-		$this->set( 'session', new WPInv_Session_Handler() );
100
-		$this->set( 'notes', new WPInv_Notes() );
101
-		$this->set( 'api', new WPInv_API() );
102
-		$this->set( 'post_types', new GetPaid_Post_Types() );
103
-		$this->set( 'template', new GetPaid_Template() );
104
-		$this->set( 'admin', new GetPaid_Admin() );
105
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
106
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
107
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
108
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
109
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
110
-
111
-	}
112
-
113
-	 /**
114
-	 * Define plugin constants.
115
-	 */
116
-	public function define_constants() {
117
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
118
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
119
-		$this->version = WPINV_VERSION;
120
-	}
121
-
122
-	/**
123
-	 * Hook into actions and filters.
124
-	 *
125
-	 * @since 1.0.19
126
-	 */
127
-	protected function init_hooks() {
128
-		/* Internationalize the text strings used. */
129
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
130
-
131
-		// Init the plugin after WordPress inits.
132
-		add_action( 'init', array( $this, 'init' ), 1 );
133
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
134
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
135
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
136
-
137
-		if ( class_exists( 'BuddyPress' ) ) {
138
-			add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) );
139
-		}
140
-
141
-		add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_scripts' ) );
142
-		add_action( 'wp_footer', array( &$this, 'wp_footer' ) );
143
-		add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
144
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
145
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
146
-
147
-		// Fires after registering actions.
148
-		do_action( 'wpinv_actions', $this );
149
-		do_action( 'getpaid_actions', $this );
150
-
151
-	}
152
-
153
-	public function plugins_loaded() {
154
-		/* Internationalize the text strings used. */
155
-		$this->load_textdomain();
156
-
157
-		do_action( 'wpinv_loaded' );
158
-
159
-		// Fix oxygen page builder conflict
160
-		if ( function_exists( 'ct_css_output' ) ) {
161
-			wpinv_oxygen_fix_conflict();
162
-		}
163
-	}
164
-
165
-	/**
166
-	 * Load the translation of the plugin.
167
-	 *
168
-	 * @since 1.0
169
-	 */
170
-	public function load_textdomain( $locale = NULL ) {
171
-		if ( empty( $locale ) ) {
172
-			$locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
173
-		}
174
-
175
-		$locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
176
-
177
-		unload_textdomain( 'invoicing' );
178
-		load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
179
-		load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
180
-
181
-		/**
182
-		 * Define language constants.
183
-		 */
184
-		require_once( WPINV_PLUGIN_DIR . 'language.php' );
185
-	}
186
-
187
-	/**
188
-	 * Include required core files used in admin and on the frontend.
189
-	 */
190
-	public function includes() {
191
-
192
-		// Start with the settings.
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
194
-
195
-		// Packages/libraries.
196
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
198
-
199
-		// Load functions.
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
205
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
206
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
207
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
208
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
209
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
210
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
211
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
212
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
213
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php' );
214
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
215
-
216
-		// Register autoloader.
217
-		try {
218
-			spl_autoload_register( array( $this, 'autoload' ), true );
219
-		} catch ( Exception $e ) {
220
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
221
-		}
222
-
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
234
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
235
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
236
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
237
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
238
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
239
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
240
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
241
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
242
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
243
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
244
-
245
-		/**
246
-		 * Load the tax class.
247
-		 */
248
-		if ( ! class_exists( 'WPInv_EUVat' ) ) {
249
-			require_once( WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php' );
250
-		}
251
-
252
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
253
-			GetPaid_Post_Types_Admin::init();
254
-
255
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php' );
256
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
257
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
258
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
259
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
260
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
261
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
262
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
263
-			// load the user class only on the users.php page
264
-			global $pagenow;
265
-			if($pagenow=='users.php'){
266
-				new WPInv_Admin_Users();
267
-			}
268
-		}
269
-
270
-		// Register cli commands
271
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
272
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
273
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
274
-		}
275
-
276
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/install.php' );
277
-	}
278
-
279
-	/**
280
-	 * Class autoloader
281
-	 *
282
-	 * @param       string $class_name The name of the class to load.
283
-	 * @access      public
284
-	 * @since       1.0.19
285
-	 * @return      void
286
-	 */
287
-	public function autoload( $class_name ) {
288
-
289
-		// Normalize the class name...
290
-		$class_name  = strtolower( $class_name );
291
-
292
-		// ... and make sure it is our class.
293
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
294
-			return;
295
-		}
296
-
297
-		// Next, prepare the file name from the class.
298
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
299
-
300
-		// Base path of the classes.
301
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
302
-
303
-		// And an array of possible locations in order of importance.
304
-		$locations = array(
305
-			"$plugin_path/includes",
306
-			"$plugin_path/includes/data-stores",
307
-			"$plugin_path/includes/gateways",
308
-			"$plugin_path/includes/payments",
309
-			"$plugin_path/includes/api",
310
-			"$plugin_path/includes/admin",
311
-			"$plugin_path/includes/admin/meta-boxes",
312
-		);
313
-
314
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
315
-
316
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
317
-				include trailingslashit( $location ) . $file_name;
318
-				break;
319
-			}
320
-
321
-		}
322
-
323
-	}
324
-
325
-	/**
326
-	 * Inits hooks etc.
327
-	 */
328
-	public function init() {
329
-
330
-		// Fires before getpaid inits.
331
-		do_action( 'before_getpaid_init', $this );
332
-
333
-		// Load default gateways.
334
-		$gateways = apply_filters(
335
-			'getpaid_default_gateways',
336
-			array(
337
-				'manual'        => 'GetPaid_Manual_Gateway',
338
-				'paypal'        => 'GetPaid_Paypal_Gateway',
339
-				'worldpay'      => 'GetPaid_Worldpay_Gateway',
340
-				'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
341
-				'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
342
-			)
343
-		);
344
-
345
-		foreach ( $gateways as $id => $class ) {
346
-			$this->gateways[ $id ] = new $class();
347
-		}
348
-
349
-		// Fires after getpaid inits.
350
-		do_action( 'getpaid_init', $this );
351
-
352
-	}
353
-
354
-	/**
355
-	 * Checks if this is an IPN request and processes it.
356
-	 */
357
-	public function maybe_process_ipn() {
358
-
359
-		// Ensure that this is an IPN request.
360
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
361
-			return;
362
-		}
363
-
364
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
365
-
366
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
367
-		do_action( "wpinv_verify_{$gateway}_ipn" );
368
-		exit;
369
-
370
-	}
371
-
372
-	public function enqueue_scripts() {
373
-		$suffix       = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
374
-
375
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/css/invoice-front.css' );
376
-		wp_register_style( 'wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), $version );
377
-		wp_enqueue_style( 'wpinv_front_style' );
378
-
379
-		// Register scripts
380
-		wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true );
381
-		wp_register_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array( 'jquery' ),  filemtime( WPINV_PLUGIN_DIR . 'assets/js/invoice-front.js' ) );
382
-
383
-		$localize                         = array();
384
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
385
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
386
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
387
-		$localize['UseTaxes']             = wpinv_use_taxes();
388
-		$localize['checkoutNonce']        = wp_create_nonce( 'wpinv_checkout_nonce' );
389
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
390
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
17
+    /**
18
+     * GetPaid version.
19
+     *
20
+     * @var string
21
+     */
22
+    public $version;
23
+
24
+    /**
25
+     * Data container.
26
+     *
27
+     * @var array
28
+     */
29
+    protected $data = array();
30
+
31
+    /**
32
+     * Form elements instance.
33
+     *
34
+     * @var WPInv_Payment_Form_Elements
35
+     */
36
+    public $form_elements;
37
+
38
+    /**
39
+     * Tax instance.
40
+     *
41
+     * @var WPInv_EUVat
42
+     */
43
+    public $tax;
44
+
45
+    /**
46
+     * @param array An array of payment gateways.
47
+     */
48
+    public $gateways;
49
+
50
+    /**
51
+     * Class constructor.
52
+     */
53
+    public function __construct() {
54
+        $this->define_constants();
55
+        $this->includes();
56
+        $this->init_hooks();
57
+        $this->set_properties();
58
+    }
59
+
60
+    /**
61
+     * Sets a custom data property.
62
+     * 
63
+     * @param string $prop The prop to set.
64
+     * @param mixed $value The value to retrieve.
65
+     */
66
+    public function set( $prop, $value ) {
67
+        $this->data[ $prop ] = $value;
68
+    }
69
+
70
+    /**
71
+     * Gets a custom data property.
72
+     *
73
+     * @param string $prop The prop to set.
74
+     * @return mixed The value.
75
+     */
76
+    public function get( $prop ) {
77
+
78
+        if ( isset( $this->data[ $prop ] ) ) {
79
+            return $this->data[ $prop ];
80
+        }
81
+
82
+        return null;
83
+    }
84
+
85
+    /**
86
+     * Define class properties.
87
+     */
88
+    public function set_properties() {
89
+
90
+        // Sessions.
91
+        $this->set( 'session', new WPInv_Session_Handler() );
92
+        $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
93
+        $this->tax              = new WPInv_EUVat();
94
+        $this->tax->init();
95
+        $GLOBALS['wpinv_euvat'] = $this->tax; // Backwards compatibility.
96
+
97
+        // Init other objects.
98
+        $this->set( 'reports', new WPInv_Reports() ); // TODO: Refactor.
99
+        $this->set( 'session', new WPInv_Session_Handler() );
100
+        $this->set( 'notes', new WPInv_Notes() );
101
+        $this->set( 'api', new WPInv_API() );
102
+        $this->set( 'post_types', new GetPaid_Post_Types() );
103
+        $this->set( 'template', new GetPaid_Template() );
104
+        $this->set( 'admin', new GetPaid_Admin() );
105
+        $this->set( 'subscriptions', new WPInv_Subscriptions() );
106
+        $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
107
+        $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
108
+        $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
109
+        $this->set( 'payment_forms', new GetPaid_Payment_Forms() );
110
+
111
+    }
112
+
113
+        /**
114
+         * Define plugin constants.
115
+         */
116
+    public function define_constants() {
117
+        define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
118
+        define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
119
+        $this->version = WPINV_VERSION;
120
+    }
121
+
122
+    /**
123
+     * Hook into actions and filters.
124
+     *
125
+     * @since 1.0.19
126
+     */
127
+    protected function init_hooks() {
128
+        /* Internationalize the text strings used. */
129
+        add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
130
+
131
+        // Init the plugin after WordPress inits.
132
+        add_action( 'init', array( $this, 'init' ), 1 );
133
+        add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
134
+        add_action( 'init', array( $this, 'wpinv_actions' ) );
135
+        add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
136
+
137
+        if ( class_exists( 'BuddyPress' ) ) {
138
+            add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) );
139
+        }
140
+
141
+        add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_scripts' ) );
142
+        add_action( 'wp_footer', array( &$this, 'wp_footer' ) );
143
+        add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
144
+        add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
145
+        add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
146
+
147
+        // Fires after registering actions.
148
+        do_action( 'wpinv_actions', $this );
149
+        do_action( 'getpaid_actions', $this );
150
+
151
+    }
152
+
153
+    public function plugins_loaded() {
154
+        /* Internationalize the text strings used. */
155
+        $this->load_textdomain();
156
+
157
+        do_action( 'wpinv_loaded' );
158
+
159
+        // Fix oxygen page builder conflict
160
+        if ( function_exists( 'ct_css_output' ) ) {
161
+            wpinv_oxygen_fix_conflict();
162
+        }
163
+    }
164
+
165
+    /**
166
+     * Load the translation of the plugin.
167
+     *
168
+     * @since 1.0
169
+     */
170
+    public function load_textdomain( $locale = NULL ) {
171
+        if ( empty( $locale ) ) {
172
+            $locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
173
+        }
174
+
175
+        $locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
176
+
177
+        unload_textdomain( 'invoicing' );
178
+        load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
179
+        load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
180
+
181
+        /**
182
+         * Define language constants.
183
+         */
184
+        require_once( WPINV_PLUGIN_DIR . 'language.php' );
185
+    }
186
+
187
+    /**
188
+     * Include required core files used in admin and on the frontend.
189
+     */
190
+    public function includes() {
191
+
192
+        // Start with the settings.
193
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
194
+
195
+        // Packages/libraries.
196
+        require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
197
+        require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
198
+
199
+        // Load functions.
200
+        require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
201
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
202
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
203
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
204
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
205
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
206
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
207
+        require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
208
+        require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
209
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
210
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
211
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
212
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
213
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php' );
214
+        require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
215
+
216
+        // Register autoloader.
217
+        try {
218
+            spl_autoload_register( array( $this, 'autoload' ), true );
219
+        } catch ( Exception $e ) {
220
+            wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
221
+        }
222
+
223
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
224
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
225
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
226
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
227
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php' );
228
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
229
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
230
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
231
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
232
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
233
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
234
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
235
+        require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
236
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
237
+        require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
238
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
239
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
240
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
241
+        require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
242
+        require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
243
+        require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
244
+
245
+        /**
246
+         * Load the tax class.
247
+         */
248
+        if ( ! class_exists( 'WPInv_EUVat' ) ) {
249
+            require_once( WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php' );
250
+        }
251
+
252
+        if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
253
+            GetPaid_Post_Types_Admin::init();
254
+
255
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php' );
256
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
257
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
258
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
259
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
260
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
261
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
262
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
263
+            // load the user class only on the users.php page
264
+            global $pagenow;
265
+            if($pagenow=='users.php'){
266
+                new WPInv_Admin_Users();
267
+            }
268
+        }
269
+
270
+        // Register cli commands
271
+        if ( defined( 'WP_CLI' ) && WP_CLI ) {
272
+            require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
273
+            WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
274
+        }
275
+
276
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/install.php' );
277
+    }
278
+
279
+    /**
280
+     * Class autoloader
281
+     *
282
+     * @param       string $class_name The name of the class to load.
283
+     * @access      public
284
+     * @since       1.0.19
285
+     * @return      void
286
+     */
287
+    public function autoload( $class_name ) {
288
+
289
+        // Normalize the class name...
290
+        $class_name  = strtolower( $class_name );
291
+
292
+        // ... and make sure it is our class.
293
+        if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
294
+            return;
295
+        }
296
+
297
+        // Next, prepare the file name from the class.
298
+        $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
299
+
300
+        // Base path of the classes.
301
+        $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
302
+
303
+        // And an array of possible locations in order of importance.
304
+        $locations = array(
305
+            "$plugin_path/includes",
306
+            "$plugin_path/includes/data-stores",
307
+            "$plugin_path/includes/gateways",
308
+            "$plugin_path/includes/payments",
309
+            "$plugin_path/includes/api",
310
+            "$plugin_path/includes/admin",
311
+            "$plugin_path/includes/admin/meta-boxes",
312
+        );
313
+
314
+        foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
315
+
316
+            if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
317
+                include trailingslashit( $location ) . $file_name;
318
+                break;
319
+            }
320
+
321
+        }
322
+
323
+    }
324
+
325
+    /**
326
+     * Inits hooks etc.
327
+     */
328
+    public function init() {
329
+
330
+        // Fires before getpaid inits.
331
+        do_action( 'before_getpaid_init', $this );
332
+
333
+        // Load default gateways.
334
+        $gateways = apply_filters(
335
+            'getpaid_default_gateways',
336
+            array(
337
+                'manual'        => 'GetPaid_Manual_Gateway',
338
+                'paypal'        => 'GetPaid_Paypal_Gateway',
339
+                'worldpay'      => 'GetPaid_Worldpay_Gateway',
340
+                'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
341
+                'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
342
+            )
343
+        );
344
+
345
+        foreach ( $gateways as $id => $class ) {
346
+            $this->gateways[ $id ] = new $class();
347
+        }
348
+
349
+        // Fires after getpaid inits.
350
+        do_action( 'getpaid_init', $this );
351
+
352
+    }
353
+
354
+    /**
355
+     * Checks if this is an IPN request and processes it.
356
+     */
357
+    public function maybe_process_ipn() {
358
+
359
+        // Ensure that this is an IPN request.
360
+        if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
361
+            return;
362
+        }
391 363
 
392
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
393
-
394
-		wp_enqueue_script( 'jquery-blockui' );
364
+        $gateway = wpinv_clean( $_GET['wpi-gateway'] );
395 365
 
396
-		wp_enqueue_style( "select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), WPINV_VERSION, 'all' );
397
-		wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION );
366
+        do_action( 'wpinv_verify_payment_ipn', $gateway );
367
+        do_action( "wpinv_verify_{$gateway}_ipn" );
368
+        exit;
398 369
 
399
-		wp_enqueue_script( 'wpinv-front-script' );
400
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
401
-
402
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
403
-		wp_enqueue_script( 'wpinv-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'wpinv-front-script', 'wp-hooks' ),  $version, true );
404
-	}
405
-
406
-	public function wpinv_actions() {
407
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
408
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
409
-		}
410
-	}
370
+    }
371
+
372
+    public function enqueue_scripts() {
373
+        $suffix       = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
374
+
375
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/css/invoice-front.css' );
376
+        wp_register_style( 'wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), $version );
377
+        wp_enqueue_style( 'wpinv_front_style' );
378
+
379
+        // Register scripts
380
+        wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true );
381
+        wp_register_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array( 'jquery' ),  filemtime( WPINV_PLUGIN_DIR . 'assets/js/invoice-front.js' ) );
382
+
383
+        $localize                         = array();
384
+        $localize['ajax_url']             = admin_url( 'admin-ajax.php' );
385
+        $localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
386
+        $localize['txtComplete']          = __( 'Continue', 'invoicing' );
387
+        $localize['UseTaxes']             = wpinv_use_taxes();
388
+        $localize['checkoutNonce']        = wp_create_nonce( 'wpinv_checkout_nonce' );
389
+        $localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
390
+        $localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
391
+
392
+        $localize = apply_filters( 'wpinv_front_js_localize', $localize );
393
+
394
+        wp_enqueue_script( 'jquery-blockui' );
395
+
396
+        wp_enqueue_style( "select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), WPINV_VERSION, 'all' );
397
+        wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION );
398
+
399
+        wp_enqueue_script( 'wpinv-front-script' );
400
+        wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
401
+
402
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
403
+        wp_enqueue_script( 'wpinv-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'wpinv-front-script', 'wp-hooks' ),  $version, true );
404
+    }
405
+
406
+    public function wpinv_actions() {
407
+        if ( isset( $_REQUEST['wpi_action'] ) ) {
408
+            do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
409
+        }
410
+    }
411 411
 
412
-	/**
412
+    /**
413 413
      * Fires an action after verifying that a user can fire them.
414
-	 *
415
-	 * Note: If the action is on an invoice, subscription etc, esure that the
416
-	 * current user owns the invoice/subscription.
414
+     *
415
+     * Note: If the action is on an invoice, subscription etc, esure that the
416
+     * current user owns the invoice/subscription.
417 417
      */
418 418
     public function maybe_do_authenticated_action() {
419 419
 
@@ -424,82 +424,82 @@  discard block
 block discarded – undo
424 424
 
425 425
     }
426 426
 
427
-	public function pre_get_posts( $wp_query ) {
428
-		if ( ! is_admin() && !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() ) {
429
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses() );
430
-		}
431
-
432
-		return $wp_query;
433
-	}
434
-
435
-	public function bp_invoicing_init() {
436
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' );
437
-	}
438
-
439
-	/**
440
-	 * Register widgets
441
-	 *
442
-	 */
443
-	public function register_widgets() {
444
-		$widgets = apply_filters(
445
-			'getpaid_widget_classes',
446
-			array(
447
-				'WPInv_Checkout_Widget',
448
-				'WPInv_History_Widget',
449
-				'WPInv_Receipt_Widget',
450
-				'WPInv_Subscriptions_Widget',
451
-				'WPInv_Buy_Item_Widget',
452
-				'WPInv_Messages_Widget',
453
-				'WPInv_GetPaid_Widget'
454
-			)
455
-		);
456
-
457
-		foreach ( $widgets as $widget ) {
458
-			register_widget( $widget );
459
-		}
427
+    public function pre_get_posts( $wp_query ) {
428
+        if ( ! is_admin() && !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() ) {
429
+            $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses() );
430
+        }
431
+
432
+        return $wp_query;
433
+    }
434
+
435
+    public function bp_invoicing_init() {
436
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' );
437
+    }
438
+
439
+    /**
440
+     * Register widgets
441
+     *
442
+     */
443
+    public function register_widgets() {
444
+        $widgets = apply_filters(
445
+            'getpaid_widget_classes',
446
+            array(
447
+                'WPInv_Checkout_Widget',
448
+                'WPInv_History_Widget',
449
+                'WPInv_Receipt_Widget',
450
+                'WPInv_Subscriptions_Widget',
451
+                'WPInv_Buy_Item_Widget',
452
+                'WPInv_Messages_Widget',
453
+                'WPInv_GetPaid_Widget'
454
+            )
455
+        );
456
+
457
+        foreach ( $widgets as $widget ) {
458
+            register_widget( $widget );
459
+        }
460 460
 		
461
-	}
461
+    }
462 462
 
463
-	/**
464
-	 * Remove our pages from yoast sitemaps.
465
-	 *
466
-	 * @since 1.0.19
467
-	 * @param int[] $excluded_posts_ids
468
-	 */
469
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
463
+    /**
464
+     * Remove our pages from yoast sitemaps.
465
+     *
466
+     * @since 1.0.19
467
+     * @param int[] $excluded_posts_ids
468
+     */
469
+    public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
470 470
 
471
-		// Ensure that we have an array.
472
-		if ( ! is_array( $excluded_posts_ids ) ) {
473
-			$excluded_posts_ids = array();
474
-		}
471
+        // Ensure that we have an array.
472
+        if ( ! is_array( $excluded_posts_ids ) ) {
473
+            $excluded_posts_ids = array();
474
+        }
475 475
 
476
-		// Prepare our pages.
477
-		$our_pages = array();
476
+        // Prepare our pages.
477
+        $our_pages = array();
478 478
 
479
-		// Checkout page.
480
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
479
+        // Checkout page.
480
+        $our_pages[] = wpinv_get_option( 'checkout_page', false );
481 481
 
482
-		// Success page.
483
-		$our_pages[] = wpinv_get_option( 'success_page', false );
482
+        // Success page.
483
+        $our_pages[] = wpinv_get_option( 'success_page', false );
484 484
 
485
-		// Failure page.
486
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
485
+        // Failure page.
486
+        $our_pages[] = wpinv_get_option( 'failure_page', false );
487 487
 
488
-		// History page.
489
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
488
+        // History page.
489
+        $our_pages[] = wpinv_get_option( 'invoice_history_page', false );
490 490
 
491
-		// Subscriptions page.
492
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
491
+        // Subscriptions page.
492
+        $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
493 493
 
494
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
494
+        $our_pages   = array_map( 'intval', array_filter( $our_pages ) );
495 495
 
496
-		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
497
-		return array_unique( $excluded_posts_ids );
496
+        $excluded_posts_ids = $excluded_posts_ids + $our_pages;
497
+        return array_unique( $excluded_posts_ids );
498 498
 
499
-	}
499
+    }
500 500
 
501
-	public function wp_footer() {
502
-		echo '
501
+    public function wp_footer() {
502
+        echo '
503 503
 			<div class="bsui">
504 504
 				<div  id="getpaid-payment-modal" class="modal" tabindex="-1" role="dialog">
505 505
 					<div class="modal-dialog modal-dialog-centered modal-lg" role="checkout" style="max-width: 650px;">
@@ -510,6 +510,6 @@  discard block
 block discarded – undo
510 510
 				</div>
511 511
 			</div>
512 512
 		';
513
-	}
513
+    }
514 514
 
515 515
 }
Please login to merge, or discard this patch.
Spacing   +160 added lines, -160 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @since   1.0.0
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Main Invoicing class.
@@ -63,8 +63,8 @@  discard block
 block discarded – undo
63 63
 	 * @param string $prop The prop to set.
64 64
 	 * @param mixed $value The value to retrieve.
65 65
 	 */
66
-	public function set( $prop, $value ) {
67
-		$this->data[ $prop ] = $value;
66
+	public function set($prop, $value) {
67
+		$this->data[$prop] = $value;
68 68
 	}
69 69
 
70 70
 	/**
@@ -73,10 +73,10 @@  discard block
 block discarded – undo
73 73
 	 * @param string $prop The prop to set.
74 74
 	 * @return mixed The value.
75 75
 	 */
76
-	public function get( $prop ) {
76
+	public function get($prop) {
77 77
 
78
-		if ( isset( $this->data[ $prop ] ) ) {
79
-			return $this->data[ $prop ];
78
+		if (isset($this->data[$prop])) {
79
+			return $this->data[$prop];
80 80
 		}
81 81
 
82 82
 		return null;
@@ -88,25 +88,25 @@  discard block
 block discarded – undo
88 88
 	public function set_properties() {
89 89
 
90 90
 		// Sessions.
91
-		$this->set( 'session', new WPInv_Session_Handler() );
92
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
91
+		$this->set('session', new WPInv_Session_Handler());
92
+		$GLOBALS['wpi_session'] = $this->get('session'); // Backwards compatibility.
93 93
 		$this->tax              = new WPInv_EUVat();
94 94
 		$this->tax->init();
95 95
 		$GLOBALS['wpinv_euvat'] = $this->tax; // Backwards compatibility.
96 96
 
97 97
 		// Init other objects.
98
-		$this->set( 'reports', new WPInv_Reports() ); // TODO: Refactor.
99
-		$this->set( 'session', new WPInv_Session_Handler() );
100
-		$this->set( 'notes', new WPInv_Notes() );
101
-		$this->set( 'api', new WPInv_API() );
102
-		$this->set( 'post_types', new GetPaid_Post_Types() );
103
-		$this->set( 'template', new GetPaid_Template() );
104
-		$this->set( 'admin', new GetPaid_Admin() );
105
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
106
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
107
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
108
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
109
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
98
+		$this->set('reports', new WPInv_Reports()); // TODO: Refactor.
99
+		$this->set('session', new WPInv_Session_Handler());
100
+		$this->set('notes', new WPInv_Notes());
101
+		$this->set('api', new WPInv_API());
102
+		$this->set('post_types', new GetPaid_Post_Types());
103
+		$this->set('template', new GetPaid_Template());
104
+		$this->set('admin', new GetPaid_Admin());
105
+		$this->set('subscriptions', new WPInv_Subscriptions());
106
+		$this->set('invoice_emails', new GetPaid_Invoice_Notification_Emails());
107
+		$this->set('subscription_emails', new GetPaid_Subscription_Notification_Emails());
108
+		$this->set('daily_maintenace', new GetPaid_Daily_Maintenance());
109
+		$this->set('payment_forms', new GetPaid_Payment_Forms());
110 110
 
111 111
 	}
112 112
 
@@ -114,8 +114,8 @@  discard block
 block discarded – undo
114 114
 	 * Define plugin constants.
115 115
 	 */
116 116
 	public function define_constants() {
117
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
118
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
117
+		define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE));
118
+		define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE));
119 119
 		$this->version = WPINV_VERSION;
120 120
 	}
121 121
 
@@ -126,27 +126,27 @@  discard block
 block discarded – undo
126 126
 	 */
127 127
 	protected function init_hooks() {
128 128
 		/* Internationalize the text strings used. */
129
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
129
+		add_action('plugins_loaded', array(&$this, 'plugins_loaded'));
130 130
 
131 131
 		// Init the plugin after WordPress inits.
132
-		add_action( 'init', array( $this, 'init' ), 1 );
133
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
134
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
135
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
132
+		add_action('init', array($this, 'init'), 1);
133
+		add_action('init', array($this, 'maybe_process_ipn'), 10);
134
+		add_action('init', array($this, 'wpinv_actions'));
135
+		add_action('init', array($this, 'maybe_do_authenticated_action'), 100);
136 136
 
137
-		if ( class_exists( 'BuddyPress' ) ) {
138
-			add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) );
137
+		if (class_exists('BuddyPress')) {
138
+			add_action('bp_include', array(&$this, 'bp_invoicing_init'));
139 139
 		}
140 140
 
141
-		add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_scripts' ) );
142
-		add_action( 'wp_footer', array( &$this, 'wp_footer' ) );
143
-		add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
144
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
145
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
141
+		add_action('wp_enqueue_scripts', array(&$this, 'enqueue_scripts'));
142
+		add_action('wp_footer', array(&$this, 'wp_footer'));
143
+		add_action('widgets_init', array(&$this, 'register_widgets'));
144
+		add_filter('wpseo_exclude_from_sitemap_by_post_ids', array($this, 'wpseo_exclude_from_sitemap_by_post_ids'));
145
+		add_filter('pre_get_posts', array(&$this, 'pre_get_posts'));
146 146
 
147 147
 		// Fires after registering actions.
148
-		do_action( 'wpinv_actions', $this );
149
-		do_action( 'getpaid_actions', $this );
148
+		do_action('wpinv_actions', $this);
149
+		do_action('getpaid_actions', $this);
150 150
 
151 151
 	}
152 152
 
@@ -154,10 +154,10 @@  discard block
 block discarded – undo
154 154
 		/* Internationalize the text strings used. */
155 155
 		$this->load_textdomain();
156 156
 
157
-		do_action( 'wpinv_loaded' );
157
+		do_action('wpinv_loaded');
158 158
 
159 159
 		// Fix oxygen page builder conflict
160
-		if ( function_exists( 'ct_css_output' ) ) {
160
+		if (function_exists('ct_css_output')) {
161 161
 			wpinv_oxygen_fix_conflict();
162 162
 		}
163 163
 	}
@@ -167,21 +167,21 @@  discard block
 block discarded – undo
167 167
 	 *
168 168
 	 * @since 1.0
169 169
 	 */
170
-	public function load_textdomain( $locale = NULL ) {
171
-		if ( empty( $locale ) ) {
172
-			$locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
170
+	public function load_textdomain($locale = NULL) {
171
+		if (empty($locale)) {
172
+			$locale = is_admin() && function_exists('get_user_locale') ? get_user_locale() : get_locale();
173 173
 		}
174 174
 
175
-		$locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
175
+		$locale = apply_filters('plugin_locale', $locale, 'invoicing');
176 176
 
177
-		unload_textdomain( 'invoicing' );
178
-		load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
179
-		load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
177
+		unload_textdomain('invoicing');
178
+		load_textdomain('invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo');
179
+		load_plugin_textdomain('invoicing', false, WPINV_PLUGIN_DIR . 'languages');
180 180
 
181 181
 		/**
182 182
 		 * Define language constants.
183 183
 		 */
184
-		require_once( WPINV_PLUGIN_DIR . 'language.php' );
184
+		require_once(WPINV_PLUGIN_DIR . 'language.php');
185 185
 	}
186 186
 
187 187
 	/**
@@ -190,90 +190,90 @@  discard block
 block discarded – undo
190 190
 	public function includes() {
191 191
 
192 192
 		// Start with the settings.
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
193
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php');
194 194
 
195 195
 		// Packages/libraries.
196
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
196
+		require_once(WPINV_PLUGIN_DIR . 'vendor/autoload.php');
197
+		require_once(WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php');
198 198
 
199 199
 		// Load functions.
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
205
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
206
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
207
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
208
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
209
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
210
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
211
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
212
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
213
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php' );
214
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
200
+		require_once(WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php');
201
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php');
202
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php');
203
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php');
204
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php');
205
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php');
206
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php');
207
+		require_once(WPINV_PLUGIN_DIR . 'includes/invoice-functions.php');
208
+		require_once(WPINV_PLUGIN_DIR . 'includes/subscription-functions.php');
209
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php');
210
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php');
211
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php');
212
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php');
213
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php');
214
+		require_once(WPINV_PLUGIN_DIR . 'includes/error-functions.php');
215 215
 
216 216
 		// Register autoloader.
217 217
 		try {
218
-			spl_autoload_register( array( $this, 'autoload' ), true );
219
-		} catch ( Exception $e ) {
220
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
218
+			spl_autoload_register(array($this, 'autoload'), true);
219
+		} catch (Exception $e) {
220
+			wpinv_error_log($e->getMessage(), '', __FILE__, 149, true);
221 221
 		}
222 222
 
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
234
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
235
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
236
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
237
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
238
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
239
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
240
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
241
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
242
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
243
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
223
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php');
224
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php');
225
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php');
226
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php');
227
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php');
228
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php');
229
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php');
230
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php');
231
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php');
232
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php');
233
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php');
234
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php');
235
+		require_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php');
236
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php');
237
+		require_once(WPINV_PLUGIN_DIR . 'widgets/checkout.php');
238
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-history.php');
239
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php');
240
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php');
241
+		require_once(WPINV_PLUGIN_DIR . 'widgets/subscriptions.php');
242
+		require_once(WPINV_PLUGIN_DIR . 'widgets/buy-item.php');
243
+		require_once(WPINV_PLUGIN_DIR . 'widgets/getpaid.php');
244 244
 
245 245
 		/**
246 246
 		 * Load the tax class.
247 247
 		 */
248
-		if ( ! class_exists( 'WPInv_EUVat' ) ) {
249
-			require_once( WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php' );
248
+		if (!class_exists('WPInv_EUVat')) {
249
+			require_once(WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php');
250 250
 		}
251 251
 
252
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
252
+		if (is_admin() || (defined('WP_CLI') && WP_CLI)) {
253 253
 			GetPaid_Post_Types_Admin::init();
254 254
 
255
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php' );
256
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
257
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
258
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
259
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
260
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
261
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
262
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
255
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php');
256
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php');
257
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php');
258
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php');
259
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php');
260
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php');
261
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php');
262
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php');
263 263
 			// load the user class only on the users.php page
264 264
 			global $pagenow;
265
-			if($pagenow=='users.php'){
265
+			if ($pagenow == 'users.php') {
266 266
 				new WPInv_Admin_Users();
267 267
 			}
268 268
 		}
269 269
 
270 270
 		// Register cli commands
271
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
272
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
273
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
271
+		if (defined('WP_CLI') && WP_CLI) {
272
+			require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php');
273
+			WP_CLI::add_command('invoicing', 'WPInv_CLI');
274 274
 		}
275 275
 
276
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/install.php' );
276
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/install.php');
277 277
 	}
278 278
 
279 279
 	/**
@@ -284,21 +284,21 @@  discard block
 block discarded – undo
284 284
 	 * @since       1.0.19
285 285
 	 * @return      void
286 286
 	 */
287
-	public function autoload( $class_name ) {
287
+	public function autoload($class_name) {
288 288
 
289 289
 		// Normalize the class name...
290
-		$class_name  = strtolower( $class_name );
290
+		$class_name = strtolower($class_name);
291 291
 
292 292
 		// ... and make sure it is our class.
293
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
293
+		if (false === strpos($class_name, 'getpaid_') && false === strpos($class_name, 'wpinv_')) {
294 294
 			return;
295 295
 		}
296 296
 
297 297
 		// Next, prepare the file name from the class.
298
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
298
+		$file_name = 'class-' . str_replace('_', '-', $class_name) . '.php';
299 299
 
300 300
 		// Base path of the classes.
301
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
301
+		$plugin_path = untrailingslashit(WPINV_PLUGIN_DIR);
302 302
 
303 303
 		// And an array of possible locations in order of importance.
304 304
 		$locations = array(
@@ -311,10 +311,10 @@  discard block
 block discarded – undo
311 311
 			"$plugin_path/includes/admin/meta-boxes",
312 312
 		);
313 313
 
314
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
314
+		foreach (apply_filters('getpaid_autoload_locations', $locations) as $location) {
315 315
 
316
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
317
-				include trailingslashit( $location ) . $file_name;
316
+			if (file_exists(trailingslashit($location) . $file_name)) {
317
+				include trailingslashit($location) . $file_name;
318 318
 				break;
319 319
 			}
320 320
 
@@ -328,7 +328,7 @@  discard block
 block discarded – undo
328 328
 	public function init() {
329 329
 
330 330
 		// Fires before getpaid inits.
331
-		do_action( 'before_getpaid_init', $this );
331
+		do_action('before_getpaid_init', $this);
332 332
 
333 333
 		// Load default gateways.
334 334
 		$gateways = apply_filters(
@@ -342,12 +342,12 @@  discard block
 block discarded – undo
342 342
 			)
343 343
 		);
344 344
 
345
-		foreach ( $gateways as $id => $class ) {
346
-			$this->gateways[ $id ] = new $class();
345
+		foreach ($gateways as $id => $class) {
346
+			$this->gateways[$id] = new $class();
347 347
 		}
348 348
 
349 349
 		// Fires after getpaid inits.
350
-		do_action( 'getpaid_init', $this );
350
+		do_action('getpaid_init', $this);
351 351
 
352 352
 	}
353 353
 
@@ -357,55 +357,55 @@  discard block
 block discarded – undo
357 357
 	public function maybe_process_ipn() {
358 358
 
359 359
 		// Ensure that this is an IPN request.
360
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
360
+		if (empty($_GET['wpi-listener']) || 'IPN' !== $_GET['wpi-listener'] || empty($_GET['wpi-gateway'])) {
361 361
 			return;
362 362
 		}
363 363
 
364
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
364
+		$gateway = wpinv_clean($_GET['wpi-gateway']);
365 365
 
366
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
367
-		do_action( "wpinv_verify_{$gateway}_ipn" );
366
+		do_action('wpinv_verify_payment_ipn', $gateway);
367
+		do_action("wpinv_verify_{$gateway}_ipn");
368 368
 		exit;
369 369
 
370 370
 	}
371 371
 
372 372
 	public function enqueue_scripts() {
373
-		$suffix       = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
373
+		$suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
374 374
 
375
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/css/invoice-front.css' );
376
-		wp_register_style( 'wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), $version );
377
-		wp_enqueue_style( 'wpinv_front_style' );
375
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/css/invoice-front.css');
376
+		wp_register_style('wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), $version);
377
+		wp_enqueue_style('wpinv_front_style');
378 378
 
379 379
 		// Register scripts
380
-		wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true );
381
-		wp_register_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array( 'jquery' ),  filemtime( WPINV_PLUGIN_DIR . 'assets/js/invoice-front.js' ) );
380
+		wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true);
381
+		wp_register_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array('jquery'), filemtime(WPINV_PLUGIN_DIR . 'assets/js/invoice-front.js'));
382 382
 
383 383
 		$localize                         = array();
384
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
385
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
386
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
384
+		$localize['ajax_url']             = admin_url('admin-ajax.php');
385
+		$localize['nonce']                = wp_create_nonce('wpinv-nonce');
386
+		$localize['txtComplete']          = __('Continue', 'invoicing');
387 387
 		$localize['UseTaxes']             = wpinv_use_taxes();
388
-		$localize['checkoutNonce']        = wp_create_nonce( 'wpinv_checkout_nonce' );
389
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
390
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
388
+		$localize['checkoutNonce']        = wp_create_nonce('wpinv_checkout_nonce');
389
+		$localize['formNonce']            = wp_create_nonce('getpaid_form_nonce');
390
+		$localize['connectionError']      = __('Could not establish a connection to the server.', 'invoicing');
391 391
 
392
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
392
+		$localize = apply_filters('wpinv_front_js_localize', $localize);
393 393
 
394
-		wp_enqueue_script( 'jquery-blockui' );
394
+		wp_enqueue_script('jquery-blockui');
395 395
 
396
-		wp_enqueue_style( "select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), WPINV_VERSION, 'all' );
397
-		wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION );
396
+		wp_enqueue_style("select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), WPINV_VERSION, 'all');
397
+		wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array('jquery'), WPINV_VERSION);
398 398
 
399
-		wp_enqueue_script( 'wpinv-front-script' );
400
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
399
+		wp_enqueue_script('wpinv-front-script');
400
+		wp_localize_script('wpinv-front-script', 'WPInv', $localize);
401 401
 
402
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
403
-		wp_enqueue_script( 'wpinv-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'wpinv-front-script', 'wp-hooks' ),  $version, true );
402
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js');
403
+		wp_enqueue_script('wpinv-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array('wpinv-front-script', 'wp-hooks'), $version, true);
404 404
 	}
405 405
 
406 406
 	public function wpinv_actions() {
407
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
408
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
407
+		if (isset($_REQUEST['wpi_action'])) {
408
+			do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST);
409 409
 		}
410 410
 	}
411 411
 
@@ -417,23 +417,23 @@  discard block
 block discarded – undo
417 417
      */
418 418
     public function maybe_do_authenticated_action() {
419 419
 
420
-        if ( is_user_logged_in() && isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
421
-            $key = sanitize_key( $_REQUEST['getpaid-action'] );
422
-            do_action( "getpaid_authenticated_action_$key", $_REQUEST );
420
+        if (is_user_logged_in() && isset($_REQUEST['getpaid-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) {
421
+            $key = sanitize_key($_REQUEST['getpaid-action']);
422
+            do_action("getpaid_authenticated_action_$key", $_REQUEST);
423 423
         }
424 424
 
425 425
     }
426 426
 
427
-	public function pre_get_posts( $wp_query ) {
428
-		if ( ! is_admin() && !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() ) {
429
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses() );
427
+	public function pre_get_posts($wp_query) {
428
+		if (!is_admin() && !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()) {
429
+			$wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses());
430 430
 		}
431 431
 
432 432
 		return $wp_query;
433 433
 	}
434 434
 
435 435
 	public function bp_invoicing_init() {
436
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' );
436
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php');
437 437
 	}
438 438
 
439 439
 	/**
@@ -454,8 +454,8 @@  discard block
 block discarded – undo
454 454
 			)
455 455
 		);
456 456
 
457
-		foreach ( $widgets as $widget ) {
458
-			register_widget( $widget );
457
+		foreach ($widgets as $widget) {
458
+			register_widget($widget);
459 459
 		}
460 460
 		
461 461
 	}
@@ -466,10 +466,10 @@  discard block
 block discarded – undo
466 466
 	 * @since 1.0.19
467 467
 	 * @param int[] $excluded_posts_ids
468 468
 	 */
469
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
469
+	public function wpseo_exclude_from_sitemap_by_post_ids($excluded_posts_ids) {
470 470
 
471 471
 		// Ensure that we have an array.
472
-		if ( ! is_array( $excluded_posts_ids ) ) {
472
+		if (!is_array($excluded_posts_ids)) {
473 473
 			$excluded_posts_ids = array();
474 474
 		}
475 475
 
@@ -477,24 +477,24 @@  discard block
 block discarded – undo
477 477
 		$our_pages = array();
478 478
 
479 479
 		// Checkout page.
480
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
480
+		$our_pages[] = wpinv_get_option('checkout_page', false);
481 481
 
482 482
 		// Success page.
483
-		$our_pages[] = wpinv_get_option( 'success_page', false );
483
+		$our_pages[] = wpinv_get_option('success_page', false);
484 484
 
485 485
 		// Failure page.
486
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
486
+		$our_pages[] = wpinv_get_option('failure_page', false);
487 487
 
488 488
 		// History page.
489
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
489
+		$our_pages[] = wpinv_get_option('invoice_history_page', false);
490 490
 
491 491
 		// Subscriptions page.
492
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
492
+		$our_pages[] = wpinv_get_option('invoice_subscription_page', false);
493 493
 
494
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
494
+		$our_pages   = array_map('intval', array_filter($our_pages));
495 495
 
496 496
 		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
497
-		return array_unique( $excluded_posts_ids );
497
+		return array_unique($excluded_posts_ids);
498 498
 
499 499
 	}
500 500
 
Please login to merge, or discard this patch.
templates/payment-forms/form.php 1 patch
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -7,21 +7,21 @@  discard block
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 // Make sure that the form is active.
13
-if ( ! $form->is_active() ) {
13
+if (!$form->is_active()) {
14 14
     echo aui()->alert(
15 15
         array(
16 16
             'type'    => 'warning',
17
-            'content' => __( 'This payment form is no longer active', 'invoicing' ),
17
+            'content' => __('This payment form is no longer active', 'invoicing'),
18 18
         )
19 19
     );
20 20
     return;
21 21
 }
22 22
 
23 23
 // Fires before displaying a payment form.
24
-do_action( 'getpaid_before_payment_form', $form );
24
+do_action('getpaid_before_payment_form', $form);
25 25
 ?>
26 26
 
27 27
 <form class='getpaid-payment-form bsui' method='POST' data-key='<?php echo uniqid('gpf'); ?>'>
@@ -30,41 +30,41 @@  discard block
 block discarded – undo
30 30
     <?php 
31 31
     
32 32
         // Fires when printing the top of a payment form.
33
-        do_action( 'getpaid_payment_form_top', $form );
33
+        do_action('getpaid_payment_form_top', $form);
34 34
 
35 35
         // And the optional invoice id.
36
-        if ( ! empty( $form->invoice ) ) {
37
-            echo getpaid_hidden_field( 'invoice_id', $form->invoice->get_id() );
36
+        if (!empty($form->invoice)) {
37
+            echo getpaid_hidden_field('invoice_id', $form->invoice->get_id());
38 38
         }
39 39
 
40 40
         // We also want to include the form id.
41
-        echo getpaid_hidden_field( 'form_id', $form->get_id() );
41
+        echo getpaid_hidden_field('form_id', $form->get_id());
42 42
 
43 43
         // And an indication that this is a payment form submission.
44
-        echo getpaid_hidden_field( 'getpaid_payment_form_submission', '1' );
44
+        echo getpaid_hidden_field('getpaid_payment_form_submission', '1');
45 45
 
46 46
         // Fires before displaying payment form elements.
47
-        do_action( 'getpaid_payment_form_before_elements', $form );
47
+        do_action('getpaid_payment_form_before_elements', $form);
48 48
 
49 49
         // Display the elements.
50
-        foreach ( $form->get_elements() as $element ) {
51
-            if ( isset( $element['type'] ) ) {
52
-                do_action( 'getpaid_payment_form_element', $element, $form );
53
-                do_action( "getpaid_payment_form_element_{$element['type']}_template", $element, $form );
50
+        foreach ($form->get_elements() as $element) {
51
+            if (isset($element['type'])) {
52
+                do_action('getpaid_payment_form_element', $element, $form);
53
+                do_action("getpaid_payment_form_element_{$element['type']}_template", $element, $form);
54 54
             }
55 55
         }
56 56
 
57 57
         // Fires after displaying payment form elements.
58
-        do_action( 'getpaid_payment_form_after_elements', $form );
58
+        do_action('getpaid_payment_form_after_elements', $form);
59 59
 
60 60
         echo "<div class='getpaid-payment-form-errors alert alert-danger d-none'></div>";
61 61
 
62
-        if ( wpinv_current_user_can_manage_invoicing() ) {
62
+        if (wpinv_current_user_can_manage_invoicing()) {
63 63
 
64 64
             edit_post_link(
65
-                __( 'Edit this form.', 'invoicing' ),
65
+                __('Edit this form.', 'invoicing'),
66 66
                 '<small class="form-text text-muted">',
67
-                '&nbsp;' . __( 'This is only visible to website administators.', 'invoicing' ) . '</small>',
67
+                '&nbsp;' . __('This is only visible to website administators.', 'invoicing') . '</small>',
68 68
                 $form->get_id(),
69 69
                 'text-danger'
70 70
             );
@@ -79,4 +79,4 @@  discard block
 block discarded – undo
79 79
 <?php
80 80
 
81 81
 // Fires after displaying a payment form.
82
-do_action( 'getpaid_after_payment_form', $form );
82
+do_action('getpaid_after_payment_form', $form);
Please login to merge, or discard this patch.