@@ -6,7 +6,7 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 ) . '/> '; |
|
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) . '/> '; |
|
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 |
||
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 ) . '/> '; |
|
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) . '/> '; |
|
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) . '/> '; |
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) . '/> '; |
|
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) . '/> '; |
|
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 |
||
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> <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> <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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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> |
@@ -4,7 +4,7 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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§ion=vat_rates&wpi_sub=' . $rate_class_key ); |
|
833 | + $response['redirect'] = admin_url('admin.php?page=wpinv-settings&tab=taxes§ion=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§ion=vat_rates&wpi_sub=_new' ); |
|
866 | + $response['redirect'] = admin_url('admin.php?page=wpinv-settings&tab=taxes§ion=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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 | } |
@@ -8,201 +8,201 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 | ), |
@@ -14,406 +14,406 @@ discard block |
||
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 |
||
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 |
||
510 | 510 | </div> |
511 | 511 | </div> |
512 | 512 | '; |
513 | - } |
|
513 | + } |
|
514 | 514 | |
515 | 515 | } |
@@ -6,7 +6,7 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
@@ -7,21 +7,21 @@ discard block |
||
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 |
||
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 | - ' ' . __( 'This is only visible to website administators.', 'invoicing' ) . '</small>', |
|
67 | + ' ' . __('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 |
||
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); |