@@ -196,11 +196,11 @@ discard block |
||
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 = wpinv_clean( $option['desc'] ); |
|
201 | - $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>"; |
|
202 | - unset( $option['desc'] ); |
|
203 | - } |
|
199 | + if ( isset( $option['desc'] ) && ! empty( $option['help-tip'] ) ) { |
|
200 | + $tip = wpinv_clean( $option['desc'] ); |
|
201 | + $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>"; |
|
202 | + unset( $option['desc'] ); |
|
203 | + } |
|
204 | 204 | |
205 | 205 | // Loop through all tabs. |
206 | 206 | add_settings_field( |
@@ -227,8 +227,8 @@ discard block |
||
227 | 227 | 'faux' => isset( $option['faux'] ) ? $option['faux'] : false, |
228 | 228 | 'onchange' => isset( $option['onchange'] ) ? $option['onchange'] : '', |
229 | 229 | 'custom' => isset( $option['custom'] ) ? $option['custom'] : '', |
230 | - 'class' => isset( $option['class'] ) ? $option['class'] : '', |
|
231 | - 'style' => isset( $option['style'] ) ? $option['style'] : '', |
|
230 | + 'class' => isset( $option['class'] ) ? $option['class'] : '', |
|
231 | + 'style' => isset( $option['style'] ) ? $option['style'] : '', |
|
232 | 232 | 'cols' => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
233 | 233 | 'rows' => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5, |
234 | 234 | ) |
@@ -242,7 +242,7 @@ discard block |
||
242 | 242 | * @return array |
243 | 243 | */ |
244 | 244 | function wpinv_get_registered_settings() { |
245 | - return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) ); |
|
245 | + return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) ); |
|
246 | 246 | } |
247 | 247 | |
248 | 248 | /** |
@@ -261,8 +261,8 @@ discard block |
||
261 | 261 | */ |
262 | 262 | function wpinv_settings_sanitize( $input = array() ) { |
263 | 263 | |
264 | - $wpinv_options = wpinv_get_options(); |
|
265 | - $raw_referrer = wp_get_raw_referer(); |
|
264 | + $wpinv_options = wpinv_get_options(); |
|
265 | + $raw_referrer = wp_get_raw_referer(); |
|
266 | 266 | |
267 | 267 | if ( empty( $raw_referrer ) ) { |
268 | 268 | return $input; |
@@ -270,9 +270,9 @@ discard block |
||
270 | 270 | |
271 | 271 | wp_parse_str( $raw_referrer, $referrer ); |
272 | 272 | |
273 | - if ( empty( $referrer['tab'] ) ) { |
|
273 | + if ( empty( $referrer['tab'] ) ) { |
|
274 | 274 | return $input; |
275 | - } |
|
275 | + } |
|
276 | 276 | |
277 | 277 | $settings = wpinv_get_registered_settings(); |
278 | 278 | $tab = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general'; |
@@ -294,10 +294,10 @@ discard block |
||
294 | 294 | } |
295 | 295 | |
296 | 296 | // General filter |
297 | - $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
297 | + $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
298 | 298 | |
299 | - // Key specific filter. |
|
300 | - $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] ); |
|
299 | + // Key specific filter. |
|
300 | + $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] ); |
|
301 | 301 | } |
302 | 302 | |
303 | 303 | // Loop through the whitelist and unset any that are empty for the tab being saved |
@@ -353,14 +353,14 @@ discard block |
||
353 | 353 | |
354 | 354 | foreach ( $new_rates as $rate ) { |
355 | 355 | |
356 | - $rate['rate'] = wpinv_sanitize_amount( $rate['rate'] ); |
|
357 | - $rate['name'] = sanitize_text_field( $rate['name'] ); |
|
358 | - $rate['state'] = sanitize_text_field( $rate['state'] ); |
|
359 | - $rate['country'] = sanitize_text_field( $rate['country'] ); |
|
360 | - $rate['global'] = empty( $rate['state'] ); |
|
361 | - $tax_rates[] = $rate; |
|
356 | + $rate['rate'] = wpinv_sanitize_amount( $rate['rate'] ); |
|
357 | + $rate['name'] = sanitize_text_field( $rate['name'] ); |
|
358 | + $rate['state'] = sanitize_text_field( $rate['state'] ); |
|
359 | + $rate['country'] = sanitize_text_field( $rate['country'] ); |
|
360 | + $rate['global'] = empty( $rate['state'] ); |
|
361 | + $tax_rates[] = $rate; |
|
362 | 362 | |
363 | - } |
|
363 | + } |
|
364 | 364 | |
365 | 365 | update_option( 'wpinv_tax_rates', $tax_rates ); |
366 | 366 | |
@@ -378,11 +378,11 @@ discard block |
||
378 | 378 | $tabs['general'] = __( 'General', 'invoicing' ); |
379 | 379 | $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' ); |
380 | 380 | $tabs['taxes'] = __( 'Taxes', 'invoicing' ); |
381 | - $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
381 | + $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
382 | 382 | |
383 | - if ( count( getpaid_get_integration_settings() ) > 0 ) { |
|
384 | - $tabs['integrations'] = __( 'Integrations', 'invoicing' ); |
|
385 | - } |
|
383 | + if ( count( getpaid_get_integration_settings() ) > 0 ) { |
|
384 | + $tabs['integrations'] = __( 'Integrations', 'invoicing' ); |
|
385 | + } |
|
386 | 386 | |
387 | 387 | $tabs['privacy'] = __( 'Privacy', 'invoicing' ); |
388 | 388 | $tabs['misc'] = __( 'Misc', 'invoicing' ); |
@@ -420,14 +420,14 @@ discard block |
||
420 | 420 | ) ), |
421 | 421 | 'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array( |
422 | 422 | 'main' => __( 'Tax Settings', 'invoicing' ), |
423 | - 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
424 | - 'vat' => __( 'EU VAT Settings', 'invoicing' ) |
|
423 | + 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
424 | + 'vat' => __( 'EU VAT Settings', 'invoicing' ) |
|
425 | 425 | ) ), |
426 | 426 | 'emails' => apply_filters( 'wpinv_settings_sections_emails', array( |
427 | 427 | 'main' => __( 'Email Settings', 'invoicing' ), |
428 | - ) ), |
|
428 | + ) ), |
|
429 | 429 | |
430 | - 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ), |
|
430 | + 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ), |
|
431 | 431 | |
432 | 432 | 'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array( |
433 | 433 | 'main' => __( 'Privacy policy', 'invoicing' ), |
@@ -447,51 +447,51 @@ discard block |
||
447 | 447 | } |
448 | 448 | |
449 | 449 | function wpinv_get_pages( $with_slug = false, $default_label = NULL ) { |
450 | - $pages_options = array(); |
|
450 | + $pages_options = array(); |
|
451 | 451 | |
452 | - if( $default_label !== NULL && $default_label !== false ) { |
|
453 | - $pages_options = array( '' => $default_label ); // Blank option |
|
454 | - } |
|
452 | + if( $default_label !== NULL && $default_label !== false ) { |
|
453 | + $pages_options = array( '' => $default_label ); // Blank option |
|
454 | + } |
|
455 | 455 | |
456 | - $pages = get_pages(); |
|
457 | - if ( $pages ) { |
|
458 | - foreach ( $pages as $page ) { |
|
459 | - $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
|
456 | + $pages = get_pages(); |
|
457 | + if ( $pages ) { |
|
458 | + foreach ( $pages as $page ) { |
|
459 | + $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
|
460 | 460 | $pages_options[ $page->ID ] = $title; |
461 | - } |
|
462 | - } |
|
461 | + } |
|
462 | + } |
|
463 | 463 | |
464 | - return $pages_options; |
|
464 | + return $pages_options; |
|
465 | 465 | } |
466 | 466 | |
467 | 467 | function wpinv_header_callback( $args ) { |
468 | - if ( !empty( $args['desc'] ) ) { |
|
468 | + if ( !empty( $args['desc'] ) ) { |
|
469 | 469 | echo $args['desc']; |
470 | 470 | } |
471 | 471 | } |
472 | 472 | |
473 | 473 | function wpinv_hidden_callback( $args ) { |
474 | - global $wpinv_options; |
|
475 | - |
|
476 | - if ( isset( $args['set_value'] ) ) { |
|
477 | - $value = $args['set_value']; |
|
478 | - } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
479 | - $value = $wpinv_options[ $args['id'] ]; |
|
480 | - } else { |
|
481 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
482 | - } |
|
483 | - |
|
484 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
485 | - $args['readonly'] = true; |
|
486 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
487 | - $name = ''; |
|
488 | - } else { |
|
489 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
490 | - } |
|
491 | - |
|
492 | - $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
474 | + global $wpinv_options; |
|
475 | + |
|
476 | + if ( isset( $args['set_value'] ) ) { |
|
477 | + $value = $args['set_value']; |
|
478 | + } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
479 | + $value = $wpinv_options[ $args['id'] ]; |
|
480 | + } else { |
|
481 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
482 | + } |
|
483 | + |
|
484 | + if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
485 | + $args['readonly'] = true; |
|
486 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
487 | + $name = ''; |
|
488 | + } else { |
|
489 | + $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
490 | + } |
|
491 | + |
|
492 | + $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
493 | 493 | |
494 | - echo $html; |
|
494 | + echo $html; |
|
495 | 495 | } |
496 | 496 | |
497 | 497 | /** |
@@ -499,12 +499,12 @@ discard block |
||
499 | 499 | */ |
500 | 500 | function wpinv_checkbox_callback( $args ) { |
501 | 501 | |
502 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
503 | - $std = wpinv_get_option( $args['id'], $std ); |
|
504 | - $id = esc_attr( $args['id'] ); |
|
502 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
503 | + $std = wpinv_get_option( $args['id'], $std ); |
|
504 | + $id = esc_attr( $args['id'] ); |
|
505 | 505 | |
506 | - getpaid_hidden_field( "wpinv_settings[$id]", '0' ); |
|
507 | - ?> |
|
506 | + getpaid_hidden_field( "wpinv_settings[$id]", '0' ); |
|
507 | + ?> |
|
508 | 508 | <fieldset> |
509 | 509 | <label> |
510 | 510 | <input id="wpinv-settings-<?php echo $id; ?>" name="wpinv_settings[<?php echo $id; ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox"> |
@@ -516,77 +516,77 @@ discard block |
||
516 | 516 | |
517 | 517 | function wpinv_multicheck_callback( $args ) { |
518 | 518 | |
519 | - global $wpinv_options; |
|
519 | + global $wpinv_options; |
|
520 | 520 | |
521 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
522 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
521 | + $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
522 | + $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
523 | 523 | |
524 | - if ( ! empty( $args['options'] ) ) { |
|
524 | + if ( ! empty( $args['options'] ) ) { |
|
525 | 525 | |
526 | - $std = isset( $args['std'] ) ? $args['std'] : array(); |
|
527 | - $value = isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ] : $std; |
|
526 | + $std = isset( $args['std'] ) ? $args['std'] : array(); |
|
527 | + $value = isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ] : $std; |
|
528 | 528 | |
529 | - echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">'; |
|
529 | + echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">'; |
|
530 | 530 | foreach( $args['options'] as $key => $option ): |
531 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
532 | - if ( in_array( $sanitize_key, $value ) ) { |
|
533 | - $enabled = $sanitize_key; |
|
534 | - } else { |
|
535 | - $enabled = NULL; |
|
536 | - } |
|
537 | - 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 ) . '/> '; |
|
538 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
539 | - endforeach; |
|
540 | - echo '</div>'; |
|
541 | - echo '<p class="description">' . $args['desc'] . '</p>'; |
|
542 | - } |
|
531 | + $sanitize_key = wpinv_sanitize_key( $key ); |
|
532 | + if ( in_array( $sanitize_key, $value ) ) { |
|
533 | + $enabled = $sanitize_key; |
|
534 | + } else { |
|
535 | + $enabled = NULL; |
|
536 | + } |
|
537 | + 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 ) . '/> '; |
|
538 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
539 | + endforeach; |
|
540 | + echo '</div>'; |
|
541 | + echo '<p class="description">' . $args['desc'] . '</p>'; |
|
542 | + } |
|
543 | 543 | } |
544 | 544 | |
545 | 545 | function wpinv_payment_icons_callback( $args ) { |
546 | - global $wpinv_options; |
|
546 | + global $wpinv_options; |
|
547 | 547 | |
548 | 548 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
549 | 549 | |
550 | - if ( ! empty( $args['options'] ) ) { |
|
551 | - foreach( $args['options'] as $key => $option ) { |
|
550 | + if ( ! empty( $args['options'] ) ) { |
|
551 | + foreach( $args['options'] as $key => $option ) { |
|
552 | 552 | $sanitize_key = wpinv_sanitize_key( $key ); |
553 | 553 | |
554 | - if( isset( $wpinv_options[$args['id']][$key] ) ) { |
|
555 | - $enabled = $option; |
|
556 | - } else { |
|
557 | - $enabled = NULL; |
|
558 | - } |
|
559 | - |
|
560 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
|
561 | - |
|
562 | - 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 ) . '/> '; |
|
563 | - |
|
564 | - if ( wpinv_string_is_image_url( $key ) ) { |
|
565 | - echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
566 | - } else { |
|
567 | - $card = strtolower( str_replace( ' ', '', $option ) ); |
|
568 | - |
|
569 | - if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
570 | - $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
571 | - } else { |
|
572 | - $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
573 | - $content_dir = WP_CONTENT_DIR; |
|
574 | - |
|
575 | - if ( function_exists( 'wp_normalize_path' ) ) { |
|
576 | - // Replaces backslashes with forward slashes for Windows systems |
|
577 | - $image = wp_normalize_path( $image ); |
|
578 | - $content_dir = wp_normalize_path( $content_dir ); |
|
579 | - } |
|
580 | - |
|
581 | - $image = str_replace( $content_dir, content_url(), $image ); |
|
582 | - } |
|
583 | - |
|
584 | - echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
585 | - } |
|
586 | - echo $option . '</label>'; |
|
587 | - } |
|
588 | - echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
589 | - } |
|
554 | + if( isset( $wpinv_options[$args['id']][$key] ) ) { |
|
555 | + $enabled = $option; |
|
556 | + } else { |
|
557 | + $enabled = NULL; |
|
558 | + } |
|
559 | + |
|
560 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
|
561 | + |
|
562 | + 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 ) . '/> '; |
|
563 | + |
|
564 | + if ( wpinv_string_is_image_url( $key ) ) { |
|
565 | + echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
566 | + } else { |
|
567 | + $card = strtolower( str_replace( ' ', '', $option ) ); |
|
568 | + |
|
569 | + if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
570 | + $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
571 | + } else { |
|
572 | + $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
573 | + $content_dir = WP_CONTENT_DIR; |
|
574 | + |
|
575 | + if ( function_exists( 'wp_normalize_path' ) ) { |
|
576 | + // Replaces backslashes with forward slashes for Windows systems |
|
577 | + $image = wp_normalize_path( $image ); |
|
578 | + $content_dir = wp_normalize_path( $content_dir ); |
|
579 | + } |
|
580 | + |
|
581 | + $image = str_replace( $content_dir, content_url(), $image ); |
|
582 | + } |
|
583 | + |
|
584 | + echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
585 | + } |
|
586 | + echo $option . '</label>'; |
|
587 | + } |
|
588 | + echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
589 | + } |
|
590 | 590 | } |
591 | 591 | |
592 | 592 | /** |
@@ -594,9 +594,9 @@ discard block |
||
594 | 594 | */ |
595 | 595 | function wpinv_radio_callback( $args ) { |
596 | 596 | |
597 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
598 | - $std = wpinv_get_option( $args['id'], $std ); |
|
599 | - ?> |
|
597 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
598 | + $std = wpinv_get_option( $args['id'], $std ); |
|
599 | + ?> |
|
600 | 600 | <fieldset> |
601 | 601 | <ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;"> |
602 | 602 | <?php foreach( $args['options'] as $key => $option ) : ?> |
@@ -610,7 +610,7 @@ discard block |
||
610 | 610 | </ul> |
611 | 611 | </fieldset> |
612 | 612 | <?php |
613 | - getpaid_settings_description_callback( $args ); |
|
613 | + getpaid_settings_description_callback( $args ); |
|
614 | 614 | } |
615 | 615 | |
616 | 616 | /** |
@@ -618,10 +618,10 @@ discard block |
||
618 | 618 | */ |
619 | 619 | function getpaid_settings_description_callback( $args ) { |
620 | 620 | |
621 | - if ( ! empty( $args['desc'] ) ) { |
|
622 | - $description = wp_kses_post( $args['desc'] ); |
|
623 | - echo "<p class='description'>$description</p>"; |
|
624 | - } |
|
621 | + if ( ! empty( $args['desc'] ) ) { |
|
622 | + $description = wp_kses_post( $args['desc'] ); |
|
623 | + echo "<p class='description'>$description</p>"; |
|
624 | + } |
|
625 | 625 | |
626 | 626 | } |
627 | 627 | |
@@ -630,7 +630,7 @@ discard block |
||
630 | 630 | */ |
631 | 631 | function wpinv_gateways_callback() { |
632 | 632 | |
633 | - ?> |
|
633 | + ?> |
|
634 | 634 | </td> |
635 | 635 | </tr> |
636 | 636 | <tr class="bsui"> |
@@ -641,24 +641,24 @@ discard block |
||
641 | 641 | } |
642 | 642 | |
643 | 643 | function wpinv_gateway_select_callback($args) { |
644 | - global $wpinv_options; |
|
644 | + global $wpinv_options; |
|
645 | 645 | |
646 | 646 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
647 | 647 | $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
648 | 648 | |
649 | - echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >'; |
|
649 | + echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >'; |
|
650 | 650 | |
651 | - foreach ( $args['options'] as $key => $option ) : |
|
652 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
651 | + foreach ( $args['options'] as $key => $option ) : |
|
652 | + if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
653 | 653 | $selected = selected( $key, $args['selected'], false ); |
654 | 654 | } else { |
655 | 655 | $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : ''; |
656 | 656 | } |
657 | - echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
658 | - endforeach; |
|
657 | + echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
658 | + endforeach; |
|
659 | 659 | |
660 | - echo '</select>'; |
|
661 | - echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
660 | + echo '</select>'; |
|
661 | + echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
662 | 662 | } |
663 | 663 | |
664 | 664 | /** |
@@ -669,29 +669,29 @@ discard block |
||
669 | 669 | */ |
670 | 670 | function wpinv_settings_attrs_helper( $args ) { |
671 | 671 | |
672 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
673 | - $id = esc_attr( $args['id'] ); |
|
674 | - $placeholder = esc_attr( $args['placeholder'] ); |
|
672 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
673 | + $id = esc_attr( $args['id'] ); |
|
674 | + $placeholder = esc_attr( $args['placeholder'] ); |
|
675 | 675 | |
676 | - if ( ! empty( $args['faux'] ) ) { |
|
677 | - $args['readonly'] = true; |
|
678 | - $name = ''; |
|
679 | - } else { |
|
680 | - $value = wpinv_get_option( $args['id'], $value ); |
|
681 | - $name = "wpinv_settings[$id]"; |
|
682 | - } |
|
676 | + if ( ! empty( $args['faux'] ) ) { |
|
677 | + $args['readonly'] = true; |
|
678 | + $name = ''; |
|
679 | + } else { |
|
680 | + $value = wpinv_get_option( $args['id'], $value ); |
|
681 | + $name = "wpinv_settings[$id]"; |
|
682 | + } |
|
683 | 683 | |
684 | - $value = is_scalar( $value ) ? esc_attr( $value ) : ''; |
|
685 | - $class = esc_attr( $args['class'] ); |
|
686 | - $style = esc_attr( $args['style'] ); |
|
687 | - $readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"'; |
|
684 | + $value = is_scalar( $value ) ? esc_attr( $value ) : ''; |
|
685 | + $class = esc_attr( $args['class'] ); |
|
686 | + $style = esc_attr( $args['style'] ); |
|
687 | + $readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"'; |
|
688 | 688 | |
689 | - $onchange = ''; |
|
689 | + $onchange = ''; |
|
690 | 690 | if ( ! empty( $args['onchange'] ) ) { |
691 | 691 | $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"'; |
692 | - } |
|
692 | + } |
|
693 | 693 | |
694 | - return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly"; |
|
694 | + return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly"; |
|
695 | 695 | } |
696 | 696 | |
697 | 697 | /** |
@@ -699,11 +699,11 @@ discard block |
||
699 | 699 | */ |
700 | 700 | function wpinv_text_callback( $args ) { |
701 | 701 | |
702 | - $desc = wp_kses_post( $args['desc'] ); |
|
703 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
704 | - $attr = wpinv_settings_attrs_helper( $args ); |
|
702 | + $desc = wp_kses_post( $args['desc'] ); |
|
703 | + $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
704 | + $attr = wpinv_settings_attrs_helper( $args ); |
|
705 | 705 | |
706 | - ?> |
|
706 | + ?> |
|
707 | 707 | <label style="width: 100%;"> |
708 | 708 | <input type="text" <?php echo $attr; ?>> |
709 | 709 | <?php echo $desc; ?> |
@@ -717,14 +717,14 @@ discard block |
||
717 | 717 | */ |
718 | 718 | function wpinv_number_callback( $args ) { |
719 | 719 | |
720 | - $desc = wp_kses_post( $args['desc'] ); |
|
721 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
722 | - $attr = wpinv_settings_attrs_helper( $args ); |
|
723 | - $max = intval( $args['max'] ); |
|
724 | - $min = intval( $args['min'] ); |
|
725 | - $step = floatval( $args['step'] ); |
|
720 | + $desc = wp_kses_post( $args['desc'] ); |
|
721 | + $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
722 | + $attr = wpinv_settings_attrs_helper( $args ); |
|
723 | + $max = intval( $args['max'] ); |
|
724 | + $min = intval( $args['min'] ); |
|
725 | + $step = floatval( $args['step'] ); |
|
726 | 726 | |
727 | - ?> |
|
727 | + ?> |
|
728 | 728 | <label style="width: 100%;"> |
729 | 729 | <input type="number" step="<?php echo $step; ?>" max="<?php echo $max; ?>" min="<?php echo $min; ?>" <?php echo $attr; ?>> |
730 | 730 | <?php echo $desc; ?> |
@@ -734,48 +734,48 @@ discard block |
||
734 | 734 | } |
735 | 735 | |
736 | 736 | function wpinv_textarea_callback( $args ) { |
737 | - global $wpinv_options; |
|
737 | + global $wpinv_options; |
|
738 | 738 | |
739 | 739 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
740 | 740 | |
741 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
742 | - $value = $wpinv_options[ $args['id'] ]; |
|
743 | - } else { |
|
744 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
745 | - } |
|
741 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
742 | + $value = $wpinv_options[ $args['id'] ]; |
|
743 | + } else { |
|
744 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
745 | + } |
|
746 | 746 | |
747 | 747 | $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
748 | 748 | $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text'; |
749 | 749 | |
750 | - $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>'; |
|
751 | - $html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
750 | + $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>'; |
|
751 | + $html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
752 | 752 | |
753 | - echo $html; |
|
753 | + echo $html; |
|
754 | 754 | } |
755 | 755 | |
756 | 756 | function wpinv_password_callback( $args ) { |
757 | - global $wpinv_options; |
|
757 | + global $wpinv_options; |
|
758 | 758 | |
759 | 759 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
760 | 760 | |
761 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
762 | - $value = $wpinv_options[ $args['id'] ]; |
|
763 | - } else { |
|
764 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
765 | - } |
|
761 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
762 | + $value = $wpinv_options[ $args['id'] ]; |
|
763 | + } else { |
|
764 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
765 | + } |
|
766 | 766 | |
767 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
768 | - $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 ) . '"/>'; |
|
769 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
767 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
768 | + $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 ) . '"/>'; |
|
769 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
770 | 770 | |
771 | - echo $html; |
|
771 | + echo $html; |
|
772 | 772 | } |
773 | 773 | |
774 | 774 | function wpinv_missing_callback($args) { |
775 | - printf( |
|
776 | - __( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
777 | - '<strong>' . $args['id'] . '</strong>' |
|
778 | - ); |
|
775 | + printf( |
|
776 | + __( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
777 | + '<strong>' . $args['id'] . '</strong>' |
|
778 | + ); |
|
779 | 779 | } |
780 | 780 | |
781 | 781 | /** |
@@ -783,13 +783,13 @@ discard block |
||
783 | 783 | */ |
784 | 784 | function wpinv_select_callback( $args ) { |
785 | 785 | |
786 | - $desc = wp_kses_post( $args['desc'] ); |
|
787 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
788 | - $attr = wpinv_settings_attrs_helper( $args ); |
|
789 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
790 | - $value = wpinv_get_option( $args['id'], $value ); |
|
786 | + $desc = wp_kses_post( $args['desc'] ); |
|
787 | + $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
788 | + $attr = wpinv_settings_attrs_helper( $args ); |
|
789 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
790 | + $value = wpinv_get_option( $args['id'], $value ); |
|
791 | 791 | |
792 | - ?> |
|
792 | + ?> |
|
793 | 793 | <label style="width: 100%;"> |
794 | 794 | <select <?php echo $attr; ?>> |
795 | 795 | <?php foreach ( $args['options'] as $option => $name ) : ?> |
@@ -803,123 +803,123 @@ discard block |
||
803 | 803 | } |
804 | 804 | |
805 | 805 | function wpinv_color_select_callback( $args ) { |
806 | - global $wpinv_options; |
|
806 | + global $wpinv_options; |
|
807 | 807 | |
808 | 808 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
809 | 809 | |
810 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
811 | - $value = $wpinv_options[ $args['id'] ]; |
|
812 | - } else { |
|
813 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
814 | - } |
|
810 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
811 | + $value = $wpinv_options[ $args['id'] ]; |
|
812 | + } else { |
|
813 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
814 | + } |
|
815 | 815 | |
816 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
816 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
817 | 817 | |
818 | - foreach ( $args['options'] as $option => $color ) { |
|
819 | - $selected = selected( $option, $value, false ); |
|
820 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>'; |
|
821 | - } |
|
818 | + foreach ( $args['options'] as $option => $color ) { |
|
819 | + $selected = selected( $option, $value, false ); |
|
820 | + $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>'; |
|
821 | + } |
|
822 | 822 | |
823 | - $html .= '</select>'; |
|
824 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
823 | + $html .= '</select>'; |
|
824 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
825 | 825 | |
826 | - echo $html; |
|
826 | + echo $html; |
|
827 | 827 | } |
828 | 828 | |
829 | 829 | function wpinv_rich_editor_callback( $args ) { |
830 | - global $wpinv_options, $wp_version; |
|
830 | + global $wpinv_options, $wp_version; |
|
831 | 831 | |
832 | 832 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
833 | 833 | |
834 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
835 | - $value = $wpinv_options[ $args['id'] ]; |
|
834 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
835 | + $value = $wpinv_options[ $args['id'] ]; |
|
836 | 836 | |
837 | - if( empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
838 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
839 | - } |
|
840 | - } else { |
|
841 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
842 | - } |
|
837 | + if( empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
838 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
839 | + } |
|
840 | + } else { |
|
841 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
842 | + } |
|
843 | 843 | |
844 | - $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
844 | + $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
845 | 845 | |
846 | - $html = '<div class="getpaid-settings-editor-input">'; |
|
847 | - if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
848 | - ob_start(); |
|
849 | - 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 ) ); |
|
850 | - $html .= ob_get_clean(); |
|
851 | - } else { |
|
852 | - $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>'; |
|
853 | - } |
|
846 | + $html = '<div class="getpaid-settings-editor-input">'; |
|
847 | + if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
848 | + ob_start(); |
|
849 | + 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 ) ); |
|
850 | + $html .= ob_get_clean(); |
|
851 | + } else { |
|
852 | + $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>'; |
|
853 | + } |
|
854 | 854 | |
855 | - $html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
855 | + $html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
856 | 856 | |
857 | - echo $html; |
|
857 | + echo $html; |
|
858 | 858 | } |
859 | 859 | |
860 | 860 | function wpinv_upload_callback( $args ) { |
861 | - global $wpinv_options; |
|
861 | + global $wpinv_options; |
|
862 | 862 | |
863 | 863 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
864 | 864 | |
865 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
866 | - $value = $wpinv_options[$args['id']]; |
|
867 | - } else { |
|
868 | - $value = isset($args['std']) ? $args['std'] : ''; |
|
869 | - } |
|
865 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
866 | + $value = $wpinv_options[$args['id']]; |
|
867 | + } else { |
|
868 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
869 | + } |
|
870 | 870 | |
871 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
872 | - $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 ) ) . '"/>'; |
|
873 | - $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
874 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
871 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
872 | + $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 ) ) . '"/>'; |
|
873 | + $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
874 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
875 | 875 | |
876 | - echo $html; |
|
876 | + echo $html; |
|
877 | 877 | } |
878 | 878 | |
879 | 879 | function wpinv_color_callback( $args ) { |
880 | - global $wpinv_options; |
|
880 | + global $wpinv_options; |
|
881 | 881 | |
882 | 882 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
883 | 883 | |
884 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
885 | - $value = $wpinv_options[ $args['id'] ]; |
|
886 | - } else { |
|
887 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
888 | - } |
|
884 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
885 | + $value = $wpinv_options[ $args['id'] ]; |
|
886 | + } else { |
|
887 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
888 | + } |
|
889 | 889 | |
890 | - $default = isset( $args['std'] ) ? $args['std'] : ''; |
|
890 | + $default = isset( $args['std'] ) ? $args['std'] : ''; |
|
891 | 891 | |
892 | - $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 ) . '" />'; |
|
893 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
892 | + $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 ) . '" />'; |
|
893 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
894 | 894 | |
895 | - echo $html; |
|
895 | + echo $html; |
|
896 | 896 | } |
897 | 897 | |
898 | 898 | function wpinv_country_states_callback($args) { |
899 | - global $wpinv_options; |
|
899 | + global $wpinv_options; |
|
900 | 900 | |
901 | 901 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
902 | 902 | |
903 | - if ( isset( $args['placeholder'] ) ) { |
|
904 | - $placeholder = $args['placeholder']; |
|
905 | - } else { |
|
906 | - $placeholder = ''; |
|
907 | - } |
|
903 | + if ( isset( $args['placeholder'] ) ) { |
|
904 | + $placeholder = $args['placeholder']; |
|
905 | + } else { |
|
906 | + $placeholder = ''; |
|
907 | + } |
|
908 | 908 | |
909 | - $states = wpinv_get_country_states(); |
|
909 | + $states = wpinv_get_country_states(); |
|
910 | 910 | |
911 | - $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
912 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
911 | + $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
912 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
913 | 913 | |
914 | - foreach ( $states as $option => $name ) { |
|
915 | - $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : ''; |
|
916 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
917 | - } |
|
914 | + foreach ( $states as $option => $name ) { |
|
915 | + $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : ''; |
|
916 | + $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
917 | + } |
|
918 | 918 | |
919 | - $html .= '</select>'; |
|
920 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
919 | + $html .= '</select>'; |
|
920 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
921 | 921 | |
922 | - echo $html; |
|
922 | + echo $html; |
|
923 | 923 | } |
924 | 924 | |
925 | 925 | /** |
@@ -927,7 +927,7 @@ discard block |
||
927 | 927 | */ |
928 | 928 | function wpinv_tax_rates_callback() { |
929 | 929 | |
930 | - ?> |
|
930 | + ?> |
|
931 | 931 | </td> |
932 | 932 | </tr> |
933 | 933 | <tr class="bsui"> |
@@ -942,17 +942,17 @@ discard block |
||
942 | 942 | * Displays a tax rate' edit row. |
943 | 943 | */ |
944 | 944 | function wpinv_tax_rate_callback( $tax_rate, $key, $echo = true ) { |
945 | - ob_start(); |
|
945 | + ob_start(); |
|
946 | 946 | |
947 | - $key = sanitize_key( $key ); |
|
948 | - $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate']; |
|
949 | - include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php'; |
|
947 | + $key = sanitize_key( $key ); |
|
948 | + $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate']; |
|
949 | + include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php'; |
|
950 | 950 | |
951 | - if ( $echo ) { |
|
952 | - echo ob_get_clean(); |
|
953 | - } else { |
|
954 | - return ob_get_clean(); |
|
955 | - } |
|
951 | + if ( $echo ) { |
|
952 | + echo ob_get_clean(); |
|
953 | + } else { |
|
954 | + return ob_get_clean(); |
|
955 | + } |
|
956 | 956 | |
957 | 957 | } |
958 | 958 | |
@@ -980,14 +980,14 @@ discard block |
||
980 | 980 | </td> |
981 | 981 | <td> |
982 | 982 | <a href="<?php |
983 | - echo esc_url( |
|
984 | - wp_nonce_url( |
|
985 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
986 | - 'getpaid-nonce', |
|
987 | - 'getpaid-nonce' |
|
988 | - ) |
|
989 | - ); |
|
990 | - ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a> |
|
983 | + echo esc_url( |
|
984 | + wp_nonce_url( |
|
985 | + add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
986 | + 'getpaid-nonce', |
|
987 | + 'getpaid-nonce' |
|
988 | + ) |
|
989 | + ); |
|
990 | + ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a> |
|
991 | 991 | </td> |
992 | 992 | </tr> |
993 | 993 | <tr> |
@@ -997,14 +997,14 @@ discard block |
||
997 | 997 | </td> |
998 | 998 | <td> |
999 | 999 | <a href="<?php |
1000 | - echo esc_url( |
|
1001 | - wp_nonce_url( |
|
1002 | - add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ), |
|
1003 | - 'getpaid-nonce', |
|
1004 | - 'getpaid-nonce' |
|
1005 | - ) |
|
1006 | - ); |
|
1007 | - ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a> |
|
1000 | + echo esc_url( |
|
1001 | + wp_nonce_url( |
|
1002 | + add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ), |
|
1003 | + 'getpaid-nonce', |
|
1004 | + 'getpaid-nonce' |
|
1005 | + ) |
|
1006 | + ); |
|
1007 | + ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a> |
|
1008 | 1008 | </td> |
1009 | 1009 | </tr> |
1010 | 1010 | <tr> |
@@ -1014,14 +1014,14 @@ discard block |
||
1014 | 1014 | </td> |
1015 | 1015 | <td> |
1016 | 1016 | <a href="<?php |
1017 | - echo esc_url( |
|
1018 | - wp_nonce_url( |
|
1019 | - add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ), |
|
1020 | - 'getpaid-nonce', |
|
1021 | - 'getpaid-nonce' |
|
1022 | - ) |
|
1023 | - ); |
|
1024 | - ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a> |
|
1017 | + echo esc_url( |
|
1018 | + wp_nonce_url( |
|
1019 | + add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ), |
|
1020 | + 'getpaid-nonce', |
|
1021 | + 'getpaid-nonce' |
|
1022 | + ) |
|
1023 | + ); |
|
1024 | + ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a> |
|
1025 | 1025 | </td> |
1026 | 1026 | </tr> |
1027 | 1027 | |
@@ -1032,14 +1032,14 @@ discard block |
||
1032 | 1032 | </td> |
1033 | 1033 | <td> |
1034 | 1034 | <a href="<?php |
1035 | - echo esc_url( |
|
1036 | - wp_nonce_url( |
|
1037 | - add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ), |
|
1038 | - 'getpaid-nonce', |
|
1039 | - 'getpaid-nonce' |
|
1040 | - ) |
|
1041 | - ); |
|
1042 | - ?>" class="button button-primary"><?php _e( 'Run', 'invoicing' );?></a> |
|
1035 | + echo esc_url( |
|
1036 | + wp_nonce_url( |
|
1037 | + add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ), |
|
1038 | + 'getpaid-nonce', |
|
1039 | + 'getpaid-nonce' |
|
1040 | + ) |
|
1041 | + ); |
|
1042 | + ?>" class="button button-primary"><?php _e( 'Run', 'invoicing' );?></a> |
|
1043 | 1043 | </td> |
1044 | 1044 | </tr> |
1045 | 1045 | |
@@ -1053,19 +1053,19 @@ discard block |
||
1053 | 1053 | |
1054 | 1054 | |
1055 | 1055 | function wpinv_descriptive_text_callback( $args ) { |
1056 | - echo wp_kses_post( $args['desc'] ); |
|
1056 | + echo wp_kses_post( $args['desc'] ); |
|
1057 | 1057 | } |
1058 | 1058 | |
1059 | 1059 | function wpinv_raw_html_callback( $args ) { |
1060 | - echo $args['desc']; |
|
1060 | + echo $args['desc']; |
|
1061 | 1061 | } |
1062 | 1062 | |
1063 | 1063 | function wpinv_hook_callback( $args ) { |
1064 | - do_action( 'wpinv_' . $args['id'], $args ); |
|
1064 | + do_action( 'wpinv_' . $args['id'], $args ); |
|
1065 | 1065 | } |
1066 | 1066 | |
1067 | 1067 | function wpinv_set_settings_cap() { |
1068 | - return wpinv_get_capability(); |
|
1068 | + return wpinv_get_capability(); |
|
1069 | 1069 | } |
1070 | 1070 | add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' ); |
1071 | 1071 | |
@@ -1099,15 +1099,15 @@ discard block |
||
1099 | 1099 | */ |
1100 | 1100 | function wpinv_get_merge_tags_help_text( $subscription = false ) { |
1101 | 1101 | |
1102 | - $url = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f'; |
|
1103 | - $link = sprintf( |
|
1104 | - '<strong><a href="%s" target="_blank">%s</a></strong>', |
|
1105 | - $url, |
|
1106 | - esc_html__( 'View available merge tags.', 'wpinv-quotes' ) |
|
1107 | - ); |
|
1102 | + $url = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f'; |
|
1103 | + $link = sprintf( |
|
1104 | + '<strong><a href="%s" target="_blank">%s</a></strong>', |
|
1105 | + $url, |
|
1106 | + esc_html__( 'View available merge tags.', 'wpinv-quotes' ) |
|
1107 | + ); |
|
1108 | 1108 | |
1109 | - $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' ); |
|
1109 | + $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' ); |
|
1110 | 1110 | |
1111 | - return "$description $link"; |
|
1111 | + return "$description $link"; |
|
1112 | 1112 | |
1113 | 1113 | } |
@@ -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,47 +190,47 @@ 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 = wpinv_clean( $option['desc'] ); |
|
199 | + if (isset($option['desc']) && !empty($option['help-tip'])) { |
|
200 | + $tip = wpinv_clean($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'] : uniqid( 'wpinv-' ), |
|
215 | - 'desc' => isset( $option['desc'] ) ? $option['desc'] : '', |
|
214 | + 'id' => isset($option['id']) ? $option['id'] : uniqid('wpinv-'), |
|
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'] : 0, |
|
222 | - 'max' => isset( $option['max'] ) ? $option['max'] : 999999, |
|
223 | - 'step' => isset( $option['step'] ) ? $option['step'] : 1, |
|
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 | - 'style' => isset( $option['style'] ) ? $option['style'] : '', |
|
232 | - 'cols' => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
|
233 | - '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'] : 0, |
|
222 | + 'max' => isset($option['max']) ? $option['max'] : 999999, |
|
223 | + 'step' => isset($option['step']) ? $option['step'] : 1, |
|
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 | + 'style' => isset($option['style']) ? $option['style'] : '', |
|
232 | + 'cols' => isset($option['cols']) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
|
233 | + 'rows' => isset($option['rows']) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5, |
|
234 | 234 | ) |
235 | 235 | ); |
236 | 236 | |
@@ -242,7 +242,7 @@ discard block |
||
242 | 242 | * @return array |
243 | 243 | */ |
244 | 244 | function wpinv_get_registered_settings() { |
245 | - return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) ); |
|
245 | + return array_filter(apply_filters('wpinv_registered_settings', wpinv_get_data('admin-settings'))); |
|
246 | 246 | } |
247 | 247 | |
248 | 248 | /** |
@@ -251,7 +251,7 @@ discard block |
||
251 | 251 | * @return array |
252 | 252 | */ |
253 | 253 | function getpaid_get_integration_settings() { |
254 | - return apply_filters( 'getpaid_integration_settings', array() ); |
|
254 | + return apply_filters('getpaid_integration_settings', array()); |
|
255 | 255 | } |
256 | 256 | |
257 | 257 | /** |
@@ -259,144 +259,144 @@ discard block |
||
259 | 259 | * |
260 | 260 | * @return array |
261 | 261 | */ |
262 | -function wpinv_settings_sanitize( $input = array() ) { |
|
262 | +function wpinv_settings_sanitize($input = array()) { |
|
263 | 263 | |
264 | 264 | $wpinv_options = wpinv_get_options(); |
265 | 265 | $raw_referrer = wp_get_raw_referer(); |
266 | 266 | |
267 | - if ( empty( $raw_referrer ) ) { |
|
267 | + if (empty($raw_referrer)) { |
|
268 | 268 | return $input; |
269 | 269 | } |
270 | 270 | |
271 | - wp_parse_str( $raw_referrer, $referrer ); |
|
271 | + wp_parse_str($raw_referrer, $referrer); |
|
272 | 272 | |
273 | - if ( empty( $referrer['tab'] ) ) { |
|
273 | + if (empty($referrer['tab'])) { |
|
274 | 274 | return $input; |
275 | 275 | } |
276 | 276 | |
277 | 277 | $settings = wpinv_get_registered_settings(); |
278 | - $tab = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general'; |
|
279 | - $section = isset( $referrer['section'] ) ? $referrer['section'] : 'main'; |
|
278 | + $tab = isset($referrer['tab']) ? $referrer['tab'] : 'general'; |
|
279 | + $section = isset($referrer['section']) ? $referrer['section'] : 'main'; |
|
280 | 280 | |
281 | 281 | $input = $input ? $input : array(); |
282 | - $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input ); |
|
283 | - $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input ); |
|
282 | + $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input); |
|
283 | + $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input); |
|
284 | 284 | |
285 | 285 | // Loop through each setting being saved and pass it through a sanitization filter |
286 | - foreach ( $input as $key => $value ) { |
|
286 | + foreach ($input as $key => $value) { |
|
287 | 287 | |
288 | 288 | // Get the setting type (checkbox, select, etc) |
289 | - $type = isset( $settings[ $tab ][$section][ $key ]['type'] ) ? $settings[ $tab ][$section][ $key ]['type'] : false; |
|
289 | + $type = isset($settings[$tab][$section][$key]['type']) ? $settings[$tab][$section][$key]['type'] : false; |
|
290 | 290 | |
291 | - if ( $type ) { |
|
291 | + if ($type) { |
|
292 | 292 | // Field type specific filter |
293 | - $input[$key] = apply_filters( 'wpinv_settings_sanitize_' . $type, $value, $key ); |
|
293 | + $input[$key] = apply_filters('wpinv_settings_sanitize_' . $type, $value, $key); |
|
294 | 294 | } |
295 | 295 | |
296 | 296 | // General filter |
297 | - $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
297 | + $input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key); |
|
298 | 298 | |
299 | 299 | // Key specific filter. |
300 | - $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] ); |
|
300 | + $input[$key] = apply_filters("wpinv_settings_sanitize_$key", $input[$key]); |
|
301 | 301 | } |
302 | 302 | |
303 | 303 | // Loop through the whitelist and unset any that are empty for the tab being saved |
304 | - $main_settings = isset( $settings[ $tab ] ) ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections |
|
305 | - $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array(); |
|
304 | + $main_settings = isset($settings[$tab]) ? $settings[$tab] : array(); // Check for extensions that aren't using new sections |
|
305 | + $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array(); |
|
306 | 306 | |
307 | - $found_settings = array_merge( $main_settings, $section_settings ); |
|
307 | + $found_settings = array_merge($main_settings, $section_settings); |
|
308 | 308 | |
309 | - if ( ! empty( $found_settings ) ) { |
|
310 | - foreach ( $found_settings as $key => $value ) { |
|
309 | + if (!empty($found_settings)) { |
|
310 | + foreach ($found_settings as $key => $value) { |
|
311 | 311 | |
312 | 312 | // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work |
313 | - if ( is_numeric( $key ) ) { |
|
313 | + if (is_numeric($key)) { |
|
314 | 314 | $key = $value['id']; |
315 | 315 | } |
316 | 316 | |
317 | - if ( ! isset( $input[ $key ] ) && isset( $wpinv_options[ $key ] ) ) { |
|
318 | - unset( $wpinv_options[ $key ] ); |
|
317 | + if (!isset($input[$key]) && isset($wpinv_options[$key])) { |
|
318 | + unset($wpinv_options[$key]); |
|
319 | 319 | } |
320 | 320 | } |
321 | 321 | } |
322 | 322 | |
323 | 323 | // Merge our new settings with the existing |
324 | - $output = array_merge( $wpinv_options, $input ); |
|
324 | + $output = array_merge($wpinv_options, $input); |
|
325 | 325 | |
326 | - add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' ); |
|
326 | + add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated'); |
|
327 | 327 | |
328 | 328 | return $output; |
329 | 329 | } |
330 | 330 | |
331 | -function wpinv_settings_sanitize_misc_accounting( $input ) { |
|
331 | +function wpinv_settings_sanitize_misc_accounting($input) { |
|
332 | 332 | |
333 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
333 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
334 | 334 | return $input; |
335 | 335 | } |
336 | 336 | |
337 | - if( ! empty( $input['enable_sequential'] ) && !wpinv_get_option( 'enable_sequential' ) ) { |
|
337 | + if (!empty($input['enable_sequential']) && !wpinv_get_option('enable_sequential')) { |
|
338 | 338 | // Shows an admin notice about upgrading previous order numbers |
339 | - getpaid_session()->set( 'upgrade_sequential', '1' ); |
|
339 | + getpaid_session()->set('upgrade_sequential', '1'); |
|
340 | 340 | } |
341 | 341 | |
342 | 342 | return $input; |
343 | 343 | } |
344 | -add_filter( 'wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting' ); |
|
344 | +add_filter('wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting'); |
|
345 | 345 | |
346 | -function wpinv_settings_sanitize_tax_rates( $input ) { |
|
347 | - if( ! wpinv_current_user_can_manage_invoicing() ) { |
|
346 | +function wpinv_settings_sanitize_tax_rates($input) { |
|
347 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
348 | 348 | return $input; |
349 | 349 | } |
350 | 350 | |
351 | - $new_rates = ! empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array(); |
|
351 | + $new_rates = !empty($_POST['tax_rates']) ? array_values($_POST['tax_rates']) : array(); |
|
352 | 352 | $tax_rates = array(); |
353 | 353 | |
354 | - foreach ( $new_rates as $rate ) { |
|
354 | + foreach ($new_rates as $rate) { |
|
355 | 355 | |
356 | - $rate['rate'] = wpinv_sanitize_amount( $rate['rate'] ); |
|
357 | - $rate['name'] = sanitize_text_field( $rate['name'] ); |
|
358 | - $rate['state'] = sanitize_text_field( $rate['state'] ); |
|
359 | - $rate['country'] = sanitize_text_field( $rate['country'] ); |
|
360 | - $rate['global'] = empty( $rate['state'] ); |
|
356 | + $rate['rate'] = wpinv_sanitize_amount($rate['rate']); |
|
357 | + $rate['name'] = sanitize_text_field($rate['name']); |
|
358 | + $rate['state'] = sanitize_text_field($rate['state']); |
|
359 | + $rate['country'] = sanitize_text_field($rate['country']); |
|
360 | + $rate['global'] = empty($rate['state']); |
|
361 | 361 | $tax_rates[] = $rate; |
362 | 362 | |
363 | 363 | } |
364 | 364 | |
365 | - update_option( 'wpinv_tax_rates', $tax_rates ); |
|
365 | + update_option('wpinv_tax_rates', $tax_rates); |
|
366 | 366 | |
367 | 367 | return $input; |
368 | 368 | } |
369 | -add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' ); |
|
369 | +add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates'); |
|
370 | 370 | |
371 | -function wpinv_sanitize_text_field( $input ) { |
|
372 | - return trim( $input ); |
|
371 | +function wpinv_sanitize_text_field($input) { |
|
372 | + return trim($input); |
|
373 | 373 | } |
374 | -add_filter( 'wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field' ); |
|
374 | +add_filter('wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field'); |
|
375 | 375 | |
376 | 376 | function wpinv_get_settings_tabs() { |
377 | 377 | $tabs = array(); |
378 | - $tabs['general'] = __( 'General', 'invoicing' ); |
|
379 | - $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' ); |
|
380 | - $tabs['taxes'] = __( 'Taxes', 'invoicing' ); |
|
381 | - $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
378 | + $tabs['general'] = __('General', 'invoicing'); |
|
379 | + $tabs['gateways'] = __('Payment Gateways', 'invoicing'); |
|
380 | + $tabs['taxes'] = __('Taxes', 'invoicing'); |
|
381 | + $tabs['emails'] = __('Emails', 'invoicing'); |
|
382 | 382 | |
383 | - if ( count( getpaid_get_integration_settings() ) > 0 ) { |
|
384 | - $tabs['integrations'] = __( 'Integrations', 'invoicing' ); |
|
383 | + if (count(getpaid_get_integration_settings()) > 0) { |
|
384 | + $tabs['integrations'] = __('Integrations', 'invoicing'); |
|
385 | 385 | } |
386 | 386 | |
387 | - $tabs['privacy'] = __( 'Privacy', 'invoicing' ); |
|
388 | - $tabs['misc'] = __( 'Misc', 'invoicing' ); |
|
389 | - $tabs['tools'] = __( 'Tools', 'invoicing' ); |
|
387 | + $tabs['privacy'] = __('Privacy', 'invoicing'); |
|
388 | + $tabs['misc'] = __('Misc', 'invoicing'); |
|
389 | + $tabs['tools'] = __('Tools', 'invoicing'); |
|
390 | 390 | |
391 | - return apply_filters( 'wpinv_settings_tabs', $tabs ); |
|
391 | + return apply_filters('wpinv_settings_tabs', $tabs); |
|
392 | 392 | } |
393 | 393 | |
394 | -function wpinv_get_settings_tab_sections( $tab = false ) { |
|
394 | +function wpinv_get_settings_tab_sections($tab = false) { |
|
395 | 395 | $tabs = false; |
396 | 396 | $sections = wpinv_get_registered_settings_sections(); |
397 | 397 | |
398 | - if( $tab && ! empty( $sections[ $tab ] ) ) { |
|
399 | - $tabs = $sections[ $tab ]; |
|
398 | + if ($tab && !empty($sections[$tab])) { |
|
399 | + $tabs = $sections[$tab]; |
|
400 | 400 | } |
401 | 401 | |
402 | 402 | return $tabs; |
@@ -405,91 +405,91 @@ discard block |
||
405 | 405 | function wpinv_get_registered_settings_sections() { |
406 | 406 | static $sections = false; |
407 | 407 | |
408 | - if ( false !== $sections ) { |
|
408 | + if (false !== $sections) { |
|
409 | 409 | return $sections; |
410 | 410 | } |
411 | 411 | |
412 | 412 | $sections = array( |
413 | - 'general' => apply_filters( 'wpinv_settings_sections_general', array( |
|
414 | - 'main' => __( 'General Settings', 'invoicing' ), |
|
415 | - 'currency_section' => __( 'Currency Settings', 'invoicing' ), |
|
416 | - 'labels' => __( 'Label Texts', 'invoicing' ), |
|
417 | - ) ), |
|
418 | - 'gateways' => apply_filters( 'wpinv_settings_sections_gateways', array( |
|
419 | - 'main' => __( 'Gateway Settings', 'invoicing' ), |
|
420 | - ) ), |
|
421 | - 'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array( |
|
422 | - 'main' => __( 'Tax Settings', 'invoicing' ), |
|
423 | - 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
424 | - 'vat' => __( 'EU VAT Settings', 'invoicing' ) |
|
425 | - ) ), |
|
426 | - 'emails' => apply_filters( 'wpinv_settings_sections_emails', array( |
|
427 | - 'main' => __( 'Email Settings', 'invoicing' ), |
|
428 | - ) ), |
|
429 | - |
|
430 | - 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ), |
|
431 | - |
|
432 | - 'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array( |
|
433 | - 'main' => __( 'Privacy policy', 'invoicing' ), |
|
434 | - ) ), |
|
435 | - 'misc' => apply_filters( 'wpinv_settings_sections_misc', array( |
|
436 | - 'main' => __( 'Miscellaneous', 'invoicing' ), |
|
437 | - 'custom-css' => __( 'Custom CSS', 'invoicing' ), |
|
438 | - ) ), |
|
439 | - 'tools' => apply_filters( 'wpinv_settings_sections_tools', array( |
|
440 | - 'main' => __( 'Diagnostic Tools', 'invoicing' ), |
|
441 | - ) ), |
|
413 | + 'general' => apply_filters('wpinv_settings_sections_general', array( |
|
414 | + 'main' => __('General Settings', 'invoicing'), |
|
415 | + 'currency_section' => __('Currency Settings', 'invoicing'), |
|
416 | + 'labels' => __('Label Texts', 'invoicing'), |
|
417 | + )), |
|
418 | + 'gateways' => apply_filters('wpinv_settings_sections_gateways', array( |
|
419 | + 'main' => __('Gateway Settings', 'invoicing'), |
|
420 | + )), |
|
421 | + 'taxes' => apply_filters('wpinv_settings_sections_taxes', array( |
|
422 | + 'main' => __('Tax Settings', 'invoicing'), |
|
423 | + 'rates' => __('Tax Rates', 'invoicing'), |
|
424 | + 'vat' => __('EU VAT Settings', 'invoicing') |
|
425 | + )), |
|
426 | + 'emails' => apply_filters('wpinv_settings_sections_emails', array( |
|
427 | + 'main' => __('Email Settings', 'invoicing'), |
|
428 | + )), |
|
429 | + |
|
430 | + 'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'label', 'id'), |
|
431 | + |
|
432 | + 'privacy' => apply_filters('wpinv_settings_sections_privacy', array( |
|
433 | + 'main' => __('Privacy policy', 'invoicing'), |
|
434 | + )), |
|
435 | + 'misc' => apply_filters('wpinv_settings_sections_misc', array( |
|
436 | + 'main' => __('Miscellaneous', 'invoicing'), |
|
437 | + 'custom-css' => __('Custom CSS', 'invoicing'), |
|
438 | + )), |
|
439 | + 'tools' => apply_filters('wpinv_settings_sections_tools', array( |
|
440 | + 'main' => __('Diagnostic Tools', 'invoicing'), |
|
441 | + )), |
|
442 | 442 | ); |
443 | 443 | |
444 | - $sections = apply_filters( 'wpinv_settings_sections', $sections ); |
|
444 | + $sections = apply_filters('wpinv_settings_sections', $sections); |
|
445 | 445 | |
446 | 446 | return $sections; |
447 | 447 | } |
448 | 448 | |
449 | -function wpinv_get_pages( $with_slug = false, $default_label = NULL ) { |
|
449 | +function wpinv_get_pages($with_slug = false, $default_label = NULL) { |
|
450 | 450 | $pages_options = array(); |
451 | 451 | |
452 | - if( $default_label !== NULL && $default_label !== false ) { |
|
453 | - $pages_options = array( '' => $default_label ); // Blank option |
|
452 | + if ($default_label !== NULL && $default_label !== false) { |
|
453 | + $pages_options = array('' => $default_label); // Blank option |
|
454 | 454 | } |
455 | 455 | |
456 | 456 | $pages = get_pages(); |
457 | - if ( $pages ) { |
|
458 | - foreach ( $pages as $page ) { |
|
457 | + if ($pages) { |
|
458 | + foreach ($pages as $page) { |
|
459 | 459 | $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
460 | - $pages_options[ $page->ID ] = $title; |
|
460 | + $pages_options[$page->ID] = $title; |
|
461 | 461 | } |
462 | 462 | } |
463 | 463 | |
464 | 464 | return $pages_options; |
465 | 465 | } |
466 | 466 | |
467 | -function wpinv_header_callback( $args ) { |
|
468 | - if ( !empty( $args['desc'] ) ) { |
|
467 | +function wpinv_header_callback($args) { |
|
468 | + if (!empty($args['desc'])) { |
|
469 | 469 | echo $args['desc']; |
470 | 470 | } |
471 | 471 | } |
472 | 472 | |
473 | -function wpinv_hidden_callback( $args ) { |
|
473 | +function wpinv_hidden_callback($args) { |
|
474 | 474 | global $wpinv_options; |
475 | 475 | |
476 | - if ( isset( $args['set_value'] ) ) { |
|
476 | + if (isset($args['set_value'])) { |
|
477 | 477 | $value = $args['set_value']; |
478 | - } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
479 | - $value = $wpinv_options[ $args['id'] ]; |
|
478 | + } elseif (isset($wpinv_options[$args['id']])) { |
|
479 | + $value = $wpinv_options[$args['id']]; |
|
480 | 480 | } else { |
481 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
481 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
482 | 482 | } |
483 | 483 | |
484 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
484 | + if (isset($args['faux']) && true === $args['faux']) { |
|
485 | 485 | $args['readonly'] = true; |
486 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
486 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
487 | 487 | $name = ''; |
488 | 488 | } else { |
489 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
489 | + $name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"'; |
|
490 | 490 | } |
491 | 491 | |
492 | - $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
492 | + $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key($args['id']) . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '" />'; |
|
493 | 493 | |
494 | 494 | echo $html; |
495 | 495 | } |
@@ -497,61 +497,61 @@ discard block |
||
497 | 497 | /** |
498 | 498 | * Displays a checkbox settings callback. |
499 | 499 | */ |
500 | -function wpinv_checkbox_callback( $args ) { |
|
500 | +function wpinv_checkbox_callback($args) { |
|
501 | 501 | |
502 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
503 | - $std = wpinv_get_option( $args['id'], $std ); |
|
504 | - $id = esc_attr( $args['id'] ); |
|
502 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
503 | + $std = wpinv_get_option($args['id'], $std); |
|
504 | + $id = esc_attr($args['id']); |
|
505 | 505 | |
506 | - getpaid_hidden_field( "wpinv_settings[$id]", '0' ); |
|
506 | + getpaid_hidden_field("wpinv_settings[$id]", '0'); |
|
507 | 507 | ?> |
508 | 508 | <fieldset> |
509 | 509 | <label> |
510 | - <input id="wpinv-settings-<?php echo $id; ?>" name="wpinv_settings[<?php echo $id; ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox"> |
|
511 | - <?php echo wp_kses_post( $args['desc'] ); ?> |
|
510 | + <input id="wpinv-settings-<?php echo $id; ?>" name="wpinv_settings[<?php echo $id; ?>]" <?php checked(empty($std), false); ?> value="1" type="checkbox"> |
|
511 | + <?php echo wp_kses_post($args['desc']); ?> |
|
512 | 512 | </label> |
513 | 513 | </fieldset> |
514 | 514 | <?php |
515 | 515 | } |
516 | 516 | |
517 | -function wpinv_multicheck_callback( $args ) { |
|
517 | +function wpinv_multicheck_callback($args) { |
|
518 | 518 | |
519 | 519 | global $wpinv_options; |
520 | 520 | |
521 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
522 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
521 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
522 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
523 | 523 | |
524 | - if ( ! empty( $args['options'] ) ) { |
|
524 | + if (!empty($args['options'])) { |
|
525 | 525 | |
526 | - $std = isset( $args['std'] ) ? $args['std'] : array(); |
|
527 | - $value = isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ] : $std; |
|
526 | + $std = isset($args['std']) ? $args['std'] : array(); |
|
527 | + $value = isset($wpinv_options[$args['id']]) ? $wpinv_options[$args['id']] : $std; |
|
528 | 528 | |
529 | 529 | echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">'; |
530 | - foreach( $args['options'] as $key => $option ): |
|
531 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
532 | - if ( in_array( $sanitize_key, $value ) ) { |
|
530 | + foreach ($args['options'] as $key => $option): |
|
531 | + $sanitize_key = wpinv_sanitize_key($key); |
|
532 | + if (in_array($sanitize_key, $value)) { |
|
533 | 533 | $enabled = $sanitize_key; |
534 | 534 | } else { |
535 | 535 | $enabled = NULL; |
536 | 536 | } |
537 | - 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 ) . '/> '; |
|
538 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
537 | + 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) . '/> '; |
|
538 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post($option) . '</label></div>'; |
|
539 | 539 | endforeach; |
540 | 540 | echo '</div>'; |
541 | 541 | echo '<p class="description">' . $args['desc'] . '</p>'; |
542 | 542 | } |
543 | 543 | } |
544 | 544 | |
545 | -function wpinv_payment_icons_callback( $args ) { |
|
545 | +function wpinv_payment_icons_callback($args) { |
|
546 | 546 | global $wpinv_options; |
547 | 547 | |
548 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
548 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
549 | 549 | |
550 | - if ( ! empty( $args['options'] ) ) { |
|
551 | - foreach( $args['options'] as $key => $option ) { |
|
552 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
550 | + if (!empty($args['options'])) { |
|
551 | + foreach ($args['options'] as $key => $option) { |
|
552 | + $sanitize_key = wpinv_sanitize_key($key); |
|
553 | 553 | |
554 | - if( isset( $wpinv_options[$args['id']][$key] ) ) { |
|
554 | + if (isset($wpinv_options[$args['id']][$key])) { |
|
555 | 555 | $enabled = $option; |
556 | 556 | } else { |
557 | 557 | $enabled = NULL; |
@@ -559,67 +559,67 @@ discard block |
||
559 | 559 | |
560 | 560 | echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
561 | 561 | |
562 | - 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 ) . '/> '; |
|
562 | + 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) . '/> '; |
|
563 | 563 | |
564 | - if ( wpinv_string_is_image_url( $key ) ) { |
|
565 | - echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
564 | + if (wpinv_string_is_image_url($key)) { |
|
565 | + echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
566 | 566 | } else { |
567 | - $card = strtolower( str_replace( ' ', '', $option ) ); |
|
567 | + $card = strtolower(str_replace(' ', '', $option)); |
|
568 | 568 | |
569 | - if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
570 | - $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
569 | + if (has_filter('wpinv_accepted_payment_' . $card . '_image')) { |
|
570 | + $image = apply_filters('wpinv_accepted_payment_' . $card . '_image', ''); |
|
571 | 571 | } else { |
572 | - $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
572 | + $image = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false); |
|
573 | 573 | $content_dir = WP_CONTENT_DIR; |
574 | 574 | |
575 | - if ( function_exists( 'wp_normalize_path' ) ) { |
|
575 | + if (function_exists('wp_normalize_path')) { |
|
576 | 576 | // Replaces backslashes with forward slashes for Windows systems |
577 | - $image = wp_normalize_path( $image ); |
|
578 | - $content_dir = wp_normalize_path( $content_dir ); |
|
577 | + $image = wp_normalize_path($image); |
|
578 | + $content_dir = wp_normalize_path($content_dir); |
|
579 | 579 | } |
580 | 580 | |
581 | - $image = str_replace( $content_dir, content_url(), $image ); |
|
581 | + $image = str_replace($content_dir, content_url(), $image); |
|
582 | 582 | } |
583 | 583 | |
584 | - echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
584 | + echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
585 | 585 | } |
586 | 586 | echo $option . '</label>'; |
587 | 587 | } |
588 | - echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
588 | + echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>'; |
|
589 | 589 | } |
590 | 590 | } |
591 | 591 | |
592 | 592 | /** |
593 | 593 | * Displays a radio settings field. |
594 | 594 | */ |
595 | -function wpinv_radio_callback( $args ) { |
|
595 | +function wpinv_radio_callback($args) { |
|
596 | 596 | |
597 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
598 | - $std = wpinv_get_option( $args['id'], $std ); |
|
597 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
598 | + $std = wpinv_get_option($args['id'], $std); |
|
599 | 599 | ?> |
600 | 600 | <fieldset> |
601 | - <ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;"> |
|
602 | - <?php foreach( $args['options'] as $key => $option ) : ?> |
|
601 | + <ul id="wpinv-settings-<?php echo esc_attr($args['id']); ?>" style="margin-top: 0;"> |
|
602 | + <?php foreach ($args['options'] as $key => $option) : ?> |
|
603 | 603 | <li> |
604 | 604 | <label> |
605 | - <input name="wpinv_settings[<?php echo esc_attr( $args['id'] ); ?>]" <?php checked( $std, $key ); ?> value="<?php echo esc_attr( $key ); ?>" type="radio"> |
|
606 | - <?php echo wp_kses_post( $option ); ?> |
|
605 | + <input name="wpinv_settings[<?php echo esc_attr($args['id']); ?>]" <?php checked($std, $key); ?> value="<?php echo esc_attr($key); ?>" type="radio"> |
|
606 | + <?php echo wp_kses_post($option); ?> |
|
607 | 607 | </label> |
608 | 608 | </li> |
609 | 609 | <?php endforeach; ?> |
610 | 610 | </ul> |
611 | 611 | </fieldset> |
612 | 612 | <?php |
613 | - getpaid_settings_description_callback( $args ); |
|
613 | + getpaid_settings_description_callback($args); |
|
614 | 614 | } |
615 | 615 | |
616 | 616 | /** |
617 | 617 | * Displays a description if available. |
618 | 618 | */ |
619 | -function getpaid_settings_description_callback( $args ) { |
|
619 | +function getpaid_settings_description_callback($args) { |
|
620 | 620 | |
621 | - if ( ! empty( $args['desc'] ) ) { |
|
622 | - $description = wp_kses_post( $args['desc'] ); |
|
621 | + if (!empty($args['desc'])) { |
|
622 | + $description = wp_kses_post($args['desc']); |
|
623 | 623 | echo "<p class='description'>$description</p>"; |
624 | 624 | } |
625 | 625 | |
@@ -635,7 +635,7 @@ discard block |
||
635 | 635 | </tr> |
636 | 636 | <tr class="bsui"> |
637 | 637 | <td colspan="2" class="p-0"> |
638 | - <?php include plugin_dir_path( __FILE__ ) . 'views/html-gateways-edit.php'; ?> |
|
638 | + <?php include plugin_dir_path(__FILE__) . 'views/html-gateways-edit.php'; ?> |
|
639 | 639 | |
640 | 640 | <?php |
641 | 641 | } |
@@ -643,22 +643,22 @@ discard block |
||
643 | 643 | function wpinv_gateway_select_callback($args) { |
644 | 644 | global $wpinv_options; |
645 | 645 | |
646 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
647 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
646 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
647 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
648 | 648 | |
649 | - echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >'; |
|
649 | + echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '" >'; |
|
650 | 650 | |
651 | - foreach ( $args['options'] as $key => $option ) : |
|
652 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
653 | - $selected = selected( $key, $args['selected'], false ); |
|
651 | + foreach ($args['options'] as $key => $option) : |
|
652 | + if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) { |
|
653 | + $selected = selected($key, $args['selected'], false); |
|
654 | 654 | } else { |
655 | - $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : ''; |
|
655 | + $selected = isset($wpinv_options[$args['id']]) ? selected($key, $wpinv_options[$args['id']], false) : ''; |
|
656 | 656 | } |
657 | - echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
657 | + echo '<option value="' . wpinv_sanitize_key($key) . '"' . $selected . '>' . esc_html($option['admin_label']) . '</option>'; |
|
658 | 658 | endforeach; |
659 | 659 | |
660 | 660 | echo '</select>'; |
661 | - echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
661 | + echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
662 | 662 | } |
663 | 663 | |
664 | 664 | /** |
@@ -667,28 +667,28 @@ discard block |
||
667 | 667 | * @param array $args |
668 | 668 | * @return string |
669 | 669 | */ |
670 | -function wpinv_settings_attrs_helper( $args ) { |
|
670 | +function wpinv_settings_attrs_helper($args) { |
|
671 | 671 | |
672 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
673 | - $id = esc_attr( $args['id'] ); |
|
674 | - $placeholder = esc_attr( $args['placeholder'] ); |
|
672 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
673 | + $id = esc_attr($args['id']); |
|
674 | + $placeholder = esc_attr($args['placeholder']); |
|
675 | 675 | |
676 | - if ( ! empty( $args['faux'] ) ) { |
|
676 | + if (!empty($args['faux'])) { |
|
677 | 677 | $args['readonly'] = true; |
678 | 678 | $name = ''; |
679 | 679 | } else { |
680 | - $value = wpinv_get_option( $args['id'], $value ); |
|
680 | + $value = wpinv_get_option($args['id'], $value); |
|
681 | 681 | $name = "wpinv_settings[$id]"; |
682 | 682 | } |
683 | 683 | |
684 | - $value = is_scalar( $value ) ? esc_attr( $value ) : ''; |
|
685 | - $class = esc_attr( $args['class'] ); |
|
686 | - $style = esc_attr( $args['style'] ); |
|
687 | - $readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"'; |
|
684 | + $value = is_scalar($value) ? esc_attr($value) : ''; |
|
685 | + $class = esc_attr($args['class']); |
|
686 | + $style = esc_attr($args['style']); |
|
687 | + $readonly = empty($args['readonly']) ? '' : 'readonly onclick="this.select()"'; |
|
688 | 688 | |
689 | 689 | $onchange = ''; |
690 | - if ( ! empty( $args['onchange'] ) ) { |
|
691 | - $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"'; |
|
690 | + if (!empty($args['onchange'])) { |
|
691 | + $onchange = ' onchange="' . esc_attr($args['onchange']) . '"'; |
|
692 | 692 | } |
693 | 693 | |
694 | 694 | return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly"; |
@@ -697,11 +697,11 @@ discard block |
||
697 | 697 | /** |
698 | 698 | * Displays a text input settings callback. |
699 | 699 | */ |
700 | -function wpinv_text_callback( $args ) { |
|
700 | +function wpinv_text_callback($args) { |
|
701 | 701 | |
702 | - $desc = wp_kses_post( $args['desc'] ); |
|
703 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
704 | - $attr = wpinv_settings_attrs_helper( $args ); |
|
702 | + $desc = wp_kses_post($args['desc']); |
|
703 | + $desc = empty($desc) ? '' : "<p class='description'>$desc</p>"; |
|
704 | + $attr = wpinv_settings_attrs_helper($args); |
|
705 | 705 | |
706 | 706 | ?> |
707 | 707 | <label style="width: 100%;"> |
@@ -715,14 +715,14 @@ discard block |
||
715 | 715 | /** |
716 | 716 | * Displays a number input settings callback. |
717 | 717 | */ |
718 | -function wpinv_number_callback( $args ) { |
|
718 | +function wpinv_number_callback($args) { |
|
719 | 719 | |
720 | - $desc = wp_kses_post( $args['desc'] ); |
|
721 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
722 | - $attr = wpinv_settings_attrs_helper( $args ); |
|
723 | - $max = intval( $args['max'] ); |
|
724 | - $min = intval( $args['min'] ); |
|
725 | - $step = floatval( $args['step'] ); |
|
720 | + $desc = wp_kses_post($args['desc']); |
|
721 | + $desc = empty($desc) ? '' : "<p class='description'>$desc</p>"; |
|
722 | + $attr = wpinv_settings_attrs_helper($args); |
|
723 | + $max = intval($args['max']); |
|
724 | + $min = intval($args['min']); |
|
725 | + $step = floatval($args['step']); |
|
726 | 726 | |
727 | 727 | ?> |
728 | 728 | <label style="width: 100%;"> |
@@ -733,47 +733,47 @@ discard block |
||
733 | 733 | |
734 | 734 | } |
735 | 735 | |
736 | -function wpinv_textarea_callback( $args ) { |
|
736 | +function wpinv_textarea_callback($args) { |
|
737 | 737 | global $wpinv_options; |
738 | 738 | |
739 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
739 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
740 | 740 | |
741 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
742 | - $value = $wpinv_options[ $args['id'] ]; |
|
741 | + if (isset($wpinv_options[$args['id']])) { |
|
742 | + $value = $wpinv_options[$args['id']]; |
|
743 | 743 | } else { |
744 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
744 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
745 | 745 | } |
746 | 746 | |
747 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
748 | - $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text'; |
|
747 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
748 | + $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text'; |
|
749 | 749 | |
750 | - $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>'; |
|
751 | - $html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
750 | + $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>'; |
|
751 | + $html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
752 | 752 | |
753 | 753 | echo $html; |
754 | 754 | } |
755 | 755 | |
756 | -function wpinv_password_callback( $args ) { |
|
756 | +function wpinv_password_callback($args) { |
|
757 | 757 | global $wpinv_options; |
758 | 758 | |
759 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
759 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
760 | 760 | |
761 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
762 | - $value = $wpinv_options[ $args['id'] ]; |
|
761 | + if (isset($wpinv_options[$args['id']])) { |
|
762 | + $value = $wpinv_options[$args['id']]; |
|
763 | 763 | } else { |
764 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
764 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
765 | 765 | } |
766 | 766 | |
767 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
768 | - $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 ) . '"/>'; |
|
769 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
767 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
768 | + $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) . '"/>'; |
|
769 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
770 | 770 | |
771 | 771 | echo $html; |
772 | 772 | } |
773 | 773 | |
774 | 774 | function wpinv_missing_callback($args) { |
775 | 775 | printf( |
776 | - __( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
776 | + __('The callback function used for the %s setting is missing.', 'invoicing'), |
|
777 | 777 | '<strong>' . $args['id'] . '</strong>' |
778 | 778 | ); |
779 | 779 | } |
@@ -781,20 +781,20 @@ discard block |
||
781 | 781 | /** |
782 | 782 | * Displays a number input settings callback. |
783 | 783 | */ |
784 | -function wpinv_select_callback( $args ) { |
|
784 | +function wpinv_select_callback($args) { |
|
785 | 785 | |
786 | - $desc = wp_kses_post( $args['desc'] ); |
|
787 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
788 | - $attr = wpinv_settings_attrs_helper( $args ); |
|
789 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
790 | - $value = wpinv_get_option( $args['id'], $value ); |
|
786 | + $desc = wp_kses_post($args['desc']); |
|
787 | + $desc = empty($desc) ? '' : "<p class='description'>$desc</p>"; |
|
788 | + $attr = wpinv_settings_attrs_helper($args); |
|
789 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
790 | + $value = wpinv_get_option($args['id'], $value); |
|
791 | 791 | |
792 | 792 | ?> |
793 | 793 | <label style="width: 100%;"> |
794 | 794 | <select <?php echo $attr; ?>> |
795 | - <?php foreach ( $args['options'] as $option => $name ) : ?> |
|
796 | - <option value="<?php echo esc_attr( $option ); ?>" <?php echo selected( $option, $value ); ?>><?php echo wpinv_clean( $name ); ?></option> |
|
797 | - <?php endforeach;?> |
|
795 | + <?php foreach ($args['options'] as $option => $name) : ?> |
|
796 | + <option value="<?php echo esc_attr($option); ?>" <?php echo selected($option, $value); ?>><?php echo wpinv_clean($name); ?></option> |
|
797 | + <?php endforeach; ?> |
|
798 | 798 | </select> |
799 | 799 | <?php echo $desc; ?> |
800 | 800 | </label> |
@@ -802,95 +802,95 @@ discard block |
||
802 | 802 | |
803 | 803 | } |
804 | 804 | |
805 | -function wpinv_color_select_callback( $args ) { |
|
805 | +function wpinv_color_select_callback($args) { |
|
806 | 806 | global $wpinv_options; |
807 | 807 | |
808 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
808 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
809 | 809 | |
810 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
811 | - $value = $wpinv_options[ $args['id'] ]; |
|
810 | + if (isset($wpinv_options[$args['id']])) { |
|
811 | + $value = $wpinv_options[$args['id']]; |
|
812 | 812 | } else { |
813 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
813 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
814 | 814 | } |
815 | 815 | |
816 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
816 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>'; |
|
817 | 817 | |
818 | - foreach ( $args['options'] as $option => $color ) { |
|
819 | - $selected = selected( $option, $value, false ); |
|
820 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>'; |
|
818 | + foreach ($args['options'] as $option => $color) { |
|
819 | + $selected = selected($option, $value, false); |
|
820 | + $html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($color['label']) . '</option>'; |
|
821 | 821 | } |
822 | 822 | |
823 | 823 | $html .= '</select>'; |
824 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
824 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
825 | 825 | |
826 | 826 | echo $html; |
827 | 827 | } |
828 | 828 | |
829 | -function wpinv_rich_editor_callback( $args ) { |
|
829 | +function wpinv_rich_editor_callback($args) { |
|
830 | 830 | global $wpinv_options, $wp_version; |
831 | 831 | |
832 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
832 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
833 | 833 | |
834 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
835 | - $value = $wpinv_options[ $args['id'] ]; |
|
834 | + if (isset($wpinv_options[$args['id']])) { |
|
835 | + $value = $wpinv_options[$args['id']]; |
|
836 | 836 | |
837 | - if( empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
838 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
837 | + if (empty($args['allow_blank']) && empty($value)) { |
|
838 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
839 | 839 | } |
840 | 840 | } else { |
841 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
841 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
842 | 842 | } |
843 | 843 | |
844 | - $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
844 | + $rows = isset($args['size']) ? $args['size'] : 20; |
|
845 | 845 | |
846 | 846 | $html = '<div class="getpaid-settings-editor-input">'; |
847 | - if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
847 | + if ($wp_version >= 3.3 && function_exists('wp_editor')) { |
|
848 | 848 | ob_start(); |
849 | - 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 ) ); |
|
849 | + 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)); |
|
850 | 850 | $html .= ob_get_clean(); |
851 | 851 | } else { |
852 | - $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>'; |
|
852 | + $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>'; |
|
853 | 853 | } |
854 | 854 | |
855 | - $html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
855 | + $html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
856 | 856 | |
857 | 857 | echo $html; |
858 | 858 | } |
859 | 859 | |
860 | -function wpinv_upload_callback( $args ) { |
|
860 | +function wpinv_upload_callback($args) { |
|
861 | 861 | global $wpinv_options; |
862 | 862 | |
863 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
863 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
864 | 864 | |
865 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
865 | + if (isset($wpinv_options[$args['id']])) { |
|
866 | 866 | $value = $wpinv_options[$args['id']]; |
867 | 867 | } else { |
868 | 868 | $value = isset($args['std']) ? $args['std'] : ''; |
869 | 869 | } |
870 | 870 | |
871 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
872 | - $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 ) ) . '"/>'; |
|
873 | - $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
874 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
871 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
872 | + $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)) . '"/>'; |
|
873 | + $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __('Upload File', 'invoicing') . '"/></span>'; |
|
874 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
875 | 875 | |
876 | 876 | echo $html; |
877 | 877 | } |
878 | 878 | |
879 | -function wpinv_color_callback( $args ) { |
|
879 | +function wpinv_color_callback($args) { |
|
880 | 880 | global $wpinv_options; |
881 | 881 | |
882 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
882 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
883 | 883 | |
884 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
885 | - $value = $wpinv_options[ $args['id'] ]; |
|
884 | + if (isset($wpinv_options[$args['id']])) { |
|
885 | + $value = $wpinv_options[$args['id']]; |
|
886 | 886 | } else { |
887 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
887 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
888 | 888 | } |
889 | 889 | |
890 | - $default = isset( $args['std'] ) ? $args['std'] : ''; |
|
890 | + $default = isset($args['std']) ? $args['std'] : ''; |
|
891 | 891 | |
892 | - $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 ) . '" />'; |
|
893 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
892 | + $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) . '" />'; |
|
893 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
894 | 894 | |
895 | 895 | echo $html; |
896 | 896 | } |
@@ -898,9 +898,9 @@ discard block |
||
898 | 898 | function wpinv_country_states_callback($args) { |
899 | 899 | global $wpinv_options; |
900 | 900 | |
901 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
901 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
902 | 902 | |
903 | - if ( isset( $args['placeholder'] ) ) { |
|
903 | + if (isset($args['placeholder'])) { |
|
904 | 904 | $placeholder = $args['placeholder']; |
905 | 905 | } else { |
906 | 906 | $placeholder = ''; |
@@ -908,16 +908,16 @@ discard block |
||
908 | 908 | |
909 | 909 | $states = wpinv_get_country_states(); |
910 | 910 | |
911 | - $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
912 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
911 | + $class = empty($states) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
912 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"' . $class . 'data-placeholder="' . esc_html($placeholder) . '"/>'; |
|
913 | 913 | |
914 | - foreach ( $states as $option => $name ) { |
|
915 | - $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : ''; |
|
916 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
914 | + foreach ($states as $option => $name) { |
|
915 | + $selected = isset($wpinv_options[$args['id']]) ? selected($option, $wpinv_options[$args['id']], false) : ''; |
|
916 | + $html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>'; |
|
917 | 917 | } |
918 | 918 | |
919 | 919 | $html .= '</select>'; |
920 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
920 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
921 | 921 | |
922 | 922 | echo $html; |
923 | 923 | } |
@@ -932,7 +932,7 @@ discard block |
||
932 | 932 | </tr> |
933 | 933 | <tr class="bsui"> |
934 | 934 | <td colspan="2" class="p-0"> |
935 | - <?php include plugin_dir_path( __FILE__ ) . 'views/html-tax-rates-edit.php'; ?> |
|
935 | + <?php include plugin_dir_path(__FILE__) . 'views/html-tax-rates-edit.php'; ?> |
|
936 | 936 | |
937 | 937 | <?php |
938 | 938 | |
@@ -941,14 +941,14 @@ discard block |
||
941 | 941 | /** |
942 | 942 | * Displays a tax rate' edit row. |
943 | 943 | */ |
944 | -function wpinv_tax_rate_callback( $tax_rate, $key, $echo = true ) { |
|
944 | +function wpinv_tax_rate_callback($tax_rate, $key, $echo = true) { |
|
945 | 945 | ob_start(); |
946 | 946 | |
947 | - $key = sanitize_key( $key ); |
|
948 | - $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate']; |
|
949 | - include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php'; |
|
947 | + $key = sanitize_key($key); |
|
948 | + $tax_rate['reduced_rate'] = empty($tax_rate['reduced_rate']) ? 0 : $tax_rate['reduced_rate']; |
|
949 | + include plugin_dir_path(__FILE__) . 'views/html-tax-rate-edit.php'; |
|
950 | 950 | |
951 | - if ( $echo ) { |
|
951 | + if ($echo) { |
|
952 | 952 | echo ob_get_clean(); |
953 | 953 | } else { |
954 | 954 | return ob_get_clean(); |
@@ -961,134 +961,134 @@ discard block |
||
961 | 961 | ob_start(); ?> |
962 | 962 | </td><tr> |
963 | 963 | <td colspan="2" class="wpinv_tools_tdbox"> |
964 | - <?php if ( $args['desc'] ) { ?><p><?php echo $args['desc']; ?></p><?php } ?> |
|
965 | - <?php do_action( 'wpinv_tools_before' ); ?> |
|
964 | + <?php if ($args['desc']) { ?><p><?php echo $args['desc']; ?></p><?php } ?> |
|
965 | + <?php do_action('wpinv_tools_before'); ?> |
|
966 | 966 | <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts"> |
967 | 967 | <thead> |
968 | 968 | <tr> |
969 | - <th scope="col" class="wpinv-th-tool"><?php _e( 'Tool', 'invoicing' ); ?></th> |
|
970 | - <th scope="col" class="wpinv-th-desc"><?php _e( 'Description', 'invoicing' ); ?></th> |
|
971 | - <th scope="col" class="wpinv-th-action"><?php _e( 'Action', 'invoicing' ); ?></th> |
|
969 | + <th scope="col" class="wpinv-th-tool"><?php _e('Tool', 'invoicing'); ?></th> |
|
970 | + <th scope="col" class="wpinv-th-desc"><?php _e('Description', 'invoicing'); ?></th> |
|
971 | + <th scope="col" class="wpinv-th-action"><?php _e('Action', 'invoicing'); ?></th> |
|
972 | 972 | </tr> |
973 | 973 | </thead> |
974 | 974 | |
975 | 975 | <tbody> |
976 | 976 | <tr> |
977 | - <td><?php _e( 'Check Pages', 'invoicing' );?></td> |
|
977 | + <td><?php _e('Check Pages', 'invoicing'); ?></td> |
|
978 | 978 | <td> |
979 | - <small><?php _e( 'Creates any missing GetPaid pages.', 'invoicing' ); ?></small> |
|
979 | + <small><?php _e('Creates any missing GetPaid pages.', 'invoicing'); ?></small> |
|
980 | 980 | </td> |
981 | 981 | <td> |
982 | 982 | <a href="<?php |
983 | 983 | echo esc_url( |
984 | 984 | wp_nonce_url( |
985 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
985 | + add_query_arg('getpaid-admin-action', 'create_missing_pages'), |
|
986 | 986 | 'getpaid-nonce', |
987 | 987 | 'getpaid-nonce' |
988 | 988 | ) |
989 | 989 | ); |
990 | - ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a> |
|
990 | + ?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a> |
|
991 | 991 | </td> |
992 | 992 | </tr> |
993 | 993 | <tr> |
994 | - <td><?php _e( 'Create Database Tables', 'invoicing' );?></td> |
|
994 | + <td><?php _e('Create Database Tables', 'invoicing'); ?></td> |
|
995 | 995 | <td> |
996 | - <small><?php _e( 'Run this tool to create any missing database tables.', 'invoicing' ); ?></small> |
|
996 | + <small><?php _e('Run this tool to create any missing database tables.', 'invoicing'); ?></small> |
|
997 | 997 | </td> |
998 | 998 | <td> |
999 | 999 | <a href="<?php |
1000 | 1000 | echo esc_url( |
1001 | 1001 | wp_nonce_url( |
1002 | - add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ), |
|
1002 | + add_query_arg('getpaid-admin-action', 'create_missing_tables'), |
|
1003 | 1003 | 'getpaid-nonce', |
1004 | 1004 | 'getpaid-nonce' |
1005 | 1005 | ) |
1006 | 1006 | ); |
1007 | - ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a> |
|
1007 | + ?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a> |
|
1008 | 1008 | </td> |
1009 | 1009 | </tr> |
1010 | 1010 | <tr> |
1011 | - <td><?php _e( 'Migrate old invoices', 'invoicing' );?></td> |
|
1011 | + <td><?php _e('Migrate old invoices', 'invoicing'); ?></td> |
|
1012 | 1012 | <td> |
1013 | - <small><?php _e( 'If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing' ); ?></small> |
|
1013 | + <small><?php _e('If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing'); ?></small> |
|
1014 | 1014 | </td> |
1015 | 1015 | <td> |
1016 | 1016 | <a href="<?php |
1017 | 1017 | echo esc_url( |
1018 | 1018 | wp_nonce_url( |
1019 | - add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ), |
|
1019 | + add_query_arg('getpaid-admin-action', 'migrate_old_invoices'), |
|
1020 | 1020 | 'getpaid-nonce', |
1021 | 1021 | 'getpaid-nonce' |
1022 | 1022 | ) |
1023 | 1023 | ); |
1024 | - ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a> |
|
1024 | + ?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a> |
|
1025 | 1025 | </td> |
1026 | 1026 | </tr> |
1027 | 1027 | |
1028 | 1028 | <tr> |
1029 | - <td><?php _e( 'Recalculate Discounts', 'invoicing' );?></td> |
|
1029 | + <td><?php _e('Recalculate Discounts', 'invoicing'); ?></td> |
|
1030 | 1030 | <td> |
1031 | - <small><?php _e( 'Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing' ); ?></small> |
|
1031 | + <small><?php _e('Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing'); ?></small> |
|
1032 | 1032 | </td> |
1033 | 1033 | <td> |
1034 | 1034 | <a href="<?php |
1035 | 1035 | echo esc_url( |
1036 | 1036 | wp_nonce_url( |
1037 | - add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ), |
|
1037 | + add_query_arg('getpaid-admin-action', 'recalculate_discounts'), |
|
1038 | 1038 | 'getpaid-nonce', |
1039 | 1039 | 'getpaid-nonce' |
1040 | 1040 | ) |
1041 | 1041 | ); |
1042 | - ?>" class="button button-primary"><?php _e( 'Run', 'invoicing' );?></a> |
|
1042 | + ?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a> |
|
1043 | 1043 | </td> |
1044 | 1044 | </tr> |
1045 | 1045 | |
1046 | - <?php do_action( 'wpinv_tools_row' ); ?> |
|
1046 | + <?php do_action('wpinv_tools_row'); ?> |
|
1047 | 1047 | </tbody> |
1048 | 1048 | </table> |
1049 | - <?php do_action( 'wpinv_tools_after' ); ?> |
|
1049 | + <?php do_action('wpinv_tools_after'); ?> |
|
1050 | 1050 | <?php |
1051 | 1051 | echo ob_get_clean(); |
1052 | 1052 | } |
1053 | 1053 | |
1054 | 1054 | |
1055 | -function wpinv_descriptive_text_callback( $args ) { |
|
1056 | - echo wp_kses_post( $args['desc'] ); |
|
1055 | +function wpinv_descriptive_text_callback($args) { |
|
1056 | + echo wp_kses_post($args['desc']); |
|
1057 | 1057 | } |
1058 | 1058 | |
1059 | -function wpinv_raw_html_callback( $args ) { |
|
1059 | +function wpinv_raw_html_callback($args) { |
|
1060 | 1060 | echo $args['desc']; |
1061 | 1061 | } |
1062 | 1062 | |
1063 | -function wpinv_hook_callback( $args ) { |
|
1064 | - do_action( 'wpinv_' . $args['id'], $args ); |
|
1063 | +function wpinv_hook_callback($args) { |
|
1064 | + do_action('wpinv_' . $args['id'], $args); |
|
1065 | 1065 | } |
1066 | 1066 | |
1067 | 1067 | function wpinv_set_settings_cap() { |
1068 | 1068 | return wpinv_get_capability(); |
1069 | 1069 | } |
1070 | -add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' ); |
|
1070 | +add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap'); |
|
1071 | 1071 | |
1072 | -function wpinv_settings_sanitize_input( $value, $key ) { |
|
1072 | +function wpinv_settings_sanitize_input($value, $key) { |
|
1073 | 1073 | |
1074 | - if ( $key == 'tax_rate' ) { |
|
1075 | - $value = wpinv_sanitize_amount( $value ); |
|
1076 | - $value = absint( min( $value, 99 ) ); |
|
1074 | + if ($key == 'tax_rate') { |
|
1075 | + $value = wpinv_sanitize_amount($value); |
|
1076 | + $value = absint(min($value, 99)); |
|
1077 | 1077 | } |
1078 | 1078 | |
1079 | 1079 | return $value; |
1080 | 1080 | } |
1081 | -add_filter( 'wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2 ); |
|
1081 | +add_filter('wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2); |
|
1082 | 1082 | |
1083 | -function wpinv_on_update_settings( $old_value, $value, $option ) { |
|
1084 | - $old = !empty( $old_value['remove_data_on_unistall'] ) ? 1 : ''; |
|
1085 | - $new = !empty( $value['remove_data_on_unistall'] ) ? 1 : ''; |
|
1083 | +function wpinv_on_update_settings($old_value, $value, $option) { |
|
1084 | + $old = !empty($old_value['remove_data_on_unistall']) ? 1 : ''; |
|
1085 | + $new = !empty($value['remove_data_on_unistall']) ? 1 : ''; |
|
1086 | 1086 | |
1087 | - if ( $old != $new ) { |
|
1088 | - update_option( 'wpinv_remove_data_on_invoice_unistall', $new ); |
|
1087 | + if ($old != $new) { |
|
1088 | + update_option('wpinv_remove_data_on_invoice_unistall', $new); |
|
1089 | 1089 | } |
1090 | 1090 | } |
1091 | -add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 ); |
|
1091 | +add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3); |
|
1092 | 1092 | |
1093 | 1093 | /** |
1094 | 1094 | * Returns the merge tags help text. |
@@ -1097,16 +1097,16 @@ discard block |
||
1097 | 1097 | * |
1098 | 1098 | * @return string |
1099 | 1099 | */ |
1100 | -function wpinv_get_merge_tags_help_text( $subscription = false ) { |
|
1100 | +function wpinv_get_merge_tags_help_text($subscription = false) { |
|
1101 | 1101 | |
1102 | 1102 | $url = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f'; |
1103 | 1103 | $link = sprintf( |
1104 | 1104 | '<strong><a href="%s" target="_blank">%s</a></strong>', |
1105 | 1105 | $url, |
1106 | - esc_html__( 'View available merge tags.', 'wpinv-quotes' ) |
|
1106 | + esc_html__('View available merge tags.', 'wpinv-quotes') |
|
1107 | 1107 | ); |
1108 | 1108 | |
1109 | - $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' ); |
|
1109 | + $description = esc_html__('The content of the email (Merge Tags and HTML are allowed).', 'invoicing'); |
|
1110 | 1110 | |
1111 | 1111 | return "$description $link"; |
1112 | 1112 |
@@ -14,77 +14,77 @@ discard block |
||
14 | 14 | class GetPaid_Admin { |
15 | 15 | |
16 | 16 | /** |
17 | - * Local path to this plugins admin directory |
|
18 | - * |
|
19 | - * @var string |
|
20 | - */ |
|
21 | - public $admin_path; |
|
22 | - |
|
23 | - /** |
|
24 | - * Web path to this plugins admin directory |
|
25 | - * |
|
26 | - * @var string |
|
27 | - */ |
|
28 | - public $admin_url; |
|
17 | + * Local path to this plugins admin directory |
|
18 | + * |
|
19 | + * @var string |
|
20 | + */ |
|
21 | + public $admin_path; |
|
22 | + |
|
23 | + /** |
|
24 | + * Web path to this plugins admin directory |
|
25 | + * |
|
26 | + * @var string |
|
27 | + */ |
|
28 | + public $admin_url; |
|
29 | 29 | |
30 | - /** |
|
31 | - * Reports components. |
|
32 | - * |
|
33 | - * @var GetPaid_Reports |
|
34 | - */ |
|
30 | + /** |
|
31 | + * Reports components. |
|
32 | + * |
|
33 | + * @var GetPaid_Reports |
|
34 | + */ |
|
35 | 35 | public $reports; |
36 | 36 | |
37 | 37 | /** |
38 | - * Class constructor. |
|
39 | - */ |
|
40 | - public function __construct(){ |
|
38 | + * Class constructor. |
|
39 | + */ |
|
40 | + public function __construct(){ |
|
41 | 41 | |
42 | 42 | $this->admin_path = plugin_dir_path( __FILE__ ); |
43 | - $this->admin_url = plugins_url( '/', __FILE__ ); |
|
44 | - $this->reports = new GetPaid_Reports(); |
|
43 | + $this->admin_url = plugins_url( '/', __FILE__ ); |
|
44 | + $this->reports = new GetPaid_Reports(); |
|
45 | 45 | |
46 | 46 | if ( is_admin() ) { |
47 | - $this->init_admin_hooks(); |
|
47 | + $this->init_admin_hooks(); |
|
48 | 48 | } |
49 | 49 | |
50 | 50 | } |
51 | 51 | |
52 | 52 | /** |
53 | - * Init action and filter hooks |
|
54 | - * |
|
55 | - */ |
|
56 | - private function init_admin_hooks() { |
|
53 | + * Init action and filter hooks |
|
54 | + * |
|
55 | + */ |
|
56 | + private function init_admin_hooks() { |
|
57 | 57 | add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ) ); |
58 | 58 | add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) ); |
59 | 59 | add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) ); |
60 | 60 | add_action( 'admin_init', array( $this, 'activation_redirect') ); |
61 | 61 | add_action( 'admin_init', array( $this, 'maybe_do_admin_action') ); |
62 | - add_action( 'admin_notices', array( $this, 'show_notices' ) ); |
|
63 | - add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) ); |
|
64 | - add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) ); |
|
65 | - add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) ); |
|
62 | + add_action( 'admin_notices', array( $this, 'show_notices' ) ); |
|
63 | + add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) ); |
|
64 | + add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) ); |
|
65 | + add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) ); |
|
66 | 66 | add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) ); |
67 | - add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) ); |
|
68 | - add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) ); |
|
69 | - add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) ); |
|
70 | - add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) ); |
|
71 | - add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) ); |
|
72 | - do_action( 'getpaid_init_admin_hooks', $this ); |
|
67 | + add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) ); |
|
68 | + add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) ); |
|
69 | + add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) ); |
|
70 | + add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) ); |
|
71 | + add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) ); |
|
72 | + do_action( 'getpaid_init_admin_hooks', $this ); |
|
73 | 73 | |
74 | 74 | } |
75 | 75 | |
76 | 76 | /** |
77 | - * Register admin scripts |
|
78 | - * |
|
79 | - */ |
|
80 | - public function enqeue_scripts() { |
|
77 | + * Register admin scripts |
|
78 | + * |
|
79 | + */ |
|
80 | + public function enqeue_scripts() { |
|
81 | 81 | global $current_screen, $pagenow; |
82 | 82 | |
83 | - $page = isset( $_GET['page'] ) ? $_GET['page'] : ''; |
|
84 | - $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php'; |
|
83 | + $page = isset( $_GET['page'] ) ? $_GET['page'] : ''; |
|
84 | + $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php'; |
|
85 | 85 | |
86 | 86 | if ( ! empty( $current_screen->post_type ) ) { |
87 | - $page = $current_screen->post_type; |
|
87 | + $page = $current_screen->post_type; |
|
88 | 88 | } |
89 | 89 | |
90 | 90 | // General styles. |
@@ -105,54 +105,54 @@ discard block |
||
105 | 105 | } |
106 | 106 | |
107 | 107 | // Payment form scripts. |
108 | - if ( 'wpi_payment_form' == $page && $editing ) { |
|
108 | + if ( 'wpi_payment_form' == $page && $editing ) { |
|
109 | 109 | $this->load_payment_form_scripts(); |
110 | 110 | } |
111 | 111 | |
112 | - if ( $page == 'wpinv-subscriptions' ) { |
|
113 | - wp_enqueue_script( 'postbox' ); |
|
114 | - } |
|
112 | + if ( $page == 'wpinv-subscriptions' ) { |
|
113 | + wp_enqueue_script( 'postbox' ); |
|
114 | + } |
|
115 | 115 | |
116 | 116 | } |
117 | 117 | |
118 | 118 | /** |
119 | - * Returns admin js translations. |
|
120 | - * |
|
121 | - */ |
|
122 | - protected function get_admin_i18() { |
|
119 | + * Returns admin js translations. |
|
120 | + * |
|
121 | + */ |
|
122 | + protected function get_admin_i18() { |
|
123 | 123 | global $post; |
124 | 124 | |
125 | - $date_range = array( |
|
126 | - 'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days' |
|
127 | - ); |
|
125 | + $date_range = array( |
|
126 | + 'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days' |
|
127 | + ); |
|
128 | 128 | |
129 | - if ( $date_range['period'] == 'custom' ) { |
|
129 | + if ( $date_range['period'] == 'custom' ) { |
|
130 | 130 | |
131 | - if ( isset( $_GET['from'] ) ) { |
|
132 | - $date_range[ 'after' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS ); |
|
133 | - } |
|
131 | + if ( isset( $_GET['from'] ) ) { |
|
132 | + $date_range[ 'after' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS ); |
|
133 | + } |
|
134 | 134 | |
135 | - if ( isset( $_GET['to'] ) ) { |
|
136 | - $date_range[ 'before' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS ); |
|
137 | - } |
|
135 | + if ( isset( $_GET['to'] ) ) { |
|
136 | + $date_range[ 'before' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS ); |
|
137 | + } |
|
138 | 138 | |
139 | - } |
|
139 | + } |
|
140 | 140 | |
141 | 141 | $i18n = array( |
142 | 142 | 'ajax_url' => admin_url( 'admin-ajax.php' ), |
143 | 143 | 'post_ID' => isset( $post->ID ) ? $post->ID : '', |
144 | - 'wpinv_nonce' => wp_create_nonce( 'wpinv-nonce' ), |
|
145 | - 'rest_nonce' => wp_create_nonce( 'wp_rest' ), |
|
146 | - 'rest_root' => esc_url_raw( rest_url() ), |
|
147 | - 'date_range' => $date_range, |
|
144 | + 'wpinv_nonce' => wp_create_nonce( 'wpinv-nonce' ), |
|
145 | + 'rest_nonce' => wp_create_nonce( 'wp_rest' ), |
|
146 | + 'rest_root' => esc_url_raw( rest_url() ), |
|
147 | + 'date_range' => $date_range, |
|
148 | 148 | 'add_invoice_note_nonce' => wp_create_nonce( 'add-invoice-note' ), |
149 | 149 | 'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ), |
150 | 150 | 'invoice_item_nonce' => wp_create_nonce( 'invoice-item' ), |
151 | 151 | 'billing_details_nonce' => wp_create_nonce( 'get-billing-details' ), |
152 | 152 | 'tax' => wpinv_tax_amount(), |
153 | 153 | 'discount' => 0, |
154 | - 'currency_symbol' => wpinv_currency_symbol(), |
|
155 | - 'currency' => wpinv_get_currency(), |
|
154 | + 'currency_symbol' => wpinv_currency_symbol(), |
|
155 | + 'currency' => wpinv_get_currency(), |
|
156 | 156 | 'currency_pos' => wpinv_currency_position(), |
157 | 157 | 'thousand_sep' => wpinv_thousands_separator(), |
158 | 158 | 'decimal_sep' => wpinv_decimal_separator(), |
@@ -172,118 +172,118 @@ discard block |
||
172 | 172 | 'item_description' => __( 'Item Description', 'invoicing' ), |
173 | 173 | 'invoice_description' => __( 'Invoice Description', 'invoicing' ), |
174 | 174 | 'discount_description' => __( 'Discount Description', 'invoicing' ), |
175 | - 'searching' => __( 'Searching', 'invoicing' ), |
|
176 | - 'loading' => __( 'Loading...', 'invoicing' ), |
|
177 | - 'search_customers' => __( 'Enter customer name or email', 'invoicing' ), |
|
178 | - 'search_items' => __( 'Enter item name', 'invoicing' ), |
|
175 | + 'searching' => __( 'Searching', 'invoicing' ), |
|
176 | + 'loading' => __( 'Loading...', 'invoicing' ), |
|
177 | + 'search_customers' => __( 'Enter customer name or email', 'invoicing' ), |
|
178 | + 'search_items' => __( 'Enter item name', 'invoicing' ), |
|
179 | 179 | ); |
180 | 180 | |
181 | - if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) { |
|
181 | + if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) { |
|
182 | 182 | |
183 | - $invoice = new WPInv_Invoice( $post ); |
|
184 | - $i18n['save_invoice'] = sprintf( |
|
185 | - __( 'Save %s', 'invoicing' ), |
|
186 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
187 | - ); |
|
183 | + $invoice = new WPInv_Invoice( $post ); |
|
184 | + $i18n['save_invoice'] = sprintf( |
|
185 | + __( 'Save %s', 'invoicing' ), |
|
186 | + ucfirst( $invoice->get_invoice_quote_type() ) |
|
187 | + ); |
|
188 | 188 | |
189 | - $i18n['invoice_description'] = sprintf( |
|
190 | - __( '%s Description', 'invoicing' ), |
|
191 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
192 | - ); |
|
189 | + $i18n['invoice_description'] = sprintf( |
|
190 | + __( '%s Description', 'invoicing' ), |
|
191 | + ucfirst( $invoice->get_invoice_quote_type() ) |
|
192 | + ); |
|
193 | 193 | |
194 | - } |
|
195 | - return $i18n; |
|
196 | - } |
|
194 | + } |
|
195 | + return $i18n; |
|
196 | + } |
|
197 | 197 | |
198 | - /** |
|
199 | - * Change the admin footer text on GetPaid admin pages. |
|
200 | - * |
|
201 | - * @since 2.0.0 |
|
202 | - * @param string $footer_text |
|
203 | - * @return string |
|
204 | - */ |
|
205 | - public function admin_footer_text( $footer_text ) { |
|
206 | - global $current_screen; |
|
198 | + /** |
|
199 | + * Change the admin footer text on GetPaid admin pages. |
|
200 | + * |
|
201 | + * @since 2.0.0 |
|
202 | + * @param string $footer_text |
|
203 | + * @return string |
|
204 | + */ |
|
205 | + public function admin_footer_text( $footer_text ) { |
|
206 | + global $current_screen; |
|
207 | 207 | |
208 | - $page = isset( $_GET['page'] ) ? $_GET['page'] : ''; |
|
208 | + $page = isset( $_GET['page'] ) ? $_GET['page'] : ''; |
|
209 | 209 | |
210 | 210 | if ( ! empty( $current_screen->post_type ) ) { |
211 | - $page = $current_screen->post_type; |
|
211 | + $page = $current_screen->post_type; |
|
212 | 212 | } |
213 | 213 | |
214 | 214 | // General styles. |
215 | 215 | if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) { |
216 | 216 | |
217 | - // Change the footer text |
|
218 | - if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) { |
|
219 | - |
|
220 | - $rating_url = esc_url( |
|
221 | - wp_nonce_url( |
|
222 | - admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ), |
|
223 | - 'getpaid-nonce', |
|
224 | - 'getpaid-nonce' |
|
225 | - ) |
|
226 | - ); |
|
227 | - |
|
228 | - $footer_text = sprintf( |
|
229 | - /* translators: %s: five stars */ |
|
230 | - __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ), |
|
231 | - "<a href='$rating_url'>★★★★★</a>" |
|
232 | - ); |
|
233 | - |
|
234 | - } else { |
|
235 | - |
|
236 | - $footer_text = sprintf( |
|
237 | - /* translators: %s: GetPaid */ |
|
238 | - __( 'Thank you for using %s!', 'invoicing' ), |
|
239 | - "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>" |
|
240 | - ); |
|
241 | - |
|
242 | - } |
|
243 | - |
|
244 | - } |
|
245 | - |
|
246 | - return $footer_text; |
|
247 | - } |
|
248 | - |
|
249 | - /** |
|
250 | - * Redirects to wp.org to rate the plugin. |
|
251 | - * |
|
252 | - * @since 2.0.0 |
|
253 | - */ |
|
254 | - public function redirect_to_wordpress_rating_page() { |
|
255 | - update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 ); |
|
256 | - wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' ); |
|
257 | - exit; |
|
258 | - } |
|
217 | + // Change the footer text |
|
218 | + if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) { |
|
219 | + |
|
220 | + $rating_url = esc_url( |
|
221 | + wp_nonce_url( |
|
222 | + admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ), |
|
223 | + 'getpaid-nonce', |
|
224 | + 'getpaid-nonce' |
|
225 | + ) |
|
226 | + ); |
|
227 | + |
|
228 | + $footer_text = sprintf( |
|
229 | + /* translators: %s: five stars */ |
|
230 | + __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ), |
|
231 | + "<a href='$rating_url'>★★★★★</a>" |
|
232 | + ); |
|
233 | + |
|
234 | + } else { |
|
235 | + |
|
236 | + $footer_text = sprintf( |
|
237 | + /* translators: %s: GetPaid */ |
|
238 | + __( 'Thank you for using %s!', 'invoicing' ), |
|
239 | + "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>" |
|
240 | + ); |
|
241 | + |
|
242 | + } |
|
243 | + |
|
244 | + } |
|
245 | + |
|
246 | + return $footer_text; |
|
247 | + } |
|
259 | 248 | |
260 | 249 | /** |
261 | - * Loads payment form js. |
|
262 | - * |
|
263 | - */ |
|
264 | - protected function load_payment_form_scripts() { |
|
250 | + * Redirects to wp.org to rate the plugin. |
|
251 | + * |
|
252 | + * @since 2.0.0 |
|
253 | + */ |
|
254 | + public function redirect_to_wordpress_rating_page() { |
|
255 | + update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 ); |
|
256 | + wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' ); |
|
257 | + exit; |
|
258 | + } |
|
259 | + |
|
260 | + /** |
|
261 | + * Loads payment form js. |
|
262 | + * |
|
263 | + */ |
|
264 | + protected function load_payment_form_scripts() { |
|
265 | 265 | global $post; |
266 | 266 | |
267 | 267 | wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.js', array(), WPINV_VERSION ); |
268 | - wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION ); |
|
269 | - wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION ); |
|
268 | + wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION ); |
|
269 | + wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION ); |
|
270 | 270 | |
271 | - $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' ); |
|
272 | - wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable' ), $version ); |
|
271 | + $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' ); |
|
272 | + wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable' ), $version ); |
|
273 | 273 | |
274 | - wp_localize_script( |
|
274 | + wp_localize_script( |
|
275 | 275 | 'wpinv-admin-payment-form-script', |
276 | 276 | 'wpinvPaymentFormAdmin', |
277 | 277 | array( |
278 | - 'elements' => wpinv_get_data( 'payment-form-elements' ), |
|
279 | - 'form_elements' => getpaid_get_payment_form_elements( $post->ID ), |
|
280 | - 'currency' => wpinv_currency_symbol(), |
|
281 | - 'position' => wpinv_currency_position(), |
|
282 | - 'decimals' => (int) wpinv_decimals(), |
|
283 | - 'thousands_sep' => wpinv_thousands_separator(), |
|
284 | - 'decimals_sep' => wpinv_decimal_separator(), |
|
285 | - 'form_items' => gepaid_get_form_items( $post->ID ), |
|
286 | - 'is_default' => $post->ID == wpinv_get_default_payment_form(), |
|
278 | + 'elements' => wpinv_get_data( 'payment-form-elements' ), |
|
279 | + 'form_elements' => getpaid_get_payment_form_elements( $post->ID ), |
|
280 | + 'currency' => wpinv_currency_symbol(), |
|
281 | + 'position' => wpinv_currency_position(), |
|
282 | + 'decimals' => (int) wpinv_decimals(), |
|
283 | + 'thousands_sep' => wpinv_thousands_separator(), |
|
284 | + 'decimals_sep' => wpinv_decimal_separator(), |
|
285 | + 'form_items' => gepaid_get_form_items( $post->ID ), |
|
286 | + 'is_default' => $post->ID == wpinv_get_default_payment_form(), |
|
287 | 287 | ) |
288 | 288 | ); |
289 | 289 | |
@@ -292,20 +292,20 @@ discard block |
||
292 | 292 | } |
293 | 293 | |
294 | 294 | /** |
295 | - * Add our classes to admin pages. |
|
295 | + * Add our classes to admin pages. |
|
296 | 296 | * |
297 | 297 | * @param string $classes |
298 | 298 | * @return string |
299 | - * |
|
300 | - */ |
|
299 | + * |
|
300 | + */ |
|
301 | 301 | public function admin_body_class( $classes ) { |
302 | - global $pagenow, $post, $current_screen; |
|
302 | + global $pagenow, $post, $current_screen; |
|
303 | 303 | |
304 | 304 | |
305 | 305 | $page = isset( $_GET['page'] ) ? $_GET['page'] : ''; |
306 | 306 | |
307 | 307 | if ( ! empty( $current_screen->post_type ) ) { |
308 | - $page = $current_screen->post_type; |
|
308 | + $page = $current_screen->post_type; |
|
309 | 309 | } |
310 | 310 | |
311 | 311 | if ( false !== stripos( $page, 'wpi' ) ) { |
@@ -314,59 +314,59 @@ discard block |
||
314 | 314 | |
315 | 315 | if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) { |
316 | 316 | $classes .= ' wpinv-cpt wpinv'; |
317 | - } |
|
317 | + } |
|
318 | 318 | |
319 | - if ( getpaid_is_invoice_post_type( $page ) ) { |
|
319 | + if ( getpaid_is_invoice_post_type( $page ) ) { |
|
320 | 320 | $classes .= ' getpaid-is-invoice-cpt'; |
321 | 321 | } |
322 | 322 | |
323 | - return $classes; |
|
323 | + return $classes; |
|
324 | 324 | } |
325 | 325 | |
326 | 326 | /** |
327 | - * Maybe show the AyeCode Connect Notice. |
|
328 | - */ |
|
329 | - public function init_ayecode_connect_helper(){ |
|
327 | + * Maybe show the AyeCode Connect Notice. |
|
328 | + */ |
|
329 | + public function init_ayecode_connect_helper(){ |
|
330 | 330 | |
331 | 331 | new AyeCode_Connect_Helper( |
332 | 332 | array( |
333 | - 'connect_title' => __("WP Invoicing - an AyeCode product!","invoicing"), |
|
334 | - 'connect_external' => __( "Please confirm you wish to connect your site?","invoicing" ), |
|
335 | - 'connect' => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s","invoicing" ),"<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>","</a>" ), |
|
336 | - 'connect_button' => __("Connect Site","invoicing"), |
|
337 | - 'connecting_button' => __("Connecting...","invoicing"), |
|
338 | - 'error_localhost' => __( "This service will only work with a live domain, not a localhost.","invoicing" ), |
|
339 | - 'error' => __( "Something went wrong, please refresh and try again.","invoicing" ), |
|
333 | + 'connect_title' => __("WP Invoicing - an AyeCode product!","invoicing"), |
|
334 | + 'connect_external' => __( "Please confirm you wish to connect your site?","invoicing" ), |
|
335 | + 'connect' => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s","invoicing" ),"<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>","</a>" ), |
|
336 | + 'connect_button' => __("Connect Site","invoicing"), |
|
337 | + 'connecting_button' => __("Connecting...","invoicing"), |
|
338 | + 'error_localhost' => __( "This service will only work with a live domain, not a localhost.","invoicing" ), |
|
339 | + 'error' => __( "Something went wrong, please refresh and try again.","invoicing" ), |
|
340 | 340 | ), |
341 | 341 | array( 'wpi-addons' ) |
342 | 342 | ); |
343 | 343 | |
344 | 344 | } |
345 | 345 | |
346 | - /** |
|
347 | - * Redirect users to settings on activation. |
|
348 | - * |
|
349 | - * @return void |
|
350 | - */ |
|
351 | - public function activation_redirect() { |
|
346 | + /** |
|
347 | + * Redirect users to settings on activation. |
|
348 | + * |
|
349 | + * @return void |
|
350 | + */ |
|
351 | + public function activation_redirect() { |
|
352 | 352 | |
353 | - $redirected = get_option( 'wpinv_redirected_to_settings' ); |
|
353 | + $redirected = get_option( 'wpinv_redirected_to_settings' ); |
|
354 | 354 | |
355 | - if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) { |
|
356 | - return; |
|
357 | - } |
|
355 | + if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) { |
|
356 | + return; |
|
357 | + } |
|
358 | 358 | |
359 | - // Bail if activating from network, or bulk |
|
360 | - if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { |
|
361 | - return; |
|
362 | - } |
|
359 | + // Bail if activating from network, or bulk |
|
360 | + if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { |
|
361 | + return; |
|
362 | + } |
|
363 | 363 | |
364 | - update_option( 'wpinv_redirected_to_settings', 1 ); |
|
364 | + update_option( 'wpinv_redirected_to_settings', 1 ); |
|
365 | 365 | |
366 | 366 | wp_safe_redirect( admin_url( 'admin.php?page=wpinv-settings&tab=general' ) ); |
367 | 367 | exit; |
368 | 368 | |
369 | - } |
|
369 | + } |
|
370 | 370 | |
371 | 371 | /** |
372 | 372 | * Fires an admin action after verifying that a user can fire them. |
@@ -380,304 +380,304 @@ discard block |
||
380 | 380 | |
381 | 381 | } |
382 | 382 | |
383 | - /** |
|
383 | + /** |
|
384 | 384 | * Sends a payment reminder to a customer. |
385 | - * |
|
386 | - * @param array $args |
|
385 | + * |
|
386 | + * @param array $args |
|
387 | 387 | */ |
388 | 388 | public function send_customer_invoice( $args ) { |
389 | - $sent = getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true ); |
|
389 | + $sent = getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true ); |
|
390 | 390 | |
391 | - if ( $sent ) { |
|
392 | - $this->show_success( __( 'Invoice was successfully sent to the customer', 'invoicing' ) ); |
|
393 | - } else { |
|
394 | - $this->show_error( __( 'Could not send the invoice to the customer', 'invoicing' ) ); |
|
395 | - } |
|
391 | + if ( $sent ) { |
|
392 | + $this->show_success( __( 'Invoice was successfully sent to the customer', 'invoicing' ) ); |
|
393 | + } else { |
|
394 | + $this->show_error( __( 'Could not send the invoice to the customer', 'invoicing' ) ); |
|
395 | + } |
|
396 | 396 | |
397 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
398 | - exit; |
|
399 | - } |
|
397 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
398 | + exit; |
|
399 | + } |
|
400 | 400 | |
401 | - /** |
|
401 | + /** |
|
402 | 402 | * Sends a payment reminder to a customer. |
403 | - * |
|
404 | - * @param array $args |
|
403 | + * |
|
404 | + * @param array $args |
|
405 | 405 | */ |
406 | 406 | public function send_customer_payment_reminder( $args ) { |
407 | - $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) ); |
|
407 | + $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) ); |
|
408 | 408 | |
409 | - if ( $sent ) { |
|
410 | - $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) ); |
|
411 | - } else { |
|
412 | - $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) ); |
|
413 | - } |
|
409 | + if ( $sent ) { |
|
410 | + $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) ); |
|
411 | + } else { |
|
412 | + $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) ); |
|
413 | + } |
|
414 | 414 | |
415 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
416 | - exit; |
|
417 | - } |
|
415 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
416 | + exit; |
|
417 | + } |
|
418 | 418 | |
419 | - /** |
|
419 | + /** |
|
420 | 420 | * Resets tax rates. |
421 | - * |
|
421 | + * |
|
422 | 422 | */ |
423 | 423 | public function admin_reset_tax_rates() { |
424 | 424 | |
425 | - update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
426 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
427 | - exit; |
|
425 | + update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
426 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
427 | + exit; |
|
428 | 428 | |
429 | - } |
|
429 | + } |
|
430 | 430 | |
431 | - /** |
|
431 | + /** |
|
432 | 432 | * Resets admin pages. |
433 | - * |
|
433 | + * |
|
434 | 434 | */ |
435 | 435 | public function admin_create_missing_pages() { |
436 | - $installer = new GetPaid_Installer(); |
|
437 | - $installer->create_pages(); |
|
438 | - $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) ); |
|
439 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
440 | - exit; |
|
441 | - } |
|
442 | - |
|
443 | - /** |
|
436 | + $installer = new GetPaid_Installer(); |
|
437 | + $installer->create_pages(); |
|
438 | + $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) ); |
|
439 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
440 | + exit; |
|
441 | + } |
|
442 | + |
|
443 | + /** |
|
444 | 444 | * Creates an missing admin tables. |
445 | - * |
|
445 | + * |
|
446 | 446 | */ |
447 | 447 | public function admin_create_missing_tables() { |
448 | - global $wpdb; |
|
449 | - $installer = new GetPaid_Installer(); |
|
448 | + global $wpdb; |
|
449 | + $installer = new GetPaid_Installer(); |
|
450 | 450 | |
451 | - if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) { |
|
452 | - $installer->create_subscriptions_table(); |
|
451 | + if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) { |
|
452 | + $installer->create_subscriptions_table(); |
|
453 | 453 | |
454 | - if ( $wpdb->last_error !== '' ) { |
|
455 | - $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
456 | - } |
|
457 | - } |
|
454 | + if ( $wpdb->last_error !== '' ) { |
|
455 | + $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
456 | + } |
|
457 | + } |
|
458 | 458 | |
459 | - if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) { |
|
460 | - $installer->create_invoices_table(); |
|
459 | + if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) { |
|
460 | + $installer->create_invoices_table(); |
|
461 | 461 | |
462 | - if ( $wpdb->last_error !== '' ) { |
|
463 | - $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
464 | - } |
|
465 | - } |
|
462 | + if ( $wpdb->last_error !== '' ) { |
|
463 | + $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
464 | + } |
|
465 | + } |
|
466 | 466 | |
467 | - if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) { |
|
468 | - $installer->create_invoice_items_table(); |
|
467 | + if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) { |
|
468 | + $installer->create_invoice_items_table(); |
|
469 | 469 | |
470 | - if ( $wpdb->last_error !== '' ) { |
|
471 | - $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
472 | - } |
|
473 | - } |
|
470 | + if ( $wpdb->last_error !== '' ) { |
|
471 | + $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
472 | + } |
|
473 | + } |
|
474 | 474 | |
475 | - if ( ! $this->has_notices() ) { |
|
476 | - $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) ); |
|
477 | - } |
|
475 | + if ( ! $this->has_notices() ) { |
|
476 | + $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) ); |
|
477 | + } |
|
478 | 478 | |
479 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
480 | - exit; |
|
481 | - } |
|
479 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
480 | + exit; |
|
481 | + } |
|
482 | 482 | |
483 | - /** |
|
483 | + /** |
|
484 | 484 | * Migrates old invoices to the new database tables. |
485 | - * |
|
485 | + * |
|
486 | 486 | */ |
487 | 487 | public function admin_migrate_old_invoices() { |
488 | 488 | |
489 | - // Migrate the invoices. |
|
490 | - $installer = new GetPaid_Installer(); |
|
491 | - $installer->migrate_old_invoices(); |
|
489 | + // Migrate the invoices. |
|
490 | + $installer = new GetPaid_Installer(); |
|
491 | + $installer->migrate_old_invoices(); |
|
492 | 492 | |
493 | - // Show an admin message. |
|
494 | - $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) ); |
|
493 | + // Show an admin message. |
|
494 | + $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) ); |
|
495 | 495 | |
496 | - // Redirect the admin. |
|
497 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
498 | - exit; |
|
496 | + // Redirect the admin. |
|
497 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
498 | + exit; |
|
499 | 499 | |
500 | - } |
|
500 | + } |
|
501 | 501 | |
502 | - /** |
|
502 | + /** |
|
503 | 503 | * Recalculates discounts. |
504 | - * |
|
504 | + * |
|
505 | 505 | */ |
506 | 506 | public function admin_recalculate_discounts() { |
507 | - global $wpdb; |
|
507 | + global $wpdb; |
|
508 | 508 | |
509 | - // Fetch all invoices that have discount codes. |
|
510 | - $table = $wpdb->prefix . 'getpaid_invoices'; |
|
511 | - $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" ); |
|
509 | + // Fetch all invoices that have discount codes. |
|
510 | + $table = $wpdb->prefix . 'getpaid_invoices'; |
|
511 | + $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" ); |
|
512 | 512 | |
513 | - foreach ( $invoices as $invoice ) { |
|
513 | + foreach ( $invoices as $invoice ) { |
|
514 | 514 | |
515 | - $invoice = new WPInv_Invoice( $invoice ); |
|
515 | + $invoice = new WPInv_Invoice( $invoice ); |
|
516 | 516 | |
517 | - if ( ! $invoice->exists() ) { |
|
518 | - continue; |
|
519 | - } |
|
517 | + if ( ! $invoice->exists() ) { |
|
518 | + continue; |
|
519 | + } |
|
520 | 520 | |
521 | - // Abort if the discount does not exist or does not apply here. |
|
522 | - $discount = new WPInv_Discount( $invoice->get_discount_code() ); |
|
523 | - if ( ! $discount->exists() ) { |
|
524 | - continue; |
|
525 | - } |
|
521 | + // Abort if the discount does not exist or does not apply here. |
|
522 | + $discount = new WPInv_Discount( $invoice->get_discount_code() ); |
|
523 | + if ( ! $discount->exists() ) { |
|
524 | + continue; |
|
525 | + } |
|
526 | 526 | |
527 | - $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) ); |
|
528 | - $invoice->recalculate_total(); |
|
527 | + $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) ); |
|
528 | + $invoice->recalculate_total(); |
|
529 | 529 | |
530 | - if ( $invoice->get_total_discount() > 0 ) { |
|
531 | - $invoice->save(); |
|
532 | - } |
|
530 | + if ( $invoice->get_total_discount() > 0 ) { |
|
531 | + $invoice->save(); |
|
532 | + } |
|
533 | 533 | |
534 | - } |
|
534 | + } |
|
535 | 535 | |
536 | - // Show an admin message. |
|
537 | - $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) ); |
|
536 | + // Show an admin message. |
|
537 | + $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) ); |
|
538 | 538 | |
539 | - // Redirect the admin. |
|
540 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
541 | - exit; |
|
539 | + // Redirect the admin. |
|
540 | + wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
541 | + exit; |
|
542 | 542 | |
543 | - } |
|
543 | + } |
|
544 | 544 | |
545 | 545 | /** |
546 | - * Returns an array of admin notices. |
|
547 | - * |
|
548 | - * @since 1.0.19 |
|
546 | + * Returns an array of admin notices. |
|
547 | + * |
|
548 | + * @since 1.0.19 |
|
549 | 549 | * @return array |
550 | - */ |
|
551 | - public function get_notices() { |
|
552 | - $notices = get_option( 'wpinv_admin_notices' ); |
|
550 | + */ |
|
551 | + public function get_notices() { |
|
552 | + $notices = get_option( 'wpinv_admin_notices' ); |
|
553 | 553 | return is_array( $notices ) ? $notices : array(); |
554 | - } |
|
554 | + } |
|
555 | 555 | |
556 | - /** |
|
557 | - * Checks if we have any admin notices. |
|
558 | - * |
|
559 | - * @since 2.0.4 |
|
556 | + /** |
|
557 | + * Checks if we have any admin notices. |
|
558 | + * |
|
559 | + * @since 2.0.4 |
|
560 | 560 | * @return array |
561 | - */ |
|
562 | - public function has_notices() { |
|
563 | - return count( $this->get_notices() ) > 0; |
|
564 | - } |
|
565 | - |
|
566 | - /** |
|
567 | - * Clears all admin notices |
|
568 | - * |
|
569 | - * @access public |
|
570 | - * @since 1.0.19 |
|
571 | - */ |
|
572 | - public function clear_notices() { |
|
573 | - delete_option( 'wpinv_admin_notices' ); |
|
574 | - } |
|
575 | - |
|
576 | - /** |
|
577 | - * Saves a new admin notice |
|
578 | - * |
|
579 | - * @access public |
|
580 | - * @since 1.0.19 |
|
581 | - */ |
|
582 | - public function save_notice( $type, $message ) { |
|
583 | - $notices = $this->get_notices(); |
|
584 | - |
|
585 | - if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ]) ) { |
|
586 | - $notices[ $type ] = array(); |
|
587 | - } |
|
588 | - |
|
589 | - $notices[ $type ][] = $message; |
|
590 | - |
|
591 | - update_option( 'wpinv_admin_notices', $notices ); |
|
592 | - } |
|
593 | - |
|
594 | - /** |
|
595 | - * Displays a success notice |
|
596 | - * |
|
597 | - * @param string $msg The message to qeue. |
|
598 | - * @access public |
|
599 | - * @since 1.0.19 |
|
600 | - */ |
|
601 | - public function show_success( $msg ) { |
|
602 | - $this->save_notice( 'success', $msg ); |
|
603 | - } |
|
604 | - |
|
605 | - /** |
|
606 | - * Displays a error notice |
|
607 | - * |
|
608 | - * @access public |
|
609 | - * @param string $msg The message to qeue. |
|
610 | - * @since 1.0.19 |
|
611 | - */ |
|
612 | - public function show_error( $msg ) { |
|
613 | - $this->save_notice( 'error', $msg ); |
|
614 | - } |
|
615 | - |
|
616 | - /** |
|
617 | - * Displays a warning notice |
|
618 | - * |
|
619 | - * @access public |
|
620 | - * @param string $msg The message to qeue. |
|
621 | - * @since 1.0.19 |
|
622 | - */ |
|
623 | - public function show_warning( $msg ) { |
|
624 | - $this->save_notice( 'warning', $msg ); |
|
625 | - } |
|
626 | - |
|
627 | - /** |
|
628 | - * Displays a info notice |
|
629 | - * |
|
630 | - * @access public |
|
631 | - * @param string $msg The message to qeue. |
|
632 | - * @since 1.0.19 |
|
633 | - */ |
|
634 | - public function show_info( $msg ) { |
|
635 | - $this->save_notice( 'info', $msg ); |
|
636 | - } |
|
637 | - |
|
638 | - /** |
|
639 | - * Show notices |
|
640 | - * |
|
641 | - * @access public |
|
642 | - * @since 1.0.19 |
|
643 | - */ |
|
644 | - public function show_notices() { |
|
561 | + */ |
|
562 | + public function has_notices() { |
|
563 | + return count( $this->get_notices() ) > 0; |
|
564 | + } |
|
565 | + |
|
566 | + /** |
|
567 | + * Clears all admin notices |
|
568 | + * |
|
569 | + * @access public |
|
570 | + * @since 1.0.19 |
|
571 | + */ |
|
572 | + public function clear_notices() { |
|
573 | + delete_option( 'wpinv_admin_notices' ); |
|
574 | + } |
|
575 | + |
|
576 | + /** |
|
577 | + * Saves a new admin notice |
|
578 | + * |
|
579 | + * @access public |
|
580 | + * @since 1.0.19 |
|
581 | + */ |
|
582 | + public function save_notice( $type, $message ) { |
|
583 | + $notices = $this->get_notices(); |
|
584 | + |
|
585 | + if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ]) ) { |
|
586 | + $notices[ $type ] = array(); |
|
587 | + } |
|
588 | + |
|
589 | + $notices[ $type ][] = $message; |
|
590 | + |
|
591 | + update_option( 'wpinv_admin_notices', $notices ); |
|
592 | + } |
|
593 | + |
|
594 | + /** |
|
595 | + * Displays a success notice |
|
596 | + * |
|
597 | + * @param string $msg The message to qeue. |
|
598 | + * @access public |
|
599 | + * @since 1.0.19 |
|
600 | + */ |
|
601 | + public function show_success( $msg ) { |
|
602 | + $this->save_notice( 'success', $msg ); |
|
603 | + } |
|
604 | + |
|
605 | + /** |
|
606 | + * Displays a error notice |
|
607 | + * |
|
608 | + * @access public |
|
609 | + * @param string $msg The message to qeue. |
|
610 | + * @since 1.0.19 |
|
611 | + */ |
|
612 | + public function show_error( $msg ) { |
|
613 | + $this->save_notice( 'error', $msg ); |
|
614 | + } |
|
615 | + |
|
616 | + /** |
|
617 | + * Displays a warning notice |
|
618 | + * |
|
619 | + * @access public |
|
620 | + * @param string $msg The message to qeue. |
|
621 | + * @since 1.0.19 |
|
622 | + */ |
|
623 | + public function show_warning( $msg ) { |
|
624 | + $this->save_notice( 'warning', $msg ); |
|
625 | + } |
|
626 | + |
|
627 | + /** |
|
628 | + * Displays a info notice |
|
629 | + * |
|
630 | + * @access public |
|
631 | + * @param string $msg The message to qeue. |
|
632 | + * @since 1.0.19 |
|
633 | + */ |
|
634 | + public function show_info( $msg ) { |
|
635 | + $this->save_notice( 'info', $msg ); |
|
636 | + } |
|
637 | + |
|
638 | + /** |
|
639 | + * Show notices |
|
640 | + * |
|
641 | + * @access public |
|
642 | + * @since 1.0.19 |
|
643 | + */ |
|
644 | + public function show_notices() { |
|
645 | 645 | |
646 | 646 | $notices = $this->get_notices(); |
647 | 647 | $this->clear_notices(); |
648 | 648 | |
649 | - foreach ( $notices as $type => $messages ) { |
|
649 | + foreach ( $notices as $type => $messages ) { |
|
650 | 650 | |
651 | - if ( ! is_array( $messages ) ) { |
|
652 | - continue; |
|
653 | - } |
|
651 | + if ( ! is_array( $messages ) ) { |
|
652 | + continue; |
|
653 | + } |
|
654 | 654 | |
655 | 655 | $type = sanitize_key( $type ); |
656 | - foreach ( $messages as $message ) { |
|
656 | + foreach ( $messages as $message ) { |
|
657 | 657 | $message = wp_kses_post( $message ); |
658 | - echo "<div class='notice notice-$type is-dismissible'><p>$message</p></div>"; |
|
658 | + echo "<div class='notice notice-$type is-dismissible'><p>$message</p></div>"; |
|
659 | + } |
|
660 | + |
|
661 | + } |
|
662 | + |
|
663 | + foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) { |
|
664 | + |
|
665 | + if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) { |
|
666 | + $url = esc_url( |
|
667 | + wp_nonce_url( |
|
668 | + add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
669 | + 'getpaid-nonce', |
|
670 | + 'getpaid-nonce' |
|
671 | + ) |
|
672 | + ); |
|
673 | + $message = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' ); |
|
674 | + $message2 = __( 'Generate Pages', 'invoicing' ); |
|
675 | + echo "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>"; |
|
676 | + break; |
|
659 | 677 | } |
660 | 678 | |
661 | 679 | } |
662 | 680 | |
663 | - foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) { |
|
664 | - |
|
665 | - if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) { |
|
666 | - $url = esc_url( |
|
667 | - wp_nonce_url( |
|
668 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
669 | - 'getpaid-nonce', |
|
670 | - 'getpaid-nonce' |
|
671 | - ) |
|
672 | - ); |
|
673 | - $message = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' ); |
|
674 | - $message2 = __( 'Generate Pages', 'invoicing' ); |
|
675 | - echo "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>"; |
|
676 | - break; |
|
677 | - } |
|
678 | - |
|
679 | - } |
|
680 | - |
|
681 | - } |
|
681 | + } |
|
682 | 682 | |
683 | 683 | } |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * The main admin class. |
@@ -37,13 +37,13 @@ discard block |
||
37 | 37 | /** |
38 | 38 | * Class constructor. |
39 | 39 | */ |
40 | - public function __construct(){ |
|
40 | + public function __construct() { |
|
41 | 41 | |
42 | - $this->admin_path = plugin_dir_path( __FILE__ ); |
|
43 | - $this->admin_url = plugins_url( '/', __FILE__ ); |
|
42 | + $this->admin_path = plugin_dir_path(__FILE__); |
|
43 | + $this->admin_url = plugins_url('/', __FILE__); |
|
44 | 44 | $this->reports = new GetPaid_Reports(); |
45 | 45 | |
46 | - if ( is_admin() ) { |
|
46 | + if (is_admin()) { |
|
47 | 47 | $this->init_admin_hooks(); |
48 | 48 | } |
49 | 49 | |
@@ -54,22 +54,22 @@ discard block |
||
54 | 54 | * |
55 | 55 | */ |
56 | 56 | private function init_admin_hooks() { |
57 | - add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ) ); |
|
58 | - add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) ); |
|
59 | - add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) ); |
|
60 | - add_action( 'admin_init', array( $this, 'activation_redirect') ); |
|
61 | - add_action( 'admin_init', array( $this, 'maybe_do_admin_action') ); |
|
62 | - add_action( 'admin_notices', array( $this, 'show_notices' ) ); |
|
63 | - add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) ); |
|
64 | - add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) ); |
|
65 | - add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) ); |
|
66 | - add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) ); |
|
67 | - add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) ); |
|
68 | - add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) ); |
|
69 | - add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) ); |
|
70 | - add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) ); |
|
71 | - add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) ); |
|
72 | - do_action( 'getpaid_init_admin_hooks', $this ); |
|
57 | + add_action('admin_enqueue_scripts', array($this, 'enqeue_scripts')); |
|
58 | + add_filter('admin_body_class', array($this, 'admin_body_class')); |
|
59 | + add_action('admin_init', array($this, 'init_ayecode_connect_helper')); |
|
60 | + add_action('admin_init', array($this, 'activation_redirect')); |
|
61 | + add_action('admin_init', array($this, 'maybe_do_admin_action')); |
|
62 | + add_action('admin_notices', array($this, 'show_notices')); |
|
63 | + add_action('getpaid_authenticated_admin_action_rate_plugin', array($this, 'redirect_to_wordpress_rating_page')); |
|
64 | + add_action('getpaid_authenticated_admin_action_send_invoice', array($this, 'send_customer_invoice')); |
|
65 | + add_action('getpaid_authenticated_admin_action_send_invoice_reminder', array($this, 'send_customer_payment_reminder')); |
|
66 | + add_action('getpaid_authenticated_admin_action_reset_tax_rates', array($this, 'admin_reset_tax_rates')); |
|
67 | + add_action('getpaid_authenticated_admin_action_create_missing_pages', array($this, 'admin_create_missing_pages')); |
|
68 | + add_action('getpaid_authenticated_admin_action_create_missing_tables', array($this, 'admin_create_missing_tables')); |
|
69 | + add_action('getpaid_authenticated_admin_action_migrate_old_invoices', array($this, 'admin_migrate_old_invoices')); |
|
70 | + add_action('getpaid_authenticated_admin_action_recalculate_discounts', array($this, 'admin_recalculate_discounts')); |
|
71 | + add_filter('admin_footer_text', array($this, 'admin_footer_text')); |
|
72 | + do_action('getpaid_init_admin_hooks', $this); |
|
73 | 73 | |
74 | 74 | } |
75 | 75 | |
@@ -80,37 +80,37 @@ discard block |
||
80 | 80 | public function enqeue_scripts() { |
81 | 81 | global $current_screen, $pagenow; |
82 | 82 | |
83 | - $page = isset( $_GET['page'] ) ? $_GET['page'] : ''; |
|
83 | + $page = isset($_GET['page']) ? $_GET['page'] : ''; |
|
84 | 84 | $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php'; |
85 | 85 | |
86 | - if ( ! empty( $current_screen->post_type ) ) { |
|
86 | + if (!empty($current_screen->post_type)) { |
|
87 | 87 | $page = $current_screen->post_type; |
88 | 88 | } |
89 | 89 | |
90 | 90 | // General styles. |
91 | - if ( false !== stripos( $page, 'wpi' ) ) { |
|
91 | + if (false !== stripos($page, 'wpi')) { |
|
92 | 92 | |
93 | 93 | // Styles. |
94 | - $version = filemtime( WPINV_PLUGIN_DIR . 'assets/css/admin.css' ); |
|
95 | - wp_enqueue_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array( 'wp-color-picker' ), $version ); |
|
96 | - wp_enqueue_style( 'select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all' ); |
|
94 | + $version = filemtime(WPINV_PLUGIN_DIR . 'assets/css/admin.css'); |
|
95 | + wp_enqueue_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array('wp-color-picker'), $version); |
|
96 | + wp_enqueue_style('select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all'); |
|
97 | 97 | |
98 | 98 | // Scripts. |
99 | - wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array( 'jquery' ), WPINV_VERSION ); |
|
99 | + wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array('jquery'), WPINV_VERSION); |
|
100 | 100 | |
101 | - $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin.js' ); |
|
102 | - wp_enqueue_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery', 'wp-color-picker' ), $version ); |
|
103 | - wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', apply_filters( 'wpinv_admin_js_localize', $this->get_admin_i18() ) ); |
|
101 | + $version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin.js'); |
|
102 | + wp_enqueue_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array('jquery', 'wp-color-picker'), $version); |
|
103 | + wp_localize_script('wpinv-admin-script', 'WPInv_Admin', apply_filters('wpinv_admin_js_localize', $this->get_admin_i18())); |
|
104 | 104 | |
105 | 105 | } |
106 | 106 | |
107 | 107 | // Payment form scripts. |
108 | - if ( 'wpi_payment_form' == $page && $editing ) { |
|
108 | + if ('wpi_payment_form' == $page && $editing) { |
|
109 | 109 | $this->load_payment_form_scripts(); |
110 | 110 | } |
111 | 111 | |
112 | - if ( $page == 'wpinv-subscriptions' ) { |
|
113 | - wp_enqueue_script( 'postbox' ); |
|
112 | + if ($page == 'wpinv-subscriptions') { |
|
113 | + wp_enqueue_script('postbox'); |
|
114 | 114 | } |
115 | 115 | |
116 | 116 | } |
@@ -123,32 +123,32 @@ discard block |
||
123 | 123 | global $post; |
124 | 124 | |
125 | 125 | $date_range = array( |
126 | - 'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days' |
|
126 | + 'period' => isset($_GET['date_range']) ? sanitize_text_field($_GET['date_range']) : '7_days' |
|
127 | 127 | ); |
128 | 128 | |
129 | - if ( $date_range['period'] == 'custom' ) { |
|
129 | + if ($date_range['period'] == 'custom') { |
|
130 | 130 | |
131 | - if ( isset( $_GET['from'] ) ) { |
|
132 | - $date_range[ 'after' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS ); |
|
131 | + if (isset($_GET['from'])) { |
|
132 | + $date_range['after'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['from']), current_time('timestamp')) - DAY_IN_SECONDS); |
|
133 | 133 | } |
134 | 134 | |
135 | - if ( isset( $_GET['to'] ) ) { |
|
136 | - $date_range[ 'before' ] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS ); |
|
135 | + if (isset($_GET['to'])) { |
|
136 | + $date_range['before'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['to']), current_time('timestamp')) + DAY_IN_SECONDS); |
|
137 | 137 | } |
138 | 138 | |
139 | 139 | } |
140 | 140 | |
141 | 141 | $i18n = array( |
142 | - 'ajax_url' => admin_url( 'admin-ajax.php' ), |
|
143 | - 'post_ID' => isset( $post->ID ) ? $post->ID : '', |
|
144 | - 'wpinv_nonce' => wp_create_nonce( 'wpinv-nonce' ), |
|
145 | - 'rest_nonce' => wp_create_nonce( 'wp_rest' ), |
|
146 | - 'rest_root' => esc_url_raw( rest_url() ), |
|
142 | + 'ajax_url' => admin_url('admin-ajax.php'), |
|
143 | + 'post_ID' => isset($post->ID) ? $post->ID : '', |
|
144 | + 'wpinv_nonce' => wp_create_nonce('wpinv-nonce'), |
|
145 | + 'rest_nonce' => wp_create_nonce('wp_rest'), |
|
146 | + 'rest_root' => esc_url_raw(rest_url()), |
|
147 | 147 | 'date_range' => $date_range, |
148 | - 'add_invoice_note_nonce' => wp_create_nonce( 'add-invoice-note' ), |
|
149 | - 'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ), |
|
150 | - 'invoice_item_nonce' => wp_create_nonce( 'invoice-item' ), |
|
151 | - 'billing_details_nonce' => wp_create_nonce( 'get-billing-details' ), |
|
148 | + 'add_invoice_note_nonce' => wp_create_nonce('add-invoice-note'), |
|
149 | + 'delete_invoice_note_nonce' => wp_create_nonce('delete-invoice-note'), |
|
150 | + 'invoice_item_nonce' => wp_create_nonce('invoice-item'), |
|
151 | + 'billing_details_nonce' => wp_create_nonce('get-billing-details'), |
|
152 | 152 | 'tax' => wpinv_tax_amount(), |
153 | 153 | 'discount' => 0, |
154 | 154 | 'currency_symbol' => wpinv_currency_symbol(), |
@@ -157,38 +157,38 @@ discard block |
||
157 | 157 | 'thousand_sep' => wpinv_thousands_separator(), |
158 | 158 | 'decimal_sep' => wpinv_decimal_separator(), |
159 | 159 | 'decimals' => wpinv_decimals(), |
160 | - 'save_invoice' => __( 'Save Invoice', 'invoicing' ), |
|
161 | - 'status_publish' => wpinv_status_nicename( 'publish' ), |
|
162 | - 'status_pending' => wpinv_status_nicename( 'wpi-pending' ), |
|
163 | - 'delete_tax_rate' => __( 'Are you sure you wish to delete this tax rate?', 'invoicing' ), |
|
164 | - 'status_pending' => wpinv_status_nicename( 'wpi-pending' ), |
|
165 | - 'FillBillingDetails' => __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' ), |
|
166 | - 'confirmCalcTotals' => __( 'Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing' ), |
|
167 | - 'AreYouSure' => __( 'Are you sure?', 'invoicing' ), |
|
168 | - 'errDeleteItem' => __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' ), |
|
169 | - 'delete_subscription' => __( 'Are you sure you want to delete this subscription?', 'invoicing' ), |
|
170 | - 'action_edit' => __( 'Edit', 'invoicing' ), |
|
171 | - 'action_cancel' => __( 'Cancel', 'invoicing' ), |
|
172 | - 'item_description' => __( 'Item Description', 'invoicing' ), |
|
173 | - 'invoice_description' => __( 'Invoice Description', 'invoicing' ), |
|
174 | - 'discount_description' => __( 'Discount Description', 'invoicing' ), |
|
175 | - 'searching' => __( 'Searching', 'invoicing' ), |
|
176 | - 'loading' => __( 'Loading...', 'invoicing' ), |
|
177 | - 'search_customers' => __( 'Enter customer name or email', 'invoicing' ), |
|
178 | - 'search_items' => __( 'Enter item name', 'invoicing' ), |
|
160 | + 'save_invoice' => __('Save Invoice', 'invoicing'), |
|
161 | + 'status_publish' => wpinv_status_nicename('publish'), |
|
162 | + 'status_pending' => wpinv_status_nicename('wpi-pending'), |
|
163 | + 'delete_tax_rate' => __('Are you sure you wish to delete this tax rate?', 'invoicing'), |
|
164 | + 'status_pending' => wpinv_status_nicename('wpi-pending'), |
|
165 | + 'FillBillingDetails' => __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing'), |
|
166 | + 'confirmCalcTotals' => __('Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing'), |
|
167 | + 'AreYouSure' => __('Are you sure?', 'invoicing'), |
|
168 | + 'errDeleteItem' => __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing'), |
|
169 | + 'delete_subscription' => __('Are you sure you want to delete this subscription?', 'invoicing'), |
|
170 | + 'action_edit' => __('Edit', 'invoicing'), |
|
171 | + 'action_cancel' => __('Cancel', 'invoicing'), |
|
172 | + 'item_description' => __('Item Description', 'invoicing'), |
|
173 | + 'invoice_description' => __('Invoice Description', 'invoicing'), |
|
174 | + 'discount_description' => __('Discount Description', 'invoicing'), |
|
175 | + 'searching' => __('Searching', 'invoicing'), |
|
176 | + 'loading' => __('Loading...', 'invoicing'), |
|
177 | + 'search_customers' => __('Enter customer name or email', 'invoicing'), |
|
178 | + 'search_items' => __('Enter item name', 'invoicing'), |
|
179 | 179 | ); |
180 | 180 | |
181 | - if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) { |
|
181 | + if (!empty($post) && getpaid_is_invoice_post_type($post->post_type)) { |
|
182 | 182 | |
183 | - $invoice = new WPInv_Invoice( $post ); |
|
183 | + $invoice = new WPInv_Invoice($post); |
|
184 | 184 | $i18n['save_invoice'] = sprintf( |
185 | - __( 'Save %s', 'invoicing' ), |
|
186 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
185 | + __('Save %s', 'invoicing'), |
|
186 | + ucfirst($invoice->get_invoice_quote_type()) |
|
187 | 187 | ); |
188 | 188 | |
189 | 189 | $i18n['invoice_description'] = sprintf( |
190 | - __( '%s Description', 'invoicing' ), |
|
191 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
190 | + __('%s Description', 'invoicing'), |
|
191 | + ucfirst($invoice->get_invoice_quote_type()) |
|
192 | 192 | ); |
193 | 193 | |
194 | 194 | } |
@@ -202,24 +202,24 @@ discard block |
||
202 | 202 | * @param string $footer_text |
203 | 203 | * @return string |
204 | 204 | */ |
205 | - public function admin_footer_text( $footer_text ) { |
|
205 | + public function admin_footer_text($footer_text) { |
|
206 | 206 | global $current_screen; |
207 | 207 | |
208 | - $page = isset( $_GET['page'] ) ? $_GET['page'] : ''; |
|
208 | + $page = isset($_GET['page']) ? $_GET['page'] : ''; |
|
209 | 209 | |
210 | - if ( ! empty( $current_screen->post_type ) ) { |
|
210 | + if (!empty($current_screen->post_type)) { |
|
211 | 211 | $page = $current_screen->post_type; |
212 | 212 | } |
213 | 213 | |
214 | 214 | // General styles. |
215 | - if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) { |
|
215 | + if (apply_filters('getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing()) && false !== stripos($page, 'wpi')) { |
|
216 | 216 | |
217 | 217 | // Change the footer text |
218 | - if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) { |
|
218 | + if (!get_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', true)) { |
|
219 | 219 | |
220 | - $rating_url = esc_url( |
|
220 | + $rating_url = esc_url( |
|
221 | 221 | wp_nonce_url( |
222 | - admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ), |
|
222 | + admin_url('admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin'), |
|
223 | 223 | 'getpaid-nonce', |
224 | 224 | 'getpaid-nonce' |
225 | 225 | ) |
@@ -227,7 +227,7 @@ discard block |
||
227 | 227 | |
228 | 228 | $footer_text = sprintf( |
229 | 229 | /* translators: %s: five stars */ |
230 | - __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ), |
|
230 | + __('If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing'), |
|
231 | 231 | "<a href='$rating_url'>★★★★★</a>" |
232 | 232 | ); |
233 | 233 | |
@@ -235,7 +235,7 @@ discard block |
||
235 | 235 | |
236 | 236 | $footer_text = sprintf( |
237 | 237 | /* translators: %s: GetPaid */ |
238 | - __( 'Thank you for using %s!', 'invoicing' ), |
|
238 | + __('Thank you for using %s!', 'invoicing'), |
|
239 | 239 | "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>" |
240 | 240 | ); |
241 | 241 | |
@@ -252,8 +252,8 @@ discard block |
||
252 | 252 | * @since 2.0.0 |
253 | 253 | */ |
254 | 254 | public function redirect_to_wordpress_rating_page() { |
255 | - update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 ); |
|
256 | - wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' ); |
|
255 | + update_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', 1); |
|
256 | + wp_redirect('https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post'); |
|
257 | 257 | exit; |
258 | 258 | } |
259 | 259 | |
@@ -264,30 +264,30 @@ discard block |
||
264 | 264 | protected function load_payment_form_scripts() { |
265 | 265 | global $post; |
266 | 266 | |
267 | - wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.js', array(), WPINV_VERSION ); |
|
268 | - wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION ); |
|
269 | - wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION ); |
|
267 | + wp_enqueue_script('vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.js', array(), WPINV_VERSION); |
|
268 | + wp_enqueue_script('sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION); |
|
269 | + wp_enqueue_script('vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array('sortable', 'vue'), WPINV_VERSION); |
|
270 | 270 | |
271 | - $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' ); |
|
272 | - wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable' ), $version ); |
|
271 | + $version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js'); |
|
272 | + wp_register_script('wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array('wpinv-admin-script', 'vue_draggable'), $version); |
|
273 | 273 | |
274 | 274 | wp_localize_script( |
275 | 275 | 'wpinv-admin-payment-form-script', |
276 | 276 | 'wpinvPaymentFormAdmin', |
277 | 277 | array( |
278 | - 'elements' => wpinv_get_data( 'payment-form-elements' ), |
|
279 | - 'form_elements' => getpaid_get_payment_form_elements( $post->ID ), |
|
278 | + 'elements' => wpinv_get_data('payment-form-elements'), |
|
279 | + 'form_elements' => getpaid_get_payment_form_elements($post->ID), |
|
280 | 280 | 'currency' => wpinv_currency_symbol(), |
281 | 281 | 'position' => wpinv_currency_position(), |
282 | 282 | 'decimals' => (int) wpinv_decimals(), |
283 | 283 | 'thousands_sep' => wpinv_thousands_separator(), |
284 | 284 | 'decimals_sep' => wpinv_decimal_separator(), |
285 | - 'form_items' => gepaid_get_form_items( $post->ID ), |
|
285 | + 'form_items' => gepaid_get_form_items($post->ID), |
|
286 | 286 | 'is_default' => $post->ID == wpinv_get_default_payment_form(), |
287 | 287 | ) |
288 | 288 | ); |
289 | 289 | |
290 | - wp_enqueue_script( 'wpinv-admin-payment-form-script' ); |
|
290 | + wp_enqueue_script('wpinv-admin-payment-form-script'); |
|
291 | 291 | |
292 | 292 | } |
293 | 293 | |
@@ -298,25 +298,25 @@ discard block |
||
298 | 298 | * @return string |
299 | 299 | * |
300 | 300 | */ |
301 | - public function admin_body_class( $classes ) { |
|
301 | + public function admin_body_class($classes) { |
|
302 | 302 | global $pagenow, $post, $current_screen; |
303 | 303 | |
304 | 304 | |
305 | - $page = isset( $_GET['page'] ) ? $_GET['page'] : ''; |
|
305 | + $page = isset($_GET['page']) ? $_GET['page'] : ''; |
|
306 | 306 | |
307 | - if ( ! empty( $current_screen->post_type ) ) { |
|
307 | + if (!empty($current_screen->post_type)) { |
|
308 | 308 | $page = $current_screen->post_type; |
309 | 309 | } |
310 | 310 | |
311 | - if ( false !== stripos( $page, 'wpi' ) ) { |
|
312 | - $classes .= ' wpi-' . sanitize_key( $page ); |
|
311 | + if (false !== stripos($page, 'wpi')) { |
|
312 | + $classes .= ' wpi-' . sanitize_key($page); |
|
313 | 313 | } |
314 | 314 | |
315 | - if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) { |
|
315 | + if (in_array($page, wpinv_parse_list('wpi_invoice wpi_payment_form wpi_quote'))) { |
|
316 | 316 | $classes .= ' wpinv-cpt wpinv'; |
317 | 317 | } |
318 | 318 | |
319 | - if ( getpaid_is_invoice_post_type( $page ) ) { |
|
319 | + if (getpaid_is_invoice_post_type($page)) { |
|
320 | 320 | $classes .= ' getpaid-is-invoice-cpt'; |
321 | 321 | } |
322 | 322 | |
@@ -326,19 +326,19 @@ discard block |
||
326 | 326 | /** |
327 | 327 | * Maybe show the AyeCode Connect Notice. |
328 | 328 | */ |
329 | - public function init_ayecode_connect_helper(){ |
|
329 | + public function init_ayecode_connect_helper() { |
|
330 | 330 | |
331 | 331 | new AyeCode_Connect_Helper( |
332 | 332 | array( |
333 | - 'connect_title' => __("WP Invoicing - an AyeCode product!","invoicing"), |
|
334 | - 'connect_external' => __( "Please confirm you wish to connect your site?","invoicing" ), |
|
335 | - 'connect' => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s","invoicing" ),"<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>","</a>" ), |
|
336 | - 'connect_button' => __("Connect Site","invoicing"), |
|
337 | - 'connecting_button' => __("Connecting...","invoicing"), |
|
338 | - 'error_localhost' => __( "This service will only work with a live domain, not a localhost.","invoicing" ), |
|
339 | - 'error' => __( "Something went wrong, please refresh and try again.","invoicing" ), |
|
333 | + 'connect_title' => __("WP Invoicing - an AyeCode product!", "invoicing"), |
|
334 | + 'connect_external' => __("Please confirm you wish to connect your site?", "invoicing"), |
|
335 | + 'connect' => sprintf(__("<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s", "invoicing"), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>"), |
|
336 | + 'connect_button' => __("Connect Site", "invoicing"), |
|
337 | + 'connecting_button' => __("Connecting...", "invoicing"), |
|
338 | + 'error_localhost' => __("This service will only work with a live domain, not a localhost.", "invoicing"), |
|
339 | + 'error' => __("Something went wrong, please refresh and try again.", "invoicing"), |
|
340 | 340 | ), |
341 | - array( 'wpi-addons' ) |
|
341 | + array('wpi-addons') |
|
342 | 342 | ); |
343 | 343 | |
344 | 344 | } |
@@ -350,20 +350,20 @@ discard block |
||
350 | 350 | */ |
351 | 351 | public function activation_redirect() { |
352 | 352 | |
353 | - $redirected = get_option( 'wpinv_redirected_to_settings' ); |
|
353 | + $redirected = get_option('wpinv_redirected_to_settings'); |
|
354 | 354 | |
355 | - if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) { |
|
355 | + if (!empty($redirected) || wp_doing_ajax() || !current_user_can('manage_options')) { |
|
356 | 356 | return; |
357 | 357 | } |
358 | 358 | |
359 | 359 | // Bail if activating from network, or bulk |
360 | - if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { |
|
360 | + if (is_network_admin() || isset($_GET['activate-multi'])) { |
|
361 | 361 | return; |
362 | 362 | } |
363 | 363 | |
364 | - update_option( 'wpinv_redirected_to_settings', 1 ); |
|
364 | + update_option('wpinv_redirected_to_settings', 1); |
|
365 | 365 | |
366 | - wp_safe_redirect( admin_url( 'admin.php?page=wpinv-settings&tab=general' ) ); |
|
366 | + wp_safe_redirect(admin_url('admin.php?page=wpinv-settings&tab=general')); |
|
367 | 367 | exit; |
368 | 368 | |
369 | 369 | } |
@@ -373,9 +373,9 @@ discard block |
||
373 | 373 | */ |
374 | 374 | public function maybe_do_admin_action() { |
375 | 375 | |
376 | - if ( wpinv_current_user_can_manage_invoicing() && isset( $_REQUEST['getpaid-admin-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) { |
|
377 | - $key = sanitize_key( $_REQUEST['getpaid-admin-action'] ); |
|
378 | - do_action( "getpaid_authenticated_admin_action_$key", $_REQUEST ); |
|
376 | + if (wpinv_current_user_can_manage_invoicing() && isset($_REQUEST['getpaid-admin-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) { |
|
377 | + $key = sanitize_key($_REQUEST['getpaid-admin-action']); |
|
378 | + do_action("getpaid_authenticated_admin_action_$key", $_REQUEST); |
|
379 | 379 | } |
380 | 380 | |
381 | 381 | } |
@@ -385,16 +385,16 @@ discard block |
||
385 | 385 | * |
386 | 386 | * @param array $args |
387 | 387 | */ |
388 | - public function send_customer_invoice( $args ) { |
|
389 | - $sent = getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true ); |
|
388 | + public function send_customer_invoice($args) { |
|
389 | + $sent = getpaid()->get('invoice_emails')->user_invoice(new WPInv_Invoice($args['invoice_id']), true); |
|
390 | 390 | |
391 | - if ( $sent ) { |
|
392 | - $this->show_success( __( 'Invoice was successfully sent to the customer', 'invoicing' ) ); |
|
391 | + if ($sent) { |
|
392 | + $this->show_success(__('Invoice was successfully sent to the customer', 'invoicing')); |
|
393 | 393 | } else { |
394 | - $this->show_error( __( 'Could not send the invoice to the customer', 'invoicing' ) ); |
|
394 | + $this->show_error(__('Could not send the invoice to the customer', 'invoicing')); |
|
395 | 395 | } |
396 | 396 | |
397 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
397 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id'))); |
|
398 | 398 | exit; |
399 | 399 | } |
400 | 400 | |
@@ -403,16 +403,16 @@ discard block |
||
403 | 403 | * |
404 | 404 | * @param array $args |
405 | 405 | */ |
406 | - public function send_customer_payment_reminder( $args ) { |
|
407 | - $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) ); |
|
406 | + public function send_customer_payment_reminder($args) { |
|
407 | + $sent = getpaid()->get('invoice_emails')->force_send_overdue_notice(new WPInv_Invoice($args['invoice_id'])); |
|
408 | 408 | |
409 | - if ( $sent ) { |
|
410 | - $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) ); |
|
409 | + if ($sent) { |
|
410 | + $this->show_success(__('Payment reminder was successfully sent to the customer', 'invoicing')); |
|
411 | 411 | } else { |
412 | - $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) ); |
|
412 | + $this->show_error(__('Could not sent payment reminder to the customer', 'invoicing')); |
|
413 | 413 | } |
414 | 414 | |
415 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) ); |
|
415 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id'))); |
|
416 | 416 | exit; |
417 | 417 | } |
418 | 418 | |
@@ -422,8 +422,8 @@ discard block |
||
422 | 422 | */ |
423 | 423 | public function admin_reset_tax_rates() { |
424 | 424 | |
425 | - update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
426 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
425 | + update_option('wpinv_tax_rates', wpinv_get_data('tax-rates')); |
|
426 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
427 | 427 | exit; |
428 | 428 | |
429 | 429 | } |
@@ -435,8 +435,8 @@ discard block |
||
435 | 435 | public function admin_create_missing_pages() { |
436 | 436 | $installer = new GetPaid_Installer(); |
437 | 437 | $installer->create_pages(); |
438 | - $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) ); |
|
439 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
438 | + $this->show_success(__('GetPaid pages updated.', 'invoicing')); |
|
439 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
440 | 440 | exit; |
441 | 441 | } |
442 | 442 | |
@@ -448,35 +448,35 @@ discard block |
||
448 | 448 | global $wpdb; |
449 | 449 | $installer = new GetPaid_Installer(); |
450 | 450 | |
451 | - if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) { |
|
451 | + if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'") != $wpdb->prefix . 'wpinv_subscriptions') { |
|
452 | 452 | $installer->create_subscriptions_table(); |
453 | 453 | |
454 | - if ( $wpdb->last_error !== '' ) { |
|
455 | - $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
454 | + if ($wpdb->last_error !== '') { |
|
455 | + $this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error); |
|
456 | 456 | } |
457 | 457 | } |
458 | 458 | |
459 | - if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) { |
|
459 | + if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'") != $wpdb->prefix . 'getpaid_invoices') { |
|
460 | 460 | $installer->create_invoices_table(); |
461 | 461 | |
462 | - if ( $wpdb->last_error !== '' ) { |
|
463 | - $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
462 | + if ($wpdb->last_error !== '') { |
|
463 | + $this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error); |
|
464 | 464 | } |
465 | 465 | } |
466 | 466 | |
467 | - if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) { |
|
467 | + if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'") != $wpdb->prefix . 'getpaid_invoice_items') { |
|
468 | 468 | $installer->create_invoice_items_table(); |
469 | 469 | |
470 | - if ( $wpdb->last_error !== '' ) { |
|
471 | - $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error ); |
|
470 | + if ($wpdb->last_error !== '') { |
|
471 | + $this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error); |
|
472 | 472 | } |
473 | 473 | } |
474 | 474 | |
475 | - if ( ! $this->has_notices() ) { |
|
476 | - $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) ); |
|
475 | + if (!$this->has_notices()) { |
|
476 | + $this->show_success(__('Your GetPaid tables have been updated.', 'invoicing')); |
|
477 | 477 | } |
478 | 478 | |
479 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
479 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
480 | 480 | exit; |
481 | 481 | } |
482 | 482 | |
@@ -491,10 +491,10 @@ discard block |
||
491 | 491 | $installer->migrate_old_invoices(); |
492 | 492 | |
493 | 493 | // Show an admin message. |
494 | - $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) ); |
|
494 | + $this->show_success(__('Your invoices have been migrated.', 'invoicing')); |
|
495 | 495 | |
496 | 496 | // Redirect the admin. |
497 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
497 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
498 | 498 | exit; |
499 | 499 | |
500 | 500 | } |
@@ -508,36 +508,36 @@ discard block |
||
508 | 508 | |
509 | 509 | // Fetch all invoices that have discount codes. |
510 | 510 | $table = $wpdb->prefix . 'getpaid_invoices'; |
511 | - $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" ); |
|
511 | + $invoices = $wpdb->get_col("SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''"); |
|
512 | 512 | |
513 | - foreach ( $invoices as $invoice ) { |
|
513 | + foreach ($invoices as $invoice) { |
|
514 | 514 | |
515 | - $invoice = new WPInv_Invoice( $invoice ); |
|
515 | + $invoice = new WPInv_Invoice($invoice); |
|
516 | 516 | |
517 | - if ( ! $invoice->exists() ) { |
|
517 | + if (!$invoice->exists()) { |
|
518 | 518 | continue; |
519 | 519 | } |
520 | 520 | |
521 | 521 | // Abort if the discount does not exist or does not apply here. |
522 | - $discount = new WPInv_Discount( $invoice->get_discount_code() ); |
|
523 | - if ( ! $discount->exists() ) { |
|
522 | + $discount = new WPInv_Discount($invoice->get_discount_code()); |
|
523 | + if (!$discount->exists()) { |
|
524 | 524 | continue; |
525 | 525 | } |
526 | 526 | |
527 | - $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) ); |
|
527 | + $invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount)); |
|
528 | 528 | $invoice->recalculate_total(); |
529 | 529 | |
530 | - if ( $invoice->get_total_discount() > 0 ) { |
|
530 | + if ($invoice->get_total_discount() > 0) { |
|
531 | 531 | $invoice->save(); |
532 | 532 | } |
533 | 533 | |
534 | 534 | } |
535 | 535 | |
536 | 536 | // Show an admin message. |
537 | - $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) ); |
|
537 | + $this->show_success(__('Discounts have been recalculated.', 'invoicing')); |
|
538 | 538 | |
539 | 539 | // Redirect the admin. |
540 | - wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) ); |
|
540 | + wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce'))); |
|
541 | 541 | exit; |
542 | 542 | |
543 | 543 | } |
@@ -549,8 +549,8 @@ discard block |
||
549 | 549 | * @return array |
550 | 550 | */ |
551 | 551 | public function get_notices() { |
552 | - $notices = get_option( 'wpinv_admin_notices' ); |
|
553 | - return is_array( $notices ) ? $notices : array(); |
|
552 | + $notices = get_option('wpinv_admin_notices'); |
|
553 | + return is_array($notices) ? $notices : array(); |
|
554 | 554 | } |
555 | 555 | |
556 | 556 | /** |
@@ -560,7 +560,7 @@ discard block |
||
560 | 560 | * @return array |
561 | 561 | */ |
562 | 562 | public function has_notices() { |
563 | - return count( $this->get_notices() ) > 0; |
|
563 | + return count($this->get_notices()) > 0; |
|
564 | 564 | } |
565 | 565 | |
566 | 566 | /** |
@@ -570,7 +570,7 @@ discard block |
||
570 | 570 | * @since 1.0.19 |
571 | 571 | */ |
572 | 572 | public function clear_notices() { |
573 | - delete_option( 'wpinv_admin_notices' ); |
|
573 | + delete_option('wpinv_admin_notices'); |
|
574 | 574 | } |
575 | 575 | |
576 | 576 | /** |
@@ -579,16 +579,16 @@ discard block |
||
579 | 579 | * @access public |
580 | 580 | * @since 1.0.19 |
581 | 581 | */ |
582 | - public function save_notice( $type, $message ) { |
|
582 | + public function save_notice($type, $message) { |
|
583 | 583 | $notices = $this->get_notices(); |
584 | 584 | |
585 | - if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ]) ) { |
|
586 | - $notices[ $type ] = array(); |
|
585 | + if (empty($notices[$type]) || !is_array($notices[$type])) { |
|
586 | + $notices[$type] = array(); |
|
587 | 587 | } |
588 | 588 | |
589 | - $notices[ $type ][] = $message; |
|
589 | + $notices[$type][] = $message; |
|
590 | 590 | |
591 | - update_option( 'wpinv_admin_notices', $notices ); |
|
591 | + update_option('wpinv_admin_notices', $notices); |
|
592 | 592 | } |
593 | 593 | |
594 | 594 | /** |
@@ -598,8 +598,8 @@ discard block |
||
598 | 598 | * @access public |
599 | 599 | * @since 1.0.19 |
600 | 600 | */ |
601 | - public function show_success( $msg ) { |
|
602 | - $this->save_notice( 'success', $msg ); |
|
601 | + public function show_success($msg) { |
|
602 | + $this->save_notice('success', $msg); |
|
603 | 603 | } |
604 | 604 | |
605 | 605 | /** |
@@ -609,8 +609,8 @@ discard block |
||
609 | 609 | * @param string $msg The message to qeue. |
610 | 610 | * @since 1.0.19 |
611 | 611 | */ |
612 | - public function show_error( $msg ) { |
|
613 | - $this->save_notice( 'error', $msg ); |
|
612 | + public function show_error($msg) { |
|
613 | + $this->save_notice('error', $msg); |
|
614 | 614 | } |
615 | 615 | |
616 | 616 | /** |
@@ -620,8 +620,8 @@ discard block |
||
620 | 620 | * @param string $msg The message to qeue. |
621 | 621 | * @since 1.0.19 |
622 | 622 | */ |
623 | - public function show_warning( $msg ) { |
|
624 | - $this->save_notice( 'warning', $msg ); |
|
623 | + public function show_warning($msg) { |
|
624 | + $this->save_notice('warning', $msg); |
|
625 | 625 | } |
626 | 626 | |
627 | 627 | /** |
@@ -631,8 +631,8 @@ discard block |
||
631 | 631 | * @param string $msg The message to qeue. |
632 | 632 | * @since 1.0.19 |
633 | 633 | */ |
634 | - public function show_info( $msg ) { |
|
635 | - $this->save_notice( 'info', $msg ); |
|
634 | + public function show_info($msg) { |
|
635 | + $this->save_notice('info', $msg); |
|
636 | 636 | } |
637 | 637 | |
638 | 638 | /** |
@@ -646,32 +646,32 @@ discard block |
||
646 | 646 | $notices = $this->get_notices(); |
647 | 647 | $this->clear_notices(); |
648 | 648 | |
649 | - foreach ( $notices as $type => $messages ) { |
|
649 | + foreach ($notices as $type => $messages) { |
|
650 | 650 | |
651 | - if ( ! is_array( $messages ) ) { |
|
651 | + if (!is_array($messages)) { |
|
652 | 652 | continue; |
653 | 653 | } |
654 | 654 | |
655 | - $type = sanitize_key( $type ); |
|
656 | - foreach ( $messages as $message ) { |
|
657 | - $message = wp_kses_post( $message ); |
|
655 | + $type = sanitize_key($type); |
|
656 | + foreach ($messages as $message) { |
|
657 | + $message = wp_kses_post($message); |
|
658 | 658 | echo "<div class='notice notice-$type is-dismissible'><p>$message</p></div>"; |
659 | 659 | } |
660 | 660 | |
661 | 661 | } |
662 | 662 | |
663 | - foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) { |
|
663 | + foreach (array('checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page') as $page) { |
|
664 | 664 | |
665 | - if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) { |
|
666 | - $url = esc_url( |
|
665 | + if (!is_numeric(wpinv_get_option($page, false))) { |
|
666 | + $url = esc_url( |
|
667 | 667 | wp_nonce_url( |
668 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
668 | + add_query_arg('getpaid-admin-action', 'create_missing_pages'), |
|
669 | 669 | 'getpaid-nonce', |
670 | 670 | 'getpaid-nonce' |
671 | 671 | ) |
672 | 672 | ); |
673 | - $message = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' ); |
|
674 | - $message2 = __( 'Generate Pages', 'invoicing' ); |
|
673 | + $message = __('Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing'); |
|
674 | + $message2 = __('Generate Pages', 'invoicing'); |
|
675 | 675 | echo "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>"; |
676 | 676 | break; |
677 | 677 | } |
@@ -20,214 +20,214 @@ discard block |
||
20 | 20 | */ |
21 | 21 | class GetPaid_Installer { |
22 | 22 | |
23 | - /** |
|
24 | - * Upgrades the install. |
|
25 | - * |
|
26 | - * @param string $upgrade_from The current invoicing version. |
|
27 | - */ |
|
28 | - public function upgrade_db( $upgrade_from ) { |
|
29 | - |
|
30 | - // Save the current invoicing version. |
|
31 | - update_option( 'wpinv_version', WPINV_VERSION ); |
|
32 | - |
|
33 | - // Setup the invoice Custom Post Type. |
|
34 | - GetPaid_Post_Types::register_post_types(); |
|
35 | - |
|
36 | - // Clear the permalinks |
|
37 | - flush_rewrite_rules(); |
|
38 | - |
|
39 | - // Maybe create new/missing pages. |
|
40 | - $this->create_pages(); |
|
41 | - |
|
42 | - // Maybe re(add) admin capabilities. |
|
43 | - $this->add_capabilities(); |
|
44 | - |
|
45 | - // Maybe create the default payment form. |
|
46 | - wpinv_get_default_payment_form(); |
|
47 | - |
|
48 | - // Create any missing database tables. |
|
49 | - $method = "upgrade_from_$upgrade_from"; |
|
50 | - |
|
51 | - if ( method_exists( $this, $method ) ) { |
|
52 | - $this->$method(); |
|
53 | - } |
|
54 | - |
|
55 | - } |
|
56 | - |
|
57 | - /** |
|
58 | - * Do a fresh install. |
|
59 | - * |
|
60 | - */ |
|
61 | - public function upgrade_from_0() { |
|
62 | - $this->create_subscriptions_table(); |
|
63 | - $this->create_invoices_table(); |
|
64 | - $this->create_invoice_items_table(); |
|
65 | - |
|
66 | - // Save default tax rates. |
|
67 | - update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
68 | - } |
|
69 | - |
|
70 | - /** |
|
71 | - * Upgrade to 0.0.5 |
|
72 | - * |
|
73 | - */ |
|
74 | - public function upgrade_from_004() { |
|
75 | - global $wpdb; |
|
76 | - |
|
77 | - // Invoices. |
|
78 | - $results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
79 | - if ( ! empty( $results ) ) { |
|
80 | - $wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
81 | - |
|
82 | - // Clean post cache |
|
83 | - foreach ( $results as $row ) { |
|
84 | - clean_post_cache( $row->ID ); |
|
85 | - } |
|
86 | - |
|
87 | - } |
|
88 | - |
|
89 | - // Item meta key changes |
|
90 | - $query = "SELECT DISTINCT post_id FROM " . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )"; |
|
91 | - $results = $wpdb->get_results( $query ); |
|
92 | - |
|
93 | - if ( ! empty( $results ) ) { |
|
94 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" ); |
|
95 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" ); |
|
96 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" ); |
|
97 | - |
|
98 | - foreach ( $results as $row ) { |
|
99 | - clean_post_cache( $row->post_id ); |
|
100 | - } |
|
101 | - |
|
102 | - } |
|
103 | - |
|
104 | - $this->upgrade_from_102(); |
|
105 | - } |
|
106 | - |
|
107 | - /** |
|
108 | - * Upgrade to 1.0.3 |
|
109 | - * |
|
110 | - */ |
|
111 | - public function upgrade_from_102() { |
|
112 | - $this->create_subscriptions_table(); |
|
113 | - $this->upgrade_from_118(); |
|
114 | - } |
|
115 | - |
|
116 | - /** |
|
117 | - * Upgrade to version 2.0.0. |
|
118 | - * |
|
119 | - */ |
|
120 | - public function upgrade_from_118() { |
|
121 | - $this->create_invoices_table(); |
|
122 | - $this->create_invoice_items_table(); |
|
123 | - $this->migrate_old_invoices(); |
|
124 | - } |
|
125 | - |
|
126 | - /** |
|
127 | - * Upgrade to version 2.0.8. |
|
128 | - * |
|
129 | - */ |
|
130 | - public function upgrade_from_207() { |
|
131 | - global $wpdb; |
|
132 | - $wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoice_items MODIFY COLUMN quantity FLOAT(20);" ); |
|
133 | - } |
|
134 | - |
|
135 | - /** |
|
136 | - * Give administrators the capability to manage GetPaid. |
|
137 | - * |
|
138 | - */ |
|
139 | - public function add_capabilities() { |
|
140 | - $GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' ); |
|
141 | - } |
|
142 | - |
|
143 | - /** |
|
144 | - * Re-create GetPaid pages. |
|
145 | - * |
|
146 | - */ |
|
147 | - public function create_pages() { |
|
148 | - |
|
149 | - $pages = apply_filters( |
|
150 | - 'wpinv_create_pages', |
|
151 | - array( |
|
152 | - |
|
153 | - // Checkout page. |
|
154 | - 'checkout_page' => array( |
|
155 | - 'name' => _x( 'gp-checkout', 'Page slug', 'invoicing' ), |
|
156 | - 'title' => _x( 'Checkout', 'Page title', 'invoicing' ), |
|
157 | - 'content' => ' |
|
23 | + /** |
|
24 | + * Upgrades the install. |
|
25 | + * |
|
26 | + * @param string $upgrade_from The current invoicing version. |
|
27 | + */ |
|
28 | + public function upgrade_db( $upgrade_from ) { |
|
29 | + |
|
30 | + // Save the current invoicing version. |
|
31 | + update_option( 'wpinv_version', WPINV_VERSION ); |
|
32 | + |
|
33 | + // Setup the invoice Custom Post Type. |
|
34 | + GetPaid_Post_Types::register_post_types(); |
|
35 | + |
|
36 | + // Clear the permalinks |
|
37 | + flush_rewrite_rules(); |
|
38 | + |
|
39 | + // Maybe create new/missing pages. |
|
40 | + $this->create_pages(); |
|
41 | + |
|
42 | + // Maybe re(add) admin capabilities. |
|
43 | + $this->add_capabilities(); |
|
44 | + |
|
45 | + // Maybe create the default payment form. |
|
46 | + wpinv_get_default_payment_form(); |
|
47 | + |
|
48 | + // Create any missing database tables. |
|
49 | + $method = "upgrade_from_$upgrade_from"; |
|
50 | + |
|
51 | + if ( method_exists( $this, $method ) ) { |
|
52 | + $this->$method(); |
|
53 | + } |
|
54 | + |
|
55 | + } |
|
56 | + |
|
57 | + /** |
|
58 | + * Do a fresh install. |
|
59 | + * |
|
60 | + */ |
|
61 | + public function upgrade_from_0() { |
|
62 | + $this->create_subscriptions_table(); |
|
63 | + $this->create_invoices_table(); |
|
64 | + $this->create_invoice_items_table(); |
|
65 | + |
|
66 | + // Save default tax rates. |
|
67 | + update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
68 | + } |
|
69 | + |
|
70 | + /** |
|
71 | + * Upgrade to 0.0.5 |
|
72 | + * |
|
73 | + */ |
|
74 | + public function upgrade_from_004() { |
|
75 | + global $wpdb; |
|
76 | + |
|
77 | + // Invoices. |
|
78 | + $results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
79 | + if ( ! empty( $results ) ) { |
|
80 | + $wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
81 | + |
|
82 | + // Clean post cache |
|
83 | + foreach ( $results as $row ) { |
|
84 | + clean_post_cache( $row->ID ); |
|
85 | + } |
|
86 | + |
|
87 | + } |
|
88 | + |
|
89 | + // Item meta key changes |
|
90 | + $query = "SELECT DISTINCT post_id FROM " . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )"; |
|
91 | + $results = $wpdb->get_results( $query ); |
|
92 | + |
|
93 | + if ( ! empty( $results ) ) { |
|
94 | + $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" ); |
|
95 | + $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" ); |
|
96 | + $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" ); |
|
97 | + |
|
98 | + foreach ( $results as $row ) { |
|
99 | + clean_post_cache( $row->post_id ); |
|
100 | + } |
|
101 | + |
|
102 | + } |
|
103 | + |
|
104 | + $this->upgrade_from_102(); |
|
105 | + } |
|
106 | + |
|
107 | + /** |
|
108 | + * Upgrade to 1.0.3 |
|
109 | + * |
|
110 | + */ |
|
111 | + public function upgrade_from_102() { |
|
112 | + $this->create_subscriptions_table(); |
|
113 | + $this->upgrade_from_118(); |
|
114 | + } |
|
115 | + |
|
116 | + /** |
|
117 | + * Upgrade to version 2.0.0. |
|
118 | + * |
|
119 | + */ |
|
120 | + public function upgrade_from_118() { |
|
121 | + $this->create_invoices_table(); |
|
122 | + $this->create_invoice_items_table(); |
|
123 | + $this->migrate_old_invoices(); |
|
124 | + } |
|
125 | + |
|
126 | + /** |
|
127 | + * Upgrade to version 2.0.8. |
|
128 | + * |
|
129 | + */ |
|
130 | + public function upgrade_from_207() { |
|
131 | + global $wpdb; |
|
132 | + $wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoice_items MODIFY COLUMN quantity FLOAT(20);" ); |
|
133 | + } |
|
134 | + |
|
135 | + /** |
|
136 | + * Give administrators the capability to manage GetPaid. |
|
137 | + * |
|
138 | + */ |
|
139 | + public function add_capabilities() { |
|
140 | + $GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' ); |
|
141 | + } |
|
142 | + |
|
143 | + /** |
|
144 | + * Re-create GetPaid pages. |
|
145 | + * |
|
146 | + */ |
|
147 | + public function create_pages() { |
|
148 | + |
|
149 | + $pages = apply_filters( |
|
150 | + 'wpinv_create_pages', |
|
151 | + array( |
|
152 | + |
|
153 | + // Checkout page. |
|
154 | + 'checkout_page' => array( |
|
155 | + 'name' => _x( 'gp-checkout', 'Page slug', 'invoicing' ), |
|
156 | + 'title' => _x( 'Checkout', 'Page title', 'invoicing' ), |
|
157 | + 'content' => ' |
|
158 | 158 | <!-- wp:shortcode --> |
159 | 159 | [wpinv_checkout] |
160 | 160 | <!-- /wp:shortcode --> |
161 | 161 | ', |
162 | - 'parent' => '', |
|
163 | - ), |
|
164 | - |
|
165 | - // Invoice history page. |
|
166 | - 'invoice_history_page' => array( |
|
167 | - 'name' => _x( 'gp-invoices', 'Page slug', 'invoicing' ), |
|
168 | - 'title' => _x( 'My Invoices', 'Page title', 'invoicing' ), |
|
169 | - 'content' => ' |
|
162 | + 'parent' => '', |
|
163 | + ), |
|
164 | + |
|
165 | + // Invoice history page. |
|
166 | + 'invoice_history_page' => array( |
|
167 | + 'name' => _x( 'gp-invoices', 'Page slug', 'invoicing' ), |
|
168 | + 'title' => _x( 'My Invoices', 'Page title', 'invoicing' ), |
|
169 | + 'content' => ' |
|
170 | 170 | <!-- wp:shortcode --> |
171 | 171 | [wpinv_history] |
172 | 172 | <!-- /wp:shortcode --> |
173 | 173 | ', |
174 | - 'parent' => '', |
|
175 | - ), |
|
176 | - |
|
177 | - // Success page content. |
|
178 | - 'success_page' => array( |
|
179 | - 'name' => _x( 'gp-receipt', 'Page slug', 'invoicing' ), |
|
180 | - 'title' => _x( 'Payment Confirmation', 'Page title', 'invoicing' ), |
|
181 | - 'content' => ' |
|
174 | + 'parent' => '', |
|
175 | + ), |
|
176 | + |
|
177 | + // Success page content. |
|
178 | + 'success_page' => array( |
|
179 | + 'name' => _x( 'gp-receipt', 'Page slug', 'invoicing' ), |
|
180 | + 'title' => _x( 'Payment Confirmation', 'Page title', 'invoicing' ), |
|
181 | + 'content' => ' |
|
182 | 182 | <!-- wp:shortcode --> |
183 | 183 | [wpinv_receipt] |
184 | 184 | <!-- /wp:shortcode --> |
185 | 185 | ', |
186 | - 'parent' => 'gp-checkout', |
|
187 | - ), |
|
188 | - |
|
189 | - // Failure page content. |
|
190 | - 'failure_page' => array( |
|
191 | - 'name' => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ), |
|
192 | - 'title' => _x( 'Transaction Failed', 'Page title', 'invoicing' ), |
|
193 | - 'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ), |
|
194 | - 'parent' => 'gp-checkout', |
|
195 | - ), |
|
196 | - |
|
197 | - // Subscriptions history page. |
|
198 | - 'invoice_subscription_page' => array( |
|
199 | - 'name' => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ), |
|
200 | - 'title' => _x( 'My Subscriptions', 'Page title', 'invoicing' ), |
|
201 | - 'content' => ' |
|
186 | + 'parent' => 'gp-checkout', |
|
187 | + ), |
|
188 | + |
|
189 | + // Failure page content. |
|
190 | + 'failure_page' => array( |
|
191 | + 'name' => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ), |
|
192 | + 'title' => _x( 'Transaction Failed', 'Page title', 'invoicing' ), |
|
193 | + 'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ), |
|
194 | + 'parent' => 'gp-checkout', |
|
195 | + ), |
|
196 | + |
|
197 | + // Subscriptions history page. |
|
198 | + 'invoice_subscription_page' => array( |
|
199 | + 'name' => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ), |
|
200 | + 'title' => _x( 'My Subscriptions', 'Page title', 'invoicing' ), |
|
201 | + 'content' => ' |
|
202 | 202 | <!-- wp:shortcode --> |
203 | 203 | [wpinv_subscriptions] |
204 | 204 | <!-- /wp:shortcode --> |
205 | 205 | ', |
206 | - 'parent' => '', |
|
207 | - ), |
|
206 | + 'parent' => '', |
|
207 | + ), |
|
208 | 208 | |
209 | - ) |
|
210 | - ); |
|
209 | + ) |
|
210 | + ); |
|
211 | 211 | |
212 | - foreach ( $pages as $key => $page ) { |
|
213 | - wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] ); |
|
214 | - } |
|
212 | + foreach ( $pages as $key => $page ) { |
|
213 | + wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] ); |
|
214 | + } |
|
215 | 215 | |
216 | - } |
|
216 | + } |
|
217 | 217 | |
218 | - /** |
|
219 | - * Create subscriptions table. |
|
220 | - * |
|
221 | - */ |
|
222 | - public function create_subscriptions_table() { |
|
218 | + /** |
|
219 | + * Create subscriptions table. |
|
220 | + * |
|
221 | + */ |
|
222 | + public function create_subscriptions_table() { |
|
223 | 223 | |
224 | - global $wpdb; |
|
224 | + global $wpdb; |
|
225 | 225 | |
226 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
226 | + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
227 | 227 | |
228 | - // Create tables. |
|
229 | - $charset_collate = $wpdb->get_charset_collate(); |
|
230 | - $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}wpinv_subscriptions ( |
|
228 | + // Create tables. |
|
229 | + $charset_collate = $wpdb->get_charset_collate(); |
|
230 | + $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}wpinv_subscriptions ( |
|
231 | 231 | id bigint(20) unsigned NOT NULL auto_increment, |
232 | 232 | customer_id bigint(20) NOT NULL, |
233 | 233 | frequency int(11) NOT NULL DEFAULT '1', |
@@ -250,22 +250,22 @@ discard block |
||
250 | 250 | KEY customer_and_status (customer_id, status) |
251 | 251 | ) $charset_collate;"; |
252 | 252 | |
253 | - dbDelta( $sql ); |
|
253 | + dbDelta( $sql ); |
|
254 | 254 | |
255 | - } |
|
255 | + } |
|
256 | 256 | |
257 | - /** |
|
258 | - * Create invoices table. |
|
259 | - * |
|
260 | - */ |
|
261 | - public function create_invoices_table() { |
|
262 | - global $wpdb; |
|
257 | + /** |
|
258 | + * Create invoices table. |
|
259 | + * |
|
260 | + */ |
|
261 | + public function create_invoices_table() { |
|
262 | + global $wpdb; |
|
263 | 263 | |
264 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
264 | + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
265 | 265 | |
266 | - // Create tables. |
|
267 | - $charset_collate = $wpdb->get_charset_collate(); |
|
268 | - $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}getpaid_invoices ( |
|
266 | + // Create tables. |
|
267 | + $charset_collate = $wpdb->get_charset_collate(); |
|
268 | + $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}getpaid_invoices ( |
|
269 | 269 | post_id BIGINT(20) NOT NULL, |
270 | 270 | `number` VARCHAR(100), |
271 | 271 | `key` VARCHAR(100), |
@@ -301,22 +301,22 @@ discard block |
||
301 | 301 | KEY `key` (`key`) |
302 | 302 | ) $charset_collate;"; |
303 | 303 | |
304 | - dbDelta( $sql ); |
|
304 | + dbDelta( $sql ); |
|
305 | 305 | |
306 | - } |
|
306 | + } |
|
307 | 307 | |
308 | - /** |
|
309 | - * Create invoice items table. |
|
310 | - * |
|
311 | - */ |
|
312 | - public function create_invoice_items_table() { |
|
313 | - global $wpdb; |
|
308 | + /** |
|
309 | + * Create invoice items table. |
|
310 | + * |
|
311 | + */ |
|
312 | + public function create_invoice_items_table() { |
|
313 | + global $wpdb; |
|
314 | 314 | |
315 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
315 | + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
316 | 316 | |
317 | - // Create tables. |
|
318 | - $charset_collate = $wpdb->get_charset_collate(); |
|
319 | - $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}getpaid_invoice_items ( |
|
317 | + // Create tables. |
|
318 | + $charset_collate = $wpdb->get_charset_collate(); |
|
319 | + $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}getpaid_invoice_items ( |
|
320 | 320 | ID BIGINT(20) NOT NULL AUTO_INCREMENT, |
321 | 321 | post_id BIGINT(20) NOT NULL, |
322 | 322 | item_id BIGINT(20) NOT NULL, |
@@ -338,159 +338,159 @@ discard block |
||
338 | 338 | KEY post_id (post_id) |
339 | 339 | ) $charset_collate;"; |
340 | 340 | |
341 | - dbDelta( $sql ); |
|
342 | - |
|
343 | - } |
|
344 | - |
|
345 | - /** |
|
346 | - * Migrates old invoices to new invoices. |
|
347 | - * |
|
348 | - */ |
|
349 | - public function migrate_old_invoices() { |
|
350 | - global $wpdb; |
|
351 | - |
|
352 | - $invoices_table = $wpdb->prefix . 'getpaid_invoices'; |
|
353 | - $invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items'; |
|
354 | - $migrated = $wpdb->get_col( "SELECT post_id FROM $invoices_table" ); |
|
355 | - $invoices = array_unique( |
|
356 | - get_posts( |
|
357 | - array( |
|
358 | - 'post_type' => array( 'wpi_invoice', 'wpi_quote' ), |
|
359 | - 'posts_per_page' => -1, |
|
360 | - 'fields' => 'ids', |
|
361 | - 'post_status' => array_keys( get_post_stati() ), |
|
362 | - 'exclude' => (array) $migrated, |
|
363 | - ) |
|
364 | - ) |
|
365 | - ); |
|
366 | - |
|
367 | - // Abort if we do not have any invoices. |
|
368 | - if ( empty( $invoices ) ) { |
|
369 | - return; |
|
370 | - } |
|
371 | - |
|
372 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php' ); |
|
373 | - |
|
374 | - $invoice_rows = array(); |
|
375 | - foreach ( $invoices as $invoice ) { |
|
376 | - |
|
377 | - $invoice = new WPInv_Legacy_Invoice( $invoice ); |
|
378 | - |
|
379 | - if ( empty( $invoice->ID ) ) { |
|
380 | - return; |
|
381 | - } |
|
382 | - |
|
383 | - $fields = array ( |
|
384 | - 'post_id' => $invoice->ID, |
|
385 | - 'number' => $invoice->get_number(), |
|
386 | - 'key' => $invoice->get_key(), |
|
387 | - 'type' => str_replace( 'wpi_', '', $invoice->post_type ), |
|
388 | - 'mode' => $invoice->mode, |
|
389 | - 'user_ip' => $invoice->get_ip(), |
|
390 | - 'first_name' => $invoice->get_first_name(), |
|
391 | - 'last_name' => $invoice->get_last_name(), |
|
392 | - 'address' => $invoice->get_address(), |
|
393 | - 'city' => $invoice->city, |
|
394 | - 'state' => $invoice->state, |
|
395 | - 'country' => $invoice->country, |
|
396 | - 'zip' => $invoice->zip, |
|
397 | - 'adddress_confirmed' => (int) $invoice->adddress_confirmed, |
|
398 | - 'gateway' => $invoice->get_gateway(), |
|
399 | - 'transaction_id' => $invoice->get_transaction_id(), |
|
400 | - 'currency' => $invoice->get_currency(), |
|
401 | - 'subtotal' => $invoice->get_subtotal(), |
|
402 | - 'tax' => $invoice->get_tax(), |
|
403 | - 'fees_total' => $invoice->get_fees_total(), |
|
404 | - 'total' => $invoice->get_total(), |
|
405 | - 'discount' => $invoice->get_discount(), |
|
406 | - 'discount_code' => $invoice->get_discount_code(), |
|
407 | - 'disable_taxes' => $invoice->disable_taxes, |
|
408 | - 'due_date' => $invoice->get_due_date(), |
|
409 | - 'completed_date' => $invoice->get_completed_date(), |
|
410 | - 'company' => $invoice->company, |
|
411 | - 'vat_number' => $invoice->vat_number, |
|
412 | - 'vat_rate' => $invoice->vat_rate, |
|
413 | - 'custom_meta' => $invoice->payment_meta |
|
414 | - ); |
|
415 | - |
|
416 | - foreach ( $fields as $key => $val ) { |
|
417 | - if ( is_null( $val ) ) { |
|
418 | - $val = ''; |
|
419 | - } |
|
420 | - $val = maybe_serialize( $val ); |
|
421 | - $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
422 | - } |
|
423 | - |
|
424 | - $fields = implode( ', ', $fields ); |
|
425 | - $invoice_rows[] = "($fields)"; |
|
426 | - |
|
427 | - $item_rows = array(); |
|
428 | - $item_columns = array(); |
|
429 | - foreach ( $invoice->get_cart_details() as $details ) { |
|
430 | - $fields = array( |
|
431 | - 'post_id' => $invoice->ID, |
|
432 | - 'item_id' => $details['id'], |
|
433 | - 'item_name' => $details['name'], |
|
434 | - 'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'], |
|
435 | - 'vat_rate' => $details['vat_rate'], |
|
436 | - 'vat_class' => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'], |
|
437 | - 'tax' => $details['tax'], |
|
438 | - 'item_price' => $details['item_price'], |
|
439 | - 'custom_price' => $details['custom_price'], |
|
440 | - 'quantity' => $details['quantity'], |
|
441 | - 'discount' => $details['discount'], |
|
442 | - 'subtotal' => $details['subtotal'], |
|
443 | - 'price' => $details['price'], |
|
444 | - 'meta' => $details['meta'], |
|
445 | - 'fees' => $details['fees'], |
|
446 | - ); |
|
447 | - |
|
448 | - $item_columns = array_keys ( $fields ); |
|
449 | - |
|
450 | - foreach ( $fields as $key => $val ) { |
|
451 | - if ( is_null( $val ) ) { |
|
452 | - $val = ''; |
|
453 | - } |
|
454 | - $val = maybe_serialize( $val ); |
|
455 | - $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
456 | - } |
|
457 | - |
|
458 | - $fields = implode( ', ', $fields ); |
|
459 | - $item_rows[] = "($fields)"; |
|
460 | - } |
|
461 | - |
|
462 | - $item_rows = implode( ', ', $item_rows ); |
|
463 | - $item_columns = implode( ', ', $item_columns ); |
|
464 | - $wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" ); |
|
465 | - } |
|
466 | - |
|
467 | - if ( empty( $invoice_rows ) ) { |
|
468 | - return; |
|
469 | - } |
|
470 | - |
|
471 | - $invoice_rows = implode( ', ', $invoice_rows ); |
|
472 | - $wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" ); |
|
473 | - |
|
474 | - } |
|
475 | - |
|
476 | - /** |
|
477 | - * Migrates old invoices to new invoices. |
|
478 | - * |
|
479 | - */ |
|
480 | - public static function rename_gateways_label() { |
|
481 | - global $wpdb; |
|
482 | - |
|
483 | - foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) { |
|
484 | - |
|
485 | - $wpdb->update( |
|
486 | - $wpdb->prefix . 'getpaid_invoices', |
|
487 | - array( 'gateway' => $gateway ), |
|
488 | - array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ), |
|
489 | - '%s', |
|
490 | - '%s' |
|
491 | - ); |
|
492 | - |
|
493 | - } |
|
494 | - } |
|
341 | + dbDelta( $sql ); |
|
342 | + |
|
343 | + } |
|
344 | + |
|
345 | + /** |
|
346 | + * Migrates old invoices to new invoices. |
|
347 | + * |
|
348 | + */ |
|
349 | + public function migrate_old_invoices() { |
|
350 | + global $wpdb; |
|
351 | + |
|
352 | + $invoices_table = $wpdb->prefix . 'getpaid_invoices'; |
|
353 | + $invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items'; |
|
354 | + $migrated = $wpdb->get_col( "SELECT post_id FROM $invoices_table" ); |
|
355 | + $invoices = array_unique( |
|
356 | + get_posts( |
|
357 | + array( |
|
358 | + 'post_type' => array( 'wpi_invoice', 'wpi_quote' ), |
|
359 | + 'posts_per_page' => -1, |
|
360 | + 'fields' => 'ids', |
|
361 | + 'post_status' => array_keys( get_post_stati() ), |
|
362 | + 'exclude' => (array) $migrated, |
|
363 | + ) |
|
364 | + ) |
|
365 | + ); |
|
366 | + |
|
367 | + // Abort if we do not have any invoices. |
|
368 | + if ( empty( $invoices ) ) { |
|
369 | + return; |
|
370 | + } |
|
371 | + |
|
372 | + require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php' ); |
|
373 | + |
|
374 | + $invoice_rows = array(); |
|
375 | + foreach ( $invoices as $invoice ) { |
|
376 | + |
|
377 | + $invoice = new WPInv_Legacy_Invoice( $invoice ); |
|
378 | + |
|
379 | + if ( empty( $invoice->ID ) ) { |
|
380 | + return; |
|
381 | + } |
|
382 | + |
|
383 | + $fields = array ( |
|
384 | + 'post_id' => $invoice->ID, |
|
385 | + 'number' => $invoice->get_number(), |
|
386 | + 'key' => $invoice->get_key(), |
|
387 | + 'type' => str_replace( 'wpi_', '', $invoice->post_type ), |
|
388 | + 'mode' => $invoice->mode, |
|
389 | + 'user_ip' => $invoice->get_ip(), |
|
390 | + 'first_name' => $invoice->get_first_name(), |
|
391 | + 'last_name' => $invoice->get_last_name(), |
|
392 | + 'address' => $invoice->get_address(), |
|
393 | + 'city' => $invoice->city, |
|
394 | + 'state' => $invoice->state, |
|
395 | + 'country' => $invoice->country, |
|
396 | + 'zip' => $invoice->zip, |
|
397 | + 'adddress_confirmed' => (int) $invoice->adddress_confirmed, |
|
398 | + 'gateway' => $invoice->get_gateway(), |
|
399 | + 'transaction_id' => $invoice->get_transaction_id(), |
|
400 | + 'currency' => $invoice->get_currency(), |
|
401 | + 'subtotal' => $invoice->get_subtotal(), |
|
402 | + 'tax' => $invoice->get_tax(), |
|
403 | + 'fees_total' => $invoice->get_fees_total(), |
|
404 | + 'total' => $invoice->get_total(), |
|
405 | + 'discount' => $invoice->get_discount(), |
|
406 | + 'discount_code' => $invoice->get_discount_code(), |
|
407 | + 'disable_taxes' => $invoice->disable_taxes, |
|
408 | + 'due_date' => $invoice->get_due_date(), |
|
409 | + 'completed_date' => $invoice->get_completed_date(), |
|
410 | + 'company' => $invoice->company, |
|
411 | + 'vat_number' => $invoice->vat_number, |
|
412 | + 'vat_rate' => $invoice->vat_rate, |
|
413 | + 'custom_meta' => $invoice->payment_meta |
|
414 | + ); |
|
415 | + |
|
416 | + foreach ( $fields as $key => $val ) { |
|
417 | + if ( is_null( $val ) ) { |
|
418 | + $val = ''; |
|
419 | + } |
|
420 | + $val = maybe_serialize( $val ); |
|
421 | + $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
422 | + } |
|
423 | + |
|
424 | + $fields = implode( ', ', $fields ); |
|
425 | + $invoice_rows[] = "($fields)"; |
|
426 | + |
|
427 | + $item_rows = array(); |
|
428 | + $item_columns = array(); |
|
429 | + foreach ( $invoice->get_cart_details() as $details ) { |
|
430 | + $fields = array( |
|
431 | + 'post_id' => $invoice->ID, |
|
432 | + 'item_id' => $details['id'], |
|
433 | + 'item_name' => $details['name'], |
|
434 | + 'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'], |
|
435 | + 'vat_rate' => $details['vat_rate'], |
|
436 | + 'vat_class' => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'], |
|
437 | + 'tax' => $details['tax'], |
|
438 | + 'item_price' => $details['item_price'], |
|
439 | + 'custom_price' => $details['custom_price'], |
|
440 | + 'quantity' => $details['quantity'], |
|
441 | + 'discount' => $details['discount'], |
|
442 | + 'subtotal' => $details['subtotal'], |
|
443 | + 'price' => $details['price'], |
|
444 | + 'meta' => $details['meta'], |
|
445 | + 'fees' => $details['fees'], |
|
446 | + ); |
|
447 | + |
|
448 | + $item_columns = array_keys ( $fields ); |
|
449 | + |
|
450 | + foreach ( $fields as $key => $val ) { |
|
451 | + if ( is_null( $val ) ) { |
|
452 | + $val = ''; |
|
453 | + } |
|
454 | + $val = maybe_serialize( $val ); |
|
455 | + $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
456 | + } |
|
457 | + |
|
458 | + $fields = implode( ', ', $fields ); |
|
459 | + $item_rows[] = "($fields)"; |
|
460 | + } |
|
461 | + |
|
462 | + $item_rows = implode( ', ', $item_rows ); |
|
463 | + $item_columns = implode( ', ', $item_columns ); |
|
464 | + $wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" ); |
|
465 | + } |
|
466 | + |
|
467 | + if ( empty( $invoice_rows ) ) { |
|
468 | + return; |
|
469 | + } |
|
470 | + |
|
471 | + $invoice_rows = implode( ', ', $invoice_rows ); |
|
472 | + $wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" ); |
|
473 | + |
|
474 | + } |
|
475 | + |
|
476 | + /** |
|
477 | + * Migrates old invoices to new invoices. |
|
478 | + * |
|
479 | + */ |
|
480 | + public static function rename_gateways_label() { |
|
481 | + global $wpdb; |
|
482 | + |
|
483 | + foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) { |
|
484 | + |
|
485 | + $wpdb->update( |
|
486 | + $wpdb->prefix . 'getpaid_invoices', |
|
487 | + array( 'gateway' => $gateway ), |
|
488 | + array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ), |
|
489 | + '%s', |
|
490 | + '%s' |
|
491 | + ); |
|
492 | + |
|
493 | + } |
|
494 | + } |
|
495 | 495 | |
496 | 496 | } |
@@ -8,7 +8,7 @@ discard block |
||
8 | 8 | * @since 2.0.2 |
9 | 9 | */ |
10 | 10 | |
11 | -defined( 'ABSPATH' ) || exit; |
|
11 | +defined('ABSPATH') || exit; |
|
12 | 12 | |
13 | 13 | /** |
14 | 14 | * The main installer/updater class. |
@@ -25,10 +25,10 @@ discard block |
||
25 | 25 | * |
26 | 26 | * @param string $upgrade_from The current invoicing version. |
27 | 27 | */ |
28 | - public function upgrade_db( $upgrade_from ) { |
|
28 | + public function upgrade_db($upgrade_from) { |
|
29 | 29 | |
30 | 30 | // Save the current invoicing version. |
31 | - update_option( 'wpinv_version', WPINV_VERSION ); |
|
31 | + update_option('wpinv_version', WPINV_VERSION); |
|
32 | 32 | |
33 | 33 | // Setup the invoice Custom Post Type. |
34 | 34 | GetPaid_Post_Types::register_post_types(); |
@@ -48,7 +48,7 @@ discard block |
||
48 | 48 | // Create any missing database tables. |
49 | 49 | $method = "upgrade_from_$upgrade_from"; |
50 | 50 | |
51 | - if ( method_exists( $this, $method ) ) { |
|
51 | + if (method_exists($this, $method)) { |
|
52 | 52 | $this->$method(); |
53 | 53 | } |
54 | 54 | |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | $this->create_invoice_items_table(); |
65 | 65 | |
66 | 66 | // Save default tax rates. |
67 | - update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
67 | + update_option('wpinv_tax_rates', wpinv_get_data('tax-rates')); |
|
68 | 68 | } |
69 | 69 | |
70 | 70 | /** |
@@ -75,28 +75,28 @@ discard block |
||
75 | 75 | global $wpdb; |
76 | 76 | |
77 | 77 | // Invoices. |
78 | - $results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
79 | - if ( ! empty( $results ) ) { |
|
80 | - $wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
78 | + $results = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )"); |
|
79 | + if (!empty($results)) { |
|
80 | + $wpdb->query("UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )"); |
|
81 | 81 | |
82 | 82 | // Clean post cache |
83 | - foreach ( $results as $row ) { |
|
84 | - clean_post_cache( $row->ID ); |
|
83 | + foreach ($results as $row) { |
|
84 | + clean_post_cache($row->ID); |
|
85 | 85 | } |
86 | 86 | |
87 | 87 | } |
88 | 88 | |
89 | 89 | // Item meta key changes |
90 | 90 | $query = "SELECT DISTINCT post_id FROM " . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )"; |
91 | - $results = $wpdb->get_results( $query ); |
|
91 | + $results = $wpdb->get_results($query); |
|
92 | 92 | |
93 | - if ( ! empty( $results ) ) { |
|
94 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" ); |
|
95 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" ); |
|
96 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" ); |
|
93 | + if (!empty($results)) { |
|
94 | + $wpdb->query("UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )"); |
|
95 | + $wpdb->query("UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'"); |
|
96 | + $wpdb->query("UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'"); |
|
97 | 97 | |
98 | - foreach ( $results as $row ) { |
|
99 | - clean_post_cache( $row->post_id ); |
|
98 | + foreach ($results as $row) { |
|
99 | + clean_post_cache($row->post_id); |
|
100 | 100 | } |
101 | 101 | |
102 | 102 | } |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | */ |
130 | 130 | public function upgrade_from_207() { |
131 | 131 | global $wpdb; |
132 | - $wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoice_items MODIFY COLUMN quantity FLOAT(20);" ); |
|
132 | + $wpdb->query("ALTER TABLE {$wpdb->prefix}getpaid_invoice_items MODIFY COLUMN quantity FLOAT(20);"); |
|
133 | 133 | } |
134 | 134 | |
135 | 135 | /** |
@@ -137,7 +137,7 @@ discard block |
||
137 | 137 | * |
138 | 138 | */ |
139 | 139 | public function add_capabilities() { |
140 | - $GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' ); |
|
140 | + $GLOBALS['wp_roles']->add_cap('administrator', 'manage_invoicing'); |
|
141 | 141 | } |
142 | 142 | |
143 | 143 | /** |
@@ -152,8 +152,8 @@ discard block |
||
152 | 152 | |
153 | 153 | // Checkout page. |
154 | 154 | 'checkout_page' => array( |
155 | - 'name' => _x( 'gp-checkout', 'Page slug', 'invoicing' ), |
|
156 | - 'title' => _x( 'Checkout', 'Page title', 'invoicing' ), |
|
155 | + 'name' => _x('gp-checkout', 'Page slug', 'invoicing'), |
|
156 | + 'title' => _x('Checkout', 'Page title', 'invoicing'), |
|
157 | 157 | 'content' => ' |
158 | 158 | <!-- wp:shortcode --> |
159 | 159 | [wpinv_checkout] |
@@ -164,8 +164,8 @@ discard block |
||
164 | 164 | |
165 | 165 | // Invoice history page. |
166 | 166 | 'invoice_history_page' => array( |
167 | - 'name' => _x( 'gp-invoices', 'Page slug', 'invoicing' ), |
|
168 | - 'title' => _x( 'My Invoices', 'Page title', 'invoicing' ), |
|
167 | + 'name' => _x('gp-invoices', 'Page slug', 'invoicing'), |
|
168 | + 'title' => _x('My Invoices', 'Page title', 'invoicing'), |
|
169 | 169 | 'content' => ' |
170 | 170 | <!-- wp:shortcode --> |
171 | 171 | [wpinv_history] |
@@ -176,8 +176,8 @@ discard block |
||
176 | 176 | |
177 | 177 | // Success page content. |
178 | 178 | 'success_page' => array( |
179 | - 'name' => _x( 'gp-receipt', 'Page slug', 'invoicing' ), |
|
180 | - 'title' => _x( 'Payment Confirmation', 'Page title', 'invoicing' ), |
|
179 | + 'name' => _x('gp-receipt', 'Page slug', 'invoicing'), |
|
180 | + 'title' => _x('Payment Confirmation', 'Page title', 'invoicing'), |
|
181 | 181 | 'content' => ' |
182 | 182 | <!-- wp:shortcode --> |
183 | 183 | [wpinv_receipt] |
@@ -188,16 +188,16 @@ discard block |
||
188 | 188 | |
189 | 189 | // Failure page content. |
190 | 190 | 'failure_page' => array( |
191 | - 'name' => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ), |
|
192 | - 'title' => _x( 'Transaction Failed', 'Page title', 'invoicing' ), |
|
193 | - 'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ), |
|
191 | + 'name' => _x('gp-transaction-failed', 'Page slug', 'invoicing'), |
|
192 | + 'title' => _x('Transaction Failed', 'Page title', 'invoicing'), |
|
193 | + 'content' => __('Your transaction failed, please try again or contact site support.', 'invoicing'), |
|
194 | 194 | 'parent' => 'gp-checkout', |
195 | 195 | ), |
196 | 196 | |
197 | 197 | // Subscriptions history page. |
198 | 198 | 'invoice_subscription_page' => array( |
199 | - 'name' => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ), |
|
200 | - 'title' => _x( 'My Subscriptions', 'Page title', 'invoicing' ), |
|
199 | + 'name' => _x('gp-subscriptions', 'Page slug', 'invoicing'), |
|
200 | + 'title' => _x('My Subscriptions', 'Page title', 'invoicing'), |
|
201 | 201 | 'content' => ' |
202 | 202 | <!-- wp:shortcode --> |
203 | 203 | [wpinv_subscriptions] |
@@ -209,8 +209,8 @@ discard block |
||
209 | 209 | ) |
210 | 210 | ); |
211 | 211 | |
212 | - foreach ( $pages as $key => $page ) { |
|
213 | - wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] ); |
|
212 | + foreach ($pages as $key => $page) { |
|
213 | + wpinv_create_page(esc_sql($page['name']), $key, $page['title'], $page['content'], $page['parent']); |
|
214 | 214 | } |
215 | 215 | |
216 | 216 | } |
@@ -223,7 +223,7 @@ discard block |
||
223 | 223 | |
224 | 224 | global $wpdb; |
225 | 225 | |
226 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
226 | + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); |
|
227 | 227 | |
228 | 228 | // Create tables. |
229 | 229 | $charset_collate = $wpdb->get_charset_collate(); |
@@ -250,7 +250,7 @@ discard block |
||
250 | 250 | KEY customer_and_status (customer_id, status) |
251 | 251 | ) $charset_collate;"; |
252 | 252 | |
253 | - dbDelta( $sql ); |
|
253 | + dbDelta($sql); |
|
254 | 254 | |
255 | 255 | } |
256 | 256 | |
@@ -261,7 +261,7 @@ discard block |
||
261 | 261 | public function create_invoices_table() { |
262 | 262 | global $wpdb; |
263 | 263 | |
264 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
264 | + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); |
|
265 | 265 | |
266 | 266 | // Create tables. |
267 | 267 | $charset_collate = $wpdb->get_charset_collate(); |
@@ -301,7 +301,7 @@ discard block |
||
301 | 301 | KEY `key` (`key`) |
302 | 302 | ) $charset_collate;"; |
303 | 303 | |
304 | - dbDelta( $sql ); |
|
304 | + dbDelta($sql); |
|
305 | 305 | |
306 | 306 | } |
307 | 307 | |
@@ -312,7 +312,7 @@ discard block |
||
312 | 312 | public function create_invoice_items_table() { |
313 | 313 | global $wpdb; |
314 | 314 | |
315 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
315 | + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); |
|
316 | 316 | |
317 | 317 | // Create tables. |
318 | 318 | $charset_collate = $wpdb->get_charset_collate(); |
@@ -338,7 +338,7 @@ discard block |
||
338 | 338 | KEY post_id (post_id) |
339 | 339 | ) $charset_collate;"; |
340 | 340 | |
341 | - dbDelta( $sql ); |
|
341 | + dbDelta($sql); |
|
342 | 342 | |
343 | 343 | } |
344 | 344 | |
@@ -351,40 +351,40 @@ discard block |
||
351 | 351 | |
352 | 352 | $invoices_table = $wpdb->prefix . 'getpaid_invoices'; |
353 | 353 | $invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items'; |
354 | - $migrated = $wpdb->get_col( "SELECT post_id FROM $invoices_table" ); |
|
354 | + $migrated = $wpdb->get_col("SELECT post_id FROM $invoices_table"); |
|
355 | 355 | $invoices = array_unique( |
356 | 356 | get_posts( |
357 | 357 | array( |
358 | - 'post_type' => array( 'wpi_invoice', 'wpi_quote' ), |
|
358 | + 'post_type' => array('wpi_invoice', 'wpi_quote'), |
|
359 | 359 | 'posts_per_page' => -1, |
360 | 360 | 'fields' => 'ids', |
361 | - 'post_status' => array_keys( get_post_stati() ), |
|
361 | + 'post_status' => array_keys(get_post_stati()), |
|
362 | 362 | 'exclude' => (array) $migrated, |
363 | 363 | ) |
364 | 364 | ) |
365 | 365 | ); |
366 | 366 | |
367 | 367 | // Abort if we do not have any invoices. |
368 | - if ( empty( $invoices ) ) { |
|
368 | + if (empty($invoices)) { |
|
369 | 369 | return; |
370 | 370 | } |
371 | 371 | |
372 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php' ); |
|
372 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php'); |
|
373 | 373 | |
374 | 374 | $invoice_rows = array(); |
375 | - foreach ( $invoices as $invoice ) { |
|
375 | + foreach ($invoices as $invoice) { |
|
376 | 376 | |
377 | - $invoice = new WPInv_Legacy_Invoice( $invoice ); |
|
377 | + $invoice = new WPInv_Legacy_Invoice($invoice); |
|
378 | 378 | |
379 | - if ( empty( $invoice->ID ) ) { |
|
379 | + if (empty($invoice->ID)) { |
|
380 | 380 | return; |
381 | 381 | } |
382 | 382 | |
383 | - $fields = array ( |
|
383 | + $fields = array( |
|
384 | 384 | 'post_id' => $invoice->ID, |
385 | 385 | 'number' => $invoice->get_number(), |
386 | 386 | 'key' => $invoice->get_key(), |
387 | - 'type' => str_replace( 'wpi_', '', $invoice->post_type ), |
|
387 | + 'type' => str_replace('wpi_', '', $invoice->post_type), |
|
388 | 388 | 'mode' => $invoice->mode, |
389 | 389 | 'user_ip' => $invoice->get_ip(), |
390 | 390 | 'first_name' => $invoice->get_first_name(), |
@@ -413,27 +413,27 @@ discard block |
||
413 | 413 | 'custom_meta' => $invoice->payment_meta |
414 | 414 | ); |
415 | 415 | |
416 | - foreach ( $fields as $key => $val ) { |
|
417 | - if ( is_null( $val ) ) { |
|
416 | + foreach ($fields as $key => $val) { |
|
417 | + if (is_null($val)) { |
|
418 | 418 | $val = ''; |
419 | 419 | } |
420 | - $val = maybe_serialize( $val ); |
|
421 | - $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
420 | + $val = maybe_serialize($val); |
|
421 | + $fields[$key] = $wpdb->prepare('%s', $val); |
|
422 | 422 | } |
423 | 423 | |
424 | - $fields = implode( ', ', $fields ); |
|
424 | + $fields = implode(', ', $fields); |
|
425 | 425 | $invoice_rows[] = "($fields)"; |
426 | 426 | |
427 | 427 | $item_rows = array(); |
428 | 428 | $item_columns = array(); |
429 | - foreach ( $invoice->get_cart_details() as $details ) { |
|
429 | + foreach ($invoice->get_cart_details() as $details) { |
|
430 | 430 | $fields = array( |
431 | 431 | 'post_id' => $invoice->ID, |
432 | 432 | 'item_id' => $details['id'], |
433 | 433 | 'item_name' => $details['name'], |
434 | - 'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'], |
|
434 | + 'item_description' => empty($details['meta']['description']) ? '' : $details['meta']['description'], |
|
435 | 435 | 'vat_rate' => $details['vat_rate'], |
436 | - 'vat_class' => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'], |
|
436 | + 'vat_class' => empty($details['vat_class']) ? '_standard' : $details['vat_class'], |
|
437 | 437 | 'tax' => $details['tax'], |
438 | 438 | 'item_price' => $details['item_price'], |
439 | 439 | 'custom_price' => $details['custom_price'], |
@@ -445,31 +445,31 @@ discard block |
||
445 | 445 | 'fees' => $details['fees'], |
446 | 446 | ); |
447 | 447 | |
448 | - $item_columns = array_keys ( $fields ); |
|
448 | + $item_columns = array_keys($fields); |
|
449 | 449 | |
450 | - foreach ( $fields as $key => $val ) { |
|
451 | - if ( is_null( $val ) ) { |
|
450 | + foreach ($fields as $key => $val) { |
|
451 | + if (is_null($val)) { |
|
452 | 452 | $val = ''; |
453 | 453 | } |
454 | - $val = maybe_serialize( $val ); |
|
455 | - $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
454 | + $val = maybe_serialize($val); |
|
455 | + $fields[$key] = $wpdb->prepare('%s', $val); |
|
456 | 456 | } |
457 | 457 | |
458 | - $fields = implode( ', ', $fields ); |
|
458 | + $fields = implode(', ', $fields); |
|
459 | 459 | $item_rows[] = "($fields)"; |
460 | 460 | } |
461 | 461 | |
462 | - $item_rows = implode( ', ', $item_rows ); |
|
463 | - $item_columns = implode( ', ', $item_columns ); |
|
464 | - $wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" ); |
|
462 | + $item_rows = implode(', ', $item_rows); |
|
463 | + $item_columns = implode(', ', $item_columns); |
|
464 | + $wpdb->query("INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows"); |
|
465 | 465 | } |
466 | 466 | |
467 | - if ( empty( $invoice_rows ) ) { |
|
467 | + if (empty($invoice_rows)) { |
|
468 | 468 | return; |
469 | 469 | } |
470 | 470 | |
471 | - $invoice_rows = implode( ', ', $invoice_rows ); |
|
472 | - $wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" ); |
|
471 | + $invoice_rows = implode(', ', $invoice_rows); |
|
472 | + $wpdb->query("INSERT INTO $invoices_table VALUES $invoice_rows"); |
|
473 | 473 | |
474 | 474 | } |
475 | 475 | |
@@ -480,12 +480,12 @@ discard block |
||
480 | 480 | public static function rename_gateways_label() { |
481 | 481 | global $wpdb; |
482 | 482 | |
483 | - foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) { |
|
483 | + foreach (array_keys(wpinv_get_payment_gateways()) as $gateway) { |
|
484 | 484 | |
485 | 485 | $wpdb->update( |
486 | 486 | $wpdb->prefix . 'getpaid_invoices', |
487 | - array( 'gateway' => $gateway ), |
|
488 | - array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ), |
|
487 | + array('gateway' => $gateway), |
|
488 | + array('gateway' => wpinv_get_gateway_admin_label($gateway)), |
|
489 | 489 | '%s', |
490 | 490 | '%s' |
491 | 491 | ); |
@@ -13,94 +13,94 @@ discard block |
||
13 | 13 | class GetPaid_Paypal_Gateway extends GetPaid_Payment_Gateway { |
14 | 14 | |
15 | 15 | /** |
16 | - * Payment method id. |
|
17 | - * |
|
18 | - * @var string |
|
19 | - */ |
|
16 | + * Payment method id. |
|
17 | + * |
|
18 | + * @var string |
|
19 | + */ |
|
20 | 20 | public $id = 'paypal'; |
21 | 21 | |
22 | 22 | /** |
23 | - * An array of features that this gateway supports. |
|
24 | - * |
|
25 | - * @var array |
|
26 | - */ |
|
23 | + * An array of features that this gateway supports. |
|
24 | + * |
|
25 | + * @var array |
|
26 | + */ |
|
27 | 27 | protected $supports = array( 'subscription', 'sandbox' ); |
28 | 28 | |
29 | 29 | /** |
30 | - * Payment method order. |
|
31 | - * |
|
32 | - * @var int |
|
33 | - */ |
|
30 | + * Payment method order. |
|
31 | + * |
|
32 | + * @var int |
|
33 | + */ |
|
34 | 34 | public $order = 1; |
35 | 35 | |
36 | 36 | /** |
37 | - * Stores line items to send to PayPal. |
|
38 | - * |
|
39 | - * @var array |
|
40 | - */ |
|
37 | + * Stores line items to send to PayPal. |
|
38 | + * |
|
39 | + * @var array |
|
40 | + */ |
|
41 | 41 | protected $line_items = array(); |
42 | 42 | |
43 | 43 | /** |
44 | - * Endpoint for requests from PayPal. |
|
45 | - * |
|
46 | - * @var string |
|
47 | - */ |
|
48 | - protected $notify_url; |
|
49 | - |
|
50 | - /** |
|
51 | - * Endpoint for requests to PayPal. |
|
52 | - * |
|
53 | - * @var string |
|
54 | - */ |
|
44 | + * Endpoint for requests from PayPal. |
|
45 | + * |
|
46 | + * @var string |
|
47 | + */ |
|
48 | + protected $notify_url; |
|
49 | + |
|
50 | + /** |
|
51 | + * Endpoint for requests to PayPal. |
|
52 | + * |
|
53 | + * @var string |
|
54 | + */ |
|
55 | 55 | protected $endpoint; |
56 | 56 | |
57 | 57 | /** |
58 | - * Currencies this gateway is allowed for. |
|
59 | - * |
|
60 | - * @var array |
|
61 | - */ |
|
62 | - public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' ); |
|
58 | + * Currencies this gateway is allowed for. |
|
59 | + * |
|
60 | + * @var array |
|
61 | + */ |
|
62 | + public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' ); |
|
63 | 63 | |
64 | 64 | /** |
65 | - * URL to view a transaction. |
|
66 | - * |
|
67 | - * @var string |
|
68 | - */ |
|
65 | + * URL to view a transaction. |
|
66 | + * |
|
67 | + * @var string |
|
68 | + */ |
|
69 | 69 | public $view_transaction_url = 'https://www.{sandbox}paypal.com/activity/payment/%s'; |
70 | 70 | |
71 | 71 | /** |
72 | - * URL to view a subscription. |
|
73 | - * |
|
74 | - * @var string |
|
75 | - */ |
|
76 | - public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s'; |
|
72 | + * URL to view a subscription. |
|
73 | + * |
|
74 | + * @var string |
|
75 | + */ |
|
76 | + public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s'; |
|
77 | 77 | |
78 | 78 | /** |
79 | - * Class constructor. |
|
80 | - */ |
|
81 | - public function __construct() { |
|
79 | + * Class constructor. |
|
80 | + */ |
|
81 | + public function __construct() { |
|
82 | 82 | |
83 | 83 | $this->title = __( 'PayPal Standard', 'invoicing' ); |
84 | 84 | $this->method_title = __( 'PayPal Standard', 'invoicing' ); |
85 | 85 | $this->checkout_button_text = __( 'Proceed to PayPal', 'invoicing' ); |
86 | 86 | $this->notify_url = wpinv_get_ipn_url( $this->id ); |
87 | 87 | |
88 | - add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 ); |
|
88 | + add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 ); |
|
89 | 89 | add_filter( 'getpaid_paypal_sandbox_notice', array( $this, 'sandbox_notice' ) ); |
90 | 90 | |
91 | 91 | parent::__construct(); |
92 | 92 | } |
93 | 93 | |
94 | 94 | /** |
95 | - * Process Payment. |
|
96 | - * |
|
97 | - * |
|
98 | - * @param WPInv_Invoice $invoice Invoice. |
|
99 | - * @param array $submission_data Posted checkout fields. |
|
100 | - * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
101 | - * @return array |
|
102 | - */ |
|
103 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
95 | + * Process Payment. |
|
96 | + * |
|
97 | + * |
|
98 | + * @param WPInv_Invoice $invoice Invoice. |
|
99 | + * @param array $submission_data Posted checkout fields. |
|
100 | + * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
101 | + * @return array |
|
102 | + */ |
|
103 | + public function process_payment( $invoice, $submission_data, $submission ) { |
|
104 | 104 | |
105 | 105 | // Get redirect url. |
106 | 106 | $paypal_redirect = $this->get_request_url( $invoice ); |
@@ -123,15 +123,15 @@ discard block |
||
123 | 123 | } |
124 | 124 | |
125 | 125 | /** |
126 | - * Get the PayPal request URL for an invoice. |
|
127 | - * |
|
128 | - * @param WPInv_Invoice $invoice Invoice object. |
|
129 | - * @return string |
|
130 | - */ |
|
131 | - public function get_request_url( $invoice ) { |
|
126 | + * Get the PayPal request URL for an invoice. |
|
127 | + * |
|
128 | + * @param WPInv_Invoice $invoice Invoice object. |
|
129 | + * @return string |
|
130 | + */ |
|
131 | + public function get_request_url( $invoice ) { |
|
132 | 132 | |
133 | 133 | // Endpoint for this request |
134 | - $this->endpoint = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?'; |
|
134 | + $this->endpoint = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?'; |
|
135 | 135 | |
136 | 136 | // Retrieve paypal args. |
137 | 137 | $paypal_args = map_deep( $this->get_paypal_args( $invoice ), 'urlencode' ); |
@@ -144,44 +144,44 @@ discard block |
||
144 | 144 | |
145 | 145 | return add_query_arg( $paypal_args, $this->endpoint ); |
146 | 146 | |
147 | - } |
|
147 | + } |
|
148 | 148 | |
149 | 149 | /** |
150 | - * Get PayPal Args for passing to PP. |
|
151 | - * |
|
152 | - * @param WPInv_Invoice $invoice Invoice object. |
|
153 | - * @return array |
|
154 | - */ |
|
155 | - protected function get_paypal_args( $invoice ) { |
|
150 | + * Get PayPal Args for passing to PP. |
|
151 | + * |
|
152 | + * @param WPInv_Invoice $invoice Invoice object. |
|
153 | + * @return array |
|
154 | + */ |
|
155 | + protected function get_paypal_args( $invoice ) { |
|
156 | 156 | |
157 | 157 | // Whether or not to send the line items as one item. |
158 | - $force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', false, $invoice ); |
|
159 | - |
|
160 | - if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) { |
|
161 | - $force_one_line_item = true; |
|
162 | - } |
|
163 | - |
|
164 | - $paypal_args = apply_filters( |
|
165 | - 'getpaid_paypal_args', |
|
166 | - array_merge( |
|
167 | - $this->get_transaction_args( $invoice ), |
|
168 | - $this->get_line_item_args( $invoice, $force_one_line_item ) |
|
169 | - ), |
|
170 | - $invoice |
|
171 | - ); |
|
172 | - |
|
173 | - return $this->fix_request_length( $invoice, $paypal_args ); |
|
158 | + $force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', false, $invoice ); |
|
159 | + |
|
160 | + if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) { |
|
161 | + $force_one_line_item = true; |
|
162 | + } |
|
163 | + |
|
164 | + $paypal_args = apply_filters( |
|
165 | + 'getpaid_paypal_args', |
|
166 | + array_merge( |
|
167 | + $this->get_transaction_args( $invoice ), |
|
168 | + $this->get_line_item_args( $invoice, $force_one_line_item ) |
|
169 | + ), |
|
170 | + $invoice |
|
171 | + ); |
|
172 | + |
|
173 | + return $this->fix_request_length( $invoice, $paypal_args ); |
|
174 | 174 | } |
175 | 175 | |
176 | 176 | /** |
177 | - * Get transaction args for paypal request. |
|
178 | - * |
|
179 | - * @param WPInv_Invoice $invoice Invoice object. |
|
180 | - * @return array |
|
181 | - */ |
|
182 | - protected function get_transaction_args( $invoice ) { |
|
183 | - |
|
184 | - return array( |
|
177 | + * Get transaction args for paypal request. |
|
178 | + * |
|
179 | + * @param WPInv_Invoice $invoice Invoice object. |
|
180 | + * @return array |
|
181 | + */ |
|
182 | + protected function get_transaction_args( $invoice ) { |
|
183 | + |
|
184 | + return array( |
|
185 | 185 | 'cmd' => '_cart', |
186 | 186 | 'business' => wpinv_get_option( 'paypal_email', false ), |
187 | 187 | 'no_shipping' => '1', |
@@ -206,16 +206,16 @@ discard block |
||
206 | 206 | } |
207 | 207 | |
208 | 208 | /** |
209 | - * Get line item args for paypal request. |
|
210 | - * |
|
211 | - * @param WPInv_Invoice $invoice Invoice object. |
|
212 | - * @param bool $force_one_line_item Create only one item for this invoice. |
|
213 | - * @return array |
|
214 | - */ |
|
215 | - protected function get_line_item_args( $invoice, $force_one_line_item = false ) { |
|
209 | + * Get line item args for paypal request. |
|
210 | + * |
|
211 | + * @param WPInv_Invoice $invoice Invoice object. |
|
212 | + * @param bool $force_one_line_item Create only one item for this invoice. |
|
213 | + * @return array |
|
214 | + */ |
|
215 | + protected function get_line_item_args( $invoice, $force_one_line_item = false ) { |
|
216 | 216 | |
217 | 217 | // Maybe send invoice as a single item. |
218 | - if ( $force_one_line_item ) { |
|
218 | + if ( $force_one_line_item ) { |
|
219 | 219 | return $this->get_line_item_args_single_item( $invoice ); |
220 | 220 | } |
221 | 221 | |
@@ -235,129 +235,129 @@ discard block |
||
235 | 235 | $line_item_args['discount_amount_cart'] = wpinv_sanitize_amount( (float) $invoice->get_total_discount(), 2 ); |
236 | 236 | } |
237 | 237 | |
238 | - return array_merge( $line_item_args, $this->get_line_items() ); |
|
238 | + return array_merge( $line_item_args, $this->get_line_items() ); |
|
239 | 239 | |
240 | 240 | } |
241 | 241 | |
242 | 242 | /** |
243 | - * Get line item args for paypal request as a single line item. |
|
244 | - * |
|
245 | - * @param WPInv_Invoice $invoice Invoice object. |
|
246 | - * @return array |
|
247 | - */ |
|
248 | - protected function get_line_item_args_single_item( $invoice ) { |
|
249 | - $this->delete_line_items(); |
|
243 | + * Get line item args for paypal request as a single line item. |
|
244 | + * |
|
245 | + * @param WPInv_Invoice $invoice Invoice object. |
|
246 | + * @return array |
|
247 | + */ |
|
248 | + protected function get_line_item_args_single_item( $invoice ) { |
|
249 | + $this->delete_line_items(); |
|
250 | 250 | |
251 | 251 | $item_name = sprintf( __( 'Invoice #%s', 'invoicing' ), $invoice->get_number() ); |
252 | - $this->add_line_item( $item_name, 1, wpinv_sanitize_amount( (float) $invoice->get_total(), 2 ), $invoice->get_id() ); |
|
252 | + $this->add_line_item( $item_name, 1, wpinv_sanitize_amount( (float) $invoice->get_total(), 2 ), $invoice->get_id() ); |
|
253 | 253 | |
254 | - return $this->get_line_items(); |
|
254 | + return $this->get_line_items(); |
|
255 | 255 | } |
256 | 256 | |
257 | 257 | /** |
258 | - * Return all line items. |
|
259 | - */ |
|
260 | - protected function get_line_items() { |
|
261 | - return $this->line_items; |
|
262 | - } |
|
258 | + * Return all line items. |
|
259 | + */ |
|
260 | + protected function get_line_items() { |
|
261 | + return $this->line_items; |
|
262 | + } |
|
263 | 263 | |
264 | 264 | /** |
265 | - * Remove all line items. |
|
266 | - */ |
|
267 | - protected function delete_line_items() { |
|
268 | - $this->line_items = array(); |
|
265 | + * Remove all line items. |
|
266 | + */ |
|
267 | + protected function delete_line_items() { |
|
268 | + $this->line_items = array(); |
|
269 | 269 | } |
270 | 270 | |
271 | 271 | /** |
272 | - * Prepare line items to send to paypal. |
|
273 | - * |
|
274 | - * @param WPInv_Invoice $invoice Invoice object. |
|
275 | - */ |
|
276 | - protected function prepare_line_items( $invoice ) { |
|
277 | - $this->delete_line_items(); |
|
278 | - |
|
279 | - // Items. |
|
280 | - foreach ( $invoice->get_items() as $item ) { |
|
281 | - $amount = $item->get_price(); |
|
282 | - $quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity(); |
|
283 | - $this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() ); |
|
272 | + * Prepare line items to send to paypal. |
|
273 | + * |
|
274 | + * @param WPInv_Invoice $invoice Invoice object. |
|
275 | + */ |
|
276 | + protected function prepare_line_items( $invoice ) { |
|
277 | + $this->delete_line_items(); |
|
278 | + |
|
279 | + // Items. |
|
280 | + foreach ( $invoice->get_items() as $item ) { |
|
281 | + $amount = $item->get_price(); |
|
282 | + $quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity(); |
|
283 | + $this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() ); |
|
284 | 284 | } |
285 | 285 | |
286 | 286 | // Fees. |
287 | - foreach ( $invoice->get_fees() as $fee => $data ) { |
|
287 | + foreach ( $invoice->get_fees() as $fee => $data ) { |
|
288 | 288 | $this->add_line_item( $fee, 1, wpinv_sanitize_amount( $data['initial_fee'] ) ); |
289 | 289 | } |
290 | 290 | |
291 | 291 | } |
292 | 292 | |
293 | 293 | /** |
294 | - * Add PayPal Line Item. |
|
295 | - * |
|
296 | - * @param string $item_name Item name. |
|
297 | - * @param int $quantity Item quantity. |
|
298 | - * @param float $amount Amount. |
|
299 | - * @param string $item_number Item number. |
|
300 | - */ |
|
301 | - protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) { |
|
302 | - $index = ( count( $this->line_items ) / 4 ) + 1; |
|
303 | - |
|
304 | - $item = apply_filters( |
|
305 | - 'getpaid_paypal_line_item', |
|
306 | - array( |
|
307 | - 'item_name' => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ), |
|
308 | - 'quantity' => (float) $quantity, |
|
309 | - 'amount' => wpinv_sanitize_amount( (float) $amount, 2 ), |
|
310 | - 'item_number' => $item_number, |
|
311 | - ), |
|
312 | - $item_name, |
|
313 | - $quantity, |
|
314 | - $amount, |
|
315 | - $item_number |
|
316 | - ); |
|
317 | - |
|
318 | - $this->line_items[ 'item_name_' . $index ] = getpaid_limit_length( $item['item_name'], 127 ); |
|
294 | + * Add PayPal Line Item. |
|
295 | + * |
|
296 | + * @param string $item_name Item name. |
|
297 | + * @param int $quantity Item quantity. |
|
298 | + * @param float $amount Amount. |
|
299 | + * @param string $item_number Item number. |
|
300 | + */ |
|
301 | + protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) { |
|
302 | + $index = ( count( $this->line_items ) / 4 ) + 1; |
|
303 | + |
|
304 | + $item = apply_filters( |
|
305 | + 'getpaid_paypal_line_item', |
|
306 | + array( |
|
307 | + 'item_name' => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ), |
|
308 | + 'quantity' => (float) $quantity, |
|
309 | + 'amount' => wpinv_sanitize_amount( (float) $amount, 2 ), |
|
310 | + 'item_number' => $item_number, |
|
311 | + ), |
|
312 | + $item_name, |
|
313 | + $quantity, |
|
314 | + $amount, |
|
315 | + $item_number |
|
316 | + ); |
|
317 | + |
|
318 | + $this->line_items[ 'item_name_' . $index ] = getpaid_limit_length( $item['item_name'], 127 ); |
|
319 | 319 | $this->line_items[ 'quantity_' . $index ] = $item['quantity']; |
320 | 320 | |
321 | 321 | // The price or amount of the product, service, or contribution, not including shipping, handling, or tax. |
322 | - $this->line_items[ 'amount_' . $index ] = $item['amount']; |
|
323 | - $this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 ); |
|
322 | + $this->line_items[ 'amount_' . $index ] = $item['amount']; |
|
323 | + $this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 ); |
|
324 | 324 | } |
325 | 325 | |
326 | 326 | /** |
327 | - * If the default request with line items is too long, generate a new one with only one line item. |
|
328 | - * |
|
329 | - * https://support.microsoft.com/en-us/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer. |
|
330 | - * |
|
331 | - * @param WPInv_Invoice $invoice Invoice to be sent to Paypal. |
|
332 | - * @param array $paypal_args Arguments sent to Paypal in the request. |
|
333 | - * @return array |
|
334 | - */ |
|
335 | - protected function fix_request_length( $invoice, $paypal_args ) { |
|
336 | - $max_paypal_length = 2083; |
|
337 | - $query_candidate = http_build_query( $paypal_args, '', '&' ); |
|
338 | - |
|
339 | - if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) { |
|
340 | - return $paypal_args; |
|
341 | - } |
|
342 | - |
|
343 | - return apply_filters( |
|
344 | - 'getpaid_paypal_args', |
|
345 | - array_merge( |
|
346 | - $this->get_transaction_args( $invoice ), |
|
347 | - $this->get_line_item_args( $invoice, true ) |
|
348 | - ), |
|
349 | - $invoice |
|
350 | - ); |
|
327 | + * If the default request with line items is too long, generate a new one with only one line item. |
|
328 | + * |
|
329 | + * https://support.microsoft.com/en-us/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer. |
|
330 | + * |
|
331 | + * @param WPInv_Invoice $invoice Invoice to be sent to Paypal. |
|
332 | + * @param array $paypal_args Arguments sent to Paypal in the request. |
|
333 | + * @return array |
|
334 | + */ |
|
335 | + protected function fix_request_length( $invoice, $paypal_args ) { |
|
336 | + $max_paypal_length = 2083; |
|
337 | + $query_candidate = http_build_query( $paypal_args, '', '&' ); |
|
338 | + |
|
339 | + if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) { |
|
340 | + return $paypal_args; |
|
341 | + } |
|
342 | + |
|
343 | + return apply_filters( |
|
344 | + 'getpaid_paypal_args', |
|
345 | + array_merge( |
|
346 | + $this->get_transaction_args( $invoice ), |
|
347 | + $this->get_line_item_args( $invoice, true ) |
|
348 | + ), |
|
349 | + $invoice |
|
350 | + ); |
|
351 | 351 | |
352 | 352 | } |
353 | 353 | |
354 | 354 | /** |
355 | - * Processes recurring invoices. |
|
356 | - * |
|
357 | - * @param array $paypal_args PayPal args. |
|
358 | - * @param WPInv_Invoice $invoice Invoice object. |
|
359 | - */ |
|
360 | - public function process_subscription( $paypal_args, $invoice ) { |
|
355 | + * Processes recurring invoices. |
|
356 | + * |
|
357 | + * @param array $paypal_args PayPal args. |
|
358 | + * @param WPInv_Invoice $invoice Invoice object. |
|
359 | + */ |
|
360 | + public function process_subscription( $paypal_args, $invoice ) { |
|
361 | 361 | |
362 | 362 | // Make sure this is a subscription. |
363 | 363 | if ( ! $invoice->is_recurring() || ! $subscription = wpinv_get_subscription( $invoice ) ) { |
@@ -382,11 +382,11 @@ discard block |
||
382 | 382 | |
383 | 383 | $paypal_args['a1'] = 0 == $initial_amount ? 0 : $initial_amount; |
384 | 384 | |
385 | - // Trial period length. |
|
386 | - $paypal_args['p1'] = $subscription_item->get_trial_interval(); |
|
385 | + // Trial period length. |
|
386 | + $paypal_args['p1'] = $subscription_item->get_trial_interval(); |
|
387 | 387 | |
388 | - // Trial period. |
|
389 | - $paypal_args['t1'] = $subscription_item->get_trial_period(); |
|
388 | + // Trial period. |
|
389 | + $paypal_args['t1'] = $subscription_item->get_trial_period(); |
|
390 | 390 | |
391 | 391 | } else if ( $initial_amount != $recurring_amount ) { |
392 | 392 | |
@@ -409,40 +409,40 @@ discard block |
||
409 | 409 | } |
410 | 410 | |
411 | 411 | // We have a recurring payment |
412 | - if ( ! isset( $param_number ) || 1 == $param_number ) { |
|
412 | + if ( ! isset( $param_number ) || 1 == $param_number ) { |
|
413 | 413 | |
414 | - // Subscription price |
|
415 | - $paypal_args['a3'] = $recurring_amount; |
|
414 | + // Subscription price |
|
415 | + $paypal_args['a3'] = $recurring_amount; |
|
416 | 416 | |
417 | - // Subscription duration |
|
418 | - $paypal_args['p3'] = $interval; |
|
417 | + // Subscription duration |
|
418 | + $paypal_args['p3'] = $interval; |
|
419 | 419 | |
420 | - // Subscription period |
|
421 | - $paypal_args['t3'] = $period; |
|
420 | + // Subscription period |
|
421 | + $paypal_args['t3'] = $period; |
|
422 | 422 | |
423 | 423 | } |
424 | 424 | |
425 | 425 | // Recurring payments |
426 | - if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) { |
|
426 | + if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) { |
|
427 | 427 | |
428 | - // Non-recurring payments |
|
429 | - $paypal_args['src'] = 0; |
|
428 | + // Non-recurring payments |
|
429 | + $paypal_args['src'] = 0; |
|
430 | 430 | |
431 | - } else { |
|
431 | + } else { |
|
432 | 432 | |
433 | - $paypal_args['src'] = 1; |
|
433 | + $paypal_args['src'] = 1; |
|
434 | 434 | |
435 | - if ( $bill_times > 0 ) { |
|
435 | + if ( $bill_times > 0 ) { |
|
436 | 436 | |
437 | - // An initial period is being used to charge a sign-up fee |
|
438 | - if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) { |
|
439 | - $bill_times--; |
|
440 | - } |
|
437 | + // An initial period is being used to charge a sign-up fee |
|
438 | + if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) { |
|
439 | + $bill_times--; |
|
440 | + } |
|
441 | 441 | |
442 | 442 | // Make sure it's not over the max of 52 |
443 | 443 | $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 ); |
444 | 444 | |
445 | - } |
|
445 | + } |
|
446 | 446 | } |
447 | 447 | |
448 | 448 | // Force return URL so that order description & instructions display |
@@ -458,19 +458,19 @@ discard block |
||
458 | 458 | } |
459 | 459 | |
460 | 460 | return apply_filters( |
461 | - 'getpaid_paypal_subscription_args', |
|
462 | - $paypal_args, |
|
463 | - $invoice |
|
461 | + 'getpaid_paypal_subscription_args', |
|
462 | + $paypal_args, |
|
463 | + $invoice |
|
464 | 464 | ); |
465 | 465 | |
466 | 466 | } |
467 | 467 | |
468 | 468 | /** |
469 | - * Processes ipns and marks payments as complete. |
|
470 | - * |
|
471 | - * @return void |
|
472 | - */ |
|
473 | - public function verify_ipn() { |
|
469 | + * Processes ipns and marks payments as complete. |
|
470 | + * |
|
471 | + * @return void |
|
472 | + */ |
|
473 | + public function verify_ipn() { |
|
474 | 474 | new GetPaid_Paypal_Gateway_IPN_Handler( $this ); |
475 | 475 | } |
476 | 476 | |
@@ -480,10 +480,10 @@ discard block |
||
480 | 480 | public function sandbox_notice() { |
481 | 481 | |
482 | 482 | return sprintf( |
483 | - __( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %sPayPal Sandbox Testing Guide%s for more details.', 'invoicing' ), |
|
484 | - '<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">', |
|
485 | - '</a>' |
|
486 | - ); |
|
483 | + __( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %sPayPal Sandbox Testing Guide%s for more details.', 'invoicing' ), |
|
484 | + '<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">', |
|
485 | + '</a>' |
|
486 | + ); |
|
487 | 487 | |
488 | 488 | } |
489 | 489 |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Paypal Payment Gateway class. |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | * |
25 | 25 | * @var array |
26 | 26 | */ |
27 | - protected $supports = array( 'subscription', 'sandbox' ); |
|
27 | + protected $supports = array('subscription', 'sandbox'); |
|
28 | 28 | |
29 | 29 | /** |
30 | 30 | * Payment method order. |
@@ -59,7 +59,7 @@ discard block |
||
59 | 59 | * |
60 | 60 | * @var array |
61 | 61 | */ |
62 | - public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' ); |
|
62 | + public $currencies = array('AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR'); |
|
63 | 63 | |
64 | 64 | /** |
65 | 65 | * URL to view a transaction. |
@@ -80,13 +80,13 @@ discard block |
||
80 | 80 | */ |
81 | 81 | public function __construct() { |
82 | 82 | |
83 | - $this->title = __( 'PayPal Standard', 'invoicing' ); |
|
84 | - $this->method_title = __( 'PayPal Standard', 'invoicing' ); |
|
85 | - $this->checkout_button_text = __( 'Proceed to PayPal', 'invoicing' ); |
|
86 | - $this->notify_url = wpinv_get_ipn_url( $this->id ); |
|
83 | + $this->title = __('PayPal Standard', 'invoicing'); |
|
84 | + $this->method_title = __('PayPal Standard', 'invoicing'); |
|
85 | + $this->checkout_button_text = __('Proceed to PayPal', 'invoicing'); |
|
86 | + $this->notify_url = wpinv_get_ipn_url($this->id); |
|
87 | 87 | |
88 | - add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 ); |
|
89 | - add_filter( 'getpaid_paypal_sandbox_notice', array( $this, 'sandbox_notice' ) ); |
|
88 | + add_filter('getpaid_paypal_args', array($this, 'process_subscription'), 10, 2); |
|
89 | + add_filter('getpaid_paypal_sandbox_notice', array($this, 'sandbox_notice')); |
|
90 | 90 | |
91 | 91 | parent::__construct(); |
92 | 92 | } |
@@ -100,16 +100,16 @@ discard block |
||
100 | 100 | * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
101 | 101 | * @return array |
102 | 102 | */ |
103 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
103 | + public function process_payment($invoice, $submission_data, $submission) { |
|
104 | 104 | |
105 | 105 | // Get redirect url. |
106 | - $paypal_redirect = $this->get_request_url( $invoice ); |
|
106 | + $paypal_redirect = $this->get_request_url($invoice); |
|
107 | 107 | |
108 | 108 | // Add a note about the request url. |
109 | 109 | $invoice->add_note( |
110 | 110 | sprintf( |
111 | - __( 'Redirecting to PayPal: %s', 'invoicing' ), |
|
112 | - esc_url( $paypal_redirect ) |
|
111 | + __('Redirecting to PayPal: %s', 'invoicing'), |
|
112 | + esc_url($paypal_redirect) |
|
113 | 113 | ), |
114 | 114 | false, |
115 | 115 | false, |
@@ -117,7 +117,7 @@ discard block |
||
117 | 117 | ); |
118 | 118 | |
119 | 119 | // Redirect to PayPal |
120 | - wp_redirect( $paypal_redirect ); |
|
120 | + wp_redirect($paypal_redirect); |
|
121 | 121 | exit; |
122 | 122 | |
123 | 123 | } |
@@ -128,21 +128,21 @@ discard block |
||
128 | 128 | * @param WPInv_Invoice $invoice Invoice object. |
129 | 129 | * @return string |
130 | 130 | */ |
131 | - public function get_request_url( $invoice ) { |
|
131 | + public function get_request_url($invoice) { |
|
132 | 132 | |
133 | 133 | // Endpoint for this request |
134 | - $this->endpoint = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?'; |
|
134 | + $this->endpoint = $this->is_sandbox($invoice) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?'; |
|
135 | 135 | |
136 | 136 | // Retrieve paypal args. |
137 | - $paypal_args = map_deep( $this->get_paypal_args( $invoice ), 'urlencode' ); |
|
137 | + $paypal_args = map_deep($this->get_paypal_args($invoice), 'urlencode'); |
|
138 | 138 | |
139 | - if ( $invoice->is_recurring() ) { |
|
139 | + if ($invoice->is_recurring()) { |
|
140 | 140 | $paypal_args['bn'] = 'GetPaid_Subscribe_WPS_US'; |
141 | 141 | } else { |
142 | 142 | $paypal_args['bn'] = 'GetPaid_ShoppingCart_WPS_US'; |
143 | 143 | } |
144 | 144 | |
145 | - return add_query_arg( $paypal_args, $this->endpoint ); |
|
145 | + return add_query_arg($paypal_args, $this->endpoint); |
|
146 | 146 | |
147 | 147 | } |
148 | 148 | |
@@ -152,25 +152,25 @@ discard block |
||
152 | 152 | * @param WPInv_Invoice $invoice Invoice object. |
153 | 153 | * @return array |
154 | 154 | */ |
155 | - protected function get_paypal_args( $invoice ) { |
|
155 | + protected function get_paypal_args($invoice) { |
|
156 | 156 | |
157 | 157 | // Whether or not to send the line items as one item. |
158 | - $force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', false, $invoice ); |
|
158 | + $force_one_line_item = apply_filters('getpaid_paypal_force_one_line_item', false, $invoice); |
|
159 | 159 | |
160 | - if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) { |
|
160 | + if ($invoice->is_recurring() || (wpinv_use_taxes() && wpinv_prices_include_tax())) { |
|
161 | 161 | $force_one_line_item = true; |
162 | 162 | } |
163 | 163 | |
164 | 164 | $paypal_args = apply_filters( |
165 | 165 | 'getpaid_paypal_args', |
166 | 166 | array_merge( |
167 | - $this->get_transaction_args( $invoice ), |
|
168 | - $this->get_line_item_args( $invoice, $force_one_line_item ) |
|
167 | + $this->get_transaction_args($invoice), |
|
168 | + $this->get_line_item_args($invoice, $force_one_line_item) |
|
169 | 169 | ), |
170 | 170 | $invoice |
171 | 171 | ); |
172 | 172 | |
173 | - return $this->fix_request_length( $invoice, $paypal_args ); |
|
173 | + return $this->fix_request_length($invoice, $paypal_args); |
|
174 | 174 | } |
175 | 175 | |
176 | 176 | /** |
@@ -179,11 +179,11 @@ discard block |
||
179 | 179 | * @param WPInv_Invoice $invoice Invoice object. |
180 | 180 | * @return array |
181 | 181 | */ |
182 | - protected function get_transaction_args( $invoice ) { |
|
182 | + protected function get_transaction_args($invoice) { |
|
183 | 183 | |
184 | 184 | return array( |
185 | 185 | 'cmd' => '_cart', |
186 | - 'business' => wpinv_get_option( 'paypal_email', false ), |
|
186 | + 'business' => wpinv_get_option('paypal_email', false), |
|
187 | 187 | 'no_shipping' => '1', |
188 | 188 | 'shipping' => '0', |
189 | 189 | 'no_note' => '1', |
@@ -191,16 +191,16 @@ discard block |
||
191 | 191 | 'rm' => is_ssl() ? 2 : 1, |
192 | 192 | 'upload' => 1, |
193 | 193 | 'currency_code' => $invoice->get_currency(), // https://developer.paypal.com/docs/nvp-soap-api/currency-codes/#paypal |
194 | - 'return' => esc_url_raw( $this->get_return_url( $invoice ) ), |
|
195 | - 'cancel_return' => esc_url_raw( $invoice->get_checkout_payment_url() ), |
|
196 | - 'notify_url' => getpaid_limit_length( $this->notify_url, 255 ), |
|
197 | - 'invoice' => getpaid_limit_length( $invoice->get_number(), 127 ), |
|
194 | + 'return' => esc_url_raw($this->get_return_url($invoice)), |
|
195 | + 'cancel_return' => esc_url_raw($invoice->get_checkout_payment_url()), |
|
196 | + 'notify_url' => getpaid_limit_length($this->notify_url, 255), |
|
197 | + 'invoice' => getpaid_limit_length($invoice->get_number(), 127), |
|
198 | 198 | 'custom' => $invoice->get_id(), |
199 | - 'first_name' => getpaid_limit_length( $invoice->get_first_name(), 32 ), |
|
200 | - 'last_name' => getpaid_limit_length( $invoice->get_last_name(), 64 ), |
|
201 | - 'country' => getpaid_limit_length( $invoice->get_country(), 2 ), |
|
202 | - 'email' => getpaid_limit_length( $invoice->get_email(), 127 ), |
|
203 | - 'cbt' => get_bloginfo( 'name' ) |
|
199 | + 'first_name' => getpaid_limit_length($invoice->get_first_name(), 32), |
|
200 | + 'last_name' => getpaid_limit_length($invoice->get_last_name(), 64), |
|
201 | + 'country' => getpaid_limit_length($invoice->get_country(), 2), |
|
202 | + 'email' => getpaid_limit_length($invoice->get_email(), 127), |
|
203 | + 'cbt' => get_bloginfo('name') |
|
204 | 204 | ); |
205 | 205 | |
206 | 206 | } |
@@ -212,30 +212,30 @@ discard block |
||
212 | 212 | * @param bool $force_one_line_item Create only one item for this invoice. |
213 | 213 | * @return array |
214 | 214 | */ |
215 | - protected function get_line_item_args( $invoice, $force_one_line_item = false ) { |
|
215 | + protected function get_line_item_args($invoice, $force_one_line_item = false) { |
|
216 | 216 | |
217 | 217 | // Maybe send invoice as a single item. |
218 | - if ( $force_one_line_item ) { |
|
219 | - return $this->get_line_item_args_single_item( $invoice ); |
|
218 | + if ($force_one_line_item) { |
|
219 | + return $this->get_line_item_args_single_item($invoice); |
|
220 | 220 | } |
221 | 221 | |
222 | 222 | // Send each line item individually. |
223 | 223 | $line_item_args = array(); |
224 | 224 | |
225 | 225 | // Prepare line items. |
226 | - $this->prepare_line_items( $invoice ); |
|
226 | + $this->prepare_line_items($invoice); |
|
227 | 227 | |
228 | 228 | // Add taxes to the cart |
229 | - if ( wpinv_use_taxes() && $invoice->is_taxable() ) { |
|
230 | - $line_item_args['tax_cart'] = wpinv_sanitize_amount( (float) $invoice->get_total_tax(), 2 ); |
|
229 | + if (wpinv_use_taxes() && $invoice->is_taxable()) { |
|
230 | + $line_item_args['tax_cart'] = wpinv_sanitize_amount((float) $invoice->get_total_tax(), 2); |
|
231 | 231 | } |
232 | 232 | |
233 | 233 | // Add discount. |
234 | - if ( $invoice->get_total_discount() > 0 ) { |
|
235 | - $line_item_args['discount_amount_cart'] = wpinv_sanitize_amount( (float) $invoice->get_total_discount(), 2 ); |
|
234 | + if ($invoice->get_total_discount() > 0) { |
|
235 | + $line_item_args['discount_amount_cart'] = wpinv_sanitize_amount((float) $invoice->get_total_discount(), 2); |
|
236 | 236 | } |
237 | 237 | |
238 | - return array_merge( $line_item_args, $this->get_line_items() ); |
|
238 | + return array_merge($line_item_args, $this->get_line_items()); |
|
239 | 239 | |
240 | 240 | } |
241 | 241 | |
@@ -245,11 +245,11 @@ discard block |
||
245 | 245 | * @param WPInv_Invoice $invoice Invoice object. |
246 | 246 | * @return array |
247 | 247 | */ |
248 | - protected function get_line_item_args_single_item( $invoice ) { |
|
248 | + protected function get_line_item_args_single_item($invoice) { |
|
249 | 249 | $this->delete_line_items(); |
250 | 250 | |
251 | - $item_name = sprintf( __( 'Invoice #%s', 'invoicing' ), $invoice->get_number() ); |
|
252 | - $this->add_line_item( $item_name, 1, wpinv_sanitize_amount( (float) $invoice->get_total(), 2 ), $invoice->get_id() ); |
|
251 | + $item_name = sprintf(__('Invoice #%s', 'invoicing'), $invoice->get_number()); |
|
252 | + $this->add_line_item($item_name, 1, wpinv_sanitize_amount((float) $invoice->get_total(), 2), $invoice->get_id()); |
|
253 | 253 | |
254 | 254 | return $this->get_line_items(); |
255 | 255 | } |
@@ -273,19 +273,19 @@ discard block |
||
273 | 273 | * |
274 | 274 | * @param WPInv_Invoice $invoice Invoice object. |
275 | 275 | */ |
276 | - protected function prepare_line_items( $invoice ) { |
|
276 | + protected function prepare_line_items($invoice) { |
|
277 | 277 | $this->delete_line_items(); |
278 | 278 | |
279 | 279 | // Items. |
280 | - foreach ( $invoice->get_items() as $item ) { |
|
280 | + foreach ($invoice->get_items() as $item) { |
|
281 | 281 | $amount = $item->get_price(); |
282 | 282 | $quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity(); |
283 | - $this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() ); |
|
283 | + $this->add_line_item($item->get_raw_name(), $quantity, $amount, $item->get_id()); |
|
284 | 284 | } |
285 | 285 | |
286 | 286 | // Fees. |
287 | - foreach ( $invoice->get_fees() as $fee => $data ) { |
|
288 | - $this->add_line_item( $fee, 1, wpinv_sanitize_amount( $data['initial_fee'] ) ); |
|
287 | + foreach ($invoice->get_fees() as $fee => $data) { |
|
288 | + $this->add_line_item($fee, 1, wpinv_sanitize_amount($data['initial_fee'])); |
|
289 | 289 | } |
290 | 290 | |
291 | 291 | } |
@@ -298,15 +298,15 @@ discard block |
||
298 | 298 | * @param float $amount Amount. |
299 | 299 | * @param string $item_number Item number. |
300 | 300 | */ |
301 | - protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) { |
|
302 | - $index = ( count( $this->line_items ) / 4 ) + 1; |
|
301 | + protected function add_line_item($item_name, $quantity = 1, $amount = 0.0, $item_number = '') { |
|
302 | + $index = (count($this->line_items) / 4) + 1; |
|
303 | 303 | |
304 | 304 | $item = apply_filters( |
305 | 305 | 'getpaid_paypal_line_item', |
306 | 306 | array( |
307 | - 'item_name' => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ), |
|
307 | + 'item_name' => html_entity_decode(getpaid_limit_length($item_name ? wp_strip_all_tags($item_name) : __('Item', 'invoicing'), 127), ENT_NOQUOTES, 'UTF-8'), |
|
308 | 308 | 'quantity' => (float) $quantity, |
309 | - 'amount' => wpinv_sanitize_amount( (float) $amount, 2 ), |
|
309 | + 'amount' => wpinv_sanitize_amount((float) $amount, 2), |
|
310 | 310 | 'item_number' => $item_number, |
311 | 311 | ), |
312 | 312 | $item_name, |
@@ -315,12 +315,12 @@ discard block |
||
315 | 315 | $item_number |
316 | 316 | ); |
317 | 317 | |
318 | - $this->line_items[ 'item_name_' . $index ] = getpaid_limit_length( $item['item_name'], 127 ); |
|
319 | - $this->line_items[ 'quantity_' . $index ] = $item['quantity']; |
|
318 | + $this->line_items['item_name_' . $index] = getpaid_limit_length($item['item_name'], 127); |
|
319 | + $this->line_items['quantity_' . $index] = $item['quantity']; |
|
320 | 320 | |
321 | 321 | // The price or amount of the product, service, or contribution, not including shipping, handling, or tax. |
322 | - $this->line_items[ 'amount_' . $index ] = $item['amount']; |
|
323 | - $this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 ); |
|
322 | + $this->line_items['amount_' . $index] = $item['amount']; |
|
323 | + $this->line_items['item_number_' . $index] = getpaid_limit_length($item['item_number'], 127); |
|
324 | 324 | } |
325 | 325 | |
326 | 326 | /** |
@@ -332,19 +332,19 @@ discard block |
||
332 | 332 | * @param array $paypal_args Arguments sent to Paypal in the request. |
333 | 333 | * @return array |
334 | 334 | */ |
335 | - protected function fix_request_length( $invoice, $paypal_args ) { |
|
335 | + protected function fix_request_length($invoice, $paypal_args) { |
|
336 | 336 | $max_paypal_length = 2083; |
337 | - $query_candidate = http_build_query( $paypal_args, '', '&' ); |
|
337 | + $query_candidate = http_build_query($paypal_args, '', '&'); |
|
338 | 338 | |
339 | - if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) { |
|
339 | + if (strlen($this->endpoint . $query_candidate) <= $max_paypal_length) { |
|
340 | 340 | return $paypal_args; |
341 | 341 | } |
342 | 342 | |
343 | 343 | return apply_filters( |
344 | 344 | 'getpaid_paypal_args', |
345 | 345 | array_merge( |
346 | - $this->get_transaction_args( $invoice ), |
|
347 | - $this->get_line_item_args( $invoice, true ) |
|
346 | + $this->get_transaction_args($invoice), |
|
347 | + $this->get_line_item_args($invoice, true) |
|
348 | 348 | ), |
349 | 349 | $invoice |
350 | 350 | ); |
@@ -357,10 +357,10 @@ discard block |
||
357 | 357 | * @param array $paypal_args PayPal args. |
358 | 358 | * @param WPInv_Invoice $invoice Invoice object. |
359 | 359 | */ |
360 | - public function process_subscription( $paypal_args, $invoice ) { |
|
360 | + public function process_subscription($paypal_args, $invoice) { |
|
361 | 361 | |
362 | 362 | // Make sure this is a subscription. |
363 | - if ( ! $invoice->is_recurring() || ! $subscription = wpinv_get_subscription( $invoice ) ) { |
|
363 | + if (!$invoice->is_recurring() || !$subscription = wpinv_get_subscription($invoice)) { |
|
364 | 364 | return $paypal_args; |
365 | 365 | } |
366 | 366 | |
@@ -368,17 +368,17 @@ discard block |
||
368 | 368 | $paypal_args['cmd'] = '_xclick-subscriptions'; |
369 | 369 | |
370 | 370 | // Subscription name. |
371 | - $paypal_args['item_name'] = sprintf( __( 'Invoice #%s', 'invoicing' ), $invoice->get_number() ); |
|
371 | + $paypal_args['item_name'] = sprintf(__('Invoice #%s', 'invoicing'), $invoice->get_number()); |
|
372 | 372 | |
373 | 373 | // Get subscription args. |
374 | - $period = strtoupper( substr( $subscription->get_period(), 0, 1) ); |
|
374 | + $period = strtoupper(substr($subscription->get_period(), 0, 1)); |
|
375 | 375 | $interval = (int) $subscription->get_frequency(); |
376 | 376 | $bill_times = (int) $subscription->get_bill_times(); |
377 | - $initial_amount = (float) wpinv_sanitize_amount( $invoice->get_initial_total(), 2 ); |
|
378 | - $recurring_amount = (float) wpinv_sanitize_amount( $invoice->get_recurring_total(), 2 ); |
|
379 | - $subscription_item = $invoice->get_recurring( true ); |
|
377 | + $initial_amount = (float) wpinv_sanitize_amount($invoice->get_initial_total(), 2); |
|
378 | + $recurring_amount = (float) wpinv_sanitize_amount($invoice->get_recurring_total(), 2); |
|
379 | + $subscription_item = $invoice->get_recurring(true); |
|
380 | 380 | |
381 | - if ( $subscription_item->has_free_trial() ) { |
|
381 | + if ($subscription_item->has_free_trial()) { |
|
382 | 382 | |
383 | 383 | $paypal_args['a1'] = 0 == $initial_amount ? 0 : $initial_amount; |
384 | 384 | |
@@ -388,28 +388,28 @@ discard block |
||
388 | 388 | // Trial period. |
389 | 389 | $paypal_args['t1'] = $subscription_item->get_trial_period(); |
390 | 390 | |
391 | - } else if ( $initial_amount != $recurring_amount ) { |
|
391 | + } else if ($initial_amount != $recurring_amount) { |
|
392 | 392 | |
393 | 393 | // No trial period, but initial amount includes a sign-up fee and/or other items, so charge it as a separate period. |
394 | 394 | |
395 | - if ( 1 == $bill_times ) { |
|
395 | + if (1 == $bill_times) { |
|
396 | 396 | $param_number = 3; |
397 | 397 | } else { |
398 | 398 | $param_number = 1; |
399 | 399 | } |
400 | 400 | |
401 | - $paypal_args[ 'a' . $param_number ] = $initial_amount ? $initial_amount : 0; |
|
401 | + $paypal_args['a' . $param_number] = $initial_amount ? $initial_amount : 0; |
|
402 | 402 | |
403 | 403 | // Sign Up interval |
404 | - $paypal_args[ 'p' . $param_number ] = $interval; |
|
404 | + $paypal_args['p' . $param_number] = $interval; |
|
405 | 405 | |
406 | 406 | // Sign Up unit of duration |
407 | - $paypal_args[ 't' . $param_number ] = $period; |
|
407 | + $paypal_args['t' . $param_number] = $period; |
|
408 | 408 | |
409 | 409 | } |
410 | 410 | |
411 | 411 | // We have a recurring payment |
412 | - if ( ! isset( $param_number ) || 1 == $param_number ) { |
|
412 | + if (!isset($param_number) || 1 == $param_number) { |
|
413 | 413 | |
414 | 414 | // Subscription price |
415 | 415 | $paypal_args['a3'] = $recurring_amount; |
@@ -423,7 +423,7 @@ discard block |
||
423 | 423 | } |
424 | 424 | |
425 | 425 | // Recurring payments |
426 | - if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) { |
|
426 | + if (1 == $bill_times || ($initial_amount != $recurring_amount && !$subscription_item->has_free_trial() && 2 == $bill_times)) { |
|
427 | 427 | |
428 | 428 | // Non-recurring payments |
429 | 429 | $paypal_args['src'] = 0; |
@@ -432,15 +432,15 @@ discard block |
||
432 | 432 | |
433 | 433 | $paypal_args['src'] = 1; |
434 | 434 | |
435 | - if ( $bill_times > 0 ) { |
|
435 | + if ($bill_times > 0) { |
|
436 | 436 | |
437 | 437 | // An initial period is being used to charge a sign-up fee |
438 | - if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) { |
|
438 | + if ($initial_amount != $recurring_amount && !$subscription_item->has_free_trial()) { |
|
439 | 439 | $bill_times--; |
440 | 440 | } |
441 | 441 | |
442 | 442 | // Make sure it's not over the max of 52 |
443 | - $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 ); |
|
443 | + $paypal_args['srt'] = ($bill_times <= 52 ? absint($bill_times) : 52); |
|
444 | 444 | |
445 | 445 | } |
446 | 446 | } |
@@ -449,10 +449,10 @@ discard block |
||
449 | 449 | $paypal_args['rm'] = 2; |
450 | 450 | |
451 | 451 | // Get rid of redudant items. |
452 | - foreach ( array( 'item_name_1', 'quantity_1', 'amount_1', 'item_number_1' ) as $arg ) { |
|
452 | + foreach (array('item_name_1', 'quantity_1', 'amount_1', 'item_number_1') as $arg) { |
|
453 | 453 | |
454 | - if ( isset( $paypal_args[ $arg ] ) ) { |
|
455 | - unset( $paypal_args[ $arg ] ); |
|
454 | + if (isset($paypal_args[$arg])) { |
|
455 | + unset($paypal_args[$arg]); |
|
456 | 456 | } |
457 | 457 | |
458 | 458 | } |
@@ -471,7 +471,7 @@ discard block |
||
471 | 471 | * @return void |
472 | 472 | */ |
473 | 473 | public function verify_ipn() { |
474 | - new GetPaid_Paypal_Gateway_IPN_Handler( $this ); |
|
474 | + new GetPaid_Paypal_Gateway_IPN_Handler($this); |
|
475 | 475 | } |
476 | 476 | |
477 | 477 | /** |
@@ -480,7 +480,7 @@ discard block |
||
480 | 480 | public function sandbox_notice() { |
481 | 481 | |
482 | 482 | return sprintf( |
483 | - __( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %sPayPal Sandbox Testing Guide%s for more details.', 'invoicing' ), |
|
483 | + __('SANDBOX ENABLED. You can use sandbox testing accounts only. See the %sPayPal Sandbox Testing Guide%s for more details.', 'invoicing'), |
|
484 | 484 | '<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">', |
485 | 485 | '</a>' |
486 | 486 | ); |
@@ -1,6 +1,6 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | if ( ! defined( 'ABSPATH' ) ) { |
3 | - exit; |
|
3 | + exit; |
|
4 | 4 | } |
5 | 5 | |
6 | 6 | /** |
@@ -20,29 +20,29 @@ discard block |
||
20 | 20 | public $templates_url; |
21 | 21 | |
22 | 22 | /** |
23 | - * Class constructor. |
|
24 | - * |
|
25 | - * @since 1.0.19 |
|
26 | - */ |
|
27 | - public function __construct() { |
|
23 | + * Class constructor. |
|
24 | + * |
|
25 | + * @since 1.0.19 |
|
26 | + */ |
|
27 | + public function __construct() { |
|
28 | 28 | |
29 | 29 | $this->templates_dir = apply_filters( 'getpaid_default_templates_dir', WPINV_PLUGIN_DIR . 'templates' ); |
30 | 30 | $this->templates_url = apply_filters( 'getpaid_default_templates_url', WPINV_PLUGIN_URL . 'templates' ); |
31 | 31 | |
32 | 32 | // Oxygen plugin |
33 | - if ( defined( 'CT_VERSION' ) ) { |
|
34 | - add_filter( 'wpinv_locate_template', array( $this, 'oxygen_override_template' ), 11, 4 ); |
|
35 | - } |
|
33 | + if ( defined( 'CT_VERSION' ) ) { |
|
34 | + add_filter( 'wpinv_locate_template', array( $this, 'oxygen_override_template' ), 11, 4 ); |
|
35 | + } |
|
36 | 36 | |
37 | 37 | } |
38 | 38 | |
39 | 39 | /** |
40 | - * Checks if this is a preview page |
|
41 | - * |
|
42 | - * @since 1.0.19 |
|
43 | - * @return bool |
|
44 | - */ |
|
45 | - public function is_preview() { |
|
40 | + * Checks if this is a preview page |
|
41 | + * |
|
42 | + * @since 1.0.19 |
|
43 | + * @return bool |
|
44 | + */ |
|
45 | + public function is_preview() { |
|
46 | 46 | return |
47 | 47 | $this->is_divi_preview() || |
48 | 48 | $this->is_elementor_preview() || |
@@ -54,73 +54,73 @@ discard block |
||
54 | 54 | } |
55 | 55 | |
56 | 56 | /** |
57 | - * Checks if this is an elementor preview page |
|
58 | - * |
|
59 | - * @since 1.0.19 |
|
60 | - * @return bool |
|
61 | - */ |
|
62 | - public function is_elementor_preview() { |
|
63 | - return isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ); |
|
64 | - } |
|
65 | - |
|
66 | - /** |
|
67 | - * Checks if this is a DIVI preview page |
|
68 | - * |
|
69 | - * @since 1.0.19 |
|
70 | - * @return bool |
|
71 | - */ |
|
72 | - public function is_divi_preview() { |
|
73 | - return isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'et_pb' ); |
|
74 | - } |
|
75 | - |
|
76 | - /** |
|
77 | - * Checks if this is a beaver builder preview page |
|
78 | - * |
|
79 | - * @since 1.0.19 |
|
80 | - * @return bool |
|
81 | - */ |
|
82 | - public function is_beaver_preview() { |
|
83 | - return isset( $_REQUEST['fl_builder'] ); |
|
84 | - } |
|
85 | - |
|
86 | - /** |
|
87 | - * Checks if this is a siteorigin builder preview page |
|
88 | - * |
|
89 | - * @since 1.0.19 |
|
90 | - * @return bool |
|
91 | - */ |
|
92 | - public function is_siteorigin_preview() { |
|
93 | - return ! empty( $_REQUEST['siteorigin_panels_live_editor'] ); |
|
94 | - } |
|
95 | - |
|
96 | - /** |
|
97 | - * Checks if this is a cornerstone builder preview page |
|
98 | - * |
|
99 | - * @since 1.0.19 |
|
100 | - * @return bool |
|
101 | - */ |
|
102 | - public function is_cornerstone_preview() { |
|
103 | - return ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint'; |
|
104 | - } |
|
105 | - |
|
106 | - /** |
|
107 | - * Checks if this is a fusion builder preview page |
|
108 | - * |
|
109 | - * @since 1.0.19 |
|
110 | - * @return bool |
|
111 | - */ |
|
112 | - public function is_fusion_preview() { |
|
113 | - return ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ); |
|
114 | - } |
|
115 | - |
|
116 | - /** |
|
117 | - * Checks if this is an oxygen builder preview page |
|
118 | - * |
|
119 | - * @since 1.0.19 |
|
120 | - * @return bool |
|
121 | - */ |
|
122 | - public function is_oxygen_preview() { |
|
123 | - return ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ); |
|
57 | + * Checks if this is an elementor preview page |
|
58 | + * |
|
59 | + * @since 1.0.19 |
|
60 | + * @return bool |
|
61 | + */ |
|
62 | + public function is_elementor_preview() { |
|
63 | + return isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ); |
|
64 | + } |
|
65 | + |
|
66 | + /** |
|
67 | + * Checks if this is a DIVI preview page |
|
68 | + * |
|
69 | + * @since 1.0.19 |
|
70 | + * @return bool |
|
71 | + */ |
|
72 | + public function is_divi_preview() { |
|
73 | + return isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'et_pb' ); |
|
74 | + } |
|
75 | + |
|
76 | + /** |
|
77 | + * Checks if this is a beaver builder preview page |
|
78 | + * |
|
79 | + * @since 1.0.19 |
|
80 | + * @return bool |
|
81 | + */ |
|
82 | + public function is_beaver_preview() { |
|
83 | + return isset( $_REQUEST['fl_builder'] ); |
|
84 | + } |
|
85 | + |
|
86 | + /** |
|
87 | + * Checks if this is a siteorigin builder preview page |
|
88 | + * |
|
89 | + * @since 1.0.19 |
|
90 | + * @return bool |
|
91 | + */ |
|
92 | + public function is_siteorigin_preview() { |
|
93 | + return ! empty( $_REQUEST['siteorigin_panels_live_editor'] ); |
|
94 | + } |
|
95 | + |
|
96 | + /** |
|
97 | + * Checks if this is a cornerstone builder preview page |
|
98 | + * |
|
99 | + * @since 1.0.19 |
|
100 | + * @return bool |
|
101 | + */ |
|
102 | + public function is_cornerstone_preview() { |
|
103 | + return ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint'; |
|
104 | + } |
|
105 | + |
|
106 | + /** |
|
107 | + * Checks if this is a fusion builder preview page |
|
108 | + * |
|
109 | + * @since 1.0.19 |
|
110 | + * @return bool |
|
111 | + */ |
|
112 | + public function is_fusion_preview() { |
|
113 | + return ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ); |
|
114 | + } |
|
115 | + |
|
116 | + /** |
|
117 | + * Checks if this is an oxygen builder preview page |
|
118 | + * |
|
119 | + * @since 1.0.19 |
|
120 | + * @return bool |
|
121 | + */ |
|
122 | + public function is_oxygen_preview() { |
|
123 | + return ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ); |
|
124 | 124 | } |
125 | 125 | |
126 | 126 | /** |
@@ -130,7 +130,7 @@ discard block |
||
130 | 130 | * @param string $template_path The template path relative to the theme's root dir. Defaults to 'invoicing'. |
131 | 131 | * @param string $default_path The root path to the default template. Defaults to invoicing/templates |
132 | 132 | */ |
133 | - public function locate_template( $template_name, $template_path = '', $default_path = '' ) { |
|
133 | + public function locate_template( $template_name, $template_path = '', $default_path = '' ) { |
|
134 | 134 | |
135 | 135 | // Load the defaults for the template path and default path. |
136 | 136 | $template_path = empty( $template_path ) ? 'invoicing' : $template_path; |
@@ -151,22 +151,22 @@ discard block |
||
151 | 151 | } |
152 | 152 | |
153 | 153 | /** |
154 | - * Loads a template |
|
155 | - * |
|
156 | - * @since 1.0.19 |
|
157 | - * @return bool |
|
158 | - */ |
|
159 | - protected function load_template( $template_name, $template_path, $args ) { |
|
154 | + * Loads a template |
|
155 | + * |
|
156 | + * @since 1.0.19 |
|
157 | + * @return bool |
|
158 | + */ |
|
159 | + protected function load_template( $template_name, $template_path, $args ) { |
|
160 | 160 | |
161 | 161 | if ( is_array( $args ) ){ |
162 | 162 | extract( $args ); |
163 | 163 | } |
164 | 164 | |
165 | 165 | // Fires before loading a template. |
166 | - do_action( 'wpinv_before_template_part', $template_name, $template_path, $args ); |
|
166 | + do_action( 'wpinv_before_template_part', $template_name, $template_path, $args ); |
|
167 | 167 | |
168 | 168 | // Load the template. |
169 | - include( $template_path ); |
|
169 | + include( $template_path ); |
|
170 | 170 | |
171 | 171 | // Fires after loading a template. |
172 | 172 | do_action( 'wpinv_after_template_part', $template_name, $template_path, $args ); |
@@ -183,7 +183,7 @@ discard block |
||
183 | 183 | * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'. |
184 | 184 | * @param string $default_path The root path to the default template. Defaults to invoicing/templates |
185 | 185 | */ |
186 | - public function display_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
|
186 | + public function display_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
|
187 | 187 | |
188 | 188 | // Locate the template. |
189 | 189 | $located = $this->locate_template( $template_name, $template_path, $default_path ); |
@@ -208,74 +208,74 @@ discard block |
||
208 | 208 | * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'. |
209 | 209 | * @param string $default_path The root path to the default template. Defaults to invoicing/templates |
210 | 210 | */ |
211 | - public function get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
|
211 | + public function get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
|
212 | 212 | ob_start(); |
213 | 213 | $this->display_template( $template_name, $args, $template_path, $default_path ); |
214 | 214 | return ob_get_clean(); |
215 | 215 | } |
216 | 216 | |
217 | 217 | /** |
218 | - * Get the geodirectory templates theme path. |
|
219 | - * |
|
220 | - * |
|
221 | - * @return string Template path. |
|
222 | - */ |
|
223 | - public static function get_theme_template_path() { |
|
224 | - $template = get_template(); |
|
225 | - $theme_root = get_theme_root( $template ); |
|
226 | - |
|
227 | - return $theme_root . '/' . $template . '/' . untrailingslashit( wpinv_get_theme_template_dir_name() ); |
|
228 | - |
|
229 | - } |
|
230 | - |
|
231 | - /** |
|
232 | - * Oxygen locate theme template. |
|
233 | - * |
|
234 | - * @param string $template The template. |
|
235 | - * @return string The theme template. |
|
236 | - */ |
|
237 | - public static function oxygen_locate_template( $template ) { |
|
238 | - |
|
239 | - if ( empty( $template ) ) { |
|
240 | - return ''; |
|
241 | - } |
|
242 | - |
|
243 | - $has_filter = has_filter( 'template', 'ct_oxygen_template_name' ); |
|
244 | - |
|
245 | - // Remove template filter |
|
246 | - if ( $has_filter ) { |
|
247 | - remove_filter( 'template', 'ct_oxygen_template_name' ); |
|
248 | - } |
|
249 | - |
|
250 | - $template = self::get_theme_template_path() . '/' . $template; |
|
251 | - |
|
252 | - if ( ! file_exists( $template ) ) { |
|
253 | - $template = ''; |
|
254 | - } |
|
255 | - |
|
256 | - // Add template filter |
|
257 | - if ( $has_filter ) { |
|
258 | - add_filter( 'template', 'ct_oxygen_template_name' ); |
|
259 | - } |
|
260 | - |
|
261 | - return $template; |
|
262 | - } |
|
263 | - |
|
264 | - /** |
|
265 | - * Oxygen override theme template. |
|
266 | - * |
|
267 | - * @param string $located Located template. |
|
268 | - * @param string $template_name Template name. |
|
269 | - * @return string Located template. |
|
270 | - */ |
|
271 | - public function oxygen_override_template( $located, $template_name ) { |
|
218 | + * Get the geodirectory templates theme path. |
|
219 | + * |
|
220 | + * |
|
221 | + * @return string Template path. |
|
222 | + */ |
|
223 | + public static function get_theme_template_path() { |
|
224 | + $template = get_template(); |
|
225 | + $theme_root = get_theme_root( $template ); |
|
226 | + |
|
227 | + return $theme_root . '/' . $template . '/' . untrailingslashit( wpinv_get_theme_template_dir_name() ); |
|
228 | + |
|
229 | + } |
|
230 | + |
|
231 | + /** |
|
232 | + * Oxygen locate theme template. |
|
233 | + * |
|
234 | + * @param string $template The template. |
|
235 | + * @return string The theme template. |
|
236 | + */ |
|
237 | + public static function oxygen_locate_template( $template ) { |
|
238 | + |
|
239 | + if ( empty( $template ) ) { |
|
240 | + return ''; |
|
241 | + } |
|
242 | + |
|
243 | + $has_filter = has_filter( 'template', 'ct_oxygen_template_name' ); |
|
244 | + |
|
245 | + // Remove template filter |
|
246 | + if ( $has_filter ) { |
|
247 | + remove_filter( 'template', 'ct_oxygen_template_name' ); |
|
248 | + } |
|
249 | + |
|
250 | + $template = self::get_theme_template_path() . '/' . $template; |
|
251 | + |
|
252 | + if ( ! file_exists( $template ) ) { |
|
253 | + $template = ''; |
|
254 | + } |
|
255 | + |
|
256 | + // Add template filter |
|
257 | + if ( $has_filter ) { |
|
258 | + add_filter( 'template', 'ct_oxygen_template_name' ); |
|
259 | + } |
|
260 | + |
|
261 | + return $template; |
|
262 | + } |
|
263 | + |
|
264 | + /** |
|
265 | + * Oxygen override theme template. |
|
266 | + * |
|
267 | + * @param string $located Located template. |
|
268 | + * @param string $template_name Template name. |
|
269 | + * @return string Located template. |
|
270 | + */ |
|
271 | + public function oxygen_override_template( $located, $template_name ) { |
|
272 | 272 | |
273 | 273 | $oxygen_overide = self::oxygen_locate_template( $template_name ); |
274 | - if ( ! empty( $oxygen_overide ) ) { |
|
275 | - return $oxygen_overide; |
|
276 | - } |
|
274 | + if ( ! empty( $oxygen_overide ) ) { |
|
275 | + return $oxygen_overide; |
|
276 | + } |
|
277 | 277 | |
278 | - return $located; |
|
279 | - } |
|
278 | + return $located; |
|
279 | + } |
|
280 | 280 | |
281 | 281 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if (!defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -26,12 +26,12 @@ discard block |
||
26 | 26 | */ |
27 | 27 | public function __construct() { |
28 | 28 | |
29 | - $this->templates_dir = apply_filters( 'getpaid_default_templates_dir', WPINV_PLUGIN_DIR . 'templates' ); |
|
30 | - $this->templates_url = apply_filters( 'getpaid_default_templates_url', WPINV_PLUGIN_URL . 'templates' ); |
|
29 | + $this->templates_dir = apply_filters('getpaid_default_templates_dir', WPINV_PLUGIN_DIR . 'templates'); |
|
30 | + $this->templates_url = apply_filters('getpaid_default_templates_url', WPINV_PLUGIN_URL . 'templates'); |
|
31 | 31 | |
32 | 32 | // Oxygen plugin |
33 | - if ( defined( 'CT_VERSION' ) ) { |
|
34 | - add_filter( 'wpinv_locate_template', array( $this, 'oxygen_override_template' ), 11, 4 ); |
|
33 | + if (defined('CT_VERSION')) { |
|
34 | + add_filter('wpinv_locate_template', array($this, 'oxygen_override_template'), 11, 4); |
|
35 | 35 | } |
36 | 36 | |
37 | 37 | } |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | * @return bool |
61 | 61 | */ |
62 | 62 | public function is_elementor_preview() { |
63 | - return isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ); |
|
63 | + return isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax'); |
|
64 | 64 | } |
65 | 65 | |
66 | 66 | /** |
@@ -70,7 +70,7 @@ discard block |
||
70 | 70 | * @return bool |
71 | 71 | */ |
72 | 72 | public function is_divi_preview() { |
73 | - return isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'et_pb' ); |
|
73 | + return isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'et_pb'); |
|
74 | 74 | } |
75 | 75 | |
76 | 76 | /** |
@@ -80,7 +80,7 @@ discard block |
||
80 | 80 | * @return bool |
81 | 81 | */ |
82 | 82 | public function is_beaver_preview() { |
83 | - return isset( $_REQUEST['fl_builder'] ); |
|
83 | + return isset($_REQUEST['fl_builder']); |
|
84 | 84 | } |
85 | 85 | |
86 | 86 | /** |
@@ -90,7 +90,7 @@ discard block |
||
90 | 90 | * @return bool |
91 | 91 | */ |
92 | 92 | public function is_siteorigin_preview() { |
93 | - return ! empty( $_REQUEST['siteorigin_panels_live_editor'] ); |
|
93 | + return !empty($_REQUEST['siteorigin_panels_live_editor']); |
|
94 | 94 | } |
95 | 95 | |
96 | 96 | /** |
@@ -100,7 +100,7 @@ discard block |
||
100 | 100 | * @return bool |
101 | 101 | */ |
102 | 102 | public function is_cornerstone_preview() { |
103 | - return ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint'; |
|
103 | + return !empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint'; |
|
104 | 104 | } |
105 | 105 | |
106 | 106 | /** |
@@ -110,7 +110,7 @@ discard block |
||
110 | 110 | * @return bool |
111 | 111 | */ |
112 | 112 | public function is_fusion_preview() { |
113 | - return ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ); |
|
113 | + return !empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce']); |
|
114 | 114 | } |
115 | 115 | |
116 | 116 | /** |
@@ -120,7 +120,7 @@ discard block |
||
120 | 120 | * @return bool |
121 | 121 | */ |
122 | 122 | public function is_oxygen_preview() { |
123 | - return ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ); |
|
123 | + return !empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_")); |
|
124 | 124 | } |
125 | 125 | |
126 | 126 | /** |
@@ -130,24 +130,24 @@ discard block |
||
130 | 130 | * @param string $template_path The template path relative to the theme's root dir. Defaults to 'invoicing'. |
131 | 131 | * @param string $default_path The root path to the default template. Defaults to invoicing/templates |
132 | 132 | */ |
133 | - public function locate_template( $template_name, $template_path = '', $default_path = '' ) { |
|
133 | + public function locate_template($template_name, $template_path = '', $default_path = '') { |
|
134 | 134 | |
135 | 135 | // Load the defaults for the template path and default path. |
136 | - $template_path = empty( $template_path ) ? 'invoicing' : $template_path; |
|
137 | - $default_path = empty( $default_path ) ? $this->templates_dir : $default_path; |
|
138 | - $default_path = apply_filters( 'getpaid_template_default_template_path', $default_path, $template_name ); |
|
136 | + $template_path = empty($template_path) ? 'invoicing' : $template_path; |
|
137 | + $default_path = empty($default_path) ? $this->templates_dir : $default_path; |
|
138 | + $default_path = apply_filters('getpaid_template_default_template_path', $default_path, $template_name); |
|
139 | 139 | |
140 | 140 | // Is it overidden? |
141 | 141 | $template = locate_template( |
142 | - array( trailingslashit( $template_path ) . $template_name, 'wpinv-' . $template_name ) |
|
142 | + array(trailingslashit($template_path) . $template_name, 'wpinv-' . $template_name) |
|
143 | 143 | ); |
144 | 144 | |
145 | 145 | // If not, load the default template. |
146 | - if ( empty( $template ) ) { |
|
147 | - $template = trailingslashit( $default_path ) . $template_name; |
|
146 | + if (empty($template)) { |
|
147 | + $template = trailingslashit($default_path) . $template_name; |
|
148 | 148 | } |
149 | 149 | |
150 | - return apply_filters( 'wpinv_locate_template', $template, $template_name, $template_path, $default_path ); |
|
150 | + return apply_filters('wpinv_locate_template', $template, $template_name, $template_path, $default_path); |
|
151 | 151 | } |
152 | 152 | |
153 | 153 | /** |
@@ -156,20 +156,20 @@ discard block |
||
156 | 156 | * @since 1.0.19 |
157 | 157 | * @return bool |
158 | 158 | */ |
159 | - protected function load_template( $template_name, $template_path, $args ) { |
|
159 | + protected function load_template($template_name, $template_path, $args) { |
|
160 | 160 | |
161 | - if ( is_array( $args ) ){ |
|
162 | - extract( $args ); |
|
161 | + if (is_array($args)) { |
|
162 | + extract($args); |
|
163 | 163 | } |
164 | 164 | |
165 | 165 | // Fires before loading a template. |
166 | - do_action( 'wpinv_before_template_part', $template_name, $template_path, $args ); |
|
166 | + do_action('wpinv_before_template_part', $template_name, $template_path, $args); |
|
167 | 167 | |
168 | 168 | // Load the template. |
169 | - include( $template_path ); |
|
169 | + include($template_path); |
|
170 | 170 | |
171 | 171 | // Fires after loading a template. |
172 | - do_action( 'wpinv_after_template_part', $template_name, $template_path, $args ); |
|
172 | + do_action('wpinv_after_template_part', $template_name, $template_path, $args); |
|
173 | 173 | |
174 | 174 | } |
175 | 175 | |
@@ -183,18 +183,18 @@ discard block |
||
183 | 183 | * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'. |
184 | 184 | * @param string $default_path The root path to the default template. Defaults to invoicing/templates |
185 | 185 | */ |
186 | - public function display_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
|
186 | + public function display_template($template_name, $args = array(), $template_path = '', $default_path = '') { |
|
187 | 187 | |
188 | 188 | // Locate the template. |
189 | - $located = $this->locate_template( $template_name, $template_path, $default_path ); |
|
189 | + $located = $this->locate_template($template_name, $template_path, $default_path); |
|
190 | 190 | |
191 | 191 | // Abort if the file does not exist. |
192 | - if ( ! file_exists( $located ) ) { |
|
193 | - getpaid_doing_it_wrong( __METHOD__, sprintf( '<code>%s</code> does not exist.', $located ), '2.0.0' ); |
|
192 | + if (!file_exists($located)) { |
|
193 | + getpaid_doing_it_wrong(__METHOD__, sprintf('<code>%s</code> does not exist.', $located), '2.0.0'); |
|
194 | 194 | return; |
195 | 195 | } |
196 | 196 | |
197 | - $this->load_template( $template_name, $located, $args ); |
|
197 | + $this->load_template($template_name, $located, $args); |
|
198 | 198 | |
199 | 199 | } |
200 | 200 | |
@@ -208,9 +208,9 @@ discard block |
||
208 | 208 | * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'. |
209 | 209 | * @param string $default_path The root path to the default template. Defaults to invoicing/templates |
210 | 210 | */ |
211 | - public function get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
|
211 | + public function get_template($template_name, $args = array(), $template_path = '', $default_path = '') { |
|
212 | 212 | ob_start(); |
213 | - $this->display_template( $template_name, $args, $template_path, $default_path ); |
|
213 | + $this->display_template($template_name, $args, $template_path, $default_path); |
|
214 | 214 | return ob_get_clean(); |
215 | 215 | } |
216 | 216 | |
@@ -222,9 +222,9 @@ discard block |
||
222 | 222 | */ |
223 | 223 | public static function get_theme_template_path() { |
224 | 224 | $template = get_template(); |
225 | - $theme_root = get_theme_root( $template ); |
|
225 | + $theme_root = get_theme_root($template); |
|
226 | 226 | |
227 | - return $theme_root . '/' . $template . '/' . untrailingslashit( wpinv_get_theme_template_dir_name() ); |
|
227 | + return $theme_root . '/' . $template . '/' . untrailingslashit(wpinv_get_theme_template_dir_name()); |
|
228 | 228 | |
229 | 229 | } |
230 | 230 | |
@@ -234,28 +234,28 @@ discard block |
||
234 | 234 | * @param string $template The template. |
235 | 235 | * @return string The theme template. |
236 | 236 | */ |
237 | - public static function oxygen_locate_template( $template ) { |
|
237 | + public static function oxygen_locate_template($template) { |
|
238 | 238 | |
239 | - if ( empty( $template ) ) { |
|
239 | + if (empty($template)) { |
|
240 | 240 | return ''; |
241 | 241 | } |
242 | 242 | |
243 | - $has_filter = has_filter( 'template', 'ct_oxygen_template_name' ); |
|
243 | + $has_filter = has_filter('template', 'ct_oxygen_template_name'); |
|
244 | 244 | |
245 | 245 | // Remove template filter |
246 | - if ( $has_filter ) { |
|
247 | - remove_filter( 'template', 'ct_oxygen_template_name' ); |
|
246 | + if ($has_filter) { |
|
247 | + remove_filter('template', 'ct_oxygen_template_name'); |
|
248 | 248 | } |
249 | 249 | |
250 | 250 | $template = self::get_theme_template_path() . '/' . $template; |
251 | 251 | |
252 | - if ( ! file_exists( $template ) ) { |
|
252 | + if (!file_exists($template)) { |
|
253 | 253 | $template = ''; |
254 | 254 | } |
255 | 255 | |
256 | 256 | // Add template filter |
257 | - if ( $has_filter ) { |
|
258 | - add_filter( 'template', 'ct_oxygen_template_name' ); |
|
257 | + if ($has_filter) { |
|
258 | + add_filter('template', 'ct_oxygen_template_name'); |
|
259 | 259 | } |
260 | 260 | |
261 | 261 | return $template; |
@@ -268,10 +268,10 @@ discard block |
||
268 | 268 | * @param string $template_name Template name. |
269 | 269 | * @return string Located template. |
270 | 270 | */ |
271 | - public function oxygen_override_template( $located, $template_name ) { |
|
271 | + public function oxygen_override_template($located, $template_name) { |
|
272 | 272 | |
273 | - $oxygen_overide = self::oxygen_locate_template( $template_name ); |
|
274 | - if ( ! empty( $oxygen_overide ) ) { |
|
273 | + $oxygen_overide = self::oxygen_locate_template($template_name); |
|
274 | + if (!empty($oxygen_overide)) { |
|
275 | 275 | return $oxygen_overide; |
276 | 276 | } |
277 | 277 |
@@ -8,205 +8,205 @@ 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 | $invoice_number_padd_options = array(); |
23 | -for ( $i = 0; $i <= 20; $i++ ) { |
|
23 | +for ($i = 0; $i <= 20; $i++) { |
|
24 | 24 | $invoice_number_padd_options[$i] = $i; |
25 | 25 | } |
26 | 26 | |
27 | 27 | $currency_symbol = wpinv_currency_symbol(); |
28 | 28 | |
29 | 29 | $last_number = $reset_number = ''; |
30 | -if ( $last_invoice_number = get_option( 'wpinv_last_invoice_number' ) ) { |
|
31 | - $last_invoice_number = preg_replace( '/[^0-9]/', '', $last_invoice_number ); |
|
30 | +if ($last_invoice_number = get_option('wpinv_last_invoice_number')) { |
|
31 | + $last_invoice_number = preg_replace('/[^0-9]/', '', $last_invoice_number); |
|
32 | 32 | |
33 | - if ( !empty( $last_invoice_number ) ) { |
|
34 | - $last_number = ' ' . wp_sprintf( __( "( Last Invoice's sequential number: <b>%s</b> )", 'invoicing' ), $last_invoice_number ); |
|
33 | + if (!empty($last_invoice_number)) { |
|
34 | + $last_number = ' ' . wp_sprintf(__("( Last Invoice's sequential number: <b>%s</b> )", 'invoicing'), $last_invoice_number); |
|
35 | 35 | } |
36 | 36 | |
37 | 37 | $nonce = wp_create_nonce('reset_invoice_count'); |
38 | - $reset_number = '<a href="'.add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)).'" class="btn button">'.__('Force Reset Sequence', 'invoicing' ). '</a>'; |
|
38 | + $reset_number = '<a href="' . add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)) . '" class="btn button">' . __('Force Reset Sequence', 'invoicing') . '</a>'; |
|
39 | 39 | } |
40 | 40 | |
41 | 41 | $alert_wrapper_start = '<p style="color: #F00">'; |
42 | 42 | $alert_wrapper_close = '</p>'; |
43 | 43 | |
44 | 44 | return array( |
45 | - 'general' => apply_filters( 'wpinv_settings_general', |
|
45 | + 'general' => apply_filters('wpinv_settings_general', |
|
46 | 46 | array( |
47 | 47 | 'main' => array( |
48 | 48 | 'location_settings' => array( |
49 | 49 | 'id' => 'location_settings', |
50 | - 'name' => '<h3>' . __( 'Default Location', 'invoicing' ) . '</h3>', |
|
50 | + 'name' => '<h3>' . __('Default Location', 'invoicing') . '</h3>', |
|
51 | 51 | 'desc' => '', |
52 | 52 | 'type' => 'header', |
53 | 53 | ), |
54 | 54 | 'default_country' => array( |
55 | 55 | 'id' => 'default_country', |
56 | - 'name' => __( 'Default Country', 'invoicing' ), |
|
57 | - 'desc' => __( 'Where does your store operate from?', 'invoicing' ), |
|
56 | + 'name' => __('Default Country', 'invoicing'), |
|
57 | + 'desc' => __('Where does your store operate from?', 'invoicing'), |
|
58 | 58 | 'type' => 'select', |
59 | 59 | 'options' => wpinv_get_country_list(), |
60 | 60 | 'std' => 'GB', |
61 | 61 | 'class' => 'wpi_select2', |
62 | - 'placeholder' => __( 'Select a country', 'invoicing' ), |
|
62 | + 'placeholder' => __('Select a country', 'invoicing'), |
|
63 | 63 | ), |
64 | 64 | 'default_state' => array( |
65 | 65 | 'id' => 'default_state', |
66 | - 'name' => __( 'Default State / Province', 'invoicing' ), |
|
67 | - 'desc' => __( 'What state / province does your store operate from?', 'invoicing' ), |
|
66 | + 'name' => __('Default State / Province', 'invoicing'), |
|
67 | + 'desc' => __('What state / province does your store operate from?', 'invoicing'), |
|
68 | 68 | 'type' => 'country_states', |
69 | 69 | 'class' => 'wpi_select2', |
70 | - 'placeholder' => __( 'Select a state', 'invoicing' ), |
|
70 | + 'placeholder' => __('Select a state', 'invoicing'), |
|
71 | 71 | ), |
72 | 72 | 'store_name' => array( |
73 | 73 | 'id' => 'store_name', |
74 | - 'name' => __( 'Store Name', 'invoicing' ), |
|
75 | - 'desc' => __( 'Store name to print on invoices.', 'invoicing' ), |
|
74 | + 'name' => __('Store Name', 'invoicing'), |
|
75 | + 'desc' => __('Store name to print on invoices.', 'invoicing'), |
|
76 | 76 | 'std' => get_option('blogname'), |
77 | 77 | 'type' => 'text', |
78 | 78 | ), |
79 | 79 | 'logo' => array( |
80 | 80 | 'id' => 'logo', |
81 | - 'name' => __( 'Logo URL', 'invoicing' ), |
|
82 | - 'desc' => __( 'Store logo to print on invoices.', 'invoicing' ), |
|
81 | + 'name' => __('Logo URL', 'invoicing'), |
|
82 | + 'desc' => __('Store logo to print on invoices.', 'invoicing'), |
|
83 | 83 | 'type' => 'text', |
84 | 84 | ), |
85 | 85 | 'logo_width' => array( |
86 | 86 | 'id' => 'logo_width', |
87 | - 'name' => __( 'Logo width', 'invoicing' ), |
|
88 | - 'desc' => __( 'Logo width to use in invoice image.', 'invoicing' ), |
|
87 | + 'name' => __('Logo width', 'invoicing'), |
|
88 | + 'desc' => __('Logo width to use in invoice image.', 'invoicing'), |
|
89 | 89 | 'type' => 'number', |
90 | - 'placeholder' => __( 'Auto', 'invoicing' ), |
|
90 | + 'placeholder' => __('Auto', 'invoicing'), |
|
91 | 91 | ), |
92 | 92 | 'logo_height' => array( |
93 | 93 | 'id' => 'logo_height', |
94 | - 'name' => __( 'Logo height', 'invoicing' ), |
|
95 | - 'desc' => __( 'Logo height to use in invoice image.', 'invoicing' ), |
|
94 | + 'name' => __('Logo height', 'invoicing'), |
|
95 | + 'desc' => __('Logo height to use in invoice image.', 'invoicing'), |
|
96 | 96 | 'type' => 'number', |
97 | - 'placeholder' => __( 'Auto', 'invoicing' ), |
|
97 | + 'placeholder' => __('Auto', 'invoicing'), |
|
98 | 98 | ), |
99 | 99 | 'store_address' => array( |
100 | 100 | 'id' => 'store_address', |
101 | - 'name' => __( 'Store Address', 'invoicing' ), |
|
102 | - 'desc' => __( 'Enter the store address to display on invoice', 'invoicing' ), |
|
101 | + 'name' => __('Store Address', 'invoicing'), |
|
102 | + 'desc' => __('Enter the store address to display on invoice', 'invoicing'), |
|
103 | 103 | 'type' => 'textarea', |
104 | 104 | ), |
105 | 105 | 'page_settings' => array( |
106 | 106 | 'id' => 'page_settings', |
107 | - 'name' => '<h3>' . __( 'Page Settings', 'invoicing' ) . '</h3>', |
|
107 | + 'name' => '<h3>' . __('Page Settings', 'invoicing') . '</h3>', |
|
108 | 108 | 'desc' => '', |
109 | 109 | 'type' => 'header', |
110 | 110 | ), |
111 | 111 | 'checkout_page' => array( |
112 | 112 | 'id' => 'checkout_page', |
113 | - 'name' => __( 'Checkout Page', 'invoicing' ), |
|
114 | - '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' ), |
|
113 | + 'name' => __('Checkout Page', 'invoicing'), |
|
114 | + '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'), |
|
115 | 115 | 'type' => 'select', |
116 | 116 | 'options' => $pages, |
117 | 117 | 'class' => 'wpi_select2', |
118 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
118 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
119 | 119 | 'help-tip' => true, |
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 | 'help-tip' => true, |
130 | 130 | ), |
131 | 131 | 'failure_page' => array( |
132 | 132 | 'id' => 'failure_page', |
133 | - 'name' => __( 'Failed Transaction Page', 'invoicing' ), |
|
134 | - 'desc' => __( 'This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing' ), |
|
133 | + 'name' => __('Failed Transaction Page', 'invoicing'), |
|
134 | + 'desc' => __('This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing'), |
|
135 | 135 | 'type' => 'select', |
136 | 136 | 'options' => $pages, |
137 | 137 | 'class' => 'wpi_select2', |
138 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
138 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
139 | 139 | 'help-tip' => true, |
140 | 140 | ), |
141 | 141 | 'invoice_history_page' => array( |
142 | 142 | 'id' => 'invoice_history_page', |
143 | - 'name' => __( 'Invoice History Page', 'invoicing' ), |
|
144 | - '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 | + 'name' => __('Invoice History Page', 'invoicing'), |
|
144 | + 'desc' => __('This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing'), |
|
145 | 145 | 'type' => 'select', |
146 | 146 | 'options' => $pages, |
147 | 147 | 'class' => 'wpi_select2', |
148 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
148 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
149 | 149 | 'help-tip' => true, |
150 | 150 | ), |
151 | 151 | 'invoice_subscription_page' => array( |
152 | 152 | 'id' => 'invoice_subscription_page', |
153 | - 'name' => __( 'Invoice Subscriptions Page', 'invoicing' ), |
|
154 | - 'desc' => __( 'This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing' ), |
|
153 | + 'name' => __('Invoice Subscriptions Page', 'invoicing'), |
|
154 | + 'desc' => __('This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing'), |
|
155 | 155 | 'type' => 'select', |
156 | 156 | 'options' => $pages, |
157 | 157 | 'class' => 'wpi_select2', |
158 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
158 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
159 | 159 | 'help-tip' => true, |
160 | 160 | ), |
161 | 161 | ), |
162 | 162 | 'currency_section' => array( |
163 | 163 | 'currency_settings' => array( |
164 | 164 | 'id' => 'currency_settings', |
165 | - 'name' => '<h3>' . __( 'Currency Settings', 'invoicing' ) . '</h3>', |
|
165 | + 'name' => '<h3>' . __('Currency Settings', 'invoicing') . '</h3>', |
|
166 | 166 | 'desc' => '', |
167 | 167 | 'type' => 'header', |
168 | 168 | ), |
169 | 169 | 'currency' => array( |
170 | 170 | 'id' => 'currency', |
171 | - 'name' => __( 'Currency', 'invoicing' ), |
|
172 | - 'desc' => __( 'Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing' ), |
|
171 | + 'name' => __('Currency', 'invoicing'), |
|
172 | + 'desc' => __('Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing'), |
|
173 | 173 | 'type' => 'select', |
174 | 174 | 'class' => 'wpi_select2', |
175 | 175 | 'options' => $currency_code_options, |
176 | 176 | ), |
177 | 177 | 'currency_position' => array( |
178 | 178 | 'id' => 'currency_position', |
179 | - 'name' => __( 'Currency Position', 'invoicing' ), |
|
180 | - 'desc' => __( 'Choose the location of the currency sign.', 'invoicing' ), |
|
179 | + 'name' => __('Currency Position', 'invoicing'), |
|
180 | + 'desc' => __('Choose the location of the currency sign.', 'invoicing'), |
|
181 | 181 | 'type' => 'select', |
182 | 182 | 'class' => 'wpi_select2', |
183 | 183 | 'options' => array( |
184 | - 'left' => __( 'Left', 'invoicing' ) . ' (' . $currency_symbol . wpinv_format_amount( '99.99' ) . ')', |
|
185 | - 'right' => __( 'Right', 'invoicing' ) . ' ('. wpinv_format_amount( '99.99' ) . $currency_symbol . ')', |
|
186 | - 'left_space' => __( 'Left with space', 'invoicing' ) . ' (' . $currency_symbol . ' ' . wpinv_format_amount( '99.99' ) . ')', |
|
187 | - 'right_space' => __( 'Right with space', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . ' ' . $currency_symbol . ')' |
|
184 | + 'left' => __('Left', 'invoicing') . ' (' . $currency_symbol . wpinv_format_amount('99.99') . ')', |
|
185 | + 'right' => __('Right', 'invoicing') . ' (' . wpinv_format_amount('99.99') . $currency_symbol . ')', |
|
186 | + 'left_space' => __('Left with space', 'invoicing') . ' (' . $currency_symbol . ' ' . wpinv_format_amount('99.99') . ')', |
|
187 | + 'right_space' => __('Right with space', 'invoicing') . ' (' . wpinv_format_amount('99.99') . ' ' . $currency_symbol . ')' |
|
188 | 188 | ) |
189 | 189 | ), |
190 | 190 | 'thousands_separator' => array( |
191 | 191 | 'id' => 'thousands_separator', |
192 | - 'name' => __( 'Thousands Separator', 'invoicing' ), |
|
193 | - 'desc' => __( 'The symbol (usually , or .) to separate thousands', 'invoicing' ), |
|
192 | + 'name' => __('Thousands Separator', 'invoicing'), |
|
193 | + 'desc' => __('The symbol (usually , or .) to separate thousands', 'invoicing'), |
|
194 | 194 | 'type' => 'text', |
195 | 195 | 'size' => 'small', |
196 | 196 | 'std' => ',', |
197 | 197 | ), |
198 | 198 | 'decimal_separator' => array( |
199 | 199 | 'id' => 'decimal_separator', |
200 | - 'name' => __( 'Decimal Separator', 'invoicing' ), |
|
201 | - 'desc' => __( 'The symbol (usually , or .) to separate decimal points', 'invoicing' ), |
|
200 | + 'name' => __('Decimal Separator', 'invoicing'), |
|
201 | + 'desc' => __('The symbol (usually , or .) to separate decimal points', 'invoicing'), |
|
202 | 202 | 'type' => 'text', |
203 | 203 | 'size' => 'small', |
204 | 204 | 'std' => '.', |
205 | 205 | ), |
206 | 206 | 'decimals' => array( |
207 | 207 | 'id' => 'decimals', |
208 | - 'name' => __( 'Number of Decimals', 'invoicing' ), |
|
209 | - 'desc' => __( 'This sets the number of decimal points shown in displayed prices.', 'invoicing' ), |
|
208 | + 'name' => __('Number of Decimals', 'invoicing'), |
|
209 | + 'desc' => __('This sets the number of decimal points shown in displayed prices.', 'invoicing'), |
|
210 | 210 | 'type' => 'number', |
211 | 211 | 'size' => 'small', |
212 | 212 | 'std' => '2', |
@@ -218,21 +218,21 @@ discard block |
||
218 | 218 | 'labels' => array( |
219 | 219 | 'labels' => array( |
220 | 220 | 'id' => 'labels_settings', |
221 | - 'name' => '<h3>' . __( 'Invoice Labels', 'invoicing' ) . '</h3>', |
|
221 | + 'name' => '<h3>' . __('Invoice Labels', 'invoicing') . '</h3>', |
|
222 | 222 | 'desc' => '', |
223 | 223 | 'type' => 'header', |
224 | 224 | ), |
225 | 225 | 'vat_invoice_notice_label' => array( |
226 | 226 | 'id' => 'vat_invoice_notice_label', |
227 | - 'name' => __( 'Invoice Notice Label', 'invoicing' ), |
|
228 | - 'desc' => __( 'Use this to add an invoice notice section (label) to your invoices', 'invoicing' ), |
|
227 | + 'name' => __('Invoice Notice Label', 'invoicing'), |
|
228 | + 'desc' => __('Use this to add an invoice notice section (label) to your invoices', 'invoicing'), |
|
229 | 229 | 'type' => 'text', |
230 | 230 | 'size' => 'regular', |
231 | 231 | ), |
232 | 232 | 'vat_invoice_notice' => array( |
233 | 233 | 'id' => 'vat_invoice_notice', |
234 | - 'name' => __( 'Invoice notice', 'invoicing' ), |
|
235 | - 'desc' => __( 'Use this to add an invoice notice section (description) to your invoices', 'invoicing' ), |
|
234 | + 'name' => __('Invoice notice', 'invoicing'), |
|
235 | + 'desc' => __('Use this to add an invoice notice section (description) to your invoices', 'invoicing'), |
|
236 | 236 | 'type' => 'text', |
237 | 237 | 'size' => 'regular', |
238 | 238 | ), |
@@ -244,22 +244,22 @@ discard block |
||
244 | 244 | 'main' => array( |
245 | 245 | 'gateway_settings' => array( |
246 | 246 | 'id' => 'api_header', |
247 | - 'name' => '<h3>' . __( 'Gateway Settings', 'invoicing' ) . '</h3>', |
|
247 | + 'name' => '<h3>' . __('Gateway Settings', 'invoicing') . '</h3>', |
|
248 | 248 | 'desc' => '', |
249 | 249 | 'type' => 'header', |
250 | 250 | ), |
251 | 251 | 'gateways' => array( |
252 | 252 | 'id' => 'gateways', |
253 | - 'name' => __( 'Payment Gateways', 'invoicing' ), |
|
254 | - 'desc' => __( 'Choose the payment gateways you want to enable.', 'invoicing' ), |
|
253 | + 'name' => __('Payment Gateways', 'invoicing'), |
|
254 | + 'desc' => __('Choose the payment gateways you want to enable.', 'invoicing'), |
|
255 | 255 | 'type' => 'gateways', |
256 | - 'std' => array( 'manual'=>1 ), |
|
256 | + 'std' => array('manual'=>1), |
|
257 | 257 | 'options' => wpinv_get_payment_gateways(), |
258 | 258 | ), |
259 | 259 | 'default_gateway' => array( |
260 | 260 | 'id' => 'default_gateway', |
261 | - 'name' => __( 'Default Gateway', 'invoicing' ), |
|
262 | - 'desc' => __( 'This gateway will be loaded automatically with the checkout page.', 'invoicing' ), |
|
261 | + 'name' => __('Default Gateway', 'invoicing'), |
|
262 | + 'desc' => __('This gateway will be loaded automatically with the checkout page.', 'invoicing'), |
|
263 | 263 | 'type' => 'gateway_select', |
264 | 264 | 'std' => 'manual', |
265 | 265 | 'class' => 'wpi_select2', |
@@ -274,32 +274,32 @@ discard block |
||
274 | 274 | 'main' => array( |
275 | 275 | 'tax_settings' => array( |
276 | 276 | 'id' => 'tax_settings', |
277 | - 'name' => '<h3>' . __( 'Tax Settings', 'invoicing' ) . '</h3>', |
|
277 | + 'name' => '<h3>' . __('Tax Settings', 'invoicing') . '</h3>', |
|
278 | 278 | 'type' => 'header', |
279 | 279 | ), |
280 | 280 | |
281 | 281 | 'enable_taxes' => array( |
282 | 282 | 'id' => 'enable_taxes', |
283 | - 'name' => __( 'Enable Taxes', 'invoicing' ), |
|
284 | - 'desc' => __( 'Enable tax rates and calculations.', 'invoicing' ), |
|
283 | + 'name' => __('Enable Taxes', 'invoicing'), |
|
284 | + 'desc' => __('Enable tax rates and calculations.', 'invoicing'), |
|
285 | 285 | 'type' => 'checkbox', |
286 | 286 | 'std' => 0, |
287 | 287 | ), |
288 | 288 | |
289 | 289 | 'tax_subtotal_rounding' => array( |
290 | 290 | 'id' => 'tax_subtotal_rounding', |
291 | - 'name' => __( 'Rounding', 'invoicing' ), |
|
292 | - 'desc' => __( 'Round tax at subtotal level, instead of rounding per tax rate', 'invoicing' ), |
|
291 | + 'name' => __('Rounding', 'invoicing'), |
|
292 | + 'desc' => __('Round tax at subtotal level, instead of rounding per tax rate', 'invoicing'), |
|
293 | 293 | 'type' => 'checkbox', |
294 | 294 | 'std' => 1, |
295 | 295 | ), |
296 | 296 | |
297 | 297 | 'prices_include_tax' => array( |
298 | 298 | 'id' => 'prices_include_tax', |
299 | - 'name' => __( 'Prices entered with tax', 'invoicing' ), |
|
299 | + 'name' => __('Prices entered with tax', 'invoicing'), |
|
300 | 300 | 'options' => array( |
301 | - 'yes' => __( 'Yes, I will enter prices inclusive of tax', 'invoicing' ), |
|
302 | - 'no' => __( 'No, I will enter prices exclusive of tax', 'invoicing' ), |
|
301 | + 'yes' => __('Yes, I will enter prices inclusive of tax', 'invoicing'), |
|
302 | + 'no' => __('No, I will enter prices exclusive of tax', 'invoicing'), |
|
303 | 303 | ), |
304 | 304 | 'type' => 'select', |
305 | 305 | 'std' => 'no', |
@@ -307,10 +307,10 @@ discard block |
||
307 | 307 | |
308 | 308 | 'tax_base' => array( |
309 | 309 | 'id' => 'tax_base', |
310 | - 'name' => __( 'Calculate tax based on', 'invoicing' ), |
|
310 | + 'name' => __('Calculate tax based on', 'invoicing'), |
|
311 | 311 | 'options' => array( |
312 | - 'billing' => __( 'Customer billing address', 'invoicing' ), |
|
313 | - 'base' => __( 'Shop base address', 'invoicing' ), |
|
312 | + 'billing' => __('Customer billing address', 'invoicing'), |
|
313 | + 'base' => __('Shop base address', 'invoicing'), |
|
314 | 314 | ), |
315 | 315 | 'type' => 'select', |
316 | 316 | 'std' => 'billing', |
@@ -318,10 +318,10 @@ discard block |
||
318 | 318 | |
319 | 319 | 'tax_display_totals' => array( |
320 | 320 | 'id' => 'tax_display_totals', |
321 | - 'name' => __( 'Display tax totals', 'invoicing' ), |
|
321 | + 'name' => __('Display tax totals', 'invoicing'), |
|
322 | 322 | 'options' => array( |
323 | - 'single' => __( 'As a single total', 'invoicing' ), |
|
324 | - 'individual' => __( 'As individual tax rates', 'invoicing' ), |
|
323 | + 'single' => __('As a single total', 'invoicing'), |
|
324 | + 'individual' => __('As individual tax rates', 'invoicing'), |
|
325 | 325 | ), |
326 | 326 | 'type' => 'select', |
327 | 327 | 'std' => 'individual', |
@@ -329,8 +329,8 @@ discard block |
||
329 | 329 | |
330 | 330 | 'tax_rate' => array( |
331 | 331 | 'id' => 'tax_rate', |
332 | - 'name' => __( 'Fallback Tax Rate', 'invoicing' ), |
|
333 | - 'desc' => __( 'Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing' ), |
|
332 | + 'name' => __('Fallback Tax Rate', 'invoicing'), |
|
333 | + 'desc' => __('Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing'), |
|
334 | 334 | 'type' => 'number', |
335 | 335 | 'size' => 'small', |
336 | 336 | 'min' => '0', |
@@ -342,8 +342,8 @@ discard block |
||
342 | 342 | 'rates' => array( |
343 | 343 | 'tax_rates' => array( |
344 | 344 | 'id' => 'tax_rates', |
345 | - 'name' => '<h3>' . __( 'Tax Rates', 'invoicing' ) . '</h3>', |
|
346 | - 'desc' => __( 'Enter tax rates for specific regions.', 'invoicing' ), |
|
345 | + 'name' => '<h3>' . __('Tax Rates', 'invoicing') . '</h3>', |
|
346 | + 'desc' => __('Enter tax rates for specific regions.', 'invoicing'), |
|
347 | 347 | 'type' => 'tax_rates', |
348 | 348 | ), |
349 | 349 | ), |
@@ -352,45 +352,45 @@ discard block |
||
352 | 352 | |
353 | 353 | 'vat_company_name' => array( |
354 | 354 | 'id' => 'vat_company_name', |
355 | - 'name' => __( 'Company Name', 'invoicing' ), |
|
356 | - 'desc' => wp_sprintf(__( 'Verify your company name and VAT number on the %sEU VIES System.%s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ), |
|
355 | + 'name' => __('Company Name', 'invoicing'), |
|
356 | + 'desc' => wp_sprintf(__('Verify your company name and VAT number on the %sEU VIES System.%s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'), |
|
357 | 357 | 'type' => 'text', |
358 | 358 | 'size' => 'regular', |
359 | 359 | ), |
360 | 360 | |
361 | 361 | 'vat_number' => array( |
362 | 362 | 'id' => 'vat_number', |
363 | - 'name' => __( 'VAT Number', 'invoicing' ), |
|
364 | - 'desc' => __( 'Enter your VAT number including the country identifier, eg: GB123456789', 'invoicing' ), |
|
363 | + 'name' => __('VAT Number', 'invoicing'), |
|
364 | + 'desc' => __('Enter your VAT number including the country identifier, eg: GB123456789', 'invoicing'), |
|
365 | 365 | 'type' => 'text', |
366 | 366 | 'size' => 'regular', |
367 | 367 | ), |
368 | 368 | |
369 | 369 | 'vat_prevent_b2c_purchase' => array( |
370 | 370 | 'id' => 'vat_prevent_b2c_purchase', |
371 | - 'name' => __( 'Prevent B2C Sales', 'invoicing' ), |
|
372 | - 'desc' => __( 'Require everyone in the EU to provide a VAT number.', 'invoicing' ), |
|
371 | + 'name' => __('Prevent B2C Sales', 'invoicing'), |
|
372 | + 'desc' => __('Require everyone in the EU to provide a VAT number.', 'invoicing'), |
|
373 | 373 | 'type' => 'checkbox' |
374 | 374 | ), |
375 | 375 | |
376 | 376 | 'validate_vat_number' => array( |
377 | 377 | 'id' => 'validate_vat_number', |
378 | - 'name' => __( 'Validate VAT Number', 'invoicing' ), |
|
379 | - 'desc' => __( 'Validate VAT numbers with VIES.', 'invoicing' ), |
|
378 | + 'name' => __('Validate VAT Number', 'invoicing'), |
|
379 | + 'desc' => __('Validate VAT numbers with VIES.', 'invoicing'), |
|
380 | 380 | 'type' => 'checkbox' |
381 | 381 | ), |
382 | 382 | |
383 | 383 | 'vat_same_country_rule' => array( |
384 | 384 | 'id' => 'vat_same_country_rule', |
385 | - 'name' => __( 'Same Country Rule', 'invoicing' ), |
|
386 | - 'desc' => __( 'What should happen if a customer is from the same country as your business?', 'invoicing' ), |
|
385 | + 'name' => __('Same Country Rule', 'invoicing'), |
|
386 | + 'desc' => __('What should happen if a customer is from the same country as your business?', 'invoicing'), |
|
387 | 387 | 'type' => 'select', |
388 | 388 | 'options' => array( |
389 | - 'no' => __( 'Do not charge tax', 'invoicing' ), |
|
390 | - 'always' => __( 'Charge tax unless vat number is validated', 'invoicing' ), |
|
391 | - 'vat_too' => __( 'Charge tax even if vat number is validated', 'invoicing' ) |
|
389 | + 'no' => __('Do not charge tax', 'invoicing'), |
|
390 | + 'always' => __('Charge tax unless vat number is validated', 'invoicing'), |
|
391 | + 'vat_too' => __('Charge tax even if vat number is validated', 'invoicing') |
|
392 | 392 | ), |
393 | - 'placeholder' => __( 'Select an option', 'invoicing' ), |
|
393 | + 'placeholder' => __('Select an option', 'invoicing'), |
|
394 | 394 | 'std' => 'vat_too', |
395 | 395 | ), |
396 | 396 | |
@@ -404,59 +404,59 @@ discard block |
||
404 | 404 | 'main' => array( |
405 | 405 | 'email_settings_header' => array( |
406 | 406 | 'id' => 'email_settings_header', |
407 | - 'name' => '<h3>' . __( 'Email Sender Options', 'invoicing' ) . '</h3>', |
|
407 | + 'name' => '<h3>' . __('Email Sender Options', 'invoicing') . '</h3>', |
|
408 | 408 | 'type' => 'header', |
409 | 409 | ), |
410 | 410 | 'email_from_name' => array( |
411 | 411 | 'id' => 'email_from_name', |
412 | - 'name' => __( 'From Name', 'invoicing' ), |
|
413 | - 'desc' => __( 'Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing' ), |
|
414 | - 'std' => esc_attr( get_bloginfo( 'name', 'display' ) ), |
|
412 | + 'name' => __('From Name', 'invoicing'), |
|
413 | + 'desc' => __('Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing'), |
|
414 | + 'std' => esc_attr(get_bloginfo('name', 'display')), |
|
415 | 415 | 'type' => 'text', |
416 | 416 | ), |
417 | 417 | 'email_from' => array( |
418 | 418 | 'id' => 'email_from', |
419 | - 'name' => __( 'From Email', 'invoicing' ), |
|
420 | - '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), |
|
421 | - 'std' => get_option( 'admin_email' ), |
|
419 | + 'name' => __('From Email', 'invoicing'), |
|
420 | + '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), |
|
421 | + 'std' => get_option('admin_email'), |
|
422 | 422 | 'type' => 'text', |
423 | 423 | ), |
424 | 424 | 'admin_email' => array( |
425 | 425 | 'id' => 'admin_email', |
426 | - 'name' => __( 'Admin Email', 'invoicing' ), |
|
427 | - 'desc' => __( 'Where should we send admin notifications?', 'invoicing' ), |
|
428 | - 'std' => get_option( 'admin_email' ), |
|
426 | + 'name' => __('Admin Email', 'invoicing'), |
|
427 | + 'desc' => __('Where should we send admin notifications?', 'invoicing'), |
|
428 | + 'std' => get_option('admin_email'), |
|
429 | 429 | 'type' => 'text', |
430 | 430 | ), |
431 | 431 | 'overdue_settings_header' => array( |
432 | 432 | 'id' => 'overdue_settings_header', |
433 | - 'name' => '<h3>' . __( 'Due Date Settings', 'invoicing' ) . '</h3>', |
|
433 | + 'name' => '<h3>' . __('Due Date Settings', 'invoicing') . '</h3>', |
|
434 | 434 | 'type' => 'header', |
435 | 435 | ), |
436 | 436 | 'overdue_active' => array( |
437 | 437 | 'id' => 'overdue_active', |
438 | - 'name' => __( 'Enable Due Date', 'invoicing' ), |
|
439 | - 'desc' => __( 'Check this to enable due date option for invoices.', 'invoicing' ), |
|
438 | + 'name' => __('Enable Due Date', 'invoicing'), |
|
439 | + 'desc' => __('Check this to enable due date option for invoices.', 'invoicing'), |
|
440 | 440 | 'type' => 'checkbox', |
441 | 441 | 'std' => false, |
442 | 442 | ), |
443 | 443 | 'email_template_header' => array( |
444 | 444 | 'id' => 'email_template_header', |
445 | - 'name' => '<h3>' . __( 'Email Template', 'invoicing' ) . '</h3>', |
|
445 | + 'name' => '<h3>' . __('Email Template', 'invoicing') . '</h3>', |
|
446 | 446 | 'type' => 'header', |
447 | 447 | ), |
448 | 448 | 'email_header_image' => array( |
449 | 449 | 'id' => 'email_header_image', |
450 | - 'name' => __( 'Header Image', 'invoicing' ), |
|
451 | - 'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing' ), |
|
450 | + 'name' => __('Header Image', 'invoicing'), |
|
451 | + 'desc' => __('URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing'), |
|
452 | 452 | 'std' => '', |
453 | 453 | 'type' => 'text', |
454 | 454 | ), |
455 | 455 | 'email_footer_text' => array( |
456 | 456 | 'id' => 'email_footer_text', |
457 | - 'name' => __( 'Footer Text', 'invoicing' ), |
|
458 | - 'desc' => __( 'The text to appear in the footer of all invoice emails.', 'invoicing' ), |
|
459 | - 'std' => get_bloginfo( 'name', 'display' ) . ' - ' . __( 'Powered by GetPaid', 'invoicing' ), |
|
457 | + 'name' => __('Footer Text', 'invoicing'), |
|
458 | + 'desc' => __('The text to appear in the footer of all invoice emails.', 'invoicing'), |
|
459 | + 'std' => get_bloginfo('name', 'display') . ' - ' . __('Powered by GetPaid', 'invoicing'), |
|
460 | 460 | 'type' => 'textarea', |
461 | 461 | 'class' => 'regular-text', |
462 | 462 | 'rows' => 2, |
@@ -464,29 +464,29 @@ discard block |
||
464 | 464 | ), |
465 | 465 | 'email_base_color' => array( |
466 | 466 | 'id' => 'email_base_color', |
467 | - 'name' => __( 'Base Color', 'invoicing' ), |
|
468 | - 'desc' => __( 'The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing' ), |
|
467 | + 'name' => __('Base Color', 'invoicing'), |
|
468 | + 'desc' => __('The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing'), |
|
469 | 469 | 'std' => '#557da2', |
470 | 470 | 'type' => 'color', |
471 | 471 | ), |
472 | 472 | 'email_background_color' => array( |
473 | 473 | 'id' => 'email_background_color', |
474 | - 'name' => __( 'Background Color', 'invoicing' ), |
|
475 | - 'desc' => __( 'The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing' ), |
|
474 | + 'name' => __('Background Color', 'invoicing'), |
|
475 | + 'desc' => __('The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing'), |
|
476 | 476 | 'std' => '#f5f5f5', |
477 | 477 | 'type' => 'color', |
478 | 478 | ), |
479 | 479 | 'email_body_background_color' => array( |
480 | 480 | 'id' => 'email_body_background_color', |
481 | - 'name' => __( 'Body Background Color', 'invoicing' ), |
|
482 | - 'desc' => __( 'The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing' ), |
|
481 | + 'name' => __('Body Background Color', 'invoicing'), |
|
482 | + 'desc' => __('The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing'), |
|
483 | 483 | 'std' => '#fdfdfd', |
484 | 484 | 'type' => 'color', |
485 | 485 | ), |
486 | 486 | 'email_text_color' => array( |
487 | 487 | 'id' => 'email_text_color', |
488 | - 'name' => __( 'Body Text Color', 'invoicing' ), |
|
489 | - 'desc' => __( 'The main body text color. Default <code>#505050</code>.', 'invoicing' ), |
|
488 | + 'name' => __('Body Text Color', 'invoicing'), |
|
489 | + 'desc' => __('The main body text color. Default <code>#505050</code>.', 'invoicing'), |
|
490 | 490 | 'std' => '#505050', |
491 | 491 | 'type' => 'color', |
492 | 492 | ), |
@@ -501,7 +501,7 @@ discard block |
||
501 | 501 | ), |
502 | 502 | |
503 | 503 | // Integrations. |
504 | - 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'settings', 'id' ), |
|
504 | + 'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'settings', 'id'), |
|
505 | 505 | |
506 | 506 | /** Privacy Settings */ |
507 | 507 | 'privacy' => apply_filters('wpinv_settings_privacy', |
@@ -509,17 +509,17 @@ discard block |
||
509 | 509 | 'main' => array( |
510 | 510 | 'invoicing_privacy_policy_settings' => array( |
511 | 511 | 'id' => 'invoicing_privacy_policy_settings', |
512 | - 'name' => '<h3>' . __( 'Privacy Policy', 'invoicing' ) . '</h3>', |
|
512 | + 'name' => '<h3>' . __('Privacy Policy', 'invoicing') . '</h3>', |
|
513 | 513 | 'type' => 'header', |
514 | 514 | ), |
515 | 515 | 'privacy_page' => array( |
516 | 516 | 'id' => 'privacy_page', |
517 | - 'name' => __( 'Privacy Page', 'invoicing' ), |
|
518 | - 'desc' => __( 'If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing' ), |
|
517 | + 'name' => __('Privacy Page', 'invoicing'), |
|
518 | + 'desc' => __('If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing'), |
|
519 | 519 | 'type' => 'select', |
520 | - 'options' => wpinv_get_pages( true, __( 'Select a page', 'invoicing' )), |
|
520 | + 'options' => wpinv_get_pages(true, __('Select a page', 'invoicing')), |
|
521 | 521 | 'class' => 'wpi_select2', |
522 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
522 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
523 | 523 | ), |
524 | 524 | ), |
525 | 525 | ) |
@@ -530,19 +530,19 @@ discard block |
||
530 | 530 | 'main' => array( |
531 | 531 | 'invoice_number_format_settings' => array( |
532 | 532 | 'id' => 'invoice_number_format_settings', |
533 | - 'name' => '<h3>' . __( 'Invoice Number', 'invoicing' ) . '</h3>', |
|
533 | + 'name' => '<h3>' . __('Invoice Number', 'invoicing') . '</h3>', |
|
534 | 534 | 'type' => 'header', |
535 | 535 | ), |
536 | 536 | 'sequential_invoice_number' => array( |
537 | 537 | 'id' => 'sequential_invoice_number', |
538 | - 'name' => __( 'Sequential Invoice Numbers', 'invoicing' ), |
|
539 | - 'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing' ) . $reset_number, |
|
538 | + 'name' => __('Sequential Invoice Numbers', 'invoicing'), |
|
539 | + 'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing') . $reset_number, |
|
540 | 540 | 'type' => 'checkbox', |
541 | 541 | ), |
542 | 542 | 'invoice_sequence_start' => array( |
543 | 543 | 'id' => 'invoice_sequence_start', |
544 | - 'name' => __( 'Sequential Starting Number', 'invoicing' ), |
|
545 | - 'desc' => __( 'The number at which the invoice number sequence should begin.', 'invoicing' ) . $last_number, |
|
544 | + 'name' => __('Sequential Starting Number', 'invoicing'), |
|
545 | + 'desc' => __('The number at which the invoice number sequence should begin.', 'invoicing') . $last_number, |
|
546 | 546 | 'type' => 'number', |
547 | 547 | 'size' => 'small', |
548 | 548 | 'std' => '1', |
@@ -550,8 +550,8 @@ discard block |
||
550 | 550 | ), |
551 | 551 | 'invoice_number_padd' => array( |
552 | 552 | 'id' => 'invoice_number_padd', |
553 | - 'name' => __( 'Minimum Digits', 'invoicing' ), |
|
554 | - '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' ), |
|
553 | + 'name' => __('Minimum Digits', 'invoicing'), |
|
554 | + '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'), |
|
555 | 555 | 'type' => 'select', |
556 | 556 | 'options' => $invoice_number_padd_options, |
557 | 557 | 'std' => 5, |
@@ -559,8 +559,8 @@ discard block |
||
559 | 559 | ), |
560 | 560 | 'invoice_number_prefix' => array( |
561 | 561 | 'id' => 'invoice_number_prefix', |
562 | - 'name' => __( 'Invoice Number Prefix', 'invoicing' ), |
|
563 | - 'desc' => __( 'Prefix for all invoice numbers. Ex: INV-', 'invoicing' ), |
|
562 | + 'name' => __('Invoice Number Prefix', 'invoicing'), |
|
563 | + 'desc' => __('Prefix for all invoice numbers. Ex: INV-', 'invoicing'), |
|
564 | 564 | 'type' => 'text', |
565 | 565 | 'size' => 'regular', |
566 | 566 | 'std' => 'INV-', |
@@ -568,41 +568,41 @@ discard block |
||
568 | 568 | ), |
569 | 569 | 'invoice_number_postfix' => array( |
570 | 570 | 'id' => 'invoice_number_postfix', |
571 | - 'name' => __( 'Invoice Number Postfix', 'invoicing' ), |
|
572 | - 'desc' => __( 'Postfix for all invoice numbers.', 'invoicing' ), |
|
571 | + 'name' => __('Invoice Number Postfix', 'invoicing'), |
|
572 | + 'desc' => __('Postfix for all invoice numbers.', 'invoicing'), |
|
573 | 573 | 'type' => 'text', |
574 | 574 | 'size' => 'regular', |
575 | 575 | 'std' => '' |
576 | 576 | ), |
577 | 577 | 'checkout_settings' => array( |
578 | 578 | 'id' => 'checkout_settings', |
579 | - 'name' => '<h3>' . __( 'Checkout Settings', 'invoicing' ) . '</h3>', |
|
579 | + 'name' => '<h3>' . __('Checkout Settings', 'invoicing') . '</h3>', |
|
580 | 580 | 'type' => 'header', |
581 | 581 | ), |
582 | 582 | 'login_to_checkout' => array( |
583 | 583 | 'id' => 'login_to_checkout', |
584 | - 'name' => __( 'Require Login To Checkout', 'invoicing' ), |
|
585 | - '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' ), |
|
584 | + 'name' => __('Require Login To Checkout', 'invoicing'), |
|
585 | + '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'), |
|
586 | 586 | 'type' => 'checkbox', |
587 | 587 | ), |
588 | 588 | |
589 | 589 | 'maxmind_license_key' => array( |
590 | 590 | 'id' => 'maxmind_license_key', |
591 | - 'name' => __( 'MaxMind License Key', 'invoicing' ), |
|
591 | + 'name' => __('MaxMind License Key', 'invoicing'), |
|
592 | 592 | 'type' => 'text', |
593 | 593 | 'size' => 'regular', |
594 | - 'desc' => __( "Enter you license key if you would like to use MaxMind to automatically detect a customer's country.", 'invoicing' ) . ' <a href="https://support.maxmind.com/account-faq/license-keys/how-do-i-generate-a-license-key/">' . __( 'How to generate a free license key.', 'invoicing' ) . '</a>', |
|
594 | + 'desc' => __("Enter you license key if you would like to use MaxMind to automatically detect a customer's country.", 'invoicing') . ' <a href="https://support.maxmind.com/account-faq/license-keys/how-do-i-generate-a-license-key/">' . __('How to generate a free license key.', 'invoicing') . '</a>', |
|
595 | 595 | ), |
596 | 596 | |
597 | 597 | 'uninstall_settings' => array( |
598 | 598 | 'id' => 'uninstall_settings', |
599 | - 'name' => '<h3>' . __( 'Uninstall Settings', 'invoicing' ) . '</h3>', |
|
599 | + 'name' => '<h3>' . __('Uninstall Settings', 'invoicing') . '</h3>', |
|
600 | 600 | 'type' => 'header', |
601 | 601 | ), |
602 | 602 | 'remove_data_on_unistall' => array( |
603 | 603 | 'id' => 'remove_data_on_unistall', |
604 | - 'name' => __( 'Remove Data on Uninstall?', 'invoicing' ), |
|
605 | - 'desc' => __( 'Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing' ), |
|
604 | + 'name' => __('Remove Data on Uninstall?', 'invoicing'), |
|
605 | + 'desc' => __('Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing'), |
|
606 | 606 | 'type' => 'checkbox', |
607 | 607 | 'std' => '' |
608 | 608 | ), |
@@ -611,13 +611,13 @@ discard block |
||
611 | 611 | 'custom-css' => array( |
612 | 612 | 'css_settings' => array( |
613 | 613 | 'id' => 'css_settings', |
614 | - 'name' => '<h3>' . __( 'Custom CSS', 'invoicing' ) . '</h3>', |
|
614 | + 'name' => '<h3>' . __('Custom CSS', 'invoicing') . '</h3>', |
|
615 | 615 | 'type' => 'header', |
616 | 616 | ), |
617 | 617 | 'template_custom_css' => array( |
618 | 618 | 'id' => 'template_custom_css', |
619 | - 'name' => __( 'Invoice Template CSS', 'invoicing' ), |
|
620 | - 'desc' => __( 'Add CSS to modify appearance of the print invoice page.', 'invoicing' ), |
|
619 | + 'name' => __('Invoice Template CSS', 'invoicing'), |
|
620 | + 'desc' => __('Add CSS to modify appearance of the print invoice page.', 'invoicing'), |
|
621 | 621 | 'type' => 'textarea', |
622 | 622 | 'class'=> 'regular-text', |
623 | 623 | 'rows' => 10, |
@@ -631,8 +631,8 @@ discard block |
||
631 | 631 | 'main' => array( |
632 | 632 | 'tool_settings' => array( |
633 | 633 | 'id' => 'tool_settings', |
634 | - 'name' => '<h3>' . __( 'Diagnostic Tools', 'invoicing' ) . '</h3>', |
|
635 | - 'desc' => __( 'Invoicing diagnostic tools', 'invoicing' ), |
|
634 | + 'name' => '<h3>' . __('Diagnostic Tools', 'invoicing') . '</h3>', |
|
635 | + 'desc' => __('Invoicing diagnostic tools', 'invoicing'), |
|
636 | 636 | 'type' => 'tools', |
637 | 637 | ), |
638 | 638 | ), |
@@ -7,24 +7,24 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | -$logo_width = wpinv_get_option( 'logo_width' ); |
|
13 | -$logo_height = wpinv_get_option( 'logo_height' ); |
|
12 | +$logo_width = wpinv_get_option('logo_width'); |
|
13 | +$logo_height = wpinv_get_option('logo_height'); |
|
14 | 14 | |
15 | 15 | ?> |
16 | -<a target="_blank" class="logo-link text-dark" href="<?php echo esc_url( wpinv_get_business_website() ); ?>"> |
|
16 | +<a target="_blank" class="logo-link text-dark" href="<?php echo esc_url(wpinv_get_business_website()); ?>"> |
|
17 | 17 | |
18 | - <?php if ( $logo = wpinv_get_business_logo() ) : ?> |
|
18 | + <?php if ($logo = wpinv_get_business_logo()) : ?> |
|
19 | 19 | |
20 | - <?php if ( ! empty( $logo_width ) && ! empty( $logo_height ) ) : ?> |
|
21 | - <img class="logo" style="max-width:100%; width:<?php echo absint( $logo_width ); ?>px; height:<?php echo absint( $logo_height ); ?>px;" src="<?php echo esc_url( $logo ); ?>"> |
|
20 | + <?php if (!empty($logo_width) && !empty($logo_height)) : ?> |
|
21 | + <img class="logo" style="max-width:100%; width:<?php echo absint($logo_width); ?>px; height:<?php echo absint($logo_height); ?>px;" src="<?php echo esc_url($logo); ?>"> |
|
22 | 22 | <?php else: ?> |
23 | - <img class="logo" style="max-width:100%;" src="<?php echo esc_url( $logo ); ?>"> |
|
23 | + <img class="logo" style="max-width:100%;" src="<?php echo esc_url($logo); ?>"> |
|
24 | 24 | <?php endif; ?> |
25 | 25 | |
26 | 26 | <?php else: ?> |
27 | - <h1 class="h3"><?php echo esc_html( wpinv_get_business_name() ); ?></h1> |
|
27 | + <h1 class="h3"><?php echo esc_html(wpinv_get_business_name()); ?></h1> |
|
28 | 28 | <?php endif; ?> |
29 | 29 | |
30 | 30 | </a> |
@@ -19,12 +19,18 @@ |
||
19 | 19 | |
20 | 20 | <?php if ( ! empty( $logo_width ) && ! empty( $logo_height ) ) : ?> |
21 | 21 | <img class="logo" style="max-width:100%; width:<?php echo absint( $logo_width ); ?>px; height:<?php echo absint( $logo_height ); ?>px;" src="<?php echo esc_url( $logo ); ?>"> |
22 | - <?php else: ?> |
|
23 | - <img class="logo" style="max-width:100%;" src="<?php echo esc_url( $logo ); ?>"> |
|
22 | + <?php else { |
|
23 | + : ?> |
|
24 | + <img class="logo" style="max-width:100%;" src="<?php echo esc_url( $logo ); |
|
25 | +} |
|
26 | +?>"> |
|
24 | 27 | <?php endif; ?> |
25 | 28 | |
26 | - <?php else: ?> |
|
27 | - <h1 class="h3"><?php echo esc_html( wpinv_get_business_name() ); ?></h1> |
|
29 | + <?php else { |
|
30 | + : ?> |
|
31 | + <h1 class="h3"><?php echo esc_html( wpinv_get_business_name() ); |
|
32 | +} |
|
33 | +?></h1> |
|
28 | 34 | <?php endif; ?> |
29 | 35 | |
30 | 36 | </a> |
@@ -160,50 +160,50 @@ |
||
160 | 160 | */ |
161 | 161 | function getpaid_calculate_invoice_discount( $invoice, $discount ) { |
162 | 162 | |
163 | - $initial_discount = 0; |
|
164 | - $recurring_discount = 0; |
|
163 | + $initial_discount = 0; |
|
164 | + $recurring_discount = 0; |
|
165 | 165 | |
166 | - foreach ( $invoice->get_items() as $item ) { |
|
166 | + foreach ( $invoice->get_items() as $item ) { |
|
167 | 167 | |
168 | - // Abort if it is not valid for this item. |
|
169 | - if ( ! $discount->is_valid_for_items( array( $item->get_id() ) ) ) { |
|
170 | - continue; |
|
171 | - } |
|
168 | + // Abort if it is not valid for this item. |
|
169 | + if ( ! $discount->is_valid_for_items( array( $item->get_id() ) ) ) { |
|
170 | + continue; |
|
171 | + } |
|
172 | 172 | |
173 | - // Calculate the initial amount... |
|
174 | - $item_discount = $discount->get_discounted_amount( $item->get_sub_total() ); |
|
175 | - $recurring_item_discount = 0; |
|
173 | + // Calculate the initial amount... |
|
174 | + $item_discount = $discount->get_discounted_amount( $item->get_sub_total() ); |
|
175 | + $recurring_item_discount = 0; |
|
176 | 176 | |
177 | - // ... and maybe the recurring amount. |
|
178 | - if ( $item->is_recurring() && $discount->is_recurring() ) { |
|
179 | - $recurring_item_discount = $discount->get_discounted_amount( $item->get_recurring_sub_total() ); |
|
180 | - } |
|
177 | + // ... and maybe the recurring amount. |
|
178 | + if ( $item->is_recurring() && $discount->is_recurring() ) { |
|
179 | + $recurring_item_discount = $discount->get_discounted_amount( $item->get_recurring_sub_total() ); |
|
180 | + } |
|
181 | 181 | |
182 | - // Discount should not exceed discounted amount. |
|
183 | - if ( ! $discount->is_type( 'percent' ) ) { |
|
182 | + // Discount should not exceed discounted amount. |
|
183 | + if ( ! $discount->is_type( 'percent' ) ) { |
|
184 | 184 | |
185 | - if ( ( $initial_discount + $item_discount ) > $discount->get_amount() ) { |
|
186 | - $item_discount = $discount->get_amount() - $initial_discount; |
|
187 | - } |
|
185 | + if ( ( $initial_discount + $item_discount ) > $discount->get_amount() ) { |
|
186 | + $item_discount = $discount->get_amount() - $initial_discount; |
|
187 | + } |
|
188 | 188 | |
189 | - if ( ( $recurring_discount + $recurring_item_discount ) > $discount->get_amount() ) { |
|
190 | - $recurring_item_discount = $discount->get_amount() - $recurring_discount; |
|
191 | - } |
|
189 | + if ( ( $recurring_discount + $recurring_item_discount ) > $discount->get_amount() ) { |
|
190 | + $recurring_item_discount = $discount->get_amount() - $recurring_discount; |
|
191 | + } |
|
192 | 192 | |
193 | - } |
|
193 | + } |
|
194 | 194 | |
195 | - $initial_discount += $item_discount; |
|
196 | - $recurring_discount += $recurring_discount; |
|
197 | - $item->item_discount = $item_discount; |
|
198 | - $item->recurring_item_discount = $recurring_item_discount; |
|
195 | + $initial_discount += $item_discount; |
|
196 | + $recurring_discount += $recurring_discount; |
|
197 | + $item->item_discount = $item_discount; |
|
198 | + $item->recurring_item_discount = $recurring_item_discount; |
|
199 | 199 | |
200 | - } |
|
200 | + } |
|
201 | 201 | |
202 | - return array( |
|
203 | - 'name' => 'discount_code', |
|
204 | - 'discount_code' => $discount->get_code(), |
|
205 | - 'initial_discount' => $initial_discount, |
|
206 | - 'recurring_discount' => $recurring_discount, |
|
207 | - ); |
|
202 | + return array( |
|
203 | + 'name' => 'discount_code', |
|
204 | + 'discount_code' => $discount->get_code(), |
|
205 | + 'initial_discount' => $initial_discount, |
|
206 | + 'recurring_discount' => $recurring_discount, |
|
207 | + ); |
|
208 | 208 | |
209 | 209 | } |
@@ -6,7 +6,7 @@ discard block |
||
6 | 6 | * @package Invoicing |
7 | 7 | */ |
8 | 8 | |
9 | -defined( 'ABSPATH' ) || exit; |
|
9 | +defined('ABSPATH') || exit; |
|
10 | 10 | |
11 | 11 | /** |
12 | 12 | * Returns an array of discount type. |
@@ -17,8 +17,8 @@ discard block |
||
17 | 17 | return apply_filters( |
18 | 18 | 'wpinv_discount_types', |
19 | 19 | array( |
20 | - 'percent' => __( 'Percentage', 'invoicing' ), |
|
21 | - 'flat' => __( 'Flat Amount', 'invoicing' ), |
|
20 | + 'percent' => __('Percentage', 'invoicing'), |
|
21 | + 'flat' => __('Flat Amount', 'invoicing'), |
|
22 | 22 | ) |
23 | 23 | ); |
24 | 24 | } |
@@ -28,46 +28,46 @@ discard block |
||
28 | 28 | * |
29 | 29 | * @return string |
30 | 30 | */ |
31 | -function wpinv_get_discount_type_name( $type = '' ) { |
|
31 | +function wpinv_get_discount_type_name($type = '') { |
|
32 | 32 | $types = wpinv_get_discount_types(); |
33 | - return isset( $types[ $type ] ) ? $types[ $type ] : $type; |
|
33 | + return isset($types[$type]) ? $types[$type] : $type; |
|
34 | 34 | } |
35 | 35 | |
36 | 36 | /** |
37 | 37 | * Deletes a discount via the admin page. |
38 | 38 | * |
39 | 39 | */ |
40 | -function wpinv_delete_discount( $data ) { |
|
40 | +function wpinv_delete_discount($data) { |
|
41 | 41 | |
42 | - $discount = new WPInv_Discount( absint( $data['discount'] ) ); |
|
43 | - $discount->delete( true ); |
|
42 | + $discount = new WPInv_Discount(absint($data['discount'])); |
|
43 | + $discount->delete(true); |
|
44 | 44 | |
45 | 45 | } |
46 | -add_action( 'getpaid_authenticated_admin_action_delete_discount', 'wpinv_delete_discount' ); |
|
46 | +add_action('getpaid_authenticated_admin_action_delete_discount', 'wpinv_delete_discount'); |
|
47 | 47 | |
48 | 48 | /** |
49 | 49 | * Deactivates a discount via the admin page. |
50 | 50 | */ |
51 | -function wpinv_activate_discount( $data ) { |
|
51 | +function wpinv_activate_discount($data) { |
|
52 | 52 | |
53 | - $discount = new WPInv_Discount( absint( $data['discount'] ) ); |
|
54 | - $discount->set_status( 'publish' ); |
|
53 | + $discount = new WPInv_Discount(absint($data['discount'])); |
|
54 | + $discount->set_status('publish'); |
|
55 | 55 | $discount->save(); |
56 | 56 | |
57 | 57 | } |
58 | -add_action( 'getpaid_authenticated_admin_action_activate_discount', 'wpinv_activate_discount' ); |
|
58 | +add_action('getpaid_authenticated_admin_action_activate_discount', 'wpinv_activate_discount'); |
|
59 | 59 | |
60 | 60 | /** |
61 | 61 | * Activates a discount via the admin page. |
62 | 62 | */ |
63 | -function wpinv_deactivate_discount( $data ) { |
|
63 | +function wpinv_deactivate_discount($data) { |
|
64 | 64 | |
65 | - $discount = new WPInv_Discount( absint( $data['discount'] ) ); |
|
66 | - $discount->set_status( 'pending' ); |
|
65 | + $discount = new WPInv_Discount(absint($data['discount'])); |
|
66 | + $discount->set_status('pending'); |
|
67 | 67 | $discount->save(); |
68 | 68 | |
69 | 69 | } |
70 | -add_action( 'getpaid_authenticated_admin_action_deactivate_discount', 'wpinv_deactivate_discount' ); |
|
70 | +add_action('getpaid_authenticated_admin_action_deactivate_discount', 'wpinv_deactivate_discount'); |
|
71 | 71 | |
72 | 72 | /** |
73 | 73 | * Fetches a discount object. |
@@ -76,8 +76,8 @@ discard block |
||
76 | 76 | * @since 1.0.15 |
77 | 77 | * @return WPInv_Discount |
78 | 78 | */ |
79 | -function wpinv_get_discount( $discount ) { |
|
80 | - return new WPInv_Discount( $discount ); |
|
79 | +function wpinv_get_discount($discount) { |
|
80 | + return new WPInv_Discount($discount); |
|
81 | 81 | } |
82 | 82 | |
83 | 83 | /** |
@@ -87,8 +87,8 @@ discard block |
||
87 | 87 | * @since 1.0.15 |
88 | 88 | * @return WPInv_Discount |
89 | 89 | */ |
90 | -function wpinv_get_discount_obj( $discount = 0 ) { |
|
91 | - return new WPInv_Discount( $discount ); |
|
90 | +function wpinv_get_discount_obj($discount = 0) { |
|
91 | + return new WPInv_Discount($discount); |
|
92 | 92 | } |
93 | 93 | |
94 | 94 | /** |
@@ -98,10 +98,10 @@ discard block |
||
98 | 98 | * @param string|int $value The field value |
99 | 99 | * @return bool|WPInv_Discount |
100 | 100 | */ |
101 | -function wpinv_get_discount_by( $deprecated = null, $value = '' ) { |
|
102 | - $discount = new WPInv_Discount( $value ); |
|
101 | +function wpinv_get_discount_by($deprecated = null, $value = '') { |
|
102 | + $discount = new WPInv_Discount($value); |
|
103 | 103 | |
104 | - if ( $discount->get_id() != 0 ) { |
|
104 | + if ($discount->get_id() != 0) { |
|
105 | 105 | return $discount; |
106 | 106 | } |
107 | 107 | |
@@ -116,9 +116,9 @@ discard block |
||
116 | 116 | function wpinv_get_discount_statuses() { |
117 | 117 | |
118 | 118 | return array( |
119 | - 'expired' => __( 'Expired', 'invoicing' ), |
|
120 | - 'publish' => __( 'Active', 'invoicing' ), |
|
121 | - 'inactive' => __( 'Inactive', 'invoicing' ), |
|
119 | + 'expired' => __('Expired', 'invoicing'), |
|
120 | + 'publish' => __('Active', 'invoicing'), |
|
121 | + 'inactive' => __('Inactive', 'invoicing'), |
|
122 | 122 | ); |
123 | 123 | |
124 | 124 | } |
@@ -126,9 +126,9 @@ discard block |
||
126 | 126 | /** |
127 | 127 | * Retrieves an invoice status label. |
128 | 128 | */ |
129 | -function wpinv_discount_status( $status ) { |
|
129 | +function wpinv_discount_status($status) { |
|
130 | 130 | $statuses = wpinv_get_discount_statuses(); |
131 | - return isset( $statuses[ $status ] ) ? $statuses[ $status ] : __( 'Inactive', 'invoicing' ); |
|
131 | + return isset($statuses[$status]) ? $statuses[$status] : __('Inactive', 'invoicing'); |
|
132 | 132 | } |
133 | 133 | |
134 | 134 | /** |
@@ -138,12 +138,12 @@ discard block |
||
138 | 138 | * @param int|array|string|WPInv_Discount $code discount data, object, ID or code. |
139 | 139 | * @return bool |
140 | 140 | */ |
141 | -function wpinv_discount_is_recurring( $discount = 0, $code = 0 ) { |
|
141 | +function wpinv_discount_is_recurring($discount = 0, $code = 0) { |
|
142 | 142 | |
143 | - if( ! empty( $discount ) ) { |
|
144 | - $discount = wpinv_get_discount_obj( $discount ); |
|
143 | + if (!empty($discount)) { |
|
144 | + $discount = wpinv_get_discount_obj($discount); |
|
145 | 145 | } else { |
146 | - $discount = wpinv_get_discount_obj( $code ); |
|
146 | + $discount = wpinv_get_discount_obj($code); |
|
147 | 147 | } |
148 | 148 | |
149 | 149 | return $discount->get_is_recurring(); |
@@ -158,35 +158,35 @@ discard block |
||
158 | 158 | * @param WPInv_Discount $discount |
159 | 159 | * @return array |
160 | 160 | */ |
161 | -function getpaid_calculate_invoice_discount( $invoice, $discount ) { |
|
161 | +function getpaid_calculate_invoice_discount($invoice, $discount) { |
|
162 | 162 | |
163 | 163 | $initial_discount = 0; |
164 | 164 | $recurring_discount = 0; |
165 | 165 | |
166 | - foreach ( $invoice->get_items() as $item ) { |
|
166 | + foreach ($invoice->get_items() as $item) { |
|
167 | 167 | |
168 | 168 | // Abort if it is not valid for this item. |
169 | - if ( ! $discount->is_valid_for_items( array( $item->get_id() ) ) ) { |
|
169 | + if (!$discount->is_valid_for_items(array($item->get_id()))) { |
|
170 | 170 | continue; |
171 | 171 | } |
172 | 172 | |
173 | 173 | // Calculate the initial amount... |
174 | - $item_discount = $discount->get_discounted_amount( $item->get_sub_total() ); |
|
174 | + $item_discount = $discount->get_discounted_amount($item->get_sub_total()); |
|
175 | 175 | $recurring_item_discount = 0; |
176 | 176 | |
177 | 177 | // ... and maybe the recurring amount. |
178 | - if ( $item->is_recurring() && $discount->is_recurring() ) { |
|
179 | - $recurring_item_discount = $discount->get_discounted_amount( $item->get_recurring_sub_total() ); |
|
178 | + if ($item->is_recurring() && $discount->is_recurring()) { |
|
179 | + $recurring_item_discount = $discount->get_discounted_amount($item->get_recurring_sub_total()); |
|
180 | 180 | } |
181 | 181 | |
182 | 182 | // Discount should not exceed discounted amount. |
183 | - if ( ! $discount->is_type( 'percent' ) ) { |
|
183 | + if (!$discount->is_type('percent')) { |
|
184 | 184 | |
185 | - if ( ( $initial_discount + $item_discount ) > $discount->get_amount() ) { |
|
185 | + if (($initial_discount + $item_discount) > $discount->get_amount()) { |
|
186 | 186 | $item_discount = $discount->get_amount() - $initial_discount; |
187 | 187 | } |
188 | 188 | |
189 | - if ( ( $recurring_discount + $recurring_item_discount ) > $discount->get_amount() ) { |
|
189 | + if (($recurring_discount + $recurring_item_discount) > $discount->get_amount()) { |
|
190 | 190 | $recurring_item_discount = $discount->get_amount() - $recurring_discount; |
191 | 191 | } |
192 | 192 | |
@@ -219,10 +219,10 @@ discard block |
||
219 | 219 | array( |
220 | 220 | 'post_type' => 'wpi_discount', |
221 | 221 | 'numberposts' => 1, |
222 | - 'fields' => array( 'ids' ), |
|
222 | + 'fields' => array('ids'), |
|
223 | 223 | ) |
224 | 224 | ); |
225 | 225 | |
226 | - return ! empty( $discounts ); |
|
226 | + return !empty($discounts); |
|
227 | 227 | |
228 | 228 | } |
@@ -12,228 +12,228 @@ |
||
12 | 12 | */ |
13 | 13 | class GetPaid_Payment_Form_Submission_Taxes { |
14 | 14 | |
15 | - /** |
|
16 | - * Submission taxes. |
|
17 | - * @var array |
|
18 | - */ |
|
19 | - public $taxes = array(); |
|
20 | - |
|
21 | - /** |
|
22 | - * Whether or not we should skip the taxes. |
|
23 | - * @var bool |
|
24 | - */ |
|
25 | - protected $skip_taxes = false; |
|
15 | + /** |
|
16 | + * Submission taxes. |
|
17 | + * @var array |
|
18 | + */ |
|
19 | + public $taxes = array(); |
|
20 | + |
|
21 | + /** |
|
22 | + * Whether or not we should skip the taxes. |
|
23 | + * @var bool |
|
24 | + */ |
|
25 | + protected $skip_taxes = false; |
|
26 | + |
|
27 | + /** |
|
28 | + * Class constructor |
|
29 | + * |
|
30 | + * @param GetPaid_Payment_Form_Submission $submission |
|
31 | + */ |
|
32 | + public function __construct( $submission ) { |
|
33 | + |
|
34 | + // Validate VAT number. |
|
35 | + $this->validate_vat( $submission ); |
|
36 | + |
|
37 | + if ( $this->skip_taxes ) { |
|
38 | + return; |
|
39 | + } |
|
40 | + |
|
41 | + foreach ( $submission->get_items() as $item ) { |
|
42 | + $this->process_item_tax( $item, $submission ); |
|
43 | + } |
|
44 | + |
|
45 | + // Process any existing invoice taxes. |
|
46 | + if ( $submission->has_invoice() ) { |
|
47 | + $this->taxes = array_replace( $submission->get_invoice()->get_taxes(), $this->taxes ); |
|
48 | + } |
|
49 | + |
|
50 | + } |
|
51 | + |
|
52 | + /** |
|
53 | + * Maybe process tax. |
|
54 | + * |
|
55 | + * @since 1.0.19 |
|
56 | + * @param GetPaid_Form_Item $item |
|
57 | + * @param GetPaid_Payment_Form_Submission $submission |
|
58 | + */ |
|
59 | + public function process_item_tax( $item, $submission ) { |
|
60 | + |
|
61 | + $rates = getpaid_get_item_tax_rates( $item, $submission->country, $submission->state ); |
|
62 | + $rates = getpaid_filter_item_tax_rates( $item, $rates ); |
|
63 | + $taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates ); |
|
64 | + $r_taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates ); |
|
65 | + |
|
66 | + foreach ( $taxes as $name => $amount ) { |
|
67 | + $recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0; |
|
68 | + $tax = getpaid_prepare_item_tax( $item, $name, $amount, $recurring ); |
|
69 | + |
|
70 | + if ( ! isset( $this->taxes[ $name ] ) ) { |
|
71 | + $this->taxes[ $name ] = $tax; |
|
72 | + continue; |
|
73 | + } |
|
74 | + |
|
75 | + $this->taxes[ $name ]['initial_tax'] += $tax['initial_tax']; |
|
76 | + $this->taxes[ $name ]['recurring_tax'] += $tax['recurring_tax']; |
|
77 | + |
|
78 | + } |
|
79 | + |
|
80 | + } |
|
81 | + |
|
82 | + /** |
|
83 | + * Checks if the submission has a digital item. |
|
84 | + * |
|
85 | + * @param GetPaid_Payment_Form_Submission $submission |
|
86 | + * @since 1.0.19 |
|
87 | + * @return bool |
|
88 | + */ |
|
89 | + public function has_digital_item( $submission ) { |
|
90 | + |
|
91 | + foreach ( $submission->get_items() as $item ) { |
|
92 | + |
|
93 | + if ( 'digital' == $item->get_vat_rule() ) { |
|
94 | + return true; |
|
95 | + } |
|
96 | + |
|
97 | + } |
|
98 | + |
|
99 | + return false; |
|
100 | + } |
|
101 | + |
|
102 | + /** |
|
103 | + * Checks if this is an eu store. |
|
104 | + * |
|
105 | + * @since 1.0.19 |
|
106 | + * @return bool |
|
107 | + */ |
|
108 | + public static function is_eu_store() { |
|
109 | + return self::is_eu_country( wpinv_get_default_country() ); |
|
110 | + } |
|
26 | 111 | |
27 | 112 | /** |
28 | - * Class constructor |
|
29 | - * |
|
30 | - * @param GetPaid_Payment_Form_Submission $submission |
|
31 | - */ |
|
32 | - public function __construct( $submission ) { |
|
33 | - |
|
34 | - // Validate VAT number. |
|
35 | - $this->validate_vat( $submission ); |
|
36 | - |
|
37 | - if ( $this->skip_taxes ) { |
|
38 | - return; |
|
39 | - } |
|
40 | - |
|
41 | - foreach ( $submission->get_items() as $item ) { |
|
42 | - $this->process_item_tax( $item, $submission ); |
|
43 | - } |
|
44 | - |
|
45 | - // Process any existing invoice taxes. |
|
46 | - if ( $submission->has_invoice() ) { |
|
47 | - $this->taxes = array_replace( $submission->get_invoice()->get_taxes(), $this->taxes ); |
|
48 | - } |
|
49 | - |
|
50 | - } |
|
51 | - |
|
52 | - /** |
|
53 | - * Maybe process tax. |
|
54 | - * |
|
55 | - * @since 1.0.19 |
|
56 | - * @param GetPaid_Form_Item $item |
|
57 | - * @param GetPaid_Payment_Form_Submission $submission |
|
58 | - */ |
|
59 | - public function process_item_tax( $item, $submission ) { |
|
60 | - |
|
61 | - $rates = getpaid_get_item_tax_rates( $item, $submission->country, $submission->state ); |
|
62 | - $rates = getpaid_filter_item_tax_rates( $item, $rates ); |
|
63 | - $taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates ); |
|
64 | - $r_taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates ); |
|
65 | - |
|
66 | - foreach ( $taxes as $name => $amount ) { |
|
67 | - $recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0; |
|
68 | - $tax = getpaid_prepare_item_tax( $item, $name, $amount, $recurring ); |
|
69 | - |
|
70 | - if ( ! isset( $this->taxes[ $name ] ) ) { |
|
71 | - $this->taxes[ $name ] = $tax; |
|
72 | - continue; |
|
73 | - } |
|
74 | - |
|
75 | - $this->taxes[ $name ]['initial_tax'] += $tax['initial_tax']; |
|
76 | - $this->taxes[ $name ]['recurring_tax'] += $tax['recurring_tax']; |
|
77 | - |
|
78 | - } |
|
79 | - |
|
80 | - } |
|
81 | - |
|
82 | - /** |
|
83 | - * Checks if the submission has a digital item. |
|
84 | - * |
|
85 | - * @param GetPaid_Payment_Form_Submission $submission |
|
86 | - * @since 1.0.19 |
|
87 | - * @return bool |
|
88 | - */ |
|
89 | - public function has_digital_item( $submission ) { |
|
90 | - |
|
91 | - foreach ( $submission->get_items() as $item ) { |
|
92 | - |
|
93 | - if ( 'digital' == $item->get_vat_rule() ) { |
|
94 | - return true; |
|
95 | - } |
|
96 | - |
|
97 | - } |
|
98 | - |
|
99 | - return false; |
|
100 | - } |
|
101 | - |
|
102 | - /** |
|
103 | - * Checks if this is an eu store. |
|
104 | - * |
|
105 | - * @since 1.0.19 |
|
106 | - * @return bool |
|
107 | - */ |
|
108 | - public static function is_eu_store() { |
|
109 | - return self::is_eu_country( wpinv_get_default_country() ); |
|
110 | - } |
|
111 | - |
|
112 | - /** |
|
113 | - * Checks if this is an eu country. |
|
114 | - * |
|
115 | - * @param string $country |
|
116 | - * @since 1.0.19 |
|
117 | - * @return bool |
|
118 | - */ |
|
119 | - public static function is_eu_country( $country ) { |
|
120 | - return getpaid_is_eu_state( $country ) || getpaid_is_gst_country( $country ); |
|
121 | - } |
|
122 | - |
|
123 | - /** |
|
124 | - * Checks if this is an eu purchase. |
|
125 | - * |
|
126 | - * @param string $customer_country |
|
127 | - * @since 1.0.19 |
|
128 | - * @return bool |
|
129 | - */ |
|
130 | - public static function is_eu_transaction( $customer_country ) { |
|
131 | - return self::is_eu_country( $customer_country ) && self::is_eu_store(); |
|
132 | - } |
|
133 | - |
|
134 | - /** |
|
135 | - * Retrieves the vat number. |
|
136 | - * |
|
137 | - * @param GetPaid_Payment_Form_Submission $submission |
|
138 | - * @since 1.0.19 |
|
139 | - * @return string |
|
140 | - */ |
|
141 | - public function get_vat_number( $submission ) { |
|
142 | - |
|
143 | - // Retrieve from the posted number. |
|
144 | - $vat_number = $submission->get_field( 'wpinv_vat_number', 'billing' ); |
|
145 | - if ( ! is_null( $vat_number ) ) { |
|
146 | - return wpinv_clean( $vat_number ); |
|
147 | - } |
|
148 | - |
|
149 | - return $submission->has_invoice() ? $submission->get_invoice()->get_vat_number() : ''; |
|
150 | - } |
|
151 | - |
|
152 | - /** |
|
153 | - * Retrieves the company. |
|
154 | - * |
|
155 | - * @param GetPaid_Payment_Form_Submission $submission |
|
156 | - * @since 1.0.19 |
|
157 | - * @return string |
|
158 | - */ |
|
159 | - public function get_company( $submission ) { |
|
160 | - |
|
161 | - // Retrieve from the posted data. |
|
162 | - $company = $submission->get_field( 'wpinv_company', 'billing' ); |
|
163 | - if ( ! empty( $company ) ) { |
|
164 | - return wpinv_clean( $company ); |
|
165 | - } |
|
166 | - |
|
167 | - // Retrieve from the invoice. |
|
168 | - return $submission->has_invoice() ? $submission->get_invoice()->get_company() : ''; |
|
169 | - } |
|
170 | - |
|
171 | - /** |
|
172 | - * Checks if we require a VAT number. |
|
173 | - * |
|
174 | - * @param bool $ip_in_eu Whether the customer IP is from the EU |
|
175 | - * @param bool $country_in_eu Whether the customer country is from the EU |
|
176 | - * @since 1.0.19 |
|
177 | - * @return string |
|
178 | - */ |
|
179 | - public function requires_vat( $ip_in_eu, $country_in_eu ) { |
|
180 | - |
|
181 | - $prevent_b2c = wpinv_get_option( 'vat_prevent_b2c_purchase' ); |
|
182 | - $prevent_b2c = ! empty( $prevent_b2c ); |
|
183 | - $is_eu = $ip_in_eu || $country_in_eu; |
|
184 | - |
|
185 | - return $prevent_b2c && $is_eu; |
|
186 | - } |
|
187 | - |
|
188 | - /** |
|
189 | - * Validate VAT data. |
|
190 | - * |
|
191 | - * @param GetPaid_Payment_Form_Submission $submission |
|
192 | - * @since 1.0.19 |
|
193 | - */ |
|
194 | - public function validate_vat( $submission ) { |
|
195 | - |
|
196 | - $in_eu = $this->is_eu_transaction( $submission->country ); |
|
197 | - |
|
198 | - // Abort if we are not validating vat numbers. |
|
199 | - if ( ! $in_eu ) { |
|
113 | + * Checks if this is an eu country. |
|
114 | + * |
|
115 | + * @param string $country |
|
116 | + * @since 1.0.19 |
|
117 | + * @return bool |
|
118 | + */ |
|
119 | + public static function is_eu_country( $country ) { |
|
120 | + return getpaid_is_eu_state( $country ) || getpaid_is_gst_country( $country ); |
|
121 | + } |
|
122 | + |
|
123 | + /** |
|
124 | + * Checks if this is an eu purchase. |
|
125 | + * |
|
126 | + * @param string $customer_country |
|
127 | + * @since 1.0.19 |
|
128 | + * @return bool |
|
129 | + */ |
|
130 | + public static function is_eu_transaction( $customer_country ) { |
|
131 | + return self::is_eu_country( $customer_country ) && self::is_eu_store(); |
|
132 | + } |
|
133 | + |
|
134 | + /** |
|
135 | + * Retrieves the vat number. |
|
136 | + * |
|
137 | + * @param GetPaid_Payment_Form_Submission $submission |
|
138 | + * @since 1.0.19 |
|
139 | + * @return string |
|
140 | + */ |
|
141 | + public function get_vat_number( $submission ) { |
|
142 | + |
|
143 | + // Retrieve from the posted number. |
|
144 | + $vat_number = $submission->get_field( 'wpinv_vat_number', 'billing' ); |
|
145 | + if ( ! is_null( $vat_number ) ) { |
|
146 | + return wpinv_clean( $vat_number ); |
|
147 | + } |
|
148 | + |
|
149 | + return $submission->has_invoice() ? $submission->get_invoice()->get_vat_number() : ''; |
|
150 | + } |
|
151 | + |
|
152 | + /** |
|
153 | + * Retrieves the company. |
|
154 | + * |
|
155 | + * @param GetPaid_Payment_Form_Submission $submission |
|
156 | + * @since 1.0.19 |
|
157 | + * @return string |
|
158 | + */ |
|
159 | + public function get_company( $submission ) { |
|
160 | + |
|
161 | + // Retrieve from the posted data. |
|
162 | + $company = $submission->get_field( 'wpinv_company', 'billing' ); |
|
163 | + if ( ! empty( $company ) ) { |
|
164 | + return wpinv_clean( $company ); |
|
165 | + } |
|
166 | + |
|
167 | + // Retrieve from the invoice. |
|
168 | + return $submission->has_invoice() ? $submission->get_invoice()->get_company() : ''; |
|
169 | + } |
|
170 | + |
|
171 | + /** |
|
172 | + * Checks if we require a VAT number. |
|
173 | + * |
|
174 | + * @param bool $ip_in_eu Whether the customer IP is from the EU |
|
175 | + * @param bool $country_in_eu Whether the customer country is from the EU |
|
176 | + * @since 1.0.19 |
|
177 | + * @return string |
|
178 | + */ |
|
179 | + public function requires_vat( $ip_in_eu, $country_in_eu ) { |
|
180 | + |
|
181 | + $prevent_b2c = wpinv_get_option( 'vat_prevent_b2c_purchase' ); |
|
182 | + $prevent_b2c = ! empty( $prevent_b2c ); |
|
183 | + $is_eu = $ip_in_eu || $country_in_eu; |
|
184 | + |
|
185 | + return $prevent_b2c && $is_eu; |
|
186 | + } |
|
187 | + |
|
188 | + /** |
|
189 | + * Validate VAT data. |
|
190 | + * |
|
191 | + * @param GetPaid_Payment_Form_Submission $submission |
|
192 | + * @since 1.0.19 |
|
193 | + */ |
|
194 | + public function validate_vat( $submission ) { |
|
195 | + |
|
196 | + $in_eu = $this->is_eu_transaction( $submission->country ); |
|
197 | + |
|
198 | + // Abort if we are not validating vat numbers. |
|
199 | + if ( ! $in_eu ) { |
|
200 | 200 | return; |
201 | - } |
|
201 | + } |
|
202 | 202 | |
203 | - // Prepare variables. |
|
204 | - $vat_number = $this->get_vat_number( $submission ); |
|
205 | - $ip_country = getpaid_get_ip_country(); |
|
203 | + // Prepare variables. |
|
204 | + $vat_number = $this->get_vat_number( $submission ); |
|
205 | + $ip_country = getpaid_get_ip_country(); |
|
206 | 206 | $is_eu = $this->is_eu_country( $submission->country ); |
207 | 207 | $is_ip_eu = $this->is_eu_country( $ip_country ); |
208 | 208 | |
209 | - // Maybe abort early for initial fetches. |
|
210 | - if ( $submission->is_initial_fetch() && empty( $vat_number ) ) { |
|
211 | - return; |
|
212 | - } |
|
209 | + // Maybe abort early for initial fetches. |
|
210 | + if ( $submission->is_initial_fetch() && empty( $vat_number ) ) { |
|
211 | + return; |
|
212 | + } |
|
213 | 213 | |
214 | - // If we're preventing business to consumer purchases, |
|
215 | - if ( $this->requires_vat( $is_ip_eu, $is_eu ) && empty( $vat_number ) ) { |
|
214 | + // If we're preventing business to consumer purchases, |
|
215 | + if ( $this->requires_vat( $is_ip_eu, $is_eu ) && empty( $vat_number ) ) { |
|
216 | 216 | |
217 | - // Ensure that a vat number has been specified. |
|
218 | - throw new Exception( |
|
219 | - __( 'Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing' ) |
|
220 | - ); |
|
217 | + // Ensure that a vat number has been specified. |
|
218 | + throw new Exception( |
|
219 | + __( 'Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing' ) |
|
220 | + ); |
|
221 | 221 | |
222 | - } |
|
222 | + } |
|
223 | 223 | |
224 | - if ( empty( $vat_number ) ) { |
|
225 | - return; |
|
226 | - } |
|
224 | + if ( empty( $vat_number ) ) { |
|
225 | + return; |
|
226 | + } |
|
227 | 227 | |
228 | - if ( wpinv_should_validate_vat_number() && ! wpinv_validate_vat_number( $vat_number, $submission->country ) ) { |
|
229 | - throw new Exception( __( 'Your VAT number is invalid', 'invoicing' ) ); |
|
230 | - } |
|
228 | + if ( wpinv_should_validate_vat_number() && ! wpinv_validate_vat_number( $vat_number, $submission->country ) ) { |
|
229 | + throw new Exception( __( 'Your VAT number is invalid', 'invoicing' ) ); |
|
230 | + } |
|
231 | 231 | |
232 | - if ( wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) { |
|
233 | - return; |
|
234 | - } |
|
232 | + if ( wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) { |
|
233 | + return; |
|
234 | + } |
|
235 | 235 | |
236 | - $this->skip_taxes = true; |
|
237 | - } |
|
236 | + $this->skip_taxes = true; |
|
237 | + } |
|
238 | 238 | |
239 | 239 | } |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Payment form submission taxes class |
@@ -29,22 +29,22 @@ discard block |
||
29 | 29 | * |
30 | 30 | * @param GetPaid_Payment_Form_Submission $submission |
31 | 31 | */ |
32 | - public function __construct( $submission ) { |
|
32 | + public function __construct($submission) { |
|
33 | 33 | |
34 | 34 | // Validate VAT number. |
35 | - $this->validate_vat( $submission ); |
|
35 | + $this->validate_vat($submission); |
|
36 | 36 | |
37 | - if ( $this->skip_taxes ) { |
|
37 | + if ($this->skip_taxes) { |
|
38 | 38 | return; |
39 | 39 | } |
40 | 40 | |
41 | - foreach ( $submission->get_items() as $item ) { |
|
42 | - $this->process_item_tax( $item, $submission ); |
|
41 | + foreach ($submission->get_items() as $item) { |
|
42 | + $this->process_item_tax($item, $submission); |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | // Process any existing invoice taxes. |
46 | - if ( $submission->has_invoice() ) { |
|
47 | - $this->taxes = array_replace( $submission->get_invoice()->get_taxes(), $this->taxes ); |
|
46 | + if ($submission->has_invoice()) { |
|
47 | + $this->taxes = array_replace($submission->get_invoice()->get_taxes(), $this->taxes); |
|
48 | 48 | } |
49 | 49 | |
50 | 50 | } |
@@ -56,24 +56,24 @@ discard block |
||
56 | 56 | * @param GetPaid_Form_Item $item |
57 | 57 | * @param GetPaid_Payment_Form_Submission $submission |
58 | 58 | */ |
59 | - public function process_item_tax( $item, $submission ) { |
|
59 | + public function process_item_tax($item, $submission) { |
|
60 | 60 | |
61 | - $rates = getpaid_get_item_tax_rates( $item, $submission->country, $submission->state ); |
|
62 | - $rates = getpaid_filter_item_tax_rates( $item, $rates ); |
|
63 | - $taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates ); |
|
64 | - $r_taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates ); |
|
61 | + $rates = getpaid_get_item_tax_rates($item, $submission->country, $submission->state); |
|
62 | + $rates = getpaid_filter_item_tax_rates($item, $rates); |
|
63 | + $taxes = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, false), $rates); |
|
64 | + $r_taxes = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, true), $rates); |
|
65 | 65 | |
66 | - foreach ( $taxes as $name => $amount ) { |
|
67 | - $recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0; |
|
68 | - $tax = getpaid_prepare_item_tax( $item, $name, $amount, $recurring ); |
|
66 | + foreach ($taxes as $name => $amount) { |
|
67 | + $recurring = isset($r_taxes[$name]) ? $r_taxes[$name] : 0; |
|
68 | + $tax = getpaid_prepare_item_tax($item, $name, $amount, $recurring); |
|
69 | 69 | |
70 | - if ( ! isset( $this->taxes[ $name ] ) ) { |
|
71 | - $this->taxes[ $name ] = $tax; |
|
70 | + if (!isset($this->taxes[$name])) { |
|
71 | + $this->taxes[$name] = $tax; |
|
72 | 72 | continue; |
73 | 73 | } |
74 | 74 | |
75 | - $this->taxes[ $name ]['initial_tax'] += $tax['initial_tax']; |
|
76 | - $this->taxes[ $name ]['recurring_tax'] += $tax['recurring_tax']; |
|
75 | + $this->taxes[$name]['initial_tax'] += $tax['initial_tax']; |
|
76 | + $this->taxes[$name]['recurring_tax'] += $tax['recurring_tax']; |
|
77 | 77 | |
78 | 78 | } |
79 | 79 | |
@@ -86,11 +86,11 @@ discard block |
||
86 | 86 | * @since 1.0.19 |
87 | 87 | * @return bool |
88 | 88 | */ |
89 | - public function has_digital_item( $submission ) { |
|
89 | + public function has_digital_item($submission) { |
|
90 | 90 | |
91 | - foreach ( $submission->get_items() as $item ) { |
|
91 | + foreach ($submission->get_items() as $item) { |
|
92 | 92 | |
93 | - if ( 'digital' == $item->get_vat_rule() ) { |
|
93 | + if ('digital' == $item->get_vat_rule()) { |
|
94 | 94 | return true; |
95 | 95 | } |
96 | 96 | |
@@ -106,7 +106,7 @@ discard block |
||
106 | 106 | * @return bool |
107 | 107 | */ |
108 | 108 | public static function is_eu_store() { |
109 | - return self::is_eu_country( wpinv_get_default_country() ); |
|
109 | + return self::is_eu_country(wpinv_get_default_country()); |
|
110 | 110 | } |
111 | 111 | |
112 | 112 | /** |
@@ -116,8 +116,8 @@ discard block |
||
116 | 116 | * @since 1.0.19 |
117 | 117 | * @return bool |
118 | 118 | */ |
119 | - public static function is_eu_country( $country ) { |
|
120 | - return getpaid_is_eu_state( $country ) || getpaid_is_gst_country( $country ); |
|
119 | + public static function is_eu_country($country) { |
|
120 | + return getpaid_is_eu_state($country) || getpaid_is_gst_country($country); |
|
121 | 121 | } |
122 | 122 | |
123 | 123 | /** |
@@ -127,8 +127,8 @@ discard block |
||
127 | 127 | * @since 1.0.19 |
128 | 128 | * @return bool |
129 | 129 | */ |
130 | - public static function is_eu_transaction( $customer_country ) { |
|
131 | - return self::is_eu_country( $customer_country ) && self::is_eu_store(); |
|
130 | + public static function is_eu_transaction($customer_country) { |
|
131 | + return self::is_eu_country($customer_country) && self::is_eu_store(); |
|
132 | 132 | } |
133 | 133 | |
134 | 134 | /** |
@@ -138,12 +138,12 @@ discard block |
||
138 | 138 | * @since 1.0.19 |
139 | 139 | * @return string |
140 | 140 | */ |
141 | - public function get_vat_number( $submission ) { |
|
141 | + public function get_vat_number($submission) { |
|
142 | 142 | |
143 | 143 | // Retrieve from the posted number. |
144 | - $vat_number = $submission->get_field( 'wpinv_vat_number', 'billing' ); |
|
145 | - if ( ! is_null( $vat_number ) ) { |
|
146 | - return wpinv_clean( $vat_number ); |
|
144 | + $vat_number = $submission->get_field('wpinv_vat_number', 'billing'); |
|
145 | + if (!is_null($vat_number)) { |
|
146 | + return wpinv_clean($vat_number); |
|
147 | 147 | } |
148 | 148 | |
149 | 149 | return $submission->has_invoice() ? $submission->get_invoice()->get_vat_number() : ''; |
@@ -156,12 +156,12 @@ discard block |
||
156 | 156 | * @since 1.0.19 |
157 | 157 | * @return string |
158 | 158 | */ |
159 | - public function get_company( $submission ) { |
|
159 | + public function get_company($submission) { |
|
160 | 160 | |
161 | 161 | // Retrieve from the posted data. |
162 | - $company = $submission->get_field( 'wpinv_company', 'billing' ); |
|
163 | - if ( ! empty( $company ) ) { |
|
164 | - return wpinv_clean( $company ); |
|
162 | + $company = $submission->get_field('wpinv_company', 'billing'); |
|
163 | + if (!empty($company)) { |
|
164 | + return wpinv_clean($company); |
|
165 | 165 | } |
166 | 166 | |
167 | 167 | // Retrieve from the invoice. |
@@ -176,10 +176,10 @@ discard block |
||
176 | 176 | * @since 1.0.19 |
177 | 177 | * @return string |
178 | 178 | */ |
179 | - public function requires_vat( $ip_in_eu, $country_in_eu ) { |
|
179 | + public function requires_vat($ip_in_eu, $country_in_eu) { |
|
180 | 180 | |
181 | - $prevent_b2c = wpinv_get_option( 'vat_prevent_b2c_purchase' ); |
|
182 | - $prevent_b2c = ! empty( $prevent_b2c ); |
|
181 | + $prevent_b2c = wpinv_get_option('vat_prevent_b2c_purchase'); |
|
182 | + $prevent_b2c = !empty($prevent_b2c); |
|
183 | 183 | $is_eu = $ip_in_eu || $country_in_eu; |
184 | 184 | |
185 | 185 | return $prevent_b2c && $is_eu; |
@@ -191,45 +191,45 @@ discard block |
||
191 | 191 | * @param GetPaid_Payment_Form_Submission $submission |
192 | 192 | * @since 1.0.19 |
193 | 193 | */ |
194 | - public function validate_vat( $submission ) { |
|
194 | + public function validate_vat($submission) { |
|
195 | 195 | |
196 | - $in_eu = $this->is_eu_transaction( $submission->country ); |
|
196 | + $in_eu = $this->is_eu_transaction($submission->country); |
|
197 | 197 | |
198 | 198 | // Abort if we are not validating vat numbers. |
199 | - if ( ! $in_eu ) { |
|
199 | + if (!$in_eu) { |
|
200 | 200 | return; |
201 | 201 | } |
202 | 202 | |
203 | 203 | // Prepare variables. |
204 | - $vat_number = $this->get_vat_number( $submission ); |
|
204 | + $vat_number = $this->get_vat_number($submission); |
|
205 | 205 | $ip_country = getpaid_get_ip_country(); |
206 | - $is_eu = $this->is_eu_country( $submission->country ); |
|
207 | - $is_ip_eu = $this->is_eu_country( $ip_country ); |
|
206 | + $is_eu = $this->is_eu_country($submission->country); |
|
207 | + $is_ip_eu = $this->is_eu_country($ip_country); |
|
208 | 208 | |
209 | 209 | // Maybe abort early for initial fetches. |
210 | - if ( $submission->is_initial_fetch() && empty( $vat_number ) ) { |
|
210 | + if ($submission->is_initial_fetch() && empty($vat_number)) { |
|
211 | 211 | return; |
212 | 212 | } |
213 | 213 | |
214 | 214 | // If we're preventing business to consumer purchases, |
215 | - if ( $this->requires_vat( $is_ip_eu, $is_eu ) && empty( $vat_number ) ) { |
|
215 | + if ($this->requires_vat($is_ip_eu, $is_eu) && empty($vat_number)) { |
|
216 | 216 | |
217 | 217 | // Ensure that a vat number has been specified. |
218 | 218 | throw new Exception( |
219 | - __( 'Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing' ) |
|
219 | + __('Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing') |
|
220 | 220 | ); |
221 | 221 | |
222 | 222 | } |
223 | 223 | |
224 | - if ( empty( $vat_number ) ) { |
|
224 | + if (empty($vat_number)) { |
|
225 | 225 | return; |
226 | 226 | } |
227 | 227 | |
228 | - if ( wpinv_should_validate_vat_number() && ! wpinv_validate_vat_number( $vat_number, $submission->country ) ) { |
|
229 | - throw new Exception( __( 'Your VAT number is invalid', 'invoicing' ) ); |
|
228 | + if (wpinv_should_validate_vat_number() && !wpinv_validate_vat_number($vat_number, $submission->country)) { |
|
229 | + throw new Exception(__('Your VAT number is invalid', 'invoicing')); |
|
230 | 230 | } |
231 | 231 | |
232 | - if ( wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) { |
|
232 | + if (wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option('vat_same_country_rule', 'vat_too')) { |
|
233 | 233 | return; |
234 | 234 | } |
235 | 235 |