@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * Abstract privacy class. |
4 | 4 | */ |
5 | 5 | |
6 | -defined( 'ABSPATH' ) || exit; |
|
6 | +defined('ABSPATH') || exit; |
|
7 | 7 | |
8 | 8 | /** |
9 | 9 | * Abstract class that is intended to be extended by |
@@ -38,7 +38,7 @@ discard block |
||
38 | 38 | * |
39 | 39 | * @param string $name Plugin identifier. |
40 | 40 | */ |
41 | - public function __construct( $name = '' ) { |
|
41 | + public function __construct($name = '') { |
|
42 | 42 | $this->name = $name; |
43 | 43 | $this->init(); |
44 | 44 | } |
@@ -47,22 +47,22 @@ discard block |
||
47 | 47 | * Hook in events. |
48 | 48 | */ |
49 | 49 | protected function init() { |
50 | - add_action( 'admin_init', array( $this, 'add_privacy_message' ) ); |
|
50 | + add_action('admin_init', array($this, 'add_privacy_message')); |
|
51 | 51 | // Register data exporters |
52 | - add_filter( 'wp_privacy_personal_data_exporters', array( $this, 'register_exporters' ), 10 ); |
|
52 | + add_filter('wp_privacy_personal_data_exporters', array($this, 'register_exporters'), 10); |
|
53 | 53 | // Register data erasers |
54 | - add_filter( 'wp_privacy_personal_data_erasers', array( $this, 'register_erasers' ) ); |
|
54 | + add_filter('wp_privacy_personal_data_erasers', array($this, 'register_erasers')); |
|
55 | 55 | } |
56 | 56 | |
57 | 57 | /** |
58 | 58 | * Adds the privacy message on invoicing privacy page. |
59 | 59 | */ |
60 | 60 | public function add_privacy_message() { |
61 | - if ( function_exists( 'wp_add_privacy_policy_content' ) ) { |
|
61 | + if (function_exists('wp_add_privacy_policy_content')) { |
|
62 | 62 | $content = $this->get_privacy_message(); |
63 | 63 | |
64 | - if ( $content ) { |
|
65 | - wp_add_privacy_policy_content( $this->name, $this->get_privacy_message() ); |
|
64 | + if ($content) { |
|
65 | + wp_add_privacy_policy_content($this->name, $this->get_privacy_message()); |
|
66 | 66 | } |
67 | 67 | } |
68 | 68 | } |
@@ -83,9 +83,9 @@ discard block |
||
83 | 83 | * @param array $exporters List of exporter callbacks. |
84 | 84 | * @return array |
85 | 85 | */ |
86 | - public function register_exporters( $exporters = array() ) { |
|
87 | - foreach ( $this->exporters as $id => $exporter ) { |
|
88 | - $exporters[ $id ] = $exporter; |
|
86 | + public function register_exporters($exporters = array()) { |
|
87 | + foreach ($this->exporters as $id => $exporter) { |
|
88 | + $exporters[$id] = $exporter; |
|
89 | 89 | } |
90 | 90 | return $exporters; |
91 | 91 | } |
@@ -96,9 +96,9 @@ discard block |
||
96 | 96 | * @param array $erasers List of eraser callbacks. |
97 | 97 | * @return array |
98 | 98 | */ |
99 | - public function register_erasers( $erasers = array() ) { |
|
100 | - foreach ( $this->erasers as $id => $eraser ) { |
|
101 | - $erasers[ $id ] = $eraser; |
|
99 | + public function register_erasers($erasers = array()) { |
|
100 | + foreach ($this->erasers as $id => $eraser) { |
|
101 | + $erasers[$id] = $eraser; |
|
102 | 102 | } |
103 | 103 | return $erasers; |
104 | 104 | } |
@@ -112,8 +112,8 @@ discard block |
||
112 | 112 | * |
113 | 113 | * @return array |
114 | 114 | */ |
115 | - public function add_exporter( $id, $name, $callback ) { |
|
116 | - $this->exporters[ $id ] = array( |
|
115 | + public function add_exporter($id, $name, $callback) { |
|
116 | + $this->exporters[$id] = array( |
|
117 | 117 | 'exporter_friendly_name' => $name, |
118 | 118 | 'callback' => $callback, |
119 | 119 | ); |
@@ -129,8 +129,8 @@ discard block |
||
129 | 129 | * |
130 | 130 | * @return array |
131 | 131 | */ |
132 | - public function add_eraser( $id, $name, $callback ) { |
|
133 | - $this->erasers[ $id ] = array( |
|
132 | + public function add_eraser($id, $name, $callback) { |
|
133 | + $this->erasers[$id] = array( |
|
134 | 134 | 'eraser_friendly_name' => $name, |
135 | 135 | 'callback' => $callback, |
136 | 136 | ); |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * Privacy/GDPR related functionality which ties into WordPress functionality. |
4 | 4 | */ |
5 | 5 | |
6 | -defined( 'ABSPATH' ) || exit; |
|
6 | +defined('ABSPATH') || exit; |
|
7 | 7 | |
8 | 8 | /** |
9 | 9 | * WPInv_Privacy Class. |
@@ -14,13 +14,13 @@ discard block |
||
14 | 14 | * Init - hook into events. |
15 | 15 | */ |
16 | 16 | public function __construct() { |
17 | - parent::__construct( __( 'Invoicing', 'invoicing' ) ); |
|
17 | + parent::__construct(__('Invoicing', 'invoicing')); |
|
18 | 18 | |
19 | 19 | // Include supporting classes. |
20 | 20 | include_once 'class-wpinv-privacy-exporters.php'; |
21 | 21 | |
22 | 22 | // This hook registers Invoicing data exporters. |
23 | - $this->add_exporter( 'wpinv-customer-invoices', __( 'Customer Invoices', 'invoicing' ), array( 'WPInv_Privacy_Exporters', 'customer_invoice_data_exporter' ) ); |
|
23 | + $this->add_exporter('wpinv-customer-invoices', __('Customer Invoices', 'invoicing'), array('WPInv_Privacy_Exporters', 'customer_invoice_data_exporter')); |
|
24 | 24 | } |
25 | 25 | |
26 | 26 | /** |
@@ -30,28 +30,28 @@ discard block |
||
30 | 30 | */ |
31 | 31 | public function get_privacy_message() { |
32 | 32 | |
33 | - $content = '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' . |
|
33 | + $content = '<h2>' . __('Invoices and checkout', 'invoicing') . '</h2>' . |
|
34 | 34 | '<div contenteditable="false">' . |
35 | - '<p class="wp-policy-help">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' . |
|
35 | + '<p class="wp-policy-help">' . __('Example privacy texts.', 'invoicing') . '</p>' . |
|
36 | 36 | '</div>' . |
37 | - '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' . |
|
38 | - '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' . |
|
37 | + '<p>' . __('We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing') . '</p>' . |
|
38 | + '<p>' . __('Handling this data also allows us to:', 'invoicing') . '</p>' . |
|
39 | 39 | '<ul>' . |
40 | - '<li>' . __( '- Send you important account/order/service information.', 'invoicing' ) . '</li>' . |
|
41 | - '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' . |
|
42 | - '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' . |
|
43 | - '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' . |
|
44 | - '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' . |
|
45 | - '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' . |
|
40 | + '<li>' . __('- Send you important account/order/service information.', 'invoicing') . '</li>' . |
|
41 | + '<li>' . __('- Estimate taxes based on your location.', 'invoicing') . '</li>' . |
|
42 | + '<li>' . __('- Respond to your queries or complaints.', 'invoicing') . '</li>' . |
|
43 | + '<li>' . __('- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing') . '</li>' . |
|
44 | + '<li>' . __('- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing') . '</li>' . |
|
45 | + '<li>' . __('- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing') . '</li>' . |
|
46 | 46 | '</ul>' . |
47 | - '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' . |
|
48 | - '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' . |
|
49 | - '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' . |
|
47 | + '<p>' . __('In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing') . '</p>' . |
|
48 | + '<h2>' . __('What we share with others', 'invoicing') . '</h2>' . |
|
49 | + '<p>' . __('We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing') . '</p>' . |
|
50 | 50 | '<div contenteditable="false">' . |
51 | - '<p class="wp-policy-help">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' . |
|
51 | + '<p class="wp-policy-help">' . __('In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing') . '</p>' . |
|
52 | 52 | '</div>' . |
53 | - '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' . |
|
54 | - '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>'; |
|
53 | + '<p>' . __('We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing') . '</p>' . |
|
54 | + '<p>' . __('Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing') . '</p>'; |
|
55 | 55 | |
56 | 56 | |
57 | 57 | |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | // '</p>' . |
63 | 63 | // '</div>'; |
64 | 64 | |
65 | - return apply_filters( 'wpinv_privacy_policy_content', $content ); |
|
65 | + return apply_filters('wpinv_privacy_policy_content', $content); |
|
66 | 66 | } |
67 | 67 | |
68 | 68 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if (!defined('ABSPATH')) { |
|
3 | 3 | exit; // Exit if accessed directly |
4 | 4 | } |
5 | 5 | |
@@ -14,74 +14,74 @@ discard block |
||
14 | 14 | } |
15 | 15 | |
16 | 16 | public function init() { |
17 | - do_action( 'wpinv_class_notes_init', $this ); |
|
17 | + do_action('wpinv_class_notes_init', $this); |
|
18 | 18 | } |
19 | 19 | |
20 | 20 | public function includes() { |
21 | - do_action( 'wpinv_class_notes_includes', $this ); |
|
21 | + do_action('wpinv_class_notes_includes', $this); |
|
22 | 22 | } |
23 | 23 | |
24 | 24 | public function actions() { |
25 | 25 | // Secure inovice notes |
26 | - add_action( 'pre_get_comments', array( $this, 'set_invoice_note_type' ), 11, 1 ); |
|
27 | - add_action( 'comment_feed_where', array( $this, 'wpinv_comment_feed_where' ), 10, 1 ); |
|
26 | + add_action('pre_get_comments', array($this, 'set_invoice_note_type'), 11, 1); |
|
27 | + add_action('comment_feed_where', array($this, 'wpinv_comment_feed_where'), 10, 1); |
|
28 | 28 | |
29 | 29 | // Count comments |
30 | - add_filter( 'wp_count_comments', array( $this, 'wp_count_comments' ), 11, 2 ); |
|
30 | + add_filter('wp_count_comments', array($this, 'wp_count_comments'), 11, 2); |
|
31 | 31 | |
32 | 32 | // Delete comments count cache whenever there is a new comment or a comment status changes |
33 | - add_action( 'wp_insert_comment', array( $this, 'delete_comments_count_cache' ) ); |
|
34 | - add_action( 'wp_set_comment_status', array( $this, 'delete_comments_count_cache' ) ); |
|
33 | + add_action('wp_insert_comment', array($this, 'delete_comments_count_cache')); |
|
34 | + add_action('wp_set_comment_status', array($this, 'delete_comments_count_cache')); |
|
35 | 35 | |
36 | - do_action( 'wpinv_class_notes_actions', $this ); |
|
36 | + do_action('wpinv_class_notes_actions', $this); |
|
37 | 37 | } |
38 | 38 | |
39 | - public function set_invoice_note_type( $query ) { |
|
40 | - $post_ID = !empty( $query->query_vars['post_ID'] ) ? $query->query_vars['post_ID'] : $query->query_vars['post_id']; |
|
39 | + public function set_invoice_note_type($query) { |
|
40 | + $post_ID = !empty($query->query_vars['post_ID']) ? $query->query_vars['post_ID'] : $query->query_vars['post_id']; |
|
41 | 41 | |
42 | - if ( $post_ID && in_array(get_post_type( $post_ID ), array($this->invoice_post_type, 'wpi_quote' )) ) { |
|
42 | + if ($post_ID && in_array(get_post_type($post_ID), array($this->invoice_post_type, 'wpi_quote'))) { |
|
43 | 43 | $query->query_vars['type__in'] = $this->comment_type; |
44 | 44 | $query->query_vars['type__not_in'] = ''; |
45 | 45 | } else { |
46 | - if ( isset( $query->query_vars['type__in'] ) && $type_in = $query->query_vars['type__in'] ) { |
|
47 | - if ( is_array( $type_in ) && in_array( $this->comment_type, $type_in ) ) { |
|
48 | - $key = array_search( $this->comment_type, $type_in ); |
|
49 | - unset( $query->query_vars['type__in'][$key] ); |
|
50 | - } else if ( !is_array( $type_in ) && $type_in == $this->comment_type ) { |
|
46 | + if (isset($query->query_vars['type__in']) && $type_in = $query->query_vars['type__in']) { |
|
47 | + if (is_array($type_in) && in_array($this->comment_type, $type_in)) { |
|
48 | + $key = array_search($this->comment_type, $type_in); |
|
49 | + unset($query->query_vars['type__in'][$key]); |
|
50 | + } else if (!is_array($type_in) && $type_in == $this->comment_type) { |
|
51 | 51 | $query->query_vars['type__in'] = ''; |
52 | 52 | } |
53 | 53 | } |
54 | 54 | |
55 | - if ( isset( $query->query_vars['type__not_in'] ) && $type_not_in = $query->query_vars['type__not_in'] ) { |
|
56 | - if ( is_array( $type_not_in ) && !in_array( $this->comment_type, $type_not_in ) ) { |
|
55 | + if (isset($query->query_vars['type__not_in']) && $type_not_in = $query->query_vars['type__not_in']) { |
|
56 | + if (is_array($type_not_in) && !in_array($this->comment_type, $type_not_in)) { |
|
57 | 57 | $query->query_vars['type__not_in'][] = $this->comment_type; |
58 | - } else if ( !is_array( $type_not_in ) && $type_not_in != $this->comment_type ) { |
|
58 | + } else if (!is_array($type_not_in) && $type_not_in != $this->comment_type) { |
|
59 | 59 | $query->query_vars['type__not_in'] = (array)$query->query_vars['type__not_in']; |
60 | 60 | $query->query_vars['type__not_in'][] = $this->comment_type; |
61 | 61 | } |
62 | 62 | } else { |
63 | - $query->query_vars['type__not_in'] = $this->comment_type; |
|
63 | + $query->query_vars['type__not_in'] = $this->comment_type; |
|
64 | 64 | } |
65 | 65 | } |
66 | 66 | |
67 | 67 | return $query; |
68 | 68 | } |
69 | 69 | |
70 | - public function get_invoice_notes( $invoice_id = 0, $type = '' ) { |
|
70 | + public function get_invoice_notes($invoice_id = 0, $type = '') { |
|
71 | 71 | $args = array( |
72 | 72 | 'post_id' => $invoice_id, |
73 | 73 | 'orderby' => 'comment_ID', |
74 | 74 | 'order' => 'ASC', |
75 | 75 | ); |
76 | 76 | |
77 | - if ( $type == 'customer' ) { |
|
77 | + if ($type == 'customer') { |
|
78 | 78 | $args['meta_key'] = '_wpi_customer_note'; |
79 | 79 | $args['meta_value'] = 1; |
80 | 80 | } |
81 | 81 | |
82 | - $args = apply_filters( 'wpinv_invoice_notes_args', $args, $this, $invoice_id, $type ); |
|
82 | + $args = apply_filters('wpinv_invoice_notes_args', $args, $this, $invoice_id, $type); |
|
83 | 83 | |
84 | - return get_comments( $args ); |
|
84 | + return get_comments($args); |
|
85 | 85 | } |
86 | 86 | |
87 | 87 | /** |
@@ -92,7 +92,7 @@ discard block |
||
92 | 92 | * @return void |
93 | 93 | */ |
94 | 94 | public function delete_comments_count_cache() { |
95 | - delete_transient( 'wpinv_count_comments' ); |
|
95 | + delete_transient('wpinv_count_comments'); |
|
96 | 96 | } |
97 | 97 | |
98 | 98 | /** |
@@ -103,16 +103,16 @@ discard block |
||
103 | 103 | * @param int $post_id Post ID. |
104 | 104 | * @return object |
105 | 105 | */ |
106 | - public function wp_count_comments( $stats, $post_id ) { |
|
106 | + public function wp_count_comments($stats, $post_id) { |
|
107 | 107 | global $wpdb; |
108 | 108 | |
109 | - if ( 0 === $post_id ) { |
|
110 | - $stats = get_transient( 'wpinv_count_comments' ); |
|
109 | + if (0 === $post_id) { |
|
110 | + $stats = get_transient('wpinv_count_comments'); |
|
111 | 111 | |
112 | - if ( ! $stats ) { |
|
112 | + if (!$stats) { |
|
113 | 113 | $stats = array(); |
114 | 114 | |
115 | - $count = $wpdb->get_results( "SELECT comment_approved, COUNT(*) AS num_comments FROM {$wpdb->comments} WHERE comment_type NOT IN ('" . $this->comment_type . "') GROUP BY comment_approved", ARRAY_A ); |
|
115 | + $count = $wpdb->get_results("SELECT comment_approved, COUNT(*) AS num_comments FROM {$wpdb->comments} WHERE comment_type NOT IN ('" . $this->comment_type . "') GROUP BY comment_approved", ARRAY_A); |
|
116 | 116 | |
117 | 117 | $total = 0; |
118 | 118 | $approved = array( |
@@ -123,33 +123,33 @@ discard block |
||
123 | 123 | 'post-trashed' => 'post-trashed', |
124 | 124 | ); |
125 | 125 | |
126 | - foreach ( (array) $count as $row ) { |
|
126 | + foreach ((array)$count as $row) { |
|
127 | 127 | // Do not count post-trashed toward totals. |
128 | - if ( 'post-trashed' !== $row['comment_approved'] && 'trash' !== $row['comment_approved'] ) { |
|
128 | + if ('post-trashed' !== $row['comment_approved'] && 'trash' !== $row['comment_approved']) { |
|
129 | 129 | $total += $row['num_comments']; |
130 | 130 | } |
131 | - if ( isset( $approved[ $row['comment_approved'] ] ) ) { |
|
132 | - $stats[ $approved[ $row['comment_approved'] ] ] = $row['num_comments']; |
|
131 | + if (isset($approved[$row['comment_approved']])) { |
|
132 | + $stats[$approved[$row['comment_approved']]] = $row['num_comments']; |
|
133 | 133 | } |
134 | 134 | } |
135 | 135 | |
136 | 136 | $stats['total_comments'] = $total; |
137 | 137 | $stats['all'] = $total; |
138 | - foreach ( $approved as $key ) { |
|
139 | - if ( empty( $stats[ $key ] ) ) { |
|
140 | - $stats[ $key ] = 0; |
|
138 | + foreach ($approved as $key) { |
|
139 | + if (empty($stats[$key])) { |
|
140 | + $stats[$key] = 0; |
|
141 | 141 | } |
142 | 142 | } |
143 | 143 | |
144 | - $stats = (object) $stats; |
|
145 | - set_transient( 'wpinv_count_comments', $stats ); |
|
144 | + $stats = (object)$stats; |
|
145 | + set_transient('wpinv_count_comments', $stats); |
|
146 | 146 | } |
147 | 147 | } |
148 | 148 | |
149 | 149 | return $stats; |
150 | 150 | } |
151 | 151 | |
152 | - function wpinv_comment_feed_where($where){ |
|
153 | - return $where . ( $where ? ' AND ' : '' ) . " comment_type != 'wpinv_note' "; |
|
152 | + function wpinv_comment_feed_where($where) { |
|
153 | + return $where . ($where ? ' AND ' : '') . " comment_type != 'wpinv_note' "; |
|
154 | 154 | } |
155 | 155 | } |
@@ -11,49 +11,49 @@ discard block |
||
11 | 11 | * @since 1.0.0 |
12 | 12 | */ |
13 | 13 | function wpinv_automatic_upgrade() { |
14 | - $wpi_version = get_option( 'wpinv_version' ); |
|
14 | + $wpi_version = get_option('wpinv_version'); |
|
15 | 15 | |
16 | - if ( $wpi_version == WPINV_VERSION ) { |
|
16 | + if ($wpi_version == WPINV_VERSION) { |
|
17 | 17 | return; |
18 | 18 | } |
19 | 19 | |
20 | - if ( version_compare( $wpi_version, '0.0.5', '<' ) ) { |
|
20 | + if (version_compare($wpi_version, '0.0.5', '<')) { |
|
21 | 21 | wpinv_v005_upgrades(); |
22 | 22 | } |
23 | 23 | |
24 | - if ( version_compare( $wpi_version, '1.0.3', '<' ) ) { |
|
24 | + if (version_compare($wpi_version, '1.0.3', '<')) { |
|
25 | 25 | wpinv_v110_upgrades(); |
26 | 26 | } |
27 | 27 | |
28 | - update_option( 'wpinv_version', WPINV_VERSION ); |
|
28 | + update_option('wpinv_version', WPINV_VERSION); |
|
29 | 29 | } |
30 | -add_action( 'admin_init', 'wpinv_automatic_upgrade' ); |
|
30 | +add_action('admin_init', 'wpinv_automatic_upgrade'); |
|
31 | 31 | |
32 | 32 | function wpinv_v005_upgrades() { |
33 | 33 | global $wpdb; |
34 | 34 | |
35 | 35 | // Invoices status |
36 | - $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' )" ); |
|
37 | - if ( !empty( $results ) ) { |
|
38 | - $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' )" ); |
|
36 | + $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' )"); |
|
37 | + if (!empty($results)) { |
|
38 | + $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' )"); |
|
39 | 39 | |
40 | 40 | // Clean post cache |
41 | - foreach ( $results as $row ) { |
|
42 | - clean_post_cache( $row->ID ); |
|
41 | + foreach ($results as $row) { |
|
42 | + clean_post_cache($row->ID); |
|
43 | 43 | } |
44 | 44 | } |
45 | 45 | |
46 | 46 | // Item meta key changes |
47 | 47 | $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' )"; |
48 | - $results = $wpdb->get_results( $query ); |
|
48 | + $results = $wpdb->get_results($query); |
|
49 | 49 | |
50 | - if ( !empty( $results ) ) { |
|
51 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" ); |
|
52 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" ); |
|
53 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" ); |
|
50 | + if (!empty($results)) { |
|
51 | + $wpdb->query("UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )"); |
|
52 | + $wpdb->query("UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'"); |
|
53 | + $wpdb->query("UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'"); |
|
54 | 54 | |
55 | - foreach ( $results as $row ) { |
|
56 | - clean_post_cache( $row->post_id ); |
|
55 | + foreach ($results as $row) { |
|
56 | + clean_post_cache($row->post_id); |
|
57 | 57 | } |
58 | 58 | } |
59 | 59 | |
@@ -74,79 +74,79 @@ discard block |
||
74 | 74 | function wpinv_convert_old_subscriptions() { |
75 | 75 | global $wpdb; |
76 | 76 | |
77 | - $query = "SELECT ". $wpdb->posts .".ID FROM ". $wpdb->posts ." INNER JOIN ". $wpdb->postmeta ." ON ( ". $wpdb->posts .".ID = ". $wpdb->postmeta .".post_id ) WHERE 1=1 AND ". $wpdb->postmeta .".meta_key = '_wpinv_subscr_status' AND (". $wpdb->postmeta .".meta_value = 'pending' OR ". $wpdb->postmeta .".meta_value = 'active' OR ". $wpdb->postmeta .".meta_value = 'cancelled' OR ". $wpdb->postmeta .".meta_value = 'completed' OR ". $wpdb->postmeta .".meta_value = 'expired' OR ". $wpdb->postmeta .".meta_value = 'trialling' OR ". $wpdb->postmeta .".meta_value = 'failing') AND ". $wpdb->posts .".post_type = 'wpi_invoice' GROUP BY ". $wpdb->posts .".ID ORDER BY ". $wpdb->posts .".ID ASC"; |
|
77 | + $query = "SELECT " . $wpdb->posts . ".ID FROM " . $wpdb->posts . " INNER JOIN " . $wpdb->postmeta . " ON ( " . $wpdb->posts . ".ID = " . $wpdb->postmeta . ".post_id ) WHERE 1=1 AND " . $wpdb->postmeta . ".meta_key = '_wpinv_subscr_status' AND (" . $wpdb->postmeta . ".meta_value = 'pending' OR " . $wpdb->postmeta . ".meta_value = 'active' OR " . $wpdb->postmeta . ".meta_value = 'cancelled' OR " . $wpdb->postmeta . ".meta_value = 'completed' OR " . $wpdb->postmeta . ".meta_value = 'expired' OR " . $wpdb->postmeta . ".meta_value = 'trialling' OR " . $wpdb->postmeta . ".meta_value = 'failing') AND " . $wpdb->posts . ".post_type = 'wpi_invoice' GROUP BY " . $wpdb->posts . ".ID ORDER BY " . $wpdb->posts . ".ID ASC"; |
|
78 | 78 | |
79 | - $results = $wpdb->get_results( $query ); |
|
79 | + $results = $wpdb->get_results($query); |
|
80 | 80 | |
81 | - if ( empty( $results ) ) { |
|
81 | + if (empty($results)) { |
|
82 | 82 | return; |
83 | 83 | } |
84 | 84 | |
85 | - foreach ( $results as $row ) { |
|
86 | - $invoice = new WPInv_Invoice( $row->ID ); |
|
85 | + foreach ($results as $row) { |
|
86 | + $invoice = new WPInv_Invoice($row->ID); |
|
87 | 87 | |
88 | - if ( empty( $invoice->ID ) ) { |
|
88 | + if (empty($invoice->ID)) { |
|
89 | 89 | continue; |
90 | 90 | } |
91 | 91 | |
92 | - if ( $invoice->has_status( 'wpi-renewal' ) ) { |
|
92 | + if ($invoice->has_status('wpi-renewal')) { |
|
93 | 93 | continue; |
94 | 94 | } |
95 | 95 | |
96 | - $item = $invoice->get_recurring( true ); |
|
96 | + $item = $invoice->get_recurring(true); |
|
97 | 97 | |
98 | - if ( empty( $item ) ) { |
|
98 | + if (empty($item)) { |
|
99 | 99 | continue; |
100 | 100 | } |
101 | 101 | |
102 | 102 | $is_free_trial = $invoice->is_free_trial(); |
103 | - $profile_id = get_post_meta( $invoice->ID, '_wpinv_subscr_profile_id', true ); |
|
104 | - $subscription_status = get_post_meta( $invoice->ID, '_wpinv_subscr_status', true ); |
|
103 | + $profile_id = get_post_meta($invoice->ID, '_wpinv_subscr_profile_id', true); |
|
104 | + $subscription_status = get_post_meta($invoice->ID, '_wpinv_subscr_status', true); |
|
105 | 105 | $transaction_id = $invoice->get_transaction_id(); |
106 | 106 | |
107 | 107 | // Last invoice |
108 | - $query = "SELECT ID, post_date FROM ". $wpdb->posts ." WHERE post_type = 'wpi_invoice' AND post_parent = '" . $invoice->ID . "' ORDER BY ID DESC LIMIT 1"; |
|
109 | - $last_payment = $wpdb->get_row( $query ); |
|
108 | + $query = "SELECT ID, post_date FROM " . $wpdb->posts . " WHERE post_type = 'wpi_invoice' AND post_parent = '" . $invoice->ID . "' ORDER BY ID DESC LIMIT 1"; |
|
109 | + $last_payment = $wpdb->get_row($query); |
|
110 | 110 | |
111 | - if ( !empty( $last_payment ) ) { |
|
112 | - $invoice_date = $last_payment->post_date; |
|
111 | + if (!empty($last_payment)) { |
|
112 | + $invoice_date = $last_payment->post_date; |
|
113 | 113 | |
114 | - $meta_profile_id = get_post_meta( $last_payment->ID, '_wpinv_subscr_profile_id', true ); |
|
115 | - $meta_transaction_id = get_post_meta( $last_payment->ID, '_wpinv_transaction_id', true ); |
|
114 | + $meta_profile_id = get_post_meta($last_payment->ID, '_wpinv_subscr_profile_id', true); |
|
115 | + $meta_transaction_id = get_post_meta($last_payment->ID, '_wpinv_transaction_id', true); |
|
116 | 116 | |
117 | - if ( !empty( $meta_profile_id ) ) { |
|
118 | - $profile_id = $meta_profile_id; |
|
117 | + if (!empty($meta_profile_id)) { |
|
118 | + $profile_id = $meta_profile_id; |
|
119 | 119 | } |
120 | 120 | |
121 | - if ( !empty( $meta_transaction_id ) ) { |
|
122 | - $transaction_id = $meta_transaction_id; |
|
121 | + if (!empty($meta_transaction_id)) { |
|
122 | + $transaction_id = $meta_transaction_id; |
|
123 | 123 | } |
124 | 124 | } else { |
125 | - $invoice_date = $invoice->get_invoice_date( false ); |
|
125 | + $invoice_date = $invoice->get_invoice_date(false); |
|
126 | 126 | } |
127 | 127 | |
128 | - $profile_id = empty( $profile_id ) ? $invoice->ID : $profile_id; |
|
129 | - $status = empty( $subscription_status ) ? 'pending' : $subscription_status; |
|
128 | + $profile_id = empty($profile_id) ? $invoice->ID : $profile_id; |
|
129 | + $status = empty($subscription_status) ? 'pending' : $subscription_status; |
|
130 | 130 | |
131 | - $period = $item->get_recurring_period( true ); |
|
131 | + $period = $item->get_recurring_period(true); |
|
132 | 132 | $interval = $item->get_recurring_interval(); |
133 | 133 | $bill_times = (int)$item->get_recurring_limit(); |
134 | 134 | $add_period = $interval . ' ' . $period; |
135 | 135 | $trial_period = ''; |
136 | 136 | |
137 | - if ( $invoice->is_free_trial() ) { |
|
138 | - $trial_period = $item->get_trial_period( true ); |
|
137 | + if ($invoice->is_free_trial()) { |
|
138 | + $trial_period = $item->get_trial_period(true); |
|
139 | 139 | $free_interval = $item->get_trial_interval(); |
140 | 140 | $trial_period = $free_interval . ' ' . $trial_period; |
141 | 141 | |
142 | - if ( empty( $last_payment ) ) { |
|
142 | + if (empty($last_payment)) { |
|
143 | 143 | $add_period = $trial_period; |
144 | 144 | } |
145 | 145 | } |
146 | 146 | |
147 | - $expiration = date_i18n( 'Y-m-d H:i:s', strtotime( '+' . $add_period . ' 23:59:59', strtotime( $invoice_date ) ) ); |
|
148 | - if ( strtotime( $expiration ) < strtotime( date_i18n( 'Y-m-d' ) ) ) { |
|
149 | - if ( $status == 'active' || $status == 'trialling' || $status == 'pending' ) { |
|
147 | + $expiration = date_i18n('Y-m-d H:i:s', strtotime('+' . $add_period . ' 23:59:59', strtotime($invoice_date))); |
|
148 | + if (strtotime($expiration) < strtotime(date_i18n('Y-m-d'))) { |
|
149 | + if ($status == 'active' || $status == 'trialling' || $status == 'pending') { |
|
150 | 150 | $status = 'expired'; |
151 | 151 | } |
152 | 152 | } |
@@ -159,7 +159,7 @@ discard block |
||
159 | 159 | 'frequency' => $interval, |
160 | 160 | 'period' => $period, |
161 | 161 | 'initial_amount' => $invoice->get_total(), |
162 | - 'recurring_amount' => $invoice->get_recurring_details( 'total' ), |
|
162 | + 'recurring_amount' => $invoice->get_recurring_details('total'), |
|
163 | 163 | 'bill_times' => $bill_times, |
164 | 164 | 'created' => $invoice_date, |
165 | 165 | 'expiration' => $expiration, |
@@ -169,14 +169,14 @@ discard block |
||
169 | 169 | ); |
170 | 170 | |
171 | 171 | $subs_db = new WPInv_Subscriptions_DB; |
172 | - $subs = $subs_db->get_subscriptions( array( 'parent_payment_id' => $invoice->ID, 'number' => 1 ) ); |
|
173 | - $subscription = reset( $subs ); |
|
172 | + $subs = $subs_db->get_subscriptions(array('parent_payment_id' => $invoice->ID, 'number' => 1)); |
|
173 | + $subscription = reset($subs); |
|
174 | 174 | |
175 | - if ( empty( $subscription ) || $subscription->id <= 0 ) { |
|
175 | + if (empty($subscription) || $subscription->id <= 0) { |
|
176 | 176 | $subscription = new WPInv_Subscription(); |
177 | - $new_sub = $subscription->create( $args ); |
|
177 | + $new_sub = $subscription->create($args); |
|
178 | 178 | |
179 | - if ( !empty( $bill_times ) && $new_sub->get_times_billed() >= $bill_times && ( 'active' == $new_sub->status || 'trialling' == $new_sub->status ) ) { |
|
179 | + if (!empty($bill_times) && $new_sub->get_times_billed() >= $bill_times && ('active' == $new_sub->status || 'trialling' == $new_sub->status)) { |
|
180 | 180 | $new_sub->complete(); // Mark completed if all times billed |
181 | 181 | } |
182 | 182 | } |
@@ -186,20 +186,20 @@ discard block |
||
186 | 186 | function wpinv_update_new_email_settings() { |
187 | 187 | global $wpinv_options; |
188 | 188 | |
189 | - $current_options = get_option( 'wpinv_settings', array() ); |
|
189 | + $current_options = get_option('wpinv_settings', array()); |
|
190 | 190 | $options = array( |
191 | - 'email_new_invoice_body' => __( '<p>Hi Admin,</p><p>You have received payment invoice from {name}.</p>', 'invoicing' ), |
|
192 | - 'email_cancelled_invoice_body' => __( '<p>Hi Admin,</p><p>The invoice #{invoice_number} from {site_title} has been cancelled.</p>', 'invoicing' ), |
|
193 | - 'email_failed_invoice_body' => __( '<p>Hi Admin,</p><p>Payment for invoice #{invoice_number} from {site_title} has been failed.</p>', 'invoicing' ), |
|
194 | - 'email_onhold_invoice_body' => __( '<p>Hi {name},</p><p>Your invoice is on-hold until we confirm your payment has been received.</p>', 'invoicing' ), |
|
195 | - 'email_processing_invoice_body' => __( '<p>Hi {name},</p><p>Your invoice has been received at {site_title} and is now being processed.</p>', 'invoicing' ), |
|
196 | - 'email_refunded_invoice_body' => __( '<p>Hi {name},</p><p>Your invoice on {site_title} has been refunded.</p>', 'invoicing' ), |
|
197 | - 'email_user_invoice_body' => __( '<p>Hi {name},</p><p>An invoice has been created for you on {site_title}. To view / pay for this invoice please use the following link: <a class="btn btn-success" href="{invoice_link}">View / Pay</a></p>', 'invoicing' ), |
|
198 | - 'email_user_note_body' => __( '<p>Hi {name},</p><p>Following note has been added to your {invoice_label}:</p><blockquote class="wpinv-note">{customer_note}</blockquote>', 'invoicing' ), |
|
199 | - 'email_overdue_body' => __( '<p>Hi {full_name},</p><p>This is just a friendly reminder that your invoice <a href="{invoice_link}">#{invoice_number}</a> {is_was} due on {invoice_due_date}.</p><p>The total of this invoice is {invoice_total}</p><p>To view / pay now for this invoice please use the following link: <a class="btn btn-success" href="{invoice_link}">View / Pay</a></p>', 'invoicing' ), |
|
191 | + 'email_new_invoice_body' => __('<p>Hi Admin,</p><p>You have received payment invoice from {name}.</p>', 'invoicing'), |
|
192 | + 'email_cancelled_invoice_body' => __('<p>Hi Admin,</p><p>The invoice #{invoice_number} from {site_title} has been cancelled.</p>', 'invoicing'), |
|
193 | + 'email_failed_invoice_body' => __('<p>Hi Admin,</p><p>Payment for invoice #{invoice_number} from {site_title} has been failed.</p>', 'invoicing'), |
|
194 | + 'email_onhold_invoice_body' => __('<p>Hi {name},</p><p>Your invoice is on-hold until we confirm your payment has been received.</p>', 'invoicing'), |
|
195 | + 'email_processing_invoice_body' => __('<p>Hi {name},</p><p>Your invoice has been received at {site_title} and is now being processed.</p>', 'invoicing'), |
|
196 | + 'email_refunded_invoice_body' => __('<p>Hi {name},</p><p>Your invoice on {site_title} has been refunded.</p>', 'invoicing'), |
|
197 | + 'email_user_invoice_body' => __('<p>Hi {name},</p><p>An invoice has been created for you on {site_title}. To view / pay for this invoice please use the following link: <a class="btn btn-success" href="{invoice_link}">View / Pay</a></p>', 'invoicing'), |
|
198 | + 'email_user_note_body' => __('<p>Hi {name},</p><p>Following note has been added to your {invoice_label}:</p><blockquote class="wpinv-note">{customer_note}</blockquote>', 'invoicing'), |
|
199 | + 'email_overdue_body' => __('<p>Hi {full_name},</p><p>This is just a friendly reminder that your invoice <a href="{invoice_link}">#{invoice_number}</a> {is_was} due on {invoice_due_date}.</p><p>The total of this invoice is {invoice_total}</p><p>To view / pay now for this invoice please use the following link: <a class="btn btn-success" href="{invoice_link}">View / Pay</a></p>', 'invoicing'), |
|
200 | 200 | ); |
201 | 201 | |
202 | - foreach ($options as $option => $value){ |
|
202 | + foreach ($options as $option => $value) { |
|
203 | 203 | if (!isset($current_options[$option])) { |
204 | 204 | $current_options[$option] = $value; |
205 | 205 | } |
@@ -207,5 +207,5 @@ discard block |
||
207 | 207 | |
208 | 208 | $wpinv_options = $current_options; |
209 | 209 | |
210 | - update_option( 'wpinv_settings', $current_options ); |
|
210 | + update_option('wpinv_settings', $current_options); |
|
211 | 211 | } |
212 | 212 | \ No newline at end of file |
@@ -1,7 +1,7 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | 3 | // Exit if accessed directly |
4 | -if ( ! defined( 'ABSPATH' ) ) { |
|
4 | +if (!defined('ABSPATH')) { |
|
5 | 5 | exit; |
6 | 6 | } |
7 | 7 | |
@@ -38,15 +38,15 @@ discard block |
||
38 | 38 | * @since 1.0.0 |
39 | 39 | * @return void |
40 | 40 | */ |
41 | - function __construct( $_id_or_object = 0, $_by_profile_id = false ) { |
|
41 | + function __construct($_id_or_object = 0, $_by_profile_id = false) { |
|
42 | 42 | |
43 | 43 | $this->subs_db = new WPInv_Subscriptions_DB; |
44 | 44 | |
45 | - if( $_by_profile_id ) { |
|
45 | + if ($_by_profile_id) { |
|
46 | 46 | |
47 | - $_sub = $this->subs_db->get_by( 'profile_id', $_id_or_object ); |
|
47 | + $_sub = $this->subs_db->get_by('profile_id', $_id_or_object); |
|
48 | 48 | |
49 | - if( empty( $_sub ) ) { |
|
49 | + if (empty($_sub)) { |
|
50 | 50 | return false; |
51 | 51 | } |
52 | 52 | |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | |
55 | 55 | } |
56 | 56 | |
57 | - return $this->setup_subscription( $_id_or_object ); |
|
57 | + return $this->setup_subscription($_id_or_object); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | /** |
@@ -63,34 +63,34 @@ discard block |
||
63 | 63 | * @since 1.0.0 |
64 | 64 | * @return void |
65 | 65 | */ |
66 | - private function setup_subscription( $id_or_object = 0 ) { |
|
66 | + private function setup_subscription($id_or_object = 0) { |
|
67 | 67 | |
68 | - if( empty( $id_or_object ) ) { |
|
68 | + if (empty($id_or_object)) { |
|
69 | 69 | return false; |
70 | 70 | } |
71 | 71 | |
72 | - if( is_numeric( $id_or_object ) ) { |
|
72 | + if (is_numeric($id_or_object)) { |
|
73 | 73 | |
74 | - $sub = $this->subs_db->get( $id_or_object ); |
|
74 | + $sub = $this->subs_db->get($id_or_object); |
|
75 | 75 | |
76 | - } elseif( is_object( $id_or_object ) ) { |
|
76 | + } elseif (is_object($id_or_object)) { |
|
77 | 77 | |
78 | 78 | $sub = $id_or_object; |
79 | 79 | |
80 | 80 | } |
81 | 81 | |
82 | - if( empty( $sub ) ) { |
|
82 | + if (empty($sub)) { |
|
83 | 83 | return false; |
84 | 84 | } |
85 | 85 | |
86 | - foreach( $sub as $key => $value ) { |
|
86 | + foreach ($sub as $key => $value) { |
|
87 | 87 | $this->$key = $value; |
88 | 88 | } |
89 | 89 | |
90 | - $this->customer = get_userdata( $this->customer_id ); |
|
91 | - $this->gateway = wpinv_get_payment_gateway( $this->parent_payment_id ); |
|
90 | + $this->customer = get_userdata($this->customer_id); |
|
91 | + $this->gateway = wpinv_get_payment_gateway($this->parent_payment_id); |
|
92 | 92 | |
93 | - do_action( 'wpinv_recurring_setup_subscription', $this ); |
|
93 | + do_action('wpinv_recurring_setup_subscription', $this); |
|
94 | 94 | |
95 | 95 | return $this; |
96 | 96 | } |
@@ -100,15 +100,15 @@ discard block |
||
100 | 100 | * |
101 | 101 | * @since 1.0.0 |
102 | 102 | */ |
103 | - public function __get( $key ) { |
|
103 | + public function __get($key) { |
|
104 | 104 | |
105 | - if( method_exists( $this, 'get_' . $key ) ) { |
|
105 | + if (method_exists($this, 'get_' . $key)) { |
|
106 | 106 | |
107 | - return call_user_func( array( $this, 'get_' . $key ) ); |
|
107 | + return call_user_func(array($this, 'get_' . $key)); |
|
108 | 108 | |
109 | 109 | } else { |
110 | 110 | |
111 | - return new WP_Error( 'wpinv-subscription-invalid-property', sprintf( __( 'Can\'t get property %s', 'invoicing' ), $key ) ); |
|
111 | + return new WP_Error('wpinv-subscription-invalid-property', sprintf(__('Can\'t get property %s', 'invoicing'), $key)); |
|
112 | 112 | |
113 | 113 | } |
114 | 114 | |
@@ -121,9 +121,9 @@ discard block |
||
121 | 121 | * @param array $data Array of attributes for a subscription |
122 | 122 | * @return mixed false if data isn't passed and class not instantiated for creation |
123 | 123 | */ |
124 | - public function create( $data = array() ) { |
|
124 | + public function create($data = array()) { |
|
125 | 125 | |
126 | - if ( $this->id != 0 ) { |
|
126 | + if ($this->id != 0) { |
|
127 | 127 | return false; |
128 | 128 | } |
129 | 129 | |
@@ -142,11 +142,11 @@ discard block |
||
142 | 142 | 'profile_id' => '', |
143 | 143 | ); |
144 | 144 | |
145 | - $args = wp_parse_args( $data, $defaults ); |
|
145 | + $args = wp_parse_args($data, $defaults); |
|
146 | 146 | |
147 | - if( $args['expiration'] && strtotime( 'NOW', current_time( 'timestamp' ) ) > strtotime( $args['expiration'], current_time( 'timestamp' ) ) ) { |
|
147 | + if ($args['expiration'] && strtotime('NOW', current_time('timestamp')) > strtotime($args['expiration'], current_time('timestamp'))) { |
|
148 | 148 | |
149 | - if( 'active' == $args['status'] || 'trialling' == $args['status'] ) { |
|
149 | + if ('active' == $args['status'] || 'trialling' == $args['status']) { |
|
150 | 150 | |
151 | 151 | // Force an active subscription to expired if expiration date is in the past |
152 | 152 | $args['status'] = 'expired'; |
@@ -154,13 +154,13 @@ discard block |
||
154 | 154 | } |
155 | 155 | } |
156 | 156 | |
157 | - do_action( 'wpinv_subscription_pre_create', $args ); |
|
157 | + do_action('wpinv_subscription_pre_create', $args); |
|
158 | 158 | |
159 | - $id = $this->subs_db->insert( $args, 'subscription' ); |
|
159 | + $id = $this->subs_db->insert($args, 'subscription'); |
|
160 | 160 | |
161 | - do_action( 'wpinv_subscription_post_create', $id, $args ); |
|
161 | + do_action('wpinv_subscription_post_create', $id, $args); |
|
162 | 162 | |
163 | - return $this->setup_subscription( $id ); |
|
163 | + return $this->setup_subscription($id); |
|
164 | 164 | |
165 | 165 | } |
166 | 166 | |
@@ -171,11 +171,11 @@ discard block |
||
171 | 171 | * @param array $args Array of fields to update |
172 | 172 | * @return bool |
173 | 173 | */ |
174 | - public function update( $args = array() ) { |
|
174 | + public function update($args = array()) { |
|
175 | 175 | |
176 | - $ret = $this->subs_db->update( $this->id, $args ); |
|
176 | + $ret = $this->subs_db->update($this->id, $args); |
|
177 | 177 | |
178 | - do_action( 'wpinv_recurring_update_subscription', $this->id, $args, $this ); |
|
178 | + do_action('wpinv_recurring_update_subscription', $this->id, $args, $this); |
|
179 | 179 | |
180 | 180 | return $ret; |
181 | 181 | |
@@ -188,7 +188,7 @@ discard block |
||
188 | 188 | * @return bool |
189 | 189 | */ |
190 | 190 | public function delete() { |
191 | - return $this->subs_db->delete( $this->id ); |
|
191 | + return $this->subs_db->delete($this->id); |
|
192 | 192 | } |
193 | 193 | |
194 | 194 | /** |
@@ -208,14 +208,14 @@ discard block |
||
208 | 208 | * @return array |
209 | 209 | */ |
210 | 210 | public function get_child_payments() { |
211 | - $payments = get_posts( array( |
|
212 | - 'post_parent' => (int) $this->parent_payment_id, |
|
211 | + $payments = get_posts(array( |
|
212 | + 'post_parent' => (int)$this->parent_payment_id, |
|
213 | 213 | 'posts_per_page' => '999', |
214 | - 'post_status' => array( 'publish', 'wpi-processing', 'wpi-renewal' ), |
|
214 | + 'post_status' => array('publish', 'wpi-processing', 'wpi-renewal'), |
|
215 | 215 | 'orderby' => 'ID', |
216 | 216 | 'order' => 'DESC', |
217 | 217 | 'post_type' => 'wpi_invoice' |
218 | - ) ); |
|
218 | + )); |
|
219 | 219 | |
220 | 220 | return $payments; |
221 | 221 | } |
@@ -228,9 +228,9 @@ discard block |
||
228 | 228 | */ |
229 | 229 | public function get_total_payments() { |
230 | 230 | $child_payments = $this->get_child_payments(); |
231 | - $total_payments = !empty( $child_payments ) ? count( $child_payments ) : 0; |
|
231 | + $total_payments = !empty($child_payments) ? count($child_payments) : 0; |
|
232 | 232 | |
233 | - if ( 'pending' != $this->status ) { |
|
233 | + if ('pending' != $this->status) { |
|
234 | 234 | $total_payments++; |
235 | 235 | } |
236 | 236 | |
@@ -246,7 +246,7 @@ discard block |
||
246 | 246 | public function get_times_billed() { |
247 | 247 | $times_billed = (int)$this->get_total_payments(); |
248 | 248 | |
249 | - if ( ! empty( $this->trial_period ) && $times_billed > 0 ) { |
|
249 | + if (!empty($this->trial_period) && $times_billed > 0) { |
|
250 | 250 | $times_billed--; |
251 | 251 | } |
252 | 252 | |
@@ -260,51 +260,51 @@ discard block |
||
260 | 260 | * @param array $args Array of values for the payment, including amount and transaction ID |
261 | 261 | * @return bool |
262 | 262 | */ |
263 | - public function add_payment( $args = array() ) { |
|
264 | - if ( ! $this->parent_payment_id ) { |
|
263 | + public function add_payment($args = array()) { |
|
264 | + if (!$this->parent_payment_id) { |
|
265 | 265 | return false; |
266 | 266 | } |
267 | 267 | |
268 | - $args = wp_parse_args( $args, array( |
|
268 | + $args = wp_parse_args($args, array( |
|
269 | 269 | 'amount' => '', |
270 | 270 | 'transaction_id' => '', |
271 | 271 | 'gateway' => '' |
272 | - ) ); |
|
272 | + )); |
|
273 | 273 | |
274 | - if ( empty( $args['transaction_id'] ) || $this->payment_exists( $args['transaction_id'] ) ) { |
|
274 | + if (empty($args['transaction_id']) || $this->payment_exists($args['transaction_id'])) { |
|
275 | 275 | return false; |
276 | 276 | } |
277 | 277 | |
278 | - $parent_invoice = wpinv_get_invoice( $this->parent_payment_id ); |
|
279 | - if ( empty( $parent_invoice->ID ) ) { |
|
278 | + $parent_invoice = wpinv_get_invoice($this->parent_payment_id); |
|
279 | + if (empty($parent_invoice->ID)) { |
|
280 | 280 | return false; |
281 | 281 | } |
282 | 282 | |
283 | 283 | $invoice = new WPInv_Invoice(); |
284 | - $invoice->set( 'post_type', 'wpi_invoice' ); |
|
285 | - $invoice->set( 'parent_invoice', $this->parent_payment_id ); |
|
286 | - $invoice->set( 'currency', $parent_invoice->get_currency() ); |
|
287 | - $invoice->set( 'transaction_id', $args['transaction_id'] ); |
|
288 | - $invoice->set( 'key', $parent_invoice->generate_key() ); |
|
289 | - $invoice->set( 'ip', $parent_invoice->ip ); |
|
290 | - $invoice->set( 'user_id', $parent_invoice->get_user_id() ); |
|
291 | - $invoice->set( 'first_name', $parent_invoice->get_first_name() ); |
|
292 | - $invoice->set( 'last_name', $parent_invoice->get_last_name() ); |
|
293 | - $invoice->set( 'phone', $parent_invoice->phone ); |
|
294 | - $invoice->set( 'address', $parent_invoice->address ); |
|
295 | - $invoice->set( 'city', $parent_invoice->city ); |
|
296 | - $invoice->set( 'country', $parent_invoice->country ); |
|
297 | - $invoice->set( 'state', $parent_invoice->state ); |
|
298 | - $invoice->set( 'zip', $parent_invoice->zip ); |
|
299 | - $invoice->set( 'company', $parent_invoice->company ); |
|
300 | - $invoice->set( 'vat_number', $parent_invoice->vat_number ); |
|
301 | - $invoice->set( 'vat_rate', $parent_invoice->vat_rate ); |
|
302 | - $invoice->set( 'adddress_confirmed', $parent_invoice->adddress_confirmed ); |
|
303 | - |
|
304 | - if ( empty( $args['gateway'] ) ) { |
|
305 | - $invoice->set( 'gateway', $parent_invoice->get_gateway() ); |
|
284 | + $invoice->set('post_type', 'wpi_invoice'); |
|
285 | + $invoice->set('parent_invoice', $this->parent_payment_id); |
|
286 | + $invoice->set('currency', $parent_invoice->get_currency()); |
|
287 | + $invoice->set('transaction_id', $args['transaction_id']); |
|
288 | + $invoice->set('key', $parent_invoice->generate_key()); |
|
289 | + $invoice->set('ip', $parent_invoice->ip); |
|
290 | + $invoice->set('user_id', $parent_invoice->get_user_id()); |
|
291 | + $invoice->set('first_name', $parent_invoice->get_first_name()); |
|
292 | + $invoice->set('last_name', $parent_invoice->get_last_name()); |
|
293 | + $invoice->set('phone', $parent_invoice->phone); |
|
294 | + $invoice->set('address', $parent_invoice->address); |
|
295 | + $invoice->set('city', $parent_invoice->city); |
|
296 | + $invoice->set('country', $parent_invoice->country); |
|
297 | + $invoice->set('state', $parent_invoice->state); |
|
298 | + $invoice->set('zip', $parent_invoice->zip); |
|
299 | + $invoice->set('company', $parent_invoice->company); |
|
300 | + $invoice->set('vat_number', $parent_invoice->vat_number); |
|
301 | + $invoice->set('vat_rate', $parent_invoice->vat_rate); |
|
302 | + $invoice->set('adddress_confirmed', $parent_invoice->adddress_confirmed); |
|
303 | + |
|
304 | + if (empty($args['gateway'])) { |
|
305 | + $invoice->set('gateway', $parent_invoice->get_gateway()); |
|
306 | 306 | } else { |
307 | - $invoice->set( 'gateway', $args['gateway'] ); |
|
307 | + $invoice->set('gateway', $args['gateway']); |
|
308 | 308 | } |
309 | 309 | |
310 | 310 | $recurring_details = $parent_invoice->get_recurring_details(); |
@@ -312,11 +312,11 @@ discard block |
||
312 | 312 | // increase the earnings for each item in the subscription |
313 | 313 | $items = $recurring_details['cart_details']; |
314 | 314 | |
315 | - if ( $items ) { |
|
315 | + if ($items) { |
|
316 | 316 | $add_items = array(); |
317 | 317 | $cart_details = array(); |
318 | 318 | |
319 | - foreach ( $items as $item ) { |
|
319 | + foreach ($items as $item) { |
|
320 | 320 | $add_item = array(); |
321 | 321 | $add_item['id'] = $item['id']; |
322 | 322 | $add_item['quantity'] = $item['quantity']; |
@@ -326,7 +326,7 @@ discard block |
||
326 | 326 | break; |
327 | 327 | } |
328 | 328 | |
329 | - $invoice->set( 'items', $add_items ); |
|
329 | + $invoice->set('items', $add_items); |
|
330 | 330 | $invoice->cart_details = $cart_details; |
331 | 331 | } |
332 | 332 | |
@@ -336,29 +336,29 @@ discard block |
||
336 | 336 | $tax = $recurring_details['tax']; |
337 | 337 | $discount = $recurring_details['discount']; |
338 | 338 | |
339 | - if ( $discount > 0 ) { |
|
340 | - $invoice->set( 'discount_code', $parent_invoice->discount_code ); |
|
339 | + if ($discount > 0) { |
|
340 | + $invoice->set('discount_code', $parent_invoice->discount_code); |
|
341 | 341 | } |
342 | 342 | |
343 | - $invoice->subtotal = wpinv_round_amount( $subtotal ); |
|
344 | - $invoice->tax = wpinv_round_amount( $tax ); |
|
345 | - $invoice->discount = wpinv_round_amount( $discount ); |
|
346 | - $invoice->total = wpinv_round_amount( $total ); |
|
343 | + $invoice->subtotal = wpinv_round_amount($subtotal); |
|
344 | + $invoice->tax = wpinv_round_amount($tax); |
|
345 | + $invoice->discount = wpinv_round_amount($discount); |
|
346 | + $invoice->total = wpinv_round_amount($total); |
|
347 | 347 | |
348 | - $invoice = apply_filters( 'wpinv_subscription_add_payment_save', $invoice, $this, $args ); |
|
348 | + $invoice = apply_filters('wpinv_subscription_add_payment_save', $invoice, $this, $args); |
|
349 | 349 | |
350 | 350 | $invoice->save(); |
351 | - $invoice->update_meta( '_wpinv_subscription_id', $this->id ); |
|
351 | + $invoice->update_meta('_wpinv_subscription_id', $this->id); |
|
352 | 352 | |
353 | - if ( !empty( $invoice->ID ) ) { |
|
354 | - wpinv_update_payment_status( $invoice->ID, 'publish' ); |
|
353 | + if (!empty($invoice->ID)) { |
|
354 | + wpinv_update_payment_status($invoice->ID, 'publish'); |
|
355 | 355 | sleep(1); |
356 | - wpinv_update_payment_status( $invoice->ID, 'wpi-renewal' ); |
|
356 | + wpinv_update_payment_status($invoice->ID, 'wpi-renewal'); |
|
357 | 357 | |
358 | - $invoice = wpinv_get_invoice( $invoice->ID ); |
|
358 | + $invoice = wpinv_get_invoice($invoice->ID); |
|
359 | 359 | |
360 | - do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this ); |
|
361 | - do_action( 'wpinv_recurring_record_payment', $invoice->ID, $this->parent_payment_id, $args['amount'], $args['transaction_id'] ); |
|
360 | + do_action('wpinv_recurring_add_subscription_payment', $invoice, $this); |
|
361 | + do_action('wpinv_recurring_record_payment', $invoice->ID, $this->parent_payment_id, $args['amount'], $args['transaction_id']); |
|
362 | 362 | |
363 | 363 | return $invoice->ID; |
364 | 364 | } |
@@ -374,12 +374,12 @@ discard block |
||
374 | 374 | */ |
375 | 375 | public function get_transaction_id() { |
376 | 376 | |
377 | - if( empty( $this->transaction_id ) ) { |
|
377 | + if (empty($this->transaction_id)) { |
|
378 | 378 | |
379 | - $txn_id = wpinv_get_payment_transaction_id( $this->parent_payment_id ); |
|
379 | + $txn_id = wpinv_get_payment_transaction_id($this->parent_payment_id); |
|
380 | 380 | |
381 | - if( ! empty( $txn_id ) && (int) $this->parent_payment_id !== (int) $txn_id ) { |
|
382 | - $this->set_transaction_id( $txn_id ); |
|
381 | + if (!empty($txn_id) && (int)$this->parent_payment_id !== (int)$txn_id) { |
|
382 | + $this->set_transaction_id($txn_id); |
|
383 | 383 | } |
384 | 384 | |
385 | 385 | } |
@@ -394,8 +394,8 @@ discard block |
||
394 | 394 | * @since 1.0.0.4 |
395 | 395 | * @return bool |
396 | 396 | */ |
397 | - public function set_transaction_id( $txn_id = '' ) { |
|
398 | - $this->update( array( 'transaction_id' => $txn_id ) ); |
|
397 | + public function set_transaction_id($txn_id = '') { |
|
398 | + $this->update(array('transaction_id' => $txn_id)); |
|
399 | 399 | $this->transaction_id = $txn_id; |
400 | 400 | } |
401 | 401 | |
@@ -411,35 +411,35 @@ discard block |
||
411 | 411 | |
412 | 412 | |
413 | 413 | // Determine what date to use as the start for the new expiration calculation |
414 | - if( $expires > current_time( 'timestamp' ) && $this->is_active() ) { |
|
414 | + if ($expires > current_time('timestamp') && $this->is_active()) { |
|
415 | 415 | |
416 | - $base_date = $expires; |
|
416 | + $base_date = $expires; |
|
417 | 417 | |
418 | 418 | } else { |
419 | 419 | |
420 | - $base_date = current_time( 'timestamp' ); |
|
420 | + $base_date = current_time('timestamp'); |
|
421 | 421 | |
422 | 422 | } |
423 | 423 | |
424 | - $last_day = wpinv_cal_days_in_month( CAL_GREGORIAN, date( 'n', $base_date ), date( 'Y', $base_date ) ); |
|
424 | + $last_day = wpinv_cal_days_in_month(CAL_GREGORIAN, date('n', $base_date), date('Y', $base_date)); |
|
425 | 425 | |
426 | 426 | |
427 | 427 | $frequency = isset($this->frequency) ? $this->frequency : 1; |
428 | - $expiration = date( 'Y-m-d H:i:s', strtotime( '+' . $frequency . ' ' . $this->period . ' 23:59:59', $base_date ) ); |
|
428 | + $expiration = date('Y-m-d H:i:s', strtotime('+' . $frequency . ' ' . $this->period . ' 23:59:59', $base_date)); |
|
429 | 429 | |
430 | - if( date( 'j', $base_date ) == $last_day && 'day' != $this->period ) { |
|
431 | - $expiration = date( 'Y-m-d H:i:s', strtotime( $expiration . ' +2 days' ) ); |
|
430 | + if (date('j', $base_date) == $last_day && 'day' != $this->period) { |
|
431 | + $expiration = date('Y-m-d H:i:s', strtotime($expiration . ' +2 days')); |
|
432 | 432 | } |
433 | 433 | |
434 | - $expiration = apply_filters( 'wpinv_subscription_renewal_expiration', $expiration, $this->id, $this ); |
|
434 | + $expiration = apply_filters('wpinv_subscription_renewal_expiration', $expiration, $this->id, $this); |
|
435 | 435 | |
436 | - do_action( 'wpinv_subscription_pre_renew', $this->id, $expiration, $this ); |
|
436 | + do_action('wpinv_subscription_pre_renew', $this->id, $expiration, $this); |
|
437 | 437 | |
438 | 438 | $this->status = 'active'; |
439 | 439 | $times_billed = $this->get_times_billed(); |
440 | 440 | |
441 | 441 | // Complete subscription if applicable |
442 | - if ( $this->bill_times > 0 && $times_billed >= $this->bill_times ) { |
|
442 | + if ($this->bill_times > 0 && $times_billed >= $this->bill_times) { |
|
443 | 443 | $this->complete(); |
444 | 444 | $this->status = 'completed'; |
445 | 445 | } |
@@ -449,10 +449,10 @@ discard block |
||
449 | 449 | 'status' => $this->status, |
450 | 450 | ); |
451 | 451 | |
452 | - $this->subs_db->update( $this->id, $args ); |
|
452 | + $this->subs_db->update($this->id, $args); |
|
453 | 453 | |
454 | - do_action( 'wpinv_subscription_post_renew', $this->id, $expiration, $this ); |
|
455 | - do_action( 'wpinv_recurring_set_subscription_status', $this->id, $this->status, $this ); |
|
454 | + do_action('wpinv_subscription_post_renew', $this->id, $expiration, $this); |
|
455 | + do_action('wpinv_recurring_set_subscription_status', $this->id, $this->status, $this); |
|
456 | 456 | |
457 | 457 | } |
458 | 458 | |
@@ -467,7 +467,7 @@ discard block |
||
467 | 467 | public function complete() { |
468 | 468 | |
469 | 469 | // Only mark a subscription as complete if it's not already cancelled. |
470 | - if ( 'cancelled' === $this->status ) { |
|
470 | + if ('cancelled' === $this->status) { |
|
471 | 471 | return; |
472 | 472 | } |
473 | 473 | |
@@ -475,11 +475,11 @@ discard block |
||
475 | 475 | 'status' => 'completed' |
476 | 476 | ); |
477 | 477 | |
478 | - if( $this->subs_db->update( $this->id, $args ) ) { |
|
478 | + if ($this->subs_db->update($this->id, $args)) { |
|
479 | 479 | |
480 | 480 | $this->status = 'completed'; |
481 | 481 | |
482 | - do_action( 'wpinv_subscription_completed', $this->id, $this ); |
|
482 | + do_action('wpinv_subscription_completed', $this->id, $this); |
|
483 | 483 | |
484 | 484 | } |
485 | 485 | |
@@ -494,15 +494,15 @@ discard block |
||
494 | 494 | * @param $check_expiration bool True if expiration date should be checked with merchant processor before expiring |
495 | 495 | * @return void |
496 | 496 | */ |
497 | - public function expire( $check_expiration = false ) { |
|
497 | + public function expire($check_expiration = false) { |
|
498 | 498 | |
499 | 499 | $expiration = $this->expiration; |
500 | 500 | |
501 | - if( $check_expiration ) { |
|
501 | + if ($check_expiration) { |
|
502 | 502 | |
503 | 503 | // check_expiration() updates $this->expiration so compare to $expiration above |
504 | 504 | |
505 | - if( $expiration < $this->get_expiration() && current_time( 'timestamp' ) < $this->get_expiration_time() ) { |
|
505 | + if ($expiration < $this->get_expiration() && current_time('timestamp') < $this->get_expiration_time()) { |
|
506 | 506 | |
507 | 507 | return false; // Do not mark as expired since real expiration date is in the future |
508 | 508 | } |
@@ -513,11 +513,11 @@ discard block |
||
513 | 513 | 'status' => 'expired' |
514 | 514 | ); |
515 | 515 | |
516 | - if( $this->subs_db->update( $this->id, $args ) ) { |
|
516 | + if ($this->subs_db->update($this->id, $args)) { |
|
517 | 517 | |
518 | 518 | $this->status = 'expired'; |
519 | 519 | |
520 | - do_action( 'wpinv_subscription_expired', $this->id, $this ); |
|
520 | + do_action('wpinv_subscription_expired', $this->id, $this); |
|
521 | 521 | |
522 | 522 | } |
523 | 523 | |
@@ -535,11 +535,11 @@ discard block |
||
535 | 535 | 'status' => 'failing' |
536 | 536 | ); |
537 | 537 | |
538 | - if( $this->subs_db->update( $this->id, $args ) ) { |
|
538 | + if ($this->subs_db->update($this->id, $args)) { |
|
539 | 539 | |
540 | 540 | $this->status = 'failing'; |
541 | 541 | |
542 | - do_action( 'wpinv_subscription_failing', $this->id, $this ); |
|
542 | + do_action('wpinv_subscription_failing', $this->id, $this); |
|
543 | 543 | |
544 | 544 | |
545 | 545 | } |
@@ -553,7 +553,7 @@ discard block |
||
553 | 553 | * @return void |
554 | 554 | */ |
555 | 555 | public function cancel() { |
556 | - if ( 'cancelled' === $this->status ) { |
|
556 | + if ('cancelled' === $this->status) { |
|
557 | 557 | return; // Already cancelled |
558 | 558 | } |
559 | 559 | |
@@ -561,20 +561,20 @@ discard block |
||
561 | 561 | 'status' => 'cancelled' |
562 | 562 | ); |
563 | 563 | |
564 | - if ( $this->subs_db->update( $this->id, $args ) ) { |
|
565 | - if ( is_user_logged_in() ) { |
|
566 | - $userdata = get_userdata( get_current_user_id() ); |
|
564 | + if ($this->subs_db->update($this->id, $args)) { |
|
565 | + if (is_user_logged_in()) { |
|
566 | + $userdata = get_userdata(get_current_user_id()); |
|
567 | 567 | $user = $userdata->display_name; |
568 | 568 | } else { |
569 | - $user = __( 'gateway', 'invoicing' ); |
|
569 | + $user = __('gateway', 'invoicing'); |
|
570 | 570 | } |
571 | 571 | |
572 | - $note = sprintf( __( 'Subscription has been cancelled by %s', 'invoicing' ), $user ); |
|
573 | - wpinv_insert_payment_note( $this->parent_payment_id, $note, '', '', true ); |
|
572 | + $note = sprintf(__('Subscription has been cancelled by %s', 'invoicing'), $user); |
|
573 | + wpinv_insert_payment_note($this->parent_payment_id, $note, '', '', true); |
|
574 | 574 | |
575 | 575 | $this->status = 'cancelled'; |
576 | 576 | |
577 | - do_action( 'wpinv_subscription_cancelled', $this->id, $this ); |
|
577 | + do_action('wpinv_subscription_cancelled', $this->id, $this); |
|
578 | 578 | } |
579 | 579 | } |
580 | 580 | |
@@ -589,10 +589,10 @@ discard block |
||
589 | 589 | */ |
590 | 590 | public function can_cancel() { |
591 | 591 | $ret = false; |
592 | - if( $this->gateway === 'manual' || in_array( $this->status, $this->get_cancellable_statuses() ) ) { |
|
592 | + if ($this->gateway === 'manual' || in_array($this->status, $this->get_cancellable_statuses())) { |
|
593 | 593 | $ret = true; |
594 | 594 | } |
595 | - return apply_filters( 'wpinv_subscription_can_cancel', $ret, $this ); |
|
595 | + return apply_filters('wpinv_subscription_can_cancel', $ret, $this); |
|
596 | 596 | } |
597 | 597 | |
598 | 598 | /** |
@@ -603,7 +603,7 @@ discard block |
||
603 | 603 | * @return array |
604 | 604 | */ |
605 | 605 | public function get_cancellable_statuses() { |
606 | - return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) ); |
|
606 | + return apply_filters('wpinv_recurring_cancellable_statuses', array('active', 'trialling', 'failing')); |
|
607 | 607 | } |
608 | 608 | |
609 | 609 | /** |
@@ -614,9 +614,9 @@ discard block |
||
614 | 614 | */ |
615 | 615 | public function get_cancel_url() { |
616 | 616 | |
617 | - $url = wp_nonce_url( add_query_arg( array( 'wpinv_action' => 'cancel_subscription', 'sub_id' => $this->id ) ), 'wpinv-recurring-cancel' ); |
|
617 | + $url = wp_nonce_url(add_query_arg(array('wpinv_action' => 'cancel_subscription', 'sub_id' => $this->id)), 'wpinv-recurring-cancel'); |
|
618 | 618 | |
619 | - return apply_filters( 'wpinv_subscription_cancel_url', $url, $this ); |
|
619 | + return apply_filters('wpinv_subscription_cancel_url', $url, $this); |
|
620 | 620 | } |
621 | 621 | |
622 | 622 | /** |
@@ -630,7 +630,7 @@ discard block |
||
630 | 630 | */ |
631 | 631 | public function can_renew() { |
632 | 632 | |
633 | - return apply_filters( 'wpinv_subscription_can_renew', true, $this ); |
|
633 | + return apply_filters('wpinv_subscription_can_renew', true, $this); |
|
634 | 634 | } |
635 | 635 | |
636 | 636 | /** |
@@ -641,9 +641,9 @@ discard block |
||
641 | 641 | */ |
642 | 642 | public function get_renew_url() { |
643 | 643 | |
644 | - $url = wp_nonce_url( add_query_arg( array( 'wpinv_action' => 'renew_subscription', 'sub_id' => $this->id ) ), 'wpinv-recurring-renew' ); |
|
644 | + $url = wp_nonce_url(add_query_arg(array('wpinv_action' => 'renew_subscription', 'sub_id' => $this->id)), 'wpinv-recurring-renew'); |
|
645 | 645 | |
646 | - return apply_filters( 'wpinv_subscription_renew_url', $url, $this ); |
|
646 | + return apply_filters('wpinv_subscription_renew_url', $url, $this); |
|
647 | 647 | } |
648 | 648 | |
649 | 649 | /** |
@@ -653,7 +653,7 @@ discard block |
||
653 | 653 | * @return bool |
654 | 654 | */ |
655 | 655 | public function can_update() { |
656 | - return apply_filters( 'wpinv_subscription_can_update', false, $this ); |
|
656 | + return apply_filters('wpinv_subscription_can_update', false, $this); |
|
657 | 657 | } |
658 | 658 | |
659 | 659 | /** |
@@ -664,9 +664,9 @@ discard block |
||
664 | 664 | */ |
665 | 665 | public function get_update_url() { |
666 | 666 | |
667 | - $url = add_query_arg( array( 'action' => 'update', 'subscription_id' => $this->id ) ); |
|
667 | + $url = add_query_arg(array('action' => 'update', 'subscription_id' => $this->id)); |
|
668 | 668 | |
669 | - return apply_filters( 'wpinv_subscription_update_url', $url, $this ); |
|
669 | + return apply_filters('wpinv_subscription_update_url', $url, $this); |
|
670 | 670 | } |
671 | 671 | |
672 | 672 | /** |
@@ -679,11 +679,11 @@ discard block |
||
679 | 679 | |
680 | 680 | $ret = false; |
681 | 681 | |
682 | - if( ! $this->is_expired() && ( $this->status == 'active' || $this->status == 'cancelled' || $this->status == 'trialling' ) ) { |
|
682 | + if (!$this->is_expired() && ($this->status == 'active' || $this->status == 'cancelled' || $this->status == 'trialling')) { |
|
683 | 683 | $ret = true; |
684 | 684 | } |
685 | 685 | |
686 | - return apply_filters( 'wpinv_subscription_is_active', $ret, $this->id, $this ); |
|
686 | + return apply_filters('wpinv_subscription_is_active', $ret, $this->id, $this); |
|
687 | 687 | |
688 | 688 | } |
689 | 689 | |
@@ -697,26 +697,26 @@ discard block |
||
697 | 697 | |
698 | 698 | $ret = false; |
699 | 699 | |
700 | - if ( $this->status == 'expired' ) { |
|
700 | + if ($this->status == 'expired') { |
|
701 | 701 | |
702 | 702 | $ret = true; |
703 | 703 | |
704 | - } elseif( 'active' === $this->status || 'cancelled' === $this->status || $this->status == 'trialling' ) { |
|
704 | + } elseif ('active' === $this->status || 'cancelled' === $this->status || $this->status == 'trialling') { |
|
705 | 705 | |
706 | 706 | $ret = false; |
707 | 707 | $expiration = $this->get_expiration_time(); |
708 | 708 | |
709 | - if( $expiration && strtotime( 'NOW', current_time( 'timestamp' ) ) > $expiration ) { |
|
709 | + if ($expiration && strtotime('NOW', current_time('timestamp')) > $expiration) { |
|
710 | 710 | $ret = true; |
711 | 711 | |
712 | - if ( 'active' === $this->status || $this->status == 'trialling' ) { |
|
712 | + if ('active' === $this->status || $this->status == 'trialling') { |
|
713 | 713 | $this->expire(); |
714 | 714 | } |
715 | 715 | } |
716 | 716 | |
717 | 717 | } |
718 | 718 | |
719 | - return apply_filters( 'wpinv_subscription_is_expired', $ret, $this->id, $this ); |
|
719 | + return apply_filters('wpinv_subscription_is_expired', $ret, $this->id, $this); |
|
720 | 720 | |
721 | 721 | } |
722 | 722 | |
@@ -737,7 +737,7 @@ discard block |
||
737 | 737 | * @return int |
738 | 738 | */ |
739 | 739 | public function get_expiration_time() { |
740 | - return strtotime( $this->expiration, current_time( 'timestamp' ) ); |
|
740 | + return strtotime($this->expiration, current_time('timestamp')); |
|
741 | 741 | } |
742 | 742 | |
743 | 743 | /** |
@@ -761,37 +761,37 @@ discard block |
||
761 | 761 | */ |
762 | 762 | public function get_status_label() { |
763 | 763 | |
764 | - switch( $this->get_status() ) { |
|
764 | + switch ($this->get_status()) { |
|
765 | 765 | case 'active' : |
766 | - $status = __( 'Active', 'invoicing' ); |
|
766 | + $status = __('Active', 'invoicing'); |
|
767 | 767 | break; |
768 | 768 | |
769 | 769 | case 'cancelled' : |
770 | - $status = __( 'Cancelled', 'invoicing' ); |
|
770 | + $status = __('Cancelled', 'invoicing'); |
|
771 | 771 | break; |
772 | 772 | |
773 | 773 | case 'expired' : |
774 | - $status = __( 'Expired', 'invoicing' ); |
|
774 | + $status = __('Expired', 'invoicing'); |
|
775 | 775 | break; |
776 | 776 | |
777 | 777 | case 'pending' : |
778 | - $status = __( 'Pending', 'invoicing' ); |
|
778 | + $status = __('Pending', 'invoicing'); |
|
779 | 779 | break; |
780 | 780 | |
781 | 781 | case 'failing' : |
782 | - $status = __( 'Failing', 'invoicing' ); |
|
782 | + $status = __('Failing', 'invoicing'); |
|
783 | 783 | break; |
784 | 784 | |
785 | 785 | case 'trialling' : |
786 | - $status = __( 'Trialling', 'invoicing' ); |
|
786 | + $status = __('Trialling', 'invoicing'); |
|
787 | 787 | break; |
788 | 788 | |
789 | 789 | case 'completed' : |
790 | - $status = __( 'Completed', 'invoicing' ); |
|
790 | + $status = __('Completed', 'invoicing'); |
|
791 | 791 | break; |
792 | 792 | |
793 | 793 | default: |
794 | - $status = ucfirst( $this->get_status() ); |
|
794 | + $status = ucfirst($this->get_status()); |
|
795 | 795 | break; |
796 | 796 | } |
797 | 797 | |
@@ -806,51 +806,51 @@ discard block |
||
806 | 806 | */ |
807 | 807 | public function get_status_label_html() { |
808 | 808 | |
809 | - switch( $get_status = $this->get_status() ) { |
|
809 | + switch ($get_status = $this->get_status()) { |
|
810 | 810 | case 'active' : |
811 | - $status = __( 'Active', 'invoicing' ); |
|
811 | + $status = __('Active', 'invoicing'); |
|
812 | 812 | $class = 'label-info'; |
813 | 813 | break; |
814 | 814 | |
815 | 815 | case 'cancelled' : |
816 | - $status = __( 'Cancelled', 'invoicing' ); |
|
816 | + $status = __('Cancelled', 'invoicing'); |
|
817 | 817 | $class = 'label-danger'; |
818 | 818 | break; |
819 | 819 | |
820 | 820 | case 'expired' : |
821 | - $status = __( 'Expired', 'invoicing' ); |
|
821 | + $status = __('Expired', 'invoicing'); |
|
822 | 822 | $class = 'label-default'; |
823 | 823 | break; |
824 | 824 | |
825 | 825 | case 'pending' : |
826 | - $status = __( 'Pending', 'invoicing' ); |
|
826 | + $status = __('Pending', 'invoicing'); |
|
827 | 827 | $class = 'label-primary'; |
828 | 828 | break; |
829 | 829 | |
830 | 830 | case 'failing' : |
831 | - $status = __( 'Failing', 'invoicing' ); |
|
831 | + $status = __('Failing', 'invoicing'); |
|
832 | 832 | $class = 'label-danger'; |
833 | 833 | break; |
834 | 834 | |
835 | 835 | case 'trialling' : |
836 | - $status = __( 'Trialling', 'invoicing' ); |
|
836 | + $status = __('Trialling', 'invoicing'); |
|
837 | 837 | $class = 'label-info'; |
838 | 838 | break; |
839 | 839 | |
840 | 840 | case 'completed' : |
841 | - $status = __( 'Completed', 'invoicing' ); |
|
841 | + $status = __('Completed', 'invoicing'); |
|
842 | 842 | $class = 'label-success'; |
843 | 843 | break; |
844 | 844 | |
845 | 845 | default: |
846 | - $status = ucfirst( $this->get_status() ); |
|
846 | + $status = ucfirst($this->get_status()); |
|
847 | 847 | $class = 'label-default'; |
848 | 848 | break; |
849 | 849 | } |
850 | 850 | |
851 | 851 | $label = '<span class="sub-status label label-sub-' . $get_status . ' ' . $class . '">' . $status . '</span>'; |
852 | 852 | |
853 | - return apply_filters( 'wpinv_subscription_status_label_html', $label, $get_status, $status ); |
|
853 | + return apply_filters('wpinv_subscription_status_label_html', $label, $get_status, $status); |
|
854 | 854 | } |
855 | 855 | |
856 | 856 | /** |
@@ -860,18 +860,18 @@ discard block |
||
860 | 860 | * @param string $txn_id The transaction ID from the merchant processor |
861 | 861 | * @return bool |
862 | 862 | */ |
863 | - public function payment_exists( $txn_id = '' ) { |
|
863 | + public function payment_exists($txn_id = '') { |
|
864 | 864 | global $wpdb; |
865 | 865 | |
866 | - if ( empty( $txn_id ) ) { |
|
866 | + if (empty($txn_id)) { |
|
867 | 867 | return false; |
868 | 868 | } |
869 | 869 | |
870 | - $txn_id = esc_sql( $txn_id ); |
|
870 | + $txn_id = esc_sql($txn_id); |
|
871 | 871 | |
872 | - $purchase = $wpdb->get_var( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpinv_transaction_id' AND meta_value = '{$txn_id}' LIMIT 1" ); |
|
872 | + $purchase = $wpdb->get_var("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpinv_transaction_id' AND meta_value = '{$txn_id}' LIMIT 1"); |
|
873 | 873 | |
874 | - if ( $purchase != null ) { |
|
874 | + if ($purchase != null) { |
|
875 | 875 | return true; |
876 | 876 | } |
877 | 877 |
@@ -1,12 +1,12 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // Exit if accessed directly |
3 | -if ( ! defined( 'ABSPATH' ) ) exit; |
|
3 | +if (!defined('ABSPATH')) exit; |
|
4 | 4 | |
5 | -add_action( 'wpinv_worldpay_cc_form', '__return_false' ); |
|
5 | +add_action('wpinv_worldpay_cc_form', '__return_false'); |
|
6 | 6 | |
7 | -function wpinv_process_worldpay_payment( $purchase_data ) { |
|
8 | - if( ! wp_verify_nonce( $purchase_data['gateway_nonce'], 'wpi-gateway' ) ) { |
|
9 | - wp_die( __( 'Nonce verification has failed', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
7 | +function wpinv_process_worldpay_payment($purchase_data) { |
|
8 | + if (!wp_verify_nonce($purchase_data['gateway_nonce'], 'wpi-gateway')) { |
|
9 | + wp_die(__('Nonce verification has failed', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
10 | 10 | } |
11 | 11 | |
12 | 12 | // Collect payment data |
@@ -24,132 +24,132 @@ discard block |
||
24 | 24 | ); |
25 | 25 | |
26 | 26 | // Record the pending payment |
27 | - $invoice = wpinv_get_invoice( $purchase_data['invoice_id'] ); |
|
27 | + $invoice = wpinv_get_invoice($purchase_data['invoice_id']); |
|
28 | 28 | |
29 | - if ( !empty( $invoice ) ) { |
|
29 | + if (!empty($invoice)) { |
|
30 | 30 | $quantities_enabled = wpinv_item_quantities_enabled(); |
31 | 31 | |
32 | - $instId = wpinv_get_option( 'worldpay_instId', false ); |
|
32 | + $instId = wpinv_get_option('worldpay_instId', false); |
|
33 | 33 | $cartId = $invoice->get_number(); |
34 | - $testMode = wpinv_is_test_mode( 'worldpay' ) ? 100 : 0; |
|
34 | + $testMode = wpinv_is_test_mode('worldpay') ? 100 : 0; |
|
35 | 35 | $name = $invoice->get_user_full_name(); |
36 | - $address = wp_strip_all_tags( $invoice->get_address(), true ); |
|
36 | + $address = wp_strip_all_tags($invoice->get_address(), true); |
|
37 | 37 | $postcode = $invoice->zip; |
38 | 38 | $tel = $invoice->phone; |
39 | 39 | $email = $invoice->get_email(); |
40 | 40 | $country = $invoice->country; |
41 | - $amount = wpinv_sanitize_amount( $invoice->get_total() ); |
|
41 | + $amount = wpinv_sanitize_amount($invoice->get_total()); |
|
42 | 42 | $currency = wpinv_get_currency(); |
43 | 43 | |
44 | 44 | $items = array(); |
45 | - foreach ( $invoice->get_cart_details() as $item ) { |
|
45 | + foreach ($invoice->get_cart_details() as $item) { |
|
46 | 46 | $item_desc = $item['name']; |
47 | - $quantity = !empty( $item['quantity'] ) && $item['quantity'] > 0 ? $item['quantity'] : 1; |
|
48 | - $item_desc .= ' (' . ( $quantities_enabled ? $quantity . 'x ' : '' ) . wpinv_price( wpinv_format_amount( $item['item_price'] ) ) . ')'; |
|
47 | + $quantity = !empty($item['quantity']) && $item['quantity'] > 0 ? $item['quantity'] : 1; |
|
48 | + $item_desc .= ' (' . ($quantities_enabled ? $quantity . 'x ' : '') . wpinv_price(wpinv_format_amount($item['item_price'])) . ')'; |
|
49 | 49 | |
50 | 50 | $items[] = $item_desc; |
51 | 51 | } |
52 | 52 | |
53 | - $desc = implode( ', ', $items ); |
|
54 | - if ( wpinv_use_taxes() && $invoice->get_tax() > 0 ) { |
|
55 | - $desc .= ', ' . wp_sprintf( __( 'Tax: %s', 'invoicing' ), $invoice->get_tax( true ) ); |
|
53 | + $desc = implode(', ', $items); |
|
54 | + if (wpinv_use_taxes() && $invoice->get_tax() > 0) { |
|
55 | + $desc .= ', ' . wp_sprintf(__('Tax: %s', 'invoicing'), $invoice->get_tax(true)); |
|
56 | 56 | } |
57 | 57 | |
58 | 58 | $extra_params = array(); |
59 | 59 | $extra_params['MC_description'] = $desc; |
60 | - $extra_params['MC_callback'] = wpinv_get_ipn_url( 'worldpay' ); |
|
60 | + $extra_params['MC_callback'] = wpinv_get_ipn_url('worldpay'); |
|
61 | 61 | $extra_params['MC_key'] = $invoice->get_key(); |
62 | 62 | $extra_params['MC_invoice_id'] = $invoice->ID; |
63 | 63 | $extra_params['address1'] = $address; |
64 | 64 | $extra_params['town'] = $invoice->city; |
65 | 65 | $extra_params['region'] = $invoice->state; |
66 | - $extra_params['amountString'] = $invoice->get_total( true ); |
|
67 | - $extra_params['countryString'] = wpinv_country_name( $invoice->country ); |
|
66 | + $extra_params['amountString'] = $invoice->get_total(true); |
|
67 | + $extra_params['countryString'] = wpinv_country_name($invoice->country); |
|
68 | 68 | $extra_params['compName'] = $invoice->company; |
69 | 69 | |
70 | - $extra_params = apply_filters( 'wpinv_worldpay_form_extra_parameters', $extra_params, $invoice ); |
|
70 | + $extra_params = apply_filters('wpinv_worldpay_form_extra_parameters', $extra_params, $invoice); |
|
71 | 71 | |
72 | - $redirect_text = __( 'Redirecting to Worldpay site, click on button if not redirected.', 'invoicing' ); |
|
73 | - $redirect_text = apply_filters( 'wpinv_worldpay_redirect_text', $redirect_text, $invoice ); |
|
72 | + $redirect_text = __('Redirecting to Worldpay site, click on button if not redirected.', 'invoicing'); |
|
73 | + $redirect_text = apply_filters('wpinv_worldpay_redirect_text', $redirect_text, $invoice); |
|
74 | 74 | |
75 | 75 | // Empty the shopping cart |
76 | 76 | wpinv_empty_cart(); |
77 | 77 | ?> |
78 | 78 | <div class="wpi-worldpay-form" style="padding:20px;font-family:arial,sans-serif;text-align:center;color:#555"> |
79 | -<?php do_action( 'wpinv_worldpay_form_before', $invoice ); ?> |
|
80 | -<h3><?php echo $redirect_text ;?></h3> |
|
79 | +<?php do_action('wpinv_worldpay_form_before', $invoice); ?> |
|
80 | +<h3><?php echo $redirect_text; ?></h3> |
|
81 | 81 | <form action="<?php echo wpinv_get_worldpay_redirect(); ?>" name="wpi_worldpay_form" method="POST"> |
82 | - <input type="hidden" value="<?php echo $amount;?>" name="amount"> |
|
83 | - <input type="hidden" value="<?php echo esc_attr( $cartId );?>" name="cartId"> |
|
84 | - <input type="hidden" value="<?php echo $currency;?>" name="currency"> |
|
85 | - <input type="hidden" value="<?php echo $instId;?>" name="instId"> |
|
86 | - <input type="hidden" value="<?php echo $testMode;?>" name="testMode"> |
|
87 | - <input type="hidden" value="<?php echo esc_attr( $name );?>" name="name"> |
|
88 | - <input type="hidden" value="<?php echo esc_attr( $address );?>" name="address"> |
|
89 | - <input type="hidden" value="<?php echo esc_attr( $postcode );?>" name="postcode"> |
|
90 | - <input type="hidden" value="<?php echo esc_attr( $tel );?>" name="tel"> |
|
91 | - <input type="hidden" value="<?php echo esc_attr( $email );?>" name="email"> |
|
92 | - <input type="hidden" value="<?php echo esc_attr( $country );?>" name="country"> |
|
93 | - <input type="hidden" value="<?php echo esc_attr( $desc );?>" name="desc"> |
|
94 | - <?php foreach ( $extra_params as $param => $value ) { ?> |
|
95 | - <?php if ( !empty( $value !== false ) ) { ?> |
|
96 | - <input type="hidden" value="<?php echo esc_attr( $value );?>" name="<?php echo esc_attr( $param );?>"> |
|
82 | + <input type="hidden" value="<?php echo $amount; ?>" name="amount"> |
|
83 | + <input type="hidden" value="<?php echo esc_attr($cartId); ?>" name="cartId"> |
|
84 | + <input type="hidden" value="<?php echo $currency; ?>" name="currency"> |
|
85 | + <input type="hidden" value="<?php echo $instId; ?>" name="instId"> |
|
86 | + <input type="hidden" value="<?php echo $testMode; ?>" name="testMode"> |
|
87 | + <input type="hidden" value="<?php echo esc_attr($name); ?>" name="name"> |
|
88 | + <input type="hidden" value="<?php echo esc_attr($address); ?>" name="address"> |
|
89 | + <input type="hidden" value="<?php echo esc_attr($postcode); ?>" name="postcode"> |
|
90 | + <input type="hidden" value="<?php echo esc_attr($tel); ?>" name="tel"> |
|
91 | + <input type="hidden" value="<?php echo esc_attr($email); ?>" name="email"> |
|
92 | + <input type="hidden" value="<?php echo esc_attr($country); ?>" name="country"> |
|
93 | + <input type="hidden" value="<?php echo esc_attr($desc); ?>" name="desc"> |
|
94 | + <?php foreach ($extra_params as $param => $value) { ?> |
|
95 | + <?php if (!empty($value !== false)) { ?> |
|
96 | + <input type="hidden" value="<?php echo esc_attr($value); ?>" name="<?php echo esc_attr($param); ?>"> |
|
97 | 97 | <?php } ?> |
98 | 98 | <?php } ?> |
99 | - <?php do_action( 'wpinv_worldpay_form_parameters', $invoice ); ?> |
|
100 | - <input type="submit" name="wpi_worldpay_submit" value="<?php esc_attr_e( 'Pay by Credit Card / Debit Card (WorldPay)', 'invoicing' ) ;?>"> |
|
99 | + <?php do_action('wpinv_worldpay_form_parameters', $invoice); ?> |
|
100 | + <input type="submit" name="wpi_worldpay_submit" value="<?php esc_attr_e('Pay by Credit Card / Debit Card (WorldPay)', 'invoicing'); ?>"> |
|
101 | 101 | </form> |
102 | 102 | <script type="text/javascript">document.wpi_worldpay_form.submit();</script> |
103 | -<?php do_action( 'wpinv_worldpay_form_after', $invoice ); ?> |
|
103 | +<?php do_action('wpinv_worldpay_form_after', $invoice); ?> |
|
104 | 104 | </div> |
105 | 105 | <?php |
106 | 106 | } else { |
107 | - wpinv_record_gateway_error( __( 'Payment Error', 'invoicing' ), sprintf( __( 'Payment creation failed while processing a worldpay payment. Payment data: %s', 'invoicing' ), json_encode( $payment_data ) ), $invoice ); |
|
107 | + wpinv_record_gateway_error(__('Payment Error', 'invoicing'), sprintf(__('Payment creation failed while processing a worldpay payment. Payment data: %s', 'invoicing'), json_encode($payment_data)), $invoice); |
|
108 | 108 | // If errors are present, send the user back to the purchase page so they can be corrected |
109 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
109 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
110 | 110 | } |
111 | 111 | } |
112 | -add_action( 'wpinv_gateway_worldpay', 'wpinv_process_worldpay_payment' ); |
|
112 | +add_action('wpinv_gateway_worldpay', 'wpinv_process_worldpay_payment'); |
|
113 | 113 | |
114 | 114 | function wpinv_get_worldpay_redirect() { |
115 | - $redirect = wpinv_is_test_mode( 'worldpay' ) ? 'https://secure-test.worldpay.com/wcc/purchase' : 'https://secure.worldpay.com/wcc/purchase'; |
|
115 | + $redirect = wpinv_is_test_mode('worldpay') ? 'https://secure-test.worldpay.com/wcc/purchase' : 'https://secure.worldpay.com/wcc/purchase'; |
|
116 | 116 | |
117 | - return apply_filters( 'wpinv_worldpay_redirect', $redirect ); |
|
117 | + return apply_filters('wpinv_worldpay_redirect', $redirect); |
|
118 | 118 | } |
119 | 119 | |
120 | 120 | function wpinv_process_worldpay_ipn() { |
121 | - $request = wpinv_get_post_data( 'post' ); |
|
121 | + $request = wpinv_get_post_data('post'); |
|
122 | 122 | |
123 | - if ( !empty( $request['cartId'] ) && !empty( $request['transStatus'] ) && !empty( $request['installation'] ) && isset( $request['testMode'] ) && isset( $request['MC_invoice_id'] ) && isset( $request['MC_key'] ) ) { |
|
123 | + if (!empty($request['cartId']) && !empty($request['transStatus']) && !empty($request['installation']) && isset($request['testMode']) && isset($request['MC_invoice_id']) && isset($request['MC_key'])) { |
|
124 | 124 | $invoice_id = $request['MC_invoice_id']; |
125 | 125 | |
126 | - if ( $invoice_id == wpinv_get_invoice_id_by_key( $request['MC_key'] ) && $invoice = wpinv_get_invoice( $invoice_id ) ) { |
|
127 | - if ( $request['transStatus'] == 'Y' ) { |
|
128 | - wpinv_update_payment_status( $invoice_id, 'publish' ); |
|
129 | - wpinv_set_payment_transaction_id( $invoice_id, $request['transId'] ); |
|
130 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'Worldpay Transaction ID: %s', 'invoicing' ), $request['transId'] ) ); |
|
126 | + if ($invoice_id == wpinv_get_invoice_id_by_key($request['MC_key']) && $invoice = wpinv_get_invoice($invoice_id)) { |
|
127 | + if ($request['transStatus'] == 'Y') { |
|
128 | + wpinv_update_payment_status($invoice_id, 'publish'); |
|
129 | + wpinv_set_payment_transaction_id($invoice_id, $request['transId']); |
|
130 | + wpinv_insert_payment_note($invoice_id, sprintf(__('Worldpay Transaction ID: %s', 'invoicing'), $request['transId'])); |
|
131 | 131 | return; |
132 | - } else if ( $request['transStatus'] == 'C' ) { |
|
133 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
134 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment transaction failed while processing Worldpay payment, kindly check IPN log.', 'invoicing' ) ); |
|
132 | + } else if ($request['transStatus'] == 'C') { |
|
133 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
134 | + wpinv_insert_payment_note($invoice_id, __('Payment transaction failed while processing Worldpay payment, kindly check IPN log.', 'invoicing')); |
|
135 | 135 | |
136 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Payment transaction failed while processing Worldpay payment. IPN data: %s', 'invoicing' ), json_encode( $request ) ), $invoice_id ); |
|
136 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Payment transaction failed while processing Worldpay payment. IPN data: %s', 'invoicing'), json_encode($request)), $invoice_id); |
|
137 | 137 | return; |
138 | 138 | } |
139 | 139 | } |
140 | 140 | } |
141 | 141 | return; |
142 | 142 | } |
143 | -add_action( 'wpinv_verify_worldpay_ipn', 'wpinv_process_worldpay_ipn' ); |
|
143 | +add_action('wpinv_verify_worldpay_ipn', 'wpinv_process_worldpay_ipn'); |
|
144 | 144 | |
145 | 145 | function wpinv_is_worldpay_valid_for_use() { |
146 | - return in_array( wpinv_get_currency(), apply_filters( 'wpinv_worldpay_supported_currencies', array( 'AUD', 'ARS', 'CAD', 'CHF', 'DKK', 'EUR', 'HKD', 'MYR', 'GBP', 'NZD', 'NOK', 'SGD', 'LKR', 'SEK', 'TRY', 'USD', 'ZAR' ))); |
|
146 | + return in_array(wpinv_get_currency(), apply_filters('wpinv_worldpay_supported_currencies', array('AUD', 'ARS', 'CAD', 'CHF', 'DKK', 'EUR', 'HKD', 'MYR', 'GBP', 'NZD', 'NOK', 'SGD', 'LKR', 'SEK', 'TRY', 'USD', 'ZAR'))); |
|
147 | 147 | } |
148 | 148 | |
149 | -function wpinv_check_worldpay_currency_support( $gateway_list ) { |
|
150 | - if ( isset( $gateway_list['worldpay'] ) && ! wpinv_is_worldpay_valid_for_use() ) { |
|
151 | - unset( $gateway_list['worldpay'] ); |
|
149 | +function wpinv_check_worldpay_currency_support($gateway_list) { |
|
150 | + if (isset($gateway_list['worldpay']) && !wpinv_is_worldpay_valid_for_use()) { |
|
151 | + unset($gateway_list['worldpay']); |
|
152 | 152 | } |
153 | 153 | return $gateway_list; |
154 | 154 | } |
155 | -add_filter( 'wpinv_enabled_payment_gateways', 'wpinv_check_worldpay_currency_support', 10, 1 ); |
|
156 | 155 | \ No newline at end of file |
156 | +add_filter('wpinv_enabled_payment_gateways', 'wpinv_check_worldpay_currency_support', 10, 1); |
|
157 | 157 | \ No newline at end of file |
@@ -1,60 +1,60 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // Exit if accessed directly |
3 | -if ( ! defined( 'ABSPATH' ) ) exit; |
|
3 | +if (!defined('ABSPATH')) exit; |
|
4 | 4 | |
5 | -add_filter( 'wpinv_authorizenet_support_subscription', '__return_true' ); |
|
5 | +add_filter('wpinv_authorizenet_support_subscription', '__return_true'); |
|
6 | 6 | |
7 | -function wpinv_authorizenet_cc_form( $invoice_id ) { |
|
8 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
9 | - $cc_owner = !empty( $invoice ) ? esc_attr( $invoice->get_user_full_name() ) : ''; |
|
7 | +function wpinv_authorizenet_cc_form($invoice_id) { |
|
8 | + $invoice = wpinv_get_invoice($invoice_id); |
|
9 | + $cc_owner = !empty($invoice) ? esc_attr($invoice->get_user_full_name()) : ''; |
|
10 | 10 | ?> |
11 | 11 | <div id="authorizenet_cc_form" class="form-horizontal wpi-cc-form panel panel-default"> |
12 | - <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Card Details', 'invoicing' ) ;?></h3></div> |
|
12 | + <div class="panel-heading"><h3 class="panel-title"><?php _e('Card Details', 'invoicing'); ?></h3></div> |
|
13 | 13 | <div class="panel-body"> |
14 | 14 | <div class="form-group required"> |
15 | - <label for="auth-input-cc-owner" class="col-sm-3 control-label"><?php _e( 'Card Owner', 'invoicing' ) ;?></label> |
|
15 | + <label for="auth-input-cc-owner" class="col-sm-3 control-label"><?php _e('Card Owner', 'invoicing'); ?></label> |
|
16 | 16 | <div class="col-sm-5"> |
17 | - <input type="text" class="form-control" id="auth-input-cc-owner" placeholder="<?php esc_attr_e( 'Card Owner', 'invoicing' ) ;?>" value="<?php echo $cc_owner;?>" name="authorizenet[cc_owner]"> |
|
17 | + <input type="text" class="form-control" id="auth-input-cc-owner" placeholder="<?php esc_attr_e('Card Owner', 'invoicing'); ?>" value="<?php echo $cc_owner; ?>" name="authorizenet[cc_owner]"> |
|
18 | 18 | </div> |
19 | 19 | </div> |
20 | 20 | <div class="form-group required"> |
21 | - <label for="auth-input-cc-number" class="col-sm-3 control-label"><?php _e( 'Card Number', 'invoicing' ) ;?></label> |
|
21 | + <label for="auth-input-cc-number" class="col-sm-3 control-label"><?php _e('Card Number', 'invoicing'); ?></label> |
|
22 | 22 | <div class="col-sm-5"> |
23 | - <input type="text" class="form-control" id="auth-input-cc-number" placeholder="<?php esc_attr_e( 'Card Number', 'invoicing' ) ;?>" value="" name="authorizenet[cc_number]"> |
|
23 | + <input type="text" class="form-control" id="auth-input-cc-number" placeholder="<?php esc_attr_e('Card Number', 'invoicing'); ?>" value="" name="authorizenet[cc_number]"> |
|
24 | 24 | </div> |
25 | 25 | </div> |
26 | 26 | <div class="form-group required"> |
27 | - <label for="auth-input-cc-expire-date" class="col-sm-3 control-label"><?php _e( 'Card Expiry Date', 'invoicing' ) ;?></label> |
|
27 | + <label for="auth-input-cc-expire-date" class="col-sm-3 control-label"><?php _e('Card Expiry Date', 'invoicing'); ?></label> |
|
28 | 28 | <div class="col-sm-2"> |
29 | 29 | <select class="form-control" id="auth-input-cc-expire-date" name="authorizenet[cc_expire_month]"> |
30 | - <?php for ( $i = 1; $i <= 12; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
31 | - <option value="<?php echo $value;?>"><?php echo $value;?></option> |
|
30 | + <?php for ($i = 1; $i <= 12; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
31 | + <option value="<?php echo $value; ?>"><?php echo $value; ?></option> |
|
32 | 32 | <?php } ?> |
33 | 33 | </select> |
34 | 34 | </div> |
35 | 35 | <div class="col-sm-3"> |
36 | 36 | <select class="form-control" name="authorizenet[cc_expire_year]"> |
37 | - <?php $year = date( 'Y' ); for ( $i = $year; $i <= ( $year + 10 ); $i++ ) { ?> |
|
38 | - <option value="<?php echo $i;?>"><?php echo $i;?></option> |
|
37 | + <?php $year = date('Y'); for ($i = $year; $i <= ($year + 10); $i++) { ?> |
|
38 | + <option value="<?php echo $i; ?>"><?php echo $i; ?></option> |
|
39 | 39 | <?php } ?> |
40 | 40 | </select> |
41 | 41 | </div> |
42 | 42 | </div> |
43 | 43 | <div class="form-group required"> |
44 | - <label for="auth-input-cc-cvv2" class="col-sm-3 control-label"><?php _e( 'Card Security Code (CVV2)', 'invoicing' ) ;?></label> |
|
44 | + <label for="auth-input-cc-cvv2" class="col-sm-3 control-label"><?php _e('Card Security Code (CVV2)', 'invoicing'); ?></label> |
|
45 | 45 | <div class="col-sm-5"> |
46 | - <input type="text" class="form-control" id="auth-input-cc-cvv2" placeholder="<?php esc_attr_e( 'Card Security Code (CVV2)', 'invoicing' ) ;?>" value="" name="authorizenet[cc_cvv2]""> |
|
46 | + <input type="text" class="form-control" id="auth-input-cc-cvv2" placeholder="<?php esc_attr_e('Card Security Code (CVV2)', 'invoicing'); ?>" value="" name="authorizenet[cc_cvv2]""> |
|
47 | 47 | </div> |
48 | 48 | </div> |
49 | 49 | </div> |
50 | 50 | </div> |
51 | 51 | <?php |
52 | 52 | } |
53 | -add_action( 'wpinv_authorizenet_cc_form', 'wpinv_authorizenet_cc_form', 10, 1 ); |
|
53 | +add_action('wpinv_authorizenet_cc_form', 'wpinv_authorizenet_cc_form', 10, 1); |
|
54 | 54 | |
55 | -function wpinv_process_authorizenet_payment( $purchase_data ) { |
|
56 | - if( ! wp_verify_nonce( $purchase_data['gateway_nonce'], 'wpi-gateway' ) ) { |
|
57 | - wp_die( __( 'Nonce verification has failed', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
55 | +function wpinv_process_authorizenet_payment($purchase_data) { |
|
56 | + if (!wp_verify_nonce($purchase_data['gateway_nonce'], 'wpi-gateway')) { |
|
57 | + wp_die(__('Nonce verification has failed', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | // Collect payment data |
@@ -72,10 +72,10 @@ discard block |
||
72 | 72 | ); |
73 | 73 | |
74 | 74 | // Record the pending payment |
75 | - $invoice = wpinv_get_invoice( $purchase_data['invoice_id'] ); |
|
75 | + $invoice = wpinv_get_invoice($purchase_data['invoice_id']); |
|
76 | 76 | |
77 | - if ( !empty( $invoice ) ) { |
|
78 | - $authorizenet_card = !empty( $_POST['authorizenet'] ) ? $_POST['authorizenet'] : array(); |
|
77 | + if (!empty($invoice)) { |
|
78 | + $authorizenet_card = !empty($_POST['authorizenet']) ? $_POST['authorizenet'] : array(); |
|
79 | 79 | $card_defaults = array( |
80 | 80 | 'cc_owner' => $invoice->get_user_full_name(), |
81 | 81 | 'cc_number' => false, |
@@ -83,186 +83,186 @@ discard block |
||
83 | 83 | 'cc_expire_year' => false, |
84 | 84 | 'cc_cvv2' => false, |
85 | 85 | ); |
86 | - $authorizenet_card = wp_parse_args( $authorizenet_card, $card_defaults ); |
|
86 | + $authorizenet_card = wp_parse_args($authorizenet_card, $card_defaults); |
|
87 | 87 | |
88 | - if ( empty( $authorizenet_card['cc_owner'] ) ) { |
|
89 | - wpinv_set_error( 'empty_card_name', __( 'You must enter the name on your card!', 'invoicing')); |
|
88 | + if (empty($authorizenet_card['cc_owner'])) { |
|
89 | + wpinv_set_error('empty_card_name', __('You must enter the name on your card!', 'invoicing')); |
|
90 | 90 | } |
91 | - if ( empty( $authorizenet_card['cc_number'] ) ) { |
|
92 | - wpinv_set_error( 'empty_card', __( 'You must enter a card number!', 'invoicing')); |
|
91 | + if (empty($authorizenet_card['cc_number'])) { |
|
92 | + wpinv_set_error('empty_card', __('You must enter a card number!', 'invoicing')); |
|
93 | 93 | } |
94 | - if ( empty( $authorizenet_card['cc_expire_month'] ) ) { |
|
95 | - wpinv_set_error( 'empty_month', __( 'You must enter an card expiration month!', 'invoicing')); |
|
94 | + if (empty($authorizenet_card['cc_expire_month'])) { |
|
95 | + wpinv_set_error('empty_month', __('You must enter an card expiration month!', 'invoicing')); |
|
96 | 96 | } |
97 | - if ( empty( $authorizenet_card['cc_expire_year'] ) ) { |
|
98 | - wpinv_set_error( 'empty_year', __( 'You must enter an card expiration year!', 'invoicing')); |
|
97 | + if (empty($authorizenet_card['cc_expire_year'])) { |
|
98 | + wpinv_set_error('empty_year', __('You must enter an card expiration year!', 'invoicing')); |
|
99 | 99 | } |
100 | - if ( empty( $authorizenet_card['cc_cvv2'] ) ) { |
|
101 | - wpinv_set_error( 'empty_cvv2', __( 'You must enter a valid CVV2!', 'invoicing' ) ); |
|
100 | + if (empty($authorizenet_card['cc_cvv2'])) { |
|
101 | + wpinv_set_error('empty_cvv2', __('You must enter a valid CVV2!', 'invoicing')); |
|
102 | 102 | } |
103 | 103 | |
104 | 104 | $errors = wpinv_get_errors(); |
105 | 105 | |
106 | - if ( empty( $errors ) ) { |
|
106 | + if (empty($errors)) { |
|
107 | 107 | $invoice_id = $invoice->ID; |
108 | 108 | $quantities_enabled = wpinv_item_quantities_enabled(); |
109 | 109 | $use_taxes = wpinv_use_taxes(); |
110 | 110 | |
111 | 111 | $authorizeAIM = wpinv_authorizenet_AIM(); |
112 | - $authorizeAIM->first_name = wpinv_utf8_substr( $invoice->get_first_name(), 0, 50 ); |
|
113 | - $authorizeAIM->last_name = wpinv_utf8_substr( $invoice->get_last_name(), 0, 50 ); |
|
114 | - $authorizeAIM->company = wpinv_utf8_substr( $invoice->company, 0, 50 ); |
|
115 | - $authorizeAIM->address = wpinv_utf8_substr( wp_strip_all_tags( $invoice->get_address(), true ), 0, 60 ); |
|
116 | - $authorizeAIM->city = wpinv_utf8_substr( $invoice->city, 0, 40 ); |
|
117 | - $authorizeAIM->state = wpinv_utf8_substr( $invoice->state, 0, 40 ); |
|
118 | - $authorizeAIM->zip = wpinv_utf8_substr( $invoice->zip, 0, 40 ); |
|
119 | - $authorizeAIM->country = wpinv_utf8_substr( $invoice->country, 0, 60 ); |
|
120 | - $authorizeAIM->phone = wpinv_utf8_substr( $invoice->phone, 0, 25 ); |
|
121 | - $authorizeAIM->email = wpinv_utf8_substr( $invoice->get_email(), 0, 255 ); |
|
122 | - $authorizeAIM->amount = wpinv_sanitize_amount( $invoice->get_total() ); |
|
123 | - $authorizeAIM->card_num = str_replace( ' ', '', sanitize_text_field( $authorizenet_card['cc_number'] ) ); |
|
124 | - $authorizeAIM->exp_date = sanitize_text_field( $authorizenet_card['cc_expire_month'] ) . sanitize_text_field( $authorizenet_card['cc_expire_year'] ); |
|
125 | - $authorizeAIM->card_code = sanitize_text_field( $authorizenet_card['cc_cvv2'] ); |
|
112 | + $authorizeAIM->first_name = wpinv_utf8_substr($invoice->get_first_name(), 0, 50); |
|
113 | + $authorizeAIM->last_name = wpinv_utf8_substr($invoice->get_last_name(), 0, 50); |
|
114 | + $authorizeAIM->company = wpinv_utf8_substr($invoice->company, 0, 50); |
|
115 | + $authorizeAIM->address = wpinv_utf8_substr(wp_strip_all_tags($invoice->get_address(), true), 0, 60); |
|
116 | + $authorizeAIM->city = wpinv_utf8_substr($invoice->city, 0, 40); |
|
117 | + $authorizeAIM->state = wpinv_utf8_substr($invoice->state, 0, 40); |
|
118 | + $authorizeAIM->zip = wpinv_utf8_substr($invoice->zip, 0, 40); |
|
119 | + $authorizeAIM->country = wpinv_utf8_substr($invoice->country, 0, 60); |
|
120 | + $authorizeAIM->phone = wpinv_utf8_substr($invoice->phone, 0, 25); |
|
121 | + $authorizeAIM->email = wpinv_utf8_substr($invoice->get_email(), 0, 255); |
|
122 | + $authorizeAIM->amount = wpinv_sanitize_amount($invoice->get_total()); |
|
123 | + $authorizeAIM->card_num = str_replace(' ', '', sanitize_text_field($authorizenet_card['cc_number'])); |
|
124 | + $authorizeAIM->exp_date = sanitize_text_field($authorizenet_card['cc_expire_month']) . sanitize_text_field($authorizenet_card['cc_expire_year']); |
|
125 | + $authorizeAIM->card_code = sanitize_text_field($authorizenet_card['cc_cvv2']); |
|
126 | 126 | $authorizeAIM->invoice_num = $invoice->ID; |
127 | 127 | |
128 | 128 | $item_desc = array(); |
129 | - foreach ( $invoice->get_cart_details() as $item ) { |
|
130 | - $quantity = $quantities_enabled && !empty( $item['quantity'] ) && $item['quantity'] > 0 ? $item['quantity'] : 1; |
|
131 | - $item_name = wpinv_utf8_substr( $item['name'], 0, 31 ); |
|
132 | - $item_desc[] = $item_name . ' (' . $quantity . 'x ' . wpinv_price( wpinv_format_amount( $item['item_price'] ) ) . ')'; |
|
129 | + foreach ($invoice->get_cart_details() as $item) { |
|
130 | + $quantity = $quantities_enabled && !empty($item['quantity']) && $item['quantity'] > 0 ? $item['quantity'] : 1; |
|
131 | + $item_name = wpinv_utf8_substr($item['name'], 0, 31); |
|
132 | + $item_desc[] = $item_name . ' (' . $quantity . 'x ' . wpinv_price(wpinv_format_amount($item['item_price'])) . ')'; |
|
133 | 133 | |
134 | - $authorizeAIM->addLineItem( $item['id'], $item_name, '', $quantity, $item['item_price'], ( $use_taxes && !empty( $item['tax'] ) && $item['tax'] > 0 ? 'Y' : 'N' ) ); |
|
134 | + $authorizeAIM->addLineItem($item['id'], $item_name, '', $quantity, $item['item_price'], ($use_taxes && !empty($item['tax']) && $item['tax'] > 0 ? 'Y' : 'N')); |
|
135 | 135 | } |
136 | 136 | |
137 | - $item_desc = '#' . $invoice->get_number() . ': ' . implode( ', ', $item_desc ); |
|
137 | + $item_desc = '#' . $invoice->get_number() . ': ' . implode(', ', $item_desc); |
|
138 | 138 | |
139 | - if ( $use_taxes && $invoice->get_tax() > 0 ) { |
|
140 | - $authorizeAIM->tax = $invoice->get_tax(); |
|
139 | + if ($use_taxes && $invoice->get_tax() > 0) { |
|
140 | + $authorizeAIM->tax = $invoice->get_tax(); |
|
141 | 141 | |
142 | - $item_desc .= ', ' . wp_sprintf( __( 'Tax: %s', 'invoicing' ), $invoice->get_tax( true ) ); |
|
142 | + $item_desc .= ', ' . wp_sprintf(__('Tax: %s', 'invoicing'), $invoice->get_tax(true)); |
|
143 | 143 | } |
144 | 144 | |
145 | - if ( $invoice->get_discount() > 0 ) { |
|
146 | - $item_desc .= ', ' . wp_sprintf( __( 'Discount: %s', 'invoicing' ), $invoice->get_discount( true ) ); |
|
145 | + if ($invoice->get_discount() > 0) { |
|
146 | + $item_desc .= ', ' . wp_sprintf(__('Discount: %s', 'invoicing'), $invoice->get_discount(true)); |
|
147 | 147 | } |
148 | 148 | |
149 | - $item_description = wpinv_utf8_substr( $item_desc, 0, 255 ); |
|
150 | - $item_description = html_entity_decode( $item_desc , ENT_QUOTES, 'UTF-8' ); |
|
149 | + $item_description = wpinv_utf8_substr($item_desc, 0, 255); |
|
150 | + $item_description = html_entity_decode($item_desc, ENT_QUOTES, 'UTF-8'); |
|
151 | 151 | |
152 | - $authorizeAIM->description = wpinv_utf8_substr( $item_description, 0, 255 ); |
|
152 | + $authorizeAIM->description = wpinv_utf8_substr($item_description, 0, 255); |
|
153 | 153 | |
154 | 154 | $is_recurring = $invoice->is_recurring(); // Recurring payment. |
155 | 155 | |
156 | - if ( $is_recurring ) { |
|
156 | + if ($is_recurring) { |
|
157 | 157 | $authorizeAIM->recurring_billing = true; |
158 | 158 | } |
159 | 159 | |
160 | 160 | try { |
161 | - if ( $is_recurring ) { |
|
161 | + if ($is_recurring) { |
|
162 | 162 | $response = $authorizeAIM->authorizeOnly(); |
163 | 163 | } else { |
164 | 164 | $trx_type = wpinv_get_option('authorizenet_transaction_type', 'authorize_capture'); |
165 | - if('authorize_capture' == $trx_type){ |
|
165 | + if ('authorize_capture' == $trx_type) { |
|
166 | 166 | $response = $authorizeAIM->authorizeAndCapture(); |
167 | 167 | } else { |
168 | 168 | $response = $authorizeAIM->authorizeOnly(); |
169 | 169 | } |
170 | 170 | } |
171 | 171 | |
172 | - if ( $response->approved || $response->held ) { |
|
173 | - if ( $response->approved ) { |
|
174 | - wpinv_update_payment_status( $invoice_id, 'publish' ); |
|
172 | + if ($response->approved || $response->held) { |
|
173 | + if ($response->approved) { |
|
174 | + wpinv_update_payment_status($invoice_id, 'publish'); |
|
175 | 175 | } |
176 | - wpinv_set_payment_transaction_id( $invoice_id, $response->transaction_id ); |
|
176 | + wpinv_set_payment_transaction_id($invoice_id, $response->transaction_id); |
|
177 | 177 | |
178 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'Authorize.Net payment response: %s', 'invoicing' ), $response->response_reason_text ), '', '', true ); |
|
179 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'Authorize.Net payment: Transaction ID %s, Transaction Type %s, Authorization Code %s', 'invoicing' ), $response->transaction_id, strtoupper( $response->transaction_type ), $response->authorization_code ), '', '', true ); |
|
178 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('Authorize.Net payment response: %s', 'invoicing'), $response->response_reason_text), '', '', true); |
|
179 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('Authorize.Net payment: Transaction ID %s, Transaction Type %s, Authorization Code %s', 'invoicing'), $response->transaction_id, strtoupper($response->transaction_type), $response->authorization_code), '', '', true); |
|
180 | 180 | |
181 | - do_action( 'wpinv_authorizenet_handle_response', $response, $invoice, $authorizenet_card ); |
|
181 | + do_action('wpinv_authorizenet_handle_response', $response, $invoice, $authorizenet_card); |
|
182 | 182 | |
183 | 183 | wpinv_clear_errors(); |
184 | 184 | wpinv_empty_cart(); |
185 | 185 | |
186 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
186 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
187 | 187 | } else { |
188 | - if ( !empty( $response->response_reason_text ) ) { |
|
189 | - $error = __( $response->response_reason_text, 'invoicing' ); |
|
190 | - } else if ( !empty( $response->error_message ) ) { |
|
191 | - $error = __( $response->error_message, 'invoicing' ); |
|
188 | + if (!empty($response->response_reason_text)) { |
|
189 | + $error = __($response->response_reason_text, 'invoicing'); |
|
190 | + } else if (!empty($response->error_message)) { |
|
191 | + $error = __($response->error_message, 'invoicing'); |
|
192 | 192 | } else { |
193 | - $error = wp_sprintf( __( 'Error data: %s', 'invoicing' ), print_r( $response, true ) ); |
|
193 | + $error = wp_sprintf(__('Error data: %s', 'invoicing'), print_r($response, true)); |
|
194 | 194 | } |
195 | 195 | |
196 | - $error = wp_sprintf( __( 'Authorize.Net payment error occurred. %s', 'invoicing' ), $error ); |
|
196 | + $error = wp_sprintf(__('Authorize.Net payment error occurred. %s', 'invoicing'), $error); |
|
197 | 197 | |
198 | - wpinv_set_error( 'payment_error', $error ); |
|
199 | - wpinv_record_gateway_error( $error, $response ); |
|
200 | - wpinv_insert_payment_note( $invoice_id, $error, '', '', true ); |
|
198 | + wpinv_set_error('payment_error', $error); |
|
199 | + wpinv_record_gateway_error($error, $response); |
|
200 | + wpinv_insert_payment_note($invoice_id, $error, '', '', true); |
|
201 | 201 | |
202 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
202 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
203 | 203 | } |
204 | - } catch ( AuthorizeNetException $e ) { |
|
205 | - wpinv_set_error( 'request_error', $e->getMessage() ); |
|
206 | - wpinv_record_gateway_error( wp_sprintf( __( 'Authorize.Net payment error occurred. %s', 'invoicing' ), $e->getMessage() ) ); |
|
207 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
204 | + } catch (AuthorizeNetException $e) { |
|
205 | + wpinv_set_error('request_error', $e->getMessage()); |
|
206 | + wpinv_record_gateway_error(wp_sprintf(__('Authorize.Net payment error occurred. %s', 'invoicing'), $e->getMessage())); |
|
207 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
208 | 208 | } |
209 | 209 | } else { |
210 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
210 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
211 | 211 | } |
212 | 212 | } else { |
213 | - wpinv_record_gateway_error( wp_sprintf( __( 'Authorize.Net payment error occurred. Payment creation failed while processing a Authorize.Net payment. Payment data: %s', 'invoicing' ), print_r( $payment_data, true ) ), $invoice ); |
|
214 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
213 | + wpinv_record_gateway_error(wp_sprintf(__('Authorize.Net payment error occurred. Payment creation failed while processing a Authorize.Net payment. Payment data: %s', 'invoicing'), print_r($payment_data, true)), $invoice); |
|
214 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
215 | 215 | } |
216 | 216 | } |
217 | -add_action( 'wpinv_gateway_authorizenet', 'wpinv_process_authorizenet_payment' ); |
|
217 | +add_action('wpinv_gateway_authorizenet', 'wpinv_process_authorizenet_payment'); |
|
218 | 218 | |
219 | -function wpinv_authorizenet_cancel_subscription( $subscription_id = '' ) { |
|
220 | - if ( empty( $subscription_id ) ) { |
|
219 | +function wpinv_authorizenet_cancel_subscription($subscription_id = '') { |
|
220 | + if (empty($subscription_id)) { |
|
221 | 221 | return false; |
222 | 222 | } |
223 | 223 | |
224 | 224 | try { |
225 | 225 | $authnetXML = wpinv_authorizenet_XML(); |
226 | - $authnetXML->ARBCancelSubscriptionRequest( array( 'subscriptionId' => $subscription_id ) ); |
|
226 | + $authnetXML->ARBCancelSubscriptionRequest(array('subscriptionId' => $subscription_id)); |
|
227 | 227 | return $authnetXML->isSuccessful(); |
228 | - } catch( Exception $e ) { |
|
229 | - wpinv_error_log( $e->getMessage(), __( 'Authorize.Net cancel subscription', 'invoicing' ) ); |
|
228 | + } catch (Exception $e) { |
|
229 | + wpinv_error_log($e->getMessage(), __('Authorize.Net cancel subscription', 'invoicing')); |
|
230 | 230 | } |
231 | 231 | |
232 | 232 | return false; |
233 | 233 | } |
234 | 234 | |
235 | -function wpinv_recurring_cancel_authorizenet_subscription( $subscription, $valid = false ) { |
|
236 | - if ( ! empty( $valid ) && ! empty( $subscription->profile_id ) ) { |
|
237 | - return wpinv_authorizenet_cancel_subscription( $subscription->profile_id ); |
|
235 | +function wpinv_recurring_cancel_authorizenet_subscription($subscription, $valid = false) { |
|
236 | + if (!empty($valid) && !empty($subscription->profile_id)) { |
|
237 | + return wpinv_authorizenet_cancel_subscription($subscription->profile_id); |
|
238 | 238 | } |
239 | 239 | |
240 | 240 | return false; |
241 | 241 | } |
242 | -add_action( 'wpinv_recurring_cancel_authorizenet_subscription', 'wpinv_recurring_cancel_authorizenet_subscription', 10, 2 ); |
|
242 | +add_action('wpinv_recurring_cancel_authorizenet_subscription', 'wpinv_recurring_cancel_authorizenet_subscription', 10, 2); |
|
243 | 243 | |
244 | -function wpinv_authorizenet_valid_ipn( $md5_hash, $transaction_id, $amount ) { |
|
245 | - $authorizenet_md5_hash = wpinv_get_option( 'authorizenet_md5_hash' ); |
|
246 | - if ( empty( $authorizenet_md5_hash ) ) { |
|
244 | +function wpinv_authorizenet_valid_ipn($md5_hash, $transaction_id, $amount) { |
|
245 | + $authorizenet_md5_hash = wpinv_get_option('authorizenet_md5_hash'); |
|
246 | + if (empty($authorizenet_md5_hash)) { |
|
247 | 247 | return true; |
248 | 248 | } |
249 | 249 | |
250 | - $compare_md5 = strtoupper( md5( $authorizenet_md5_hash . $transaction_id . $amount ) ); |
|
250 | + $compare_md5 = strtoupper(md5($authorizenet_md5_hash . $transaction_id . $amount)); |
|
251 | 251 | |
252 | - return hash_equals( $compare_md5, $md5_hash ); |
|
252 | + return hash_equals($compare_md5, $md5_hash); |
|
253 | 253 | } |
254 | 254 | |
255 | 255 | function wpinv_authorizenet_AIM() { |
256 | - if ( !class_exists( 'AuthorizeNetException' ) ) { |
|
257 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/gateways/authorizenet/anet_php_sdk/AuthorizeNet.php'; |
|
256 | + if (!class_exists('AuthorizeNetException')) { |
|
257 | + require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/gateways/authorizenet/anet_php_sdk/AuthorizeNet.php'; |
|
258 | 258 | } |
259 | 259 | |
260 | - $authorizeAIM = new AuthorizeNetAIM( wpinv_get_option( 'authorizenet_login_id' ), wpinv_get_option( 'authorizenet_transaction_key' ) ); |
|
260 | + $authorizeAIM = new AuthorizeNetAIM(wpinv_get_option('authorizenet_login_id'), wpinv_get_option('authorizenet_transaction_key')); |
|
261 | 261 | |
262 | - if ( wpinv_is_test_mode( 'authorizenet' ) ) { |
|
263 | - $authorizeAIM->setSandbox( true ); |
|
262 | + if (wpinv_is_test_mode('authorizenet')) { |
|
263 | + $authorizeAIM->setSandbox(true); |
|
264 | 264 | } else { |
265 | - $authorizeAIM->setSandbox( false ); |
|
265 | + $authorizeAIM->setSandbox(false); |
|
266 | 266 | } |
267 | 267 | |
268 | 268 | $authorizeAIM->customer_ip = wpinv_get_ip(); |
@@ -271,250 +271,250 @@ discard block |
||
271 | 271 | } |
272 | 272 | |
273 | 273 | function wpinv_authorizenet_XML() { |
274 | - if ( !class_exists( 'AuthnetXML' ) ) { |
|
275 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/gateways/authorizenet/Authorize.Net-XML/AuthnetXML.class.php'; |
|
274 | + if (!class_exists('AuthnetXML')) { |
|
275 | + require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/gateways/authorizenet/Authorize.Net-XML/AuthnetXML.class.php'; |
|
276 | 276 | } |
277 | 277 | |
278 | - $authnetXML = new AuthnetXML( wpinv_get_option( 'authorizenet_login_id' ), wpinv_get_option( 'authorizenet_transaction_key' ), (bool)wpinv_is_test_mode( 'authorizenet' ) ); |
|
278 | + $authnetXML = new AuthnetXML(wpinv_get_option('authorizenet_login_id'), wpinv_get_option('authorizenet_transaction_key'), (bool)wpinv_is_test_mode('authorizenet')); |
|
279 | 279 | |
280 | 280 | return $authnetXML; |
281 | 281 | } |
282 | 282 | |
283 | -function wpinv_authorizenet_handle_response( $response, $invoice, $card_info = array() ) { |
|
284 | - if ( empty( $response ) || empty( $invoice ) ) { |
|
283 | +function wpinv_authorizenet_handle_response($response, $invoice, $card_info = array()) { |
|
284 | + if (empty($response) || empty($invoice)) { |
|
285 | 285 | return false; |
286 | 286 | } |
287 | 287 | |
288 | - if ( $invoice->is_recurring() && !empty( $response->approved ) ) { |
|
289 | - $subscription = wpinv_authorizenet_create_new_subscription( $invoice, $response, $card_info ); |
|
288 | + if ($invoice->is_recurring() && !empty($response->approved)) { |
|
289 | + $subscription = wpinv_authorizenet_create_new_subscription($invoice, $response, $card_info); |
|
290 | 290 | $success = false; |
291 | - if ( wpinv_is_test_mode( 'authorizenet' ) ) { |
|
291 | + if (wpinv_is_test_mode('authorizenet')) { |
|
292 | 292 | $success = true; |
293 | 293 | } else { |
294 | 294 | $success = $subscription->isSuccessful(); |
295 | 295 | } |
296 | 296 | |
297 | - if ( !empty( $subscription ) && $success ) { |
|
298 | - do_action( 'wpinv_recurring_post_create_subscription', $subscription, $invoice, 'authorizenet' ); |
|
297 | + if (!empty($subscription) && $success) { |
|
298 | + do_action('wpinv_recurring_post_create_subscription', $subscription, $invoice, 'authorizenet'); |
|
299 | 299 | |
300 | - wpinv_authorizenet_subscription_record_signup( $subscription, $invoice ); |
|
300 | + wpinv_authorizenet_subscription_record_signup($subscription, $invoice); |
|
301 | 301 | |
302 | - do_action( 'wpinv_recurring_post_record_signup', $subscription, $invoice, 'authorizenet' ); |
|
302 | + do_action('wpinv_recurring_post_record_signup', $subscription, $invoice, 'authorizenet'); |
|
303 | 303 | } else { |
304 | - if ( isset( $subscription->messages->message ) ) { |
|
304 | + if (isset($subscription->messages->message)) { |
|
305 | 305 | $error = $subscription->messages->message->code . ': ' . $subscription->messages->message->text; |
306 | - wpinv_set_error( 'wpinv_authorize_recurring_error', $error, 'invoicing' ); |
|
306 | + wpinv_set_error('wpinv_authorize_recurring_error', $error, 'invoicing'); |
|
307 | 307 | } else { |
308 | - $error = __( 'Your subscription cannot be created due to an error.', 'invoicing' ); |
|
309 | - wpinv_set_error( 'wpinv_authorize_recurring_error', $error ); |
|
308 | + $error = __('Your subscription cannot be created due to an error.', 'invoicing'); |
|
309 | + wpinv_set_error('wpinv_authorize_recurring_error', $error); |
|
310 | 310 | } |
311 | 311 | |
312 | - wpinv_record_gateway_error( $error, $subscription ); |
|
312 | + wpinv_record_gateway_error($error, $subscription); |
|
313 | 313 | |
314 | - wpinv_insert_payment_note( $invoice->ID, wp_sprintf( __( 'Authorize.Net subscription error occurred. %s', 'invoicing' ), $error ), '', '', true ); |
|
314 | + wpinv_insert_payment_note($invoice->ID, wp_sprintf(__('Authorize.Net subscription error occurred. %s', 'invoicing'), $error), '', '', true); |
|
315 | 315 | } |
316 | 316 | } |
317 | 317 | } |
318 | -add_action( 'wpinv_authorizenet_handle_response', 'wpinv_authorizenet_handle_response', 10, 3 ); |
|
318 | +add_action('wpinv_authorizenet_handle_response', 'wpinv_authorizenet_handle_response', 10, 3); |
|
319 | 319 | |
320 | -function wpinv_authorizenet_create_new_subscription( $invoice, $response = array(), $card_info = array() ) { |
|
321 | - if ( empty( $invoice ) ) { |
|
320 | +function wpinv_authorizenet_create_new_subscription($invoice, $response = array(), $card_info = array()) { |
|
321 | + if (empty($invoice)) { |
|
322 | 322 | return false; |
323 | 323 | } |
324 | 324 | |
325 | - $params = wpinv_authorizenet_generate_subscription_params( $invoice, $card_info, $response ); |
|
325 | + $params = wpinv_authorizenet_generate_subscription_params($invoice, $card_info, $response); |
|
326 | 326 | |
327 | 327 | try { |
328 | 328 | $authnetXML = wpinv_authorizenet_XML(); |
329 | - $authnetXML->ARBCreateSubscriptionRequest( $params ); |
|
330 | - } catch( Exception $e ) { |
|
329 | + $authnetXML->ARBCreateSubscriptionRequest($params); |
|
330 | + } catch (Exception $e) { |
|
331 | 331 | $authnetXML = array(); |
332 | - wpinv_error_log( $e->getMessage(), __( 'Authorize.Net cancel subscription', 'invoicing' ) ); |
|
332 | + wpinv_error_log($e->getMessage(), __('Authorize.Net cancel subscription', 'invoicing')); |
|
333 | 333 | } |
334 | 334 | |
335 | 335 | return $authnetXML; |
336 | 336 | } |
337 | 337 | |
338 | -function wpinv_authorizenet_generate_subscription_params( $invoice, $card_info = array(), $response = array() ) { |
|
339 | - if ( empty( $invoice ) ) { |
|
338 | +function wpinv_authorizenet_generate_subscription_params($invoice, $card_info = array(), $response = array()) { |
|
339 | + if (empty($invoice)) { |
|
340 | 340 | return false; |
341 | 341 | } |
342 | 342 | |
343 | - $subscription_item = $invoice->get_recurring( true ); |
|
344 | - if ( empty( $subscription_item->ID ) ) { |
|
343 | + $subscription_item = $invoice->get_recurring(true); |
|
344 | + if (empty($subscription_item->ID)) { |
|
345 | 345 | return false; |
346 | 346 | } |
347 | 347 | |
348 | - $item = $invoice->get_recurring( true ); |
|
348 | + $item = $invoice->get_recurring(true); |
|
349 | 349 | |
350 | - if ( empty( $item ) ) { |
|
350 | + if (empty($item)) { |
|
351 | 351 | $name = ''; |
352 | 352 | } |
353 | 353 | |
354 | - if ( !( $name = $item->get_name() ) ) { |
|
354 | + if (!($name = $item->get_name())) { |
|
355 | 355 | $name = $item->post_name; |
356 | 356 | } |
357 | 357 | |
358 | - $card_details = wpinv_authorizenet_generate_card_info( $card_info ); |
|
358 | + $card_details = wpinv_authorizenet_generate_card_info($card_info); |
|
359 | 359 | $subscription_name = $invoice->get_subscription_name(); |
360 | - $initial_amount = wpinv_round_amount( $invoice->get_total() ); |
|
361 | - $recurring_amount = wpinv_round_amount( $invoice->get_recurring_details( 'total' ) ); |
|
360 | + $initial_amount = wpinv_round_amount($invoice->get_total()); |
|
361 | + $recurring_amount = wpinv_round_amount($invoice->get_recurring_details('total')); |
|
362 | 362 | $interval = $subscription_item->get_recurring_interval(); |
363 | 363 | $period = $subscription_item->get_recurring_period(); |
364 | 364 | $bill_times = (int)$subscription_item->get_recurring_limit(); |
365 | 365 | $bill_times = $bill_times > 0 ? $bill_times : 9999; |
366 | 366 | |
367 | - $time_period = wpinv_authorizenet_get_time_period( $interval, $period ); |
|
367 | + $time_period = wpinv_authorizenet_get_time_period($interval, $period); |
|
368 | 368 | $interval = $time_period['interval']; |
369 | 369 | $period = $time_period['period']; |
370 | 370 | |
371 | 371 | $current_tz = date_default_timezone_get(); |
372 | - date_default_timezone_set( 'America/Denver' ); // Set same timezone as Authorize's server (Mountain Time) to prevent conflicts. |
|
373 | - $today = date( 'Y-m-d' ); |
|
374 | - date_default_timezone_set( $current_tz ); |
|
372 | + date_default_timezone_set('America/Denver'); // Set same timezone as Authorize's server (Mountain Time) to prevent conflicts. |
|
373 | + $today = date('Y-m-d'); |
|
374 | + date_default_timezone_set($current_tz); |
|
375 | 375 | |
376 | 376 | $free_trial = $invoice->is_free_trial(); |
377 | - if ( $free_trial && $subscription_item->has_free_trial() ) { |
|
377 | + if ($free_trial && $subscription_item->has_free_trial()) { |
|
378 | 378 | $trial_interval = $subscription_item->get_trial_interval(); |
379 | - $trial_period = $subscription_item->get_trial_period( true ); |
|
379 | + $trial_period = $subscription_item->get_trial_period(true); |
|
380 | 380 | } |
381 | 381 | |
382 | 382 | $subscription = array(); |
383 | 383 | $subscription['name'] = $subscription_name; |
384 | 384 | |
385 | 385 | $subscription['paymentSchedule'] = array( |
386 | - 'interval' => array( 'length' => $interval, 'unit' => $period ), |
|
386 | + 'interval' => array('length' => $interval, 'unit' => $period), |
|
387 | 387 | 'startDate' => $today, |
388 | 388 | 'totalOccurrences' => $bill_times, |
389 | - 'trialOccurrences' => $free_trial || ( $initial_amount != $recurring_amount ) ? 1 : 0, |
|
389 | + 'trialOccurrences' => $free_trial || ($initial_amount != $recurring_amount) ? 1 : 0, |
|
390 | 390 | ); |
391 | 391 | |
392 | 392 | $subscription['amount'] = $recurring_amount; |
393 | 393 | $subscription['trialAmount'] = $initial_amount; |
394 | - $subscription['payment'] = array( 'creditCard' => $card_details ); |
|
395 | - $subscription['order'] = array( 'invoiceNumber' => $invoice->ID, 'description' => '#' . $invoice->get_number() ); |
|
396 | - $subscription['customer'] = array( 'id' => $invoice->get_user_id(), 'email' => $invoice->get_email(), 'phoneNumber' => $invoice->phone ); |
|
394 | + $subscription['payment'] = array('creditCard' => $card_details); |
|
395 | + $subscription['order'] = array('invoiceNumber' => $invoice->ID, 'description' => '#' . $invoice->get_number()); |
|
396 | + $subscription['customer'] = array('id' => $invoice->get_user_id(), 'email' => $invoice->get_email(), 'phoneNumber' => $invoice->phone); |
|
397 | 397 | |
398 | 398 | $subscription['billTo'] = array( |
399 | 399 | 'firstName' => $invoice->get_first_name(), |
400 | 400 | 'lastName' => $invoice->get_last_name(), |
401 | 401 | 'company' => $invoice->company, |
402 | - 'address' => wp_strip_all_tags( $invoice->get_address(), true ), |
|
402 | + 'address' => wp_strip_all_tags($invoice->get_address(), true), |
|
403 | 403 | 'city' => $invoice->city, |
404 | 404 | 'state' => $invoice->state, |
405 | 405 | 'zip' => $invoice->zip, |
406 | 406 | 'country' => $invoice->country, |
407 | 407 | ); |
408 | 408 | |
409 | - $params = array( 'subscription' => $subscription ); |
|
409 | + $params = array('subscription' => $subscription); |
|
410 | 410 | |
411 | - return apply_filters( 'wpinv_authorizenet_generate_subscription_params', $params, $invoice, $card_info, $response ); |
|
411 | + return apply_filters('wpinv_authorizenet_generate_subscription_params', $params, $invoice, $card_info, $response); |
|
412 | 412 | } |
413 | 413 | |
414 | -function wpinv_authorizenet_generate_card_info( $card_info = array() ) { |
|
415 | - $card_defaults = array( |
|
414 | +function wpinv_authorizenet_generate_card_info($card_info = array()) { |
|
415 | + $card_defaults = array( |
|
416 | 416 | 'cc_owner' => null, |
417 | 417 | 'cc_number' => null, |
418 | 418 | 'cc_expire_month' => null, |
419 | 419 | 'cc_expire_year' => null, |
420 | 420 | 'cc_cvv2' => null, |
421 | 421 | ); |
422 | - $card_info = wp_parse_args( $card_info, $card_defaults ); |
|
422 | + $card_info = wp_parse_args($card_info, $card_defaults); |
|
423 | 423 | |
424 | 424 | $card_details = array( |
425 | - 'cardNumber' => str_replace( ' ', '', sanitize_text_field( $card_info['cc_number'] ) ), |
|
426 | - 'expirationDate' => sanitize_text_field( $card_info['cc_expire_month'] ) . sanitize_text_field( $card_info['cc_expire_year'] ), |
|
427 | - 'cardCode' => sanitize_text_field( $card_info['cc_cvv2'] ), |
|
425 | + 'cardNumber' => str_replace(' ', '', sanitize_text_field($card_info['cc_number'])), |
|
426 | + 'expirationDate' => sanitize_text_field($card_info['cc_expire_month']) . sanitize_text_field($card_info['cc_expire_year']), |
|
427 | + 'cardCode' => sanitize_text_field($card_info['cc_cvv2']), |
|
428 | 428 | ); |
429 | 429 | |
430 | 430 | return $card_details; |
431 | 431 | } |
432 | 432 | |
433 | -function wpinv_authorizenet_subscription_record_signup( $subscription, $invoice ) { |
|
434 | - $parent_invoice_id = absint( $invoice->ID ); |
|
433 | +function wpinv_authorizenet_subscription_record_signup($subscription, $invoice) { |
|
434 | + $parent_invoice_id = absint($invoice->ID); |
|
435 | 435 | |
436 | - if( empty( $parent_invoice_id ) ) { |
|
436 | + if (empty($parent_invoice_id)) { |
|
437 | 437 | return; |
438 | 438 | } |
439 | 439 | |
440 | - $invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
441 | - if ( empty( $invoice ) ) { |
|
440 | + $invoice = wpinv_get_invoice($parent_invoice_id); |
|
441 | + if (empty($invoice)) { |
|
442 | 442 | return; |
443 | 443 | } |
444 | 444 | |
445 | 445 | $subscriptionId = (array)$subscription->subscriptionId; |
446 | - $subscription_id = !empty( $subscriptionId[0] ) ? $subscriptionId[0] : $parent_invoice_id; |
|
446 | + $subscription_id = !empty($subscriptionId[0]) ? $subscriptionId[0] : $parent_invoice_id; |
|
447 | 447 | |
448 | - $subscription = wpinv_get_authorizenet_subscription( $subscription, $parent_invoice_id ); |
|
448 | + $subscription = wpinv_get_authorizenet_subscription($subscription, $parent_invoice_id); |
|
449 | 449 | |
450 | - if ( false === $subscription ) { |
|
450 | + if (false === $subscription) { |
|
451 | 451 | return; |
452 | 452 | } |
453 | 453 | |
454 | 454 | // Set payment to complete |
455 | - wpinv_update_payment_status( $subscription->parent_payment_id, 'publish' ); |
|
455 | + wpinv_update_payment_status($subscription->parent_payment_id, 'publish'); |
|
456 | 456 | sleep(1); |
457 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'Authorize.Net Subscription ID: %s', 'invoicing' ) , $subscription_id ), '', '', true ); |
|
458 | - update_post_meta($parent_invoice_id,'_wpinv_subscr_profile_id', $subscription_id); |
|
457 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('Authorize.Net Subscription ID: %s', 'invoicing'), $subscription_id), '', '', true); |
|
458 | + update_post_meta($parent_invoice_id, '_wpinv_subscr_profile_id', $subscription_id); |
|
459 | 459 | |
460 | 460 | $status = 'trialling' == $subscription->status ? 'trialling' : 'active'; |
461 | - $diff_days = absint( ( ( strtotime( $subscription->expiration ) - strtotime( $subscription->created ) ) / DAY_IN_SECONDS ) ); |
|
462 | - $created = date_i18n( 'Y-m-d H:i:s' ); |
|
463 | - $expiration = date_i18n( 'Y-m-d 23:59:59', ( strtotime( $created ) + ( $diff_days * DAY_IN_SECONDS ) ) ); |
|
461 | + $diff_days = absint(((strtotime($subscription->expiration) - strtotime($subscription->created)) / DAY_IN_SECONDS)); |
|
462 | + $created = date_i18n('Y-m-d H:i:s'); |
|
463 | + $expiration = date_i18n('Y-m-d 23:59:59', (strtotime($created) + ($diff_days * DAY_IN_SECONDS))); |
|
464 | 464 | |
465 | 465 | // Retrieve pending subscription from database and update it's status to active and set proper profile ID |
466 | - $subscription->update( array( 'profile_id' => $subscription_id, 'status' => $status, 'created' => $created, 'expiration' => $expiration ) ); |
|
466 | + $subscription->update(array('profile_id' => $subscription_id, 'status' => $status, 'created' => $created, 'expiration' => $expiration)); |
|
467 | 467 | } |
468 | 468 | |
469 | -function wpinv_authorizenet_validate_checkout( $valid_data, $post ) { |
|
470 | - if ( !empty( $post['wpi-gateway'] ) && $post['wpi-gateway'] == 'authorizenet' ) { |
|
469 | +function wpinv_authorizenet_validate_checkout($valid_data, $post) { |
|
470 | + if (!empty($post['wpi-gateway']) && $post['wpi-gateway'] == 'authorizenet') { |
|
471 | 471 | $error = false; |
472 | 472 | |
473 | - if ( empty( $post['authorizenet']['cc_owner'] ) ) { |
|
473 | + if (empty($post['authorizenet']['cc_owner'])) { |
|
474 | 474 | $error = true; |
475 | - wpinv_set_error( 'empty_card_name', __( 'You must enter the name on your card!', 'invoicing')); |
|
475 | + wpinv_set_error('empty_card_name', __('You must enter the name on your card!', 'invoicing')); |
|
476 | 476 | } |
477 | - if ( empty( $post['authorizenet']['cc_number'] ) ) { |
|
477 | + if (empty($post['authorizenet']['cc_number'])) { |
|
478 | 478 | $error = true; |
479 | - wpinv_set_error( 'empty_card', __( 'You must enter a card number!', 'invoicing')); |
|
479 | + wpinv_set_error('empty_card', __('You must enter a card number!', 'invoicing')); |
|
480 | 480 | } |
481 | - if ( empty( $post['authorizenet']['cc_expire_month'] ) ) { |
|
481 | + if (empty($post['authorizenet']['cc_expire_month'])) { |
|
482 | 482 | $error = true; |
483 | - wpinv_set_error( 'empty_month', __( 'You must enter an card expiration month!', 'invoicing')); |
|
483 | + wpinv_set_error('empty_month', __('You must enter an card expiration month!', 'invoicing')); |
|
484 | 484 | } |
485 | - if ( empty( $post['authorizenet']['cc_expire_year'] ) ) { |
|
485 | + if (empty($post['authorizenet']['cc_expire_year'])) { |
|
486 | 486 | $error = true; |
487 | - wpinv_set_error( 'empty_year', __( 'You must enter an card expiration year!', 'invoicing')); |
|
487 | + wpinv_set_error('empty_year', __('You must enter an card expiration year!', 'invoicing')); |
|
488 | 488 | } |
489 | - if ( empty( $post['authorizenet']['cc_cvv2'] ) ) { |
|
489 | + if (empty($post['authorizenet']['cc_cvv2'])) { |
|
490 | 490 | $error = true; |
491 | - wpinv_set_error( 'empty_cvv2', __( 'You must enter a valid CVV2!', 'invoicing' ) ); |
|
491 | + wpinv_set_error('empty_cvv2', __('You must enter a valid CVV2!', 'invoicing')); |
|
492 | 492 | } |
493 | 493 | |
494 | - if ( $error ) { |
|
494 | + if ($error) { |
|
495 | 495 | return; |
496 | 496 | } |
497 | 497 | |
498 | 498 | $invoice = wpinv_get_invoice_cart(); |
499 | 499 | |
500 | - if ( !empty( $invoice ) && $subscription_item = $invoice->get_recurring( true ) ) { |
|
501 | - $subscription_item = $invoice->get_recurring( true ); |
|
500 | + if (!empty($invoice) && $subscription_item = $invoice->get_recurring(true)) { |
|
501 | + $subscription_item = $invoice->get_recurring(true); |
|
502 | 502 | |
503 | 503 | $interval = $subscription_item->get_recurring_interval(); |
504 | 504 | $period = $subscription_item->get_recurring_period(); |
505 | 505 | |
506 | - if ( $period == 'D' && ( $interval < 7 || $interval > 365 ) ) { |
|
507 | - wpinv_set_error( 'authorizenet_subscription_error', __( 'Interval Length must be a value from 7 through 365 for day based subscriptions.', 'invoicing' ) ); |
|
506 | + if ($period == 'D' && ($interval < 7 || $interval > 365)) { |
|
507 | + wpinv_set_error('authorizenet_subscription_error', __('Interval Length must be a value from 7 through 365 for day based subscriptions.', 'invoicing')); |
|
508 | 508 | } |
509 | 509 | } |
510 | 510 | } |
511 | 511 | } |
512 | -add_action( 'wpinv_checkout_error_checks', 'wpinv_authorizenet_validate_checkout', 11, 2 ); |
|
512 | +add_action('wpinv_checkout_error_checks', 'wpinv_authorizenet_validate_checkout', 11, 2); |
|
513 | 513 | |
514 | -function wpinv_authorizenet_get_time_period( $subscription_interval, $subscription_period ) { |
|
515 | - $subscription_interval = absint( $subscription_interval ); |
|
514 | +function wpinv_authorizenet_get_time_period($subscription_interval, $subscription_period) { |
|
515 | + $subscription_interval = absint($subscription_interval); |
|
516 | 516 | |
517 | - switch( $subscription_period ) { |
|
517 | + switch ($subscription_period) { |
|
518 | 518 | case 'W': |
519 | 519 | case 'week': |
520 | 520 | case 'weeks': |
@@ -524,14 +524,14 @@ discard block |
||
524 | 524 | case 'M': |
525 | 525 | case 'month': |
526 | 526 | case 'months': |
527 | - if ( $subscription_interval > 12 ) { |
|
527 | + if ($subscription_interval > 12) { |
|
528 | 528 | $subscription_interval = 12; |
529 | 529 | } |
530 | 530 | |
531 | 531 | $interval = $subscription_interval; |
532 | 532 | $period = 'months'; |
533 | 533 | |
534 | - if ( !( $subscription_interval === 1 || $subscription_interval === 2 || $subscription_interval === 3 || $subscription_interval === 6 || $subscription_interval === 12 ) ) { |
|
534 | + if (!($subscription_interval === 1 || $subscription_interval === 2 || $subscription_interval === 3 || $subscription_interval === 6 || $subscription_interval === 12)) { |
|
535 | 535 | $interval = $subscription_interval * 30; |
536 | 536 | $period = 'days'; |
537 | 537 | } |
@@ -548,30 +548,30 @@ discard block |
||
548 | 548 | break; |
549 | 549 | } |
550 | 550 | |
551 | - return compact( 'interval', 'period' ); |
|
551 | + return compact('interval', 'period'); |
|
552 | 552 | } |
553 | 553 | |
554 | 554 | function wpinv_authorizenet_process_ipn() { |
555 | - if ( !( !empty( $_REQUEST['wpi-gateway'] ) && $_REQUEST['wpi-gateway'] == 'authorizenet' ) ) { |
|
555 | + if (!(!empty($_REQUEST['wpi-gateway']) && $_REQUEST['wpi-gateway'] == 'authorizenet')) { |
|
556 | 556 | return; |
557 | 557 | } |
558 | 558 | |
559 | - $subscription_id = !empty( $_POST['x_subscription_id'] ) ? intval( $_POST['x_subscription_id'] ) : false; |
|
559 | + $subscription_id = !empty($_POST['x_subscription_id']) ? intval($_POST['x_subscription_id']) : false; |
|
560 | 560 | |
561 | - if ( $subscription_id ) { |
|
562 | - $response_code = intval( $_POST['x_response_code'] ); |
|
563 | - $reason_code = intval( $_POST['x_response_reason_code'] ); |
|
561 | + if ($subscription_id) { |
|
562 | + $response_code = intval($_POST['x_response_code']); |
|
563 | + $reason_code = intval($_POST['x_response_reason_code']); |
|
564 | 564 | |
565 | - $subscription = new WPInv_Subscription( $subscription_id, true ); |
|
565 | + $subscription = new WPInv_Subscription($subscription_id, true); |
|
566 | 566 | |
567 | - if ( !$subscription->id ) { |
|
567 | + if (!$subscription->id) { |
|
568 | 568 | return; |
569 | 569 | } |
570 | 570 | |
571 | - if ( 1 == $response_code ) { |
|
571 | + if (1 == $response_code) { |
|
572 | 572 | // Approved |
573 | - $transaction_id = sanitize_text_field( $_POST['x_trans_id'] ); |
|
574 | - $renewal_amount = sanitize_text_field( $_POST['x_amount'] ); |
|
573 | + $transaction_id = sanitize_text_field($_POST['x_trans_id']); |
|
574 | + $renewal_amount = sanitize_text_field($_POST['x_amount']); |
|
575 | 575 | |
576 | 576 | $args = array( |
577 | 577 | 'amount' => $renewal_amount, |
@@ -579,63 +579,63 @@ discard block |
||
579 | 579 | 'gateway' => 'authorizenet' |
580 | 580 | ); |
581 | 581 | |
582 | - $subscription->add_payment( $args ); |
|
582 | + $subscription->add_payment($args); |
|
583 | 583 | $subscription->renew(); |
584 | 584 | |
585 | - do_action( 'wpinv_recurring_authorizenet_silent_post_payment', $subscription ); |
|
586 | - do_action( 'wpinv_authorizenet_renewal_payment', $subscription ); |
|
587 | - } else if ( 2 == $response_code ) { |
|
585 | + do_action('wpinv_recurring_authorizenet_silent_post_payment', $subscription); |
|
586 | + do_action('wpinv_authorizenet_renewal_payment', $subscription); |
|
587 | + } else if (2 == $response_code) { |
|
588 | 588 | // Declined |
589 | 589 | $subscription->failing(); |
590 | - do_action( 'wpinv_authorizenet_renewal_payment_failed', $subscription ); |
|
591 | - do_action( 'wpinv_authorizenet_renewal_error', $subscription ); |
|
592 | - } else if ( 3 == $response_code || 8 == $reason_code ) { |
|
590 | + do_action('wpinv_authorizenet_renewal_payment_failed', $subscription); |
|
591 | + do_action('wpinv_authorizenet_renewal_error', $subscription); |
|
592 | + } else if (3 == $response_code || 8 == $reason_code) { |
|
593 | 593 | // An expired card |
594 | 594 | $subscription->failing(); |
595 | - do_action( 'wpinv_authorizenet_renewal_payment_failed', $subscription ); |
|
596 | - do_action( 'wpinv_authorizenet_renewal_error', $subscription ); |
|
595 | + do_action('wpinv_authorizenet_renewal_payment_failed', $subscription); |
|
596 | + do_action('wpinv_authorizenet_renewal_error', $subscription); |
|
597 | 597 | } else { |
598 | 598 | // Other Error |
599 | - do_action( 'wpinv_authorizenet_renewal_payment_error', $subscription ); |
|
599 | + do_action('wpinv_authorizenet_renewal_payment_error', $subscription); |
|
600 | 600 | } |
601 | 601 | |
602 | 602 | exit; |
603 | 603 | } |
604 | 604 | } |
605 | -add_action( 'wpinv_verify_authorizenet_ipn', 'wpinv_authorizenet_process_ipn' ); |
|
605 | +add_action('wpinv_verify_authorizenet_ipn', 'wpinv_authorizenet_process_ipn'); |
|
606 | 606 | |
607 | 607 | /** |
608 | 608 | * Retrieve the subscription |
609 | 609 | */ |
610 | -function wpinv_get_authorizenet_subscription( $subscription_data = array(), $invoice_id ) { |
|
611 | - $parent_invoice_id = absint( $invoice_id ); |
|
610 | +function wpinv_get_authorizenet_subscription($subscription_data = array(), $invoice_id) { |
|
611 | + $parent_invoice_id = absint($invoice_id); |
|
612 | 612 | |
613 | - if ( empty( $subscription_data ) ) { |
|
613 | + if (empty($subscription_data)) { |
|
614 | 614 | return false; |
615 | 615 | } |
616 | 616 | |
617 | - if ( empty( $parent_invoice_id ) ) { |
|
617 | + if (empty($parent_invoice_id)) { |
|
618 | 618 | return false; |
619 | 619 | } |
620 | 620 | |
621 | - $invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
622 | - if ( empty( $invoice ) ) { |
|
621 | + $invoice = wpinv_get_invoice($parent_invoice_id); |
|
622 | + if (empty($invoice)) { |
|
623 | 623 | return false; |
624 | 624 | } |
625 | 625 | |
626 | 626 | $subscriptionId = (array)$subscription_data->subscriptionId; |
627 | - $subscription_id = !empty( $subscriptionId[0] ) ? $subscriptionId[0] : $parent_invoice_id; |
|
627 | + $subscription_id = !empty($subscriptionId[0]) ? $subscriptionId[0] : $parent_invoice_id; |
|
628 | 628 | |
629 | - $subscription = new WPInv_Subscription( $subscription_id, true ); |
|
629 | + $subscription = new WPInv_Subscription($subscription_id, true); |
|
630 | 630 | |
631 | - if ( ! $subscription || $subscription->id < 1 ) { |
|
631 | + if (!$subscription || $subscription->id < 1) { |
|
632 | 632 | $subs_db = new WPInv_Subscriptions_DB; |
633 | - $subs = $subs_db->get_subscriptions( array( 'parent_payment_id' => $parent_invoice_id, 'number' => 1 ) ); |
|
634 | - $subscription = reset( $subs ); |
|
633 | + $subs = $subs_db->get_subscriptions(array('parent_payment_id' => $parent_invoice_id, 'number' => 1)); |
|
634 | + $subscription = reset($subs); |
|
635 | 635 | |
636 | - if ( $subscription && $subscription->id > 0 ) { |
|
636 | + if ($subscription && $subscription->id > 0) { |
|
637 | 637 | // Update the profile ID so it is set for future renewals |
638 | - $subscription->update( array( 'profile_id' => sanitize_text_field( $subscription_id ) ) ); |
|
638 | + $subscription->update(array('profile_id' => sanitize_text_field($subscription_id))); |
|
639 | 639 | } else { |
640 | 640 | // No subscription found with a matching payment ID, bail |
641 | 641 | return false; |
@@ -646,67 +646,67 @@ discard block |
||
646 | 646 | } |
647 | 647 | |
648 | 648 | function wpinv_is_authorizenet_valid_for_use() { |
649 | - return in_array( wpinv_get_currency(), apply_filters( 'wpinv_authorizenet_supported_currencies', array( 'AUD', 'CAD', 'CHF', 'DKK', 'EUR', 'GBP', 'JPY', 'NOK', 'NZD', 'PLN', 'SEK', 'USD', 'ZAR' ) ) ); |
|
649 | + return in_array(wpinv_get_currency(), apply_filters('wpinv_authorizenet_supported_currencies', array('AUD', 'CAD', 'CHF', 'DKK', 'EUR', 'GBP', 'JPY', 'NOK', 'NZD', 'PLN', 'SEK', 'USD', 'ZAR'))); |
|
650 | 650 | } |
651 | -function wpinv_check_authorizenet_currency_support( $gateway_list ) { |
|
652 | - if ( isset( $gateway_list['authorizenet'] ) && ! wpinv_is_authorizenet_valid_for_use() ) { |
|
653 | - unset( $gateway_list['authorizenet'] ); |
|
651 | +function wpinv_check_authorizenet_currency_support($gateway_list) { |
|
652 | + if (isset($gateway_list['authorizenet']) && !wpinv_is_authorizenet_valid_for_use()) { |
|
653 | + unset($gateway_list['authorizenet']); |
|
654 | 654 | } |
655 | 655 | return $gateway_list; |
656 | 656 | } |
657 | -add_filter( 'wpinv_enabled_payment_gateways', 'wpinv_check_authorizenet_currency_support', 10, 1 ); |
|
657 | +add_filter('wpinv_enabled_payment_gateways', 'wpinv_check_authorizenet_currency_support', 10, 1); |
|
658 | 658 | |
659 | -function wpinv_authorizenet_link_transaction_id( $transaction_id, $invoice_id, $invoice ) { |
|
660 | - if ( $transaction_id == $invoice_id ) { |
|
659 | +function wpinv_authorizenet_link_transaction_id($transaction_id, $invoice_id, $invoice) { |
|
660 | + if ($transaction_id == $invoice_id) { |
|
661 | 661 | $link = $transaction_id; |
662 | 662 | } else { |
663 | - if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) { |
|
663 | + if (!empty($invoice) && !empty($invoice->mode)) { |
|
664 | 664 | $mode = $invoice->mode; |
665 | 665 | } else { |
666 | - $mode = wpinv_is_test_mode( 'authorizenet' ) ? 'test' : 'live'; |
|
666 | + $mode = wpinv_is_test_mode('authorizenet') ? 'test' : 'live'; |
|
667 | 667 | } |
668 | 668 | |
669 | 669 | $url = $mode == 'test' ? 'https://sandbox.authorize.net/' : 'https://authorize.net/'; |
670 | 670 | $url .= 'ui/themes/sandbox/Transaction/TransactionReceipt.aspx?transid=' . $transaction_id; |
671 | 671 | |
672 | - $link = '<a href="' . esc_url( $url ) . '" target="_blank">' . $transaction_id . '</a>'; |
|
672 | + $link = '<a href="' . esc_url($url) . '" target="_blank">' . $transaction_id . '</a>'; |
|
673 | 673 | } |
674 | 674 | |
675 | - return apply_filters( 'wpinv_authorizenet_link_payment_details_transaction_id', $link, $transaction_id, $invoice ); |
|
675 | + return apply_filters('wpinv_authorizenet_link_payment_details_transaction_id', $link, $transaction_id, $invoice); |
|
676 | 676 | } |
677 | -add_filter( 'wpinv_payment_details_transaction_id-authorizenet', 'wpinv_authorizenet_link_transaction_id', 10, 3 ); |
|
677 | +add_filter('wpinv_payment_details_transaction_id-authorizenet', 'wpinv_authorizenet_link_transaction_id', 10, 3); |
|
678 | 678 | |
679 | -function wpinv_authorizenet_transaction_id_link( $transaction_id, $subscription ) { |
|
680 | - if ( ! empty( $transaction_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) { |
|
681 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
679 | +function wpinv_authorizenet_transaction_id_link($transaction_id, $subscription) { |
|
680 | + if (!empty($transaction_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) { |
|
681 | + $invoice = wpinv_get_invoice($invoice_id); |
|
682 | 682 | |
683 | - if ( ! empty( $invoice ) ) { |
|
684 | - return wpinv_authorizenet_link_transaction_id( $transaction_id, $invoice_id, $invoice ); |
|
683 | + if (!empty($invoice)) { |
|
684 | + return wpinv_authorizenet_link_transaction_id($transaction_id, $invoice_id, $invoice); |
|
685 | 685 | } |
686 | 686 | } |
687 | 687 | |
688 | 688 | return $transaction_id; |
689 | 689 | } |
690 | -add_filter( 'wpinv_subscription_transaction_link_authorizenet', 'wpinv_authorizenet_transaction_id_link', 10, 2 ); |
|
690 | +add_filter('wpinv_subscription_transaction_link_authorizenet', 'wpinv_authorizenet_transaction_id_link', 10, 2); |
|
691 | 691 | |
692 | -function wpinv_authorizenet_profile_id_link( $profile_id, $subscription ) { |
|
692 | +function wpinv_authorizenet_profile_id_link($profile_id, $subscription) { |
|
693 | 693 | $link = $profile_id; |
694 | 694 | |
695 | - if ( ! empty( $profile_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) { |
|
696 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
695 | + if (!empty($profile_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) { |
|
696 | + $invoice = wpinv_get_invoice($invoice_id); |
|
697 | 697 | |
698 | - if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) { |
|
698 | + if (!empty($invoice) && !empty($invoice->mode)) { |
|
699 | 699 | $mode = $invoice->mode; |
700 | 700 | } else { |
701 | - $mode = wpinv_is_test_mode( 'authorizenet' ) ? 'test' : 'live'; |
|
701 | + $mode = wpinv_is_test_mode('authorizenet') ? 'test' : 'live'; |
|
702 | 702 | } |
703 | 703 | |
704 | 704 | $url = $mode == 'test' ? 'https://sandbox.authorize.net/' : 'https://authorize.net/'; |
705 | 705 | $url .= 'ui/themes/sandbox/ARB/SubscriptionDetail.aspx?SubscrID=' . $profile_id; |
706 | 706 | |
707 | - $link = '<a href="' . esc_url( $url ) . '" target="_blank">' . $profile_id . '</a>'; |
|
707 | + $link = '<a href="' . esc_url($url) . '" target="_blank">' . $profile_id . '</a>'; |
|
708 | 708 | } |
709 | 709 | |
710 | - return apply_filters( 'wpinv_authorizenet_profile_id_link', $link, $profile_id, $subscription ); |
|
710 | + return apply_filters('wpinv_authorizenet_profile_id_link', $link, $profile_id, $subscription); |
|
711 | 711 | } |
712 | -add_filter( 'wpinv_subscription_profile_link_authorizenet', 'wpinv_authorizenet_profile_id_link', 10, 2 ); |
|
713 | 712 | \ No newline at end of file |
713 | +add_filter('wpinv_subscription_profile_link_authorizenet', 'wpinv_authorizenet_profile_id_link', 10, 2); |
|
714 | 714 | \ No newline at end of file |
@@ -1,47 +1,47 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // MUST have WordPress. |
3 | -if ( !defined( 'WPINC' ) ) { |
|
4 | - exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) ); |
|
3 | +if (!defined('WPINC')) { |
|
4 | + exit('Do NOT access this file directly: ' . basename(__FILE__)); |
|
5 | 5 | } |
6 | 6 | |
7 | 7 | class WPInv_Meta_Box_Items { |
8 | - public static function output( $post ) { |
|
8 | + public static function output($post) { |
|
9 | 9 | global $wpinv_euvat, $ajax_cart_details; |
10 | 10 | |
11 | - $post_id = !empty( $post->ID ) ? $post->ID : 0; |
|
12 | - $invoice = new WPInv_Invoice( $post_id ); |
|
11 | + $post_id = !empty($post->ID) ? $post->ID : 0; |
|
12 | + $invoice = new WPInv_Invoice($post_id); |
|
13 | 13 | $ajax_cart_details = $invoice->get_cart_details(); |
14 | - $subtotal = $invoice->get_subtotal( true ); |
|
14 | + $subtotal = $invoice->get_subtotal(true); |
|
15 | 15 | $discount_raw = $invoice->get_discount(); |
16 | - $discount = wpinv_price( $discount_raw, $invoice->get_currency() ); |
|
16 | + $discount = wpinv_price($discount_raw, $invoice->get_currency()); |
|
17 | 17 | $discounts = $discount_raw > 0 ? $invoice->get_discounts() : ''; |
18 | - $tax = $invoice->get_tax( true ); |
|
19 | - $total = $invoice->get_total( true ); |
|
18 | + $tax = $invoice->get_tax(true); |
|
19 | + $total = $invoice->get_total(true); |
|
20 | 20 | $item_quantities = wpinv_item_quantities_enabled(); |
21 | 21 | $use_taxes = wpinv_use_taxes(); |
22 | - if ( !$use_taxes && (float)$invoice->get_tax() > 0 ) { |
|
22 | + if (!$use_taxes && (float)$invoice->get_tax() > 0) { |
|
23 | 23 | $use_taxes = true; |
24 | 24 | } |
25 | - $item_types = apply_filters( 'wpinv_item_types_for_quick_add_item', wpinv_get_item_types(), $post ); |
|
25 | + $item_types = apply_filters('wpinv_item_types_for_quick_add_item', wpinv_get_item_types(), $post); |
|
26 | 26 | $is_recurring = $invoice->is_recurring(); |
27 | 27 | $post_type_object = get_post_type_object($invoice->post_type); |
28 | 28 | $type_title = $post_type_object->labels->singular_name; |
29 | 29 | |
30 | 30 | $cols = 5; |
31 | - if ( $item_quantities ) { |
|
31 | + if ($item_quantities) { |
|
32 | 32 | $cols++; |
33 | 33 | } |
34 | - if ( $use_taxes ) { |
|
34 | + if ($use_taxes) { |
|
35 | 35 | $cols++; |
36 | 36 | } |
37 | 37 | $class = ''; |
38 | - if ( $invoice->is_paid() ) { |
|
38 | + if ($invoice->is_paid()) { |
|
39 | 39 | $class .= ' wpinv-paid'; |
40 | 40 | } |
41 | - if ( $invoice->is_refunded() ) { |
|
41 | + if ($invoice->is_refunded()) { |
|
42 | 42 | $class .= ' wpinv-refunded'; |
43 | 43 | } |
44 | - if ( $is_recurring ) { |
|
44 | + if ($is_recurring) { |
|
45 | 45 | $class .= ' wpi-recurring'; |
46 | 46 | } |
47 | 47 | ?> |
@@ -49,21 +49,21 @@ discard block |
||
49 | 49 | <table id="wpinv_items" class="wpinv-items" cellspacing="0" cellpadding="0"> |
50 | 50 | <thead> |
51 | 51 | <tr> |
52 | - <th class="id"><?php _e( 'ID', 'invoicing' );?></th> |
|
53 | - <th class="title"><?php _e( 'Item', 'invoicing' );?></th> |
|
54 | - <th class="price"><?php _e( 'Price', 'invoicing' );?></th> |
|
55 | - <?php if ( $item_quantities ) { ?> |
|
56 | - <th class="qty"><?php _e( 'Qty', 'invoicing' );?></th> |
|
52 | + <th class="id"><?php _e('ID', 'invoicing'); ?></th> |
|
53 | + <th class="title"><?php _e('Item', 'invoicing'); ?></th> |
|
54 | + <th class="price"><?php _e('Price', 'invoicing'); ?></th> |
|
55 | + <?php if ($item_quantities) { ?> |
|
56 | + <th class="qty"><?php _e('Qty', 'invoicing'); ?></th> |
|
57 | 57 | <?php } ?> |
58 | - <th class="total"><?php _e( 'Total', 'invoicing' );?></th> |
|
59 | - <?php if ( $use_taxes ) { ?> |
|
60 | - <th class="tax"><?php _e( 'Tax (%)', 'invoicing' );?></th> |
|
58 | + <th class="total"><?php _e('Total', 'invoicing'); ?></th> |
|
59 | + <?php if ($use_taxes) { ?> |
|
60 | + <th class="tax"><?php _e('Tax (%)', 'invoicing'); ?></th> |
|
61 | 61 | <?php } ?> |
62 | 62 | <th class="action"></th> |
63 | 63 | </tr> |
64 | 64 | </thead> |
65 | 65 | <tbody class="wpinv-line-items"> |
66 | - <?php echo wpinv_admin_get_line_items( $invoice ); ?> |
|
66 | + <?php echo wpinv_admin_get_line_items($invoice); ?> |
|
67 | 67 | </tbody> |
68 | 68 | <tfoot class="wpinv-totals"> |
69 | 69 | <tr> |
@@ -74,45 +74,45 @@ discard block |
||
74 | 74 | <td class="id"> |
75 | 75 | </td> |
76 | 76 | <td class="title"> |
77 | - <input type="text" class="regular-text" placeholder="<?php _e( 'Item Name', 'invoicing' ); ?>" value="" name="_wpinv_quick[name]"> |
|
78 | - <?php if ( $wpinv_euvat->allow_vat_rules() ) { ?> |
|
77 | + <input type="text" class="regular-text" placeholder="<?php _e('Item Name', 'invoicing'); ?>" value="" name="_wpinv_quick[name]"> |
|
78 | + <?php if ($wpinv_euvat->allow_vat_rules()) { ?> |
|
79 | 79 | <div class="wp-clearfix"> |
80 | 80 | <label class="wpi-vat-rule"> |
81 | - <span class="title"><?php _e( 'VAT rule type', 'invoicing' );?></span> |
|
81 | + <span class="title"><?php _e('VAT rule type', 'invoicing'); ?></span> |
|
82 | 82 | <span class="input-text-wrap"> |
83 | - <?php echo wpinv_html_select( array( |
|
83 | + <?php echo wpinv_html_select(array( |
|
84 | 84 | 'options' => $wpinv_euvat->get_rules(), |
85 | 85 | 'name' => '_wpinv_quick[vat_rule]', |
86 | 86 | 'id' => '_wpinv_quick_vat_rule', |
87 | 87 | 'show_option_all' => false, |
88 | 88 | 'show_option_none' => false, |
89 | 89 | 'class' => 'gdmbx2-text-medium wpinv-quick-vat-rule', |
90 | - ) ); ?> |
|
90 | + )); ?> |
|
91 | 91 | </span> |
92 | 92 | </label> |
93 | 93 | </div> |
94 | - <?php } if ( $wpinv_euvat->allow_vat_classes() ) { ?> |
|
94 | + <?php } if ($wpinv_euvat->allow_vat_classes()) { ?> |
|
95 | 95 | <div class="wp-clearfix"> |
96 | 96 | <label class="wpi-vat-class"> |
97 | - <span class="title"><?php _e( 'VAT class', 'invoicing' );?></span> |
|
97 | + <span class="title"><?php _e('VAT class', 'invoicing'); ?></span> |
|
98 | 98 | <span class="input-text-wrap"> |
99 | - <?php echo wpinv_html_select( array( |
|
99 | + <?php echo wpinv_html_select(array( |
|
100 | 100 | 'options' => $wpinv_euvat->get_all_classes(), |
101 | 101 | 'name' => '_wpinv_quick[vat_class]', |
102 | 102 | 'id' => '_wpinv_quick_vat_class', |
103 | 103 | 'show_option_all' => false, |
104 | 104 | 'show_option_none' => false, |
105 | 105 | 'class' => 'gdmbx2-text-medium wpinv-quick-vat-class', |
106 | - ) ); ?> |
|
106 | + )); ?> |
|
107 | 107 | </span> |
108 | 108 | </label> |
109 | 109 | </div> |
110 | 110 | <?php } ?> |
111 | 111 | <div class="wp-clearfix"> |
112 | 112 | <label class="wpi-item-type"> |
113 | - <span class="title"><?php _e( 'Item type', 'invoicing' );?></span> |
|
113 | + <span class="title"><?php _e('Item type', 'invoicing'); ?></span> |
|
114 | 114 | <span class="input-text-wrap"> |
115 | - <?php echo wpinv_html_select( array( |
|
115 | + <?php echo wpinv_html_select(array( |
|
116 | 116 | 'options' => $item_types, |
117 | 117 | 'name' => '_wpinv_quick[type]', |
118 | 118 | 'id' => '_wpinv_quick_type', |
@@ -120,7 +120,7 @@ discard block |
||
120 | 120 | 'show_option_all' => false, |
121 | 121 | 'show_option_none' => false, |
122 | 122 | 'class' => 'gdmbx2-text-medium wpinv-quick-type', |
123 | - ) ); ?> |
|
123 | + )); ?> |
|
124 | 124 | </span> |
125 | 125 | </label> |
126 | 126 | </div> |
@@ -133,11 +133,11 @@ discard block |
||
133 | 133 | </div> |
134 | 134 | </td> |
135 | 135 | <td class="price"><input type="text" placeholder="0.00" class="wpi-field-price wpi-price" name="_wpinv_quick[price]" /></td> |
136 | - <?php if ( $item_quantities ) { ?> |
|
136 | + <?php if ($item_quantities) { ?> |
|
137 | 137 | <td class="qty"><input type="number" class="small-text" step="1" min="1" value="1" name="_wpinv_quick[qty]" /></td> |
138 | 138 | <?php } ?> |
139 | 139 | <td class="total"></td> |
140 | - <?php if ( $use_taxes ) { ?> |
|
140 | + <?php if ($use_taxes) { ?> |
|
141 | 141 | <td class="tax"></td> |
142 | 142 | <?php } ?> |
143 | 143 | <td class="action"></td> |
@@ -150,29 +150,29 @@ discard block |
||
150 | 150 | <td colspan="<?php echo $cols; ?>"></td> |
151 | 151 | </tr> |
152 | 152 | <tr class="totals"> |
153 | - <td colspan="<?php echo ( $cols - 4 ); ?>"></td> |
|
153 | + <td colspan="<?php echo ($cols - 4); ?>"></td> |
|
154 | 154 | <td colspan="4"> |
155 | 155 | <table cellspacing="0" cellpadding="0"> |
156 | 156 | <tr class="subtotal"> |
157 | - <td class="name"><?php _e( 'Sub Total:', 'invoicing' );?></td> |
|
158 | - <td class="total"><?php echo $subtotal;?></td> |
|
157 | + <td class="name"><?php _e('Sub Total:', 'invoicing'); ?></td> |
|
158 | + <td class="total"><?php echo $subtotal; ?></td> |
|
159 | 159 | <td class="action"></td> |
160 | 160 | </tr> |
161 | 161 | <tr class="discount"> |
162 | - <td class="name"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice->ID ) ); ?>:</td> |
|
163 | - <td class="total"><?php echo wpinv_discount( $invoice->ID, true, true ); ?></td> |
|
162 | + <td class="name"><?php wpinv_get_discount_label(wpinv_discount_code($invoice->ID)); ?>:</td> |
|
163 | + <td class="total"><?php echo wpinv_discount($invoice->ID, true, true); ?></td> |
|
164 | 164 | <td class="action"></td> |
165 | 165 | </tr> |
166 | - <?php if ( $use_taxes ) { ?> |
|
166 | + <?php if ($use_taxes) { ?> |
|
167 | 167 | <tr class="tax"> |
168 | - <td class="name"><?php _e( 'Tax:', 'invoicing' );?></td> |
|
169 | - <td class="total"><?php echo $tax;?></td> |
|
168 | + <td class="name"><?php _e('Tax:', 'invoicing'); ?></td> |
|
169 | + <td class="total"><?php echo $tax; ?></td> |
|
170 | 170 | <td class="action"></td> |
171 | 171 | </tr> |
172 | 172 | <?php } ?> |
173 | 173 | <tr class="total"> |
174 | - <td class="name"><?php echo apply_filters( 'wpinv_invoice_items_total_label', __( 'Invoice Total:', 'invoicing' ), $invoice );?></td> |
|
175 | - <td class="total"><?php echo $total;?></td> |
|
174 | + <td class="name"><?php echo apply_filters('wpinv_invoice_items_total_label', __('Invoice Total:', 'invoicing'), $invoice); ?></td> |
|
175 | + <td class="total"><?php echo $total; ?></td> |
|
176 | 176 | <td class="action"></td> |
177 | 177 | </tr> |
178 | 178 | </table> |
@@ -183,89 +183,89 @@ discard block |
||
183 | 183 | <div class="wpinv-actions"> |
184 | 184 | <?php ob_start(); ?> |
185 | 185 | <?php |
186 | - if ( !$invoice->is_paid() && !$invoice->is_refunded() ) { |
|
187 | - if ( !$invoice->is_recurring() ) { |
|
188 | - echo wpinv_item_dropdown( array( |
|
186 | + if (!$invoice->is_paid() && !$invoice->is_refunded()) { |
|
187 | + if (!$invoice->is_recurring()) { |
|
188 | + echo wpinv_item_dropdown(array( |
|
189 | 189 | 'name' => 'wpinv_invoice_item', |
190 | 190 | 'id' => 'wpinv_invoice_item', |
191 | 191 | 'show_recurring' => true, |
192 | - ) ); |
|
192 | + )); |
|
193 | 193 | ?> |
194 | - <input type="button" value="<?php echo sprintf(esc_attr__( 'Add item to %s', 'invoicing'), $type_title); ?>" class="button button-primary" id="wpinv-add-item"><input type="button" value="<?php esc_attr_e( 'Create new item', 'invoicing' );?>" class="button button-primary" id="wpinv-new-item"><?php } ?><input type="button" value="<?php esc_attr_e( 'Recalculate Totals', 'invoicing' );?>" class="button button-primary wpinv-flr" id="wpinv-recalc-totals"> |
|
194 | + <input type="button" value="<?php echo sprintf(esc_attr__('Add item to %s', 'invoicing'), $type_title); ?>" class="button button-primary" id="wpinv-add-item"><input type="button" value="<?php esc_attr_e('Create new item', 'invoicing'); ?>" class="button button-primary" id="wpinv-new-item"><?php } ?><input type="button" value="<?php esc_attr_e('Recalculate Totals', 'invoicing'); ?>" class="button button-primary wpinv-flr" id="wpinv-recalc-totals"> |
|
195 | 195 | <?php } ?> |
196 | - <?php do_action( 'wpinv_invoice_items_actions', $invoice ); ?> |
|
197 | - <?php $item_actions = ob_get_clean(); echo apply_filters( 'wpinv_invoice_items_actions_content', $item_actions, $invoice, $post ); ?> |
|
196 | + <?php do_action('wpinv_invoice_items_actions', $invoice); ?> |
|
197 | + <?php $item_actions = ob_get_clean(); echo apply_filters('wpinv_invoice_items_actions_content', $item_actions, $invoice, $post); ?> |
|
198 | 198 | </div> |
199 | 199 | </div> |
200 | 200 | <?php |
201 | 201 | } |
202 | 202 | |
203 | - public static function prices( $post ) { |
|
203 | + public static function prices($post) { |
|
204 | 204 | $symbol = wpinv_currency_symbol(); |
205 | 205 | $position = wpinv_currency_position(); |
206 | - $item = new WPInv_Item( $post->ID ); |
|
206 | + $item = new WPInv_Item($post->ID); |
|
207 | 207 | |
208 | 208 | $price = $item->get_price(); |
209 | 209 | $is_recurring = $item->is_recurring(); |
210 | 210 | $period = $item->get_recurring_period(); |
211 | - $interval = absint( $item->get_recurring_interval() ); |
|
212 | - $times = absint( $item->get_recurring_limit() ); |
|
211 | + $interval = absint($item->get_recurring_interval()); |
|
212 | + $times = absint($item->get_recurring_limit()); |
|
213 | 213 | $free_trial = $item->has_free_trial(); |
214 | 214 | $trial_interval = $item->get_trial_interval(); |
215 | 215 | $trial_period = $item->get_trial_period(); |
216 | 216 | |
217 | 217 | $intervals = array(); |
218 | - for ( $i = 1; $i <= 90; $i++ ) { |
|
218 | + for ($i = 1; $i <= 90; $i++) { |
|
219 | 219 | $intervals[$i] = $i; |
220 | 220 | } |
221 | 221 | |
222 | - $interval = $interval > 0 ? $interval : 1; |
|
222 | + $interval = $interval > 0 ? $interval : 1; |
|
223 | 223 | |
224 | 224 | $class = $is_recurring ? 'wpinv-recurring-y' : 'wpinv-recurring-n'; |
225 | 225 | ?> |
226 | - <p class="wpinv-row-prices"><?php echo ( $position != 'right' ? $symbol . ' ' : '' );?><input type="text" maxlength="12" placeholder="<?php echo wpinv_sanitize_amount( 0 ); ?>" value="<?php echo $price;?>" id="wpinv_item_price" name="wpinv_item_price" class="medium-text wpi-field-price wpi-price" <?php disabled( $item->is_editable(), false ); ?> /><?php echo ( $position == 'right' ? ' ' . $symbol : '' );?><input type="hidden" name="wpinv_vat_meta_box_nonce" value="<?php echo wp_create_nonce( 'wpinv_item_meta_box_save' ) ;?>" /> |
|
227 | - <?php do_action( 'wpinv_prices_metabox_price', $item ); ?> |
|
226 | + <p class="wpinv-row-prices"><?php echo ($position != 'right' ? $symbol . ' ' : ''); ?><input type="text" maxlength="12" placeholder="<?php echo wpinv_sanitize_amount(0); ?>" value="<?php echo $price; ?>" id="wpinv_item_price" name="wpinv_item_price" class="medium-text wpi-field-price wpi-price" <?php disabled($item->is_editable(), false); ?> /><?php echo ($position == 'right' ? ' ' . $symbol : ''); ?><input type="hidden" name="wpinv_vat_meta_box_nonce" value="<?php echo wp_create_nonce('wpinv_item_meta_box_save'); ?>" /> |
|
227 | + <?php do_action('wpinv_prices_metabox_price', $item); ?> |
|
228 | 228 | </p> |
229 | 229 | <p class="wpinv-row-is-recurring"> |
230 | 230 | <label for="wpinv_is_recurring"> |
231 | - <input type="checkbox" name="wpinv_is_recurring" id="wpinv_is_recurring" value="1" <?php checked( 1, $is_recurring ); ?> /> |
|
232 | - <?php echo apply_filters( 'wpinv_is_recurring_toggle_text', __( 'Is Recurring Item?', 'invoicing' ) ); ?> |
|
231 | + <input type="checkbox" name="wpinv_is_recurring" id="wpinv_is_recurring" value="1" <?php checked(1, $is_recurring); ?> /> |
|
232 | + <?php echo apply_filters('wpinv_is_recurring_toggle_text', __('Is Recurring Item?', 'invoicing')); ?> |
|
233 | 233 | </label> |
234 | - <?php do_action( 'wpinv_prices_metabox_is_recurring_field', $item ); ?> |
|
234 | + <?php do_action('wpinv_prices_metabox_is_recurring_field', $item); ?> |
|
235 | 235 | </p> |
236 | - <p class="wpinv-row-recurring-fields <?php echo $class;?>"> |
|
237 | - <label class="wpinv-period" for="wpinv_recurring_period"><?php _e( 'Recurring', 'invoicing' );?> <select class="wpinv-select " id="wpinv_recurring_period" name="wpinv_recurring_period"><option value="D" data-text="<?php esc_attr_e( 'day(s)', 'invoicing' ); ?>" <?php selected( 'D', $period );?>><?php _e( 'Daily', 'invoicing' ); ?></option><option value="W" data-text="<?php esc_attr_e( 'week(s)', 'invoicing' ); ?>" <?php selected( 'W', $period );?>><?php _e( 'Weekly', 'invoicing' ); ?></option><option value="M" data-text="<?php esc_attr_e( 'month(s)', 'invoicing' ); ?>" <?php selected( 'M', $period );?>><?php _e( 'Monthly', 'invoicing' ); ?></option><option value="Y" data-text="<?php esc_attr_e( 'year(s)', 'invoicing' ); ?>" <?php selected( 'Y', $period );?>><?php _e( 'Yearly', 'invoicing' ); ?></option></select></label> |
|
238 | - <label class="wpinv-interval" for="wpinv_recurring_interval"> <?php _e( 'at every', 'invoicing' );?> <?php echo wpinv_html_select( array( |
|
236 | + <p class="wpinv-row-recurring-fields <?php echo $class; ?>"> |
|
237 | + <label class="wpinv-period" for="wpinv_recurring_period"><?php _e('Recurring', 'invoicing'); ?> <select class="wpinv-select " id="wpinv_recurring_period" name="wpinv_recurring_period"><option value="D" data-text="<?php esc_attr_e('day(s)', 'invoicing'); ?>" <?php selected('D', $period); ?>><?php _e('Daily', 'invoicing'); ?></option><option value="W" data-text="<?php esc_attr_e('week(s)', 'invoicing'); ?>" <?php selected('W', $period); ?>><?php _e('Weekly', 'invoicing'); ?></option><option value="M" data-text="<?php esc_attr_e('month(s)', 'invoicing'); ?>" <?php selected('M', $period); ?>><?php _e('Monthly', 'invoicing'); ?></option><option value="Y" data-text="<?php esc_attr_e('year(s)', 'invoicing'); ?>" <?php selected('Y', $period); ?>><?php _e('Yearly', 'invoicing'); ?></option></select></label> |
|
238 | + <label class="wpinv-interval" for="wpinv_recurring_interval"> <?php _e('at every', 'invoicing'); ?> <?php echo wpinv_html_select(array( |
|
239 | 239 | 'options' => $intervals, |
240 | 240 | 'name' => 'wpinv_recurring_interval', |
241 | 241 | 'id' => 'wpinv_recurring_interval', |
242 | 242 | 'selected' => $interval, |
243 | 243 | 'show_option_all' => false, |
244 | 244 | 'show_option_none' => false |
245 | - ) ); ?> <span id="wpinv_interval_text"><?php _e( 'day(s)', 'invoicing' );?></span></label> |
|
246 | - <label class="wpinv-times" for="wpinv_recurring_limit"> <?php _e( 'for', 'invoicing' );?> <input class="small-text" type="number" value="<?php echo $times;?>" size="4" id="wpinv_recurring_limit" name="wpinv_recurring_limit" step="1" min="0"> <?php _e( 'time(s) <i>(select 0 for recurring forever until cancelled</i>)', 'invoicing' );?></label> |
|
245 | + )); ?> <span id="wpinv_interval_text"><?php _e('day(s)', 'invoicing'); ?></span></label> |
|
246 | + <label class="wpinv-times" for="wpinv_recurring_limit"> <?php _e('for', 'invoicing'); ?> <input class="small-text" type="number" value="<?php echo $times; ?>" size="4" id="wpinv_recurring_limit" name="wpinv_recurring_limit" step="1" min="0"> <?php _e('time(s) <i>(select 0 for recurring forever until cancelled</i>)', 'invoicing'); ?></label> |
|
247 | 247 | <span class="clear wpi-trial-clr"></span> |
248 | 248 | <label class="wpinv-free-trial" for="wpinv_free_trial"> |
249 | - <input type="checkbox" name="wpinv_free_trial" id="wpinv_free_trial" value="1" <?php checked( true, (bool)$free_trial ); ?> /> |
|
250 | - <?php echo __( 'Offer free trial for', 'invoicing' ); ?> |
|
249 | + <input type="checkbox" name="wpinv_free_trial" id="wpinv_free_trial" value="1" <?php checked(true, (bool)$free_trial); ?> /> |
|
250 | + <?php echo __('Offer free trial for', 'invoicing'); ?> |
|
251 | 251 | </label> |
252 | 252 | <label class="wpinv-trial-interval" for="wpinv_trial_interval"> |
253 | - <input class="small-text" type="number" value="<?php echo $trial_interval;?>" size="4" id="wpinv_trial_interval" name="wpinv_trial_interval" step="1" min="1"> <select class="wpinv-select" id="wpinv_trial_period" name="wpinv_trial_period"><option value="D" <?php selected( 'D', $trial_period );?>><?php _e( 'day(s)', 'invoicing' ); ?></option><option value="W" <?php selected( 'W', $trial_period );?>><?php _e( 'week(s)', 'invoicing' ); ?></option><option value="M" <?php selected( 'M', $trial_period );?>><?php _e( 'month(s)', 'invoicing' ); ?></option><option value="Y" <?php selected( 'Y', $trial_period );?>><?php _e( 'year(s)', 'invoicing' ); ?></option></select> |
|
253 | + <input class="small-text" type="number" value="<?php echo $trial_interval; ?>" size="4" id="wpinv_trial_interval" name="wpinv_trial_interval" step="1" min="1"> <select class="wpinv-select" id="wpinv_trial_period" name="wpinv_trial_period"><option value="D" <?php selected('D', $trial_period); ?>><?php _e('day(s)', 'invoicing'); ?></option><option value="W" <?php selected('W', $trial_period); ?>><?php _e('week(s)', 'invoicing'); ?></option><option value="M" <?php selected('M', $trial_period); ?>><?php _e('month(s)', 'invoicing'); ?></option><option value="Y" <?php selected('Y', $trial_period); ?>><?php _e('year(s)', 'invoicing'); ?></option></select> |
|
254 | 254 | </label> |
255 | - <?php do_action( 'wpinv_prices_metabox_recurring_fields', $item ); ?> |
|
255 | + <?php do_action('wpinv_prices_metabox_recurring_fields', $item); ?> |
|
256 | 256 | </p> |
257 | - <input type="hidden" id="_wpi_current_type" value="<?php echo wpinv_get_item_type( $post->ID ); ?>" /> |
|
258 | - <?php do_action( 'wpinv_item_price_field', $post->ID ); ?> |
|
257 | + <input type="hidden" id="_wpi_current_type" value="<?php echo wpinv_get_item_type($post->ID); ?>" /> |
|
258 | + <?php do_action('wpinv_item_price_field', $post->ID); ?> |
|
259 | 259 | <?php |
260 | 260 | } |
261 | 261 | |
262 | - public static function vat_rules( $post ) { |
|
262 | + public static function vat_rules($post) { |
|
263 | 263 | global $wpinv_euvat; |
264 | 264 | |
265 | - $rule_type = $wpinv_euvat->get_item_rule( $post->ID ); |
|
265 | + $rule_type = $wpinv_euvat->get_item_rule($post->ID); |
|
266 | 266 | ?> |
267 | - <p><label for="wpinv_vat_rules"><strong><?php _e( 'Select how VAT rules will be applied:', 'invoicing' );?></strong></label> |
|
268 | - <?php echo wpinv_html_select( array( |
|
267 | + <p><label for="wpinv_vat_rules"><strong><?php _e('Select how VAT rules will be applied:', 'invoicing'); ?></strong></label> |
|
268 | + <?php echo wpinv_html_select(array( |
|
269 | 269 | 'options' => $wpinv_euvat->get_rules(), |
270 | 270 | 'name' => 'wpinv_vat_rules', |
271 | 271 | 'id' => 'wpinv_vat_rules', |
@@ -273,19 +273,19 @@ discard block |
||
273 | 273 | 'show_option_all' => false, |
274 | 274 | 'show_option_none' => false, |
275 | 275 | 'class' => 'gdmbx2-text-medium wpinv-vat-rules', |
276 | - ) ); ?> |
|
276 | + )); ?> |
|
277 | 277 | </p> |
278 | - <p class="wpi-m0"><?php _e( 'When you select physical product rules, only consumers and businesses in your country will be charged VAT. The VAT rate used will be the rate in your country.', 'invoicing' ); ?></p> |
|
279 | - <p class="wpi-m0"><?php _e( 'If you select Digital product rules, VAT will be charged at the rate that applies in the country of the consumer. Only businesses in your country will be charged VAT.', 'invoicing' ); ?></p> |
|
278 | + <p class="wpi-m0"><?php _e('When you select physical product rules, only consumers and businesses in your country will be charged VAT. The VAT rate used will be the rate in your country.', 'invoicing'); ?></p> |
|
279 | + <p class="wpi-m0"><?php _e('If you select Digital product rules, VAT will be charged at the rate that applies in the country of the consumer. Only businesses in your country will be charged VAT.', 'invoicing'); ?></p> |
|
280 | 280 | <?php |
281 | 281 | } |
282 | 282 | |
283 | - public static function vat_classes( $post ) { |
|
283 | + public static function vat_classes($post) { |
|
284 | 284 | global $wpinv_euvat; |
285 | 285 | |
286 | - $vat_class = $wpinv_euvat->get_item_class( $post->ID ); |
|
286 | + $vat_class = $wpinv_euvat->get_item_class($post->ID); |
|
287 | 287 | ?> |
288 | - <p><?php echo wpinv_html_select( array( |
|
288 | + <p><?php echo wpinv_html_select(array( |
|
289 | 289 | 'options' => $wpinv_euvat->get_all_classes(), |
290 | 290 | 'name' => 'wpinv_vat_class', |
291 | 291 | 'id' => 'wpinv_vat_class', |
@@ -293,18 +293,18 @@ discard block |
||
293 | 293 | 'show_option_all' => false, |
294 | 294 | 'show_option_none' => false, |
295 | 295 | 'class' => 'gdmbx2-text-medium wpinv-vat-class', |
296 | - ) ); ?> |
|
296 | + )); ?> |
|
297 | 297 | </p> |
298 | - <p class="wpi-m0"><?php _e( 'Select the VAT rate class to use for this invoice item.', 'invoicing' ); ?></p> |
|
298 | + <p class="wpi-m0"><?php _e('Select the VAT rate class to use for this invoice item.', 'invoicing'); ?></p> |
|
299 | 299 | <?php |
300 | 300 | } |
301 | 301 | |
302 | - public static function item_info( $post ) { |
|
303 | - $item_type = wpinv_get_item_type( $post->ID ); |
|
304 | - do_action( 'wpinv_item_info_metabox_before', $post ); |
|
302 | + public static function item_info($post) { |
|
303 | + $item_type = wpinv_get_item_type($post->ID); |
|
304 | + do_action('wpinv_item_info_metabox_before', $post); |
|
305 | 305 | ?> |
306 | - <p><label for="wpinv_item_type"><strong><?php _e( 'Type:', 'invoicing' );?></strong></label> |
|
307 | - <?php echo wpinv_html_select( array( |
|
306 | + <p><label for="wpinv_item_type"><strong><?php _e('Type:', 'invoicing'); ?></strong></label> |
|
307 | + <?php echo wpinv_html_select(array( |
|
308 | 308 | 'options' => wpinv_get_item_types(), |
309 | 309 | 'name' => 'wpinv_item_type', |
310 | 310 | 'id' => 'wpinv_item_type', |
@@ -312,114 +312,114 @@ discard block |
||
312 | 312 | 'show_option_all' => false, |
313 | 313 | 'show_option_none' => false, |
314 | 314 | 'class' => 'gdmbx2-text-medium wpinv-item-type', |
315 | - ) ); ?> |
|
315 | + )); ?> |
|
316 | 316 | </p> |
317 | - <p class="wpi-m0"><?php _e( 'Select item type.', 'invoicing' );?><br><?php _e( '<b>Standard:</b> Standard item type', 'invoicing' );?><br><?php _e( '<b>Fee:</b> Like Registration Fee, Sign up Fee etc.', 'invoicing' );?></p> |
|
317 | + <p class="wpi-m0"><?php _e('Select item type.', 'invoicing'); ?><br><?php _e('<b>Standard:</b> Standard item type', 'invoicing'); ?><br><?php _e('<b>Fee:</b> Like Registration Fee, Sign up Fee etc.', 'invoicing'); ?></p> |
|
318 | 318 | <?php |
319 | - do_action( 'wpinv_item_info_metabox_after', $post ); |
|
319 | + do_action('wpinv_item_info_metabox_after', $post); |
|
320 | 320 | } |
321 | 321 | |
322 | - public static function meta_values( $post ) { |
|
323 | - $meta_keys = apply_filters( 'wpinv_show_meta_values_for_keys', array( |
|
322 | + public static function meta_values($post) { |
|
323 | + $meta_keys = apply_filters('wpinv_show_meta_values_for_keys', array( |
|
324 | 324 | 'type', |
325 | 325 | 'custom_id' |
326 | - ) ); |
|
326 | + )); |
|
327 | 327 | |
328 | - if ( empty( $meta_keys ) ) { |
|
328 | + if (empty($meta_keys)) { |
|
329 | 329 | return; |
330 | 330 | } |
331 | 331 | |
332 | - do_action( 'wpinv_meta_values_metabox_before', $post ); |
|
332 | + do_action('wpinv_meta_values_metabox_before', $post); |
|
333 | 333 | |
334 | - foreach ( $meta_keys as $meta_key ) { |
|
334 | + foreach ($meta_keys as $meta_key) { |
|
335 | 335 | ?> |
336 | - <p class="wpi-mtb05"><label><strong><?php echo $meta_key; ?></strong>: <?php echo get_post_meta( $post->ID, '_wpinv_' . $meta_key, true ); ?></label></p> |
|
336 | + <p class="wpi-mtb05"><label><strong><?php echo $meta_key; ?></strong>: <?php echo get_post_meta($post->ID, '_wpinv_' . $meta_key, true); ?></label></p> |
|
337 | 337 | <?php |
338 | 338 | } |
339 | 339 | |
340 | - do_action( 'wpinv_meta_values_metabox_after', $post ); |
|
340 | + do_action('wpinv_meta_values_metabox_after', $post); |
|
341 | 341 | } |
342 | 342 | |
343 | - public static function save( $post_id, $data, $post ) { |
|
344 | - $invoice = new WPInv_Invoice( $post_id ); |
|
343 | + public static function save($post_id, $data, $post) { |
|
344 | + $invoice = new WPInv_Invoice($post_id); |
|
345 | 345 | |
346 | 346 | // Billing |
347 | - $first_name = sanitize_text_field( $data['wpinv_first_name'] ); |
|
348 | - $last_name = sanitize_text_field( $data['wpinv_last_name'] ); |
|
349 | - $company = sanitize_text_field( $data['wpinv_company'] ); |
|
350 | - $vat_number = sanitize_text_field( $data['wpinv_vat_number'] ); |
|
351 | - $phone = sanitize_text_field( $data['wpinv_phone'] ); |
|
352 | - $address = sanitize_text_field( $data['wpinv_address'] ); |
|
353 | - $city = sanitize_text_field( $data['wpinv_city'] ); |
|
354 | - $zip = sanitize_text_field( $data['wpinv_zip'] ); |
|
355 | - $country = sanitize_text_field( $data['wpinv_country'] ); |
|
356 | - $state = sanitize_text_field( $data['wpinv_state'] ); |
|
347 | + $first_name = sanitize_text_field($data['wpinv_first_name']); |
|
348 | + $last_name = sanitize_text_field($data['wpinv_last_name']); |
|
349 | + $company = sanitize_text_field($data['wpinv_company']); |
|
350 | + $vat_number = sanitize_text_field($data['wpinv_vat_number']); |
|
351 | + $phone = sanitize_text_field($data['wpinv_phone']); |
|
352 | + $address = sanitize_text_field($data['wpinv_address']); |
|
353 | + $city = sanitize_text_field($data['wpinv_city']); |
|
354 | + $zip = sanitize_text_field($data['wpinv_zip']); |
|
355 | + $country = sanitize_text_field($data['wpinv_country']); |
|
356 | + $state = sanitize_text_field($data['wpinv_state']); |
|
357 | 357 | |
358 | 358 | // Details |
359 | - $status = sanitize_text_field( $data['wpinv_status'] ); |
|
360 | - $old_status = !empty( $data['original_post_status'] ) ? sanitize_text_field( $data['original_post_status'] ) : $status; |
|
361 | - $number = sanitize_text_field( $data['wpinv_number'] ); |
|
362 | - $due_date = isset( $data['wpinv_due_date'] ) ? sanitize_text_field( $data['wpinv_due_date'] ) : ''; |
|
359 | + $status = sanitize_text_field($data['wpinv_status']); |
|
360 | + $old_status = !empty($data['original_post_status']) ? sanitize_text_field($data['original_post_status']) : $status; |
|
361 | + $number = sanitize_text_field($data['wpinv_number']); |
|
362 | + $due_date = isset($data['wpinv_due_date']) ? sanitize_text_field($data['wpinv_due_date']) : ''; |
|
363 | 363 | //$discounts = sanitize_text_field( $data['wpinv_discounts'] ); |
364 | 364 | //$discount = sanitize_text_field( $data['wpinv_discount'] ); |
365 | 365 | |
366 | - $ip = $invoice->get_ip() ? $invoice->get_ip() : wpinv_get_ip(); |
|
366 | + $ip = $invoice->get_ip() ? $invoice->get_ip() : wpinv_get_ip(); |
|
367 | 367 | |
368 | - $invoice->set( 'due_date', $due_date ); |
|
369 | - $invoice->set( 'first_name', $first_name ); |
|
370 | - $invoice->set( 'last_name', $last_name ); |
|
371 | - $invoice->set( 'company', $company ); |
|
372 | - $invoice->set( 'vat_number', $vat_number ); |
|
373 | - $invoice->set( 'phone', $phone ); |
|
374 | - $invoice->set( 'address', $address ); |
|
375 | - $invoice->set( 'city', $city ); |
|
376 | - $invoice->set( 'zip', $zip ); |
|
377 | - $invoice->set( 'country', $country ); |
|
378 | - $invoice->set( 'state', $state ); |
|
379 | - $invoice->set( 'status', $status ); |
|
368 | + $invoice->set('due_date', $due_date); |
|
369 | + $invoice->set('first_name', $first_name); |
|
370 | + $invoice->set('last_name', $last_name); |
|
371 | + $invoice->set('company', $company); |
|
372 | + $invoice->set('vat_number', $vat_number); |
|
373 | + $invoice->set('phone', $phone); |
|
374 | + $invoice->set('address', $address); |
|
375 | + $invoice->set('city', $city); |
|
376 | + $invoice->set('zip', $zip); |
|
377 | + $invoice->set('country', $country); |
|
378 | + $invoice->set('state', $state); |
|
379 | + $invoice->set('status', $status); |
|
380 | 380 | //$invoice->set( 'number', $number ); |
381 | 381 | //$invoice->set( 'discounts', $discounts ); |
382 | 382 | //$invoice->set( 'discount', $discount ); |
383 | - $invoice->set( 'ip', $ip ); |
|
383 | + $invoice->set('ip', $ip); |
|
384 | 384 | $invoice->old_status = $_POST['original_post_status']; |
385 | 385 | $invoice->currency = wpinv_get_currency(); |
386 | - if ( !empty( $data['wpinv_gateway'] ) ) { |
|
387 | - $invoice->set( 'gateway', sanitize_text_field( $data['wpinv_gateway'] ) ); |
|
386 | + if (!empty($data['wpinv_gateway'])) { |
|
387 | + $invoice->set('gateway', sanitize_text_field($data['wpinv_gateway'])); |
|
388 | 388 | } |
389 | 389 | $saved = $invoice->save(); |
390 | 390 | |
391 | 391 | // Check for payment notes |
392 | - if ( !empty( $data['invoice_note'] ) ) { |
|
393 | - $note = wp_kses( $data['invoice_note'], array() ); |
|
394 | - $note_type = sanitize_text_field( $data['invoice_note_type'] ); |
|
392 | + if (!empty($data['invoice_note'])) { |
|
393 | + $note = wp_kses($data['invoice_note'], array()); |
|
394 | + $note_type = sanitize_text_field($data['invoice_note_type']); |
|
395 | 395 | $is_customer_note = $note_type == 'customer' ? 1 : 0; |
396 | 396 | |
397 | - wpinv_insert_payment_note( $invoice->ID, $note, $is_customer_note ); |
|
397 | + wpinv_insert_payment_note($invoice->ID, $note, $is_customer_note); |
|
398 | 398 | } |
399 | 399 | |
400 | 400 | // Update user address if empty. |
401 | - if ( $saved && !empty( $invoice ) ) { |
|
402 | - if ( $user_id = $invoice->get_user_id() ) { |
|
403 | - $user_address = wpinv_get_user_address( $user_id, false ); |
|
401 | + if ($saved && !empty($invoice)) { |
|
402 | + if ($user_id = $invoice->get_user_id()) { |
|
403 | + $user_address = wpinv_get_user_address($user_id, false); |
|
404 | 404 | |
405 | 405 | if (empty($user_address['first_name'])) { |
406 | - update_user_meta( $user_id, '_wpinv_first_name', $first_name ); |
|
407 | - update_user_meta( $user_id, '_wpinv_last_name', $last_name ); |
|
406 | + update_user_meta($user_id, '_wpinv_first_name', $first_name); |
|
407 | + update_user_meta($user_id, '_wpinv_last_name', $last_name); |
|
408 | 408 | } else if (empty($user_address['last_name']) && $user_address['first_name'] == $first_name) { |
409 | - update_user_meta( $user_id, '_wpinv_last_name', $last_name ); |
|
409 | + update_user_meta($user_id, '_wpinv_last_name', $last_name); |
|
410 | 410 | } |
411 | 411 | |
412 | 412 | if (empty($user_address['address']) || empty($user_address['city']) || empty($user_address['state']) || empty($user_address['country'])) { |
413 | - update_user_meta( $user_id, '_wpinv_address', $address ); |
|
414 | - update_user_meta( $user_id, '_wpinv_city', $city ); |
|
415 | - update_user_meta( $user_id, '_wpinv_state', $state ); |
|
416 | - update_user_meta( $user_id, '_wpinv_country', $country ); |
|
417 | - update_user_meta( $user_id, '_wpinv_zip', $zip ); |
|
418 | - update_user_meta( $user_id, '_wpinv_phone', $phone ); |
|
413 | + update_user_meta($user_id, '_wpinv_address', $address); |
|
414 | + update_user_meta($user_id, '_wpinv_city', $city); |
|
415 | + update_user_meta($user_id, '_wpinv_state', $state); |
|
416 | + update_user_meta($user_id, '_wpinv_country', $country); |
|
417 | + update_user_meta($user_id, '_wpinv_zip', $zip); |
|
418 | + update_user_meta($user_id, '_wpinv_phone', $phone); |
|
419 | 419 | } |
420 | 420 | } |
421 | 421 | |
422 | - do_action( 'wpinv_invoice_metabox_saved', $invoice ); |
|
422 | + do_action('wpinv_invoice_metabox_saved', $invoice); |
|
423 | 423 | } |
424 | 424 | |
425 | 425 | return $saved; |
@@ -1,6 +1,6 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // Exit if accessed directly. |
3 | -if (!defined( 'ABSPATH' ) ) exit; |
|
3 | +if (!defined('ABSPATH')) exit; |
|
4 | 4 | |
5 | 5 | class WPInv_EUVat { |
6 | 6 | private static $is_ajax = false; |
@@ -8,7 +8,7 @@ discard block |
||
8 | 8 | private static $instance = false; |
9 | 9 | |
10 | 10 | public static function get_instance() { |
11 | - if ( !self::$instance ) { |
|
11 | + if (!self::$instance) { |
|
12 | 12 | self::$instance = new self(); |
13 | 13 | self::$instance->actions(); |
14 | 14 | } |
@@ -17,132 +17,132 @@ discard block |
||
17 | 17 | } |
18 | 18 | |
19 | 19 | public function __construct() { |
20 | - self::$is_ajax = defined( 'DOING_AJAX' ) && DOING_AJAX; |
|
20 | + self::$is_ajax = defined('DOING_AJAX') && DOING_AJAX; |
|
21 | 21 | self::$default_country = wpinv_get_default_country(); |
22 | 22 | } |
23 | 23 | |
24 | 24 | public static function actions() { |
25 | - if ( is_admin() ) { |
|
26 | - add_action( 'admin_enqueue_scripts', array( self::$instance, 'enqueue_admin_scripts' ) ); |
|
27 | - add_action( 'wpinv_settings_sections_taxes', array( self::$instance, 'section_vat_settings' ) ); |
|
28 | - add_action( 'wpinv_settings_taxes', array( self::$instance, 'vat_settings' ) ); |
|
29 | - add_filter( 'wpinv_settings_taxes-vat_sanitize', array( self::$instance, 'sanitize_vat_settings' ) ); |
|
30 | - add_filter( 'wpinv_settings_taxes-vat_rates_sanitize', array( self::$instance, 'sanitize_vat_rates' ) ); |
|
31 | - add_action( 'wp_ajax_wpinv_add_vat_class', array( self::$instance, 'add_class' ) ); |
|
32 | - add_action( 'wp_ajax_nopriv_wpinv_add_vat_class', array( self::$instance, 'add_class' ) ); |
|
33 | - add_action( 'wp_ajax_wpinv_delete_vat_class', array( self::$instance, 'delete_class' ) ); |
|
34 | - add_action( 'wp_ajax_nopriv_wpinv_delete_vat_class', array( self::$instance, 'delete_class' ) ); |
|
35 | - add_action( 'wp_ajax_wpinv_update_vat_rates', array( self::$instance, 'update_eu_rates' ) ); |
|
36 | - add_action( 'wp_ajax_nopriv_wpinv_update_vat_rates', array( self::$instance, 'update_eu_rates' ) ); |
|
37 | - add_action( 'wp_ajax_wpinv_geoip2', array( self::$instance, 'geoip2_download_database' ) ); |
|
38 | - add_action( 'wp_ajax_nopriv_wpinv_geoip2', array( self::$instance, 'geoip2_download_database' ) ); |
|
39 | - } |
|
40 | - |
|
41 | - add_action( 'wp_enqueue_scripts', array( self::$instance, 'enqueue_vat_scripts' ) ); |
|
42 | - add_filter( 'wpinv_default_billing_country', array( self::$instance, 'get_user_country' ), 10 ); |
|
43 | - add_filter( 'wpinv_get_user_country', array( self::$instance, 'set_user_country' ), 10 ); |
|
44 | - add_action( 'wp_ajax_wpinv_vat_validate', array( self::$instance, 'ajax_vat_validate' ) ); |
|
45 | - add_action( 'wp_ajax_nopriv_wpinv_vat_validate', array( self::$instance, 'ajax_vat_validate' ) ); |
|
46 | - add_action( 'wp_ajax_wpinv_vat_reset', array( self::$instance, 'ajax_vat_reset' ) ); |
|
47 | - add_action( 'wp_ajax_nopriv_wpinv_vat_reset', array( self::$instance, 'ajax_vat_reset' ) ); |
|
48 | - add_action( 'wpinv_invoice_print_after_line_items', array( self::$instance, 'show_vat_notice' ), 999, 1 ); |
|
49 | - if ( wpinv_use_taxes() ) { |
|
50 | - add_action( 'wpinv_after_billing_fields', array( self::$instance, 'checkout_vat_fields' ) ); |
|
51 | - if ( self::allow_vat_rules() ) { |
|
52 | - add_action( 'wpinv_checkout_error_checks', array( self::$instance, 'checkout_vat_validate' ), 10, 2 ); |
|
53 | - add_filter( 'wpinv_tax_rate', array( self::$instance, 'get_rate' ), 10, 4 ); |
|
25 | + if (is_admin()) { |
|
26 | + add_action('admin_enqueue_scripts', array(self::$instance, 'enqueue_admin_scripts')); |
|
27 | + add_action('wpinv_settings_sections_taxes', array(self::$instance, 'section_vat_settings')); |
|
28 | + add_action('wpinv_settings_taxes', array(self::$instance, 'vat_settings')); |
|
29 | + add_filter('wpinv_settings_taxes-vat_sanitize', array(self::$instance, 'sanitize_vat_settings')); |
|
30 | + add_filter('wpinv_settings_taxes-vat_rates_sanitize', array(self::$instance, 'sanitize_vat_rates')); |
|
31 | + add_action('wp_ajax_wpinv_add_vat_class', array(self::$instance, 'add_class')); |
|
32 | + add_action('wp_ajax_nopriv_wpinv_add_vat_class', array(self::$instance, 'add_class')); |
|
33 | + add_action('wp_ajax_wpinv_delete_vat_class', array(self::$instance, 'delete_class')); |
|
34 | + add_action('wp_ajax_nopriv_wpinv_delete_vat_class', array(self::$instance, 'delete_class')); |
|
35 | + add_action('wp_ajax_wpinv_update_vat_rates', array(self::$instance, 'update_eu_rates')); |
|
36 | + add_action('wp_ajax_nopriv_wpinv_update_vat_rates', array(self::$instance, 'update_eu_rates')); |
|
37 | + add_action('wp_ajax_wpinv_geoip2', array(self::$instance, 'geoip2_download_database')); |
|
38 | + add_action('wp_ajax_nopriv_wpinv_geoip2', array(self::$instance, 'geoip2_download_database')); |
|
39 | + } |
|
40 | + |
|
41 | + add_action('wp_enqueue_scripts', array(self::$instance, 'enqueue_vat_scripts')); |
|
42 | + add_filter('wpinv_default_billing_country', array(self::$instance, 'get_user_country'), 10); |
|
43 | + add_filter('wpinv_get_user_country', array(self::$instance, 'set_user_country'), 10); |
|
44 | + add_action('wp_ajax_wpinv_vat_validate', array(self::$instance, 'ajax_vat_validate')); |
|
45 | + add_action('wp_ajax_nopriv_wpinv_vat_validate', array(self::$instance, 'ajax_vat_validate')); |
|
46 | + add_action('wp_ajax_wpinv_vat_reset', array(self::$instance, 'ajax_vat_reset')); |
|
47 | + add_action('wp_ajax_nopriv_wpinv_vat_reset', array(self::$instance, 'ajax_vat_reset')); |
|
48 | + add_action('wpinv_invoice_print_after_line_items', array(self::$instance, 'show_vat_notice'), 999, 1); |
|
49 | + if (wpinv_use_taxes()) { |
|
50 | + add_action('wpinv_after_billing_fields', array(self::$instance, 'checkout_vat_fields')); |
|
51 | + if (self::allow_vat_rules()) { |
|
52 | + add_action('wpinv_checkout_error_checks', array(self::$instance, 'checkout_vat_validate'), 10, 2); |
|
53 | + add_filter('wpinv_tax_rate', array(self::$instance, 'get_rate'), 10, 4); |
|
54 | 54 | } |
55 | 55 | } |
56 | 56 | } |
57 | 57 | |
58 | - public static function get_eu_states( $sort = true ) { |
|
59 | - $eu_states = array( 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GB', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE' ); |
|
60 | - if ( $sort ) { |
|
61 | - $sort = sort( $eu_states ); |
|
58 | + public static function get_eu_states($sort = true) { |
|
59 | + $eu_states = array('AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GB', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE'); |
|
60 | + if ($sort) { |
|
61 | + $sort = sort($eu_states); |
|
62 | 62 | } |
63 | 63 | |
64 | - return apply_filters( 'wpinv_get_eu_states', $eu_states, $sort ); |
|
64 | + return apply_filters('wpinv_get_eu_states', $eu_states, $sort); |
|
65 | 65 | } |
66 | 66 | |
67 | - public static function get_gst_countries( $sort = true ) { |
|
68 | - $gst_countries = array( 'AU', 'NZ', 'CA', 'CN' ); |
|
67 | + public static function get_gst_countries($sort = true) { |
|
68 | + $gst_countries = array('AU', 'NZ', 'CA', 'CN'); |
|
69 | 69 | |
70 | - if ( $sort ) { |
|
71 | - $sort = sort( $gst_countries ); |
|
70 | + if ($sort) { |
|
71 | + $sort = sort($gst_countries); |
|
72 | 72 | } |
73 | 73 | |
74 | - return apply_filters( 'wpinv_get_gst_countries', $gst_countries, $sort ); |
|
74 | + return apply_filters('wpinv_get_gst_countries', $gst_countries, $sort); |
|
75 | 75 | } |
76 | 76 | |
77 | - public static function is_eu_state( $country_code ) { |
|
78 | - $return = !empty( $country_code ) && in_array( strtoupper( $country_code ), self::get_eu_states() ) ? true : false; |
|
77 | + public static function is_eu_state($country_code) { |
|
78 | + $return = !empty($country_code) && in_array(strtoupper($country_code), self::get_eu_states()) ? true : false; |
|
79 | 79 | |
80 | - return apply_filters( 'wpinv_is_eu_state', $return, $country_code ); |
|
80 | + return apply_filters('wpinv_is_eu_state', $return, $country_code); |
|
81 | 81 | } |
82 | 82 | |
83 | - public static function is_gst_country( $country_code ) { |
|
84 | - $return = !empty( $country_code ) && in_array( strtoupper( $country_code ), self::get_gst_countries() ) ? true : false; |
|
83 | + public static function is_gst_country($country_code) { |
|
84 | + $return = !empty($country_code) && in_array(strtoupper($country_code), self::get_gst_countries()) ? true : false; |
|
85 | 85 | |
86 | - return apply_filters( 'wpinv_is_gst_country', $return, $country_code ); |
|
86 | + return apply_filters('wpinv_is_gst_country', $return, $country_code); |
|
87 | 87 | } |
88 | 88 | |
89 | 89 | public static function enqueue_vat_scripts() { |
90 | - $suffix = '';//defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
90 | + $suffix = ''; //defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
91 | 91 | |
92 | - wp_register_script( 'wpinv-vat-validation-script', WPINV_PLUGIN_URL . 'assets/js/jsvat' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION ); |
|
93 | - wp_register_script( 'wpinv-vat-script', WPINV_PLUGIN_URL . 'assets/js/euvat' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION ); |
|
92 | + wp_register_script('wpinv-vat-validation-script', WPINV_PLUGIN_URL . 'assets/js/jsvat' . $suffix . '.js', array('jquery'), WPINV_VERSION); |
|
93 | + wp_register_script('wpinv-vat-script', WPINV_PLUGIN_URL . 'assets/js/euvat' . $suffix . '.js', array('jquery'), WPINV_VERSION); |
|
94 | 94 | |
95 | - $vat_name = self::get_vat_name(); |
|
95 | + $vat_name = self::get_vat_name(); |
|
96 | 96 | |
97 | 97 | $vars = array(); |
98 | 98 | $vars['UseTaxes'] = wpinv_use_taxes(); |
99 | 99 | $vars['EUStates'] = self::get_eu_states(); |
100 | - $vars['NoRateSet'] = __( 'You have not set a rate. Do you want to continue?', 'invoicing' ); |
|
101 | - $vars['EmptyCompany'] = __( 'Please enter your registered company name!', 'invoicing' ); |
|
102 | - $vars['EmptyVAT'] = wp_sprintf( __( 'Please enter your %s number!', 'invoicing' ), $vat_name ); |
|
103 | - $vars['TotalsRefreshed'] = wp_sprintf( __( 'The invoice totals will be refreshed to update the %s.', 'invoicing' ), $vat_name ); |
|
104 | - $vars['ErrValidateVAT'] = wp_sprintf( __( 'Fail to validate the %s number!', 'invoicing' ), $vat_name ); |
|
105 | - $vars['ErrResetVAT'] = wp_sprintf( __( 'Fail to reset the %s number!', 'invoicing' ), $vat_name ); |
|
106 | - $vars['ErrInvalidVat'] = wp_sprintf( __( 'The %s number supplied does not have a valid format!', 'invoicing' ), $vat_name ); |
|
107 | - $vars['ErrInvalidResponse'] = __( 'An invalid response has been received from the server!', 'invoicing' ); |
|
100 | + $vars['NoRateSet'] = __('You have not set a rate. Do you want to continue?', 'invoicing'); |
|
101 | + $vars['EmptyCompany'] = __('Please enter your registered company name!', 'invoicing'); |
|
102 | + $vars['EmptyVAT'] = wp_sprintf(__('Please enter your %s number!', 'invoicing'), $vat_name); |
|
103 | + $vars['TotalsRefreshed'] = wp_sprintf(__('The invoice totals will be refreshed to update the %s.', 'invoicing'), $vat_name); |
|
104 | + $vars['ErrValidateVAT'] = wp_sprintf(__('Fail to validate the %s number!', 'invoicing'), $vat_name); |
|
105 | + $vars['ErrResetVAT'] = wp_sprintf(__('Fail to reset the %s number!', 'invoicing'), $vat_name); |
|
106 | + $vars['ErrInvalidVat'] = wp_sprintf(__('The %s number supplied does not have a valid format!', 'invoicing'), $vat_name); |
|
107 | + $vars['ErrInvalidResponse'] = __('An invalid response has been received from the server!', 'invoicing'); |
|
108 | 108 | $vars['ApplyVATRules'] = $vars['UseTaxes'] ? self::allow_vat_rules() : false; |
109 | 109 | $vars['HideVatFields'] = $vars['ApplyVATRules'] ? self::hide_vat_fields() : true; |
110 | - $vars['ErrResponse'] = __( 'The request response is invalid!', 'invoicing' ); |
|
111 | - $vars['ErrRateResponse'] = __( 'The get rate request response is invalid', 'invoicing' ); |
|
112 | - $vars['PageRefresh'] = __( 'The page will be refreshed in 10 seconds to show the new options.', 'invoicing' ); |
|
113 | - $vars['RequestResponseNotValidJSON'] = __( 'The get rate request response is not valid JSON', 'invoicing' ); |
|
114 | - $vars['GetRateRequestFailed'] = __( 'The get rate request failed: ', 'invoicing' ); |
|
115 | - $vars['NoRateInformationInResponse'] = __( 'The get rate request response does not contain any rate information', 'invoicing' ); |
|
116 | - $vars['RatesUpdated'] = __( 'The rates have been updated. Press the save button to record these new rates.', 'invoicing' ); |
|
117 | - $vars['IPAddressInformation'] = __( 'IP Address Information', 'invoicing' ); |
|
118 | - $vars['VatValidating'] = wp_sprintf( __( 'Validating %s number...', 'invoicing' ), $vat_name ); |
|
119 | - $vars['VatReseting'] = __( 'Reseting...', 'invoicing' ); |
|
120 | - $vars['VatValidated'] = wp_sprintf( __( '%s number validated', 'invoicing' ), $vat_name ); |
|
121 | - $vars['VatNotValidated'] = wp_sprintf( __( '%s number not validated', 'invoicing' ), $vat_name ); |
|
122 | - $vars['ConfirmDeleteClass'] = __( 'Are you sure you wish to delete this rates class?', 'invoicing' ); |
|
110 | + $vars['ErrResponse'] = __('The request response is invalid!', 'invoicing'); |
|
111 | + $vars['ErrRateResponse'] = __('The get rate request response is invalid', 'invoicing'); |
|
112 | + $vars['PageRefresh'] = __('The page will be refreshed in 10 seconds to show the new options.', 'invoicing'); |
|
113 | + $vars['RequestResponseNotValidJSON'] = __('The get rate request response is not valid JSON', 'invoicing'); |
|
114 | + $vars['GetRateRequestFailed'] = __('The get rate request failed: ', 'invoicing'); |
|
115 | + $vars['NoRateInformationInResponse'] = __('The get rate request response does not contain any rate information', 'invoicing'); |
|
116 | + $vars['RatesUpdated'] = __('The rates have been updated. Press the save button to record these new rates.', 'invoicing'); |
|
117 | + $vars['IPAddressInformation'] = __('IP Address Information', 'invoicing'); |
|
118 | + $vars['VatValidating'] = wp_sprintf(__('Validating %s number...', 'invoicing'), $vat_name); |
|
119 | + $vars['VatReseting'] = __('Reseting...', 'invoicing'); |
|
120 | + $vars['VatValidated'] = wp_sprintf(__('%s number validated', 'invoicing'), $vat_name); |
|
121 | + $vars['VatNotValidated'] = wp_sprintf(__('%s number not validated', 'invoicing'), $vat_name); |
|
122 | + $vars['ConfirmDeleteClass'] = __('Are you sure you wish to delete this rates class?', 'invoicing'); |
|
123 | 123 | $vars['isFront'] = is_admin() ? false : true; |
124 | - $vars['checkoutNonce'] = wp_create_nonce( 'wpinv_checkout_nonce' ); |
|
124 | + $vars['checkoutNonce'] = wp_create_nonce('wpinv_checkout_nonce'); |
|
125 | 125 | $vars['baseCountry'] = wpinv_get_default_country(); |
126 | - $vars['disableVATSameCountry'] = ( self::same_country_rule() == 'no' ? true : false ); |
|
127 | - $vars['disableVATSimpleCheck'] = wpinv_get_option( 'vat_offline_check' ) ? true : false; |
|
126 | + $vars['disableVATSameCountry'] = (self::same_country_rule() == 'no' ? true : false); |
|
127 | + $vars['disableVATSimpleCheck'] = wpinv_get_option('vat_offline_check') ? true : false; |
|
128 | 128 | |
129 | - wp_enqueue_script( 'wpinv-vat-validation-script' ); |
|
130 | - wp_enqueue_script( 'wpinv-vat-script' ); |
|
131 | - wp_localize_script( 'wpinv-vat-script', 'WPInv_VAT_Vars', $vars ); |
|
129 | + wp_enqueue_script('wpinv-vat-validation-script'); |
|
130 | + wp_enqueue_script('wpinv-vat-script'); |
|
131 | + wp_localize_script('wpinv-vat-script', 'WPInv_VAT_Vars', $vars); |
|
132 | 132 | } |
133 | 133 | |
134 | 134 | public static function enqueue_admin_scripts() { |
135 | - if( isset( $_GET['page'] ) && 'wpinv-settings' == $_GET['page'] ) { |
|
135 | + if (isset($_GET['page']) && 'wpinv-settings' == $_GET['page']) { |
|
136 | 136 | self::enqueue_vat_scripts(); |
137 | 137 | } |
138 | 138 | } |
139 | 139 | |
140 | - public static function section_vat_settings( $sections ) { |
|
141 | - if ( !empty( $sections ) ) { |
|
142 | - $sections['vat'] = __( 'EU VAT Settings', 'invoicing' ); |
|
140 | + public static function section_vat_settings($sections) { |
|
141 | + if (!empty($sections)) { |
|
142 | + $sections['vat'] = __('EU VAT Settings', 'invoicing'); |
|
143 | 143 | |
144 | - if ( self::allow_vat_classes() ) { |
|
145 | - $sections['vat_rates'] = __( 'EU VAT Rates', 'invoicing' ); |
|
144 | + if (self::allow_vat_classes()) { |
|
145 | + $sections['vat_rates'] = __('EU VAT Rates', 'invoicing'); |
|
146 | 146 | } |
147 | 147 | } |
148 | 148 | return $sections; |
@@ -151,51 +151,51 @@ discard block |
||
151 | 151 | public static function vat_rates_settings() { |
152 | 152 | $vat_classes = self::get_rate_classes(); |
153 | 153 | $vat_rates = array(); |
154 | - $vat_class = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' && isset( $vat_classes[$_REQUEST['wpi_sub']] )? sanitize_text_field( $_REQUEST['wpi_sub'] ) : '_new'; |
|
155 | - $current_url = remove_query_arg( 'wpi_sub' ); |
|
154 | + $vat_class = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' && isset($vat_classes[$_REQUEST['wpi_sub']]) ? sanitize_text_field($_REQUEST['wpi_sub']) : '_new'; |
|
155 | + $current_url = remove_query_arg('wpi_sub'); |
|
156 | 156 | |
157 | 157 | $vat_rates['vat_rates_header'] = array( |
158 | 158 | 'id' => 'vat_rates_header', |
159 | - 'name' => '<h3>' . __( 'Manage VAT Rates', 'invoicing' ) . '</h3>', |
|
159 | + 'name' => '<h3>' . __('Manage VAT Rates', 'invoicing') . '</h3>', |
|
160 | 160 | 'desc' => '', |
161 | 161 | 'type' => 'header', |
162 | 162 | 'size' => 'regular' |
163 | 163 | ); |
164 | 164 | $vat_rates['vat_rates_class'] = array( |
165 | 165 | 'id' => 'vat_rates_class', |
166 | - 'name' => __( 'Edit VAT Rates', 'invoicing' ), |
|
167 | - 'desc' => __( 'The standard rate will apply where no explicit rate is provided.', 'invoicing' ), |
|
166 | + 'name' => __('Edit VAT Rates', 'invoicing'), |
|
167 | + 'desc' => __('The standard rate will apply where no explicit rate is provided.', 'invoicing'), |
|
168 | 168 | 'type' => 'select', |
169 | - 'options' => array_merge( $vat_classes, array( '_new' => __( 'Add New Rate Class', 'invoicing' ) ) ), |
|
170 | - 'placeholder' => __( 'Select a VAT Rate', 'invoicing' ), |
|
169 | + 'options' => array_merge($vat_classes, array('_new' => __('Add New Rate Class', 'invoicing'))), |
|
170 | + 'placeholder' => __('Select a VAT Rate', 'invoicing'), |
|
171 | 171 | 'selected' => $vat_class, |
172 | 172 | 'onchange' => 'document.location.href="' . $current_url . '&wpi_sub=" + this.value;', |
173 | 173 | ); |
174 | 174 | |
175 | - if ( $vat_class != '_standard' && $vat_class != '_new' ) { |
|
175 | + if ($vat_class != '_standard' && $vat_class != '_new') { |
|
176 | 176 | $vat_rates['vat_rate_delete'] = array( |
177 | 177 | 'id' => 'vat_rate_delete', |
178 | 178 | 'type' => 'vat_rate_delete', |
179 | 179 | ); |
180 | 180 | } |
181 | 181 | |
182 | - if ( $vat_class == '_new' ) { |
|
182 | + if ($vat_class == '_new') { |
|
183 | 183 | $vat_rates['vat_rates_settings'] = array( |
184 | 184 | 'id' => 'vat_rates_settings', |
185 | - 'name' => '<h3>' . __( 'Add New Rate Class', 'invoicing' ) . '</h3>', |
|
185 | + 'name' => '<h3>' . __('Add New Rate Class', 'invoicing') . '</h3>', |
|
186 | 186 | 'type' => 'header', |
187 | 187 | ); |
188 | 188 | $vat_rates['vat_rate_name'] = array( |
189 | 189 | 'id' => 'vat_rate_name', |
190 | - 'name' => __( 'Name', 'invoicing' ), |
|
191 | - 'desc' => __( 'A short name for the new VAT Rate class', 'invoicing' ), |
|
190 | + 'name' => __('Name', 'invoicing'), |
|
191 | + 'desc' => __('A short name for the new VAT Rate class', 'invoicing'), |
|
192 | 192 | 'type' => 'text', |
193 | 193 | 'size' => 'regular', |
194 | 194 | ); |
195 | 195 | $vat_rates['vat_rate_desc'] = array( |
196 | 196 | 'id' => 'vat_rate_desc', |
197 | - 'name' => __( 'Description', 'invoicing' ), |
|
198 | - 'desc' => __( 'Manage VAT Rate class', 'invoicing' ), |
|
197 | + 'name' => __('Description', 'invoicing'), |
|
198 | + 'desc' => __('Manage VAT Rate class', 'invoicing'), |
|
199 | 199 | 'type' => 'text', |
200 | 200 | 'size' => 'regular', |
201 | 201 | ); |
@@ -207,7 +207,7 @@ discard block |
||
207 | 207 | $vat_rates['vat_rates'] = array( |
208 | 208 | 'id' => 'vat_rates', |
209 | 209 | 'name' => '<h3>' . $vat_classes[$vat_class] . '</h3>', |
210 | - 'desc' => self::get_class_desc( $vat_class ), |
|
210 | + 'desc' => self::get_class_desc($vat_class), |
|
211 | 211 | 'type' => 'vat_rates', |
212 | 212 | ); |
213 | 213 | } |
@@ -215,12 +215,12 @@ discard block |
||
215 | 215 | return $vat_rates; |
216 | 216 | } |
217 | 217 | |
218 | - public static function vat_settings( $settings ) { |
|
219 | - if ( !empty( $settings ) ) { |
|
218 | + public static function vat_settings($settings) { |
|
219 | + if (!empty($settings)) { |
|
220 | 220 | $vat_settings = array(); |
221 | 221 | $vat_settings['vat_company_title'] = array( |
222 | 222 | 'id' => 'vat_company_title', |
223 | - 'name' => '<h3>' . __( 'Your Company Details', 'invoicing' ) . '</h3>', |
|
223 | + 'name' => '<h3>' . __('Your Company Details', 'invoicing') . '</h3>', |
|
224 | 224 | 'desc' => '', |
225 | 225 | 'type' => 'header', |
226 | 226 | 'size' => 'regular' |
@@ -228,22 +228,22 @@ discard block |
||
228 | 228 | |
229 | 229 | $vat_settings['vat_company_name'] = array( |
230 | 230 | 'id' => 'vat_company_name', |
231 | - 'name' => __( 'Your Company Name', 'invoicing' ), |
|
232 | - 'desc' => wp_sprintf(__( 'Your company name as it appears on your VAT return, you can verify it via your VAT ID on the %sEU VIES System.%s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ), |
|
231 | + 'name' => __('Your Company Name', 'invoicing'), |
|
232 | + 'desc' => wp_sprintf(__('Your company name as it appears on your VAT return, you can verify it via your VAT ID on the %sEU VIES System.%s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'), |
|
233 | 233 | 'type' => 'text', |
234 | 234 | 'size' => 'regular', |
235 | 235 | ); |
236 | 236 | |
237 | 237 | $vat_settings['vat_number'] = array( |
238 | 238 | 'id' => 'vat_number', |
239 | - 'name' => __( 'Your VAT Number', 'invoicing' ), |
|
239 | + 'name' => __('Your VAT Number', 'invoicing'), |
|
240 | 240 | 'type' => 'vat_number', |
241 | 241 | 'size' => 'regular', |
242 | 242 | ); |
243 | 243 | |
244 | 244 | $vat_settings['vat_settings_title'] = array( |
245 | 245 | 'id' => 'vat_settings_title', |
246 | - 'name' => '<h3>' . __( 'Apply VAT Settings', 'invoicing' ) . '</h3>', |
|
246 | + 'name' => '<h3>' . __('Apply VAT Settings', 'invoicing') . '</h3>', |
|
247 | 247 | 'desc' => '', |
248 | 248 | 'type' => 'header', |
249 | 249 | 'size' => 'regular' |
@@ -251,8 +251,8 @@ discard block |
||
251 | 251 | |
252 | 252 | $vat_settings['apply_vat_rules'] = array( |
253 | 253 | 'id' => 'apply_vat_rules', |
254 | - 'name' => __( 'Enable VAT Rules', 'invoicing' ), |
|
255 | - 'desc' => __( 'Apply VAT to consumer sales from IP addresses within the EU, even if the billing address is outside the EU.', 'invoicing' ) . '<br><font style="color:red">' . __( 'Do not disable unless you know what you are doing.', 'invoicing' ) . '</font>', |
|
254 | + 'name' => __('Enable VAT Rules', 'invoicing'), |
|
255 | + 'desc' => __('Apply VAT to consumer sales from IP addresses within the EU, even if the billing address is outside the EU.', 'invoicing') . '<br><font style="color:red">' . __('Do not disable unless you know what you are doing.', 'invoicing') . '</font>', |
|
256 | 256 | 'type' => 'checkbox', |
257 | 257 | 'std' => '1' |
258 | 258 | ); |
@@ -268,8 +268,8 @@ discard block |
||
268 | 268 | |
269 | 269 | $vat_settings['vat_prevent_b2c_purchase'] = array( |
270 | 270 | 'id' => 'vat_prevent_b2c_purchase', |
271 | - 'name' => __( 'Prevent EU B2C Sales', 'invoicing' ), |
|
272 | - 'desc' => __( 'Enable this option if you are not registered for VAT in the EU.', 'invoicing' ), |
|
271 | + 'name' => __('Prevent EU B2C Sales', 'invoicing'), |
|
272 | + 'desc' => __('Enable this option if you are not registered for VAT in the EU.', 'invoicing'), |
|
273 | 273 | 'type' => 'checkbox' |
274 | 274 | ); |
275 | 275 | |
@@ -277,21 +277,21 @@ discard block |
||
277 | 277 | |
278 | 278 | $vat_settings['vat_same_country_rule'] = array( |
279 | 279 | 'id' => 'vat_same_country_rule', |
280 | - 'name' => __( 'Same Country Rule', 'invoicing' ), |
|
281 | - 'desc' => __( 'Select how you want to handle VAT charge if sales are in the same country as the base country.', 'invoicing' ), |
|
280 | + 'name' => __('Same Country Rule', 'invoicing'), |
|
281 | + 'desc' => __('Select how you want to handle VAT charge if sales are in the same country as the base country.', 'invoicing'), |
|
282 | 282 | 'type' => 'select', |
283 | 283 | 'options' => array( |
284 | - '' => __( 'Normal', 'invoicing' ), |
|
285 | - 'no' => __( 'No VAT', 'invoicing' ), |
|
286 | - 'always' => __( 'Always apply VAT', 'invoicing' ), |
|
284 | + '' => __('Normal', 'invoicing'), |
|
285 | + 'no' => __('No VAT', 'invoicing'), |
|
286 | + 'always' => __('Always apply VAT', 'invoicing'), |
|
287 | 287 | ), |
288 | - 'placeholder' => __( 'Select an option', 'invoicing' ), |
|
288 | + 'placeholder' => __('Select an option', 'invoicing'), |
|
289 | 289 | 'std' => '' |
290 | 290 | ); |
291 | 291 | |
292 | 292 | $vat_settings['vat_checkout_title'] = array( |
293 | 293 | 'id' => 'vat_checkout_title', |
294 | - 'name' => '<h3>' . __( 'Checkout Fields', 'invoicing' ) . '</h3>', |
|
294 | + 'name' => '<h3>' . __('Checkout Fields', 'invoicing') . '</h3>', |
|
295 | 295 | 'desc' => '', |
296 | 296 | 'type' => 'header', |
297 | 297 | 'size' => 'regular' |
@@ -299,14 +299,14 @@ discard block |
||
299 | 299 | |
300 | 300 | $vat_settings['vat_disable_fields'] = array( |
301 | 301 | 'id' => 'vat_disable_fields', |
302 | - 'name' => __( 'Disable VAT Fields', 'invoicing' ), |
|
303 | - 'desc' => __( 'Disable VAT fields if Invoicing is being used for GST.', 'invoicing' ) . '<br><font style="color:red">' . __( 'Do not disable if you have enabled Prevent EU B2C sales, otherwise Prevent EU B2C sales setting will not work.', 'invoicing' ) . '</font>', |
|
302 | + 'name' => __('Disable VAT Fields', 'invoicing'), |
|
303 | + 'desc' => __('Disable VAT fields if Invoicing is being used for GST.', 'invoicing') . '<br><font style="color:red">' . __('Do not disable if you have enabled Prevent EU B2C sales, otherwise Prevent EU B2C sales setting will not work.', 'invoicing') . '</font>', |
|
304 | 304 | 'type' => 'checkbox' |
305 | 305 | ); |
306 | 306 | |
307 | 307 | $vat_settings['vat_ip_lookup'] = array( |
308 | 308 | 'id' => 'vat_ip_lookup', |
309 | - 'name' => __( 'IP Country Look-up', 'invoicing' ), |
|
309 | + 'name' => __('IP Country Look-up', 'invoicing'), |
|
310 | 310 | 'type' => 'vat_ip_lookup', |
311 | 311 | 'size' => 'regular', |
312 | 312 | 'std' => 'default' |
@@ -314,21 +314,21 @@ discard block |
||
314 | 314 | |
315 | 315 | $vat_settings['hide_ip_address'] = array( |
316 | 316 | 'id' => 'hide_ip_address', |
317 | - 'name' => __( 'Hide IP Info at Checkout', 'invoicing' ), |
|
318 | - 'desc' => __( 'Hide the user IP info at checkout.', 'invoicing' ), |
|
317 | + 'name' => __('Hide IP Info at Checkout', 'invoicing'), |
|
318 | + 'desc' => __('Hide the user IP info at checkout.', 'invoicing'), |
|
319 | 319 | 'type' => 'checkbox' |
320 | 320 | ); |
321 | 321 | |
322 | 322 | $vat_settings['vat_ip_country_default'] = array( |
323 | 323 | 'id' => 'vat_ip_country_default', |
324 | - 'name' => __( 'Enable IP Country as Default', 'invoicing' ), |
|
325 | - 'desc' => __( 'Show the country of the users IP as the default country, otherwise the site default country will be used.', 'invoicing' ), |
|
324 | + 'name' => __('Enable IP Country as Default', 'invoicing'), |
|
325 | + 'desc' => __('Show the country of the users IP as the default country, otherwise the site default country will be used.', 'invoicing'), |
|
326 | 326 | 'type' => 'checkbox' |
327 | 327 | ); |
328 | 328 | |
329 | 329 | $vat_settings['vies_validation_title'] = array( |
330 | 330 | 'id' => 'vies_validation_title', |
331 | - 'name' => '<h3>' . __( 'VIES Validation', 'invoicing' ) . '</h3>', |
|
331 | + 'name' => '<h3>' . __('VIES Validation', 'invoicing') . '</h3>', |
|
332 | 332 | 'desc' => '', |
333 | 333 | 'type' => 'header', |
334 | 334 | 'size' => 'regular' |
@@ -336,37 +336,37 @@ discard block |
||
336 | 336 | |
337 | 337 | $vat_settings['vat_vies_check'] = array( |
338 | 338 | 'id' => 'vat_vies_check', |
339 | - 'name' => __( 'Disable VIES VAT ID Check', 'invoicing' ), |
|
340 | - 'desc' => wp_sprintf( __( 'Prevent VAT numbers from being validated by the %sEU VIES System.%s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ), |
|
339 | + 'name' => __('Disable VIES VAT ID Check', 'invoicing'), |
|
340 | + 'desc' => wp_sprintf(__('Prevent VAT numbers from being validated by the %sEU VIES System.%s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'), |
|
341 | 341 | 'type' => 'checkbox' |
342 | 342 | ); |
343 | 343 | |
344 | 344 | $vat_settings['vat_disable_company_name_check'] = array( |
345 | 345 | 'id' => 'vat_disable_company_name_check', |
346 | - 'name' => __( 'Disable VIES Name Check', 'invoicing' ), |
|
347 | - 'desc' => wp_sprintf( __( 'Prevent company name from being validated by the %sEU VIES System.%s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ), |
|
346 | + 'name' => __('Disable VIES Name Check', 'invoicing'), |
|
347 | + 'desc' => wp_sprintf(__('Prevent company name from being validated by the %sEU VIES System.%s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'), |
|
348 | 348 | 'type' => 'checkbox' |
349 | 349 | ); |
350 | 350 | |
351 | 351 | $vat_settings['vat_offline_check'] = array( |
352 | 352 | 'id' => 'vat_offline_check', |
353 | - 'name' => __( 'Disable Basic Checks', 'invoicing' ), |
|
354 | - 'desc' => __( 'Disable basic JS checks for correct format of VAT number. (Not Recommended)', 'invoicing' ), |
|
353 | + 'name' => __('Disable Basic Checks', 'invoicing'), |
|
354 | + 'desc' => __('Disable basic JS checks for correct format of VAT number. (Not Recommended)', 'invoicing'), |
|
355 | 355 | 'type' => 'checkbox' |
356 | 356 | ); |
357 | 357 | |
358 | 358 | |
359 | 359 | $settings['vat'] = $vat_settings; |
360 | 360 | |
361 | - if ( self::allow_vat_classes() ) { |
|
361 | + if (self::allow_vat_classes()) { |
|
362 | 362 | $settings['vat_rates'] = self::vat_rates_settings(); |
363 | 363 | } |
364 | 364 | |
365 | 365 | $eu_fallback_rate = array( |
366 | 366 | 'id' => 'eu_fallback_rate', |
367 | - 'name' => '<h3>' . __( 'VAT rate for EU member states', 'invoicing' ) . '</h3>', |
|
367 | + 'name' => '<h3>' . __('VAT rate for EU member states', 'invoicing') . '</h3>', |
|
368 | 368 | 'type' => 'eu_fallback_rate', |
369 | - 'desc' => __( 'Enter the VAT rate to be charged for EU member states. You can edit the rates for each member state when a country rate has been set up by pressing this button.', 'invoicing' ), |
|
369 | + 'desc' => __('Enter the VAT rate to be charged for EU member states. You can edit the rates for each member state when a country rate has been set up by pressing this button.', 'invoicing'), |
|
370 | 370 | 'std' => '20', |
371 | 371 | 'size' => 'small' |
372 | 372 | ); |
@@ -382,11 +382,11 @@ discard block |
||
382 | 382 | $database_url = 'http' . (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === 'on' ? 's' : '') . '://geolite.maxmind.com/download/geoip/database/'; |
383 | 383 | $destination_dir = $upload_dir['basedir'] . '/invoicing'; |
384 | 384 | |
385 | - if ( !is_dir( $destination_dir ) ) { |
|
386 | - mkdir( $destination_dir ); |
|
385 | + if (!is_dir($destination_dir)) { |
|
386 | + mkdir($destination_dir); |
|
387 | 387 | } |
388 | 388 | |
389 | - $database_files = array( |
|
389 | + $database_files = array( |
|
390 | 390 | 'country' => array( |
391 | 391 | 'source' => $database_url . 'GeoLite2-Country.mmdb.gz', |
392 | 392 | 'destination' => $destination_dir . '/GeoLite2-Country.mmdb', |
@@ -397,57 +397,57 @@ discard block |
||
397 | 397 | ) |
398 | 398 | ); |
399 | 399 | |
400 | - foreach( $database_files as $database => $files ) { |
|
401 | - $result = self::geoip2_download_file( $files['source'], $files['destination'] ); |
|
400 | + foreach ($database_files as $database => $files) { |
|
401 | + $result = self::geoip2_download_file($files['source'], $files['destination']); |
|
402 | 402 | |
403 | - if ( empty( $result['success'] ) ) { |
|
403 | + if (empty($result['success'])) { |
|
404 | 404 | echo $result['message']; |
405 | 405 | exit; |
406 | 406 | } |
407 | 407 | |
408 | - wpinv_update_option( 'wpinv_geoip2_date_updated', current_time( 'timestamp' ) ); |
|
409 | - echo sprintf(__( 'GeoIP2 %s database updated successfully.', 'invoicing' ), $database ) . ' '; |
|
408 | + wpinv_update_option('wpinv_geoip2_date_updated', current_time('timestamp')); |
|
409 | + echo sprintf(__('GeoIP2 %s database updated successfully.', 'invoicing'), $database) . ' '; |
|
410 | 410 | } |
411 | 411 | |
412 | 412 | exit; |
413 | 413 | } |
414 | 414 | |
415 | - public static function geoip2_download_file( $source_url, $destination_file ) { |
|
415 | + public static function geoip2_download_file($source_url, $destination_file) { |
|
416 | 416 | $success = false; |
417 | 417 | $message = ''; |
418 | 418 | |
419 | - if ( !function_exists( 'download_url' ) ) { |
|
420 | - require_once( ABSPATH . 'wp-admin/includes/file.php' ); |
|
419 | + if (!function_exists('download_url')) { |
|
420 | + require_once(ABSPATH . 'wp-admin/includes/file.php'); |
|
421 | 421 | } |
422 | 422 | |
423 | - $temp_file = download_url( $source_url ); |
|
423 | + $temp_file = download_url($source_url); |
|
424 | 424 | |
425 | - if ( is_wp_error( $temp_file ) ) { |
|
426 | - $message = sprintf( __( 'Error while downloading GeoIp2 database( %s ): %s', 'invoicing' ), $source_url, $temp_file->get_error_message() ); |
|
425 | + if (is_wp_error($temp_file)) { |
|
426 | + $message = sprintf(__('Error while downloading GeoIp2 database( %s ): %s', 'invoicing'), $source_url, $temp_file->get_error_message()); |
|
427 | 427 | } else { |
428 | - $handle = gzopen( $temp_file, 'rb' ); |
|
428 | + $handle = gzopen($temp_file, 'rb'); |
|
429 | 429 | |
430 | - if ( $handle ) { |
|
431 | - $fopen = fopen( $destination_file, 'wb' ); |
|
432 | - if ( $fopen ) { |
|
433 | - while ( ( $data = gzread( $handle, 4096 ) ) != false ) { |
|
434 | - fwrite( $fopen, $data ); |
|
430 | + if ($handle) { |
|
431 | + $fopen = fopen($destination_file, 'wb'); |
|
432 | + if ($fopen) { |
|
433 | + while (($data = gzread($handle, 4096)) != false) { |
|
434 | + fwrite($fopen, $data); |
|
435 | 435 | } |
436 | 436 | |
437 | - gzclose( $handle ); |
|
438 | - fclose( $fopen ); |
|
437 | + gzclose($handle); |
|
438 | + fclose($fopen); |
|
439 | 439 | |
440 | 440 | $success = true; |
441 | 441 | } else { |
442 | - gzclose( $handle ); |
|
443 | - $message = sprintf( __( 'Error could not open destination GeoIp2 database file for writing: %s', 'invoicing' ), $destination_file ); |
|
442 | + gzclose($handle); |
|
443 | + $message = sprintf(__('Error could not open destination GeoIp2 database file for writing: %s', 'invoicing'), $destination_file); |
|
444 | 444 | } |
445 | 445 | } else { |
446 | - $message = sprintf( __( 'Error could not open GeoIp2 database file for reading: %s', 'invoicing' ), $temp_file ); |
|
446 | + $message = sprintf(__('Error could not open GeoIp2 database file for reading: %s', 'invoicing'), $temp_file); |
|
447 | 447 | } |
448 | 448 | |
449 | - if ( file_exists( $temp_file ) ) { |
|
450 | - unlink( $temp_file ); |
|
449 | + if (file_exists($temp_file)) { |
|
450 | + unlink($temp_file); |
|
451 | 451 | } |
452 | 452 | } |
453 | 453 | |
@@ -459,11 +459,11 @@ discard block |
||
459 | 459 | } |
460 | 460 | |
461 | 461 | public static function load_geoip2() { |
462 | - if ( defined( 'WPINV_GEOIP2_LODDED' ) ) { |
|
462 | + if (defined('WPINV_GEOIP2_LODDED')) { |
|
463 | 463 | return; |
464 | 464 | } |
465 | 465 | |
466 | - if ( !class_exists( '\MaxMind\Db\Reader' ) ) { |
|
466 | + if (!class_exists('\MaxMind\Db\Reader')) { |
|
467 | 467 | $maxmind_db_files = array( |
468 | 468 | 'Reader/Decoder.php', |
469 | 469 | 'Reader/InvalidDatabaseException.php', |
@@ -472,12 +472,12 @@ discard block |
||
472 | 472 | 'Reader.php', |
473 | 473 | ); |
474 | 474 | |
475 | - foreach ( $maxmind_db_files as $key => $file ) { |
|
476 | - require_once( WPINV_PLUGIN_DIR . 'includes/libraries/MaxMind/Db/' . $file ); |
|
475 | + foreach ($maxmind_db_files as $key => $file) { |
|
476 | + require_once(WPINV_PLUGIN_DIR . 'includes/libraries/MaxMind/Db/' . $file); |
|
477 | 477 | } |
478 | 478 | } |
479 | 479 | |
480 | - if ( !class_exists( '\GeoIp2\Database\Reader' ) ) { |
|
480 | + if (!class_exists('\GeoIp2\Database\Reader')) { |
|
481 | 481 | $geoip2_files = array( |
482 | 482 | 'ProviderInterface.php', |
483 | 483 | 'Compat/JsonSerializable.php', |
@@ -511,23 +511,23 @@ discard block |
||
511 | 511 | 'WebService/Client.php', |
512 | 512 | ); |
513 | 513 | |
514 | - foreach ( $geoip2_files as $key => $file ) { |
|
515 | - require_once( WPINV_PLUGIN_DIR . 'includes/libraries/GeoIp2/' . $file ); |
|
514 | + foreach ($geoip2_files as $key => $file) { |
|
515 | + require_once(WPINV_PLUGIN_DIR . 'includes/libraries/GeoIp2/' . $file); |
|
516 | 516 | } |
517 | 517 | } |
518 | 518 | |
519 | - define( 'WPINV_GEOIP2_LODDED', true ); |
|
519 | + define('WPINV_GEOIP2_LODDED', true); |
|
520 | 520 | } |
521 | 521 | |
522 | 522 | public static function geoip2_country_dbfile() { |
523 | 523 | $upload_dir = wp_upload_dir(); |
524 | 524 | |
525 | - if ( !isset( $upload_dir['basedir'] ) ) { |
|
525 | + if (!isset($upload_dir['basedir'])) { |
|
526 | 526 | return false; |
527 | 527 | } |
528 | 528 | |
529 | 529 | $filename = $upload_dir['basedir'] . '/invoicing/GeoLite2-Country.mmdb'; |
530 | - if ( !file_exists( $filename ) ) { |
|
530 | + if (!file_exists($filename)) { |
|
531 | 531 | return false; |
532 | 532 | } |
533 | 533 | |
@@ -537,12 +537,12 @@ discard block |
||
537 | 537 | public static function geoip2_city_dbfile() { |
538 | 538 | $upload_dir = wp_upload_dir(); |
539 | 539 | |
540 | - if ( !isset( $upload_dir['basedir'] ) ) { |
|
540 | + if (!isset($upload_dir['basedir'])) { |
|
541 | 541 | return false; |
542 | 542 | } |
543 | 543 | |
544 | 544 | $filename = $upload_dir['basedir'] . '/invoicing/GeoLite2-City.mmdb'; |
545 | - if ( !file_exists( $filename ) ) { |
|
545 | + if (!file_exists($filename)) { |
|
546 | 546 | return false; |
547 | 547 | } |
548 | 548 | |
@@ -553,10 +553,10 @@ discard block |
||
553 | 553 | try { |
554 | 554 | self::load_geoip2(); |
555 | 555 | |
556 | - if ( $filename = self::geoip2_country_dbfile() ) { |
|
557 | - return new \GeoIp2\Database\Reader( $filename ); |
|
556 | + if ($filename = self::geoip2_country_dbfile()) { |
|
557 | + return new \GeoIp2\Database\Reader($filename); |
|
558 | 558 | } |
559 | - } catch( Exception $e ) { |
|
559 | + } catch (Exception $e) { |
|
560 | 560 | return false; |
561 | 561 | } |
562 | 562 | |
@@ -567,173 +567,173 @@ discard block |
||
567 | 567 | try { |
568 | 568 | self::load_geoip2(); |
569 | 569 | |
570 | - if ( $filename = self::geoip2_city_dbfile() ) { |
|
571 | - return new \GeoIp2\Database\Reader( $filename ); |
|
570 | + if ($filename = self::geoip2_city_dbfile()) { |
|
571 | + return new \GeoIp2\Database\Reader($filename); |
|
572 | 572 | } |
573 | - } catch( Exception $e ) { |
|
573 | + } catch (Exception $e) { |
|
574 | 574 | return false; |
575 | 575 | } |
576 | 576 | |
577 | 577 | return false; |
578 | 578 | } |
579 | 579 | |
580 | - public static function geoip2_country_record( $ip_address ) { |
|
580 | + public static function geoip2_country_record($ip_address) { |
|
581 | 581 | try { |
582 | 582 | $reader = self::geoip2_country_reader(); |
583 | 583 | |
584 | - if ( $reader ) { |
|
585 | - $record = $reader->country( $ip_address ); |
|
584 | + if ($reader) { |
|
585 | + $record = $reader->country($ip_address); |
|
586 | 586 | |
587 | - if ( !empty( $record->country->isoCode ) ) { |
|
587 | + if (!empty($record->country->isoCode)) { |
|
588 | 588 | return $record; |
589 | 589 | } |
590 | 590 | } |
591 | - } catch(\InvalidArgumentException $e) { |
|
592 | - wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' ); |
|
591 | + } catch (\InvalidArgumentException $e) { |
|
592 | + wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )'); |
|
593 | 593 | |
594 | 594 | return false; |
595 | - } catch(\GeoIp2\Exception\AddressNotFoundException $e) { |
|
596 | - wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' ); |
|
595 | + } catch (\GeoIp2\Exception\AddressNotFoundException $e) { |
|
596 | + wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )'); |
|
597 | 597 | |
598 | 598 | return false; |
599 | - } catch( Exception $e ) { |
|
599 | + } catch (Exception $e) { |
|
600 | 600 | return false; |
601 | 601 | } |
602 | 602 | |
603 | 603 | return false; |
604 | 604 | } |
605 | 605 | |
606 | - public static function geoip2_city_record( $ip_address ) { |
|
606 | + public static function geoip2_city_record($ip_address) { |
|
607 | 607 | try { |
608 | 608 | $reader = self::geoip2_city_reader(); |
609 | 609 | |
610 | - if ( $reader ) { |
|
611 | - $record = $reader->city( $ip_address ); |
|
610 | + if ($reader) { |
|
611 | + $record = $reader->city($ip_address); |
|
612 | 612 | |
613 | - if ( !empty( $record->country->isoCode ) ) { |
|
613 | + if (!empty($record->country->isoCode)) { |
|
614 | 614 | return $record; |
615 | 615 | } |
616 | 616 | } |
617 | - } catch(\InvalidArgumentException $e) { |
|
618 | - wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' ); |
|
617 | + } catch (\InvalidArgumentException $e) { |
|
618 | + wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )'); |
|
619 | 619 | |
620 | 620 | return false; |
621 | - } catch(\GeoIp2\Exception\AddressNotFoundException $e) { |
|
622 | - wpinv_error_log( $e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )' ); |
|
621 | + } catch (\GeoIp2\Exception\AddressNotFoundException $e) { |
|
622 | + wpinv_error_log($e->getMessage(), 'GeoIp2 Lookup( ' . $ip_address . ' )'); |
|
623 | 623 | |
624 | 624 | return false; |
625 | - } catch( Exception $e ) { |
|
625 | + } catch (Exception $e) { |
|
626 | 626 | return false; |
627 | 627 | } |
628 | 628 | |
629 | 629 | return false; |
630 | 630 | } |
631 | 631 | |
632 | - public static function geoip2_country_code( $ip_address ) { |
|
633 | - $record = self::geoip2_country_record( $ip_address ); |
|
634 | - return !empty( $record->country->isoCode ) ? $record->country->isoCode : wpinv_get_default_country(); |
|
632 | + public static function geoip2_country_code($ip_address) { |
|
633 | + $record = self::geoip2_country_record($ip_address); |
|
634 | + return !empty($record->country->isoCode) ? $record->country->isoCode : wpinv_get_default_country(); |
|
635 | 635 | } |
636 | 636 | |
637 | 637 | // Find country by IP address. |
638 | - public static function get_country_by_ip( $ip = '' ) { |
|
638 | + public static function get_country_by_ip($ip = '') { |
|
639 | 639 | global $wpinv_ip_address_country; |
640 | 640 | |
641 | - if ( !empty( $wpinv_ip_address_country ) ) { |
|
641 | + if (!empty($wpinv_ip_address_country)) { |
|
642 | 642 | return $wpinv_ip_address_country; |
643 | 643 | } |
644 | 644 | |
645 | - if ( empty( $ip ) ) { |
|
645 | + if (empty($ip)) { |
|
646 | 646 | $ip = wpinv_get_ip(); |
647 | 647 | } |
648 | 648 | |
649 | - $ip_country_service = wpinv_get_option( 'vat_ip_lookup' ); |
|
650 | - $is_default = empty( $ip_country_service ) || $ip_country_service === 'default' ? true : false; |
|
649 | + $ip_country_service = wpinv_get_option('vat_ip_lookup'); |
|
650 | + $is_default = empty($ip_country_service) || $ip_country_service === 'default' ? true : false; |
|
651 | 651 | |
652 | - if ( !empty( $ip ) && $ip !== '127.0.0.1' ) { // For 127.0.0.1(localhost) use default country. |
|
653 | - if ( function_exists( 'geoip_country_code_by_name') && ( $ip_country_service === 'geoip' || $is_default ) ) { |
|
652 | + if (!empty($ip) && $ip !== '127.0.0.1') { // For 127.0.0.1(localhost) use default country. |
|
653 | + if (function_exists('geoip_country_code_by_name') && ($ip_country_service === 'geoip' || $is_default)) { |
|
654 | 654 | try { |
655 | - $wpinv_ip_address_country = geoip_country_code_by_name( $ip ); |
|
656 | - } catch( Exception $e ) { |
|
657 | - wpinv_error_log( $e->getMessage(), 'GeoIP Lookup( ' . $ip . ' )' ); |
|
655 | + $wpinv_ip_address_country = geoip_country_code_by_name($ip); |
|
656 | + } catch (Exception $e) { |
|
657 | + wpinv_error_log($e->getMessage(), 'GeoIP Lookup( ' . $ip . ' )'); |
|
658 | 658 | } |
659 | - } else if ( self::geoip2_country_dbfile() && ( $ip_country_service === 'geoip2' || $is_default ) ) { |
|
660 | - $wpinv_ip_address_country = self::geoip2_country_code( $ip ); |
|
661 | - } else if ( function_exists( 'simplexml_load_file' ) && ( $ip_country_service === 'geoplugin' || $is_default ) ) { |
|
662 | - $load_xml = simplexml_load_file( 'http://www.geoplugin.net/xml.gp?ip=' . $ip ); |
|
659 | + } else if (self::geoip2_country_dbfile() && ($ip_country_service === 'geoip2' || $is_default)) { |
|
660 | + $wpinv_ip_address_country = self::geoip2_country_code($ip); |
|
661 | + } else if (function_exists('simplexml_load_file') && ($ip_country_service === 'geoplugin' || $is_default)) { |
|
662 | + $load_xml = simplexml_load_file('http://www.geoplugin.net/xml.gp?ip=' . $ip); |
|
663 | 663 | |
664 | - if ( !empty( $load_xml ) && !empty( $load_xml->geoplugin_countryCode ) ) { |
|
664 | + if (!empty($load_xml) && !empty($load_xml->geoplugin_countryCode)) { |
|
665 | 665 | $wpinv_ip_address_country = (string)$load_xml->geoplugin_countryCode; |
666 | 666 | } |
667 | 667 | } |
668 | 668 | } |
669 | 669 | |
670 | - if ( empty( $wpinv_ip_address_country ) ) { |
|
670 | + if (empty($wpinv_ip_address_country)) { |
|
671 | 671 | $wpinv_ip_address_country = wpinv_get_default_country(); |
672 | 672 | } |
673 | 673 | |
674 | 674 | return $wpinv_ip_address_country; |
675 | 675 | } |
676 | 676 | |
677 | - public static function sanitize_vat_settings( $input ) { |
|
677 | + public static function sanitize_vat_settings($input) { |
|
678 | 678 | global $wpinv_options; |
679 | 679 | |
680 | 680 | $valid = false; |
681 | 681 | $message = ''; |
682 | 682 | |
683 | - if ( !empty( $wpinv_options['vat_vies_check'] ) ) { |
|
684 | - if ( empty( $wpinv_options['vat_offline_check'] ) ) { |
|
685 | - $valid = self::offline_check( $input['vat_number'] ); |
|
683 | + if (!empty($wpinv_options['vat_vies_check'])) { |
|
684 | + if (empty($wpinv_options['vat_offline_check'])) { |
|
685 | + $valid = self::offline_check($input['vat_number']); |
|
686 | 686 | } else { |
687 | 687 | $valid = true; |
688 | 688 | } |
689 | 689 | |
690 | - $message = $valid ? '' : __( 'VAT number not validated', 'invoicing' ); |
|
690 | + $message = $valid ? '' : __('VAT number not validated', 'invoicing'); |
|
691 | 691 | } else { |
692 | - $result = self::check_vat( $input['vat_number'] ); |
|
692 | + $result = self::check_vat($input['vat_number']); |
|
693 | 693 | |
694 | - if ( empty( $result['valid'] ) ) { |
|
694 | + if (empty($result['valid'])) { |
|
695 | 695 | $valid = false; |
696 | 696 | $message = $result['message']; |
697 | 697 | } else { |
698 | - $valid = ( isset( $result['company'] ) && ( $result['company'] == '---' || ( strcasecmp( trim( $result['company'] ), trim( $input['vat_company_name'] ) ) == 0 ) ) ) || !empty( $wpinv_options['vat_disable_company_name_check'] ); |
|
699 | - $message = $valid ? '' : __( 'The company name associated with the VAT number provided is not the same as the company name provided.', 'invoicing' ); |
|
698 | + $valid = (isset($result['company']) && ($result['company'] == '---' || (strcasecmp(trim($result['company']), trim($input['vat_company_name'])) == 0))) || !empty($wpinv_options['vat_disable_company_name_check']); |
|
699 | + $message = $valid ? '' : __('The company name associated with the VAT number provided is not the same as the company name provided.', 'invoicing'); |
|
700 | 700 | } |
701 | 701 | } |
702 | 702 | |
703 | - if ( $message && self::is_vat_validated() != $valid ) { |
|
704 | - add_settings_error( 'wpinv-notices', '', $message, ( $valid ? 'updated' : 'error' ) ); |
|
703 | + if ($message && self::is_vat_validated() != $valid) { |
|
704 | + add_settings_error('wpinv-notices', '', $message, ($valid ? 'updated' : 'error')); |
|
705 | 705 | } |
706 | 706 | |
707 | 707 | $input['vat_valid'] = $valid; |
708 | 708 | return $input; |
709 | 709 | } |
710 | 710 | |
711 | - public static function sanitize_vat_rates( $input ) { |
|
712 | - if( !current_user_can( 'manage_options' ) ) { |
|
713 | - add_settings_error( 'wpinv-notices', '', __( 'Your account does not have permission to add rate classes.', 'invoicing' ), 'error' ); |
|
711 | + public static function sanitize_vat_rates($input) { |
|
712 | + if (!current_user_can('manage_options')) { |
|
713 | + add_settings_error('wpinv-notices', '', __('Your account does not have permission to add rate classes.', 'invoicing'), 'error'); |
|
714 | 714 | return $input; |
715 | 715 | } |
716 | 716 | |
717 | 717 | $vat_classes = self::get_rate_classes(); |
718 | - $vat_class = !empty( $_REQUEST['wpi_vat_class'] ) && isset( $vat_classes[$_REQUEST['wpi_vat_class']] )? sanitize_text_field( $_REQUEST['wpi_vat_class'] ) : ''; |
|
718 | + $vat_class = !empty($_REQUEST['wpi_vat_class']) && isset($vat_classes[$_REQUEST['wpi_vat_class']]) ? sanitize_text_field($_REQUEST['wpi_vat_class']) : ''; |
|
719 | 719 | |
720 | - if ( empty( $vat_class ) ) { |
|
721 | - add_settings_error( 'wpinv-notices', '', __( 'No valid VAT rates class contained in the request to save rates.', 'invoicing' ), 'error' ); |
|
720 | + if (empty($vat_class)) { |
|
721 | + add_settings_error('wpinv-notices', '', __('No valid VAT rates class contained in the request to save rates.', 'invoicing'), 'error'); |
|
722 | 722 | |
723 | 723 | return $input; |
724 | 724 | } |
725 | 725 | |
726 | - $new_rates = ! empty( $_POST['vat_rates'] ) ? array_values( $_POST['vat_rates'] ) : array(); |
|
726 | + $new_rates = !empty($_POST['vat_rates']) ? array_values($_POST['vat_rates']) : array(); |
|
727 | 727 | |
728 | - if ( $vat_class === '_standard' ) { |
|
728 | + if ($vat_class === '_standard') { |
|
729 | 729 | // Save the active rates in the invoice settings |
730 | - update_option( 'wpinv_tax_rates', $new_rates ); |
|
730 | + update_option('wpinv_tax_rates', $new_rates); |
|
731 | 731 | } else { |
732 | 732 | // Get the existing set of rates |
733 | 733 | $rates = self::get_non_standard_rates(); |
734 | 734 | $rates[$vat_class] = $new_rates; |
735 | 735 | |
736 | - update_option( 'wpinv_vat_rates', $rates ); |
|
736 | + update_option('wpinv_vat_rates', $rates); |
|
737 | 737 | } |
738 | 738 | |
739 | 739 | return $input; |
@@ -743,71 +743,71 @@ discard block |
||
743 | 743 | $response = array(); |
744 | 744 | $response['success'] = false; |
745 | 745 | |
746 | - if ( !current_user_can( 'manage_options' ) ) { |
|
747 | - $response['error'] = __( 'Invalid access!', 'invoicing' ); |
|
748 | - wp_send_json( $response ); |
|
746 | + if (!current_user_can('manage_options')) { |
|
747 | + $response['error'] = __('Invalid access!', 'invoicing'); |
|
748 | + wp_send_json($response); |
|
749 | 749 | } |
750 | 750 | |
751 | - $vat_class_name = !empty( $_POST['name'] ) ? sanitize_text_field( $_POST['name'] ) : false; |
|
752 | - $vat_class_desc = !empty( $_POST['desc'] ) ? sanitize_text_field( $_POST['desc'] ) : false; |
|
751 | + $vat_class_name = !empty($_POST['name']) ? sanitize_text_field($_POST['name']) : false; |
|
752 | + $vat_class_desc = !empty($_POST['desc']) ? sanitize_text_field($_POST['desc']) : false; |
|
753 | 753 | |
754 | - if ( empty( $vat_class_name ) ) { |
|
755 | - $response['error'] = __( 'Select the VAT rate name', 'invoicing' ); |
|
756 | - wp_send_json( $response ); |
|
754 | + if (empty($vat_class_name)) { |
|
755 | + $response['error'] = __('Select the VAT rate name', 'invoicing'); |
|
756 | + wp_send_json($response); |
|
757 | 757 | } |
758 | 758 | |
759 | 759 | $vat_classes = (array)self::get_rate_classes(); |
760 | 760 | |
761 | - if ( !empty( $vat_classes ) && in_array( strtolower( $vat_class_name ), array_map( 'strtolower', array_values( $vat_classes ) ) ) ) { |
|
762 | - $response['error'] = wp_sprintf( __( 'A VAT Rate name "%s" already exists', 'invoicing' ), $vat_class_name ); |
|
763 | - wp_send_json( $response ); |
|
761 | + if (!empty($vat_classes) && in_array(strtolower($vat_class_name), array_map('strtolower', array_values($vat_classes)))) { |
|
762 | + $response['error'] = wp_sprintf(__('A VAT Rate name "%s" already exists', 'invoicing'), $vat_class_name); |
|
763 | + wp_send_json($response); |
|
764 | 764 | } |
765 | 765 | |
766 | - $rate_class_key = normalize_whitespace( 'wpi-' . $vat_class_name ); |
|
767 | - $rate_class_key = sanitize_key( str_replace( " ", "-", $rate_class_key ) ); |
|
766 | + $rate_class_key = normalize_whitespace('wpi-' . $vat_class_name); |
|
767 | + $rate_class_key = sanitize_key(str_replace(" ", "-", $rate_class_key)); |
|
768 | 768 | |
769 | - $vat_classes = (array)self::get_rate_classes( true ); |
|
770 | - $vat_classes[$rate_class_key] = array( 'name' => $vat_class_name, 'desc' => $vat_class_desc ); |
|
769 | + $vat_classes = (array)self::get_rate_classes(true); |
|
770 | + $vat_classes[$rate_class_key] = array('name' => $vat_class_name, 'desc' => $vat_class_desc); |
|
771 | 771 | |
772 | - update_option( '_wpinv_vat_rate_classes', $vat_classes ); |
|
772 | + update_option('_wpinv_vat_rate_classes', $vat_classes); |
|
773 | 773 | |
774 | 774 | $response['success'] = true; |
775 | - $response['redirect'] = admin_url( 'admin.php?page=wpinv-settings&tab=taxes§ion=vat_rates&wpi_sub=' . $rate_class_key ); |
|
775 | + $response['redirect'] = admin_url('admin.php?page=wpinv-settings&tab=taxes§ion=vat_rates&wpi_sub=' . $rate_class_key); |
|
776 | 776 | |
777 | - wp_send_json( $response ); |
|
777 | + wp_send_json($response); |
|
778 | 778 | } |
779 | 779 | |
780 | 780 | public static function delete_class() { |
781 | 781 | $response = array(); |
782 | 782 | $response['success'] = false; |
783 | 783 | |
784 | - if ( !current_user_can( 'manage_options' ) || !isset( $_POST['class'] ) ) { |
|
785 | - $response['error'] = __( 'Invalid access!', 'invoicing' ); |
|
786 | - wp_send_json( $response ); |
|
784 | + if (!current_user_can('manage_options') || !isset($_POST['class'])) { |
|
785 | + $response['error'] = __('Invalid access!', 'invoicing'); |
|
786 | + wp_send_json($response); |
|
787 | 787 | } |
788 | 788 | |
789 | - $vat_class = isset( $_POST['class'] ) && $_POST['class'] !== '' ? sanitize_text_field( $_POST['class'] ) : false; |
|
789 | + $vat_class = isset($_POST['class']) && $_POST['class'] !== '' ? sanitize_text_field($_POST['class']) : false; |
|
790 | 790 | $vat_classes = (array)self::get_rate_classes(); |
791 | 791 | |
792 | - if ( !isset( $vat_classes[$vat_class] ) ) { |
|
793 | - $response['error'] = __( 'Requested class does not exists', 'invoicing' ); |
|
794 | - wp_send_json( $response ); |
|
792 | + if (!isset($vat_classes[$vat_class])) { |
|
793 | + $response['error'] = __('Requested class does not exists', 'invoicing'); |
|
794 | + wp_send_json($response); |
|
795 | 795 | } |
796 | 796 | |
797 | - if ( $vat_class == '_new' || $vat_class == '_standard' ) { |
|
798 | - $response['error'] = __( 'You can not delete standard rates class', 'invoicing' ); |
|
799 | - wp_send_json( $response ); |
|
797 | + if ($vat_class == '_new' || $vat_class == '_standard') { |
|
798 | + $response['error'] = __('You can not delete standard rates class', 'invoicing'); |
|
799 | + wp_send_json($response); |
|
800 | 800 | } |
801 | 801 | |
802 | - $vat_classes = (array)self::get_rate_classes( true ); |
|
803 | - unset( $vat_classes[$vat_class] ); |
|
802 | + $vat_classes = (array)self::get_rate_classes(true); |
|
803 | + unset($vat_classes[$vat_class]); |
|
804 | 804 | |
805 | - update_option( '_wpinv_vat_rate_classes', $vat_classes ); |
|
805 | + update_option('_wpinv_vat_rate_classes', $vat_classes); |
|
806 | 806 | |
807 | 807 | $response['success'] = true; |
808 | - $response['redirect'] = admin_url( 'admin.php?page=wpinv-settings&tab=taxes§ion=vat_rates&wpi_sub=_new' ); |
|
808 | + $response['redirect'] = admin_url('admin.php?page=wpinv-settings&tab=taxes§ion=vat_rates&wpi_sub=_new'); |
|
809 | 809 | |
810 | - wp_send_json( $response ); |
|
810 | + wp_send_json($response); |
|
811 | 811 | } |
812 | 812 | |
813 | 813 | public static function update_eu_rates() { |
@@ -816,72 +816,72 @@ discard block |
||
816 | 816 | $response['error'] = null; |
817 | 817 | $response['data'] = null; |
818 | 818 | |
819 | - if ( !current_user_can( 'manage_options' ) ) { |
|
820 | - $response['error'] = __( 'Invalid access!', 'invoicing' ); |
|
821 | - wp_send_json( $response ); |
|
819 | + if (!current_user_can('manage_options')) { |
|
820 | + $response['error'] = __('Invalid access!', 'invoicing'); |
|
821 | + wp_send_json($response); |
|
822 | 822 | } |
823 | 823 | |
824 | - $group = !empty( $_POST['group'] ) ? sanitize_text_field( $_POST['group'] ) : ''; |
|
825 | - $euvatrates = self::request_euvatrates( $group ); |
|
824 | + $group = !empty($_POST['group']) ? sanitize_text_field($_POST['group']) : ''; |
|
825 | + $euvatrates = self::request_euvatrates($group); |
|
826 | 826 | |
827 | - if ( !empty( $euvatrates ) ) { |
|
828 | - if ( !empty( $euvatrates['success'] ) && !empty( $euvatrates['rates'] ) ) { |
|
827 | + if (!empty($euvatrates)) { |
|
828 | + if (!empty($euvatrates['success']) && !empty($euvatrates['rates'])) { |
|
829 | 829 | $response['success'] = true; |
830 | 830 | $response['data']['rates'] = $euvatrates['rates']; |
831 | - } else if ( !empty( $euvatrates['error'] ) ) { |
|
831 | + } else if (!empty($euvatrates['error'])) { |
|
832 | 832 | $response['error'] = $euvatrates['error']; |
833 | 833 | } |
834 | 834 | } |
835 | 835 | |
836 | - wp_send_json( $response ); |
|
836 | + wp_send_json($response); |
|
837 | 837 | } |
838 | 838 | |
839 | 839 | public static function hide_vat_fields() { |
840 | - $hide = wpinv_get_option( 'vat_disable_fields' ); |
|
840 | + $hide = wpinv_get_option('vat_disable_fields'); |
|
841 | 841 | |
842 | - return apply_filters( 'wpinv_hide_vat_fields', $hide ); |
|
842 | + return apply_filters('wpinv_hide_vat_fields', $hide); |
|
843 | 843 | } |
844 | 844 | |
845 | 845 | public static function same_country_rule() { |
846 | - $same_country_rule = wpinv_get_option( 'vat_same_country_rule' ); |
|
846 | + $same_country_rule = wpinv_get_option('vat_same_country_rule'); |
|
847 | 847 | |
848 | - return apply_filters( 'wpinv_vat_same_country_rule', $same_country_rule ); |
|
848 | + return apply_filters('wpinv_vat_same_country_rule', $same_country_rule); |
|
849 | 849 | } |
850 | 850 | |
851 | 851 | public static function get_vat_name() { |
852 | - $vat_name = wpinv_get_option( 'vat_name' ); |
|
853 | - $vat_name = !empty( $vat_name ) ? $vat_name : 'VAT'; |
|
852 | + $vat_name = wpinv_get_option('vat_name'); |
|
853 | + $vat_name = !empty($vat_name) ? $vat_name : 'VAT'; |
|
854 | 854 | |
855 | - return apply_filters( 'wpinv_get_owner_vat_name', $vat_name ); |
|
855 | + return apply_filters('wpinv_get_owner_vat_name', $vat_name); |
|
856 | 856 | } |
857 | 857 | |
858 | 858 | public static function get_company_name() { |
859 | - $company_name = wpinv_get_option( 'vat_company_name' ); |
|
859 | + $company_name = wpinv_get_option('vat_company_name'); |
|
860 | 860 | |
861 | - return apply_filters( 'wpinv_get_owner_company_name', $company_name ); |
|
861 | + return apply_filters('wpinv_get_owner_company_name', $company_name); |
|
862 | 862 | } |
863 | 863 | |
864 | 864 | public static function get_vat_number() { |
865 | - $vat_number = wpinv_get_option( 'vat_number' ); |
|
865 | + $vat_number = wpinv_get_option('vat_number'); |
|
866 | 866 | |
867 | - return apply_filters( 'wpinv_get_owner_vat_number', $vat_number ); |
|
867 | + return apply_filters('wpinv_get_owner_vat_number', $vat_number); |
|
868 | 868 | } |
869 | 869 | |
870 | 870 | public static function is_vat_validated() { |
871 | - $validated = self::get_vat_number() && wpinv_get_option( 'vat_valid' ); |
|
871 | + $validated = self::get_vat_number() && wpinv_get_option('vat_valid'); |
|
872 | 872 | |
873 | - return apply_filters( 'wpinv_is_owner_vat_validated', $validated ); |
|
873 | + return apply_filters('wpinv_is_owner_vat_validated', $validated); |
|
874 | 874 | } |
875 | 875 | |
876 | - public static function sanitize_vat( $vat_number, $country_code = '' ) { |
|
877 | - $vat_number = str_replace( array(' ', '.', '-', '_', ',' ), '', strtoupper( trim( $vat_number ) ) ); |
|
876 | + public static function sanitize_vat($vat_number, $country_code = '') { |
|
877 | + $vat_number = str_replace(array(' ', '.', '-', '_', ','), '', strtoupper(trim($vat_number))); |
|
878 | 878 | |
879 | - if ( empty( $country_code ) ) { |
|
880 | - $country_code = substr( $vat_number, 0, 2 ); |
|
879 | + if (empty($country_code)) { |
|
880 | + $country_code = substr($vat_number, 0, 2); |
|
881 | 881 | } |
882 | 882 | |
883 | - if ( strpos( $vat_number , $country_code ) === 0 ) { |
|
884 | - $vat = str_replace( $country_code, '', $vat_number ); |
|
883 | + if (strpos($vat_number, $country_code) === 0) { |
|
884 | + $vat = str_replace($country_code, '', $vat_number); |
|
885 | 885 | } else { |
886 | 886 | $vat = $country_code . $vat_number; |
887 | 887 | } |
@@ -894,140 +894,140 @@ discard block |
||
894 | 894 | return $return; |
895 | 895 | } |
896 | 896 | |
897 | - public static function offline_check( $vat_number, $country_code = '', $formatted = false ) { |
|
898 | - $vat = self::sanitize_vat( $vat_number, $country_code ); |
|
897 | + public static function offline_check($vat_number, $country_code = '', $formatted = false) { |
|
898 | + $vat = self::sanitize_vat($vat_number, $country_code); |
|
899 | 899 | $vat_number = $vat['vat_number']; |
900 | 900 | $country_code = $vat['iso']; |
901 | 901 | $regex = array(); |
902 | 902 | |
903 | - switch ( $country_code ) { |
|
903 | + switch ($country_code) { |
|
904 | 904 | case 'AT': |
905 | - $regex[] = '/^(AT)U(\d{8})$/'; // Austria |
|
905 | + $regex[] = '/^(AT)U(\d{8})$/'; // Austria |
|
906 | 906 | break; |
907 | 907 | case 'BE': |
908 | - $regex[] = '/^(BE)(0?\d{9})$/'; // Belgium |
|
908 | + $regex[] = '/^(BE)(0?\d{9})$/'; // Belgium |
|
909 | 909 | break; |
910 | 910 | case 'BG': |
911 | - $regex[] = '/^(BG)(\d{9,10})$/'; // Bulgaria |
|
911 | + $regex[] = '/^(BG)(\d{9,10})$/'; // Bulgaria |
|
912 | 912 | break; |
913 | 913 | case 'CH': |
914 | 914 | case 'CHE': |
915 | - $regex[] = '/^(CHE)(\d{9})MWST$/'; // Switzerland (Not EU) |
|
915 | + $regex[] = '/^(CHE)(\d{9})MWST$/'; // Switzerland (Not EU) |
|
916 | 916 | break; |
917 | 917 | case 'CY': |
918 | - $regex[] = '/^(CY)([0-5|9]\d{7}[A-Z])$/'; // Cyprus |
|
918 | + $regex[] = '/^(CY)([0-5|9]\d{7}[A-Z])$/'; // Cyprus |
|
919 | 919 | break; |
920 | 920 | case 'CZ': |
921 | - $regex[] = '/^(CZ)(\d{8,13})$/'; // Czech Republic |
|
921 | + $regex[] = '/^(CZ)(\d{8,13})$/'; // Czech Republic |
|
922 | 922 | break; |
923 | 923 | case 'DE': |
924 | - $regex[] = '/^(DE)([1-9]\d{8})$/'; // Germany |
|
924 | + $regex[] = '/^(DE)([1-9]\d{8})$/'; // Germany |
|
925 | 925 | break; |
926 | 926 | case 'DK': |
927 | - $regex[] = '/^(DK)(\d{8})$/'; // Denmark |
|
927 | + $regex[] = '/^(DK)(\d{8})$/'; // Denmark |
|
928 | 928 | break; |
929 | 929 | case 'EE': |
930 | - $regex[] = '/^(EE)(10\d{7})$/'; // Estonia |
|
930 | + $regex[] = '/^(EE)(10\d{7})$/'; // Estonia |
|
931 | 931 | break; |
932 | 932 | case 'EL': |
933 | - $regex[] = '/^(EL)(\d{9})$/'; // Greece |
|
933 | + $regex[] = '/^(EL)(\d{9})$/'; // Greece |
|
934 | 934 | break; |
935 | 935 | case 'ES': |
936 | - $regex[] = '/^(ES)([A-Z]\d{8})$/'; // Spain (National juridical entities) |
|
937 | - $regex[] = '/^(ES)([A-H|N-S|W]\d{7}[A-J])$/'; // Spain (Other juridical entities) |
|
938 | - $regex[] = '/^(ES)([0-9|Y|Z]\d{7}[A-Z])$/'; // Spain (Personal entities type 1) |
|
939 | - $regex[] = '/^(ES)([K|L|M|X]\d{7}[A-Z])$/'; // Spain (Personal entities type 2) |
|
936 | + $regex[] = '/^(ES)([A-Z]\d{8})$/'; // Spain (National juridical entities) |
|
937 | + $regex[] = '/^(ES)([A-H|N-S|W]\d{7}[A-J])$/'; // Spain (Other juridical entities) |
|
938 | + $regex[] = '/^(ES)([0-9|Y|Z]\d{7}[A-Z])$/'; // Spain (Personal entities type 1) |
|
939 | + $regex[] = '/^(ES)([K|L|M|X]\d{7}[A-Z])$/'; // Spain (Personal entities type 2) |
|
940 | 940 | break; |
941 | 941 | case 'EU': |
942 | - $regex[] = '/^(EU)(\d{9})$/'; // EU-type |
|
942 | + $regex[] = '/^(EU)(\d{9})$/'; // EU-type |
|
943 | 943 | break; |
944 | 944 | case 'FI': |
945 | - $regex[] = '/^(FI)(\d{8})$/'; // Finland |
|
945 | + $regex[] = '/^(FI)(\d{8})$/'; // Finland |
|
946 | 946 | break; |
947 | 947 | case 'FR': |
948 | - $regex[] = '/^(FR)(\d{11})$/'; // France (1) |
|
949 | - $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)](\d{10})$/'; // France (2) |
|
950 | - $regex[] = '/^(FR)\d[(A-H)|(J-N)|(P-Z)](\d{9})$/'; // France (3) |
|
951 | - $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)]{2}(\d{9})$/'; // France (4) |
|
948 | + $regex[] = '/^(FR)(\d{11})$/'; // France (1) |
|
949 | + $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)](\d{10})$/'; // France (2) |
|
950 | + $regex[] = '/^(FR)\d[(A-H)|(J-N)|(P-Z)](\d{9})$/'; // France (3) |
|
951 | + $regex[] = '/^(FR)[(A-H)|(J-N)|(P-Z)]{2}(\d{9})$/'; // France (4) |
|
952 | 952 | break; |
953 | 953 | case 'GB': |
954 | - $regex[] = '/^(GB)?(\d{9})$/'; // UK (Standard) |
|
955 | - $regex[] = '/^(GB)?(\d{12})$/'; // UK (Branches) |
|
956 | - $regex[] = '/^(GB)?(GD\d{3})$/'; // UK (Government) |
|
957 | - $regex[] = '/^(GB)?(HA\d{3})$/'; // UK (Health authority) |
|
954 | + $regex[] = '/^(GB)?(\d{9})$/'; // UK (Standard) |
|
955 | + $regex[] = '/^(GB)?(\d{12})$/'; // UK (Branches) |
|
956 | + $regex[] = '/^(GB)?(GD\d{3})$/'; // UK (Government) |
|
957 | + $regex[] = '/^(GB)?(HA\d{3})$/'; // UK (Health authority) |
|
958 | 958 | break; |
959 | 959 | case 'GR': |
960 | - $regex[] = '/^(GR)(\d{8,9})$/'; // Greece |
|
960 | + $regex[] = '/^(GR)(\d{8,9})$/'; // Greece |
|
961 | 961 | break; |
962 | 962 | case 'HR': |
963 | - $regex[] = '/^(HR)(\d{11})$/'; // Croatia |
|
963 | + $regex[] = '/^(HR)(\d{11})$/'; // Croatia |
|
964 | 964 | break; |
965 | 965 | case 'HU': |
966 | - $regex[] = '/^(HU)(\d{8})$/'; // Hungary |
|
966 | + $regex[] = '/^(HU)(\d{8})$/'; // Hungary |
|
967 | 967 | break; |
968 | 968 | case 'IE': |
969 | - $regex[] = '/^(IE)(\d{7}[A-W])$/'; // Ireland (1) |
|
970 | - $regex[] = '/^(IE)([7-9][A-Z\*\+)]\d{5}[A-W])$/'; // Ireland (2) |
|
971 | - $regex[] = '/^(IE)(\d{7}[A-Z][AH])$/'; // Ireland (3) (new format from 1 Jan 2013) |
|
969 | + $regex[] = '/^(IE)(\d{7}[A-W])$/'; // Ireland (1) |
|
970 | + $regex[] = '/^(IE)([7-9][A-Z\*\+)]\d{5}[A-W])$/'; // Ireland (2) |
|
971 | + $regex[] = '/^(IE)(\d{7}[A-Z][AH])$/'; // Ireland (3) (new format from 1 Jan 2013) |
|
972 | 972 | break; |
973 | 973 | case 'IT': |
974 | - $regex[] = '/^(IT)(\d{11})$/'; // Italy |
|
974 | + $regex[] = '/^(IT)(\d{11})$/'; // Italy |
|
975 | 975 | break; |
976 | 976 | case 'LV': |
977 | - $regex[] = '/^(LV)(\d{11})$/'; // Latvia |
|
977 | + $regex[] = '/^(LV)(\d{11})$/'; // Latvia |
|
978 | 978 | break; |
979 | 979 | case 'LT': |
980 | - $regex[] = '/^(LT)(\d{9}|\d{12})$/'; // Lithuania |
|
980 | + $regex[] = '/^(LT)(\d{9}|\d{12})$/'; // Lithuania |
|
981 | 981 | break; |
982 | 982 | case 'LU': |
983 | - $regex[] = '/^(LU)(\d{8})$/'; // Luxembourg |
|
983 | + $regex[] = '/^(LU)(\d{8})$/'; // Luxembourg |
|
984 | 984 | break; |
985 | 985 | case 'MT': |
986 | - $regex[] = '/^(MT)([1-9]\d{7})$/'; // Malta |
|
986 | + $regex[] = '/^(MT)([1-9]\d{7})$/'; // Malta |
|
987 | 987 | break; |
988 | 988 | case 'NL': |
989 | - $regex[] = '/^(NL)(\d{9})B\d{2}$/'; // Netherlands |
|
989 | + $regex[] = '/^(NL)(\d{9})B\d{2}$/'; // Netherlands |
|
990 | 990 | break; |
991 | 991 | case 'NO': |
992 | - $regex[] = '/^(NO)(\d{9})$/'; // Norway (Not EU) |
|
992 | + $regex[] = '/^(NO)(\d{9})$/'; // Norway (Not EU) |
|
993 | 993 | break; |
994 | 994 | case 'PL': |
995 | - $regex[] = '/^(PL)(\d{10})$/'; // Poland |
|
995 | + $regex[] = '/^(PL)(\d{10})$/'; // Poland |
|
996 | 996 | break; |
997 | 997 | case 'PT': |
998 | - $regex[] = '/^(PT)(\d{9})$/'; // Portugal |
|
998 | + $regex[] = '/^(PT)(\d{9})$/'; // Portugal |
|
999 | 999 | break; |
1000 | 1000 | case 'RO': |
1001 | - $regex[] = '/^(RO)([1-9]\d{1,9})$/'; // Romania |
|
1001 | + $regex[] = '/^(RO)([1-9]\d{1,9})$/'; // Romania |
|
1002 | 1002 | break; |
1003 | 1003 | case 'RS': |
1004 | - $regex[] = '/^(RS)(\d{9})$/'; // Serbia (Not EU) |
|
1004 | + $regex[] = '/^(RS)(\d{9})$/'; // Serbia (Not EU) |
|
1005 | 1005 | break; |
1006 | 1006 | case 'SI': |
1007 | - $regex[] = '/^(SI)([1-9]\d{7})$/'; // Slovenia |
|
1007 | + $regex[] = '/^(SI)([1-9]\d{7})$/'; // Slovenia |
|
1008 | 1008 | break; |
1009 | 1009 | case 'SK': |
1010 | - $regex[] = '/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7})$/'; // Slovakia Republic |
|
1010 | + $regex[] = '/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7})$/'; // Slovakia Republic |
|
1011 | 1011 | break; |
1012 | 1012 | case 'SE': |
1013 | - $regex[] = '/^(SE)(\d{10}01)$/'; // Sweden |
|
1013 | + $regex[] = '/^(SE)(\d{10}01)$/'; // Sweden |
|
1014 | 1014 | break; |
1015 | 1015 | default: |
1016 | 1016 | $regex = array(); |
1017 | 1017 | break; |
1018 | 1018 | } |
1019 | 1019 | |
1020 | - if ( empty( $regex ) ) { |
|
1020 | + if (empty($regex)) { |
|
1021 | 1021 | return false; |
1022 | 1022 | } |
1023 | 1023 | |
1024 | - foreach ( $regex as $pattern ) { |
|
1024 | + foreach ($regex as $pattern) { |
|
1025 | 1025 | $matches = null; |
1026 | - preg_match_all( $pattern, $vat_number, $matches ); |
|
1026 | + preg_match_all($pattern, $vat_number, $matches); |
|
1027 | 1027 | |
1028 | - if ( !empty( $matches[1][0] ) && !empty( $matches[2][0] ) ) { |
|
1029 | - if ( $formatted ) { |
|
1030 | - return array( 'code' => $matches[1][0], 'number' => $matches[2][0] ); |
|
1028 | + if (!empty($matches[1][0]) && !empty($matches[2][0])) { |
|
1029 | + if ($formatted) { |
|
1030 | + return array('code' => $matches[1][0], 'number' => $matches[2][0]); |
|
1031 | 1031 | } else { |
1032 | 1032 | return true; |
1033 | 1033 | } |
@@ -1037,75 +1037,75 @@ discard block |
||
1037 | 1037 | return false; |
1038 | 1038 | } |
1039 | 1039 | |
1040 | - public static function vies_check( $vat_number, $country_code = '', $result = false ) { |
|
1041 | - $vat = self::sanitize_vat( $vat_number, $country_code ); |
|
1040 | + public static function vies_check($vat_number, $country_code = '', $result = false) { |
|
1041 | + $vat = self::sanitize_vat($vat_number, $country_code); |
|
1042 | 1042 | $vat_number = $vat['vat']; |
1043 | 1043 | $iso = $vat['iso']; |
1044 | 1044 | |
1045 | - $url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=' . urlencode( $iso ) . '&iso=' . urlencode( $iso ) . '&vat=' . urlencode( $vat_number ); |
|
1045 | + $url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=' . urlencode($iso) . '&iso=' . urlencode($iso) . '&vat=' . urlencode($vat_number); |
|
1046 | 1046 | |
1047 | - if ( ini_get( 'allow_url_fopen' ) ) { |
|
1048 | - $response = file_get_contents( $url ); |
|
1049 | - } else if ( function_exists( 'curl_init' ) ) { |
|
1047 | + if (ini_get('allow_url_fopen')) { |
|
1048 | + $response = file_get_contents($url); |
|
1049 | + } else if (function_exists('curl_init')) { |
|
1050 | 1050 | $ch = curl_init(); |
1051 | 1051 | |
1052 | - curl_setopt( $ch, CURLOPT_URL, $url ); |
|
1053 | - curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 30 ); |
|
1054 | - curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); |
|
1055 | - curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 ); |
|
1056 | - curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 ); |
|
1052 | + curl_setopt($ch, CURLOPT_URL, $url); |
|
1053 | + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); |
|
1054 | + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); |
|
1055 | + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); |
|
1056 | + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); |
|
1057 | 1057 | |
1058 | - $response = curl_exec( $ch ); |
|
1058 | + $response = curl_exec($ch); |
|
1059 | 1059 | |
1060 | - if ( curl_errno( $ch ) ) { |
|
1061 | - wpinv_error_log( curl_error( $ch ), 'VIES CHECK ERROR' ); |
|
1060 | + if (curl_errno($ch)) { |
|
1061 | + wpinv_error_log(curl_error($ch), 'VIES CHECK ERROR'); |
|
1062 | 1062 | $response = ''; |
1063 | 1063 | } |
1064 | 1064 | |
1065 | - curl_close( $ch ); |
|
1065 | + curl_close($ch); |
|
1066 | 1066 | } else { |
1067 | - wpinv_error_log( 'To use VIES CHECK you must have allow_url_fopen is ON or cURL installed & active on your server.', 'VIES CHECK ERROR' ); |
|
1067 | + wpinv_error_log('To use VIES CHECK you must have allow_url_fopen is ON or cURL installed & active on your server.', 'VIES CHECK ERROR'); |
|
1068 | 1068 | } |
1069 | 1069 | |
1070 | - if ( empty( $response ) ) { |
|
1070 | + if (empty($response)) { |
|
1071 | 1071 | return $result; |
1072 | 1072 | } |
1073 | 1073 | |
1074 | - if ( preg_match( '/invalid VAT number/i', $response ) ) { |
|
1074 | + if (preg_match('/invalid VAT number/i', $response)) { |
|
1075 | 1075 | return false; |
1076 | - } else if ( preg_match( '/valid VAT number/i', $response, $matches ) ) { |
|
1077 | - $content = explode( "valid VAT number", htmlentities( $response ) ); |
|
1076 | + } else if (preg_match('/valid VAT number/i', $response, $matches)) { |
|
1077 | + $content = explode("valid VAT number", htmlentities($response)); |
|
1078 | 1078 | |
1079 | - if ( !empty( $content[1] ) ) { |
|
1080 | - preg_match_all( '/<tr>(.*?)<td.*?>(.*?)<\/td>(.*?)<\/tr>/si', html_entity_decode( $content[1] ), $matches ); |
|
1079 | + if (!empty($content[1])) { |
|
1080 | + preg_match_all('/<tr>(.*?)<td.*?>(.*?)<\/td>(.*?)<\/tr>/si', html_entity_decode($content[1]), $matches); |
|
1081 | 1081 | |
1082 | - if ( !empty( $matches[2] ) && $matches[3] ) { |
|
1082 | + if (!empty($matches[2]) && $matches[3]) { |
|
1083 | 1083 | $return = array(); |
1084 | 1084 | |
1085 | - foreach ( $matches[2] as $key => $label ) { |
|
1086 | - $label = trim( $label ); |
|
1085 | + foreach ($matches[2] as $key => $label) { |
|
1086 | + $label = trim($label); |
|
1087 | 1087 | |
1088 | - switch ( strtolower( $label ) ) { |
|
1088 | + switch (strtolower($label)) { |
|
1089 | 1089 | case 'member state': |
1090 | - $return['state'] = trim( strip_tags( $matches[3][$key] ) ); |
|
1090 | + $return['state'] = trim(strip_tags($matches[3][$key])); |
|
1091 | 1091 | break; |
1092 | 1092 | case 'vat number': |
1093 | - $return['number'] = trim( strip_tags( $matches[3][$key] ) ); |
|
1093 | + $return['number'] = trim(strip_tags($matches[3][$key])); |
|
1094 | 1094 | break; |
1095 | 1095 | case 'name': |
1096 | - $return['company'] = trim( strip_tags( $matches[3][$key] ) ); |
|
1096 | + $return['company'] = trim(strip_tags($matches[3][$key])); |
|
1097 | 1097 | break; |
1098 | 1098 | case 'address': |
1099 | - $address = str_replace( array( "<br><br>", "<br /><br />", "<br/><br/>" ), "<br>", html_entity_decode( trim( $matches[3][$key] ) ) ); |
|
1100 | - $return['address'] = trim( strip_tags( $address, '<br>' ) ); |
|
1099 | + $address = str_replace(array("<br><br>", "<br /><br />", "<br/><br/>"), "<br>", html_entity_decode(trim($matches[3][$key]))); |
|
1100 | + $return['address'] = trim(strip_tags($address, '<br>')); |
|
1101 | 1101 | break; |
1102 | 1102 | case 'consultation number': |
1103 | - $return['consultation'] = trim( strip_tags( $matches[3][$key] ) ); |
|
1103 | + $return['consultation'] = trim(strip_tags($matches[3][$key])); |
|
1104 | 1104 | break; |
1105 | 1105 | } |
1106 | 1106 | } |
1107 | 1107 | |
1108 | - if ( !empty( $return ) ) { |
|
1108 | + if (!empty($return)) { |
|
1109 | 1109 | return $return; |
1110 | 1110 | } |
1111 | 1111 | } |
@@ -1117,55 +1117,55 @@ discard block |
||
1117 | 1117 | } |
1118 | 1118 | } |
1119 | 1119 | |
1120 | - public static function check_vat( $vat_number, $country_code = '' ) { |
|
1120 | + public static function check_vat($vat_number, $country_code = '') { |
|
1121 | 1121 | $vat_name = self::get_vat_name(); |
1122 | 1122 | |
1123 | 1123 | $return = array(); |
1124 | 1124 | $return['valid'] = false; |
1125 | - $return['message'] = wp_sprintf( __( '%s number not validated', 'invoicing' ), $vat_name ); |
|
1125 | + $return['message'] = wp_sprintf(__('%s number not validated', 'invoicing'), $vat_name); |
|
1126 | 1126 | |
1127 | - if ( !wpinv_get_option( 'vat_offline_check' ) && !self::offline_check( $vat_number, $country_code ) ) { |
|
1127 | + if (!wpinv_get_option('vat_offline_check') && !self::offline_check($vat_number, $country_code)) { |
|
1128 | 1128 | return $return; |
1129 | 1129 | } |
1130 | 1130 | |
1131 | - $response = self::vies_check( $vat_number, $country_code ); |
|
1131 | + $response = self::vies_check($vat_number, $country_code); |
|
1132 | 1132 | |
1133 | - if ( $response ) { |
|
1134 | - $return['valid'] = true; |
|
1133 | + if ($response) { |
|
1134 | + $return['valid'] = true; |
|
1135 | 1135 | |
1136 | - if ( is_array( $response ) ) { |
|
1137 | - $return['company'] = isset( $response['company'] ) ? $response['company'] : ''; |
|
1138 | - $return['address'] = isset( $response['address'] ) ? $response['address'] : ''; |
|
1136 | + if (is_array($response)) { |
|
1137 | + $return['company'] = isset($response['company']) ? $response['company'] : ''; |
|
1138 | + $return['address'] = isset($response['address']) ? $response['address'] : ''; |
|
1139 | 1139 | $return['message'] = $return['company'] . '<br/>' . $return['address']; |
1140 | 1140 | } |
1141 | 1141 | } else { |
1142 | 1142 | $return['valid'] = false; |
1143 | - $return['message'] = wp_sprintf( __( 'Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing' ), $vat_name ); |
|
1143 | + $return['message'] = wp_sprintf(__('Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing'), $vat_name); |
|
1144 | 1144 | } |
1145 | 1145 | |
1146 | 1146 | return $return; |
1147 | 1147 | } |
1148 | 1148 | |
1149 | - public static function request_euvatrates( $group ) { |
|
1149 | + public static function request_euvatrates($group) { |
|
1150 | 1150 | $response = array(); |
1151 | 1151 | $response['success'] = false; |
1152 | 1152 | $response['error'] = null; |
1153 | 1153 | $response['eurates'] = null; |
1154 | 1154 | |
1155 | 1155 | $euvatrates_url = 'https://euvatrates.com/rates.json'; |
1156 | - $euvatrates_url = apply_filters( 'wpinv_euvatrates_url', $euvatrates_url ); |
|
1157 | - $api_response = wp_remote_get( $euvatrates_url ); |
|
1156 | + $euvatrates_url = apply_filters('wpinv_euvatrates_url', $euvatrates_url); |
|
1157 | + $api_response = wp_remote_get($euvatrates_url); |
|
1158 | 1158 | |
1159 | 1159 | try { |
1160 | - if ( is_wp_error( $api_response ) ) { |
|
1161 | - $response['error'] = __( $api_response->get_error_message(), 'invoicing' ); |
|
1160 | + if (is_wp_error($api_response)) { |
|
1161 | + $response['error'] = __($api_response->get_error_message(), 'invoicing'); |
|
1162 | 1162 | } else { |
1163 | - $body = json_decode( $api_response['body'] ); |
|
1163 | + $body = json_decode($api_response['body']); |
|
1164 | 1164 | |
1165 | - if ( isset( $body->rates ) ) { |
|
1165 | + if (isset($body->rates)) { |
|
1166 | 1166 | $rates = array(); |
1167 | 1167 | |
1168 | - foreach ( $body->rates as $country_code => $rate ) { |
|
1168 | + foreach ($body->rates as $country_code => $rate) { |
|
1169 | 1169 | $vat_rate = array(); |
1170 | 1170 | $vat_rate['country'] = $rate->country; |
1171 | 1171 | $vat_rate['standard'] = (float)$rate->standard_rate; |
@@ -1173,7 +1173,7 @@ discard block |
||
1173 | 1173 | $vat_rate['superreduced'] = (float)$rate->super_reduced_rate; |
1174 | 1174 | $vat_rate['parking'] = (float)$rate->parking_rate; |
1175 | 1175 | |
1176 | - if ( $group !== '' && in_array( $group, array( 'standard', 'reduced', 'superreduced', 'parking' ) ) ) { |
|
1176 | + if ($group !== '' && in_array($group, array('standard', 'reduced', 'superreduced', 'parking'))) { |
|
1177 | 1177 | $vat_rate_group = array(); |
1178 | 1178 | $vat_rate_group['country'] = $rate->country; |
1179 | 1179 | $vat_rate_group[$group] = $vat_rate[$group]; |
@@ -1185,79 +1185,79 @@ discard block |
||
1185 | 1185 | } |
1186 | 1186 | |
1187 | 1187 | $response['success'] = true; |
1188 | - $response['rates'] = apply_filters( 'wpinv_process_euvatrates', $rates, $api_response, $group ); |
|
1188 | + $response['rates'] = apply_filters('wpinv_process_euvatrates', $rates, $api_response, $group); |
|
1189 | 1189 | } else { |
1190 | - $response['error'] = __( 'No EU rates found!', 'invoicing' ); |
|
1190 | + $response['error'] = __('No EU rates found!', 'invoicing'); |
|
1191 | 1191 | } |
1192 | 1192 | } |
1193 | - } catch ( Exception $e ) { |
|
1194 | - $response['error'] = __( $e->getMessage(), 'invoicing' ); |
|
1193 | + } catch (Exception $e) { |
|
1194 | + $response['error'] = __($e->getMessage(), 'invoicing'); |
|
1195 | 1195 | } |
1196 | 1196 | |
1197 | - return apply_filters( 'wpinv_response_euvatrates', $response, $group ); |
|
1197 | + return apply_filters('wpinv_response_euvatrates', $response, $group); |
|
1198 | 1198 | } |
1199 | 1199 | |
1200 | - public static function requires_vat( $requires_vat = false, $user_id = 0, $is_digital = null ) { |
|
1200 | + public static function requires_vat($requires_vat = false, $user_id = 0, $is_digital = null) { |
|
1201 | 1201 | global $wpi_item_id, $wpi_country; |
1202 | 1202 | |
1203 | - if ( !empty( $_POST['wpinv_country'] ) ) { |
|
1204 | - $country_code = trim( $_POST['wpinv_country'] ); |
|
1205 | - } else if ( !empty( $_POST['country'] ) ) { |
|
1206 | - $country_code = trim( $_POST['country'] ); |
|
1207 | - } else if ( !empty( $wpi_country ) ) { |
|
1203 | + if (!empty($_POST['wpinv_country'])) { |
|
1204 | + $country_code = trim($_POST['wpinv_country']); |
|
1205 | + } else if (!empty($_POST['country'])) { |
|
1206 | + $country_code = trim($_POST['country']); |
|
1207 | + } else if (!empty($wpi_country)) { |
|
1208 | 1208 | $country_code = $wpi_country; |
1209 | 1209 | } else { |
1210 | - $country_code = self::get_user_country( '', $user_id ); |
|
1210 | + $country_code = self::get_user_country('', $user_id); |
|
1211 | 1211 | } |
1212 | 1212 | |
1213 | - if ( $is_digital === null && $wpi_item_id ) { |
|
1214 | - $is_digital = $wpi_item_id ? self::item_has_digital_rule( $wpi_item_id ) : self::allow_vat_rules(); |
|
1213 | + if ($is_digital === null && $wpi_item_id) { |
|
1214 | + $is_digital = $wpi_item_id ? self::item_has_digital_rule($wpi_item_id) : self::allow_vat_rules(); |
|
1215 | 1215 | } |
1216 | 1216 | |
1217 | - if ( !empty( $country_code ) ) { |
|
1218 | - $requires_vat = ( self::is_eu_state( $country_code ) && ( self::is_eu_state( self::$default_country ) || $is_digital ) ) || ( self::is_gst_country( $country_code ) && self::is_gst_country( self::$default_country ) ); |
|
1217 | + if (!empty($country_code)) { |
|
1218 | + $requires_vat = (self::is_eu_state($country_code) && (self::is_eu_state(self::$default_country) || $is_digital)) || (self::is_gst_country($country_code) && self::is_gst_country(self::$default_country)); |
|
1219 | 1219 | } |
1220 | 1220 | |
1221 | - return apply_filters( 'wpinv_requires_vat', $requires_vat, $user_id ); |
|
1221 | + return apply_filters('wpinv_requires_vat', $requires_vat, $user_id); |
|
1222 | 1222 | } |
1223 | 1223 | |
1224 | - public static function tax_label( $label = '' ) { |
|
1224 | + public static function tax_label($label = '') { |
|
1225 | 1225 | global $wpi_requires_vat; |
1226 | 1226 | |
1227 | - if ( !( $wpi_requires_vat !== 0 && $wpi_requires_vat ) ) { |
|
1228 | - $wpi_requires_vat = self::requires_vat( 0, false ); |
|
1227 | + if (!($wpi_requires_vat !== 0 && $wpi_requires_vat)) { |
|
1228 | + $wpi_requires_vat = self::requires_vat(0, false); |
|
1229 | 1229 | } |
1230 | 1230 | |
1231 | - return $wpi_requires_vat ? __( self::get_vat_name(), 'invoicing' ) : ( $label ? $label : __( 'Tax', 'invoicing' ) ); |
|
1231 | + return $wpi_requires_vat ? __(self::get_vat_name(), 'invoicing') : ($label ? $label : __('Tax', 'invoicing')); |
|
1232 | 1232 | } |
1233 | 1233 | |
1234 | 1234 | public static function standard_rates_label() { |
1235 | - return __( 'Standard Rates', 'invoicing' ); |
|
1235 | + return __('Standard Rates', 'invoicing'); |
|
1236 | 1236 | } |
1237 | 1237 | |
1238 | - public static function get_rate_classes( $with_desc = false ) { |
|
1239 | - $rate_classes_option = get_option( '_wpinv_vat_rate_classes', true ); |
|
1240 | - $classes = maybe_unserialize( $rate_classes_option ); |
|
1238 | + public static function get_rate_classes($with_desc = false) { |
|
1239 | + $rate_classes_option = get_option('_wpinv_vat_rate_classes', true); |
|
1240 | + $classes = maybe_unserialize($rate_classes_option); |
|
1241 | 1241 | |
1242 | - if ( empty( $classes ) || !is_array( $classes ) ) { |
|
1242 | + if (empty($classes) || !is_array($classes)) { |
|
1243 | 1243 | $classes = array(); |
1244 | 1244 | } |
1245 | 1245 | |
1246 | 1246 | $rate_classes = array(); |
1247 | - if ( !array_key_exists( '_standard', $classes ) ) { |
|
1248 | - if ( $with_desc ) { |
|
1249 | - $rate_classes['_standard'] = array( 'name' => self::standard_rates_label(), 'desc' => __( 'EU member states standard VAT rates', 'invoicing' ) ); |
|
1247 | + if (!array_key_exists('_standard', $classes)) { |
|
1248 | + if ($with_desc) { |
|
1249 | + $rate_classes['_standard'] = array('name' => self::standard_rates_label(), 'desc' => __('EU member states standard VAT rates', 'invoicing')); |
|
1250 | 1250 | } else { |
1251 | 1251 | $rate_classes['_standard'] = self::standard_rates_label(); |
1252 | 1252 | } |
1253 | 1253 | } |
1254 | 1254 | |
1255 | - foreach ( $classes as $key => $class ) { |
|
1256 | - $name = !empty( $class['name'] ) ? __( $class['name'], 'invoicing' ) : $key; |
|
1257 | - $desc = !empty( $class['desc'] ) ? __( $class['desc'], 'invoicing' ) : ''; |
|
1255 | + foreach ($classes as $key => $class) { |
|
1256 | + $name = !empty($class['name']) ? __($class['name'], 'invoicing') : $key; |
|
1257 | + $desc = !empty($class['desc']) ? __($class['desc'], 'invoicing') : ''; |
|
1258 | 1258 | |
1259 | - if ( $with_desc ) { |
|
1260 | - $rate_classes[$key] = array( 'name' => $name, 'desc' => $desc ); |
|
1259 | + if ($with_desc) { |
|
1260 | + $rate_classes[$key] = array('name' => $name, 'desc' => $desc); |
|
1261 | 1261 | } else { |
1262 | 1262 | $rate_classes[$key] = $name; |
1263 | 1263 | } |
@@ -1268,15 +1268,15 @@ discard block |
||
1268 | 1268 | |
1269 | 1269 | public static function get_all_classes() { |
1270 | 1270 | $classes = self::get_rate_classes(); |
1271 | - $classes['_exempt'] = __( 'Exempt (0%)', 'invoicing' ); |
|
1271 | + $classes['_exempt'] = __('Exempt (0%)', 'invoicing'); |
|
1272 | 1272 | |
1273 | - return apply_filters( 'wpinv_vat_get_all_classes', $classes ); |
|
1273 | + return apply_filters('wpinv_vat_get_all_classes', $classes); |
|
1274 | 1274 | } |
1275 | 1275 | |
1276 | - public static function get_class_desc( $rate_class ) { |
|
1277 | - $rate_classes = self::get_rate_classes( true ); |
|
1276 | + public static function get_class_desc($rate_class) { |
|
1277 | + $rate_classes = self::get_rate_classes(true); |
|
1278 | 1278 | |
1279 | - if ( !empty( $rate_classes ) && isset( $rate_classes[$rate_class] ) && isset( $rate_classes[$rate_class]['desc'] ) ) { |
|
1279 | + if (!empty($rate_classes) && isset($rate_classes[$rate_class]) && isset($rate_classes[$rate_class]['desc'])) { |
|
1280 | 1280 | return $rate_classes[$rate_class]['desc']; |
1281 | 1281 | } |
1282 | 1282 | |
@@ -1292,106 +1292,106 @@ discard block |
||
1292 | 1292 | 'increased' => 'Increased' |
1293 | 1293 | ); |
1294 | 1294 | |
1295 | - return apply_filters( 'wpinv_get_vat_groups', $vat_groups ); |
|
1295 | + return apply_filters('wpinv_get_vat_groups', $vat_groups); |
|
1296 | 1296 | } |
1297 | 1297 | |
1298 | 1298 | public static function get_rules() { |
1299 | 1299 | $vat_rules = array( |
1300 | - 'digital' => __( 'Digital Product', 'invoicing' ), |
|
1301 | - 'physical' => __( 'Physical Product', 'invoicing' ) |
|
1300 | + 'digital' => __('Digital Product', 'invoicing'), |
|
1301 | + 'physical' => __('Physical Product', 'invoicing') |
|
1302 | 1302 | ); |
1303 | - return apply_filters( 'wpinv_get_vat_rules', $vat_rules ); |
|
1303 | + return apply_filters('wpinv_get_vat_rules', $vat_rules); |
|
1304 | 1304 | } |
1305 | 1305 | |
1306 | - public static function get_vat_rates( $class ) { |
|
1307 | - if ( $class === '_standard' ) { |
|
1306 | + public static function get_vat_rates($class) { |
|
1307 | + if ($class === '_standard') { |
|
1308 | 1308 | return wpinv_get_tax_rates(); |
1309 | 1309 | } |
1310 | 1310 | |
1311 | 1311 | $rates = self::get_non_standard_rates(); |
1312 | 1312 | |
1313 | - return array_key_exists( $class, $rates ) ? $rates[$class] : array(); |
|
1313 | + return array_key_exists($class, $rates) ? $rates[$class] : array(); |
|
1314 | 1314 | } |
1315 | 1315 | |
1316 | 1316 | public static function get_non_standard_rates() { |
1317 | - $option = get_option( 'wpinv_vat_rates', array()); |
|
1318 | - return is_array( $option ) ? $option : array(); |
|
1317 | + $option = get_option('wpinv_vat_rates', array()); |
|
1318 | + return is_array($option) ? $option : array(); |
|
1319 | 1319 | } |
1320 | 1320 | |
1321 | 1321 | public static function allow_vat_rules() { |
1322 | - return ( wpinv_use_taxes() && wpinv_get_option( 'apply_vat_rules' ) ? true : false ); |
|
1322 | + return (wpinv_use_taxes() && wpinv_get_option('apply_vat_rules') ? true : false); |
|
1323 | 1323 | } |
1324 | 1324 | |
1325 | 1325 | public static function allow_vat_classes() { |
1326 | 1326 | return false; // TODO |
1327 | - return ( wpinv_get_option( 'vat_allow_classes' ) ? true : false ); |
|
1327 | + return (wpinv_get_option('vat_allow_classes') ? true : false); |
|
1328 | 1328 | } |
1329 | 1329 | |
1330 | - public static function get_item_class( $postID ) { |
|
1331 | - $class = get_post_meta( $postID, '_wpinv_vat_class', true ); |
|
1330 | + public static function get_item_class($postID) { |
|
1331 | + $class = get_post_meta($postID, '_wpinv_vat_class', true); |
|
1332 | 1332 | |
1333 | - if ( empty( $class ) ) { |
|
1333 | + if (empty($class)) { |
|
1334 | 1334 | $class = '_standard'; |
1335 | 1335 | } |
1336 | 1336 | |
1337 | - return apply_filters( 'wpinv_get_item_vat_class', $class, $postID ); |
|
1337 | + return apply_filters('wpinv_get_item_vat_class', $class, $postID); |
|
1338 | 1338 | } |
1339 | 1339 | |
1340 | - public static function item_class_label( $postID ) { |
|
1340 | + public static function item_class_label($postID) { |
|
1341 | 1341 | $vat_classes = self::get_all_classes(); |
1342 | 1342 | |
1343 | - $class = self::get_item_class( $postID ); |
|
1344 | - $class = isset( $vat_classes[$class] ) ? $vat_classes[$class] : __( $class, 'invoicing' ); |
|
1343 | + $class = self::get_item_class($postID); |
|
1344 | + $class = isset($vat_classes[$class]) ? $vat_classes[$class] : __($class, 'invoicing'); |
|
1345 | 1345 | |
1346 | - return apply_filters( 'wpinv_item_class_label', $class, $postID ); |
|
1346 | + return apply_filters('wpinv_item_class_label', $class, $postID); |
|
1347 | 1347 | } |
1348 | 1348 | |
1349 | - public static function get_item_rule( $postID ) { |
|
1350 | - $rule_type = get_post_meta( $postID, '_wpinv_vat_rule', true ); |
|
1349 | + public static function get_item_rule($postID) { |
|
1350 | + $rule_type = get_post_meta($postID, '_wpinv_vat_rule', true); |
|
1351 | 1351 | |
1352 | - if ( empty( $rule_type ) ) { |
|
1352 | + if (empty($rule_type)) { |
|
1353 | 1353 | $rule_type = self::allow_vat_rules() ? 'digital' : 'physical'; |
1354 | 1354 | } |
1355 | 1355 | |
1356 | - return apply_filters( 'wpinv_item_get_vat_rule', $rule_type, $postID ); |
|
1356 | + return apply_filters('wpinv_item_get_vat_rule', $rule_type, $postID); |
|
1357 | 1357 | } |
1358 | 1358 | |
1359 | - public static function item_rule_label( $postID ) { |
|
1359 | + public static function item_rule_label($postID) { |
|
1360 | 1360 | $vat_rules = self::get_rules(); |
1361 | - $vat_rule = self::get_item_rule( $postID ); |
|
1362 | - $vat_rule = isset( $vat_rules[$vat_rule] ) ? $vat_rules[$vat_rule] : $vat_rule; |
|
1361 | + $vat_rule = self::get_item_rule($postID); |
|
1362 | + $vat_rule = isset($vat_rules[$vat_rule]) ? $vat_rules[$vat_rule] : $vat_rule; |
|
1363 | 1363 | |
1364 | - return apply_filters( 'wpinv_item_rule_label', $vat_rule, $postID ); |
|
1364 | + return apply_filters('wpinv_item_rule_label', $vat_rule, $postID); |
|
1365 | 1365 | } |
1366 | 1366 | |
1367 | - public static function item_has_digital_rule( $item_id = 0 ) { |
|
1368 | - return self::get_item_rule( $item_id ) == 'digital' ? true : false; |
|
1367 | + public static function item_has_digital_rule($item_id = 0) { |
|
1368 | + return self::get_item_rule($item_id) == 'digital' ? true : false; |
|
1369 | 1369 | } |
1370 | 1370 | |
1371 | - public static function invoice_has_digital_rule( $invoice = 0 ) { |
|
1372 | - if ( !self::allow_vat_rules() ) { |
|
1371 | + public static function invoice_has_digital_rule($invoice = 0) { |
|
1372 | + if (!self::allow_vat_rules()) { |
|
1373 | 1373 | return false; |
1374 | 1374 | } |
1375 | 1375 | |
1376 | - if ( empty( $invoice ) ) { |
|
1376 | + if (empty($invoice)) { |
|
1377 | 1377 | return true; |
1378 | 1378 | } |
1379 | 1379 | |
1380 | - if ( is_int( $invoice ) ) { |
|
1381 | - $invoice = new WPInv_Invoice( $invoice ); |
|
1380 | + if (is_int($invoice)) { |
|
1381 | + $invoice = new WPInv_Invoice($invoice); |
|
1382 | 1382 | } |
1383 | 1383 | |
1384 | - if ( !( is_object( $invoice ) && is_a( $invoice, 'WPInv_Invoice' ) ) ) { |
|
1384 | + if (!(is_object($invoice) && is_a($invoice, 'WPInv_Invoice'))) { |
|
1385 | 1385 | return true; |
1386 | 1386 | } |
1387 | 1387 | |
1388 | - $cart_items = $invoice->get_cart_details(); |
|
1388 | + $cart_items = $invoice->get_cart_details(); |
|
1389 | 1389 | |
1390 | - if ( !empty( $cart_items ) ) { |
|
1390 | + if (!empty($cart_items)) { |
|
1391 | 1391 | $has_digital_rule = false; |
1392 | 1392 | |
1393 | - foreach ( $cart_items as $key => $item ) { |
|
1394 | - if ( self::item_has_digital_rule( $item['id'] ) ) { |
|
1393 | + foreach ($cart_items as $key => $item) { |
|
1394 | + if (self::item_has_digital_rule($item['id'])) { |
|
1395 | 1395 | $has_digital_rule = true; |
1396 | 1396 | break; |
1397 | 1397 | } |
@@ -1403,67 +1403,67 @@ discard block |
||
1403 | 1403 | return $has_digital_rule; |
1404 | 1404 | } |
1405 | 1405 | |
1406 | - public static function item_is_taxable( $item_id = 0, $country = false, $state = false ) { |
|
1407 | - if ( !wpinv_use_taxes() ) { |
|
1406 | + public static function item_is_taxable($item_id = 0, $country = false, $state = false) { |
|
1407 | + if (!wpinv_use_taxes()) { |
|
1408 | 1408 | return false; |
1409 | 1409 | } |
1410 | 1410 | |
1411 | 1411 | $is_taxable = true; |
1412 | 1412 | |
1413 | - if ( !empty( $item_id ) && self::get_item_class( $item_id ) == '_exempt' ) { |
|
1413 | + if (!empty($item_id) && self::get_item_class($item_id) == '_exempt') { |
|
1414 | 1414 | $is_taxable = false; |
1415 | 1415 | } |
1416 | 1416 | |
1417 | - return apply_filters( 'wpinv_item_is_taxable', $is_taxable, $item_id, $country , $state ); |
|
1417 | + return apply_filters('wpinv_item_is_taxable', $is_taxable, $item_id, $country, $state); |
|
1418 | 1418 | } |
1419 | 1419 | |
1420 | - public static function find_rate( $country, $state, $rate, $class ) { |
|
1420 | + public static function find_rate($country, $state, $rate, $class) { |
|
1421 | 1421 | global $wpi_zero_tax; |
1422 | 1422 | |
1423 | - if ( $class === '_exempt' || $wpi_zero_tax ) { |
|
1423 | + if ($class === '_exempt' || $wpi_zero_tax) { |
|
1424 | 1424 | return 0; |
1425 | 1425 | } |
1426 | 1426 | |
1427 | - $tax_rates = wpinv_get_tax_rates(); |
|
1427 | + $tax_rates = wpinv_get_tax_rates(); |
|
1428 | 1428 | |
1429 | - if ( $class !== '_standard' ) { |
|
1430 | - $class_rates = self::get_vat_rates( $class ); |
|
1429 | + if ($class !== '_standard') { |
|
1430 | + $class_rates = self::get_vat_rates($class); |
|
1431 | 1431 | |
1432 | - if ( is_array( $class_rates ) ) { |
|
1432 | + if (is_array($class_rates)) { |
|
1433 | 1433 | $indexed_class_rates = array(); |
1434 | 1434 | |
1435 | - foreach ( $class_rates as $key => $cr ) { |
|
1435 | + foreach ($class_rates as $key => $cr) { |
|
1436 | 1436 | $indexed_class_rates[$cr['country']] = $cr; |
1437 | 1437 | } |
1438 | 1438 | |
1439 | - $tax_rates = array_map( function( $tr ) use( $indexed_class_rates ) { |
|
1439 | + $tax_rates = array_map(function($tr) use($indexed_class_rates) { |
|
1440 | 1440 | $tr_country = $tr['country']; |
1441 | - if ( !isset( $indexed_class_rates[$tr_country] ) ) { |
|
1441 | + if (!isset($indexed_class_rates[$tr_country])) { |
|
1442 | 1442 | return $tr; |
1443 | 1443 | } |
1444 | 1444 | $icr = $indexed_class_rates[$tr_country]; |
1445 | - return ( empty( $icr['rate'] ) && $icr['rate'] !== '0' ) ? $tr : $icr; |
|
1445 | + return (empty($icr['rate']) && $icr['rate'] !== '0') ? $tr : $icr; |
|
1446 | 1446 | |
1447 | - }, $tax_rates, $class_rates ); |
|
1447 | + }, $tax_rates, $class_rates); |
|
1448 | 1448 | } |
1449 | 1449 | } |
1450 | 1450 | |
1451 | - if ( !empty( $tax_rates ) ) { |
|
1452 | - foreach ( $tax_rates as $key => $tax_rate ) { |
|
1453 | - if ( $country != $tax_rate['country'] ) |
|
1451 | + if (!empty($tax_rates)) { |
|
1452 | + foreach ($tax_rates as $key => $tax_rate) { |
|
1453 | + if ($country != $tax_rate['country']) |
|
1454 | 1454 | continue; |
1455 | 1455 | |
1456 | - if ( !empty( $tax_rate['global'] ) ) { |
|
1457 | - if ( 0 !== $tax_rate['rate'] || !empty( $tax_rate['rate'] ) ) { |
|
1458 | - $rate = number_format( $tax_rate['rate'], 4 ); |
|
1456 | + if (!empty($tax_rate['global'])) { |
|
1457 | + if (0 !== $tax_rate['rate'] || !empty($tax_rate['rate'])) { |
|
1458 | + $rate = number_format($tax_rate['rate'], 4); |
|
1459 | 1459 | } |
1460 | 1460 | } else { |
1461 | - if ( empty( $tax_rate['state'] ) || strtolower( $state ) != strtolower( $tax_rate['state'] ) ) |
|
1461 | + if (empty($tax_rate['state']) || strtolower($state) != strtolower($tax_rate['state'])) |
|
1462 | 1462 | continue; |
1463 | 1463 | |
1464 | 1464 | $state_rate = $tax_rate['rate']; |
1465 | - if ( 0 !== $state_rate || !empty( $state_rate ) ) { |
|
1466 | - $rate = number_format( $state_rate, 4 ); |
|
1465 | + if (0 !== $state_rate || !empty($state_rate)) { |
|
1466 | + $rate = number_format($state_rate, 4); |
|
1467 | 1467 | } |
1468 | 1468 | } |
1469 | 1469 | } |
@@ -1472,84 +1472,84 @@ discard block |
||
1472 | 1472 | return $rate; |
1473 | 1473 | } |
1474 | 1474 | |
1475 | - public static function get_rate( $rate = 1, $country = '', $state = '', $item_id = 0 ) { |
|
1475 | + public static function get_rate($rate = 1, $country = '', $state = '', $item_id = 0) { |
|
1476 | 1476 | global $wpinv_options, $wpi_session, $wpi_item_id, $wpi_zero_tax; |
1477 | 1477 | |
1478 | 1478 | $item_id = $item_id > 0 ? $item_id : $wpi_item_id; |
1479 | 1479 | $allow_vat_classes = self::allow_vat_classes(); |
1480 | - $class = $item_id ? self::get_item_class( $item_id ) : '_standard'; |
|
1480 | + $class = $item_id ? self::get_item_class($item_id) : '_standard'; |
|
1481 | 1481 | |
1482 | - if ( $class === '_exempt' || $wpi_zero_tax ) { |
|
1482 | + if ($class === '_exempt' || $wpi_zero_tax) { |
|
1483 | 1483 | return 0; |
1484 | - } else if ( !$allow_vat_classes ) { |
|
1484 | + } else if (!$allow_vat_classes) { |
|
1485 | 1485 | $class = '_standard'; |
1486 | 1486 | } |
1487 | 1487 | |
1488 | - if( !empty( $_POST['wpinv_country'] ) ) { |
|
1488 | + if (!empty($_POST['wpinv_country'])) { |
|
1489 | 1489 | $post_country = $_POST['wpinv_country']; |
1490 | - } elseif( !empty( $_POST['wpinv_country'] ) ) { |
|
1490 | + } elseif (!empty($_POST['wpinv_country'])) { |
|
1491 | 1491 | $post_country = $_POST['wpinv_country']; |
1492 | - } elseif( !empty( $_POST['country'] ) ) { |
|
1492 | + } elseif (!empty($_POST['country'])) { |
|
1493 | 1493 | $post_country = $_POST['country']; |
1494 | 1494 | } else { |
1495 | 1495 | $post_country = ''; |
1496 | 1496 | } |
1497 | 1497 | |
1498 | - $country = !empty( $post_country ) ? $post_country : wpinv_default_billing_country( $country ); |
|
1499 | - $base_country = wpinv_is_base_country( $country ); |
|
1498 | + $country = !empty($post_country) ? $post_country : wpinv_default_billing_country($country); |
|
1499 | + $base_country = wpinv_is_base_country($country); |
|
1500 | 1500 | |
1501 | - $requires_vat = self::requires_vat( 0, false ); |
|
1502 | - $is_digital = self::get_item_rule( $item_id ) == 'digital' ; |
|
1503 | - $rate = $requires_vat && isset( $wpinv_options['eu_fallback_rate'] ) ? $wpinv_options['eu_fallback_rate'] : $rate; |
|
1501 | + $requires_vat = self::requires_vat(0, false); |
|
1502 | + $is_digital = self::get_item_rule($item_id) == 'digital'; |
|
1503 | + $rate = $requires_vat && isset($wpinv_options['eu_fallback_rate']) ? $wpinv_options['eu_fallback_rate'] : $rate; |
|
1504 | 1504 | |
1505 | - if ( self::same_country_rule() == 'no' && $base_country ) { // Disable VAT to same country |
|
1505 | + if (self::same_country_rule() == 'no' && $base_country) { // Disable VAT to same country |
|
1506 | 1506 | $rate = 0; |
1507 | - } else if ( $requires_vat ) { |
|
1508 | - $vat_number = self::get_user_vat_number( '', 0, true ); |
|
1507 | + } else if ($requires_vat) { |
|
1508 | + $vat_number = self::get_user_vat_number('', 0, true); |
|
1509 | 1509 | $vat_info = self::current_vat_data(); |
1510 | 1510 | |
1511 | - if ( is_array( $vat_info ) ) { |
|
1512 | - $vat_number = isset( $vat_info['number'] ) && !empty( $vat_info['valid'] ) ? $vat_info['number'] : ""; |
|
1511 | + if (is_array($vat_info)) { |
|
1512 | + $vat_number = isset($vat_info['number']) && !empty($vat_info['valid']) ? $vat_info['number'] : ""; |
|
1513 | 1513 | } |
1514 | 1514 | |
1515 | - if ( $country == 'UK' ) { |
|
1515 | + if ($country == 'UK') { |
|
1516 | 1516 | $country = 'GB'; |
1517 | 1517 | } |
1518 | 1518 | |
1519 | - if ( !empty( $vat_number ) ) { |
|
1519 | + if (!empty($vat_number)) { |
|
1520 | 1520 | $rate = 0; |
1521 | 1521 | } else { |
1522 | - $rate = self::find_rate( $country, $state, $rate, $class ); // Fix if there are no tax rated and you try to pay an invoice it does not add the fallback tax rate |
|
1522 | + $rate = self::find_rate($country, $state, $rate, $class); // Fix if there are no tax rated and you try to pay an invoice it does not add the fallback tax rate |
|
1523 | 1523 | } |
1524 | 1524 | |
1525 | - if ( empty( $vat_number ) && !$is_digital ) { |
|
1526 | - if ( $base_country ) { |
|
1527 | - $rate = self::find_rate( $country, null, $rate, $class ); |
|
1525 | + if (empty($vat_number) && !$is_digital) { |
|
1526 | + if ($base_country) { |
|
1527 | + $rate = self::find_rate($country, null, $rate, $class); |
|
1528 | 1528 | } else { |
1529 | - if ( empty( $country ) && isset( $wpinv_options['eu_fallback_rate'] ) ) { |
|
1529 | + if (empty($country) && isset($wpinv_options['eu_fallback_rate'])) { |
|
1530 | 1530 | $rate = $wpinv_options['eu_fallback_rate']; |
1531 | - } else if( !empty( $country ) ) { |
|
1532 | - $rate = self::find_rate( $country, $state, $rate, $class ); |
|
1531 | + } else if (!empty($country)) { |
|
1532 | + $rate = self::find_rate($country, $state, $rate, $class); |
|
1533 | 1533 | } |
1534 | 1534 | } |
1535 | - } else if ( empty( $vat_number ) || ( self::same_country_rule() == 'always' && $base_country ) ) { |
|
1536 | - if ( empty( $country ) && isset( $wpinv_options['eu_fallback_rate'] ) ) { |
|
1535 | + } else if (empty($vat_number) || (self::same_country_rule() == 'always' && $base_country)) { |
|
1536 | + if (empty($country) && isset($wpinv_options['eu_fallback_rate'])) { |
|
1537 | 1537 | $rate = $wpinv_options['eu_fallback_rate']; |
1538 | - } else if( !empty( $country ) ) { |
|
1539 | - $rate = self::find_rate( $country, $state, $rate, $class ); |
|
1538 | + } else if (!empty($country)) { |
|
1539 | + $rate = self::find_rate($country, $state, $rate, $class); |
|
1540 | 1540 | } |
1541 | 1541 | } |
1542 | 1542 | } else { |
1543 | - if ( $is_digital ) { |
|
1543 | + if ($is_digital) { |
|
1544 | 1544 | $ip_country_code = self::get_country_by_ip(); |
1545 | 1545 | |
1546 | - if ( $ip_country_code && self::is_eu_state( $ip_country_code ) ) { |
|
1547 | - $rate = self::find_rate( $ip_country_code, '', 0, $class ); |
|
1546 | + if ($ip_country_code && self::is_eu_state($ip_country_code)) { |
|
1547 | + $rate = self::find_rate($ip_country_code, '', 0, $class); |
|
1548 | 1548 | } else { |
1549 | - $rate = self::find_rate( $country, $state, $rate, $class ); |
|
1549 | + $rate = self::find_rate($country, $state, $rate, $class); |
|
1550 | 1550 | } |
1551 | 1551 | } else { |
1552 | - $rate = self::find_rate( $country, $state, $rate, $class ); |
|
1552 | + $rate = self::find_rate($country, $state, $rate, $class); |
|
1553 | 1553 | } |
1554 | 1554 | } |
1555 | 1555 | |
@@ -1559,48 +1559,48 @@ discard block |
||
1559 | 1559 | public static function current_vat_data() { |
1560 | 1560 | global $wpi_session; |
1561 | 1561 | |
1562 | - return $wpi_session->get( 'user_vat_data' ); |
|
1562 | + return $wpi_session->get('user_vat_data'); |
|
1563 | 1563 | } |
1564 | 1564 | |
1565 | - public static function get_user_country( $country = '', $user_id = 0 ) { |
|
1566 | - $user_address = wpinv_get_user_address( $user_id, false ); |
|
1565 | + public static function get_user_country($country = '', $user_id = 0) { |
|
1566 | + $user_address = wpinv_get_user_address($user_id, false); |
|
1567 | 1567 | |
1568 | - if ( wpinv_get_option( 'vat_ip_country_default' ) ) { |
|
1568 | + if (wpinv_get_option('vat_ip_country_default')) { |
|
1569 | 1569 | $country = ''; |
1570 | 1570 | } |
1571 | 1571 | |
1572 | - $country = empty( $user_address ) || !isset( $user_address['country'] ) || empty( $user_address['country'] ) ? $country : $user_address['country']; |
|
1573 | - $result = apply_filters( 'wpinv_get_user_country', $country, $user_id ); |
|
1572 | + $country = empty($user_address) || !isset($user_address['country']) || empty($user_address['country']) ? $country : $user_address['country']; |
|
1573 | + $result = apply_filters('wpinv_get_user_country', $country, $user_id); |
|
1574 | 1574 | |
1575 | - if ( empty( $result ) ) { |
|
1575 | + if (empty($result)) { |
|
1576 | 1576 | $result = self::get_country_by_ip(); |
1577 | 1577 | } |
1578 | 1578 | |
1579 | 1579 | return $result; |
1580 | 1580 | } |
1581 | 1581 | |
1582 | - public static function set_user_country( $country = '', $user_id = 0 ) { |
|
1582 | + public static function set_user_country($country = '', $user_id = 0) { |
|
1583 | 1583 | global $wpi_userID; |
1584 | 1584 | |
1585 | - if ( empty($country) && !empty($wpi_userID) && get_current_user_id() != $wpi_userID ) { |
|
1585 | + if (empty($country) && !empty($wpi_userID) && get_current_user_id() != $wpi_userID) { |
|
1586 | 1586 | $country = wpinv_get_default_country(); |
1587 | 1587 | } |
1588 | 1588 | |
1589 | 1589 | return $country; |
1590 | 1590 | } |
1591 | 1591 | |
1592 | - public static function get_user_vat_number( $vat_number = '', $user_id = 0, $is_valid = false ) { |
|
1592 | + public static function get_user_vat_number($vat_number = '', $user_id = 0, $is_valid = false) { |
|
1593 | 1593 | global $wpi_current_id, $wpi_userID; |
1594 | 1594 | |
1595 | - if ( !empty( $_POST['new_user'] ) ) { |
|
1595 | + if (!empty($_POST['new_user'])) { |
|
1596 | 1596 | return ''; |
1597 | 1597 | } |
1598 | 1598 | |
1599 | - if ( empty( $user_id ) ) { |
|
1600 | - $user_id = !empty( $wpi_userID ) ? $wpi_userID : ( $wpi_current_id ? wpinv_get_user_id( $wpi_current_id ) : get_current_user_id() ); |
|
1599 | + if (empty($user_id)) { |
|
1600 | + $user_id = !empty($wpi_userID) ? $wpi_userID : ($wpi_current_id ? wpinv_get_user_id($wpi_current_id) : get_current_user_id()); |
|
1601 | 1601 | } |
1602 | 1602 | |
1603 | - $vat_number = empty( $user_id ) ? '' : get_user_meta( $user_id, '_wpinv_vat_number', true ); |
|
1603 | + $vat_number = empty($user_id) ? '' : get_user_meta($user_id, '_wpinv_vat_number', true); |
|
1604 | 1604 | |
1605 | 1605 | /* TODO |
1606 | 1606 | if ( $is_valid && $vat_number ) { |
@@ -1611,38 +1611,38 @@ discard block |
||
1611 | 1611 | } |
1612 | 1612 | */ |
1613 | 1613 | |
1614 | - return apply_filters('wpinv_get_user_vat_number', $vat_number, $user_id, $is_valid ); |
|
1614 | + return apply_filters('wpinv_get_user_vat_number', $vat_number, $user_id, $is_valid); |
|
1615 | 1615 | } |
1616 | 1616 | |
1617 | - public static function get_user_company( $company = '', $user_id = 0 ) { |
|
1617 | + public static function get_user_company($company = '', $user_id = 0) { |
|
1618 | 1618 | global $wpi_current_id, $wpi_userID; |
1619 | 1619 | |
1620 | - if ( empty( $user_id ) ) { |
|
1621 | - $user_id = !empty( $wpi_userID ) ? $wpi_userID : ( $wpi_current_id ? wpinv_get_user_id( $wpi_current_id ) : get_current_user_id() ); |
|
1620 | + if (empty($user_id)) { |
|
1621 | + $user_id = !empty($wpi_userID) ? $wpi_userID : ($wpi_current_id ? wpinv_get_user_id($wpi_current_id) : get_current_user_id()); |
|
1622 | 1622 | } |
1623 | 1623 | |
1624 | - $company = empty( $user_id ) ? "" : get_user_meta( $user_id, '_wpinv_company', true ); |
|
1624 | + $company = empty($user_id) ? "" : get_user_meta($user_id, '_wpinv_company', true); |
|
1625 | 1625 | |
1626 | - return apply_filters( 'wpinv_user_company', $company, $user_id ); |
|
1626 | + return apply_filters('wpinv_user_company', $company, $user_id); |
|
1627 | 1627 | } |
1628 | 1628 | |
1629 | - public static function save_user_vat_details( $company = '', $vat_number = '' ) { |
|
1630 | - $save = apply_filters( 'wpinv_allow_save_user_vat_details', true ); |
|
1629 | + public static function save_user_vat_details($company = '', $vat_number = '') { |
|
1630 | + $save = apply_filters('wpinv_allow_save_user_vat_details', true); |
|
1631 | 1631 | |
1632 | - if ( is_user_logged_in() && $save ) { |
|
1632 | + if (is_user_logged_in() && $save) { |
|
1633 | 1633 | $user_id = get_current_user_id(); |
1634 | 1634 | |
1635 | - if ( !empty( $vat_number ) ) { |
|
1636 | - update_user_meta( $user_id, '_wpinv_vat_number', $vat_number ); |
|
1635 | + if (!empty($vat_number)) { |
|
1636 | + update_user_meta($user_id, '_wpinv_vat_number', $vat_number); |
|
1637 | 1637 | } else { |
1638 | - delete_user_meta( $user_id, '_wpinv_vat_number'); |
|
1638 | + delete_user_meta($user_id, '_wpinv_vat_number'); |
|
1639 | 1639 | } |
1640 | 1640 | |
1641 | - if ( !empty( $company ) ) { |
|
1642 | - update_user_meta( $user_id, '_wpinv_company', $company ); |
|
1641 | + if (!empty($company)) { |
|
1642 | + update_user_meta($user_id, '_wpinv_company', $company); |
|
1643 | 1643 | } else { |
1644 | - delete_user_meta( $user_id, '_wpinv_company'); |
|
1645 | - delete_user_meta( $user_id, '_wpinv_vat_number'); |
|
1644 | + delete_user_meta($user_id, '_wpinv_company'); |
|
1645 | + delete_user_meta($user_id, '_wpinv_vat_number'); |
|
1646 | 1646 | } |
1647 | 1647 | } |
1648 | 1648 | |
@@ -1652,113 +1652,113 @@ discard block |
||
1652 | 1652 | public static function ajax_vat_validate() { |
1653 | 1653 | global $wpinv_options, $wpi_session; |
1654 | 1654 | |
1655 | - $is_checkout = ( !empty( $_POST['source'] ) && $_POST['source'] == 'checkout' ) ? true : false; |
|
1655 | + $is_checkout = (!empty($_POST['source']) && $_POST['source'] == 'checkout') ? true : false; |
|
1656 | 1656 | $response = array(); |
1657 | 1657 | $response['success'] = false; |
1658 | 1658 | |
1659 | - if ( empty( $_REQUEST['_wpi_nonce'] ) || ( !empty( $_REQUEST['_wpi_nonce'] ) && !wp_verify_nonce( $_REQUEST['_wpi_nonce'], 'vat_validation' ) ) ) { |
|
1660 | - $response['error'] = __( 'Invalid security nonce', 'invoicing' ); |
|
1661 | - wp_send_json( $response ); |
|
1659 | + if (empty($_REQUEST['_wpi_nonce']) || (!empty($_REQUEST['_wpi_nonce']) && !wp_verify_nonce($_REQUEST['_wpi_nonce'], 'vat_validation'))) { |
|
1660 | + $response['error'] = __('Invalid security nonce', 'invoicing'); |
|
1661 | + wp_send_json($response); |
|
1662 | 1662 | } |
1663 | 1663 | |
1664 | - $vat_name = self::get_vat_name(); |
|
1664 | + $vat_name = self::get_vat_name(); |
|
1665 | 1665 | |
1666 | - if ( $is_checkout ) { |
|
1666 | + if ($is_checkout) { |
|
1667 | 1667 | $invoice = wpinv_get_invoice_cart(); |
1668 | 1668 | |
1669 | - if ( !self::requires_vat( false, 0, self::invoice_has_digital_rule( $invoice ) ) ) { |
|
1669 | + if (!self::requires_vat(false, 0, self::invoice_has_digital_rule($invoice))) { |
|
1670 | 1670 | $vat_info = array(); |
1671 | - $wpi_session->set( 'user_vat_data', $vat_info ); |
|
1671 | + $wpi_session->set('user_vat_data', $vat_info); |
|
1672 | 1672 | |
1673 | 1673 | self::save_user_vat_details(); |
1674 | 1674 | |
1675 | 1675 | $response['success'] = true; |
1676 | - $response['message'] = wp_sprintf( __( 'Ignore %s', 'invoicing' ), $vat_name ); |
|
1677 | - wp_send_json( $response ); |
|
1676 | + $response['message'] = wp_sprintf(__('Ignore %s', 'invoicing'), $vat_name); |
|
1677 | + wp_send_json($response); |
|
1678 | 1678 | } |
1679 | 1679 | } |
1680 | 1680 | |
1681 | - $company = !empty( $_POST['company'] ) ? sanitize_text_field( $_POST['company'] ) : ''; |
|
1682 | - $vat_number = !empty( $_POST['number'] ) ? sanitize_text_field( $_POST['number'] ) : ''; |
|
1681 | + $company = !empty($_POST['company']) ? sanitize_text_field($_POST['company']) : ''; |
|
1682 | + $vat_number = !empty($_POST['number']) ? sanitize_text_field($_POST['number']) : ''; |
|
1683 | 1683 | |
1684 | - $vat_info = $wpi_session->get( 'user_vat_data' ); |
|
1685 | - if ( !is_array( $vat_info ) || empty( $vat_info ) ) { |
|
1686 | - $vat_info = array( 'company'=> $company, 'number' => '', 'valid' => true ); |
|
1684 | + $vat_info = $wpi_session->get('user_vat_data'); |
|
1685 | + if (!is_array($vat_info) || empty($vat_info)) { |
|
1686 | + $vat_info = array('company'=> $company, 'number' => '', 'valid' => true); |
|
1687 | 1687 | } |
1688 | 1688 | |
1689 | - if ( empty( $vat_number ) ) { |
|
1690 | - if ( $is_checkout ) { |
|
1689 | + if (empty($vat_number)) { |
|
1690 | + if ($is_checkout) { |
|
1691 | 1691 | $response['success'] = true; |
1692 | - $response['message'] = wp_sprintf( __( 'No %s number has been applied. %s will be added to invoice totals', 'invoicing' ), $vat_name, $vat_name ); |
|
1692 | + $response['message'] = wp_sprintf(__('No %s number has been applied. %s will be added to invoice totals', 'invoicing'), $vat_name, $vat_name); |
|
1693 | 1693 | |
1694 | - $vat_info = $wpi_session->get( 'user_vat_data' ); |
|
1694 | + $vat_info = $wpi_session->get('user_vat_data'); |
|
1695 | 1695 | $vat_info['number'] = ""; |
1696 | 1696 | $vat_info['valid'] = true; |
1697 | 1697 | |
1698 | - self::save_user_vat_details( $company ); |
|
1698 | + self::save_user_vat_details($company); |
|
1699 | 1699 | } else { |
1700 | - $response['error'] = wp_sprintf( __( 'Please enter your %s number!', 'invoicing' ), $vat_name ); |
|
1700 | + $response['error'] = wp_sprintf(__('Please enter your %s number!', 'invoicing'), $vat_name); |
|
1701 | 1701 | |
1702 | 1702 | $vat_info['valid'] = false; |
1703 | 1703 | } |
1704 | 1704 | |
1705 | - $wpi_session->set( 'user_vat_data', $vat_info ); |
|
1706 | - wp_send_json( $response ); |
|
1705 | + $wpi_session->set('user_vat_data', $vat_info); |
|
1706 | + wp_send_json($response); |
|
1707 | 1707 | } |
1708 | 1708 | |
1709 | - if ( empty( $company ) ) { |
|
1709 | + if (empty($company)) { |
|
1710 | 1710 | $vat_info['valid'] = false; |
1711 | - $wpi_session->set( 'user_vat_data', $vat_info ); |
|
1711 | + $wpi_session->set('user_vat_data', $vat_info); |
|
1712 | 1712 | |
1713 | - $response['error'] = __( 'Please enter your registered company name!', 'invoicing' ); |
|
1714 | - wp_send_json( $response ); |
|
1713 | + $response['error'] = __('Please enter your registered company name!', 'invoicing'); |
|
1714 | + wp_send_json($response); |
|
1715 | 1715 | } |
1716 | 1716 | |
1717 | - if ( !empty( $wpinv_options['vat_vies_check'] ) ) { |
|
1718 | - if ( empty( $wpinv_options['vat_offline_check'] ) && !self::offline_check( $vat_number ) ) { |
|
1717 | + if (!empty($wpinv_options['vat_vies_check'])) { |
|
1718 | + if (empty($wpinv_options['vat_offline_check']) && !self::offline_check($vat_number)) { |
|
1719 | 1719 | $vat_info['valid'] = false; |
1720 | - $wpi_session->set( 'user_vat_data', $vat_info ); |
|
1720 | + $wpi_session->set('user_vat_data', $vat_info); |
|
1721 | 1721 | |
1722 | - $response['error'] = wp_sprintf( __( '%s number not validated', 'invoicing' ), $vat_name ); |
|
1723 | - wp_send_json( $response ); |
|
1722 | + $response['error'] = wp_sprintf(__('%s number not validated', 'invoicing'), $vat_name); |
|
1723 | + wp_send_json($response); |
|
1724 | 1724 | } |
1725 | 1725 | |
1726 | 1726 | $response['success'] = true; |
1727 | - $response['message'] = wp_sprintf( __( '%s number validated', 'invoicing' ), $vat_name ); |
|
1727 | + $response['message'] = wp_sprintf(__('%s number validated', 'invoicing'), $vat_name); |
|
1728 | 1728 | } else { |
1729 | - $result = self::check_vat( $vat_number ); |
|
1729 | + $result = self::check_vat($vat_number); |
|
1730 | 1730 | |
1731 | - if ( empty( $result['valid'] ) ) { |
|
1731 | + if (empty($result['valid'])) { |
|
1732 | 1732 | $response['error'] = $result['message']; |
1733 | - wp_send_json( $response ); |
|
1733 | + wp_send_json($response); |
|
1734 | 1734 | } |
1735 | 1735 | |
1736 | - $vies_company = !empty( $result['company'] ) ? $result['company'] : ''; |
|
1737 | - $vies_company = apply_filters( 'wpinv_vies_company_name', $vies_company ); |
|
1736 | + $vies_company = !empty($result['company']) ? $result['company'] : ''; |
|
1737 | + $vies_company = apply_filters('wpinv_vies_company_name', $vies_company); |
|
1738 | 1738 | |
1739 | - $valid_company = $vies_company && $company && ( $vies_company == '---' || strcasecmp( trim( $vies_company ), trim( $company ) ) == 0 ) ? true : false; |
|
1739 | + $valid_company = $vies_company && $company && ($vies_company == '---' || strcasecmp(trim($vies_company), trim($company)) == 0) ? true : false; |
|
1740 | 1740 | |
1741 | - if ( !empty( $wpinv_options['vat_disable_company_name_check'] ) || $valid_company ) { |
|
1741 | + if (!empty($wpinv_options['vat_disable_company_name_check']) || $valid_company) { |
|
1742 | 1742 | $response['success'] = true; |
1743 | - $response['message'] = wp_sprintf( __( '%s number validated', 'invoicing' ), $vat_name ); |
|
1743 | + $response['message'] = wp_sprintf(__('%s number validated', 'invoicing'), $vat_name); |
|
1744 | 1744 | } else { |
1745 | 1745 | $vat_info['valid'] = false; |
1746 | - $wpi_session->set( 'user_vat_data', $vat_info ); |
|
1746 | + $wpi_session->set('user_vat_data', $vat_info); |
|
1747 | 1747 | |
1748 | 1748 | $response['success'] = false; |
1749 | - $response['message'] = wp_sprintf( __( 'The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing' ), $vat_name ); |
|
1750 | - wp_send_json( $response ); |
|
1749 | + $response['message'] = wp_sprintf(__('The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing'), $vat_name); |
|
1750 | + wp_send_json($response); |
|
1751 | 1751 | } |
1752 | 1752 | } |
1753 | 1753 | |
1754 | - if ( $is_checkout ) { |
|
1755 | - self::save_user_vat_details( $company, $vat_number ); |
|
1754 | + if ($is_checkout) { |
|
1755 | + self::save_user_vat_details($company, $vat_number); |
|
1756 | 1756 | |
1757 | - $vat_info = array('company' => $company, 'number' => $vat_number, 'valid' => true ); |
|
1758 | - $wpi_session->set( 'user_vat_data', $vat_info ); |
|
1757 | + $vat_info = array('company' => $company, 'number' => $vat_number, 'valid' => true); |
|
1758 | + $wpi_session->set('user_vat_data', $vat_info); |
|
1759 | 1759 | } |
1760 | 1760 | |
1761 | - wp_send_json( $response ); |
|
1761 | + wp_send_json($response); |
|
1762 | 1762 | } |
1763 | 1763 | |
1764 | 1764 | public static function ajax_vat_reset() { |
@@ -1767,161 +1767,161 @@ discard block |
||
1767 | 1767 | $company = is_user_logged_in() ? self::get_user_company() : ''; |
1768 | 1768 | $vat_number = self::get_user_vat_number(); |
1769 | 1769 | |
1770 | - $vat_info = array('company' => $company, 'number' => $vat_number, 'valid' => false ); |
|
1771 | - $wpi_session->set( 'user_vat_data', $vat_info ); |
|
1770 | + $vat_info = array('company' => $company, 'number' => $vat_number, 'valid' => false); |
|
1771 | + $wpi_session->set('user_vat_data', $vat_info); |
|
1772 | 1772 | |
1773 | 1773 | $response = array(); |
1774 | 1774 | $response['success'] = true; |
1775 | 1775 | $response['data']['company'] = $company; |
1776 | 1776 | $response['data']['number'] = $vat_number; |
1777 | 1777 | |
1778 | - wp_send_json( $response ); |
|
1778 | + wp_send_json($response); |
|
1779 | 1779 | } |
1780 | 1780 | |
1781 | - public static function checkout_vat_validate( $valid_data, $post ) { |
|
1781 | + public static function checkout_vat_validate($valid_data, $post) { |
|
1782 | 1782 | global $wpinv_options, $wpi_session; |
1783 | 1783 | |
1784 | - $vat_name = __( self::get_vat_name(), 'invoicing' ); |
|
1784 | + $vat_name = __(self::get_vat_name(), 'invoicing'); |
|
1785 | 1785 | |
1786 | - if ( !isset( $_POST['_wpi_nonce'] ) || !wp_verify_nonce( $_POST['_wpi_nonce'], 'vat_validation' ) ) { |
|
1787 | - wpinv_set_error( 'vat_validation', wp_sprintf( __( "Invalid %s validation request.", 'invoicing' ), $vat_name ) ); |
|
1786 | + if (!isset($_POST['_wpi_nonce']) || !wp_verify_nonce($_POST['_wpi_nonce'], 'vat_validation')) { |
|
1787 | + wpinv_set_error('vat_validation', wp_sprintf(__("Invalid %s validation request.", 'invoicing'), $vat_name)); |
|
1788 | 1788 | return; |
1789 | 1789 | } |
1790 | 1790 | |
1791 | - $vat_saved = $wpi_session->get( 'user_vat_data' ); |
|
1792 | - $wpi_session->set( 'user_vat_data', null ); |
|
1791 | + $vat_saved = $wpi_session->get('user_vat_data'); |
|
1792 | + $wpi_session->set('user_vat_data', null); |
|
1793 | 1793 | |
1794 | 1794 | $invoice = wpinv_get_invoice_cart(); |
1795 | 1795 | $amount = $invoice->get_total(); |
1796 | - $is_digital = self::invoice_has_digital_rule( $invoice ); |
|
1797 | - $no_vat = !self::requires_vat( 0, false, $is_digital ); |
|
1796 | + $is_digital = self::invoice_has_digital_rule($invoice); |
|
1797 | + $no_vat = !self::requires_vat(0, false, $is_digital); |
|
1798 | 1798 | |
1799 | - $company = !empty( $_POST['wpinv_company'] ) ? $_POST['wpinv_company'] : null; |
|
1800 | - $vat_number = !empty( $_POST['wpinv_vat_number'] ) ? $_POST['wpinv_vat_number'] : null; |
|
1801 | - $country = !empty( $_POST['wpinv_country'] ) ? $_POST['wpinv_country'] : $invoice->country; |
|
1802 | - if ( empty( $country ) ) { |
|
1799 | + $company = !empty($_POST['wpinv_company']) ? $_POST['wpinv_company'] : null; |
|
1800 | + $vat_number = !empty($_POST['wpinv_vat_number']) ? $_POST['wpinv_vat_number'] : null; |
|
1801 | + $country = !empty($_POST['wpinv_country']) ? $_POST['wpinv_country'] : $invoice->country; |
|
1802 | + if (empty($country)) { |
|
1803 | 1803 | $country = wpinv_default_billing_country(); |
1804 | 1804 | } |
1805 | 1805 | |
1806 | - if ( !$is_digital && $no_vat ) { |
|
1806 | + if (!$is_digital && $no_vat) { |
|
1807 | 1807 | return; |
1808 | 1808 | } |
1809 | 1809 | |
1810 | - $vat_data = array( 'company' => '', 'number' => '', 'valid' => false ); |
|
1810 | + $vat_data = array('company' => '', 'number' => '', 'valid' => false); |
|
1811 | 1811 | |
1812 | 1812 | $ip_country_code = self::get_country_by_ip(); |
1813 | - $is_eu_state = self::is_eu_state( $country ); |
|
1814 | - $is_eu_state_ip = self::is_eu_state( $ip_country_code ); |
|
1813 | + $is_eu_state = self::is_eu_state($country); |
|
1814 | + $is_eu_state_ip = self::is_eu_state($ip_country_code); |
|
1815 | 1815 | $is_non_eu_user = !$is_eu_state && !$is_eu_state_ip; |
1816 | 1816 | |
1817 | - if ( $is_digital && !$is_non_eu_user && empty( $vat_number ) && apply_filters( 'wpinv_checkout_requires_country', true, $amount ) ) { |
|
1817 | + if ($is_digital && !$is_non_eu_user && empty($vat_number) && apply_filters('wpinv_checkout_requires_country', true, $amount)) { |
|
1818 | 1818 | $vat_data['adddress_confirmed'] = false; |
1819 | 1819 | |
1820 | - if ( !isset( $_POST['wpinv_adddress_confirmed'] ) ) { |
|
1821 | - if ( $ip_country_code != $country ) { |
|
1822 | - wpinv_set_error( 'vat_validation', sprintf( __( 'The country of your current location must be the same as the country of your billing location or you must %s confirm %s the billing address is your home country.', 'invoicing' ), '<a href="#wpinv_adddress_confirm">', '</a>' ) ); |
|
1820 | + if (!isset($_POST['wpinv_adddress_confirmed'])) { |
|
1821 | + if ($ip_country_code != $country) { |
|
1822 | + wpinv_set_error('vat_validation', sprintf(__('The country of your current location must be the same as the country of your billing location or you must %s confirm %s the billing address is your home country.', 'invoicing'), '<a href="#wpinv_adddress_confirm">', '</a>')); |
|
1823 | 1823 | } |
1824 | 1824 | } else { |
1825 | 1825 | $vat_data['adddress_confirmed'] = true; |
1826 | 1826 | } |
1827 | 1827 | } |
1828 | 1828 | |
1829 | - if ( !empty( $wpinv_options['vat_prevent_b2c_purchase'] ) && !$is_non_eu_user && ( empty( $vat_number ) || $no_vat ) ) { |
|
1830 | - if ( $is_eu_state ) { |
|
1831 | - wpinv_set_error( 'vat_validation', wp_sprintf( __( 'Please enter and validate your %s number to verify your purchase is by an EU business.', 'invoicing' ), $vat_name ) ); |
|
1832 | - } else if ( $is_digital && $is_eu_state_ip ) { |
|
1833 | - wpinv_set_error( 'vat_validation', wp_sprintf( __( 'Sales to non-EU countries cannot be completed because %s must be applied.', 'invoicing' ), $vat_name ) ); |
|
1829 | + if (!empty($wpinv_options['vat_prevent_b2c_purchase']) && !$is_non_eu_user && (empty($vat_number) || $no_vat)) { |
|
1830 | + if ($is_eu_state) { |
|
1831 | + wpinv_set_error('vat_validation', wp_sprintf(__('Please enter and validate your %s number to verify your purchase is by an EU business.', 'invoicing'), $vat_name)); |
|
1832 | + } else if ($is_digital && $is_eu_state_ip) { |
|
1833 | + wpinv_set_error('vat_validation', wp_sprintf(__('Sales to non-EU countries cannot be completed because %s must be applied.', 'invoicing'), $vat_name)); |
|
1834 | 1834 | } |
1835 | 1835 | } |
1836 | 1836 | |
1837 | - if ( !$is_eu_state || $no_vat || empty( $vat_number ) ) { |
|
1837 | + if (!$is_eu_state || $no_vat || empty($vat_number)) { |
|
1838 | 1838 | return; |
1839 | 1839 | } |
1840 | 1840 | |
1841 | - if ( !empty( $vat_saved ) && isset( $vat_saved['valid'] ) ) { |
|
1842 | - $vat_data['valid'] = $vat_saved['valid']; |
|
1841 | + if (!empty($vat_saved) && isset($vat_saved['valid'])) { |
|
1842 | + $vat_data['valid'] = $vat_saved['valid']; |
|
1843 | 1843 | } |
1844 | 1844 | |
1845 | - if ( $company !== null ) { |
|
1845 | + if ($company !== null) { |
|
1846 | 1846 | $vat_data['company'] = $company; |
1847 | 1847 | } |
1848 | 1848 | |
1849 | 1849 | $message = ''; |
1850 | - if ( $vat_number !== null ) { |
|
1850 | + if ($vat_number !== null) { |
|
1851 | 1851 | $vat_data['number'] = $vat_number; |
1852 | 1852 | |
1853 | - if ( !$vat_data['valid'] || ( $vat_saved['number'] !== $vat_data['number'] ) || ( $vat_saved['company'] !== $vat_data['company'] ) ) { |
|
1854 | - if ( !empty( $wpinv_options['vat_vies_check'] ) ) { |
|
1855 | - if ( empty( $wpinv_options['vat_offline_check'] ) && !self::offline_check( $vat_number ) ) { |
|
1853 | + if (!$vat_data['valid'] || ($vat_saved['number'] !== $vat_data['number']) || ($vat_saved['company'] !== $vat_data['company'])) { |
|
1854 | + if (!empty($wpinv_options['vat_vies_check'])) { |
|
1855 | + if (empty($wpinv_options['vat_offline_check']) && !self::offline_check($vat_number)) { |
|
1856 | 1856 | $vat_data['valid'] = false; |
1857 | 1857 | } |
1858 | 1858 | } else { |
1859 | - $result = self::check_vat( $vat_number ); |
|
1859 | + $result = self::check_vat($vat_number); |
|
1860 | 1860 | |
1861 | - if ( !empty( $result['valid'] ) ) { |
|
1861 | + if (!empty($result['valid'])) { |
|
1862 | 1862 | $vat_data['valid'] = true; |
1863 | - $vies_company = !empty( $result['company'] ) ? $result['company'] : ''; |
|
1864 | - $vies_company = apply_filters( 'wpinv_vies_company_name', $vies_company ); |
|
1863 | + $vies_company = !empty($result['company']) ? $result['company'] : ''; |
|
1864 | + $vies_company = apply_filters('wpinv_vies_company_name', $vies_company); |
|
1865 | 1865 | |
1866 | - $valid_company = $vies_company && $company && ( $vies_company == '---' || strcasecmp( trim( $vies_company ), trim( $company ) ) == 0 ) ? true : false; |
|
1866 | + $valid_company = $vies_company && $company && ($vies_company == '---' || strcasecmp(trim($vies_company), trim($company)) == 0) ? true : false; |
|
1867 | 1867 | |
1868 | - if ( !( !empty( $wpinv_options['vat_disable_company_name_check'] ) || $valid_company ) ) { |
|
1868 | + if (!(!empty($wpinv_options['vat_disable_company_name_check']) || $valid_company)) { |
|
1869 | 1869 | $vat_data['valid'] = false; |
1870 | 1870 | |
1871 | - $message = wp_sprintf( __( 'The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing' ), $vat_name ); |
|
1871 | + $message = wp_sprintf(__('The company name associated with the %s number provided is not the same as the company name provided.', 'invoicing'), $vat_name); |
|
1872 | 1872 | } |
1873 | 1873 | } else { |
1874 | - $message = wp_sprintf( __( 'Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing' ), $vat_name ); |
|
1874 | + $message = wp_sprintf(__('Fail to validate the %s number: EU Commission VAT server (VIES) check fails.', 'invoicing'), $vat_name); |
|
1875 | 1875 | } |
1876 | 1876 | } |
1877 | 1877 | |
1878 | - if ( !$vat_data['valid'] ) { |
|
1879 | - $error = wp_sprintf( __( 'The %s %s number %s you have entered has not been validated', 'invoicing' ), '<a href="#wpi-vat-details">', $vat_name, '</a>' ) . ( $message ? ' ( ' . $message . ' )' : '' ); |
|
1880 | - wpinv_set_error( 'vat_validation', $error ); |
|
1878 | + if (!$vat_data['valid']) { |
|
1879 | + $error = wp_sprintf(__('The %s %s number %s you have entered has not been validated', 'invoicing'), '<a href="#wpi-vat-details">', $vat_name, '</a>') . ($message ? ' ( ' . $message . ' )' : ''); |
|
1880 | + wpinv_set_error('vat_validation', $error); |
|
1881 | 1881 | } |
1882 | 1882 | } |
1883 | 1883 | } |
1884 | 1884 | |
1885 | - $wpi_session->set( 'user_vat_data', $vat_data ); |
|
1885 | + $wpi_session->set('user_vat_data', $vat_data); |
|
1886 | 1886 | } |
1887 | 1887 | |
1888 | - public static function checkout_vat_fields( $billing_details ) { |
|
1888 | + public static function checkout_vat_fields($billing_details) { |
|
1889 | 1889 | global $wpi_session, $wpinv_options, $wpi_country, $wpi_requires_vat; |
1890 | 1890 | |
1891 | 1891 | $ip_address = wpinv_get_ip(); |
1892 | 1892 | $ip_country_code = self::get_country_by_ip(); |
1893 | 1893 | |
1894 | - $tax_label = __( self::get_vat_name(), 'invoicing' ); |
|
1894 | + $tax_label = __(self::get_vat_name(), 'invoicing'); |
|
1895 | 1895 | $invoice = wpinv_get_invoice_cart(); |
1896 | - $is_digital = self::invoice_has_digital_rule( $invoice ); |
|
1896 | + $is_digital = self::invoice_has_digital_rule($invoice); |
|
1897 | 1897 | $wpi_country = $invoice->country; |
1898 | 1898 | |
1899 | - $requires_vat = !self::hide_vat_fields() && !$invoice->is_free() && self::requires_vat( 0, false, $is_digital ); |
|
1899 | + $requires_vat = !self::hide_vat_fields() && !$invoice->is_free() && self::requires_vat(0, false, $is_digital); |
|
1900 | 1900 | $wpi_requires_vat = $requires_vat; |
1901 | 1901 | |
1902 | 1902 | $company = self::get_user_company(); |
1903 | 1903 | $vat_number = self::get_user_vat_number(); |
1904 | 1904 | |
1905 | - $validated = $vat_number ? self::get_user_vat_number( '', 0, true ) : 1; |
|
1906 | - $vat_info = $wpi_session->get( 'user_vat_data' ); |
|
1905 | + $validated = $vat_number ? self::get_user_vat_number('', 0, true) : 1; |
|
1906 | + $vat_info = $wpi_session->get('user_vat_data'); |
|
1907 | 1907 | |
1908 | - if ( is_array( $vat_info ) ) { |
|
1909 | - $company = isset( $vat_info['company'] ) ? $vat_info['company'] : ''; |
|
1910 | - $vat_number = isset( $vat_info['number'] ) ? $vat_info['number'] : ''; |
|
1911 | - $validated = isset( $vat_info['valid'] ) ? $vat_info['valid'] : false; |
|
1908 | + if (is_array($vat_info)) { |
|
1909 | + $company = isset($vat_info['company']) ? $vat_info['company'] : ''; |
|
1910 | + $vat_number = isset($vat_info['number']) ? $vat_info['number'] : ''; |
|
1911 | + $validated = isset($vat_info['valid']) ? $vat_info['valid'] : false; |
|
1912 | 1912 | } |
1913 | 1913 | |
1914 | 1914 | $selected_country = $invoice->country ? $invoice->country : wpinv_default_billing_country(); |
1915 | 1915 | |
1916 | - if ( $ip_country_code == 'UK' ) { |
|
1916 | + if ($ip_country_code == 'UK') { |
|
1917 | 1917 | $ip_country_code = 'GB'; |
1918 | 1918 | } |
1919 | 1919 | |
1920 | - if ( $selected_country == 'UK' ) { |
|
1920 | + if ($selected_country == 'UK') { |
|
1921 | 1921 | $selected_country = 'GB'; |
1922 | 1922 | } |
1923 | 1923 | |
1924 | - if ( $requires_vat && ( self::same_country_rule() == 'no' && wpinv_is_base_country( $selected_country ) || !self::allow_vat_rules() ) ) { |
|
1924 | + if ($requires_vat && (self::same_country_rule() == 'no' && wpinv_is_base_country($selected_country) || !self::allow_vat_rules())) { |
|
1925 | 1925 | $requires_vat = false; |
1926 | 1926 | } |
1927 | 1927 | |
@@ -1929,52 +1929,52 @@ discard block |
||
1929 | 1929 | $display_validate_btn = 'none'; |
1930 | 1930 | $display_reset_btn = 'none'; |
1931 | 1931 | |
1932 | - if ( !empty( $vat_number ) && $validated ) { |
|
1933 | - $vat_vailidated_text = wp_sprintf( __( '%s number validated', 'invoicing' ), $tax_label ); |
|
1932 | + if (!empty($vat_number) && $validated) { |
|
1933 | + $vat_vailidated_text = wp_sprintf(__('%s number validated', 'invoicing'), $tax_label); |
|
1934 | 1934 | $vat_vailidated_class = 'wpinv-vat-stat-1'; |
1935 | 1935 | $display_reset_btn = 'block'; |
1936 | 1936 | } else { |
1937 | - $vat_vailidated_text = empty( $vat_number ) ? '' : wp_sprintf( __( '%s number not validated', 'invoicing' ), $tax_label ); |
|
1938 | - $vat_vailidated_class = empty( $vat_number ) ? '' : 'wpinv-vat-stat-0'; |
|
1937 | + $vat_vailidated_text = empty($vat_number) ? '' : wp_sprintf(__('%s number not validated', 'invoicing'), $tax_label); |
|
1938 | + $vat_vailidated_class = empty($vat_number) ? '' : 'wpinv-vat-stat-0'; |
|
1939 | 1939 | $display_validate_btn = 'block'; |
1940 | 1940 | } |
1941 | 1941 | |
1942 | - $show_ip_country = $is_digital && ( empty( $vat_number ) || !$requires_vat ) && $ip_country_code != $selected_country ? 'block' : 'none'; |
|
1942 | + $show_ip_country = $is_digital && (empty($vat_number) || !$requires_vat) && $ip_country_code != $selected_country ? 'block' : 'none'; |
|
1943 | 1943 | ?> |
1944 | 1944 | <div id="wpi-vat-details" class="wpi-vat-details clearfix" style="display:<?php echo $display_vat_details; ?>"> |
1945 | 1945 | <div id="wpi_vat_info" class="clearfix panel panel-default"> |
1946 | - <div class="panel-heading"><h3 class="panel-title"><?php echo wp_sprintf( __( '%s Details', 'invoicing' ), $tax_label );?></h3></div> |
|
1946 | + <div class="panel-heading"><h3 class="panel-title"><?php echo wp_sprintf(__('%s Details', 'invoicing'), $tax_label); ?></h3></div> |
|
1947 | 1947 | <div id="wpinv-fields-box" class="panel-body"> |
1948 | 1948 | <p id="wpi_show_vat_note"> |
1949 | - <?php echo wp_sprintf( __( 'Validate your registered %s number to exclude tax.', 'invoicing' ), $tax_label ); ?> |
|
1949 | + <?php echo wp_sprintf(__('Validate your registered %s number to exclude tax.', 'invoicing'), $tax_label); ?> |
|
1950 | 1950 | </p> |
1951 | 1951 | <div id="wpi_vat_fields" class="wpi_vat_info"> |
1952 | 1952 | <p class="wpi-cart-field wpi-col2 wpi-colf"> |
1953 | - <label for="wpinv_company" class="wpi-label"><?php _e( 'Company Name', 'invoicing' );?></label> |
|
1953 | + <label for="wpinv_company" class="wpi-label"><?php _e('Company Name', 'invoicing'); ?></label> |
|
1954 | 1954 | <?php |
1955 | - echo wpinv_html_text( array( |
|
1955 | + echo wpinv_html_text(array( |
|
1956 | 1956 | 'id' => 'wpinv_company', |
1957 | 1957 | 'name' => 'wpinv_company', |
1958 | 1958 | 'value' => $company, |
1959 | 1959 | 'class' => 'wpi-input form-control', |
1960 | - 'placeholder' => __( 'Company name', 'invoicing' ), |
|
1961 | - ) ); |
|
1960 | + 'placeholder' => __('Company name', 'invoicing'), |
|
1961 | + )); |
|
1962 | 1962 | ?> |
1963 | 1963 | </p> |
1964 | 1964 | <p class="wpi-cart-field wpi-col2 wpi-coll wpi-cart-field-vat"> |
1965 | - <label for="wpinv_vat_number" class="wpi-label"><?php echo wp_sprintf( __( '%s Number', 'invoicing' ), $tax_label );?></label> |
|
1965 | + <label for="wpinv_vat_number" class="wpi-label"><?php echo wp_sprintf(__('%s Number', 'invoicing'), $tax_label); ?></label> |
|
1966 | 1966 | <span id="wpinv_vat_number-wrap"> |
1967 | 1967 | <label for="wpinv_vat_number" class="wpinv-label"></label> |
1968 | - <input type="text" class="wpi-input form-control" placeholder="<?php echo esc_attr( wp_sprintf( __( '%s number', 'invoicing' ), $tax_label ) );?>" value="<?php esc_attr_e( $vat_number );?>" id="wpinv_vat_number" name="wpinv_vat_number"> |
|
1969 | - <span class="wpinv-vat-stat <?php echo $vat_vailidated_class;?>"><i class="fa"></i> <font><?php echo $vat_vailidated_text;?></font></span> |
|
1968 | + <input type="text" class="wpi-input form-control" placeholder="<?php echo esc_attr(wp_sprintf(__('%s number', 'invoicing'), $tax_label)); ?>" value="<?php esc_attr_e($vat_number); ?>" id="wpinv_vat_number" name="wpinv_vat_number"> |
|
1969 | + <span class="wpinv-vat-stat <?php echo $vat_vailidated_class; ?>"><i class="fa"></i> <font><?php echo $vat_vailidated_text; ?></font></span> |
|
1970 | 1970 | </span> |
1971 | 1971 | </p> |
1972 | 1972 | <p class="wpi-cart-field wpi-col wpi-colf wpi-cart-field-actions"> |
1973 | - <button class="btn btn-success btn-sm wpinv-vat-validate" type="button" id="wpinv_vat_validate" style="display:<?php echo $display_validate_btn; ?>"><?php echo wp_sprintf( __("Validate %s Number", 'invoicing'), $tax_label ); ?></button> |
|
1974 | - <button class="btn btn-danger btn-sm wpinv-vat-reset" type="button" id="wpinv_vat_reset" style="display:<?php echo $display_reset_btn; ?>"><?php echo wp_sprintf( __("Reset %s", 'invoicing'), $tax_label ); ?></button> |
|
1973 | + <button class="btn btn-success btn-sm wpinv-vat-validate" type="button" id="wpinv_vat_validate" style="display:<?php echo $display_validate_btn; ?>"><?php echo wp_sprintf(__("Validate %s Number", 'invoicing'), $tax_label); ?></button> |
|
1974 | + <button class="btn btn-danger btn-sm wpinv-vat-reset" type="button" id="wpinv_vat_reset" style="display:<?php echo $display_reset_btn; ?>"><?php echo wp_sprintf(__("Reset %s", 'invoicing'), $tax_label); ?></button> |
|
1975 | 1975 | <span class="wpi-vat-box wpi-vat-box-info"><span id="text"></span></span> |
1976 | 1976 | <span class="wpi-vat-box wpi-vat-box-error"><span id="text"></span></span> |
1977 | - <input type="hidden" name="_wpi_nonce" value="<?php echo wp_create_nonce( 'vat_validation' ) ?>" /> |
|
1977 | + <input type="hidden" name="_wpi_nonce" value="<?php echo wp_create_nonce('vat_validation') ?>" /> |
|
1978 | 1978 | </p> |
1979 | 1979 | </div> |
1980 | 1980 | </div> |
@@ -1988,32 +1988,32 @@ discard block |
||
1988 | 1988 | </span> |
1989 | 1989 | </div> |
1990 | 1990 | </div> |
1991 | - <?php if ( empty( $wpinv_options['hide_ip_address'] ) ) { |
|
1992 | - $ip_link = '<a title="' . esc_attr( __( 'View more details on map', 'invoicing' ) ) . '" target="_blank" href="' . esc_url( admin_url( 'admin-ajax.php?action=wpinv_ip_geolocation&ip=' . $ip_address ) ) . '" class="wpi-ip-address-link">' . $ip_address . ' <i class="fa fa-external-link-square" aria-hidden="true"></i></a>'; |
|
1991 | + <?php if (empty($wpinv_options['hide_ip_address'])) { |
|
1992 | + $ip_link = '<a title="' . esc_attr(__('View more details on map', 'invoicing')) . '" target="_blank" href="' . esc_url(admin_url('admin-ajax.php?action=wpinv_ip_geolocation&ip=' . $ip_address)) . '" class="wpi-ip-address-link">' . $ip_address . ' <i class="fa fa-external-link-square" aria-hidden="true"></i></a>'; |
|
1993 | 1993 | ?> |
1994 | 1994 | <div class="wpi-ip-info clearfix panel panel-info"> |
1995 | 1995 | <div id="wpinv-fields-box" class="panel-body"> |
1996 | - <span><?php echo wp_sprintf( __( "Your IP address is: %s", 'invoicing' ), $ip_link ); ?></span> |
|
1996 | + <span><?php echo wp_sprintf(__("Your IP address is: %s", 'invoicing'), $ip_link); ?></span> |
|
1997 | 1997 | </div> |
1998 | 1998 | </div> |
1999 | 1999 | <?php } |
2000 | 2000 | } |
2001 | 2001 | |
2002 | - public static function show_vat_notice( $invoice ) { |
|
2003 | - if ( empty( $invoice ) ) { |
|
2002 | + public static function show_vat_notice($invoice) { |
|
2003 | + if (empty($invoice)) { |
|
2004 | 2004 | return NULL; |
2005 | 2005 | } |
2006 | 2006 | |
2007 | - $label = wpinv_get_option( 'vat_invoice_notice_label' ); |
|
2008 | - $notice = wpinv_get_option( 'vat_invoice_notice' ); |
|
2009 | - if ( $label || $notice ) { |
|
2007 | + $label = wpinv_get_option('vat_invoice_notice_label'); |
|
2008 | + $notice = wpinv_get_option('vat_invoice_notice'); |
|
2009 | + if ($label || $notice) { |
|
2010 | 2010 | ?> |
2011 | 2011 | <div class="row wpinv-vat-notice"> |
2012 | 2012 | <div class="col-sm-12"> |
2013 | - <?php if ( $label ) { ?> |
|
2014 | - <strong><?php _e( $label, 'invoicing' ); ?></strong> |
|
2015 | - <?php } if ( $notice ) { ?> |
|
2016 | - <?php echo wpautop( wptexturize( __( $notice, 'invoicing' ) ) ) ?> |
|
2013 | + <?php if ($label) { ?> |
|
2014 | + <strong><?php _e($label, 'invoicing'); ?></strong> |
|
2015 | + <?php } if ($notice) { ?> |
|
2016 | + <?php echo wpautop(wptexturize(__($notice, 'invoicing'))) ?> |
|
2017 | 2017 | <?php } ?> |
2018 | 2018 | </div> |
2019 | 2019 | </div> |