@@ -1,13 +1,13 @@ 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_paypal_cc_form', '__return_false' ); |
|
6 | -add_filter( 'wpinv_paypal_support_subscription', '__return_true' ); |
|
5 | +add_action('wpinv_paypal_cc_form', '__return_false'); |
|
6 | +add_filter('wpinv_paypal_support_subscription', '__return_true'); |
|
7 | 7 | |
8 | -function wpinv_process_paypal_payment( $purchase_data ) { |
|
9 | - if( ! wp_verify_nonce( $purchase_data['gateway_nonce'], 'wpi-gateway' ) ) { |
|
10 | - wp_die( __( 'Nonce verification has failed', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
8 | +function wpinv_process_paypal_payment($purchase_data) { |
|
9 | + if (!wp_verify_nonce($purchase_data['gateway_nonce'], 'wpi-gateway')) { |
|
10 | + wp_die(__('Nonce verification has failed', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
11 | 11 | } |
12 | 12 | |
13 | 13 | // Collect payment data |
@@ -25,30 +25,30 @@ discard block |
||
25 | 25 | ); |
26 | 26 | |
27 | 27 | // Record the pending payment |
28 | - $invoice = wpinv_get_invoice( $purchase_data['invoice_id'] ); |
|
28 | + $invoice = wpinv_get_invoice($purchase_data['invoice_id']); |
|
29 | 29 | |
30 | 30 | // Check payment |
31 | - if ( ! $invoice ) { |
|
31 | + if (!$invoice) { |
|
32 | 32 | // Record the error |
33 | - wpinv_record_gateway_error( __( 'Payment Error', 'invoicing' ), sprintf( __( 'Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing' ), json_encode( $payment_data ) ), $invoice ); |
|
33 | + wpinv_record_gateway_error(__('Payment Error', 'invoicing'), sprintf(__('Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing'), json_encode($payment_data)), $invoice); |
|
34 | 34 | // Problems? send back |
35 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
35 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
36 | 36 | } else { |
37 | 37 | // Only send to PayPal if the pending payment is created successfully |
38 | - $listener_url = wpinv_get_ipn_url( 'paypal' ); |
|
38 | + $listener_url = wpinv_get_ipn_url('paypal'); |
|
39 | 39 | |
40 | 40 | // Get the success url |
41 | - $return_url = add_query_arg( array( |
|
41 | + $return_url = add_query_arg(array( |
|
42 | 42 | 'payment-confirm' => 'paypal', |
43 | 43 | 'invoice-id' => $invoice->ID |
44 | - ), get_permalink( wpinv_get_option( 'success_page', false ) ) ); |
|
44 | + ), get_permalink(wpinv_get_option('success_page', false))); |
|
45 | 45 | |
46 | 46 | // Get the PayPal redirect uri |
47 | - $paypal_redirect = trailingslashit( wpinv_get_paypal_redirect() ) . '?'; |
|
47 | + $paypal_redirect = trailingslashit(wpinv_get_paypal_redirect()) . '?'; |
|
48 | 48 | |
49 | 49 | // Setup PayPal arguments |
50 | 50 | $paypal_args = array( |
51 | - 'business' => wpinv_get_option( 'paypal_email', false ), |
|
51 | + 'business' => wpinv_get_option('paypal_email', false), |
|
52 | 52 | 'email' => $invoice->get_email(), |
53 | 53 | 'first_name' => $invoice->get_first_name(), |
54 | 54 | 'last_name' => $invoice->get_last_name(), |
@@ -57,16 +57,16 @@ discard block |
||
57 | 57 | 'shipping' => '0', |
58 | 58 | 'no_note' => '1', |
59 | 59 | 'currency_code' => wpinv_get_currency(), |
60 | - 'charset' => get_bloginfo( 'charset' ), |
|
60 | + 'charset' => get_bloginfo('charset'), |
|
61 | 61 | 'custom' => $invoice->ID, |
62 | 62 | 'rm' => '2', |
63 | 63 | 'return' => $return_url, |
64 | 64 | 'cancel_return' => $invoice->get_checkout_payment_url(), |
65 | 65 | 'notify_url' => $listener_url, |
66 | - 'cbt' => get_bloginfo( 'name' ), |
|
66 | + 'cbt' => get_bloginfo('name'), |
|
67 | 67 | 'bn' => 'WPInvoicing_SP', |
68 | 68 | 'lc' => 'US', // this will force paypal site to english |
69 | - 'landing_page' => apply_filters( 'wpinv_paypal_standard_landing_page', 'billing', $invoice ), // 'login' or 'billing'. login - PayPal account login, billing - Non-PayPal account. |
|
69 | + 'landing_page' => apply_filters('wpinv_paypal_standard_landing_page', 'billing', $invoice), // 'login' or 'billing'. login - PayPal account login, billing - Non-PayPal account. |
|
70 | 70 | ); |
71 | 71 | |
72 | 72 | $paypal_args['address1'] = $invoice->get_address(); |
@@ -80,83 +80,83 @@ discard block |
||
80 | 80 | 'upload' => '1' |
81 | 81 | ); |
82 | 82 | |
83 | - $paypal_args = array_merge( $paypal_extra_args, $paypal_args ); |
|
83 | + $paypal_args = array_merge($paypal_extra_args, $paypal_args); |
|
84 | 84 | |
85 | 85 | // Add cart items |
86 | 86 | $i = 1; |
87 | - if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) { |
|
88 | - foreach ( $purchase_data['cart_details'] as $item ) { |
|
87 | + if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) { |
|
88 | + foreach ($purchase_data['cart_details'] as $item) { |
|
89 | 89 | $item['quantity'] = $item['quantity'] > 0 ? $item['quantity'] : 1; |
90 | - $item_amount = wpinv_sanitize_amount( $item['subtotal'] / $item['quantity'], 2 ); |
|
90 | + $item_amount = wpinv_sanitize_amount($item['subtotal'] / $item['quantity'], 2); |
|
91 | 91 | |
92 | - if ( $item_amount <= 0 ) { |
|
92 | + if ($item_amount <= 0) { |
|
93 | 93 | $item_amount = 0; |
94 | 94 | } |
95 | 95 | |
96 | - $paypal_args['item_number_' . $i ] = $item['id']; |
|
97 | - $paypal_args['item_name_' . $i ] = stripslashes_deep( html_entity_decode( wpinv_get_cart_item_name( $item ), ENT_COMPAT, 'UTF-8' ) ); |
|
98 | - $paypal_args['quantity_' . $i ] = $item['quantity']; |
|
99 | - $paypal_args['amount_' . $i ] = $item_amount; |
|
100 | - $paypal_args['discount_amount_' . $i ] = wpinv_sanitize_amount( $item['discount'], 2 ); |
|
96 | + $paypal_args['item_number_' . $i] = $item['id']; |
|
97 | + $paypal_args['item_name_' . $i] = stripslashes_deep(html_entity_decode(wpinv_get_cart_item_name($item), ENT_COMPAT, 'UTF-8')); |
|
98 | + $paypal_args['quantity_' . $i] = $item['quantity']; |
|
99 | + $paypal_args['amount_' . $i] = $item_amount; |
|
100 | + $paypal_args['discount_amount_' . $i] = wpinv_sanitize_amount($item['discount'], 2); |
|
101 | 101 | |
102 | 102 | $i++; |
103 | 103 | } |
104 | 104 | } |
105 | 105 | |
106 | 106 | // Add taxes to the cart |
107 | - if ( wpinv_use_taxes() ) { |
|
108 | - $paypal_args['tax_cart'] = wpinv_sanitize_amount( (float)$invoice->get_tax(), 2 ); |
|
107 | + if (wpinv_use_taxes()) { |
|
108 | + $paypal_args['tax_cart'] = wpinv_sanitize_amount((float) $invoice->get_tax(), 2); |
|
109 | 109 | } |
110 | 110 | |
111 | - $paypal_args = apply_filters( 'wpinv_paypal_args', $paypal_args, $purchase_data, $invoice ); |
|
111 | + $paypal_args = apply_filters('wpinv_paypal_args', $paypal_args, $purchase_data, $invoice); |
|
112 | 112 | |
113 | 113 | // Build query |
114 | - $paypal_redirect .= http_build_query( $paypal_args ); |
|
114 | + $paypal_redirect .= http_build_query($paypal_args); |
|
115 | 115 | |
116 | 116 | // Fix for some sites that encode the entities |
117 | - $paypal_redirect = str_replace( '&', '&', $paypal_redirect ); |
|
117 | + $paypal_redirect = str_replace('&', '&', $paypal_redirect); |
|
118 | 118 | |
119 | 119 | // Get rid of cart contents |
120 | 120 | wpinv_empty_cart(); |
121 | 121 | |
122 | 122 | // Redirect to PayPal |
123 | - wp_redirect( $paypal_redirect ); |
|
123 | + wp_redirect($paypal_redirect); |
|
124 | 124 | exit; |
125 | 125 | } |
126 | 126 | } |
127 | -add_action( 'wpinv_gateway_paypal', 'wpinv_process_paypal_payment' ); |
|
127 | +add_action('wpinv_gateway_paypal', 'wpinv_process_paypal_payment'); |
|
128 | 128 | |
129 | -function wpinv_get_paypal_recurring_args( $paypal_args, $purchase_data, $invoice ) { |
|
130 | - if ( $invoice->is_recurring() && $item_id = $invoice->get_recurring() ) { |
|
131 | - $item = new WPInv_Item( $item_id ); |
|
129 | +function wpinv_get_paypal_recurring_args($paypal_args, $purchase_data, $invoice) { |
|
130 | + if ($invoice->is_recurring() && $item_id = $invoice->get_recurring()) { |
|
131 | + $item = new WPInv_Item($item_id); |
|
132 | 132 | |
133 | - if ( empty( $item ) ) { |
|
133 | + if (empty($item)) { |
|
134 | 134 | return $paypal_args; |
135 | 135 | } |
136 | 136 | |
137 | 137 | $period = $item->get_recurring_period(); |
138 | 138 | $interval = $item->get_recurring_interval(); |
139 | - $bill_times = (int)$item->get_recurring_limit(); |
|
139 | + $bill_times = (int) $item->get_recurring_limit(); |
|
140 | 140 | |
141 | - $initial_amount = wpinv_sanitize_amount( $invoice->get_total(), 2 ); |
|
142 | - $recurring_amount = wpinv_sanitize_amount( $invoice->get_recurring_details( 'total' ), 2 ); |
|
141 | + $initial_amount = wpinv_sanitize_amount($invoice->get_total(), 2); |
|
142 | + $recurring_amount = wpinv_sanitize_amount($invoice->get_recurring_details('total'), 2); |
|
143 | 143 | |
144 | 144 | $paypal_args['cmd'] = '_xclick-subscriptions'; |
145 | 145 | $paypal_args['sra'] = '1'; |
146 | 146 | $paypal_args['src'] = '1'; |
147 | 147 | |
148 | 148 | // Set item description |
149 | - $item_name = sprintf( '[%s] %s', $invoice->get_number(), wpinv_get_cart_item_name( array( 'id' => $item->ID ) ) ); |
|
150 | - $paypal_args['item_name'] = stripslashes_deep( html_entity_decode( $item_name, ENT_COMPAT, 'UTF-8' ) ); |
|
149 | + $item_name = sprintf('[%s] %s', $invoice->get_number(), wpinv_get_cart_item_name(array('id' => $item->ID))); |
|
150 | + $paypal_args['item_name'] = stripslashes_deep(html_entity_decode($item_name, ENT_COMPAT, 'UTF-8')); |
|
151 | 151 | |
152 | - if ( $invoice->is_free_trial() && $item->has_free_trial() ) { |
|
152 | + if ($invoice->is_free_trial() && $item->has_free_trial()) { |
|
153 | 153 | $paypal_args['a1'] = $initial_amount; |
154 | 154 | $paypal_args['p1'] = $item->get_trial_interval(); |
155 | 155 | $paypal_args['t1'] = $item->get_trial_period(); |
156 | 156 | |
157 | 157 | // Set the recurring amount |
158 | 158 | $paypal_args['a3'] = $recurring_amount; |
159 | - } else if ( $initial_amount != $recurring_amount && $bill_times != 1 ) { |
|
159 | + } else if ($initial_amount != $recurring_amount && $bill_times != 1) { |
|
160 | 160 | $paypal_args['a1'] = $initial_amount; |
161 | 161 | $paypal_args['p1'] = $interval; |
162 | 162 | $paypal_args['t1'] = $period; |
@@ -164,63 +164,63 @@ discard block |
||
164 | 164 | // Set the recurring amount |
165 | 165 | $paypal_args['a3'] = $recurring_amount; |
166 | 166 | |
167 | - if ( $bill_times > 1 ) { |
|
167 | + if ($bill_times > 1) { |
|
168 | 168 | $bill_times--; |
169 | 169 | } |
170 | 170 | } else { |
171 | - $paypal_args['a3'] = $initial_amount; |
|
171 | + $paypal_args['a3'] = $initial_amount; |
|
172 | 172 | } |
173 | 173 | |
174 | 174 | $paypal_args['p3'] = $interval; |
175 | 175 | $paypal_args['t3'] = $period; |
176 | 176 | |
177 | - if ( $bill_times > 1 ) { |
|
177 | + if ($bill_times > 1) { |
|
178 | 178 | // Make sure it's not over the max of 52 |
179 | - $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 ); |
|
179 | + $paypal_args['srt'] = ($bill_times <= 52 ? absint($bill_times) : 52); |
|
180 | 180 | } |
181 | 181 | |
182 | 182 | // Remove cart items |
183 | 183 | $i = 1; |
184 | - if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) { |
|
185 | - foreach ( $purchase_data['cart_details'] as $item ) { |
|
186 | - if ( isset( $paypal_args['item_number_' . $i] ) ) { |
|
187 | - unset( $paypal_args['item_number_' . $i] ); |
|
184 | + if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) { |
|
185 | + foreach ($purchase_data['cart_details'] as $item) { |
|
186 | + if (isset($paypal_args['item_number_' . $i])) { |
|
187 | + unset($paypal_args['item_number_' . $i]); |
|
188 | 188 | } |
189 | - if ( isset( $paypal_args['item_name_' . $i] ) ) { |
|
190 | - unset( $paypal_args['item_name_' . $i] ); |
|
189 | + if (isset($paypal_args['item_name_' . $i])) { |
|
190 | + unset($paypal_args['item_name_' . $i]); |
|
191 | 191 | } |
192 | - if ( isset( $paypal_args['quantity_' . $i] ) ) { |
|
193 | - unset( $paypal_args['quantity_' . $i] ); |
|
192 | + if (isset($paypal_args['quantity_' . $i])) { |
|
193 | + unset($paypal_args['quantity_' . $i]); |
|
194 | 194 | } |
195 | - if ( isset( $paypal_args['amount_' . $i] ) ) { |
|
196 | - unset( $paypal_args['amount_' . $i] ); |
|
195 | + if (isset($paypal_args['amount_' . $i])) { |
|
196 | + unset($paypal_args['amount_' . $i]); |
|
197 | 197 | } |
198 | - if ( isset( $paypal_args['discount_amount_' . $i] ) ) { |
|
199 | - unset( $paypal_args['discount_amount_' . $i] ); |
|
198 | + if (isset($paypal_args['discount_amount_' . $i])) { |
|
199 | + unset($paypal_args['discount_amount_' . $i]); |
|
200 | 200 | } |
201 | 201 | |
202 | 202 | $i++; |
203 | 203 | } |
204 | 204 | } |
205 | 205 | |
206 | - if ( isset( $paypal_args['tax_cart'] ) ) { |
|
207 | - unset( $paypal_args['tax_cart'] ); |
|
206 | + if (isset($paypal_args['tax_cart'])) { |
|
207 | + unset($paypal_args['tax_cart']); |
|
208 | 208 | } |
209 | 209 | |
210 | - if ( isset( $paypal_args['upload'] ) ) { |
|
211 | - unset( $paypal_args['upload'] ); |
|
210 | + if (isset($paypal_args['upload'])) { |
|
211 | + unset($paypal_args['upload']); |
|
212 | 212 | } |
213 | 213 | |
214 | - $paypal_args = apply_filters( 'wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice ); |
|
214 | + $paypal_args = apply_filters('wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice); |
|
215 | 215 | } |
216 | 216 | |
217 | 217 | return $paypal_args; |
218 | 218 | } |
219 | -add_filter( 'wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3 ); |
|
219 | +add_filter('wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3); |
|
220 | 220 | |
221 | 221 | function wpinv_process_paypal_ipn() { |
222 | 222 | // Check the request method is POST |
223 | - if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) { |
|
223 | + if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'POST') { |
|
224 | 224 | return; |
225 | 225 | } |
226 | 226 | |
@@ -228,11 +228,11 @@ discard block |
||
228 | 228 | $post_data = ''; |
229 | 229 | |
230 | 230 | // Fallback just in case post_max_size is lower than needed |
231 | - if ( ini_get( 'allow_url_fopen' ) ) { |
|
232 | - $post_data = file_get_contents( 'php://input' ); |
|
231 | + if (ini_get('allow_url_fopen')) { |
|
232 | + $post_data = file_get_contents('php://input'); |
|
233 | 233 | } else { |
234 | 234 | // If allow_url_fopen is not enabled, then make sure that post_max_size is large enough |
235 | - ini_set( 'post_max_size', '12M' ); |
|
235 | + ini_set('post_max_size', '12M'); |
|
236 | 236 | } |
237 | 237 | // Start the encoded data collection with notification command |
238 | 238 | $encoded_data = 'cmd=_notify-validate'; |
@@ -241,43 +241,43 @@ discard block |
||
241 | 241 | $arg_separator = wpinv_get_php_arg_separator_output(); |
242 | 242 | |
243 | 243 | // Verify there is a post_data |
244 | - if ( $post_data || strlen( $post_data ) > 0 ) { |
|
244 | + if ($post_data || strlen($post_data) > 0) { |
|
245 | 245 | // Append the data |
246 | - $encoded_data .= $arg_separator.$post_data; |
|
246 | + $encoded_data .= $arg_separator . $post_data; |
|
247 | 247 | } else { |
248 | 248 | // Check if POST is empty |
249 | - if ( empty( $_POST ) ) { |
|
249 | + if (empty($_POST)) { |
|
250 | 250 | // Nothing to do |
251 | 251 | return; |
252 | 252 | } else { |
253 | 253 | // Loop through each POST |
254 | - foreach ( $_POST as $key => $value ) { |
|
254 | + foreach ($_POST as $key => $value) { |
|
255 | 255 | // Encode the value and append the data |
256 | - $encoded_data .= $arg_separator."$key=" . urlencode( $value ); |
|
256 | + $encoded_data .= $arg_separator . "$key=" . urlencode($value); |
|
257 | 257 | } |
258 | 258 | } |
259 | 259 | } |
260 | 260 | |
261 | 261 | // Convert collected post data to an array |
262 | - wp_parse_str( $encoded_data, $encoded_data_array ); |
|
262 | + wp_parse_str($encoded_data, $encoded_data_array); |
|
263 | 263 | |
264 | - foreach ( $encoded_data_array as $key => $value ) { |
|
265 | - if ( false !== strpos( $key, 'amp;' ) ) { |
|
266 | - $new_key = str_replace( '&', '&', $key ); |
|
267 | - $new_key = str_replace( 'amp;', '&' , $new_key ); |
|
264 | + foreach ($encoded_data_array as $key => $value) { |
|
265 | + if (false !== strpos($key, 'amp;')) { |
|
266 | + $new_key = str_replace('&', '&', $key); |
|
267 | + $new_key = str_replace('amp;', '&', $new_key); |
|
268 | 268 | |
269 | - unset( $encoded_data_array[ $key ] ); |
|
270 | - $encoded_data_array[ $new_key ] = $value; |
|
269 | + unset($encoded_data_array[$key]); |
|
270 | + $encoded_data_array[$new_key] = $value; |
|
271 | 271 | } |
272 | 272 | } |
273 | 273 | |
274 | 274 | // Get the PayPal redirect uri |
275 | - $paypal_redirect = wpinv_get_paypal_redirect( true ); |
|
275 | + $paypal_redirect = wpinv_get_paypal_redirect(true); |
|
276 | 276 | |
277 | - if ( !wpinv_get_option( 'disable_paypal_verification', false ) ) { |
|
277 | + if (!wpinv_get_option('disable_paypal_verification', false)) { |
|
278 | 278 | // Validate the IPN |
279 | 279 | |
280 | - $remote_post_vars = array( |
|
280 | + $remote_post_vars = array( |
|
281 | 281 | 'method' => 'POST', |
282 | 282 | 'timeout' => 45, |
283 | 283 | 'redirection' => 5, |
@@ -295,21 +295,21 @@ discard block |
||
295 | 295 | ); |
296 | 296 | |
297 | 297 | // Get response |
298 | - $api_response = wp_remote_post( wpinv_get_paypal_redirect(), $remote_post_vars ); |
|
298 | + $api_response = wp_remote_post(wpinv_get_paypal_redirect(), $remote_post_vars); |
|
299 | 299 | |
300 | - if ( is_wp_error( $api_response ) ) { |
|
301 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) ); |
|
300 | + if (is_wp_error($api_response)) { |
|
301 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response))); |
|
302 | 302 | return; // Something went wrong |
303 | 303 | } |
304 | 304 | |
305 | - if ( $api_response['body'] !== 'VERIFIED' && wpinv_get_option( 'disable_paypal_verification', false ) ) { |
|
306 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) ); |
|
305 | + if ($api_response['body'] !== 'VERIFIED' && wpinv_get_option('disable_paypal_verification', false)) { |
|
306 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response))); |
|
307 | 307 | return; // Response not okay |
308 | 308 | } |
309 | 309 | } |
310 | 310 | |
311 | 311 | // Check if $post_data_array has been populated |
312 | - if ( !is_array( $encoded_data_array ) && !empty( $encoded_data_array ) ) |
|
312 | + if (!is_array($encoded_data_array) && !empty($encoded_data_array)) |
|
313 | 313 | return; |
314 | 314 | |
315 | 315 | $defaults = array( |
@@ -317,265 +317,265 @@ discard block |
||
317 | 317 | 'payment_status' => '' |
318 | 318 | ); |
319 | 319 | |
320 | - $encoded_data_array = wp_parse_args( $encoded_data_array, $defaults ); |
|
320 | + $encoded_data_array = wp_parse_args($encoded_data_array, $defaults); |
|
321 | 321 | |
322 | - $invoice_id = isset( $encoded_data_array['custom'] ) ? absint( $encoded_data_array['custom'] ) : 0; |
|
322 | + $invoice_id = isset($encoded_data_array['custom']) ? absint($encoded_data_array['custom']) : 0; |
|
323 | 323 | |
324 | - wpinv_error_log( $encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__ ); |
|
325 | - wpinv_error_log( $encoded_data_array, 'PayPal IPN response', __FILE__, __LINE__ ); |
|
324 | + wpinv_error_log($encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__); |
|
325 | + wpinv_error_log($encoded_data_array, 'PayPal IPN response', __FILE__, __LINE__); |
|
326 | 326 | |
327 | - if ( has_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'] ) ) { |
|
327 | + if (has_action('wpinv_paypal_' . $encoded_data_array['txn_type'])) { |
|
328 | 328 | // Allow PayPal IPN types to be processed separately |
329 | - do_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id ); |
|
329 | + do_action('wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id); |
|
330 | 330 | } else { |
331 | 331 | // Fallback to web accept just in case the txn_type isn't present |
332 | - do_action( 'wpinv_paypal_web_accept', $encoded_data_array, $invoice_id ); |
|
332 | + do_action('wpinv_paypal_web_accept', $encoded_data_array, $invoice_id); |
|
333 | 333 | } |
334 | 334 | exit; |
335 | 335 | } |
336 | -add_action( 'wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn' ); |
|
336 | +add_action('wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn'); |
|
337 | 337 | |
338 | -function wpinv_process_paypal_web_accept_and_cart( $data, $invoice_id ) { |
|
339 | - if ( $data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded' ) { |
|
338 | +function wpinv_process_paypal_web_accept_and_cart($data, $invoice_id) { |
|
339 | + if ($data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded') { |
|
340 | 340 | return; |
341 | 341 | } |
342 | 342 | |
343 | - if( empty( $invoice_id ) ) { |
|
343 | + if (empty($invoice_id)) { |
|
344 | 344 | return; |
345 | 345 | } |
346 | 346 | |
347 | 347 | // Collect payment details |
348 | - $purchase_key = isset( $data['invoice'] ) ? $data['invoice'] : $data['item_number']; |
|
348 | + $purchase_key = isset($data['invoice']) ? $data['invoice'] : $data['item_number']; |
|
349 | 349 | $paypal_amount = $data['mc_gross']; |
350 | - $payment_status = strtolower( $data['payment_status'] ); |
|
351 | - $currency_code = strtolower( $data['mc_currency'] ); |
|
352 | - $business_email = isset( $data['business'] ) && is_email( $data['business'] ) ? trim( $data['business'] ) : trim( $data['receiver_email'] ); |
|
353 | - $payment_meta = wpinv_get_invoice_meta( $invoice_id ); |
|
350 | + $payment_status = strtolower($data['payment_status']); |
|
351 | + $currency_code = strtolower($data['mc_currency']); |
|
352 | + $business_email = isset($data['business']) && is_email($data['business']) ? trim($data['business']) : trim($data['receiver_email']); |
|
353 | + $payment_meta = wpinv_get_invoice_meta($invoice_id); |
|
354 | 354 | |
355 | - if ( wpinv_get_payment_gateway( $invoice_id ) != 'paypal' ) { |
|
355 | + if (wpinv_get_payment_gateway($invoice_id) != 'paypal') { |
|
356 | 356 | return; // this isn't a PayPal standard IPN |
357 | 357 | } |
358 | 358 | |
359 | 359 | // Verify payment recipient |
360 | - if ( strcasecmp( $business_email, trim( wpinv_get_option( 'paypal_email', false ) ) ) != 0 ) { |
|
361 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid business email in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
362 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
363 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid PayPal business email.', 'invoicing' ), '', '', true ); |
|
360 | + if (strcasecmp($business_email, trim(wpinv_get_option('paypal_email', false))) != 0) { |
|
361 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid business email in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
362 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
363 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid PayPal business email.', 'invoicing'), '', '', true); |
|
364 | 364 | return; |
365 | 365 | } |
366 | 366 | |
367 | 367 | // Verify payment currency |
368 | - if ( $currency_code != strtolower( $payment_meta['currency'] ) ) { |
|
369 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
370 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
371 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid currency in PayPal IPN.', 'invoicing' ), '', '', true ); |
|
368 | + if ($currency_code != strtolower($payment_meta['currency'])) { |
|
369 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
370 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
371 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid currency in PayPal IPN.', 'invoicing'), '', '', true); |
|
372 | 372 | return; |
373 | 373 | } |
374 | 374 | |
375 | - if ( !wpinv_get_payment_user_email( $invoice_id ) ) { |
|
375 | + if (!wpinv_get_payment_user_email($invoice_id)) { |
|
376 | 376 | // This runs when a Buy Now purchase was made. It bypasses checkout so no personal info is collected until PayPal |
377 | 377 | // No email associated with purchase, so store from PayPal |
378 | - wpinv_update_invoice_meta( $invoice_id, '_wpinv_email', $data['payer_email'] ); |
|
378 | + wpinv_update_invoice_meta($invoice_id, '_wpinv_email', $data['payer_email']); |
|
379 | 379 | |
380 | 380 | // Setup and store the customer's details |
381 | 381 | $user_info = array( |
382 | 382 | 'user_id' => '-1', |
383 | - 'email' => sanitize_text_field( $data['payer_email'] ), |
|
384 | - 'first_name' => sanitize_text_field( $data['first_name'] ), |
|
385 | - 'last_name' => sanitize_text_field( $data['last_name'] ), |
|
383 | + 'email' => sanitize_text_field($data['payer_email']), |
|
384 | + 'first_name' => sanitize_text_field($data['first_name']), |
|
385 | + 'last_name' => sanitize_text_field($data['last_name']), |
|
386 | 386 | 'discount' => '', |
387 | 387 | ); |
388 | - $user_info['address'] = ! empty( $data['address_street'] ) ? sanitize_text_field( $data['address_street'] ) : false; |
|
389 | - $user_info['city'] = ! empty( $data['address_city'] ) ? sanitize_text_field( $data['address_city'] ) : false; |
|
390 | - $user_info['state'] = ! empty( $data['address_state'] ) ? sanitize_text_field( $data['address_state'] ) : false; |
|
391 | - $user_info['country'] = ! empty( $data['address_country_code'] ) ? sanitize_text_field( $data['address_country_code'] ) : false; |
|
392 | - $user_info['zip'] = ! empty( $data['address_zip'] ) ? sanitize_text_field( $data['address_zip'] ) : false; |
|
388 | + $user_info['address'] = !empty($data['address_street']) ? sanitize_text_field($data['address_street']) : false; |
|
389 | + $user_info['city'] = !empty($data['address_city']) ? sanitize_text_field($data['address_city']) : false; |
|
390 | + $user_info['state'] = !empty($data['address_state']) ? sanitize_text_field($data['address_state']) : false; |
|
391 | + $user_info['country'] = !empty($data['address_country_code']) ? sanitize_text_field($data['address_country_code']) : false; |
|
392 | + $user_info['zip'] = !empty($data['address_zip']) ? sanitize_text_field($data['address_zip']) : false; |
|
393 | 393 | |
394 | 394 | $payment_meta['user_info'] = $user_info; |
395 | - wpinv_update_invoice_meta( $invoice_id, '_wpinv_payment_meta', $payment_meta ); |
|
395 | + wpinv_update_invoice_meta($invoice_id, '_wpinv_payment_meta', $payment_meta); |
|
396 | 396 | } |
397 | 397 | |
398 | - if ( $payment_status == 'refunded' || $payment_status == 'reversed' ) { |
|
398 | + if ($payment_status == 'refunded' || $payment_status == 'reversed') { |
|
399 | 399 | // Process a refund |
400 | - wpinv_process_paypal_refund( $data, $invoice_id ); |
|
400 | + wpinv_process_paypal_refund($data, $invoice_id); |
|
401 | 401 | } else { |
402 | - if ( get_post_status( $invoice_id ) == 'publish' ) { |
|
402 | + if (get_post_status($invoice_id) == 'publish') { |
|
403 | 403 | return; // Only paid payments once |
404 | 404 | } |
405 | 405 | |
406 | 406 | // Retrieve the total purchase amount (before PayPal) |
407 | - $payment_amount = wpinv_payment_total( $invoice_id ); |
|
407 | + $payment_amount = wpinv_payment_total($invoice_id); |
|
408 | 408 | |
409 | - if ( number_format( (float) $paypal_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) { |
|
409 | + if (number_format((float) $paypal_amount, 2) < number_format((float) $payment_amount, 2)) { |
|
410 | 410 | // The prices don't match |
411 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid payment amount in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
412 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
413 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid amount in PayPal IPN.', 'invoicing' ), '', '', true ); |
|
411 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid payment amount in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
412 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
413 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid amount in PayPal IPN.', 'invoicing'), '', '', true); |
|
414 | 414 | return; |
415 | 415 | } |
416 | - if ( $purchase_key != wpinv_get_payment_key( $invoice_id ) ) { |
|
416 | + if ($purchase_key != wpinv_get_payment_key($invoice_id)) { |
|
417 | 417 | // Purchase keys don't match |
418 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid purchase key in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
419 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
420 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing' ), '', '', true ); |
|
418 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid purchase key in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
419 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
420 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing'), '', '', true); |
|
421 | 421 | return; |
422 | 422 | } |
423 | 423 | |
424 | - if ( 'complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode( 'paypal' ) ) { |
|
425 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $data['txn_id'] ), '', '', true ); |
|
426 | - wpinv_set_payment_transaction_id( $invoice_id, $data['txn_id'] ); |
|
427 | - wpinv_update_payment_status( $invoice_id, 'publish' ); |
|
428 | - } else if ( 'pending' == $payment_status && isset( $data['pending_reason'] ) ) { |
|
424 | + if ('complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode('paypal')) { |
|
425 | + wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $data['txn_id']), '', '', true); |
|
426 | + wpinv_set_payment_transaction_id($invoice_id, $data['txn_id']); |
|
427 | + wpinv_update_payment_status($invoice_id, 'publish'); |
|
428 | + } else if ('pending' == $payment_status && isset($data['pending_reason'])) { |
|
429 | 429 | // Look for possible pending reasons, such as an echeck |
430 | 430 | $note = ''; |
431 | 431 | |
432 | - switch( strtolower( $data['pending_reason'] ) ) { |
|
432 | + switch (strtolower($data['pending_reason'])) { |
|
433 | 433 | case 'echeck' : |
434 | - $note = __( 'Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing' ); |
|
434 | + $note = __('Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing'); |
|
435 | 435 | break; |
436 | 436 | |
437 | 437 | case 'address' : |
438 | - $note = __( 'Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing' ); |
|
438 | + $note = __('Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing'); |
|
439 | 439 | break; |
440 | 440 | |
441 | 441 | case 'intl' : |
442 | - $note = __( 'Payment must be accepted manually through PayPal due to international account regulations', 'invoicing' ); |
|
442 | + $note = __('Payment must be accepted manually through PayPal due to international account regulations', 'invoicing'); |
|
443 | 443 | break; |
444 | 444 | |
445 | 445 | case 'multi-currency' : |
446 | - $note = __( 'Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing' ); |
|
446 | + $note = __('Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing'); |
|
447 | 447 | break; |
448 | 448 | |
449 | 449 | case 'paymentreview' : |
450 | 450 | case 'regulatory_review' : |
451 | - $note = __( 'Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing' ); |
|
451 | + $note = __('Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing'); |
|
452 | 452 | break; |
453 | 453 | |
454 | 454 | case 'unilateral' : |
455 | - $note = __( 'Payment was sent to non-confirmed or non-registered email address.', 'invoicing' ); |
|
455 | + $note = __('Payment was sent to non-confirmed or non-registered email address.', 'invoicing'); |
|
456 | 456 | break; |
457 | 457 | |
458 | 458 | case 'upgrade' : |
459 | - $note = __( 'PayPal account must be upgraded before this payment can be accepted', 'invoicing' ); |
|
459 | + $note = __('PayPal account must be upgraded before this payment can be accepted', 'invoicing'); |
|
460 | 460 | break; |
461 | 461 | |
462 | 462 | case 'verify' : |
463 | - $note = __( 'PayPal account is not verified. Verify account in order to accept this payment', 'invoicing' ); |
|
463 | + $note = __('PayPal account is not verified. Verify account in order to accept this payment', 'invoicing'); |
|
464 | 464 | break; |
465 | 465 | |
466 | 466 | case 'other' : |
467 | - $note = __( 'Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing' ); |
|
467 | + $note = __('Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing'); |
|
468 | 468 | break; |
469 | 469 | } |
470 | 470 | |
471 | - if ( ! empty( $note ) ) { |
|
472 | - wpinv_insert_payment_note( $invoice_id, $note, '', '', true ); |
|
471 | + if (!empty($note)) { |
|
472 | + wpinv_insert_payment_note($invoice_id, $note, '', '', true); |
|
473 | 473 | } |
474 | 474 | } else { |
475 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal IPN has been received with invalid payment status: %s', 'invoicing' ), $payment_status ), '', '', true ); |
|
475 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal IPN has been received with invalid payment status: %s', 'invoicing'), $payment_status), '', '', true); |
|
476 | 476 | } |
477 | 477 | } |
478 | 478 | } |
479 | -add_action( 'wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2 ); |
|
479 | +add_action('wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2); |
|
480 | 480 | |
481 | 481 | // Process PayPal subscription sign ups |
482 | -add_action( 'wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup' ); |
|
482 | +add_action('wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup'); |
|
483 | 483 | |
484 | 484 | // Process PayPal subscription payments |
485 | -add_action( 'wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment' ); |
|
485 | +add_action('wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment'); |
|
486 | 486 | |
487 | 487 | // Process PayPal subscription cancellations |
488 | -add_action( 'wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel' ); |
|
488 | +add_action('wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel'); |
|
489 | 489 | |
490 | 490 | // Process PayPal subscription end of term notices |
491 | -add_action( 'wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot' ); |
|
491 | +add_action('wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot'); |
|
492 | 492 | |
493 | 493 | // Process PayPal payment failed |
494 | -add_action( 'wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed' ); |
|
494 | +add_action('wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed'); |
|
495 | 495 | |
496 | 496 | |
497 | 497 | /** |
498 | 498 | * Process the subscription started IPN. |
499 | 499 | */ |
500 | -function wpinv_process_paypal_subscr_signup( $ipn_data ) { |
|
501 | - $parent_invoice_id = absint( $ipn_data['custom'] ); |
|
502 | - if( empty( $parent_invoice_id ) ) { |
|
500 | +function wpinv_process_paypal_subscr_signup($ipn_data) { |
|
501 | + $parent_invoice_id = absint($ipn_data['custom']); |
|
502 | + if (empty($parent_invoice_id)) { |
|
503 | 503 | return; |
504 | 504 | } |
505 | 505 | |
506 | - $invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
507 | - if ( empty( $invoice ) ) { |
|
506 | + $invoice = wpinv_get_invoice($parent_invoice_id); |
|
507 | + if (empty($invoice)) { |
|
508 | 508 | return; |
509 | 509 | } |
510 | 510 | |
511 | - if ( $invoice->is_free_trial() && !empty( $ipn_data['invoice'] ) ) { |
|
512 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Invoice ID: %s', 'invoicing' ) , $ipn_data['invoice'] ), '', '', true); |
|
513 | - if ( !empty( $ipn_data['txn_id'] ) ) { |
|
514 | - wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] ); |
|
511 | + if ($invoice->is_free_trial() && !empty($ipn_data['invoice'])) { |
|
512 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Invoice ID: %s', 'invoicing'), $ipn_data['invoice']), '', '', true); |
|
513 | + if (!empty($ipn_data['txn_id'])) { |
|
514 | + wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']); |
|
515 | 515 | } |
516 | 516 | } |
517 | 517 | |
518 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
519 | - if ( false === $subscription ) { |
|
518 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
519 | + if (false === $subscription) { |
|
520 | 520 | return; |
521 | 521 | } |
522 | 522 | |
523 | - wpinv_update_payment_status( $parent_invoice_id, 'publish' ); |
|
523 | + wpinv_update_payment_status($parent_invoice_id, 'publish'); |
|
524 | 524 | sleep(1); |
525 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ), '', '', true ); |
|
526 | - update_post_meta($parent_invoice_id,'_wpinv_subscr_profile_id', $ipn_data['subscr_id']); |
|
525 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id']), '', '', true); |
|
526 | + update_post_meta($parent_invoice_id, '_wpinv_subscr_profile_id', $ipn_data['subscr_id']); |
|
527 | 527 | |
528 | 528 | $status = 'trialling' == $subscription->status ? 'trialling' : 'active'; |
529 | - $diff_days = absint( ( ( strtotime( $subscription->expiration ) - strtotime( $subscription->created ) ) / DAY_IN_SECONDS ) ); |
|
530 | - $created = date_i18n( 'Y-m-d H:i:s' ); |
|
531 | - $expiration = date_i18n( 'Y-m-d 23:59:59', ( strtotime( $created ) + ( $diff_days * DAY_IN_SECONDS ) ) ); |
|
529 | + $diff_days = absint(((strtotime($subscription->expiration) - strtotime($subscription->created)) / DAY_IN_SECONDS)); |
|
530 | + $created = date_i18n('Y-m-d H:i:s'); |
|
531 | + $expiration = date_i18n('Y-m-d 23:59:59', (strtotime($created) + ($diff_days * DAY_IN_SECONDS))); |
|
532 | 532 | |
533 | 533 | // Retrieve pending subscription from database and update it's status to active and set proper profile ID |
534 | - $subscription->update( array( 'profile_id' => $ipn_data['subscr_id'], 'status' => $status, 'created' => $created, 'expiration' => $expiration ) ); |
|
534 | + $subscription->update(array('profile_id' => $ipn_data['subscr_id'], 'status' => $status, 'created' => $created, 'expiration' => $expiration)); |
|
535 | 535 | } |
536 | 536 | |
537 | 537 | /** |
538 | 538 | * Process the subscription payment received IPN. |
539 | 539 | */ |
540 | -function wpinv_process_paypal_subscr_payment( $ipn_data ) { |
|
541 | - $parent_invoice_id = absint( $ipn_data['custom'] ); |
|
540 | +function wpinv_process_paypal_subscr_payment($ipn_data) { |
|
541 | + $parent_invoice_id = absint($ipn_data['custom']); |
|
542 | 542 | |
543 | - $parent_invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
544 | - if ( empty( $parent_invoice ) ) { |
|
543 | + $parent_invoice = wpinv_get_invoice($parent_invoice_id); |
|
544 | + if (empty($parent_invoice)) { |
|
545 | 545 | return; |
546 | 546 | } |
547 | 547 | |
548 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
549 | - if ( false === $subscription ) { |
|
548 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
549 | + if (false === $subscription) { |
|
550 | 550 | return; |
551 | 551 | } |
552 | 552 | |
553 | - $transaction_id = wpinv_get_payment_transaction_id( $parent_invoice_id ); |
|
553 | + $transaction_id = wpinv_get_payment_transaction_id($parent_invoice_id); |
|
554 | 554 | $times_billed = $subscription->get_times_billed(); |
555 | - $signup_date = strtotime( $subscription->created ); |
|
556 | - $today = date( 'Ynd', $signup_date ) == date( 'Ynd', strtotime( $ipn_data['payment_date'] ) ); |
|
555 | + $signup_date = strtotime($subscription->created); |
|
556 | + $today = date('Ynd', $signup_date) == date('Ynd', strtotime($ipn_data['payment_date'])); |
|
557 | 557 | |
558 | 558 | // Look to see if payment is same day as signup and we have set the transaction ID on the parent payment yet. |
559 | - if ( (empty($times_billed) || $today) && ( !$transaction_id || $transaction_id == $parent_invoice_id ) ) { |
|
560 | - wpinv_update_payment_status( $parent_invoice_id, 'publish' ); |
|
559 | + if ((empty($times_billed) || $today) && (!$transaction_id || $transaction_id == $parent_invoice_id)) { |
|
560 | + wpinv_update_payment_status($parent_invoice_id, 'publish'); |
|
561 | 561 | sleep(1); |
562 | 562 | |
563 | 563 | // This is the very first payment |
564 | - wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] ); |
|
565 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ), '', '', true ); |
|
564 | + wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']); |
|
565 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']), '', '', true); |
|
566 | 566 | return; |
567 | 567 | } |
568 | 568 | |
569 | - if ( wpinv_get_id_by_transaction_id( $ipn_data['txn_id'] ) ) { |
|
569 | + if (wpinv_get_id_by_transaction_id($ipn_data['txn_id'])) { |
|
570 | 570 | return; // Payment already recorded |
571 | 571 | } |
572 | 572 | |
573 | - $currency_code = strtolower( $ipn_data['mc_currency'] ); |
|
573 | + $currency_code = strtolower($ipn_data['mc_currency']); |
|
574 | 574 | |
575 | 575 | // verify details |
576 | - if ( $currency_code != strtolower( wpinv_get_currency() ) ) { |
|
576 | + if ($currency_code != strtolower(wpinv_get_currency())) { |
|
577 | 577 | // the currency code is invalid |
578 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: ', 'invoicing' ), json_encode( $ipn_data ) ) ); |
|
578 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: ', 'invoicing'), json_encode($ipn_data))); |
|
579 | 579 | return; |
580 | 580 | } |
581 | 581 | |
@@ -585,11 +585,11 @@ discard block |
||
585 | 585 | 'gateway' => 'paypal' |
586 | 586 | ); |
587 | 587 | |
588 | - $invoice_id = $subscription->add_payment( $args ); |
|
588 | + $invoice_id = $subscription->add_payment($args); |
|
589 | 589 | |
590 | - if ( $invoice_id > 0 ) { |
|
591 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ), '', '', true ); |
|
592 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ), '', '', true ); |
|
590 | + if ($invoice_id > 0) { |
|
591 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']), '', '', true); |
|
592 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id']), '', '', true); |
|
593 | 593 | |
594 | 594 | $subscription->renew(); |
595 | 595 | } |
@@ -598,10 +598,10 @@ discard block |
||
598 | 598 | /** |
599 | 599 | * Process the subscription canceled IPN. |
600 | 600 | */ |
601 | -function wpinv_process_paypal_subscr_cancel( $ipn_data ) { |
|
602 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
601 | +function wpinv_process_paypal_subscr_cancel($ipn_data) { |
|
602 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
603 | 603 | |
604 | - if( false === $subscription ) { |
|
604 | + if (false === $subscription) { |
|
605 | 605 | return; |
606 | 606 | } |
607 | 607 | |
@@ -611,10 +611,10 @@ discard block |
||
611 | 611 | /** |
612 | 612 | * Process the subscription expired IPN. |
613 | 613 | */ |
614 | -function wpinv_process_paypal_subscr_eot( $ipn_data ) { |
|
615 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
614 | +function wpinv_process_paypal_subscr_eot($ipn_data) { |
|
615 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
616 | 616 | |
617 | - if( false === $subscription ) { |
|
617 | + if (false === $subscription) { |
|
618 | 618 | return; |
619 | 619 | } |
620 | 620 | |
@@ -624,40 +624,40 @@ discard block |
||
624 | 624 | /** |
625 | 625 | * Process the subscription payment failed IPN. |
626 | 626 | */ |
627 | -function wpinv_process_paypal_subscr_failed( $ipn_data ) { |
|
628 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
627 | +function wpinv_process_paypal_subscr_failed($ipn_data) { |
|
628 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
629 | 629 | |
630 | - if( false === $subscription ) { |
|
630 | + if (false === $subscription) { |
|
631 | 631 | return; |
632 | 632 | } |
633 | 633 | |
634 | 634 | $subscription->failing(); |
635 | 635 | |
636 | - do_action( 'wpinv_recurring_payment_failed', $subscription ); |
|
636 | + do_action('wpinv_recurring_payment_failed', $subscription); |
|
637 | 637 | } |
638 | 638 | |
639 | 639 | /** |
640 | 640 | * Retrieve the subscription this IPN notice is for. |
641 | 641 | */ |
642 | -function wpinv_get_paypal_subscription( $ipn_data = array() ) { |
|
643 | - $parent_invoice_id = absint( $ipn_data['custom'] ); |
|
642 | +function wpinv_get_paypal_subscription($ipn_data = array()) { |
|
643 | + $parent_invoice_id = absint($ipn_data['custom']); |
|
644 | 644 | |
645 | - if( empty( $parent_invoice_id ) ) { |
|
645 | + if (empty($parent_invoice_id)) { |
|
646 | 646 | return false; |
647 | 647 | } |
648 | 648 | |
649 | - $invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
650 | - if ( empty( $invoice ) ) { |
|
649 | + $invoice = wpinv_get_invoice($parent_invoice_id); |
|
650 | + if (empty($invoice)) { |
|
651 | 651 | return false; |
652 | 652 | } |
653 | 653 | |
654 | - $subscription = new WPInv_Subscription( $ipn_data['subscr_id'], true ); |
|
654 | + $subscription = new WPInv_Subscription($ipn_data['subscr_id'], true); |
|
655 | 655 | |
656 | - if ( ! ( ! empty( $subscription ) && $subscription->id > 0 ) ) { |
|
657 | - $subscription = wpinv_get_subscription( $parent_invoice_id ); |
|
656 | + if (!(!empty($subscription) && $subscription->id > 0)) { |
|
657 | + $subscription = wpinv_get_subscription($parent_invoice_id); |
|
658 | 658 | |
659 | - if ( ! empty( $subscription ) && $subscription->id > 0 ) { |
|
660 | - $subscription->update( array( 'profile_id' => sanitize_text_field( $ipn_data['subscr_id'] ) ) ); |
|
659 | + if (!empty($subscription) && $subscription->id > 0) { |
|
660 | + $subscription->update(array('profile_id' => sanitize_text_field($ipn_data['subscr_id']))); |
|
661 | 661 | } else { |
662 | 662 | return false; |
663 | 663 | } |
@@ -667,46 +667,46 @@ discard block |
||
667 | 667 | |
668 | 668 | } |
669 | 669 | |
670 | -function wpinv_process_paypal_refund( $data, $invoice_id = 0 ) { |
|
670 | +function wpinv_process_paypal_refund($data, $invoice_id = 0) { |
|
671 | 671 | // Collect payment details |
672 | 672 | |
673 | - if( empty( $invoice_id ) ) { |
|
673 | + if (empty($invoice_id)) { |
|
674 | 674 | return; |
675 | 675 | } |
676 | 676 | |
677 | - if ( get_post_status( $invoice_id ) == 'wpi-refunded' ) { |
|
677 | + if (get_post_status($invoice_id) == 'wpi-refunded') { |
|
678 | 678 | return; // Only refund payments once |
679 | 679 | } |
680 | 680 | |
681 | - $payment_amount = wpinv_payment_total( $invoice_id ); |
|
681 | + $payment_amount = wpinv_payment_total($invoice_id); |
|
682 | 682 | $refund_amount = $data['mc_gross'] * -1; |
683 | 683 | |
684 | - do_action( 'wpinv_paypal_refund_request', $data, $invoice_id ); |
|
684 | + do_action('wpinv_paypal_refund_request', $data, $invoice_id); |
|
685 | 685 | |
686 | - if ( number_format( (float) $refund_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) { |
|
687 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal partial refund of %s processed for transaction #%s for reason: %s', 'invoicing' ), (float)$refund_amount . ' '. $data['mc_currency'], $data['parent_txn_id'], $data['reason_code'] ), '', '', true ); |
|
686 | + if (number_format((float) $refund_amount, 2) < number_format((float) $payment_amount, 2)) { |
|
687 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal partial refund of %s processed for transaction #%s for reason: %s', 'invoicing'), (float) $refund_amount . ' ' . $data['mc_currency'], $data['parent_txn_id'], $data['reason_code']), '', '', true); |
|
688 | 688 | |
689 | - do_action( 'wpinv_paypal_invoice_partially_refunded', $data, $invoice_id, $refund_amount ); |
|
689 | + do_action('wpinv_paypal_invoice_partially_refunded', $data, $invoice_id, $refund_amount); |
|
690 | 690 | |
691 | 691 | return; // This is a partial refund |
692 | 692 | } |
693 | 693 | |
694 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Payment #%s Refunded for reason: %s', 'invoicing' ), $data['parent_txn_id'], $data['reason_code'] ), '', '', true ); |
|
695 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Refund Transaction ID: %s', 'invoicing' ), $data['txn_id'] ), '', '', true ); |
|
696 | - wpinv_update_payment_status( $invoice_id, 'wpi-refunded' ); |
|
694 | + wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Payment #%s Refunded for reason: %s', 'invoicing'), $data['parent_txn_id'], $data['reason_code']), '', '', true); |
|
695 | + wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Refund Transaction ID: %s', 'invoicing'), $data['txn_id']), '', '', true); |
|
696 | + wpinv_update_payment_status($invoice_id, 'wpi-refunded'); |
|
697 | 697 | |
698 | - do_action( 'wpinv_paypal_invoice_fully_refunded', $data, $invoice_id ); |
|
698 | + do_action('wpinv_paypal_invoice_fully_refunded', $data, $invoice_id); |
|
699 | 699 | } |
700 | 700 | |
701 | -function wpinv_get_paypal_redirect( $ssl_check = false ) { |
|
702 | - if ( is_ssl() || ! $ssl_check ) { |
|
701 | +function wpinv_get_paypal_redirect($ssl_check = false) { |
|
702 | + if (is_ssl() || !$ssl_check) { |
|
703 | 703 | $protocol = 'https://'; |
704 | 704 | } else { |
705 | 705 | $protocol = 'http://'; |
706 | 706 | } |
707 | 707 | |
708 | 708 | // Check the current payment mode |
709 | - if ( wpinv_is_test_mode( 'paypal' ) ) { |
|
709 | + if (wpinv_is_test_mode('paypal')) { |
|
710 | 710 | // Test mode |
711 | 711 | $paypal_uri = $protocol . 'www.sandbox.paypal.com/cgi-bin/webscr'; |
712 | 712 | } else { |
@@ -714,120 +714,120 @@ discard block |
||
714 | 714 | $paypal_uri = $protocol . 'www.paypal.com/cgi-bin/webscr'; |
715 | 715 | } |
716 | 716 | |
717 | - return apply_filters( 'wpinv_paypal_uri', $paypal_uri ); |
|
717 | + return apply_filters('wpinv_paypal_uri', $paypal_uri); |
|
718 | 718 | } |
719 | 719 | |
720 | -function wpinv_paypal_success_page_content( $content ) { |
|
720 | +function wpinv_paypal_success_page_content($content) { |
|
721 | 721 | global $wpi_invoice; |
722 | 722 | |
723 | 723 | $session = wpinv_get_checkout_session(); |
724 | 724 | |
725 | - if ( empty( $_GET['invoice-id'] ) && empty( $session['invoice_key'] ) ) { |
|
725 | + if (empty($_GET['invoice-id']) && empty($session['invoice_key'])) { |
|
726 | 726 | return $content; |
727 | 727 | } |
728 | 728 | |
729 | - $invoice_id = !empty( $_GET['invoice-id'] ) ? absint( $_GET['invoice-id'] ) : wpinv_get_invoice_id_by_key( $session['invoice_key'] ); |
|
729 | + $invoice_id = !empty($_GET['invoice-id']) ? absint($_GET['invoice-id']) : wpinv_get_invoice_id_by_key($session['invoice_key']); |
|
730 | 730 | |
731 | - if ( empty( $invoice_id ) ) { |
|
731 | + if (empty($invoice_id)) { |
|
732 | 732 | return $content; |
733 | 733 | } |
734 | 734 | |
735 | - $wpi_invoice = wpinv_get_invoice( $invoice_id ); |
|
735 | + $wpi_invoice = wpinv_get_invoice($invoice_id); |
|
736 | 736 | |
737 | - if ( !empty( $wpi_invoice ) && 'wpi-pending' == $wpi_invoice->status ) { |
|
737 | + if (!empty($wpi_invoice) && 'wpi-pending' == $wpi_invoice->status) { |
|
738 | 738 | // Payment is still pending so show processing indicator to fix the Race Condition, issue # |
739 | 739 | ob_start(); |
740 | - wpinv_get_template_part( 'wpinv-payment-processing' ); |
|
740 | + wpinv_get_template_part('wpinv-payment-processing'); |
|
741 | 741 | $content = ob_get_clean(); |
742 | 742 | } |
743 | 743 | |
744 | 744 | return $content; |
745 | 745 | } |
746 | -add_filter( 'wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content' ); |
|
746 | +add_filter('wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content'); |
|
747 | 747 | |
748 | -function wpinv_paypal_get_transaction_id( $invoice_id ) { |
|
748 | +function wpinv_paypal_get_transaction_id($invoice_id) { |
|
749 | 749 | $transaction_id = ''; |
750 | - $notes = wpinv_get_invoice_notes( $invoice_id ); |
|
750 | + $notes = wpinv_get_invoice_notes($invoice_id); |
|
751 | 751 | |
752 | - foreach ( $notes as $note ) { |
|
753 | - if ( preg_match( '/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match ) ) { |
|
752 | + foreach ($notes as $note) { |
|
753 | + if (preg_match('/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match)) { |
|
754 | 754 | $transaction_id = $match[1]; |
755 | 755 | continue; |
756 | 756 | } |
757 | 757 | } |
758 | 758 | |
759 | - return apply_filters( 'wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id ); |
|
759 | + return apply_filters('wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id); |
|
760 | 760 | } |
761 | -add_filter( 'wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1 ); |
|
761 | +add_filter('wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1); |
|
762 | 762 | |
763 | -function wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice ) { |
|
764 | - if ( $transaction_id == $invoice_id ) { |
|
763 | +function wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice) { |
|
764 | + if ($transaction_id == $invoice_id) { |
|
765 | 765 | $transaction_link = $transaction_id; |
766 | 766 | } else { |
767 | - if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) { |
|
767 | + if (!empty($invoice) && !empty($invoice->mode)) { |
|
768 | 768 | $mode = $invoice->mode; |
769 | 769 | } else { |
770 | - $mode = wpinv_is_test_mode( 'paypal' ) ? 'test' : 'live'; |
|
770 | + $mode = wpinv_is_test_mode('paypal') ? 'test' : 'live'; |
|
771 | 771 | } |
772 | 772 | |
773 | 773 | $sandbox = $mode == 'test' ? '.sandbox' : ''; |
774 | 774 | $transaction_url = 'https://www' . $sandbox . '.paypal.com/webscr?cmd=_history-details-from-hub&id=' . $transaction_id; |
775 | 775 | |
776 | - $transaction_link = '<a href="' . esc_url( $transaction_url ) . '" target="_blank">' . $transaction_id . '</a>'; |
|
776 | + $transaction_link = '<a href="' . esc_url($transaction_url) . '" target="_blank">' . $transaction_id . '</a>'; |
|
777 | 777 | } |
778 | 778 | |
779 | - return apply_filters( 'wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $transaction_id, $invoice ); |
|
779 | + return apply_filters('wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $transaction_id, $invoice); |
|
780 | 780 | } |
781 | -add_filter( 'wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3 ); |
|
781 | +add_filter('wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3); |
|
782 | 782 | |
783 | -function wpinv_paypal_profile_id_link( $profile_id, $subscription ) { |
|
783 | +function wpinv_paypal_profile_id_link($profile_id, $subscription) { |
|
784 | 784 | $link = $profile_id; |
785 | 785 | |
786 | - if ( ! empty( $profile_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) { |
|
787 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
786 | + if (!empty($profile_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) { |
|
787 | + $invoice = wpinv_get_invoice($invoice_id); |
|
788 | 788 | |
789 | - if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) { |
|
789 | + if (!empty($invoice) && !empty($invoice->mode)) { |
|
790 | 790 | $mode = $invoice->mode; |
791 | 791 | } else { |
792 | - $mode = wpinv_is_test_mode( 'paypal' ) ? 'test' : 'live'; |
|
792 | + $mode = wpinv_is_test_mode('paypal') ? 'test' : 'live'; |
|
793 | 793 | } |
794 | 794 | |
795 | 795 | $sandbox = $mode == 'test' ? '.sandbox' : ''; |
796 | 796 | $url = 'https://www' . $sandbox . '.paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=' . $profile_id; |
797 | 797 | |
798 | - $link = '<a href="' . esc_url( $url ) . '" target="_blank">' . $profile_id . '</a>'; |
|
798 | + $link = '<a href="' . esc_url($url) . '" target="_blank">' . $profile_id . '</a>'; |
|
799 | 799 | } |
800 | 800 | |
801 | - return apply_filters( 'wpinv_paypal_profile_id_link', $link, $profile_id, $subscription ); |
|
801 | + return apply_filters('wpinv_paypal_profile_id_link', $link, $profile_id, $subscription); |
|
802 | 802 | } |
803 | -add_filter( 'wpinv_subscription_profile_link_paypal', 'wpinv_paypal_profile_id_link', 10, 2 ); |
|
803 | +add_filter('wpinv_subscription_profile_link_paypal', 'wpinv_paypal_profile_id_link', 10, 2); |
|
804 | 804 | |
805 | -function wpinv_paypal_transaction_id_link( $transaction_id, $subscription ) { |
|
806 | - if ( ! empty( $transaction_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) { |
|
807 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
805 | +function wpinv_paypal_transaction_id_link($transaction_id, $subscription) { |
|
806 | + if (!empty($transaction_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) { |
|
807 | + $invoice = wpinv_get_invoice($invoice_id); |
|
808 | 808 | |
809 | - if ( ! empty( $invoice ) ) { |
|
810 | - return wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice ); |
|
809 | + if (!empty($invoice)) { |
|
810 | + return wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice); |
|
811 | 811 | } |
812 | 812 | } |
813 | 813 | |
814 | 814 | return $transaction_id; |
815 | 815 | } |
816 | -add_filter( 'wpinv_subscription_transaction_link_paypal', 'wpinv_paypal_transaction_id_link', 10, 2 ); |
|
816 | +add_filter('wpinv_subscription_transaction_link_paypal', 'wpinv_paypal_transaction_id_link', 10, 2); |
|
817 | 817 | |
818 | 818 | function wpinv_is_paypal_valid_for_use() { |
819 | - return in_array( wpinv_get_currency(), apply_filters( 'wpinv_paypal_supported_currencies', array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' ) ) ); |
|
819 | + return in_array(wpinv_get_currency(), apply_filters('wpinv_paypal_supported_currencies', array('AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR'))); |
|
820 | 820 | } |
821 | 821 | |
822 | -function wpinv_check_paypal_currency_support( $gateway_list ) { |
|
823 | - if ( isset( $gateway_list['paypal'] ) && ! wpinv_is_paypal_valid_for_use() ) { |
|
824 | - unset( $gateway_list['paypal'] ); |
|
822 | +function wpinv_check_paypal_currency_support($gateway_list) { |
|
823 | + if (isset($gateway_list['paypal']) && !wpinv_is_paypal_valid_for_use()) { |
|
824 | + unset($gateway_list['paypal']); |
|
825 | 825 | } |
826 | 826 | return $gateway_list; |
827 | 827 | } |
828 | -add_filter( 'wpinv_enabled_payment_gateways', 'wpinv_check_paypal_currency_support', 10, 1 ); |
|
828 | +add_filter('wpinv_enabled_payment_gateways', 'wpinv_check_paypal_currency_support', 10, 1); |
|
829 | 829 | |
830 | -function wpinv_gateway_paypal_button_label( $label ) { |
|
831 | - return __( 'Proceed to PayPal', 'invoicing' ); |
|
830 | +function wpinv_gateway_paypal_button_label($label) { |
|
831 | + return __('Proceed to PayPal', 'invoicing'); |
|
832 | 832 | } |
833 | -add_filter( 'wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1 ); |
|
834 | 833 | \ No newline at end of file |
834 | +add_filter('wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1); |
|
835 | 835 | \ No newline at end of file |
@@ -8,7 +8,7 @@ discard block |
||
8 | 8 | * @since 1.0.13 |
9 | 9 | */ |
10 | 10 | |
11 | -if ( !defined( 'WPINC' ) ) { |
|
11 | +if (!defined('WPINC')) { |
|
12 | 12 | exit; |
13 | 13 | } |
14 | 14 | |
@@ -41,7 +41,7 @@ discard block |
||
41 | 41 | * |
42 | 42 | * @param string $namespace Api Namespace |
43 | 43 | */ |
44 | - public function __construct( $namespace ) { |
|
44 | + public function __construct($namespace) { |
|
45 | 45 | |
46 | 46 | // Set api namespace... |
47 | 47 | $this->namespace = $namespace; |
@@ -60,16 +60,16 @@ discard block |
||
60 | 60 | * @param WP_REST_Request $request Full details about the request. |
61 | 61 | * @return true|WP_Error True if the request has read access, WP_Error object otherwise. |
62 | 62 | */ |
63 | - public function get_items_permissions_check( $request ) { |
|
63 | + public function get_items_permissions_check($request) { |
|
64 | 64 | |
65 | - $post_type = get_post_type_object( $this->post_type ); |
|
65 | + $post_type = get_post_type_object($this->post_type); |
|
66 | 66 | |
67 | - if ( 'edit' === $request['context'] && ! current_user_can( $post_type->cap->edit_posts ) ) { |
|
68 | - return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit items.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
67 | + if ('edit' === $request['context'] && !current_user_can($post_type->cap->edit_posts)) { |
|
68 | + return new WP_Error('rest_forbidden_context', __('Sorry, you are not allowed to edit items.', 'invoicing'), array('status' => rest_authorization_required_code())); |
|
69 | 69 | } |
70 | 70 | |
71 | - if ( ! is_user_logged_in() ) { |
|
72 | - return new WP_Error( 'rest_forbidden', __( 'Sorry, you must be logged in to view items.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
71 | + if (!is_user_logged_in()) { |
|
72 | + return new WP_Error('rest_forbidden', __('Sorry, you must be logged in to view items.', 'invoicing'), array('status' => rest_authorization_required_code())); |
|
73 | 73 | } |
74 | 74 | |
75 | 75 | // Read checks will be evaluated on a per invoice basis |
@@ -86,33 +86,33 @@ discard block |
||
86 | 86 | * @param WP_REST_Request $request Full details about the request. |
87 | 87 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
88 | 88 | */ |
89 | - public function get_items( $request ) { |
|
89 | + public function get_items($request) { |
|
90 | 90 | |
91 | 91 | // Retrieve request query parameters. |
92 | - $args = $this->get_request_collection_params( $request ); |
|
92 | + $args = $this->get_request_collection_params($request); |
|
93 | 93 | |
94 | 94 | // WP_Query Args. |
95 | - $wp_query_args = $this->get_collection_wp_query_params( $args, $request ); |
|
95 | + $wp_query_args = $this->get_collection_wp_query_params($args, $request); |
|
96 | 96 | |
97 | 97 | // Get invoice ids... |
98 | - $query = new WP_Query( $wp_query_args ); |
|
98 | + $query = new WP_Query($wp_query_args); |
|
99 | 99 | |
100 | 100 | // ... and map them into invoice objects. |
101 | - $_invoices = array_map( array( $this, 'get_post' ), $query->posts ); |
|
101 | + $_invoices = array_map(array($this, 'get_post'), $query->posts); |
|
102 | 102 | |
103 | 103 | // Prepare the retrieved invoices |
104 | 104 | $invoices = array(); |
105 | 105 | |
106 | - foreach( $_invoices as $invoice ) { |
|
107 | - if ( $this->check_read_permission( $invoice ) ) { |
|
108 | - $invoices[] = $this->prepare_response_for_collection( $this->prepare_item_for_response( $invoice, $request ) ); |
|
106 | + foreach ($_invoices as $invoice) { |
|
107 | + if ($this->check_read_permission($invoice)) { |
|
108 | + $invoices[] = $this->prepare_response_for_collection($this->prepare_item_for_response($invoice, $request)); |
|
109 | 109 | } |
110 | 110 | } |
111 | 111 | |
112 | 112 | // Prepare the response. |
113 | - $response = rest_ensure_response( $invoices ); |
|
114 | - $response->header( 'X-WP-Total', (int) $query->found_posts ); |
|
115 | - $response->header( 'X-WP-TotalPages', (int) $query->max_num_pages ); |
|
113 | + $response = rest_ensure_response($invoices); |
|
114 | + $response->header('X-WP-Total', (int) $query->found_posts); |
|
115 | + $response->header('X-WP-TotalPages', (int) $query->max_num_pages); |
|
116 | 116 | |
117 | 117 | /** |
118 | 118 | * Filters the responses for invoices requests. |
@@ -125,9 +125,9 @@ discard block |
||
125 | 125 | * @param WP_REST_Request $request The request used. |
126 | 126 | * @param array $args Array of args used to retrieve the invoices |
127 | 127 | */ |
128 | - $response = apply_filters( "wpinv_rest_invoices_response", $response, $request, $args ); |
|
128 | + $response = apply_filters("wpinv_rest_invoices_response", $response, $request, $args); |
|
129 | 129 | |
130 | - return rest_ensure_response( $response ); |
|
130 | + return rest_ensure_response($response); |
|
131 | 131 | |
132 | 132 | } |
133 | 133 | |
@@ -139,17 +139,17 @@ discard block |
||
139 | 139 | * @param int $invoice_id Supplied ID. |
140 | 140 | * @return WPInv_Invoice|WP_Error Invoice object if ID is valid, WP_Error otherwise. |
141 | 141 | */ |
142 | - protected function get_post( $invoice_id ) { |
|
142 | + protected function get_post($invoice_id) { |
|
143 | 143 | |
144 | - $error = new WP_Error( 'rest_invoice_invalid_id', __( 'Invalid item ID.', 'invoicing' ), array( 'status' => 404 ) ); |
|
144 | + $error = new WP_Error('rest_invoice_invalid_id', __('Invalid item ID.', 'invoicing'), array('status' => 404)); |
|
145 | 145 | |
146 | 146 | // Ids start from 1 |
147 | - if ( (int) $invoice_id <= 0 ) { |
|
147 | + if ((int) $invoice_id <= 0) { |
|
148 | 148 | return $error; |
149 | 149 | } |
150 | 150 | |
151 | - $invoice = wpinv_get_invoice( (int) $invoice_id ); |
|
152 | - if ( empty( $invoice ) || $this->post_type !== $invoice->post_type ) { |
|
151 | + $invoice = wpinv_get_invoice((int) $invoice_id); |
|
152 | + if (empty($invoice) || $this->post_type !== $invoice->post_type) { |
|
153 | 153 | return $error; |
154 | 154 | } |
155 | 155 | |
@@ -165,18 +165,18 @@ discard block |
||
165 | 165 | * @param WP_REST_Request $request Full details about the request. |
166 | 166 | * @return bool|WP_Error True if the request has read access for the invoice, WP_Error object otherwise. |
167 | 167 | */ |
168 | - public function get_item_permissions_check( $request ) { |
|
168 | + public function get_item_permissions_check($request) { |
|
169 | 169 | |
170 | 170 | // Retrieve the invoice object. |
171 | - $invoice = $this->get_post( $request['id'] ); |
|
171 | + $invoice = $this->get_post($request['id']); |
|
172 | 172 | |
173 | 173 | // Ensure it is valid. |
174 | - if ( is_wp_error( $invoice ) ) { |
|
174 | + if (is_wp_error($invoice)) { |
|
175 | 175 | return $invoice; |
176 | 176 | } |
177 | 177 | |
178 | - if ( $invoice ) { |
|
179 | - return $this->check_read_permission( $invoice ); |
|
178 | + if ($invoice) { |
|
179 | + return $this->check_read_permission($invoice); |
|
180 | 180 | } |
181 | 181 | |
182 | 182 | return true; |
@@ -193,8 +193,8 @@ discard block |
||
193 | 193 | * @param WPInv_Invoice $invoice WPInv_Invoice object. |
194 | 194 | * @return bool Whether the post can be read. |
195 | 195 | */ |
196 | - public function check_read_permission( $invoice ) { |
|
197 | - return wpinv_user_can_view_invoice( $invoice->ID ); |
|
196 | + public function check_read_permission($invoice) { |
|
197 | + return wpinv_user_can_view_invoice($invoice->ID); |
|
198 | 198 | } |
199 | 199 | |
200 | 200 | /** |
@@ -205,19 +205,19 @@ discard block |
||
205 | 205 | * @param WP_REST_Request $request Full details about the request. |
206 | 206 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
207 | 207 | */ |
208 | - public function get_item( $request ) { |
|
208 | + public function get_item($request) { |
|
209 | 209 | |
210 | 210 | // Fetch the invoice. |
211 | - $invoice = $this->get_post( $request['id'] ); |
|
211 | + $invoice = $this->get_post($request['id']); |
|
212 | 212 | |
213 | 213 | // Abort early if it does not exist |
214 | - if ( is_wp_error( $invoice ) ) { |
|
214 | + if (is_wp_error($invoice)) { |
|
215 | 215 | return $invoice; |
216 | 216 | } |
217 | 217 | |
218 | 218 | // Prepare the response |
219 | - $response = $this->prepare_item_for_response( $invoice, $request ); |
|
220 | - $response->link_header( 'alternate', esc_url( $invoice->get_view_url() ), array( 'type' => 'text/html' ) ); |
|
219 | + $response = $this->prepare_item_for_response($invoice, $request); |
|
220 | + $response->link_header('alternate', esc_url($invoice->get_view_url()), array('type' => 'text/html')); |
|
221 | 221 | |
222 | 222 | /** |
223 | 223 | * Filters the responses for single invoice requests. |
@@ -229,9 +229,9 @@ discard block |
||
229 | 229 | * @param WP_HTTP_Response $response Response. |
230 | 230 | * @param WP_REST_Request $request The request used. |
231 | 231 | */ |
232 | - $response = apply_filters( "wpinv_rest_get_invoice_response", $response, $request ); |
|
232 | + $response = apply_filters("wpinv_rest_get_invoice_response", $response, $request); |
|
233 | 233 | |
234 | - return rest_ensure_response( $response ); |
|
234 | + return rest_ensure_response($response); |
|
235 | 235 | |
236 | 236 | } |
237 | 237 | |
@@ -243,18 +243,18 @@ discard block |
||
243 | 243 | * @param WP_REST_Request $request Full details about the request. |
244 | 244 | * @return true|WP_Error True if the request has access to create items, WP_Error object otherwise. |
245 | 245 | */ |
246 | - public function create_item_permissions_check( $request ) { |
|
246 | + public function create_item_permissions_check($request) { |
|
247 | 247 | |
248 | - if ( ! empty( $request['id'] ) ) { |
|
249 | - return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing item.', 'invoicing' ), array( 'status' => 400 ) ); |
|
248 | + if (!empty($request['id'])) { |
|
249 | + return new WP_Error('rest_invoice_exists', __('Cannot create existing item.', 'invoicing'), array('status' => 400)); |
|
250 | 250 | } |
251 | 251 | |
252 | - $post_type = get_post_type_object( $this->post_type ); |
|
252 | + $post_type = get_post_type_object($this->post_type); |
|
253 | 253 | |
254 | - if ( ! current_user_can( $post_type->cap->create_posts ) && ! wpinv_current_user_can_manage_invoicing() ) { |
|
254 | + if (!current_user_can($post_type->cap->create_posts) && !wpinv_current_user_can_manage_invoicing()) { |
|
255 | 255 | return new WP_Error( |
256 | 256 | 'rest_cannot_create', |
257 | - __( 'Sorry, you are not allowed to create items as this user.', 'invoicing' ), |
|
257 | + __('Sorry, you are not allowed to create items as this user.', 'invoicing'), |
|
258 | 258 | array( |
259 | 259 | 'status' => rest_authorization_required_code(), |
260 | 260 | ) |
@@ -272,32 +272,32 @@ discard block |
||
272 | 272 | * @param WP_REST_Request $request Full details about the request. |
273 | 273 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
274 | 274 | */ |
275 | - public function create_item( $request ) { |
|
275 | + public function create_item($request) { |
|
276 | 276 | |
277 | - if ( ! empty( $request['id'] ) ) { |
|
278 | - return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing item.', 'invoicing' ), array( 'status' => 400 ) ); |
|
277 | + if (!empty($request['id'])) { |
|
278 | + return new WP_Error('rest_invoice_exists', __('Cannot create existing item.', 'invoicing'), array('status' => 400)); |
|
279 | 279 | } |
280 | 280 | |
281 | - $request->set_param( 'context', 'edit' ); |
|
281 | + $request->set_param('context', 'edit'); |
|
282 | 282 | |
283 | 283 | // Prepare the updated data. |
284 | - $invoice_data = $this->prepare_item_for_database( $request ); |
|
284 | + $invoice_data = $this->prepare_item_for_database($request); |
|
285 | 285 | |
286 | - if ( is_wp_error( $invoice_data ) ) { |
|
286 | + if (is_wp_error($invoice_data)) { |
|
287 | 287 | return $invoice_data; |
288 | 288 | } |
289 | 289 | |
290 | 290 | // Try creating the invoice |
291 | 291 | $invoice_data['post_type'] = $this->post_type; |
292 | - $invoice_data['private_note'] = __( 'Created via API.', 'invoicing' ); |
|
293 | - $invoice = wpinv_insert_invoice( $invoice_data, true ); |
|
292 | + $invoice_data['private_note'] = __('Created via API.', 'invoicing'); |
|
293 | + $invoice = wpinv_insert_invoice($invoice_data, true); |
|
294 | 294 | |
295 | - if ( is_wp_error( $invoice ) ) { |
|
295 | + if (is_wp_error($invoice)) { |
|
296 | 296 | return $invoice; |
297 | 297 | } |
298 | 298 | |
299 | 299 | // Prepare the response |
300 | - $response = $this->prepare_item_for_response( $invoice, $request ); |
|
300 | + $response = $this->prepare_item_for_response($invoice, $request); |
|
301 | 301 | |
302 | 302 | /** |
303 | 303 | * Fires after a single invoice is created or updated via the REST API. |
@@ -308,7 +308,7 @@ discard block |
||
308 | 308 | * @param WP_REST_Request $request Request object. |
309 | 309 | * @param bool $creating True when creating a post, false when updating. |
310 | 310 | */ |
311 | - do_action( "wpinv_rest_insert_invoice", $invoice, $request, true ); |
|
311 | + do_action("wpinv_rest_insert_invoice", $invoice, $request, true); |
|
312 | 312 | |
313 | 313 | /** |
314 | 314 | * Filters the responses for creating single invoice requests. |
@@ -320,9 +320,9 @@ discard block |
||
320 | 320 | * @param array $invoice_data Invoice properties. |
321 | 321 | * @param WP_REST_Request $request The request used. |
322 | 322 | */ |
323 | - $response = apply_filters( "wpinv_rest_create_invoice_response", $response, $request ); |
|
323 | + $response = apply_filters("wpinv_rest_create_invoice_response", $response, $request); |
|
324 | 324 | |
325 | - return rest_ensure_response( $response ); |
|
325 | + return rest_ensure_response($response); |
|
326 | 326 | } |
327 | 327 | |
328 | 328 | /** |
@@ -333,20 +333,20 @@ discard block |
||
333 | 333 | * @param WP_REST_Request $request Full details about the request. |
334 | 334 | * @return true|WP_Error True if the request has access to update the item, WP_Error object otherwise. |
335 | 335 | */ |
336 | - public function update_item_permissions_check( $request ) { |
|
336 | + public function update_item_permissions_check($request) { |
|
337 | 337 | |
338 | 338 | // Retrieve the invoice. |
339 | - $invoice = $this->get_post( $request['id'] ); |
|
340 | - if ( is_wp_error( $invoice ) ) { |
|
339 | + $invoice = $this->get_post($request['id']); |
|
340 | + if (is_wp_error($invoice)) { |
|
341 | 341 | return $invoice; |
342 | 342 | } |
343 | 343 | |
344 | - $post_type = get_post_type_object( $this->post_type ); |
|
344 | + $post_type = get_post_type_object($this->post_type); |
|
345 | 345 | |
346 | - if ( ! current_user_can( $post_type->cap->edit_post, $invoice->ID ) ) { |
|
346 | + if (!current_user_can($post_type->cap->edit_post, $invoice->ID)) { |
|
347 | 347 | return new WP_Error( |
348 | 348 | 'rest_cannot_edit', |
349 | - __( 'Sorry, you are not allowed to update this item.', 'invoicing' ), |
|
349 | + __('Sorry, you are not allowed to update this item.', 'invoicing'), |
|
350 | 350 | array( |
351 | 351 | 'status' => rest_authorization_required_code(), |
352 | 352 | ) |
@@ -364,46 +364,46 @@ discard block |
||
364 | 364 | * @param WP_REST_Request $request Full details about the request. |
365 | 365 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
366 | 366 | */ |
367 | - public function update_item( $request ) { |
|
367 | + public function update_item($request) { |
|
368 | 368 | |
369 | 369 | // Ensure the invoice exists. |
370 | - $valid_check = $this->get_post( $request['id'] ); |
|
370 | + $valid_check = $this->get_post($request['id']); |
|
371 | 371 | |
372 | 372 | // Abort early if it does not exist |
373 | - if ( is_wp_error( $valid_check ) ) { |
|
373 | + if (is_wp_error($valid_check)) { |
|
374 | 374 | return $valid_check; |
375 | 375 | } |
376 | 376 | |
377 | - $request->set_param( 'context', 'edit' ); |
|
377 | + $request->set_param('context', 'edit'); |
|
378 | 378 | |
379 | 379 | // Prepare the updated data. |
380 | - $data_to_update = $this->prepare_item_for_database( $request ); |
|
380 | + $data_to_update = $this->prepare_item_for_database($request); |
|
381 | 381 | |
382 | - if ( is_wp_error( $data_to_update ) ) { |
|
382 | + if (is_wp_error($data_to_update)) { |
|
383 | 383 | return $data_to_update; |
384 | 384 | } |
385 | 385 | |
386 | 386 | // Abort if no invoice data is provided |
387 | - if( empty( $data_to_update ) ) { |
|
388 | - return new WP_Error( 'missing_data', __( 'An update request cannot be empty.', 'invoicing' ) ); |
|
387 | + if (empty($data_to_update)) { |
|
388 | + return new WP_Error('missing_data', __('An update request cannot be empty.', 'invoicing')); |
|
389 | 389 | } |
390 | 390 | |
391 | 391 | // Include the invoice ID |
392 | 392 | $data_to_update['ID'] = $request['id']; |
393 | 393 | |
394 | 394 | // Update the invoice |
395 | - $updated_invoice = wpinv_update_invoice( $data_to_update, true ); |
|
395 | + $updated_invoice = wpinv_update_invoice($data_to_update, true); |
|
396 | 396 | |
397 | 397 | // Incase the update operation failed... |
398 | - if ( is_wp_error( $updated_invoice ) ) { |
|
398 | + if (is_wp_error($updated_invoice)) { |
|
399 | 399 | return $updated_invoice; |
400 | 400 | } |
401 | 401 | |
402 | 402 | // Prepare the response |
403 | - $response = $this->prepare_item_for_response( $updated_invoice, $request ); |
|
403 | + $response = $this->prepare_item_for_response($updated_invoice, $request); |
|
404 | 404 | |
405 | 405 | /** This action is documented in includes/class-wpinv-rest-invoice-controller.php */ |
406 | - do_action( "wpinv_rest_insert_invoice", $updated_invoice, $request, false ); |
|
406 | + do_action("wpinv_rest_insert_invoice", $updated_invoice, $request, false); |
|
407 | 407 | |
408 | 408 | /** |
409 | 409 | * Filters the responses for updating single invoice requests. |
@@ -415,9 +415,9 @@ discard block |
||
415 | 415 | * @param array $invoice_data Invoice properties. |
416 | 416 | * @param WP_REST_Request $request The request used. |
417 | 417 | */ |
418 | - $response = apply_filters( "wpinv_rest_update_invoice_response", $response, $request ); |
|
418 | + $response = apply_filters("wpinv_rest_update_invoice_response", $response, $request); |
|
419 | 419 | |
420 | - return rest_ensure_response( $response ); |
|
420 | + return rest_ensure_response($response); |
|
421 | 421 | } |
422 | 422 | |
423 | 423 | /** |
@@ -428,22 +428,22 @@ discard block |
||
428 | 428 | * @param WP_REST_Request $request Full details about the request. |
429 | 429 | * @return true|WP_Error True if the request has access to delete the invoice, WP_Error object otherwise. |
430 | 430 | */ |
431 | - public function delete_item_permissions_check( $request ) { |
|
431 | + public function delete_item_permissions_check($request) { |
|
432 | 432 | |
433 | 433 | // Retrieve the invoice. |
434 | - $invoice = $this->get_post( $request['id'] ); |
|
435 | - if ( is_wp_error( $invoice ) ) { |
|
434 | + $invoice = $this->get_post($request['id']); |
|
435 | + if (is_wp_error($invoice)) { |
|
436 | 436 | return $invoice; |
437 | 437 | } |
438 | 438 | |
439 | 439 | // Ensure the current user can delete invoices |
440 | - if ( wpinv_current_user_can_manage_invoicing() || current_user_can( 'delete_invoices', $request['id'] ) ) { |
|
440 | + if (wpinv_current_user_can_manage_invoicing() || current_user_can('delete_invoices', $request['id'])) { |
|
441 | 441 | return true; |
442 | 442 | } |
443 | 443 | |
444 | 444 | return new WP_Error( |
445 | 445 | 'rest_cannot_delete', |
446 | - __( 'Sorry, you are not allowed to delete this item.', 'invoicing' ), |
|
446 | + __('Sorry, you are not allowed to delete this item.', 'invoicing'), |
|
447 | 447 | array( |
448 | 448 | 'status' => rest_authorization_required_code(), |
449 | 449 | ) |
@@ -458,31 +458,31 @@ discard block |
||
458 | 458 | * @param WP_REST_Request $request Full details about the request. |
459 | 459 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
460 | 460 | */ |
461 | - public function delete_item( $request ) { |
|
461 | + public function delete_item($request) { |
|
462 | 462 | |
463 | 463 | // Retrieve the invoice. |
464 | - $invoice = $this->get_post( $request['id'] ); |
|
465 | - if ( is_wp_error( $invoice ) ) { |
|
464 | + $invoice = $this->get_post($request['id']); |
|
465 | + if (is_wp_error($invoice)) { |
|
466 | 466 | return $invoice; |
467 | 467 | } |
468 | 468 | |
469 | - $request->set_param( 'context', 'edit' ); |
|
469 | + $request->set_param('context', 'edit'); |
|
470 | 470 | |
471 | 471 | // Prepare the invoice id |
472 | - $id = $invoice->ID; |
|
472 | + $id = $invoice->ID; |
|
473 | 473 | |
474 | 474 | // Prepare the response |
475 | - $response = $this->prepare_item_for_response( $invoice, $request ); |
|
475 | + $response = $this->prepare_item_for_response($invoice, $request); |
|
476 | 476 | |
477 | 477 | // Check if the user wants to bypass the trash... |
478 | 478 | $force_delete = (bool) $request['force']; |
479 | 479 | |
480 | 480 | // Try deleting the invoice. |
481 | - $deleted = wp_delete_post( $id, $force_delete ); |
|
481 | + $deleted = wp_delete_post($id, $force_delete); |
|
482 | 482 | |
483 | 483 | // Abort early if we can't delete the invoice. |
484 | - if ( ! $deleted ) { |
|
485 | - return new WP_Error( 'rest_cannot_delete', __( 'The item cannot be deleted.', 'invoicing' ), array( 'status' => 500 ) ); |
|
484 | + if (!$deleted) { |
|
485 | + return new WP_Error('rest_cannot_delete', __('The item cannot be deleted.', 'invoicing'), array('status' => 500)); |
|
486 | 486 | } |
487 | 487 | |
488 | 488 | /** |
@@ -494,7 +494,7 @@ discard block |
||
494 | 494 | * @param WPInv_Invoice $invoice The deleted or trashed invoice. |
495 | 495 | * @param WP_REST_Request $request The request sent to the API. |
496 | 496 | */ |
497 | - do_action( "wpinv_rest_delete_invoice", $invoice, $request ); |
|
497 | + do_action("wpinv_rest_delete_invoice", $invoice, $request); |
|
498 | 498 | |
499 | 499 | return $response; |
500 | 500 | |
@@ -510,29 +510,29 @@ discard block |
||
510 | 510 | */ |
511 | 511 | public function get_collection_params() { |
512 | 512 | |
513 | - $query_params = array( |
|
513 | + $query_params = array( |
|
514 | 514 | |
515 | 515 | // item status. |
516 | 516 | 'status' => array( |
517 | 517 | 'default' => $this->get_post_statuses(), |
518 | - 'description' => __( 'Limit result set to items assigned one or more statuses.', 'invoicing' ), |
|
518 | + 'description' => __('Limit result set to items assigned one or more statuses.', 'invoicing'), |
|
519 | 519 | 'type' => 'array', |
520 | 520 | 'items' => array( |
521 | 521 | 'enum' => $this->get_post_statuses(), |
522 | 522 | 'type' => 'string', |
523 | 523 | ), |
524 | - 'sanitize_callback' => array( $this, 'sanitize_post_statuses' ), |
|
524 | + 'sanitize_callback' => array($this, 'sanitize_post_statuses'), |
|
525 | 525 | ), |
526 | 526 | |
527 | 527 | // User. |
528 | 528 | 'user' => array( |
529 | - 'description' => __( 'Limit result set to items for a specif user. Accepts a user ID, or comma-separated list of IDs', 'invoicing' ), |
|
529 | + 'description' => __('Limit result set to items for a specif user. Accepts a user ID, or comma-separated list of IDs', 'invoicing'), |
|
530 | 530 | 'type' => 'string', |
531 | 531 | ), |
532 | 532 | |
533 | 533 | // Exclude certain users |
534 | 534 | 'exclude_users' => array( |
535 | - 'description' => __( 'Exclude items from specific users.', 'invoicing' ), |
|
535 | + 'description' => __('Exclude items from specific users.', 'invoicing'), |
|
536 | 536 | 'type' => 'array', |
537 | 537 | 'items' => array( |
538 | 538 | 'type' => 'integer', |
@@ -542,62 +542,62 @@ discard block |
||
542 | 542 | |
543 | 543 | // Items before. |
544 | 544 | 'before_date' => array( |
545 | - 'description' => __( 'Limit result set to items created before a specific date. Accepts strtotime()-compatible string.', 'invoicing' ), |
|
545 | + 'description' => __('Limit result set to items created before a specific date. Accepts strtotime()-compatible string.', 'invoicing'), |
|
546 | 546 | 'type' => 'string', |
547 | 547 | ), |
548 | 548 | |
549 | 549 | 'meta_key' => array( |
550 | - 'description' => __( 'Filter items by custom field key.', 'invoicing' ), |
|
550 | + 'description' => __('Filter items by custom field key.', 'invoicing'), |
|
551 | 551 | 'type' => 'string', |
552 | 552 | ), |
553 | 553 | |
554 | 554 | 'meta_compare_key' => array( |
555 | - 'description' => __( 'Comparison operator to test the `meta_key`.', 'invoicing' ), |
|
555 | + 'description' => __('Comparison operator to test the `meta_key`.', 'invoicing'), |
|
556 | 556 | 'type' => 'string', |
557 | 557 | 'default' => '=', |
558 | - 'enum' => array_map( 'trim', explode( ',', '=, !=, >, >=, <, <=, LIKE NOT, LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, NOT EXISTS, REGEXP, NOT REGEXP, RLIKE' ) ), |
|
558 | + 'enum' => array_map('trim', explode(',', '=, !=, >, >=, <, <=, LIKE NOT, LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, NOT EXISTS, REGEXP, NOT REGEXP, RLIKE')), |
|
559 | 559 | ), |
560 | 560 | |
561 | 561 | 'meta_value' => array( |
562 | - 'description' => __( 'Filter items by custom field value.', 'invoicing' ), |
|
562 | + 'description' => __('Filter items by custom field value.', 'invoicing'), |
|
563 | 563 | 'type' => 'string', |
564 | 564 | ), |
565 | 565 | |
566 | 566 | 'meta_compare' => array( |
567 | - 'description' => __( 'Comparison operator to test the `meta_value`.', 'invoicing' ), |
|
567 | + 'description' => __('Comparison operator to test the `meta_value`.', 'invoicing'), |
|
568 | 568 | 'type' => 'string', |
569 | 569 | 'default' => '=', |
570 | - 'enum' => array_map( 'trim', explode( ',', '=, !=, >, >=, <, <=, LIKE NOT, LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, NOT EXISTS, REGEXP, NOT REGEXP, RLIKE' ) ), |
|
570 | + 'enum' => array_map('trim', explode(',', '=, !=, >, >=, <, <=, LIKE NOT, LIKE, IN, NOT IN, BETWEEN, NOT BETWEEN, NOT EXISTS, REGEXP, NOT REGEXP, RLIKE')), |
|
571 | 571 | ), |
572 | 572 | |
573 | 573 | 'meta_value_num' => array( |
574 | - 'description' => __( 'Filter items by a numeric custom field value.', 'invoicing' ), |
|
574 | + 'description' => __('Filter items by a numeric custom field value.', 'invoicing'), |
|
575 | 575 | 'type' => 'integer', |
576 | 576 | ), |
577 | 577 | |
578 | 578 | // items after. |
579 | 579 | 'after_date' => array( |
580 | - 'description' => __( 'Limit result set to items created after a specific date. Accepts strtotime()-compatible string.', 'invoicing' ), |
|
580 | + 'description' => __('Limit result set to items created after a specific date. Accepts strtotime()-compatible string.', 'invoicing'), |
|
581 | 581 | 'type' => 'string', |
582 | 582 | ), |
583 | 583 | |
584 | 584 | // Number of results per page |
585 | 585 | 'limit' => array( |
586 | - 'description' => __( 'Number of items to fetch.', 'invoicing' ), |
|
586 | + 'description' => __('Number of items to fetch.', 'invoicing'), |
|
587 | 587 | 'type' => 'integer', |
588 | - 'default' => (int) get_option( 'posts_per_page' ), |
|
588 | + 'default' => (int) get_option('posts_per_page'), |
|
589 | 589 | ), |
590 | 590 | |
591 | 591 | // Pagination |
592 | 592 | 'page' => array( |
593 | - 'description' => __( 'Current page to fetch.', 'invoicing' ), |
|
593 | + 'description' => __('Current page to fetch.', 'invoicing'), |
|
594 | 594 | 'type' => 'integer', |
595 | 595 | 'default' => 1, |
596 | 596 | ), |
597 | 597 | |
598 | 598 | // limit to certain items |
599 | 599 | 'include' => array( |
600 | - 'description' => __( 'Limit result set to specific IDs.', 'invoicing' ), |
|
600 | + 'description' => __('Limit result set to specific IDs.', 'invoicing'), |
|
601 | 601 | 'type' => 'array', |
602 | 602 | 'items' => array( |
603 | 603 | 'type' => 'integer', |
@@ -607,7 +607,7 @@ discard block |
||
607 | 607 | |
608 | 608 | // Exclude certain items |
609 | 609 | 'exclude' => array( |
610 | - 'description' => __( 'Ensure result set excludes specific IDs.', 'invoicing' ), |
|
610 | + 'description' => __('Ensure result set excludes specific IDs.', 'invoicing'), |
|
611 | 611 | 'type' => 'array', |
612 | 612 | 'items' => array( |
613 | 613 | 'type' => 'integer', |
@@ -617,7 +617,7 @@ discard block |
||
617 | 617 | |
618 | 618 | // Order items by |
619 | 619 | 'orderby' => array( |
620 | - 'description' => __( 'Sort retrieved items by parameter.', 'invoicing' ), |
|
620 | + 'description' => __('Sort retrieved items by parameter.', 'invoicing'), |
|
621 | 621 | 'type' => 'string', |
622 | 622 | 'default' => 'date', |
623 | 623 | 'enum' => array( |
@@ -632,10 +632,10 @@ discard block |
||
632 | 632 | |
633 | 633 | // How to order |
634 | 634 | 'order' => array( |
635 | - 'description' => __( 'Designates ascending or descending order of ítems.', 'invoicing' ), |
|
635 | + 'description' => __('Designates ascending or descending order of ítems.', 'invoicing'), |
|
636 | 636 | 'type' => 'string', |
637 | 637 | 'default' => 'DESC', |
638 | - 'enum' => array( 'ASC', 'DESC' ), |
|
638 | + 'enum' => array('ASC', 'DESC'), |
|
639 | 639 | ), |
640 | 640 | ); |
641 | 641 | |
@@ -647,7 +647,7 @@ discard block |
||
647 | 647 | * |
648 | 648 | * @param array $query_params JSON Schema-formatted collection parameters. |
649 | 649 | */ |
650 | - return apply_filters( "wpinv_rest_invoices_collection_params", $query_params ); |
|
650 | + return apply_filters("wpinv_rest_invoices_collection_params", $query_params); |
|
651 | 651 | } |
652 | 652 | |
653 | 653 | /** |
@@ -657,7 +657,7 @@ discard block |
||
657 | 657 | * @param WP_REST_Request $request Full details about the request. |
658 | 658 | * @return array Request collection parameters. |
659 | 659 | */ |
660 | - public function get_request_collection_params( $request ) { |
|
660 | + public function get_request_collection_params($request) { |
|
661 | 661 | |
662 | 662 | // Retrieve the list of registered invoice query parameters. |
663 | 663 | $registered = $this->get_collection_params(); |
@@ -674,7 +674,7 @@ discard block |
||
674 | 674 | 'meta_compare' => '=', |
675 | 675 | 'meta_value_num' => null, |
676 | 676 | 'after_date' => null, |
677 | - 'limit' => (int) get_option( 'posts_per_page' ), |
|
677 | + 'limit' => (int) get_option('posts_per_page'), |
|
678 | 678 | 'page' => 1, |
679 | 679 | 'include' => array(), |
680 | 680 | 'exclude' => array(), |
@@ -683,9 +683,9 @@ discard block |
||
683 | 683 | ); |
684 | 684 | |
685 | 685 | // Add any params from the requests. |
686 | - foreach ( array_keys( $registered ) as $key ) { |
|
687 | - if ( isset( $request[ $key] ) ) { |
|
688 | - $args[ $key ] = $request[ $key]; |
|
686 | + foreach (array_keys($registered) as $key) { |
|
687 | + if (isset($request[$key])) { |
|
688 | + $args[$key] = $request[$key]; |
|
689 | 689 | } |
690 | 690 | } |
691 | 691 | |
@@ -698,7 +698,7 @@ discard block |
||
698 | 698 | * @param array $args Request query args. |
699 | 699 | * @param WP_REST_Request $request Full details about the request. |
700 | 700 | */ |
701 | - return apply_filters( "wpinv_rest_invoices_collection_request_params", $args, $request ); |
|
701 | + return apply_filters("wpinv_rest_invoices_collection_request_params", $args, $request); |
|
702 | 702 | } |
703 | 703 | |
704 | 704 | /** |
@@ -709,7 +709,7 @@ discard block |
||
709 | 709 | * @param WP_REST_Request $request Full details about the request. |
710 | 710 | * @return array WP_Query parameters. |
711 | 711 | */ |
712 | - public function get_collection_wp_query_params( $args, $request ) { |
|
712 | + public function get_collection_wp_query_params($args, $request) { |
|
713 | 713 | |
714 | 714 | // Prepare the parameters. |
715 | 715 | $wp_query_args = array( |
@@ -726,35 +726,35 @@ discard block |
||
726 | 726 | 'meta_value_num' => $args['meta_value_num'], |
727 | 727 | 'post__in' => $args['include'], |
728 | 728 | 'post__in' => $args['exclude'], |
729 | - 'date_query' => array( array() ), |
|
729 | + 'date_query' => array(array()), |
|
730 | 730 | 'fields' => 'ids', |
731 | 731 | 'orderby' => $args['orderby'], |
732 | 732 | 'order' => $args['order'], |
733 | 733 | ); |
734 | 734 | |
735 | 735 | // Only admins can view other user's invoices. |
736 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
736 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
737 | 737 | $wp_query_args['author'] = get_current_user_id(); |
738 | 738 | } |
739 | 739 | |
740 | 740 | // No date specific params provided. |
741 | - if ( empty( $args['before_date'] ) && empty( $args['after_date'] ) ) { |
|
742 | - unset( $wp_query_args['date_query'] ); |
|
741 | + if (empty($args['before_date']) && empty($args['after_date'])) { |
|
742 | + unset($wp_query_args['date_query']); |
|
743 | 743 | } |
744 | 744 | |
745 | - if ( ! empty( $args['before_date'] ) ) { |
|
745 | + if (!empty($args['before_date'])) { |
|
746 | 746 | $wp_query_args['date_query'][0]['before'] = $args['before_date']; |
747 | 747 | } |
748 | 748 | |
749 | - if ( ! empty( $args['after_date'] ) ) { |
|
749 | + if (!empty($args['after_date'])) { |
|
750 | 750 | $wp_query_args['date_query'][0]['after'] = $args['after_date']; |
751 | 751 | } |
752 | 752 | |
753 | 753 | // Remove empty variables. |
754 | - $wp_query_args = array_filter( $wp_query_args ); |
|
754 | + $wp_query_args = array_filter($wp_query_args); |
|
755 | 755 | |
756 | 756 | // This can be zero. |
757 | - if ( ! is_null( $args['meta_value_num'] ) ) { |
|
757 | + if (!is_null($args['meta_value_num'])) { |
|
758 | 758 | $wp_query_args['meta_value_num'] = $args['meta_value_num']; |
759 | 759 | } |
760 | 760 | |
@@ -768,7 +768,7 @@ discard block |
||
768 | 768 | * @param array $wp_query_args Generated WP_Query args args. |
769 | 769 | * @param WP_REST_Request $request Full details about the request. |
770 | 770 | */ |
771 | - return apply_filters( "wpinv_rest_invoices_collection_wp_query_params", $wp_query_args, $args, $request ); |
|
771 | + return apply_filters("wpinv_rest_invoices_collection_wp_query_params", $wp_query_args, $args, $request); |
|
772 | 772 | } |
773 | 773 | |
774 | 774 | /** |
@@ -779,7 +779,7 @@ discard block |
||
779 | 779 | * @param object|string $post_type Post type name or object. |
780 | 780 | * @return bool Whether the post type is allowed in REST. |
781 | 781 | */ |
782 | - protected function check_is_post_type_allowed( $post_type ) { |
|
782 | + protected function check_is_post_type_allowed($post_type) { |
|
783 | 783 | return true; |
784 | 784 | } |
785 | 785 | |
@@ -791,49 +791,49 @@ discard block |
||
791 | 791 | * @param WP_REST_Request $request Request object. |
792 | 792 | * @return array|WP_Error Invoice Properties or WP_Error. |
793 | 793 | */ |
794 | - protected function prepare_item_for_database( $request ) { |
|
794 | + protected function prepare_item_for_database($request) { |
|
795 | 795 | $prepared_invoice = new stdClass(); |
796 | 796 | |
797 | 797 | // Post ID. |
798 | - if ( isset( $request['id'] ) ) { |
|
799 | - $existing_invoice = $this->get_post( $request['id'] ); |
|
800 | - if ( is_wp_error( $existing_invoice ) ) { |
|
798 | + if (isset($request['id'])) { |
|
799 | + $existing_invoice = $this->get_post($request['id']); |
|
800 | + if (is_wp_error($existing_invoice)) { |
|
801 | 801 | return $existing_invoice; |
802 | 802 | } |
803 | 803 | |
804 | - $prepared_invoice->ID = $existing_invoice->ID; |
|
804 | + $prepared_invoice->ID = $existing_invoice->ID; |
|
805 | 805 | $prepared_invoice->invoice_id = $existing_invoice->ID; |
806 | 806 | } |
807 | 807 | |
808 | 808 | $schema = $this->get_item_schema(); |
809 | 809 | |
810 | 810 | // Invoice owner. |
811 | - if ( ! empty( $schema['properties']['user_id'] ) && isset( $request['user_id'] ) ) { |
|
811 | + if (!empty($schema['properties']['user_id']) && isset($request['user_id'])) { |
|
812 | 812 | $prepared_invoice->user_id = (int) $request['user_id']; |
813 | 813 | } |
814 | 814 | |
815 | 815 | // Cart details. |
816 | - if ( ! empty( $schema['properties']['cart_details'] ) && isset( $request['cart_details'] ) ) { |
|
816 | + if (!empty($schema['properties']['cart_details']) && isset($request['cart_details'])) { |
|
817 | 817 | $prepared_invoice->cart_details = (array) $request['cart_details']; |
818 | 818 | } |
819 | 819 | |
820 | 820 | // Invoice status. |
821 | - if ( ! empty( $schema['properties']['status'] ) && isset( $request['status'] ) ) { |
|
821 | + if (!empty($schema['properties']['status']) && isset($request['status'])) { |
|
822 | 822 | |
823 | - if ( in_array( $request['status'], $this->get_post_statuses(), true ) ) { |
|
823 | + if (in_array($request['status'], $this->get_post_statuses(), true)) { |
|
824 | 824 | $prepared_invoice->status = $request['status']; |
825 | 825 | } |
826 | 826 | |
827 | 827 | } |
828 | 828 | |
829 | 829 | // User info |
830 | - if ( ! empty( $schema['properties']['user_info'] ) && isset( $request['user_info'] ) ) { |
|
830 | + if (!empty($schema['properties']['user_info']) && isset($request['user_info'])) { |
|
831 | 831 | $prepared_invoice->user_info = array(); |
832 | 832 | $user_info = (array) $request['user_info']; |
833 | 833 | |
834 | - foreach( $user_info as $prop => $value ) { |
|
834 | + foreach ($user_info as $prop => $value) { |
|
835 | 835 | |
836 | - if ( ! empty( $schema['properties']['user_info']['properties'][$prop] ) ) { |
|
836 | + if (!empty($schema['properties']['user_info']['properties'][$prop])) { |
|
837 | 837 | |
838 | 838 | $prepared_invoice->user_info[$prop] = $value; |
839 | 839 | |
@@ -844,59 +844,59 @@ discard block |
||
844 | 844 | } |
845 | 845 | |
846 | 846 | // IP |
847 | - if ( ! empty( $schema['properties']['ip'] ) && isset( $request['ip'] ) ) { |
|
847 | + if (!empty($schema['properties']['ip']) && isset($request['ip'])) { |
|
848 | 848 | $prepared_invoice->ip = $request['ip']; |
849 | 849 | } |
850 | 850 | |
851 | 851 | // Payment details |
852 | 852 | $prepared_invoice->payment_details = array(); |
853 | 853 | |
854 | - if ( ! empty( $schema['properties']['gateway'] ) && isset( $request['gateway'] ) ) { |
|
854 | + if (!empty($schema['properties']['gateway']) && isset($request['gateway'])) { |
|
855 | 855 | $prepared_invoice->payment_details['gateway'] = $request['gateway']; |
856 | 856 | } |
857 | 857 | |
858 | - if ( ! empty( $schema['properties']['gateway_title'] ) && isset( $request['gateway_title'] ) ) { |
|
858 | + if (!empty($schema['properties']['gateway_title']) && isset($request['gateway_title'])) { |
|
859 | 859 | $prepared_invoice->payment_details['gateway_title'] = $request['gateway_title']; |
860 | 860 | } |
861 | 861 | |
862 | - if ( ! empty( $schema['properties']['currency'] ) && isset( $request['currency'] ) ) { |
|
862 | + if (!empty($schema['properties']['currency']) && isset($request['currency'])) { |
|
863 | 863 | $prepared_invoice->payment_details['currency'] = $request['currency']; |
864 | 864 | } |
865 | 865 | |
866 | - if ( ! empty( $schema['properties']['transaction_id'] ) && isset( $request['transaction_id'] ) ) { |
|
866 | + if (!empty($schema['properties']['transaction_id']) && isset($request['transaction_id'])) { |
|
867 | 867 | $prepared_invoice->payment_details['transaction_id'] = $request['transaction_id']; |
868 | 868 | } |
869 | 869 | |
870 | 870 | // Dates |
871 | - if ( ! empty( $schema['properties']['date'] ) && isset( $request['date'] ) ) { |
|
872 | - $post_date = rest_get_date_with_gmt( $request['date'] ); |
|
871 | + if (!empty($schema['properties']['date']) && isset($request['date'])) { |
|
872 | + $post_date = rest_get_date_with_gmt($request['date']); |
|
873 | 873 | |
874 | - if ( ! empty( $post_date ) ) { |
|
874 | + if (!empty($post_date)) { |
|
875 | 875 | $prepared_invoice->post_date = $post_date[0]; |
876 | 876 | } |
877 | 877 | |
878 | 878 | } |
879 | 879 | |
880 | - if ( ! empty( $schema['properties']['due_date'] ) && isset( $request['due_date'] ) ) { |
|
881 | - $due_date = rest_get_date_with_gmt( $request['due_date'] ); |
|
880 | + if (!empty($schema['properties']['due_date']) && isset($request['due_date'])) { |
|
881 | + $due_date = rest_get_date_with_gmt($request['due_date']); |
|
882 | 882 | |
883 | - if ( ! empty( $due_date ) ) { |
|
883 | + if (!empty($due_date)) { |
|
884 | 884 | $prepared_invoice->due_date = $due_date[0]; |
885 | 885 | } |
886 | 886 | |
887 | 887 | } |
888 | 888 | |
889 | - if ( ! empty( $schema['properties']['valid_until'] ) && isset( $request['valid_until'] ) ) { |
|
889 | + if (!empty($schema['properties']['valid_until']) && isset($request['valid_until'])) { |
|
890 | 890 | |
891 | - if ( ! empty( $request['valid_until'] ) ) { |
|
892 | - $prepared_invoice->valid_until = gmdate( 'Y-m-d', strtotime( $request['valid_until'] ) ); |
|
891 | + if (!empty($request['valid_until'])) { |
|
892 | + $prepared_invoice->valid_until = gmdate('Y-m-d', strtotime($request['valid_until'])); |
|
893 | 893 | } else { |
894 | 894 | $prepared_invoice->valid_until = ''; |
895 | 895 | } |
896 | 896 | |
897 | 897 | } |
898 | 898 | |
899 | - $invoice_data = (array) wp_unslash( $prepared_invoice ); |
|
899 | + $invoice_data = (array) wp_unslash($prepared_invoice); |
|
900 | 900 | |
901 | 901 | /** |
902 | 902 | * Filters an invoice before it is inserted via the REST API. |
@@ -906,7 +906,7 @@ discard block |
||
906 | 906 | * @param array $invoice_data An array of invoice data |
907 | 907 | * @param WP_REST_Request $request Request object. |
908 | 908 | */ |
909 | - return apply_filters( "wpinv_rest_pre_insert_invoice", $invoice_data, $request ); |
|
909 | + return apply_filters("wpinv_rest_pre_insert_invoice", $invoice_data, $request); |
|
910 | 910 | |
911 | 911 | } |
912 | 912 | |
@@ -919,20 +919,20 @@ discard block |
||
919 | 919 | * @param WP_REST_Request $request Request object. |
920 | 920 | * @return WP_REST_Response Response object. |
921 | 921 | */ |
922 | - public function prepare_item_for_response( $invoice, $request ) { |
|
922 | + public function prepare_item_for_response($invoice, $request) { |
|
923 | 923 | |
924 | - $GLOBALS['post'] = get_post( $invoice->ID ); |
|
924 | + $GLOBALS['post'] = get_post($invoice->ID); |
|
925 | 925 | |
926 | - setup_postdata( $invoice->ID ); |
|
926 | + setup_postdata($invoice->ID); |
|
927 | 927 | |
928 | 928 | // Fetch the fields to include in this response. |
929 | - $fields = $this->get_fields_for_response( $request ); |
|
929 | + $fields = $this->get_fields_for_response($request); |
|
930 | 930 | |
931 | 931 | // Base fields for every invoice. |
932 | 932 | $data = array(); |
933 | 933 | |
934 | 934 | // Set up ID |
935 | - if ( rest_is_field_included( 'id', $fields ) ) { |
|
935 | + if (rest_is_field_included('id', $fields)) { |
|
936 | 936 | $data['id'] = $invoice->ID; |
937 | 937 | } |
938 | 938 | |
@@ -947,79 +947,79 @@ discard block |
||
947 | 947 | 'status', 'status_nicename', 'post_type' |
948 | 948 | ); |
949 | 949 | |
950 | - foreach( $invoice_properties as $property ) { |
|
950 | + foreach ($invoice_properties as $property) { |
|
951 | 951 | |
952 | - if ( rest_is_field_included( $property, $fields ) ) { |
|
953 | - $data[$property] = $invoice->get( $property ); |
|
952 | + if (rest_is_field_included($property, $fields)) { |
|
953 | + $data[$property] = $invoice->get($property); |
|
954 | 954 | } |
955 | 955 | |
956 | 956 | } |
957 | 957 | |
958 | 958 | // Valid until |
959 | - if ( rest_is_field_included( 'valid_until', $fields ) && $this->post_type === 'wpi_quote' ) { |
|
960 | - $data['valid_until'] = get_post_meta( $invoice->ID, 'wpinv_quote_valid_until', true ); |
|
959 | + if (rest_is_field_included('valid_until', $fields) && $this->post_type === 'wpi_quote') { |
|
960 | + $data['valid_until'] = get_post_meta($invoice->ID, 'wpinv_quote_valid_until', true); |
|
961 | 961 | } |
962 | 962 | |
963 | 963 | // Cart details |
964 | - if ( rest_is_field_included( 'cart_details', $fields ) ) { |
|
965 | - $data['cart_details'] = $invoice->get( 'cart_details' ); |
|
964 | + if (rest_is_field_included('cart_details', $fields)) { |
|
965 | + $data['cart_details'] = $invoice->get('cart_details'); |
|
966 | 966 | } |
967 | 967 | |
968 | 968 | //Dates |
969 | - $invoice_properties = array( 'date', 'due_date', 'completed_date' ); |
|
969 | + $invoice_properties = array('date', 'due_date', 'completed_date'); |
|
970 | 970 | |
971 | - foreach( $invoice_properties as $property ) { |
|
971 | + foreach ($invoice_properties as $property) { |
|
972 | 972 | |
973 | - if ( rest_is_field_included( $property, $fields ) ) { |
|
974 | - $data[$property] = $this->prepare_date_response( '0000-00-00 00:00:00', $invoice->get( $property ) ); |
|
973 | + if (rest_is_field_included($property, $fields)) { |
|
974 | + $data[$property] = $this->prepare_date_response('0000-00-00 00:00:00', $invoice->get($property)); |
|
975 | 975 | } |
976 | 976 | |
977 | 977 | } |
978 | 978 | |
979 | 979 | // User id |
980 | - if ( rest_is_field_included( 'user_id', $fields ) ) { |
|
981 | - $data['user_id'] = (int) $invoice->get( 'user_id' ); |
|
980 | + if (rest_is_field_included('user_id', $fields)) { |
|
981 | + $data['user_id'] = (int) $invoice->get('user_id'); |
|
982 | 982 | } |
983 | 983 | |
984 | 984 | // User info |
985 | - $user_info = array( 'first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone' ); |
|
985 | + $user_info = array('first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone'); |
|
986 | 986 | |
987 | - foreach( $user_info as $property ) { |
|
987 | + foreach ($user_info as $property) { |
|
988 | 988 | |
989 | - if ( rest_is_field_included( "user_info.$property", $fields ) ) { |
|
990 | - $data['user_info'][$property] = $invoice->get( $property ); |
|
989 | + if (rest_is_field_included("user_info.$property", $fields)) { |
|
990 | + $data['user_info'][$property] = $invoice->get($property); |
|
991 | 991 | } |
992 | 992 | |
993 | 993 | } |
994 | 994 | |
995 | 995 | // Slug |
996 | - if ( rest_is_field_included( 'slug', $fields ) ) { |
|
997 | - $data['slug'] = $invoice->get( 'post_name' ); |
|
996 | + if (rest_is_field_included('slug', $fields)) { |
|
997 | + $data['slug'] = $invoice->get('post_name'); |
|
998 | 998 | } |
999 | 999 | |
1000 | 1000 | // View invoice link |
1001 | - if ( rest_is_field_included( 'link', $fields ) ) { |
|
1002 | - $data['link'] = esc_url( $invoice->get_view_url() ); |
|
1001 | + if (rest_is_field_included('link', $fields)) { |
|
1002 | + $data['link'] = esc_url($invoice->get_view_url()); |
|
1003 | 1003 | } |
1004 | 1004 | |
1005 | 1005 | |
1006 | - $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; |
|
1007 | - $data = $this->add_additional_fields_to_object( $data, $request ); |
|
1008 | - $data = $this->filter_response_by_context( $data, $context ); |
|
1006 | + $context = !empty($request['context']) ? $request['context'] : 'view'; |
|
1007 | + $data = $this->add_additional_fields_to_object($data, $request); |
|
1008 | + $data = $this->filter_response_by_context($data, $context); |
|
1009 | 1009 | |
1010 | 1010 | // Wrap the data in a response object. |
1011 | - $response = rest_ensure_response( $data ); |
|
1011 | + $response = rest_ensure_response($data); |
|
1012 | 1012 | |
1013 | - $links = $this->prepare_links( $invoice ); |
|
1014 | - $response->add_links( $links ); |
|
1013 | + $links = $this->prepare_links($invoice); |
|
1014 | + $response->add_links($links); |
|
1015 | 1015 | |
1016 | - if ( ! empty( $links['self']['href'] ) ) { |
|
1017 | - $actions = $this->get_available_actions( $invoice, $request ); |
|
1016 | + if (!empty($links['self']['href'])) { |
|
1017 | + $actions = $this->get_available_actions($invoice, $request); |
|
1018 | 1018 | |
1019 | 1019 | $self = $links['self']['href']; |
1020 | 1020 | |
1021 | - foreach ( $actions as $rel ) { |
|
1022 | - $response->add_link( $rel, $self ); |
|
1021 | + foreach ($actions as $rel) { |
|
1022 | + $response->add_link($rel, $self); |
|
1023 | 1023 | } |
1024 | 1024 | } |
1025 | 1025 | |
@@ -1032,7 +1032,7 @@ discard block |
||
1032 | 1032 | * @param WPInv_Invoice $invoice The invoice object. |
1033 | 1033 | * @param WP_REST_Request $request Request object. |
1034 | 1034 | */ |
1035 | - return apply_filters( "wpinv_rest_prepare_invoice", $response, $invoice, $request ); |
|
1035 | + return apply_filters("wpinv_rest_prepare_invoice", $response, $invoice, $request); |
|
1036 | 1036 | } |
1037 | 1037 | |
1038 | 1038 | /** |
@@ -1045,57 +1045,57 @@ discard block |
||
1045 | 1045 | * @param WP_REST_Request $request Full details about the request. |
1046 | 1046 | * @return array Fields to be included in the response. |
1047 | 1047 | */ |
1048 | - public function get_fields_for_response( $request ) { |
|
1048 | + public function get_fields_for_response($request) { |
|
1049 | 1049 | $schema = $this->get_item_schema(); |
1050 | - $properties = isset( $schema['properties'] ) ? $schema['properties'] : array(); |
|
1050 | + $properties = isset($schema['properties']) ? $schema['properties'] : array(); |
|
1051 | 1051 | |
1052 | 1052 | $additional_fields = $this->get_additional_fields(); |
1053 | - foreach ( $additional_fields as $field_name => $field_options ) { |
|
1053 | + foreach ($additional_fields as $field_name => $field_options) { |
|
1054 | 1054 | // For back-compat, include any field with an empty schema |
1055 | 1055 | // because it won't be present in $this->get_item_schema(). |
1056 | - if ( is_null( $field_options['schema'] ) ) { |
|
1057 | - $properties[ $field_name ] = $field_options; |
|
1056 | + if (is_null($field_options['schema'])) { |
|
1057 | + $properties[$field_name] = $field_options; |
|
1058 | 1058 | } |
1059 | 1059 | } |
1060 | 1060 | |
1061 | 1061 | // Exclude fields that specify a different context than the request context. |
1062 | 1062 | $context = $request['context']; |
1063 | - if ( $context ) { |
|
1064 | - foreach ( $properties as $name => $options ) { |
|
1065 | - if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) { |
|
1066 | - unset( $properties[ $name ] ); |
|
1063 | + if ($context) { |
|
1064 | + foreach ($properties as $name => $options) { |
|
1065 | + if (!empty($options['context']) && !in_array($context, $options['context'], true)) { |
|
1066 | + unset($properties[$name]); |
|
1067 | 1067 | } |
1068 | 1068 | } |
1069 | 1069 | } |
1070 | 1070 | |
1071 | - $fields = array_keys( $properties ); |
|
1071 | + $fields = array_keys($properties); |
|
1072 | 1072 | |
1073 | - if ( ! isset( $request['_fields'] ) ) { |
|
1073 | + if (!isset($request['_fields'])) { |
|
1074 | 1074 | return $fields; |
1075 | 1075 | } |
1076 | - $requested_fields = wpinv_parse_list( $request['_fields'] ); |
|
1077 | - if ( 0 === count( $requested_fields ) ) { |
|
1076 | + $requested_fields = wpinv_parse_list($request['_fields']); |
|
1077 | + if (0 === count($requested_fields)) { |
|
1078 | 1078 | return $fields; |
1079 | 1079 | } |
1080 | 1080 | // Trim off outside whitespace from the comma delimited list. |
1081 | - $requested_fields = array_map( 'trim', $requested_fields ); |
|
1081 | + $requested_fields = array_map('trim', $requested_fields); |
|
1082 | 1082 | // Always persist 'id', because it can be needed for add_additional_fields_to_object(). |
1083 | - if ( in_array( 'id', $fields, true ) ) { |
|
1083 | + if (in_array('id', $fields, true)) { |
|
1084 | 1084 | $requested_fields[] = 'id'; |
1085 | 1085 | } |
1086 | 1086 | // Return the list of all requested fields which appear in the schema. |
1087 | 1087 | return array_reduce( |
1088 | 1088 | $requested_fields, |
1089 | - function( $response_fields, $field ) use ( $fields ) { |
|
1090 | - if ( in_array( $field, $fields, true ) ) { |
|
1089 | + function($response_fields, $field) use ($fields) { |
|
1090 | + if (in_array($field, $fields, true)) { |
|
1091 | 1091 | $response_fields[] = $field; |
1092 | 1092 | return $response_fields; |
1093 | 1093 | } |
1094 | 1094 | // Check for nested fields if $field is not a direct match. |
1095 | - $nested_fields = explode( '.', $field ); |
|
1095 | + $nested_fields = explode('.', $field); |
|
1096 | 1096 | // A nested field is included so long as its top-level property is |
1097 | 1097 | // present in the schema. |
1098 | - if ( in_array( $nested_fields[0], $fields, true ) ) { |
|
1098 | + if (in_array($nested_fields[0], $fields, true)) { |
|
1099 | 1099 | $response_fields[] = $field; |
1100 | 1100 | } |
1101 | 1101 | return $response_fields; |
@@ -1114,8 +1114,8 @@ discard block |
||
1114 | 1114 | public function get_item_schema() { |
1115 | 1115 | |
1116 | 1116 | // Maybe retrieve the schema from cache. |
1117 | - if ( $this->schema ) { |
|
1118 | - return $this->add_additional_fields_schema( $this->schema ); |
|
1117 | + if ($this->schema) { |
|
1118 | + return $this->add_additional_fields_schema($this->schema); |
|
1119 | 1119 | } |
1120 | 1120 | |
1121 | 1121 | $schema = array( |
@@ -1127,266 +1127,266 @@ discard block |
||
1127 | 1127 | 'properties' => array( |
1128 | 1128 | |
1129 | 1129 | 'title' => array( |
1130 | - 'description' => __( 'The title for the invoice.', 'invoicing' ), |
|
1130 | + 'description' => __('The title for the invoice.', 'invoicing'), |
|
1131 | 1131 | 'type' => 'string', |
1132 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1132 | + 'context' => array('view', 'edit', 'embed'), |
|
1133 | 1133 | 'readonly' => true, |
1134 | 1134 | ), |
1135 | 1135 | |
1136 | 1136 | 'user_id' => array( |
1137 | - 'description' => __( 'The ID of the owner of the invoice.', 'invoicing' ), |
|
1137 | + 'description' => __('The ID of the owner of the invoice.', 'invoicing'), |
|
1138 | 1138 | 'type' => 'integer', |
1139 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1139 | + 'context' => array('view', 'edit', 'embed'), |
|
1140 | 1140 | ), |
1141 | 1141 | |
1142 | 1142 | 'email' => array( |
1143 | - 'description' => __( 'The email of the owner of the invoice.', 'invoicing' ), |
|
1143 | + 'description' => __('The email of the owner of the invoice.', 'invoicing'), |
|
1144 | 1144 | 'type' => 'string', |
1145 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1145 | + 'context' => array('view', 'edit', 'embed'), |
|
1146 | 1146 | 'readonly' => true, |
1147 | 1147 | ), |
1148 | 1148 | |
1149 | 1149 | 'ip' => array( |
1150 | - 'description' => __( 'The IP of the owner of the invoice.', 'invoicing' ), |
|
1150 | + 'description' => __('The IP of the owner of the invoice.', 'invoicing'), |
|
1151 | 1151 | 'type' => 'string', |
1152 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1152 | + 'context' => array('view', 'edit', 'embed'), |
|
1153 | 1153 | ), |
1154 | 1154 | |
1155 | 1155 | 'user_info' => array( |
1156 | - 'description' => __( 'Information about the owner of the invoice.', 'invoicing' ), |
|
1156 | + 'description' => __('Information about the owner of the invoice.', 'invoicing'), |
|
1157 | 1157 | 'type' => 'object', |
1158 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1158 | + 'context' => array('view', 'edit', 'embed'), |
|
1159 | 1159 | 'properties' => array( |
1160 | 1160 | |
1161 | 1161 | 'first_name' => array( |
1162 | - 'description' => __( 'The first name of the owner of the invoice.', 'invoicing' ), |
|
1162 | + 'description' => __('The first name of the owner of the invoice.', 'invoicing'), |
|
1163 | 1163 | 'type' => 'string', |
1164 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1164 | + 'context' => array('view', 'edit', 'embed'), |
|
1165 | 1165 | ), |
1166 | 1166 | |
1167 | 1167 | 'last_name' => array( |
1168 | - 'description' => __( 'The last name of the owner of the invoice.', 'invoicing' ), |
|
1168 | + 'description' => __('The last name of the owner of the invoice.', 'invoicing'), |
|
1169 | 1169 | 'type' => 'string', |
1170 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1170 | + 'context' => array('view', 'edit', 'embed'), |
|
1171 | 1171 | ), |
1172 | 1172 | |
1173 | 1173 | 'company' => array( |
1174 | - 'description' => __( 'The company of the owner of the invoice.', 'invoicing' ), |
|
1174 | + 'description' => __('The company of the owner of the invoice.', 'invoicing'), |
|
1175 | 1175 | 'type' => 'string', |
1176 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1176 | + 'context' => array('view', 'edit', 'embed'), |
|
1177 | 1177 | ), |
1178 | 1178 | |
1179 | 1179 | 'vat_number' => array( |
1180 | - 'description' => __( 'The VAT number of the owner of the invoice.', 'invoicing' ), |
|
1180 | + 'description' => __('The VAT number of the owner of the invoice.', 'invoicing'), |
|
1181 | 1181 | 'type' => 'string', |
1182 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1182 | + 'context' => array('view', 'edit', 'embed'), |
|
1183 | 1183 | ), |
1184 | 1184 | |
1185 | 1185 | 'vat_rate' => array( |
1186 | - 'description' => __( 'The VAT rate applied on the invoice.', 'invoicing' ), |
|
1186 | + 'description' => __('The VAT rate applied on the invoice.', 'invoicing'), |
|
1187 | 1187 | 'type' => 'string', |
1188 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1188 | + 'context' => array('view', 'edit', 'embed'), |
|
1189 | 1189 | ), |
1190 | 1190 | |
1191 | 1191 | 'address' => array( |
1192 | - 'description' => __( 'The address of the invoice owner.', 'invoicing' ), |
|
1192 | + 'description' => __('The address of the invoice owner.', 'invoicing'), |
|
1193 | 1193 | 'type' => 'string', |
1194 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1194 | + 'context' => array('view', 'edit', 'embed'), |
|
1195 | 1195 | ), |
1196 | 1196 | |
1197 | 1197 | 'city' => array( |
1198 | - 'description' => __( 'The city of the invoice owner.', 'invoicing' ), |
|
1198 | + 'description' => __('The city of the invoice owner.', 'invoicing'), |
|
1199 | 1199 | 'type' => 'string', |
1200 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1200 | + 'context' => array('view', 'edit', 'embed'), |
|
1201 | 1201 | ), |
1202 | 1202 | |
1203 | 1203 | 'country' => array( |
1204 | - 'description' => __( 'The country of the invoice owner.', 'invoicing' ), |
|
1204 | + 'description' => __('The country of the invoice owner.', 'invoicing'), |
|
1205 | 1205 | 'type' => 'string', |
1206 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1206 | + 'context' => array('view', 'edit', 'embed'), |
|
1207 | 1207 | ), |
1208 | 1208 | |
1209 | 1209 | 'state' => array( |
1210 | - 'description' => __( 'The state of the invoice owner.', 'invoicing' ), |
|
1210 | + 'description' => __('The state of the invoice owner.', 'invoicing'), |
|
1211 | 1211 | 'type' => 'string', |
1212 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1212 | + 'context' => array('view', 'edit', 'embed'), |
|
1213 | 1213 | ), |
1214 | 1214 | |
1215 | 1215 | 'zip' => array( |
1216 | - 'description' => __( 'The zip code of the invoice owner.', 'invoicing' ), |
|
1216 | + 'description' => __('The zip code of the invoice owner.', 'invoicing'), |
|
1217 | 1217 | 'type' => 'string', |
1218 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1218 | + 'context' => array('view', 'edit', 'embed'), |
|
1219 | 1219 | ), |
1220 | 1220 | |
1221 | 1221 | 'phone' => array( |
1222 | - 'description' => __( 'The phone number of the invoice owner.', 'invoicing' ), |
|
1222 | + 'description' => __('The phone number of the invoice owner.', 'invoicing'), |
|
1223 | 1223 | 'type' => 'string', |
1224 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1224 | + 'context' => array('view', 'edit', 'embed'), |
|
1225 | 1225 | ), |
1226 | 1226 | ), |
1227 | 1227 | ), |
1228 | 1228 | |
1229 | 1229 | 'id' => array( |
1230 | - 'description' => __( 'Unique identifier for the invoice.', 'invoicing' ), |
|
1230 | + 'description' => __('Unique identifier for the invoice.', 'invoicing'), |
|
1231 | 1231 | 'type' => 'integer', |
1232 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1232 | + 'context' => array('view', 'edit', 'embed'), |
|
1233 | 1233 | 'readonly' => true, |
1234 | 1234 | ), |
1235 | 1235 | |
1236 | 1236 | 'key' => array( |
1237 | - 'description' => __( 'A unique key for the invoice.', 'invoicing' ), |
|
1237 | + 'description' => __('A unique key for the invoice.', 'invoicing'), |
|
1238 | 1238 | 'type' => 'string', |
1239 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1239 | + 'context' => array('view', 'edit', 'embed'), |
|
1240 | 1240 | 'readonly' => true, |
1241 | 1241 | ), |
1242 | 1242 | |
1243 | 1243 | 'number' => array( |
1244 | - 'description' => __( 'The invoice number.', 'invoicing' ), |
|
1244 | + 'description' => __('The invoice number.', 'invoicing'), |
|
1245 | 1245 | 'type' => 'string', |
1246 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1246 | + 'context' => array('view', 'edit', 'embed'), |
|
1247 | 1247 | 'readonly' => true, |
1248 | 1248 | ), |
1249 | 1249 | |
1250 | 1250 | 'transaction_id' => array( |
1251 | - 'description' => __( 'The transaction id of the invoice.', 'invoicing' ), |
|
1251 | + 'description' => __('The transaction id of the invoice.', 'invoicing'), |
|
1252 | 1252 | 'type' => 'string', |
1253 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1253 | + 'context' => array('view', 'edit', 'embed'), |
|
1254 | 1254 | ), |
1255 | 1255 | |
1256 | 1256 | 'gateway' => array( |
1257 | - 'description' => __( 'The gateway used to process the invoice.', 'invoicing' ), |
|
1257 | + 'description' => __('The gateway used to process the invoice.', 'invoicing'), |
|
1258 | 1258 | 'type' => 'string', |
1259 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1259 | + 'context' => array('view', 'edit', 'embed'), |
|
1260 | 1260 | ), |
1261 | 1261 | |
1262 | 1262 | 'gateway_title' => array( |
1263 | - 'description' => __( 'The title of the gateway used to process the invoice.', 'invoicing' ), |
|
1263 | + 'description' => __('The title of the gateway used to process the invoice.', 'invoicing'), |
|
1264 | 1264 | 'type' => 'string', |
1265 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1265 | + 'context' => array('view', 'edit', 'embed'), |
|
1266 | 1266 | ), |
1267 | 1267 | |
1268 | 1268 | 'total' => array( |
1269 | - 'description' => __( 'The total amount of the invoice.', 'invoicing' ), |
|
1269 | + 'description' => __('The total amount of the invoice.', 'invoicing'), |
|
1270 | 1270 | 'type' => 'number', |
1271 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1271 | + 'context' => array('view', 'edit', 'embed'), |
|
1272 | 1272 | 'readonly' => true, |
1273 | 1273 | ), |
1274 | 1274 | |
1275 | 1275 | 'discount' => array( |
1276 | - 'description' => __( 'The discount applied to the invoice.', 'invoicing' ), |
|
1276 | + 'description' => __('The discount applied to the invoice.', 'invoicing'), |
|
1277 | 1277 | 'type' => 'number', |
1278 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1278 | + 'context' => array('view', 'edit', 'embed'), |
|
1279 | 1279 | 'readonly' => true, |
1280 | 1280 | ), |
1281 | 1281 | |
1282 | 1282 | 'discount_code' => array( |
1283 | - 'description' => __( 'The discount code applied to the invoice.', 'invoicing' ), |
|
1283 | + 'description' => __('The discount code applied to the invoice.', 'invoicing'), |
|
1284 | 1284 | 'type' => 'string', |
1285 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1285 | + 'context' => array('view', 'edit', 'embed'), |
|
1286 | 1286 | 'readonly' => true, |
1287 | 1287 | ), |
1288 | 1288 | |
1289 | 1289 | 'tax' => array( |
1290 | - 'description' => __( 'The tax applied to the invoice.', 'invoicing' ), |
|
1290 | + 'description' => __('The tax applied to the invoice.', 'invoicing'), |
|
1291 | 1291 | 'type' => 'number', |
1292 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1292 | + 'context' => array('view', 'edit', 'embed'), |
|
1293 | 1293 | 'readonly' => true, |
1294 | 1294 | ), |
1295 | 1295 | |
1296 | 1296 | 'fees_total' => array( |
1297 | - 'description' => __( 'The total fees applied to the invoice.', 'invoicing' ), |
|
1297 | + 'description' => __('The total fees applied to the invoice.', 'invoicing'), |
|
1298 | 1298 | 'type' => 'number', |
1299 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1299 | + 'context' => array('view', 'edit', 'embed'), |
|
1300 | 1300 | 'readonly' => true, |
1301 | 1301 | ), |
1302 | 1302 | |
1303 | 1303 | 'subtotal' => array( |
1304 | - 'description' => __( 'The sub-total for the invoice.', 'invoicing' ), |
|
1304 | + 'description' => __('The sub-total for the invoice.', 'invoicing'), |
|
1305 | 1305 | 'type' => 'number', |
1306 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1306 | + 'context' => array('view', 'edit', 'embed'), |
|
1307 | 1307 | 'readonly' => true, |
1308 | 1308 | ), |
1309 | 1309 | |
1310 | 1310 | 'currency' => array( |
1311 | - 'description' => __( 'The currency used to process the invoice.', 'invoicing' ), |
|
1311 | + 'description' => __('The currency used to process the invoice.', 'invoicing'), |
|
1312 | 1312 | 'type' => 'string', |
1313 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1313 | + 'context' => array('view', 'edit', 'embed'), |
|
1314 | 1314 | ), |
1315 | 1315 | |
1316 | 1316 | 'cart_details' => array( |
1317 | - 'description' => __( 'The cart details for invoice.', 'invoicing' ), |
|
1317 | + 'description' => __('The cart details for invoice.', 'invoicing'), |
|
1318 | 1318 | 'type' => 'array', |
1319 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1319 | + 'context' => array('view', 'edit', 'embed'), |
|
1320 | 1320 | 'required' => true, |
1321 | 1321 | ), |
1322 | 1322 | |
1323 | 1323 | 'date' => array( |
1324 | - 'description' => __( "The date the invoice was published, in the site's timezone.", 'invoicing' ), |
|
1325 | - 'type' => array( 'string', 'null' ), |
|
1324 | + 'description' => __("The date the invoice was published, in the site's timezone.", 'invoicing'), |
|
1325 | + 'type' => array('string', 'null'), |
|
1326 | 1326 | 'format' => 'date-time', |
1327 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1327 | + 'context' => array('view', 'edit', 'embed'), |
|
1328 | 1328 | ), |
1329 | 1329 | |
1330 | 1330 | 'due_date' => array( |
1331 | - 'description' => __( 'The due date for the invoice.', 'invoicing' ), |
|
1332 | - 'type' => array( 'string', 'null' ), |
|
1331 | + 'description' => __('The due date for the invoice.', 'invoicing'), |
|
1332 | + 'type' => array('string', 'null'), |
|
1333 | 1333 | 'format' => 'date-time', |
1334 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1334 | + 'context' => array('view', 'edit', 'embed'), |
|
1335 | 1335 | ), |
1336 | 1336 | |
1337 | 1337 | 'completed_date' => array( |
1338 | - 'description' => __( 'The completed date for the invoice.', 'invoicing' ), |
|
1339 | - 'type' => array( 'string', 'null' ), |
|
1338 | + 'description' => __('The completed date for the invoice.', 'invoicing'), |
|
1339 | + 'type' => array('string', 'null'), |
|
1340 | 1340 | 'format' => 'date-time', |
1341 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1341 | + 'context' => array('view', 'edit', 'embed'), |
|
1342 | 1342 | 'readonly' => true, |
1343 | 1343 | ), |
1344 | 1344 | |
1345 | 1345 | 'link' => array( |
1346 | - 'description' => __( 'URL to the invoice.', 'invoicing' ), |
|
1346 | + 'description' => __('URL to the invoice.', 'invoicing'), |
|
1347 | 1347 | 'type' => 'string', |
1348 | 1348 | 'format' => 'uri', |
1349 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1349 | + 'context' => array('view', 'edit', 'embed'), |
|
1350 | 1350 | 'readonly' => true, |
1351 | 1351 | ), |
1352 | 1352 | |
1353 | 1353 | 'mode' => array( |
1354 | - 'description' => __( 'The mode used to process the invoice.', 'invoicing' ), |
|
1354 | + 'description' => __('The mode used to process the invoice.', 'invoicing'), |
|
1355 | 1355 | 'type' => 'string', |
1356 | - 'enum' => array( 'live', 'test' ), |
|
1357 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1356 | + 'enum' => array('live', 'test'), |
|
1357 | + 'context' => array('view', 'edit', 'embed'), |
|
1358 | 1358 | 'readonly' => true, |
1359 | 1359 | ), |
1360 | 1360 | |
1361 | 1361 | 'slug' => array( |
1362 | - 'description' => __( 'An alphanumeric identifier for the invoice.', 'invoicing' ), |
|
1362 | + 'description' => __('An alphanumeric identifier for the invoice.', 'invoicing'), |
|
1363 | 1363 | 'type' => 'string', |
1364 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
1364 | + 'context' => array('view', 'edit', 'embed'), |
|
1365 | 1365 | 'arg_options' => array( |
1366 | - 'sanitize_callback' => array( $this, 'sanitize_slug' ), |
|
1366 | + 'sanitize_callback' => array($this, 'sanitize_slug'), |
|
1367 | 1367 | ), |
1368 | 1368 | 'readonly' => true, |
1369 | 1369 | ), |
1370 | 1370 | |
1371 | 1371 | 'status' => array( |
1372 | - 'description' => __( 'A named status for the invoice.', 'invoicing' ), |
|
1372 | + 'description' => __('A named status for the invoice.', 'invoicing'), |
|
1373 | 1373 | 'type' => 'string', |
1374 | 1374 | 'enum' => $this->get_post_statuses(), |
1375 | - 'context' => array( 'view', 'edit' ), |
|
1375 | + 'context' => array('view', 'edit'), |
|
1376 | 1376 | 'default' => 'wpi-pending', |
1377 | 1377 | ), |
1378 | 1378 | |
1379 | 1379 | 'status_nicename' => array( |
1380 | - 'description' => __( 'A human-readable status name for the invoice.', 'invoicing' ), |
|
1380 | + 'description' => __('A human-readable status name for the invoice.', 'invoicing'), |
|
1381 | 1381 | 'type' => 'string', |
1382 | - 'context' => array( 'view', 'embed' ), |
|
1382 | + 'context' => array('view', 'embed'), |
|
1383 | 1383 | 'readonly' => true, |
1384 | 1384 | ), |
1385 | 1385 | |
1386 | 1386 | 'post_type' => array( |
1387 | - 'description' => __( 'The post type for the invoice.', 'invoicing' ), |
|
1387 | + 'description' => __('The post type for the invoice.', 'invoicing'), |
|
1388 | 1388 | 'type' => 'string', |
1389 | - 'context' => array( 'view' ), |
|
1389 | + 'context' => array('view'), |
|
1390 | 1390 | 'readonly' => true, |
1391 | 1391 | ), |
1392 | 1392 | ), |
@@ -1404,12 +1404,12 @@ discard block |
||
1404 | 1404 | * |
1405 | 1405 | * @param array $schema The invoice schema. |
1406 | 1406 | */ |
1407 | - $schema = apply_filters( "wpinv_rest_invoice_schema", $schema ); |
|
1407 | + $schema = apply_filters("wpinv_rest_invoice_schema", $schema); |
|
1408 | 1408 | |
1409 | 1409 | // Cache the invoice schema. |
1410 | 1410 | $this->schema = $schema; |
1411 | 1411 | |
1412 | - return $this->add_additional_fields_schema( $this->schema ); |
|
1412 | + return $this->add_additional_fields_schema($this->schema); |
|
1413 | 1413 | } |
1414 | 1414 | |
1415 | 1415 | /** |
@@ -1421,20 +1421,20 @@ discard block |
||
1421 | 1421 | */ |
1422 | 1422 | protected function get_schema_links() { |
1423 | 1423 | |
1424 | - $href = rest_url( "{$this->namespace}/{$this->rest_base}/{id}" ); |
|
1424 | + $href = rest_url("{$this->namespace}/{$this->rest_base}/{id}"); |
|
1425 | 1425 | |
1426 | 1426 | $links = array(); |
1427 | 1427 | |
1428 | 1428 | $links[] = array( |
1429 | 1429 | 'rel' => 'https://api.w.org/action-publish', |
1430 | - 'title' => __( 'The current user can mark this invoice as completed.', 'invoicing' ), |
|
1430 | + 'title' => __('The current user can mark this invoice as completed.', 'invoicing'), |
|
1431 | 1431 | 'href' => $href, |
1432 | 1432 | 'targetSchema' => array( |
1433 | 1433 | 'type' => 'object', |
1434 | 1434 | 'properties' => array( |
1435 | 1435 | 'status' => array( |
1436 | 1436 | 'type' => 'string', |
1437 | - 'enum' => array( 'publish', 'wpi-renewal' ), |
|
1437 | + 'enum' => array('publish', 'wpi-renewal'), |
|
1438 | 1438 | ), |
1439 | 1439 | ), |
1440 | 1440 | ), |
@@ -1442,7 +1442,7 @@ discard block |
||
1442 | 1442 | |
1443 | 1443 | $links[] = array( |
1444 | 1444 | 'rel' => 'https://api.w.org/action-assign-author', |
1445 | - 'title' => __( 'The current user can change the owner of this invoice.', 'invoicing' ), |
|
1445 | + 'title' => __('The current user can change the owner of this invoice.', 'invoicing'), |
|
1446 | 1446 | 'href' => $href, |
1447 | 1447 | 'targetSchema' => array( |
1448 | 1448 | 'type' => 'object', |
@@ -1465,24 +1465,24 @@ discard block |
||
1465 | 1465 | * @param WPInv_Invoice $invoice Invoice Object. |
1466 | 1466 | * @return array Links for the given invoice. |
1467 | 1467 | */ |
1468 | - protected function prepare_links( $invoice ) { |
|
1468 | + protected function prepare_links($invoice) { |
|
1469 | 1469 | |
1470 | 1470 | // Prepare the base REST API endpoint for invoices. |
1471 | - $base = sprintf( '%s/%s', $this->namespace, $this->rest_base ); |
|
1471 | + $base = sprintf('%s/%s', $this->namespace, $this->rest_base); |
|
1472 | 1472 | |
1473 | 1473 | // Entity meta. |
1474 | 1474 | $links = array( |
1475 | 1475 | 'self' => array( |
1476 | - 'href' => rest_url( trailingslashit( $base ) . $invoice->ID ), |
|
1476 | + 'href' => rest_url(trailingslashit($base) . $invoice->ID), |
|
1477 | 1477 | ), |
1478 | 1478 | 'collection' => array( |
1479 | - 'href' => rest_url( $base ), |
|
1479 | + 'href' => rest_url($base), |
|
1480 | 1480 | ), |
1481 | 1481 | ); |
1482 | 1482 | |
1483 | - if ( ! empty( $invoice->user_id ) ) { |
|
1483 | + if (!empty($invoice->user_id)) { |
|
1484 | 1484 | $links['user'] = array( |
1485 | - 'href' => rest_url( 'wp/v2/users/' . $invoice->user_id ), |
|
1485 | + 'href' => rest_url('wp/v2/users/' . $invoice->user_id), |
|
1486 | 1486 | 'embeddable' => true, |
1487 | 1487 | ); |
1488 | 1488 | } |
@@ -1496,7 +1496,7 @@ discard block |
||
1496 | 1496 | * |
1497 | 1497 | * @param array $links Rest links. |
1498 | 1498 | */ |
1499 | - return apply_filters( "wpinv_rest_invoice_links", $links ); |
|
1499 | + return apply_filters("wpinv_rest_invoice_links", $links); |
|
1500 | 1500 | |
1501 | 1501 | } |
1502 | 1502 | |
@@ -1509,24 +1509,24 @@ discard block |
||
1509 | 1509 | * @param WP_REST_Request $request Request object. |
1510 | 1510 | * @return array List of link relations. |
1511 | 1511 | */ |
1512 | - protected function get_available_actions( $invoice, $request ) { |
|
1512 | + protected function get_available_actions($invoice, $request) { |
|
1513 | 1513 | |
1514 | - if ( 'edit' !== $request['context'] ) { |
|
1514 | + if ('edit' !== $request['context']) { |
|
1515 | 1515 | return array(); |
1516 | 1516 | } |
1517 | 1517 | |
1518 | 1518 | $rels = array(); |
1519 | 1519 | |
1520 | 1520 | // Retrieve the post type object. |
1521 | - $post_type = get_post_type_object( $invoice->post_type ); |
|
1521 | + $post_type = get_post_type_object($invoice->post_type); |
|
1522 | 1522 | |
1523 | 1523 | // Mark invoice as completed. |
1524 | - if ( current_user_can( $post_type->cap->publish_posts ) ) { |
|
1524 | + if (current_user_can($post_type->cap->publish_posts)) { |
|
1525 | 1525 | $rels[] = 'https://api.w.org/action-publish'; |
1526 | 1526 | } |
1527 | 1527 | |
1528 | 1528 | // Change the owner of the invoice. |
1529 | - if ( current_user_can( $post_type->cap->edit_others_posts ) ) { |
|
1529 | + if (current_user_can($post_type->cap->edit_others_posts)) { |
|
1530 | 1530 | $rels[] = 'https://api.w.org/action-assign-author'; |
1531 | 1531 | } |
1532 | 1532 | |
@@ -1539,7 +1539,7 @@ discard block |
||
1539 | 1539 | * |
1540 | 1540 | * @param array $rels Available link relations. |
1541 | 1541 | */ |
1542 | - return apply_filters( "wpinv_rest_invoice_link_relations", $rels ); |
|
1542 | + return apply_filters("wpinv_rest_invoice_link_relations", $rels); |
|
1543 | 1543 | } |
1544 | 1544 | |
1545 | 1545 | /** |
@@ -1552,8 +1552,8 @@ discard block |
||
1552 | 1552 | * @param string $parameter Additional parameter to pass to validation. |
1553 | 1553 | * @return array|WP_Error A list of valid statuses, otherwise WP_Error object. |
1554 | 1554 | */ |
1555 | - public function sanitize_post_statuses( $statuses, $request, $parameter ) { |
|
1556 | - return array_intersect( wp_parse_slug_list( $statuses ), $this->get_post_statuses() ); |
|
1555 | + public function sanitize_post_statuses($statuses, $request, $parameter) { |
|
1556 | + return array_intersect(wp_parse_slug_list($statuses), $this->get_post_statuses()); |
|
1557 | 1557 | } |
1558 | 1558 | |
1559 | 1559 | /** |
@@ -1564,7 +1564,7 @@ discard block |
||
1564 | 1564 | * @return array A list of registered item statuses. |
1565 | 1565 | */ |
1566 | 1566 | public function get_post_statuses() { |
1567 | - return array_keys( wpinv_get_invoice_statuses( true, true ) ); |
|
1567 | + return array_keys(wpinv_get_invoice_statuses(true, true)); |
|
1568 | 1568 | } |
1569 | 1569 | |
1570 | 1570 | } |
1571 | 1571 | \ No newline at end of file |
@@ -7,7 +7,7 @@ discard block |
||
7 | 7 | */ |
8 | 8 | |
9 | 9 | // MUST have WordPress. |
10 | -if ( !defined( 'WPINC' ) ) { |
|
10 | +if (!defined('WPINC')) { |
|
11 | 11 | exit; |
12 | 12 | } |
13 | 13 | |
@@ -19,7 +19,7 @@ discard block |
||
19 | 19 | /** |
20 | 20 | * @param string A prefix for our REST routes |
21 | 21 | */ |
22 | - public $api_namespace = ''; |
|
22 | + public $api_namespace = ''; |
|
23 | 23 | |
24 | 24 | /** |
25 | 25 | * @param WPInv_REST_Invoice_Controller Invoices controller |
@@ -42,19 +42,19 @@ discard block |
||
42 | 42 | * @since 1.0.13 |
43 | 43 | * Sets the API namespace and inits hooks |
44 | 44 | */ |
45 | - public function __construct( $api_namespace = 'invoicing/v1' ) { |
|
45 | + public function __construct($api_namespace = 'invoicing/v1') { |
|
46 | 46 | |
47 | 47 | // Include controllers and related files |
48 | 48 | $this->includes(); |
49 | 49 | |
50 | 50 | // Set up class variables |
51 | - $this->api_namespace = apply_filters( 'wpinv_rest_api_namespace', $api_namespace ); |
|
52 | - $this->invoices_controller = new WPInv_REST_Invoice_Controller( $this->api_namespace ); |
|
53 | - $this->items_controller = new WPInv_REST_Items_Controller( $this->api_namespace ); |
|
54 | - $this->discounts_controller= new WPInv_REST_Discounts_Controller( $this->api_namespace ); |
|
51 | + $this->api_namespace = apply_filters('wpinv_rest_api_namespace', $api_namespace); |
|
52 | + $this->invoices_controller = new WPInv_REST_Invoice_Controller($this->api_namespace); |
|
53 | + $this->items_controller = new WPInv_REST_Items_Controller($this->api_namespace); |
|
54 | + $this->discounts_controller = new WPInv_REST_Discounts_Controller($this->api_namespace); |
|
55 | 55 | |
56 | 56 | //Register REST routes |
57 | - add_action( 'rest_api_init', array( $this, 'register_rest_routes' ) ); |
|
57 | + add_action('rest_api_init', array($this, 'register_rest_routes')); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | |
@@ -84,7 +84,7 @@ discard block |
||
84 | 84 | * @param array $invoice_data Invoice properties. |
85 | 85 | * @param WP_REST_Request $request The request used. |
86 | 86 | */ |
87 | - do_action( "wpinv_register_rest_routes", $this ); |
|
87 | + do_action("wpinv_register_rest_routes", $this); |
|
88 | 88 | |
89 | 89 | } |
90 | 90 | |
@@ -97,13 +97,13 @@ discard block |
||
97 | 97 | protected function includes() { |
98 | 98 | |
99 | 99 | // Invoices |
100 | - require_once( WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-invoice-controller.php' ); |
|
100 | + require_once(WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-invoice-controller.php'); |
|
101 | 101 | |
102 | 102 | // Items |
103 | - require_once( WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-items-controller.php' ); |
|
103 | + require_once(WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-items-controller.php'); |
|
104 | 104 | |
105 | 105 | // Discounts |
106 | - require_once( WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-discounts-controller.php' ); |
|
106 | + require_once(WPINV_PLUGIN_DIR . 'includes/api/class-wpinv-rest-discounts-controller.php'); |
|
107 | 107 | |
108 | 108 | } |
109 | 109 |
@@ -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( |
|
211 | + $payments = get_posts(array( |
|
212 | 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 | |
@@ -244,9 +244,9 @@ discard block |
||
244 | 244 | * @return int |
245 | 245 | */ |
246 | 246 | public function get_times_billed() { |
247 | - $times_billed = (int)$this->get_total_payments(); |
|
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,32 +336,32 @@ 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 | 360 | // Send email notifications. |
361 | - wpinv_completed_invoice_notification( $invoice->ID ); |
|
361 | + wpinv_completed_invoice_notification($invoice->ID); |
|
362 | 362 | |
363 | - do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this ); |
|
364 | - do_action( 'wpinv_recurring_record_payment', $invoice->ID, $this->parent_payment_id, $args['amount'], $args['transaction_id'] ); |
|
363 | + do_action('wpinv_recurring_add_subscription_payment', $invoice, $this); |
|
364 | + do_action('wpinv_recurring_record_payment', $invoice->ID, $this->parent_payment_id, $args['amount'], $args['transaction_id']); |
|
365 | 365 | |
366 | 366 | return $invoice->ID; |
367 | 367 | } |
@@ -377,12 +377,12 @@ discard block |
||
377 | 377 | */ |
378 | 378 | public function get_transaction_id() { |
379 | 379 | |
380 | - if( empty( $this->transaction_id ) ) { |
|
380 | + if (empty($this->transaction_id)) { |
|
381 | 381 | |
382 | - $txn_id = wpinv_get_payment_transaction_id( $this->parent_payment_id ); |
|
382 | + $txn_id = wpinv_get_payment_transaction_id($this->parent_payment_id); |
|
383 | 383 | |
384 | - if( ! empty( $txn_id ) && (int) $this->parent_payment_id !== (int) $txn_id ) { |
|
385 | - $this->set_transaction_id( $txn_id ); |
|
384 | + if (!empty($txn_id) && (int) $this->parent_payment_id !== (int) $txn_id) { |
|
385 | + $this->set_transaction_id($txn_id); |
|
386 | 386 | } |
387 | 387 | |
388 | 388 | } |
@@ -397,8 +397,8 @@ discard block |
||
397 | 397 | * @since 1.0.0.4 |
398 | 398 | * @return bool |
399 | 399 | */ |
400 | - public function set_transaction_id( $txn_id = '' ) { |
|
401 | - $this->update( array( 'transaction_id' => $txn_id ) ); |
|
400 | + public function set_transaction_id($txn_id = '') { |
|
401 | + $this->update(array('transaction_id' => $txn_id)); |
|
402 | 402 | $this->transaction_id = $txn_id; |
403 | 403 | } |
404 | 404 | |
@@ -414,35 +414,35 @@ discard block |
||
414 | 414 | |
415 | 415 | |
416 | 416 | // Determine what date to use as the start for the new expiration calculation |
417 | - if( $expires > current_time( 'timestamp' ) && $this->is_active() ) { |
|
417 | + if ($expires > current_time('timestamp') && $this->is_active()) { |
|
418 | 418 | |
419 | - $base_date = $expires; |
|
419 | + $base_date = $expires; |
|
420 | 420 | |
421 | 421 | } else { |
422 | 422 | |
423 | - $base_date = current_time( 'timestamp' ); |
|
423 | + $base_date = current_time('timestamp'); |
|
424 | 424 | |
425 | 425 | } |
426 | 426 | |
427 | - $last_day = wpinv_cal_days_in_month( CAL_GREGORIAN, date( 'n', $base_date ), date( 'Y', $base_date ) ); |
|
427 | + $last_day = wpinv_cal_days_in_month(CAL_GREGORIAN, date('n', $base_date), date('Y', $base_date)); |
|
428 | 428 | |
429 | 429 | |
430 | 430 | $frequency = isset($this->frequency) ? $this->frequency : 1; |
431 | - $expiration = date( 'Y-m-d H:i:s', strtotime( '+' . $frequency . ' ' . $this->period . ' 23:59:59', $base_date ) ); |
|
431 | + $expiration = date('Y-m-d H:i:s', strtotime('+' . $frequency . ' ' . $this->period . ' 23:59:59', $base_date)); |
|
432 | 432 | |
433 | - if( date( 'j', $base_date ) == $last_day && 'day' != $this->period ) { |
|
434 | - $expiration = date( 'Y-m-d H:i:s', strtotime( $expiration . ' +2 days' ) ); |
|
433 | + if (date('j', $base_date) == $last_day && 'day' != $this->period) { |
|
434 | + $expiration = date('Y-m-d H:i:s', strtotime($expiration . ' +2 days')); |
|
435 | 435 | } |
436 | 436 | |
437 | - $expiration = apply_filters( 'wpinv_subscription_renewal_expiration', $expiration, $this->id, $this ); |
|
437 | + $expiration = apply_filters('wpinv_subscription_renewal_expiration', $expiration, $this->id, $this); |
|
438 | 438 | |
439 | - do_action( 'wpinv_subscription_pre_renew', $this->id, $expiration, $this ); |
|
439 | + do_action('wpinv_subscription_pre_renew', $this->id, $expiration, $this); |
|
440 | 440 | |
441 | 441 | $this->status = 'active'; |
442 | 442 | $times_billed = $this->get_times_billed(); |
443 | 443 | |
444 | 444 | // Complete subscription if applicable |
445 | - if ( $this->bill_times > 0 && $times_billed >= $this->bill_times ) { |
|
445 | + if ($this->bill_times > 0 && $times_billed >= $this->bill_times) { |
|
446 | 446 | $this->complete(); |
447 | 447 | $this->status = 'completed'; |
448 | 448 | } |
@@ -452,10 +452,10 @@ discard block |
||
452 | 452 | 'status' => $this->status, |
453 | 453 | ); |
454 | 454 | |
455 | - $this->subs_db->update( $this->id, $args ); |
|
455 | + $this->subs_db->update($this->id, $args); |
|
456 | 456 | |
457 | - do_action( 'wpinv_subscription_post_renew', $this->id, $expiration, $this ); |
|
458 | - do_action( 'wpinv_recurring_set_subscription_status', $this->id, $this->status, $this ); |
|
457 | + do_action('wpinv_subscription_post_renew', $this->id, $expiration, $this); |
|
458 | + do_action('wpinv_recurring_set_subscription_status', $this->id, $this->status, $this); |
|
459 | 459 | |
460 | 460 | } |
461 | 461 | |
@@ -470,7 +470,7 @@ discard block |
||
470 | 470 | public function complete() { |
471 | 471 | |
472 | 472 | // Only mark a subscription as complete if it's not already cancelled. |
473 | - if ( 'cancelled' === $this->status ) { |
|
473 | + if ('cancelled' === $this->status) { |
|
474 | 474 | return; |
475 | 475 | } |
476 | 476 | |
@@ -478,11 +478,11 @@ discard block |
||
478 | 478 | 'status' => 'completed' |
479 | 479 | ); |
480 | 480 | |
481 | - if( $this->subs_db->update( $this->id, $args ) ) { |
|
481 | + if ($this->subs_db->update($this->id, $args)) { |
|
482 | 482 | |
483 | 483 | $this->status = 'completed'; |
484 | 484 | |
485 | - do_action( 'wpinv_subscription_completed', $this->id, $this ); |
|
485 | + do_action('wpinv_subscription_completed', $this->id, $this); |
|
486 | 486 | |
487 | 487 | } |
488 | 488 | |
@@ -497,15 +497,15 @@ discard block |
||
497 | 497 | * @param $check_expiration bool True if expiration date should be checked with merchant processor before expiring |
498 | 498 | * @return void |
499 | 499 | */ |
500 | - public function expire( $check_expiration = false ) { |
|
500 | + public function expire($check_expiration = false) { |
|
501 | 501 | |
502 | 502 | $expiration = $this->expiration; |
503 | 503 | |
504 | - if( $check_expiration ) { |
|
504 | + if ($check_expiration) { |
|
505 | 505 | |
506 | 506 | // check_expiration() updates $this->expiration so compare to $expiration above |
507 | 507 | |
508 | - if( $expiration < $this->get_expiration() && current_time( 'timestamp' ) < $this->get_expiration_time() ) { |
|
508 | + if ($expiration < $this->get_expiration() && current_time('timestamp') < $this->get_expiration_time()) { |
|
509 | 509 | |
510 | 510 | return false; // Do not mark as expired since real expiration date is in the future |
511 | 511 | } |
@@ -516,11 +516,11 @@ discard block |
||
516 | 516 | 'status' => 'expired' |
517 | 517 | ); |
518 | 518 | |
519 | - if( $this->subs_db->update( $this->id, $args ) ) { |
|
519 | + if ($this->subs_db->update($this->id, $args)) { |
|
520 | 520 | |
521 | 521 | $this->status = 'expired'; |
522 | 522 | |
523 | - do_action( 'wpinv_subscription_expired', $this->id, $this ); |
|
523 | + do_action('wpinv_subscription_expired', $this->id, $this); |
|
524 | 524 | |
525 | 525 | } |
526 | 526 | |
@@ -538,11 +538,11 @@ discard block |
||
538 | 538 | 'status' => 'failing' |
539 | 539 | ); |
540 | 540 | |
541 | - if( $this->subs_db->update( $this->id, $args ) ) { |
|
541 | + if ($this->subs_db->update($this->id, $args)) { |
|
542 | 542 | |
543 | 543 | $this->status = 'failing'; |
544 | 544 | |
545 | - do_action( 'wpinv_subscription_failing', $this->id, $this ); |
|
545 | + do_action('wpinv_subscription_failing', $this->id, $this); |
|
546 | 546 | |
547 | 547 | |
548 | 548 | } |
@@ -556,7 +556,7 @@ discard block |
||
556 | 556 | * @return void |
557 | 557 | */ |
558 | 558 | public function cancel() { |
559 | - if ( 'cancelled' === $this->status ) { |
|
559 | + if ('cancelled' === $this->status) { |
|
560 | 560 | return; // Already cancelled |
561 | 561 | } |
562 | 562 | |
@@ -564,20 +564,20 @@ discard block |
||
564 | 564 | 'status' => 'cancelled' |
565 | 565 | ); |
566 | 566 | |
567 | - if ( $this->subs_db->update( $this->id, $args ) ) { |
|
568 | - if ( is_user_logged_in() ) { |
|
569 | - $userdata = get_userdata( get_current_user_id() ); |
|
567 | + if ($this->subs_db->update($this->id, $args)) { |
|
568 | + if (is_user_logged_in()) { |
|
569 | + $userdata = get_userdata(get_current_user_id()); |
|
570 | 570 | $user = $userdata->display_name; |
571 | 571 | } else { |
572 | - $user = __( 'gateway', 'invoicing' ); |
|
572 | + $user = __('gateway', 'invoicing'); |
|
573 | 573 | } |
574 | 574 | |
575 | - $note = sprintf( __( 'Subscription has been cancelled by %s', 'invoicing' ), $user ); |
|
576 | - wpinv_insert_payment_note( $this->parent_payment_id, $note, '', '', true ); |
|
575 | + $note = sprintf(__('Subscription has been cancelled by %s', 'invoicing'), $user); |
|
576 | + wpinv_insert_payment_note($this->parent_payment_id, $note, '', '', true); |
|
577 | 577 | |
578 | 578 | $this->status = 'cancelled'; |
579 | 579 | |
580 | - do_action( 'wpinv_subscription_cancelled', $this->id, $this ); |
|
580 | + do_action('wpinv_subscription_cancelled', $this->id, $this); |
|
581 | 581 | } |
582 | 582 | } |
583 | 583 | |
@@ -592,10 +592,10 @@ discard block |
||
592 | 592 | */ |
593 | 593 | public function can_cancel() { |
594 | 594 | $ret = false; |
595 | - if( $this->gateway === 'manual' || in_array( $this->status, $this->get_cancellable_statuses() ) ) { |
|
595 | + if ($this->gateway === 'manual' || in_array($this->status, $this->get_cancellable_statuses())) { |
|
596 | 596 | $ret = true; |
597 | 597 | } |
598 | - return apply_filters( 'wpinv_subscription_can_cancel', $ret, $this ); |
|
598 | + return apply_filters('wpinv_subscription_can_cancel', $ret, $this); |
|
599 | 599 | } |
600 | 600 | |
601 | 601 | /** |
@@ -606,7 +606,7 @@ discard block |
||
606 | 606 | * @return array |
607 | 607 | */ |
608 | 608 | public function get_cancellable_statuses() { |
609 | - return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) ); |
|
609 | + return apply_filters('wpinv_recurring_cancellable_statuses', array('active', 'trialling', 'failing')); |
|
610 | 610 | } |
611 | 611 | |
612 | 612 | /** |
@@ -617,9 +617,9 @@ discard block |
||
617 | 617 | */ |
618 | 618 | public function get_cancel_url() { |
619 | 619 | |
620 | - $url = wp_nonce_url( add_query_arg( array( 'wpinv_action' => 'cancel_subscription', 'sub_id' => $this->id ) ), 'wpinv-recurring-cancel' ); |
|
620 | + $url = wp_nonce_url(add_query_arg(array('wpinv_action' => 'cancel_subscription', 'sub_id' => $this->id)), 'wpinv-recurring-cancel'); |
|
621 | 621 | |
622 | - return apply_filters( 'wpinv_subscription_cancel_url', $url, $this ); |
|
622 | + return apply_filters('wpinv_subscription_cancel_url', $url, $this); |
|
623 | 623 | } |
624 | 624 | |
625 | 625 | /** |
@@ -633,7 +633,7 @@ discard block |
||
633 | 633 | */ |
634 | 634 | public function can_renew() { |
635 | 635 | |
636 | - return apply_filters( 'wpinv_subscription_can_renew', true, $this ); |
|
636 | + return apply_filters('wpinv_subscription_can_renew', true, $this); |
|
637 | 637 | } |
638 | 638 | |
639 | 639 | /** |
@@ -644,9 +644,9 @@ discard block |
||
644 | 644 | */ |
645 | 645 | public function get_renew_url() { |
646 | 646 | |
647 | - $url = wp_nonce_url( add_query_arg( array( 'wpinv_action' => 'renew_subscription', 'sub_id' => $this->id ) ), 'wpinv-recurring-renew' ); |
|
647 | + $url = wp_nonce_url(add_query_arg(array('wpinv_action' => 'renew_subscription', 'sub_id' => $this->id)), 'wpinv-recurring-renew'); |
|
648 | 648 | |
649 | - return apply_filters( 'wpinv_subscription_renew_url', $url, $this ); |
|
649 | + return apply_filters('wpinv_subscription_renew_url', $url, $this); |
|
650 | 650 | } |
651 | 651 | |
652 | 652 | /** |
@@ -656,7 +656,7 @@ discard block |
||
656 | 656 | * @return bool |
657 | 657 | */ |
658 | 658 | public function can_update() { |
659 | - return apply_filters( 'wpinv_subscription_can_update', false, $this ); |
|
659 | + return apply_filters('wpinv_subscription_can_update', false, $this); |
|
660 | 660 | } |
661 | 661 | |
662 | 662 | /** |
@@ -667,9 +667,9 @@ discard block |
||
667 | 667 | */ |
668 | 668 | public function get_update_url() { |
669 | 669 | |
670 | - $url = add_query_arg( array( 'action' => 'update', 'subscription_id' => $this->id ) ); |
|
670 | + $url = add_query_arg(array('action' => 'update', 'subscription_id' => $this->id)); |
|
671 | 671 | |
672 | - return apply_filters( 'wpinv_subscription_update_url', $url, $this ); |
|
672 | + return apply_filters('wpinv_subscription_update_url', $url, $this); |
|
673 | 673 | } |
674 | 674 | |
675 | 675 | /** |
@@ -682,11 +682,11 @@ discard block |
||
682 | 682 | |
683 | 683 | $ret = false; |
684 | 684 | |
685 | - if( ! $this->is_expired() && ( $this->status == 'active' || $this->status == 'cancelled' || $this->status == 'trialling' ) ) { |
|
685 | + if (!$this->is_expired() && ($this->status == 'active' || $this->status == 'cancelled' || $this->status == 'trialling')) { |
|
686 | 686 | $ret = true; |
687 | 687 | } |
688 | 688 | |
689 | - return apply_filters( 'wpinv_subscription_is_active', $ret, $this->id, $this ); |
|
689 | + return apply_filters('wpinv_subscription_is_active', $ret, $this->id, $this); |
|
690 | 690 | |
691 | 691 | } |
692 | 692 | |
@@ -700,26 +700,26 @@ discard block |
||
700 | 700 | |
701 | 701 | $ret = false; |
702 | 702 | |
703 | - if ( $this->status == 'expired' ) { |
|
703 | + if ($this->status == 'expired') { |
|
704 | 704 | |
705 | 705 | $ret = true; |
706 | 706 | |
707 | - } elseif( 'active' === $this->status || 'cancelled' === $this->status || $this->status == 'trialling' ) { |
|
707 | + } elseif ('active' === $this->status || 'cancelled' === $this->status || $this->status == 'trialling') { |
|
708 | 708 | |
709 | 709 | $ret = false; |
710 | 710 | $expiration = $this->get_expiration_time(); |
711 | 711 | |
712 | - if( $expiration && strtotime( 'NOW', current_time( 'timestamp' ) ) > $expiration ) { |
|
712 | + if ($expiration && strtotime('NOW', current_time('timestamp')) > $expiration) { |
|
713 | 713 | $ret = true; |
714 | 714 | |
715 | - if ( 'active' === $this->status || $this->status == 'trialling' ) { |
|
715 | + if ('active' === $this->status || $this->status == 'trialling') { |
|
716 | 716 | $this->expire(); |
717 | 717 | } |
718 | 718 | } |
719 | 719 | |
720 | 720 | } |
721 | 721 | |
722 | - return apply_filters( 'wpinv_subscription_is_expired', $ret, $this->id, $this ); |
|
722 | + return apply_filters('wpinv_subscription_is_expired', $ret, $this->id, $this); |
|
723 | 723 | |
724 | 724 | } |
725 | 725 | |
@@ -740,7 +740,7 @@ discard block |
||
740 | 740 | * @return int |
741 | 741 | */ |
742 | 742 | public function get_expiration_time() { |
743 | - return strtotime( $this->expiration, current_time( 'timestamp' ) ); |
|
743 | + return strtotime($this->expiration, current_time('timestamp')); |
|
744 | 744 | } |
745 | 745 | |
746 | 746 | /** |
@@ -764,37 +764,37 @@ discard block |
||
764 | 764 | */ |
765 | 765 | public function get_status_label() { |
766 | 766 | |
767 | - switch( $this->get_status() ) { |
|
767 | + switch ($this->get_status()) { |
|
768 | 768 | case 'active' : |
769 | - $status = __( 'Active', 'invoicing' ); |
|
769 | + $status = __('Active', 'invoicing'); |
|
770 | 770 | break; |
771 | 771 | |
772 | 772 | case 'cancelled' : |
773 | - $status = __( 'Cancelled', 'invoicing' ); |
|
773 | + $status = __('Cancelled', 'invoicing'); |
|
774 | 774 | break; |
775 | 775 | |
776 | 776 | case 'expired' : |
777 | - $status = __( 'Expired', 'invoicing' ); |
|
777 | + $status = __('Expired', 'invoicing'); |
|
778 | 778 | break; |
779 | 779 | |
780 | 780 | case 'pending' : |
781 | - $status = __( 'Pending', 'invoicing' ); |
|
781 | + $status = __('Pending', 'invoicing'); |
|
782 | 782 | break; |
783 | 783 | |
784 | 784 | case 'failing' : |
785 | - $status = __( 'Failing', 'invoicing' ); |
|
785 | + $status = __('Failing', 'invoicing'); |
|
786 | 786 | break; |
787 | 787 | |
788 | 788 | case 'trialling' : |
789 | - $status = __( 'Trialling', 'invoicing' ); |
|
789 | + $status = __('Trialling', 'invoicing'); |
|
790 | 790 | break; |
791 | 791 | |
792 | 792 | case 'completed' : |
793 | - $status = __( 'Completed', 'invoicing' ); |
|
793 | + $status = __('Completed', 'invoicing'); |
|
794 | 794 | break; |
795 | 795 | |
796 | 796 | default: |
797 | - $status = ucfirst( $this->get_status() ); |
|
797 | + $status = ucfirst($this->get_status()); |
|
798 | 798 | break; |
799 | 799 | } |
800 | 800 | |
@@ -809,51 +809,51 @@ discard block |
||
809 | 809 | */ |
810 | 810 | public function get_status_label_html() { |
811 | 811 | |
812 | - switch( $get_status = $this->get_status() ) { |
|
812 | + switch ($get_status = $this->get_status()) { |
|
813 | 813 | case 'active' : |
814 | - $status = __( 'Active', 'invoicing' ); |
|
814 | + $status = __('Active', 'invoicing'); |
|
815 | 815 | $class = 'label-info'; |
816 | 816 | break; |
817 | 817 | |
818 | 818 | case 'cancelled' : |
819 | - $status = __( 'Cancelled', 'invoicing' ); |
|
819 | + $status = __('Cancelled', 'invoicing'); |
|
820 | 820 | $class = 'label-danger'; |
821 | 821 | break; |
822 | 822 | |
823 | 823 | case 'expired' : |
824 | - $status = __( 'Expired', 'invoicing' ); |
|
824 | + $status = __('Expired', 'invoicing'); |
|
825 | 825 | $class = 'label-default'; |
826 | 826 | break; |
827 | 827 | |
828 | 828 | case 'pending' : |
829 | - $status = __( 'Pending', 'invoicing' ); |
|
829 | + $status = __('Pending', 'invoicing'); |
|
830 | 830 | $class = 'label-primary'; |
831 | 831 | break; |
832 | 832 | |
833 | 833 | case 'failing' : |
834 | - $status = __( 'Failing', 'invoicing' ); |
|
834 | + $status = __('Failing', 'invoicing'); |
|
835 | 835 | $class = 'label-danger'; |
836 | 836 | break; |
837 | 837 | |
838 | 838 | case 'trialling' : |
839 | - $status = __( 'Trialling', 'invoicing' ); |
|
839 | + $status = __('Trialling', 'invoicing'); |
|
840 | 840 | $class = 'label-info'; |
841 | 841 | break; |
842 | 842 | |
843 | 843 | case 'completed' : |
844 | - $status = __( 'Completed', 'invoicing' ); |
|
844 | + $status = __('Completed', 'invoicing'); |
|
845 | 845 | $class = 'label-success'; |
846 | 846 | break; |
847 | 847 | |
848 | 848 | default: |
849 | - $status = ucfirst( $this->get_status() ); |
|
849 | + $status = ucfirst($this->get_status()); |
|
850 | 850 | $class = 'label-default'; |
851 | 851 | break; |
852 | 852 | } |
853 | 853 | |
854 | 854 | $label = '<span class="sub-status label label-sub-' . $get_status . ' ' . $class . '">' . $status . '</span>'; |
855 | 855 | |
856 | - return apply_filters( 'wpinv_subscription_status_label_html', $label, $get_status, $status ); |
|
856 | + return apply_filters('wpinv_subscription_status_label_html', $label, $get_status, $status); |
|
857 | 857 | } |
858 | 858 | |
859 | 859 | /** |
@@ -863,18 +863,18 @@ discard block |
||
863 | 863 | * @param string $txn_id The transaction ID from the merchant processor |
864 | 864 | * @return bool |
865 | 865 | */ |
866 | - public function payment_exists( $txn_id = '' ) { |
|
866 | + public function payment_exists($txn_id = '') { |
|
867 | 867 | global $wpdb; |
868 | 868 | |
869 | - if ( empty( $txn_id ) ) { |
|
869 | + if (empty($txn_id)) { |
|
870 | 870 | return false; |
871 | 871 | } |
872 | 872 | |
873 | - $txn_id = esc_sql( $txn_id ); |
|
873 | + $txn_id = esc_sql($txn_id); |
|
874 | 874 | |
875 | - $purchase = $wpdb->get_var( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpinv_transaction_id' AND meta_value = '{$txn_id}' LIMIT 1" ); |
|
875 | + $purchase = $wpdb->get_var("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wpinv_transaction_id' AND meta_value = '{$txn_id}' LIMIT 1"); |
|
876 | 876 | |
877 | - if ( $purchase != null ) { |
|
877 | + if ($purchase != null) { |
|
878 | 878 | return true; |
879 | 879 | } |
880 | 880 |
@@ -7,110 +7,110 @@ discard block |
||
7 | 7 | */ |
8 | 8 | |
9 | 9 | // MUST have WordPress. |
10 | -if ( !defined( 'WPINC' ) ) { |
|
11 | - exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) ); |
|
10 | +if (!defined('WPINC')) { |
|
11 | + exit('Do NOT access this file directly: ' . basename(__FILE__)); |
|
12 | 12 | } |
13 | 13 | |
14 | 14 | function wpinv_get_discount_types() { |
15 | 15 | $discount_types = array( |
16 | - 'percent' => __( 'Percentage', 'invoicing' ), |
|
17 | - 'flat' => __( 'Flat Amount', 'invoicing' ), |
|
16 | + 'percent' => __('Percentage', 'invoicing'), |
|
17 | + 'flat' => __('Flat Amount', 'invoicing'), |
|
18 | 18 | ); |
19 | - return (array)apply_filters( 'wpinv_discount_types', $discount_types ); |
|
19 | + return (array) apply_filters('wpinv_discount_types', $discount_types); |
|
20 | 20 | } |
21 | 21 | |
22 | -function wpinv_get_discount_type_name( $type = '' ) { |
|
22 | +function wpinv_get_discount_type_name($type = '') { |
|
23 | 23 | $types = wpinv_get_discount_types(); |
24 | - return isset( $types[ $type ] ) ? $types[ $type ] : ''; |
|
24 | + return isset($types[$type]) ? $types[$type] : ''; |
|
25 | 25 | } |
26 | 26 | |
27 | -function wpinv_delete_discount( $data ) { |
|
28 | - if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) { |
|
29 | - wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
27 | +function wpinv_delete_discount($data) { |
|
28 | + if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) { |
|
29 | + wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
30 | 30 | } |
31 | 31 | |
32 | - if( ! wpinv_current_user_can_manage_invoicing() ) { |
|
33 | - wp_die( __( 'You do not have permission to delete discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
32 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
33 | + wp_die(__('You do not have permission to delete discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
34 | 34 | } |
35 | 35 | |
36 | 36 | $discount_id = $data['discount']; |
37 | - wpinv_remove_discount( $discount_id ); |
|
37 | + wpinv_remove_discount($discount_id); |
|
38 | 38 | } |
39 | -add_action( 'wpinv_delete_discount', 'wpinv_delete_discount' ); |
|
39 | +add_action('wpinv_delete_discount', 'wpinv_delete_discount'); |
|
40 | 40 | |
41 | -function wpinv_activate_discount( $data ) { |
|
42 | - if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) { |
|
43 | - wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
41 | +function wpinv_activate_discount($data) { |
|
42 | + if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) { |
|
43 | + wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
44 | 44 | } |
45 | 45 | |
46 | - if( ! wpinv_current_user_can_manage_invoicing() ) { |
|
47 | - wp_die( __( 'You do not have permission to edit discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
46 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
47 | + wp_die(__('You do not have permission to edit discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
48 | 48 | } |
49 | 49 | |
50 | - $id = absint( $data['discount'] ); |
|
51 | - wpinv_update_discount_status( $id, 'publish' ); |
|
50 | + $id = absint($data['discount']); |
|
51 | + wpinv_update_discount_status($id, 'publish'); |
|
52 | 52 | } |
53 | -add_action( 'wpinv_activate_discount', 'wpinv_activate_discount' ); |
|
53 | +add_action('wpinv_activate_discount', 'wpinv_activate_discount'); |
|
54 | 54 | |
55 | -function wpinv_deactivate_discount( $data ) { |
|
56 | - if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) { |
|
57 | - wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
55 | +function wpinv_deactivate_discount($data) { |
|
56 | + if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) { |
|
57 | + wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
58 | 58 | } |
59 | 59 | |
60 | - if( ! wpinv_current_user_can_manage_invoicing() ) { |
|
61 | - wp_die( __( 'You do not have permission to create discount codes', 'invoicing' ), array( 'response' => 403 ) ); |
|
60 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
61 | + wp_die(__('You do not have permission to create discount codes', 'invoicing'), array('response' => 403)); |
|
62 | 62 | } |
63 | 63 | |
64 | - $id = absint( $data['discount'] ); |
|
65 | - wpinv_update_discount_status( $id, 'pending' ); |
|
64 | + $id = absint($data['discount']); |
|
65 | + wpinv_update_discount_status($id, 'pending'); |
|
66 | 66 | } |
67 | -add_action( 'wpinv_deactivate_discount', 'wpinv_deactivate_discount' ); |
|
67 | +add_action('wpinv_deactivate_discount', 'wpinv_deactivate_discount'); |
|
68 | 68 | |
69 | -function wpinv_get_discounts( $args = array() ) { |
|
69 | +function wpinv_get_discounts($args = array()) { |
|
70 | 70 | $defaults = array( |
71 | 71 | 'post_type' => 'wpi_discount', |
72 | 72 | 'posts_per_page' => 20, |
73 | 73 | 'paged' => null, |
74 | - 'post_status' => array( 'publish', 'pending', 'draft', 'expired' ) |
|
74 | + 'post_status' => array('publish', 'pending', 'draft', 'expired') |
|
75 | 75 | ); |
76 | 76 | |
77 | - $args = wp_parse_args( $args, $defaults ); |
|
77 | + $args = wp_parse_args($args, $defaults); |
|
78 | 78 | |
79 | - $discounts = get_posts( $args ); |
|
79 | + $discounts = get_posts($args); |
|
80 | 80 | |
81 | - if ( $discounts ) { |
|
81 | + if ($discounts) { |
|
82 | 82 | return $discounts; |
83 | 83 | } |
84 | 84 | |
85 | - if( ! $discounts && ! empty( $args['s'] ) ) { |
|
85 | + if (!$discounts && !empty($args['s'])) { |
|
86 | 86 | $args['meta_key'] = '_wpi_discount_code'; |
87 | 87 | $args['meta_value'] = $args['s']; |
88 | 88 | $args['meta_compare'] = 'LIKE'; |
89 | - unset( $args['s'] ); |
|
90 | - $discounts = get_posts( $args ); |
|
89 | + unset($args['s']); |
|
90 | + $discounts = get_posts($args); |
|
91 | 91 | } |
92 | 92 | |
93 | - if( $discounts ) { |
|
93 | + if ($discounts) { |
|
94 | 94 | return $discounts; |
95 | 95 | } |
96 | 96 | |
97 | 97 | return false; |
98 | 98 | } |
99 | 99 | |
100 | -function wpinv_get_all_discounts( $args = array() ) { |
|
100 | +function wpinv_get_all_discounts($args = array()) { |
|
101 | 101 | |
102 | - $args = wp_parse_args( $args, array( |
|
103 | - 'status' => array( 'publish' ), |
|
104 | - 'limit' => get_option( 'posts_per_page' ), |
|
102 | + $args = wp_parse_args($args, array( |
|
103 | + 'status' => array('publish'), |
|
104 | + 'limit' => get_option('posts_per_page'), |
|
105 | 105 | 'page' => 1, |
106 | 106 | 'exclude' => array(), |
107 | 107 | 'orderby' => 'date', |
108 | 108 | 'order' => 'DESC', |
109 | - 'type' => array_keys( wpinv_get_discount_types() ), |
|
109 | + 'type' => array_keys(wpinv_get_discount_types()), |
|
110 | 110 | 'meta_query' => array(), |
111 | 111 | 'return' => 'objects', |
112 | 112 | 'paginate' => false, |
113 | - ) ); |
|
113 | + )); |
|
114 | 114 | |
115 | 115 | $wp_query_args = array( |
116 | 116 | 'post_type' => 'wpi_discount', |
@@ -120,18 +120,18 @@ discard block |
||
120 | 120 | 'fields' => 'ids', |
121 | 121 | 'orderby' => $args['orderby'], |
122 | 122 | 'order' => $args['order'], |
123 | - 'paged' => absint( $args['page'] ), |
|
123 | + 'paged' => absint($args['page']), |
|
124 | 124 | ); |
125 | 125 | |
126 | - if ( ! empty( $args['exclude'] ) ) { |
|
127 | - $wp_query_args['post__not_in'] = array_map( 'absint', $args['exclude'] ); |
|
126 | + if (!empty($args['exclude'])) { |
|
127 | + $wp_query_args['post__not_in'] = array_map('absint', $args['exclude']); |
|
128 | 128 | } |
129 | 129 | |
130 | - if ( ! $args['paginate' ] ) { |
|
130 | + if (!$args['paginate']) { |
|
131 | 131 | $wp_query_args['no_found_rows'] = true; |
132 | 132 | } |
133 | 133 | |
134 | - if ( ! empty( $args['search'] ) ) { |
|
134 | + if (!empty($args['search'])) { |
|
135 | 135 | |
136 | 136 | $wp_query_args['meta_query'][] = array( |
137 | 137 | 'key' => '_wpi_discount_code', |
@@ -141,11 +141,11 @@ discard block |
||
141 | 141 | |
142 | 142 | } |
143 | 143 | |
144 | - if ( ! empty( $args['type'] ) ) { |
|
145 | - $types = wpinv_parse_list( $args['type'] ); |
|
144 | + if (!empty($args['type'])) { |
|
145 | + $types = wpinv_parse_list($args['type']); |
|
146 | 146 | $wp_query_args['meta_query'][] = array( |
147 | 147 | 'key' => '_wpi_discount_type', |
148 | - 'value' => implode( ',', $types ), |
|
148 | + 'value' => implode(',', $types), |
|
149 | 149 | 'compare' => 'IN', |
150 | 150 | ); |
151 | 151 | } |
@@ -153,17 +153,17 @@ discard block |
||
153 | 153 | $wp_query_args = apply_filters('wpinv_get_discount_args', $wp_query_args, $args); |
154 | 154 | |
155 | 155 | // Get results. |
156 | - $discounts = new WP_Query( $wp_query_args ); |
|
156 | + $discounts = new WP_Query($wp_query_args); |
|
157 | 157 | |
158 | - if ( 'objects' === $args['return'] ) { |
|
159 | - $return = array_map( 'get_post', $discounts->posts ); |
|
160 | - } elseif ( 'self' === $args['return'] ) { |
|
158 | + if ('objects' === $args['return']) { |
|
159 | + $return = array_map('get_post', $discounts->posts); |
|
160 | + } elseif ('self' === $args['return']) { |
|
161 | 161 | return $discounts; |
162 | 162 | } else { |
163 | 163 | $return = $discounts->posts; |
164 | 164 | } |
165 | 165 | |
166 | - if ( $args['paginate' ] ) { |
|
166 | + if ($args['paginate']) { |
|
167 | 167 | return (object) array( |
168 | 168 | 'discounts' => $return, |
169 | 169 | 'total' => $discounts->found_posts, |
@@ -180,9 +180,9 @@ discard block |
||
180 | 180 | |
181 | 181 | $discounts = wpinv_get_discounts(); |
182 | 182 | |
183 | - if ( $discounts) { |
|
184 | - foreach ( $discounts as $discount ) { |
|
185 | - if ( wpinv_is_discount_active( $discount->ID ) ) { |
|
183 | + if ($discounts) { |
|
184 | + foreach ($discounts as $discount) { |
|
185 | + if (wpinv_is_discount_active($discount->ID)) { |
|
186 | 186 | $has_active = true; |
187 | 187 | break; |
188 | 188 | } |
@@ -191,16 +191,16 @@ discard block |
||
191 | 191 | return $has_active; |
192 | 192 | } |
193 | 193 | |
194 | -function wpinv_get_discount( $discount_id = 0 ) { |
|
195 | - if( empty( $discount_id ) ) { |
|
194 | +function wpinv_get_discount($discount_id = 0) { |
|
195 | + if (empty($discount_id)) { |
|
196 | 196 | return false; |
197 | 197 | } |
198 | 198 | |
199 | - if ( get_post_type( $discount_id ) != 'wpi_discount' ) { |
|
199 | + if (get_post_type($discount_id) != 'wpi_discount') { |
|
200 | 200 | return false; |
201 | 201 | } |
202 | 202 | |
203 | - $discount = get_post( $discount_id ); |
|
203 | + $discount = get_post($discount_id); |
|
204 | 204 | |
205 | 205 | return $discount; |
206 | 206 | } |
@@ -212,8 +212,8 @@ discard block |
||
212 | 212 | * @since 1.0.15 |
213 | 213 | * @return WPInv_Discount |
214 | 214 | */ |
215 | -function wpinv_get_discount_obj( $discount = 0 ) { |
|
216 | - return new WPInv_Discount( $discount ); |
|
215 | +function wpinv_get_discount_obj($discount = 0) { |
|
216 | + return new WPInv_Discount($discount); |
|
217 | 217 | } |
218 | 218 | |
219 | 219 | /** |
@@ -222,8 +222,8 @@ discard block |
||
222 | 222 | * @param string $code The discount code. |
223 | 223 | * @return bool|WP_Post |
224 | 224 | */ |
225 | -function wpinv_get_discount_by_code( $code = '' ) { |
|
226 | - return wpinv_get_discount_by( 'code', $code ); |
|
225 | +function wpinv_get_discount_by_code($code = '') { |
|
226 | + return wpinv_get_discount_by('code', $code); |
|
227 | 227 | } |
228 | 228 | |
229 | 229 | /** |
@@ -233,13 +233,13 @@ discard block |
||
233 | 233 | * @param string|int $value The field value |
234 | 234 | * @return bool|WP_Post |
235 | 235 | */ |
236 | -function wpinv_get_discount_by( $field = '', $value = '' ) { |
|
237 | - $data = WPInv_Discount::get_data_by( $field, $value ); |
|
238 | - if( empty( $data ) ) { |
|
236 | +function wpinv_get_discount_by($field = '', $value = '') { |
|
237 | + $data = WPInv_Discount::get_data_by($field, $value); |
|
238 | + if (empty($data)) { |
|
239 | 239 | return false; |
240 | 240 | } |
241 | 241 | |
242 | - return get_post( $data['ID'] ); |
|
242 | + return get_post($data['ID']); |
|
243 | 243 | } |
244 | 244 | |
245 | 245 | /** |
@@ -249,68 +249,68 @@ discard block |
||
249 | 249 | * @param array $data The discount's properties. |
250 | 250 | * @return bool |
251 | 251 | */ |
252 | -function wpinv_store_discount( $post_id, $data, $post, $update = false ) { |
|
252 | +function wpinv_store_discount($post_id, $data, $post, $update = false) { |
|
253 | 253 | $meta = array( |
254 | - 'code' => isset( $data['code'] ) ? sanitize_text_field( $data['code'] ) : '', |
|
255 | - 'type' => isset( $data['type'] ) ? sanitize_text_field( $data['type'] ) : 'percent', |
|
256 | - 'amount' => isset( $data['amount'] ) ? wpinv_sanitize_amount( $data['amount'] ) : '', |
|
257 | - 'start' => isset( $data['start'] ) ? sanitize_text_field( $data['start'] ) : '', |
|
258 | - 'expiration' => isset( $data['expiration'] ) ? sanitize_text_field( $data['expiration'] ) : '', |
|
259 | - 'min_total' => isset( $data['min_total'] ) ? wpinv_sanitize_amount( $data['min_total'] ) : '', |
|
260 | - 'max_total' => isset( $data['max_total'] ) ? wpinv_sanitize_amount( $data['max_total'] ) : '', |
|
261 | - 'max_uses' => isset( $data['max_uses'] ) ? absint( $data['max_uses'] ) : '', |
|
262 | - 'items' => isset( $data['items'] ) ? $data['items'] : array(), |
|
263 | - 'excluded_items' => isset( $data['excluded_items'] ) ? $data['excluded_items'] : array(), |
|
264 | - 'is_recurring' => isset( $data['recurring'] ) ? (bool)$data['recurring'] : false, |
|
265 | - 'is_single_use' => isset( $data['single_use'] ) ? (bool)$data['single_use'] : false, |
|
266 | - 'uses' => isset( $data['uses'] ) ? (int)$data['uses'] : false, |
|
254 | + 'code' => isset($data['code']) ? sanitize_text_field($data['code']) : '', |
|
255 | + 'type' => isset($data['type']) ? sanitize_text_field($data['type']) : 'percent', |
|
256 | + 'amount' => isset($data['amount']) ? wpinv_sanitize_amount($data['amount']) : '', |
|
257 | + 'start' => isset($data['start']) ? sanitize_text_field($data['start']) : '', |
|
258 | + 'expiration' => isset($data['expiration']) ? sanitize_text_field($data['expiration']) : '', |
|
259 | + 'min_total' => isset($data['min_total']) ? wpinv_sanitize_amount($data['min_total']) : '', |
|
260 | + 'max_total' => isset($data['max_total']) ? wpinv_sanitize_amount($data['max_total']) : '', |
|
261 | + 'max_uses' => isset($data['max_uses']) ? absint($data['max_uses']) : '', |
|
262 | + 'items' => isset($data['items']) ? $data['items'] : array(), |
|
263 | + 'excluded_items' => isset($data['excluded_items']) ? $data['excluded_items'] : array(), |
|
264 | + 'is_recurring' => isset($data['recurring']) ? (bool) $data['recurring'] : false, |
|
265 | + 'is_single_use' => isset($data['single_use']) ? (bool) $data['single_use'] : false, |
|
266 | + 'uses' => isset($data['uses']) ? (int) $data['uses'] : false, |
|
267 | 267 | ); |
268 | 268 | |
269 | - if ( $meta['type'] == 'percent' && (float)$meta['amount'] > 100 ) { |
|
269 | + if ($meta['type'] == 'percent' && (float) $meta['amount'] > 100) { |
|
270 | 270 | $meta['amount'] = 100; |
271 | 271 | } |
272 | 272 | |
273 | - if ( !empty( $meta['start'] ) ) { |
|
274 | - $meta['start'] = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['start'] ) ); |
|
273 | + if (!empty($meta['start'])) { |
|
274 | + $meta['start'] = date_i18n('Y-m-d H:i:s', strtotime($meta['start'])); |
|
275 | 275 | } |
276 | 276 | |
277 | - if ( !empty( $meta['expiration'] ) ) { |
|
278 | - $meta['expiration'] = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['expiration'] ) ); |
|
277 | + if (!empty($meta['expiration'])) { |
|
278 | + $meta['expiration'] = date_i18n('Y-m-d H:i:s', strtotime($meta['expiration'])); |
|
279 | 279 | |
280 | - if ( !empty( $meta['start'] ) && strtotime( $meta['start'] ) > strtotime( $meta['expiration'] ) ) { |
|
280 | + if (!empty($meta['start']) && strtotime($meta['start']) > strtotime($meta['expiration'])) { |
|
281 | 281 | $meta['expiration'] = $meta['start']; |
282 | 282 | } |
283 | 283 | } |
284 | 284 | |
285 | - if ( $meta['uses'] === false ) { |
|
286 | - unset( $meta['uses'] ); |
|
285 | + if ($meta['uses'] === false) { |
|
286 | + unset($meta['uses']); |
|
287 | 287 | } |
288 | 288 | |
289 | - if ( ! empty( $meta['items'] ) ) { |
|
290 | - foreach ( $meta['items'] as $key => $item ) { |
|
291 | - if ( 0 === intval( $item ) ) { |
|
292 | - unset( $meta['items'][ $key ] ); |
|
289 | + if (!empty($meta['items'])) { |
|
290 | + foreach ($meta['items'] as $key => $item) { |
|
291 | + if (0 === intval($item)) { |
|
292 | + unset($meta['items'][$key]); |
|
293 | 293 | } |
294 | 294 | } |
295 | 295 | } |
296 | 296 | |
297 | - if ( ! empty( $meta['excluded_items'] ) ) { |
|
298 | - foreach ( $meta['excluded_items'] as $key => $item ) { |
|
299 | - if ( 0 === intval( $item ) ) { |
|
300 | - unset( $meta['excluded_items'][ $key ] ); |
|
297 | + if (!empty($meta['excluded_items'])) { |
|
298 | + foreach ($meta['excluded_items'] as $key => $item) { |
|
299 | + if (0 === intval($item)) { |
|
300 | + unset($meta['excluded_items'][$key]); |
|
301 | 301 | } |
302 | 302 | } |
303 | 303 | } |
304 | 304 | |
305 | - $meta = apply_filters( 'wpinv_update_discount', $meta, $post_id, $post ); |
|
305 | + $meta = apply_filters('wpinv_update_discount', $meta, $post_id, $post); |
|
306 | 306 | |
307 | - do_action( 'wpinv_pre_update_discount', $meta, $post_id, $post ); |
|
307 | + do_action('wpinv_pre_update_discount', $meta, $post_id, $post); |
|
308 | 308 | |
309 | - foreach( $meta as $key => $value ) { |
|
310 | - update_post_meta( $post_id, '_wpi_discount_' . $key, $value ); |
|
309 | + foreach ($meta as $key => $value) { |
|
310 | + update_post_meta($post_id, '_wpi_discount_' . $key, $value); |
|
311 | 311 | } |
312 | 312 | |
313 | - do_action( 'wpinv_post_update_discount', $meta, $post_id, $post ); |
|
313 | + do_action('wpinv_post_update_discount', $meta, $post_id, $post); |
|
314 | 314 | |
315 | 315 | return $post_id; |
316 | 316 | } |
@@ -321,10 +321,10 @@ discard block |
||
321 | 321 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
322 | 322 | * @return bool |
323 | 323 | */ |
324 | -function wpinv_remove_discount( $discount = 0 ) { |
|
324 | +function wpinv_remove_discount($discount = 0) { |
|
325 | 325 | |
326 | - $discount = wpinv_get_discount_obj( $discount ); |
|
327 | - if( ! $discount->exists() ) { |
|
326 | + $discount = wpinv_get_discount_obj($discount); |
|
327 | + if (!$discount->exists()) { |
|
328 | 328 | return false; |
329 | 329 | } |
330 | 330 | |
@@ -339,9 +339,9 @@ discard block |
||
339 | 339 | * @param string $new_status |
340 | 340 | * @return bool |
341 | 341 | */ |
342 | -function wpinv_update_discount_status( $discount = 0, $new_status = 'publish' ) { |
|
343 | - $discount = wpinv_get_discount_obj( $discount ); |
|
344 | - return $discount->update_status( $new_status ); |
|
342 | +function wpinv_update_discount_status($discount = 0, $new_status = 'publish') { |
|
343 | + $discount = wpinv_get_discount_obj($discount); |
|
344 | + return $discount->update_status($new_status); |
|
345 | 345 | } |
346 | 346 | |
347 | 347 | /** |
@@ -350,48 +350,48 @@ discard block |
||
350 | 350 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
351 | 351 | * @return bool |
352 | 352 | */ |
353 | -function wpinv_discount_exists( $discount ) { |
|
354 | - $discount = wpinv_get_discount_obj( $discount ); |
|
353 | +function wpinv_discount_exists($discount) { |
|
354 | + $discount = wpinv_get_discount_obj($discount); |
|
355 | 355 | return $discount->exists(); |
356 | 356 | } |
357 | 357 | |
358 | -function wpinv_is_discount_active( $code_id = null ) { |
|
359 | - $discount = wpinv_get_discount( $code_id ); |
|
358 | +function wpinv_is_discount_active($code_id = null) { |
|
359 | + $discount = wpinv_get_discount($code_id); |
|
360 | 360 | $return = false; |
361 | 361 | |
362 | - if ( $discount ) { |
|
363 | - if ( wpinv_is_discount_expired( $code_id ) ) { |
|
364 | - if( defined( 'DOING_AJAX' ) ) { |
|
365 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is expired.', 'invoicing' ) ); |
|
362 | + if ($discount) { |
|
363 | + if (wpinv_is_discount_expired($code_id)) { |
|
364 | + if (defined('DOING_AJAX')) { |
|
365 | + wpinv_set_error('wpinv-discount-error', __('This discount is expired.', 'invoicing')); |
|
366 | 366 | } |
367 | - } elseif ( $discount->post_status == 'publish' ) { |
|
367 | + } elseif ($discount->post_status == 'publish') { |
|
368 | 368 | $return = true; |
369 | 369 | } else { |
370 | - if( defined( 'DOING_AJAX' ) ) { |
|
371 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active.', 'invoicing' ) ); |
|
370 | + if (defined('DOING_AJAX')) { |
|
371 | + wpinv_set_error('wpinv-discount-error', __('This discount is not active.', 'invoicing')); |
|
372 | 372 | } |
373 | 373 | } |
374 | 374 | } |
375 | 375 | |
376 | - return apply_filters( 'wpinv_is_discount_active', $return, $code_id ); |
|
376 | + return apply_filters('wpinv_is_discount_active', $return, $code_id); |
|
377 | 377 | } |
378 | 378 | |
379 | -function wpinv_get_discount_code( $code_id = null ) { |
|
380 | - $code = get_post_meta( $code_id, '_wpi_discount_code', true ); |
|
379 | +function wpinv_get_discount_code($code_id = null) { |
|
380 | + $code = get_post_meta($code_id, '_wpi_discount_code', true); |
|
381 | 381 | |
382 | - return apply_filters( 'wpinv_get_discount_code', $code, $code_id ); |
|
382 | + return apply_filters('wpinv_get_discount_code', $code, $code_id); |
|
383 | 383 | } |
384 | 384 | |
385 | -function wpinv_get_discount_start_date( $code_id = null ) { |
|
386 | - $start_date = get_post_meta( $code_id, '_wpi_discount_start', true ); |
|
385 | +function wpinv_get_discount_start_date($code_id = null) { |
|
386 | + $start_date = get_post_meta($code_id, '_wpi_discount_start', true); |
|
387 | 387 | |
388 | - return apply_filters( 'wpinv_get_discount_start_date', $start_date, $code_id ); |
|
388 | + return apply_filters('wpinv_get_discount_start_date', $start_date, $code_id); |
|
389 | 389 | } |
390 | 390 | |
391 | -function wpinv_get_discount_expiration( $code_id = null ) { |
|
392 | - $expiration = get_post_meta( $code_id, '_wpi_discount_expiration', true ); |
|
391 | +function wpinv_get_discount_expiration($code_id = null) { |
|
392 | + $expiration = get_post_meta($code_id, '_wpi_discount_expiration', true); |
|
393 | 393 | |
394 | - return apply_filters( 'wpinv_get_discount_expiration', $expiration, $code_id ); |
|
394 | + return apply_filters('wpinv_get_discount_expiration', $expiration, $code_id); |
|
395 | 395 | } |
396 | 396 | |
397 | 397 | /** |
@@ -400,8 +400,8 @@ discard block |
||
400 | 400 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
401 | 401 | * @return int |
402 | 402 | */ |
403 | -function wpinv_get_discount_max_uses( $discount = array() ) { |
|
404 | - $discount = wpinv_get_discount_obj( $discount ); |
|
403 | +function wpinv_get_discount_max_uses($discount = array()) { |
|
404 | + $discount = wpinv_get_discount_obj($discount); |
|
405 | 405 | return (int) $discount->max_uses; |
406 | 406 | } |
407 | 407 | |
@@ -411,8 +411,8 @@ discard block |
||
411 | 411 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
412 | 412 | * @return int |
413 | 413 | */ |
414 | -function wpinv_get_discount_uses( $discount = array() ) { |
|
415 | - $discount = wpinv_get_discount_obj( $discount ); |
|
414 | +function wpinv_get_discount_uses($discount = array()) { |
|
415 | + $discount = wpinv_get_discount_obj($discount); |
|
416 | 416 | return (int) $discount->uses; |
417 | 417 | } |
418 | 418 | |
@@ -422,8 +422,8 @@ discard block |
||
422 | 422 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
423 | 423 | * @return float |
424 | 424 | */ |
425 | -function wpinv_get_discount_min_total( $discount = array() ) { |
|
426 | - $discount = wpinv_get_discount_obj( $discount ); |
|
425 | +function wpinv_get_discount_min_total($discount = array()) { |
|
426 | + $discount = wpinv_get_discount_obj($discount); |
|
427 | 427 | return (float) $discount->min_total; |
428 | 428 | } |
429 | 429 | |
@@ -433,8 +433,8 @@ discard block |
||
433 | 433 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
434 | 434 | * @return float |
435 | 435 | */ |
436 | -function wpinv_get_discount_max_total( $discount = array() ) { |
|
437 | - $discount = wpinv_get_discount_obj( $discount ); |
|
436 | +function wpinv_get_discount_max_total($discount = array()) { |
|
437 | + $discount = wpinv_get_discount_obj($discount); |
|
438 | 438 | return (float) $discount->max_total; |
439 | 439 | } |
440 | 440 | |
@@ -444,8 +444,8 @@ discard block |
||
444 | 444 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
445 | 445 | * @return float |
446 | 446 | */ |
447 | -function wpinv_get_discount_amount( $discount = array() ) { |
|
448 | - $discount = wpinv_get_discount_obj( $discount ); |
|
447 | +function wpinv_get_discount_amount($discount = array()) { |
|
448 | + $discount = wpinv_get_discount_obj($discount); |
|
449 | 449 | return (float) $discount->amount; |
450 | 450 | } |
451 | 451 | |
@@ -456,28 +456,28 @@ discard block |
||
456 | 456 | * @param bool $name |
457 | 457 | * @return string |
458 | 458 | */ |
459 | -function wpinv_get_discount_type( $discount = array(), $name = false ) { |
|
460 | - $discount = wpinv_get_discount_obj( $discount ); |
|
459 | +function wpinv_get_discount_type($discount = array(), $name = false) { |
|
460 | + $discount = wpinv_get_discount_obj($discount); |
|
461 | 461 | |
462 | 462 | // Are we returning the name or just the type. |
463 | - if( $name ) { |
|
463 | + if ($name) { |
|
464 | 464 | return $discount->type_name; |
465 | 465 | } |
466 | 466 | |
467 | 467 | return $discount->type; |
468 | 468 | } |
469 | 469 | |
470 | -function wpinv_discount_status( $status ) { |
|
471 | - switch( $status ){ |
|
470 | +function wpinv_discount_status($status) { |
|
471 | + switch ($status) { |
|
472 | 472 | case 'expired' : |
473 | - $name = __( 'Expired', 'invoicing' ); |
|
473 | + $name = __('Expired', 'invoicing'); |
|
474 | 474 | break; |
475 | 475 | case 'publish' : |
476 | 476 | case 'active' : |
477 | - $name = __( 'Active', 'invoicing' ); |
|
477 | + $name = __('Active', 'invoicing'); |
|
478 | 478 | break; |
479 | 479 | default : |
480 | - $name = __( 'Inactive', 'invoicing' ); |
|
480 | + $name = __('Inactive', 'invoicing'); |
|
481 | 481 | break; |
482 | 482 | } |
483 | 483 | return $name; |
@@ -489,8 +489,8 @@ discard block |
||
489 | 489 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
490 | 490 | * @return array |
491 | 491 | */ |
492 | -function wpinv_get_discount_excluded_items( $discount = array() ) { |
|
493 | - $discount = wpinv_get_discount_obj( $discount ); |
|
492 | +function wpinv_get_discount_excluded_items($discount = array()) { |
|
493 | + $discount = wpinv_get_discount_obj($discount); |
|
494 | 494 | return $discount->excluded_items; |
495 | 495 | } |
496 | 496 | |
@@ -500,17 +500,17 @@ discard block |
||
500 | 500 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
501 | 501 | * @return array |
502 | 502 | */ |
503 | -function wpinv_get_discount_item_reqs( $discount = array() ) { |
|
504 | - $discount = wpinv_get_discount_obj( $discount ); |
|
503 | +function wpinv_get_discount_item_reqs($discount = array()) { |
|
504 | + $discount = wpinv_get_discount_obj($discount); |
|
505 | 505 | return $discount->items; |
506 | 506 | } |
507 | 507 | |
508 | -function wpinv_get_discount_item_condition( $code_id = 0 ) { |
|
509 | - return get_post_meta( $code_id, '_wpi_discount_item_condition', true ); |
|
508 | +function wpinv_get_discount_item_condition($code_id = 0) { |
|
509 | + return get_post_meta($code_id, '_wpi_discount_item_condition', true); |
|
510 | 510 | } |
511 | 511 | |
512 | -function wpinv_is_discount_not_global( $code_id = 0 ) { |
|
513 | - return (bool) get_post_meta( $code_id, '_wpi_discount_is_not_global', true ); |
|
512 | +function wpinv_is_discount_not_global($code_id = 0) { |
|
513 | + return (bool) get_post_meta($code_id, '_wpi_discount_is_not_global', true); |
|
514 | 514 | } |
515 | 515 | |
516 | 516 | /** |
@@ -519,14 +519,14 @@ discard block |
||
519 | 519 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
520 | 520 | * @return bool |
521 | 521 | */ |
522 | -function wpinv_is_discount_expired( $discount = array() ) { |
|
523 | - $discount = wpinv_get_discount_obj( $discount ); |
|
522 | +function wpinv_is_discount_expired($discount = array()) { |
|
523 | + $discount = wpinv_get_discount_obj($discount); |
|
524 | 524 | |
525 | - if ( $discount->is_expired() ) { |
|
526 | - $discount->update_status( 'pending' ); |
|
525 | + if ($discount->is_expired()) { |
|
526 | + $discount->update_status('pending'); |
|
527 | 527 | |
528 | - if( empty( $started ) ) { |
|
529 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount has expired.', 'invoicing' ) ); |
|
528 | + if (empty($started)) { |
|
529 | + wpinv_set_error('wpinv-discount-error', __('This discount has expired.', 'invoicing')); |
|
530 | 530 | } |
531 | 531 | return true; |
532 | 532 | } |
@@ -540,12 +540,12 @@ discard block |
||
540 | 540 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
541 | 541 | * @return bool |
542 | 542 | */ |
543 | -function wpinv_is_discount_started( $discount = array() ) { |
|
544 | - $discount = wpinv_get_discount_obj( $discount ); |
|
543 | +function wpinv_is_discount_started($discount = array()) { |
|
544 | + $discount = wpinv_get_discount_obj($discount); |
|
545 | 545 | $started = $discount->has_started(); |
546 | 546 | |
547 | - if( empty( $started ) ) { |
|
548 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active yet.', 'invoicing' ) ); |
|
547 | + if (empty($started)) { |
|
548 | + wpinv_set_error('wpinv-discount-error', __('This discount is not active yet.', 'invoicing')); |
|
549 | 549 | } |
550 | 550 | |
551 | 551 | return $started; |
@@ -557,10 +557,10 @@ discard block |
||
557 | 557 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
558 | 558 | * @return bool |
559 | 559 | */ |
560 | -function wpinv_check_discount_dates( $discount ) { |
|
561 | - $discount = wpinv_get_discount_obj( $discount ); |
|
562 | - $return = wpinv_is_discount_started( $discount ) && ! wpinv_is_discount_expired( $discount ); |
|
563 | - return apply_filters( 'wpinv_check_discount_dates', $return, $discount->ID, $discount, $discount->code ); |
|
560 | +function wpinv_check_discount_dates($discount) { |
|
561 | + $discount = wpinv_get_discount_obj($discount); |
|
562 | + $return = wpinv_is_discount_started($discount) && !wpinv_is_discount_expired($discount); |
|
563 | + return apply_filters('wpinv_check_discount_dates', $return, $discount->ID, $discount, $discount->code); |
|
564 | 564 | } |
565 | 565 | |
566 | 566 | /** |
@@ -569,12 +569,12 @@ discard block |
||
569 | 569 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
570 | 570 | * @return bool |
571 | 571 | */ |
572 | -function wpinv_is_discount_maxed_out( $discount ) { |
|
573 | - $discount = wpinv_get_discount_obj( $discount ); |
|
572 | +function wpinv_is_discount_maxed_out($discount) { |
|
573 | + $discount = wpinv_get_discount_obj($discount); |
|
574 | 574 | $maxed_out = $discount->has_exceeded_limit(); |
575 | 575 | |
576 | - if ( $maxed_out ) { |
|
577 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount has reached its maximum usage.', 'invoicing' ) ); |
|
576 | + if ($maxed_out) { |
|
577 | + wpinv_set_error('wpinv-discount-error', __('This discount has reached its maximum usage.', 'invoicing')); |
|
578 | 578 | } |
579 | 579 | |
580 | 580 | return $maxed_out; |
@@ -586,13 +586,13 @@ discard block |
||
586 | 586 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
587 | 587 | * @return bool |
588 | 588 | */ |
589 | -function wpinv_discount_is_min_met( $discount ) { |
|
590 | - $discount = wpinv_get_discount_obj( $discount ); |
|
591 | - $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $discount->ID ); |
|
592 | - $min_met = $discount->is_minimum_amount_met( $cart_amount ); |
|
589 | +function wpinv_discount_is_min_met($discount) { |
|
590 | + $discount = wpinv_get_discount_obj($discount); |
|
591 | + $cart_amount = (float) wpinv_get_cart_discountable_subtotal($discount->ID); |
|
592 | + $min_met = $discount->is_minimum_amount_met($cart_amount); |
|
593 | 593 | |
594 | - if ( ! $min_met ) { |
|
595 | - wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Minimum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $discount->min_total ) ) ) ); |
|
594 | + if (!$min_met) { |
|
595 | + wpinv_set_error('wpinv-discount-error', sprintf(__('Minimum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($discount->min_total)))); |
|
596 | 596 | } |
597 | 597 | |
598 | 598 | return $min_met; |
@@ -604,13 +604,13 @@ discard block |
||
604 | 604 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
605 | 605 | * @return bool |
606 | 606 | */ |
607 | -function wpinv_discount_is_max_met( $discount ) { |
|
608 | - $discount = wpinv_get_discount_obj( $discount ); |
|
609 | - $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $discount->ID ); |
|
610 | - $max_met = $discount->is_maximum_amount_met( $cart_amount ); |
|
607 | +function wpinv_discount_is_max_met($discount) { |
|
608 | + $discount = wpinv_get_discount_obj($discount); |
|
609 | + $cart_amount = (float) wpinv_get_cart_discountable_subtotal($discount->ID); |
|
610 | + $max_met = $discount->is_maximum_amount_met($cart_amount); |
|
611 | 611 | |
612 | - if ( ! $max_met ) { |
|
613 | - wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Maximum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $discount->max_total ) ) ) ); |
|
612 | + if (!$max_met) { |
|
613 | + wpinv_set_error('wpinv-discount-error', sprintf(__('Maximum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($discount->max_total)))); |
|
614 | 614 | } |
615 | 615 | |
616 | 616 | return $max_met; |
@@ -622,8 +622,8 @@ discard block |
||
622 | 622 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
623 | 623 | * @return bool |
624 | 624 | */ |
625 | -function wpinv_discount_is_single_use( $discount ) { |
|
626 | - $discount = wpinv_get_discount_obj( $discount ); |
|
625 | +function wpinv_discount_is_single_use($discount) { |
|
626 | + $discount = wpinv_get_discount_obj($discount); |
|
627 | 627 | return $discount->is_single_use; |
628 | 628 | } |
629 | 629 | |
@@ -634,53 +634,53 @@ discard block |
||
634 | 634 | * @param int|array|string|WPInv_Discount $code discount data, object, ID or code. |
635 | 635 | * @return bool |
636 | 636 | */ |
637 | -function wpinv_discount_is_recurring( $discount = 0, $code = 0 ) { |
|
637 | +function wpinv_discount_is_recurring($discount = 0, $code = 0) { |
|
638 | 638 | |
639 | - if( ! empty( $discount ) ) { |
|
640 | - $discount = wpinv_get_discount_obj( $discount ); |
|
639 | + if (!empty($discount)) { |
|
640 | + $discount = wpinv_get_discount_obj($discount); |
|
641 | 641 | } else { |
642 | - $discount = wpinv_get_discount_obj( $code ); |
|
642 | + $discount = wpinv_get_discount_obj($code); |
|
643 | 643 | } |
644 | 644 | |
645 | 645 | return $discount->is_recurring; |
646 | 646 | } |
647 | 647 | |
648 | -function wpinv_discount_item_reqs_met( $code_id = null ) { |
|
649 | - $item_reqs = wpinv_get_discount_item_reqs( $code_id ); |
|
650 | - $condition = wpinv_get_discount_item_condition( $code_id ); |
|
651 | - $excluded_ps = wpinv_get_discount_excluded_items( $code_id ); |
|
648 | +function wpinv_discount_item_reqs_met($code_id = null) { |
|
649 | + $item_reqs = wpinv_get_discount_item_reqs($code_id); |
|
650 | + $condition = wpinv_get_discount_item_condition($code_id); |
|
651 | + $excluded_ps = wpinv_get_discount_excluded_items($code_id); |
|
652 | 652 | $cart_items = wpinv_get_cart_contents(); |
653 | - $cart_ids = $cart_items ? wp_list_pluck( $cart_items, 'id' ) : null; |
|
653 | + $cart_ids = $cart_items ? wp_list_pluck($cart_items, 'id') : null; |
|
654 | 654 | $ret = false; |
655 | 655 | |
656 | - if ( empty( $item_reqs ) && empty( $excluded_ps ) ) { |
|
656 | + if (empty($item_reqs) && empty($excluded_ps)) { |
|
657 | 657 | $ret = true; |
658 | 658 | } |
659 | 659 | |
660 | 660 | // Normalize our data for item requirements, exclusions and cart data |
661 | 661 | // First absint the items, then sort, and reset the array keys |
662 | - $item_reqs = array_map( 'absint', $item_reqs ); |
|
663 | - asort( $item_reqs ); |
|
664 | - $item_reqs = array_values( $item_reqs ); |
|
662 | + $item_reqs = array_map('absint', $item_reqs); |
|
663 | + asort($item_reqs); |
|
664 | + $item_reqs = array_values($item_reqs); |
|
665 | 665 | |
666 | - $excluded_ps = array_map( 'absint', $excluded_ps ); |
|
667 | - asort( $excluded_ps ); |
|
668 | - $excluded_ps = array_values( $excluded_ps ); |
|
666 | + $excluded_ps = array_map('absint', $excluded_ps); |
|
667 | + asort($excluded_ps); |
|
668 | + $excluded_ps = array_values($excluded_ps); |
|
669 | 669 | |
670 | - $cart_ids = array_map( 'absint', $cart_ids ); |
|
671 | - asort( $cart_ids ); |
|
672 | - $cart_ids = array_values( $cart_ids ); |
|
670 | + $cart_ids = array_map('absint', $cart_ids); |
|
671 | + asort($cart_ids); |
|
672 | + $cart_ids = array_values($cart_ids); |
|
673 | 673 | |
674 | 674 | // Ensure we have requirements before proceeding |
675 | - if ( !$ret && ! empty( $item_reqs ) ) { |
|
676 | - switch( $condition ) { |
|
675 | + if (!$ret && !empty($item_reqs)) { |
|
676 | + switch ($condition) { |
|
677 | 677 | case 'all' : |
678 | 678 | // Default back to true |
679 | 679 | $ret = true; |
680 | 680 | |
681 | - foreach ( $item_reqs as $item_id ) { |
|
682 | - if ( !wpinv_item_in_cart( $item_id ) ) { |
|
683 | - wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) ); |
|
681 | + foreach ($item_reqs as $item_id) { |
|
682 | + if (!wpinv_item_in_cart($item_id)) { |
|
683 | + wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing')); |
|
684 | 684 | $ret = false; |
685 | 685 | break; |
686 | 686 | } |
@@ -689,15 +689,15 @@ discard block |
||
689 | 689 | break; |
690 | 690 | |
691 | 691 | default : // Any |
692 | - foreach ( $item_reqs as $item_id ) { |
|
693 | - if ( wpinv_item_in_cart( $item_id ) ) { |
|
692 | + foreach ($item_reqs as $item_id) { |
|
693 | + if (wpinv_item_in_cart($item_id)) { |
|
694 | 694 | $ret = true; |
695 | 695 | break; |
696 | 696 | } |
697 | 697 | } |
698 | 698 | |
699 | - if( ! $ret ) { |
|
700 | - wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) ); |
|
699 | + if (!$ret) { |
|
700 | + wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing')); |
|
701 | 701 | } |
702 | 702 | |
703 | 703 | break; |
@@ -706,15 +706,15 @@ discard block |
||
706 | 706 | $ret = true; |
707 | 707 | } |
708 | 708 | |
709 | - if( ! empty( $excluded_ps ) ) { |
|
709 | + if (!empty($excluded_ps)) { |
|
710 | 710 | // Check that there are items other than excluded ones in the cart |
711 | - if( $cart_ids == $excluded_ps ) { |
|
712 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not valid for the cart contents.', 'invoicing' ) ); |
|
711 | + if ($cart_ids == $excluded_ps) { |
|
712 | + wpinv_set_error('wpinv-discount-error', __('This discount is not valid for the cart contents.', 'invoicing')); |
|
713 | 713 | $ret = false; |
714 | 714 | } |
715 | 715 | } |
716 | 716 | |
717 | - return (bool) apply_filters( 'wpinv_is_discount_item_req_met', $ret, $code_id, $condition ); |
|
717 | + return (bool) apply_filters('wpinv_is_discount_item_req_met', $ret, $code_id, $condition); |
|
718 | 718 | } |
719 | 719 | |
720 | 720 | /** |
@@ -725,53 +725,53 @@ discard block |
||
725 | 725 | * @param int|array|string|WPInv_Discount $code_id discount data, object, ID or code. |
726 | 726 | * @return bool |
727 | 727 | */ |
728 | -function wpinv_is_discount_used( $discount = array(), $user = '', $code_id = array() ) { |
|
728 | +function wpinv_is_discount_used($discount = array(), $user = '', $code_id = array()) { |
|
729 | 729 | |
730 | - if( ! empty( $discount ) ) { |
|
731 | - $discount = wpinv_get_discount_obj( $discount ); |
|
730 | + if (!empty($discount)) { |
|
731 | + $discount = wpinv_get_discount_obj($discount); |
|
732 | 732 | } else { |
733 | - $discount = wpinv_get_discount_obj( $code_id ); |
|
733 | + $discount = wpinv_get_discount_obj($code_id); |
|
734 | 734 | } |
735 | 735 | |
736 | - $is_used = ! $discount->is_valid_for_user( $user ); |
|
737 | - $is_used = apply_filters( 'wpinv_is_discount_used', $is_used, $discount->code, $user, $discount->ID, $discount ); |
|
736 | + $is_used = !$discount->is_valid_for_user($user); |
|
737 | + $is_used = apply_filters('wpinv_is_discount_used', $is_used, $discount->code, $user, $discount->ID, $discount); |
|
738 | 738 | |
739 | - if( $is_used ) { |
|
740 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount has already been redeemed.', 'invoicing' ) ); |
|
739 | + if ($is_used) { |
|
740 | + wpinv_set_error('wpinv-discount-error', __('This discount has already been redeemed.', 'invoicing')); |
|
741 | 741 | } |
742 | 742 | |
743 | 743 | return $is_used; |
744 | 744 | } |
745 | 745 | |
746 | -function wpinv_is_discount_valid( $code = '', $user = '', $set_error = true ) { |
|
746 | +function wpinv_is_discount_valid($code = '', $user = '', $set_error = true) { |
|
747 | 747 | $return = false; |
748 | - $discount_id = wpinv_get_discount_id_by_code( $code ); |
|
749 | - $user = trim( $user ); |
|
748 | + $discount_id = wpinv_get_discount_id_by_code($code); |
|
749 | + $user = trim($user); |
|
750 | 750 | |
751 | - if ( wpinv_get_cart_contents() ) { |
|
752 | - if ( $discount_id !== false ) { |
|
751 | + if (wpinv_get_cart_contents()) { |
|
752 | + if ($discount_id !== false) { |
|
753 | 753 | if ( |
754 | - wpinv_is_discount_active( $discount_id ) && |
|
755 | - wpinv_check_discount_dates( $discount_id ) && |
|
756 | - !wpinv_is_discount_maxed_out( $discount_id ) && |
|
757 | - !wpinv_is_discount_used( $code, $user, $discount_id ) && |
|
758 | - wpinv_discount_is_min_met( $discount_id ) && |
|
759 | - wpinv_discount_is_max_met( $discount_id ) && |
|
760 | - wpinv_discount_item_reqs_met( $discount_id ) |
|
754 | + wpinv_is_discount_active($discount_id) && |
|
755 | + wpinv_check_discount_dates($discount_id) && |
|
756 | + !wpinv_is_discount_maxed_out($discount_id) && |
|
757 | + !wpinv_is_discount_used($code, $user, $discount_id) && |
|
758 | + wpinv_discount_is_min_met($discount_id) && |
|
759 | + wpinv_discount_is_max_met($discount_id) && |
|
760 | + wpinv_discount_item_reqs_met($discount_id) |
|
761 | 761 | ) { |
762 | 762 | $return = true; |
763 | 763 | } |
764 | - } elseif( $set_error ) { |
|
765 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is invalid.', 'invoicing' ) ); |
|
764 | + } elseif ($set_error) { |
|
765 | + wpinv_set_error('wpinv-discount-error', __('This discount is invalid.', 'invoicing')); |
|
766 | 766 | } |
767 | 767 | } |
768 | 768 | |
769 | - return apply_filters( 'wpinv_is_discount_valid', $return, $discount_id, $code, $user ); |
|
769 | + return apply_filters('wpinv_is_discount_valid', $return, $discount_id, $code, $user); |
|
770 | 770 | } |
771 | 771 | |
772 | -function wpinv_get_discount_id_by_code( $code ) { |
|
773 | - $discount = wpinv_get_discount_by_code( $code ); |
|
774 | - if( $discount ) { |
|
772 | +function wpinv_get_discount_id_by_code($code) { |
|
773 | + $discount = wpinv_get_discount_by_code($code); |
|
774 | + if ($discount) { |
|
775 | 775 | return $discount->ID; |
776 | 776 | } |
777 | 777 | return false; |
@@ -784,9 +784,9 @@ discard block |
||
784 | 784 | * @param float $base_price The number of usages to increase by |
785 | 785 | * @return float |
786 | 786 | */ |
787 | -function wpinv_get_discounted_amount( $discount, $base_price ) { |
|
788 | - $discount = wpinv_get_discount_obj( $discount ); |
|
789 | - return $discount->get_discounted_amount( $base_price ); |
|
787 | +function wpinv_get_discounted_amount($discount, $base_price) { |
|
788 | + $discount = wpinv_get_discount_obj($discount); |
|
789 | + return $discount->get_discounted_amount($base_price); |
|
790 | 790 | } |
791 | 791 | |
792 | 792 | /** |
@@ -796,9 +796,9 @@ discard block |
||
796 | 796 | * @param int $by The number of usages to increase by. |
797 | 797 | * @return int the new number of uses. |
798 | 798 | */ |
799 | -function wpinv_increase_discount_usage( $discount, $by = 1 ) { |
|
800 | - $discount = wpinv_get_discount_obj( $discount ); |
|
801 | - return $discount->increase_usage( $by ); |
|
799 | +function wpinv_increase_discount_usage($discount, $by = 1) { |
|
800 | + $discount = wpinv_get_discount_obj($discount); |
|
801 | + return $discount->increase_usage($by); |
|
802 | 802 | } |
803 | 803 | |
804 | 804 | /** |
@@ -808,72 +808,72 @@ discard block |
||
808 | 808 | * @param int $by The number of usages to decrease by. |
809 | 809 | * @return int the new number of uses. |
810 | 810 | */ |
811 | -function wpinv_decrease_discount_usage( $discount, $by = 1 ) { |
|
812 | - $discount = wpinv_get_discount_obj( $discount ); |
|
813 | - return $discount->increase_usage( 0 - $by ); |
|
811 | +function wpinv_decrease_discount_usage($discount, $by = 1) { |
|
812 | + $discount = wpinv_get_discount_obj($discount); |
|
813 | + return $discount->increase_usage(0 - $by); |
|
814 | 814 | } |
815 | 815 | |
816 | -function wpinv_format_discount_rate( $type, $amount ) { |
|
817 | - if ( $type == 'flat' ) { |
|
818 | - $rate = wpinv_price( wpinv_format_amount( $amount ) ); |
|
816 | +function wpinv_format_discount_rate($type, $amount) { |
|
817 | + if ($type == 'flat') { |
|
818 | + $rate = wpinv_price(wpinv_format_amount($amount)); |
|
819 | 819 | } else { |
820 | 820 | $rate = $amount . '%'; |
821 | 821 | } |
822 | 822 | |
823 | - return apply_filters( 'wpinv_format_discount_rate', $rate, $type, $amount ); |
|
823 | + return apply_filters('wpinv_format_discount_rate', $rate, $type, $amount); |
|
824 | 824 | } |
825 | 825 | |
826 | -function wpinv_set_cart_discount( $code = '' ) { |
|
827 | - if ( wpinv_multiple_discounts_allowed() ) { |
|
826 | +function wpinv_set_cart_discount($code = '') { |
|
827 | + if (wpinv_multiple_discounts_allowed()) { |
|
828 | 828 | // Get all active cart discounts |
829 | 829 | $discounts = wpinv_get_cart_discounts(); |
830 | 830 | } else { |
831 | 831 | $discounts = false; // Only one discount allowed per purchase, so override any existing |
832 | 832 | } |
833 | 833 | |
834 | - if ( $discounts ) { |
|
835 | - $key = array_search( strtolower( $code ), array_map( 'strtolower', $discounts ) ); |
|
836 | - if( false !== $key ) { |
|
837 | - unset( $discounts[ $key ] ); // Can't set the same discount more than once |
|
834 | + if ($discounts) { |
|
835 | + $key = array_search(strtolower($code), array_map('strtolower', $discounts)); |
|
836 | + if (false !== $key) { |
|
837 | + unset($discounts[$key]); // Can't set the same discount more than once |
|
838 | 838 | } |
839 | 839 | $discounts[] = $code; |
840 | 840 | } else { |
841 | 841 | $discounts = array(); |
842 | 842 | $discounts[] = $code; |
843 | 843 | } |
844 | - $discounts = array_values( $discounts ); |
|
844 | + $discounts = array_values($discounts); |
|
845 | 845 | |
846 | 846 | $data = wpinv_get_checkout_session(); |
847 | - if ( empty( $data ) ) { |
|
847 | + if (empty($data)) { |
|
848 | 848 | $data = array(); |
849 | 849 | } else { |
850 | - if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) { |
|
851 | - $payment_meta['user_info']['discount'] = implode( ',', $discounts ); |
|
852 | - update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta ); |
|
850 | + if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) { |
|
851 | + $payment_meta['user_info']['discount'] = implode(',', $discounts); |
|
852 | + update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta); |
|
853 | 853 | } |
854 | 854 | } |
855 | 855 | $data['cart_discounts'] = $discounts; |
856 | 856 | |
857 | - wpinv_set_checkout_session( $data ); |
|
857 | + wpinv_set_checkout_session($data); |
|
858 | 858 | |
859 | 859 | return $discounts; |
860 | 860 | } |
861 | 861 | |
862 | -function wpinv_unset_cart_discount( $code = '' ) { |
|
862 | +function wpinv_unset_cart_discount($code = '') { |
|
863 | 863 | $discounts = wpinv_get_cart_discounts(); |
864 | 864 | |
865 | - if ( $code && !empty( $discounts ) && in_array( $code, $discounts ) ) { |
|
866 | - $key = array_search( $code, $discounts ); |
|
867 | - unset( $discounts[ $key ] ); |
|
865 | + if ($code && !empty($discounts) && in_array($code, $discounts)) { |
|
866 | + $key = array_search($code, $discounts); |
|
867 | + unset($discounts[$key]); |
|
868 | 868 | |
869 | 869 | $data = wpinv_get_checkout_session(); |
870 | 870 | $data['cart_discounts'] = $discounts; |
871 | - if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) { |
|
872 | - $payment_meta['user_info']['discount'] = !empty( $discounts ) ? implode( ',', $discounts ) : ''; |
|
873 | - update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta ); |
|
871 | + if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) { |
|
872 | + $payment_meta['user_info']['discount'] = !empty($discounts) ? implode(',', $discounts) : ''; |
|
873 | + update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta); |
|
874 | 874 | } |
875 | 875 | |
876 | - wpinv_set_checkout_session( $data ); |
|
876 | + wpinv_set_checkout_session($data); |
|
877 | 877 | } |
878 | 878 | |
879 | 879 | return $discounts; |
@@ -882,10 +882,10 @@ discard block |
||
882 | 882 | function wpinv_unset_all_cart_discounts() { |
883 | 883 | $data = wpinv_get_checkout_session(); |
884 | 884 | |
885 | - if ( !empty( $data ) && isset( $data['cart_discounts'] ) ) { |
|
886 | - unset( $data['cart_discounts'] ); |
|
885 | + if (!empty($data) && isset($data['cart_discounts'])) { |
|
886 | + unset($data['cart_discounts']); |
|
887 | 887 | |
888 | - wpinv_set_checkout_session( $data ); |
|
888 | + wpinv_set_checkout_session($data); |
|
889 | 889 | return true; |
890 | 890 | } |
891 | 891 | |
@@ -894,13 +894,13 @@ discard block |
||
894 | 894 | |
895 | 895 | function wpinv_get_cart_discounts() { |
896 | 896 | $session = wpinv_get_checkout_session(); |
897 | - return empty( $session['cart_discounts'] ) ? false : $session['cart_discounts']; |
|
897 | + return empty($session['cart_discounts']) ? false : $session['cart_discounts']; |
|
898 | 898 | } |
899 | 899 | |
900 | -function wpinv_cart_has_discounts( $items = array() ) { |
|
900 | +function wpinv_cart_has_discounts($items = array()) { |
|
901 | 901 | $ret = false; |
902 | 902 | |
903 | - if ( wpinv_get_cart_discounts( $items ) ) { |
|
903 | + if (wpinv_get_cart_discounts($items)) { |
|
904 | 904 | $ret = true; |
905 | 905 | } |
906 | 906 | |
@@ -911,131 +911,131 @@ discard block |
||
911 | 911 | } |
912 | 912 | */ |
913 | 913 | |
914 | - return apply_filters( 'wpinv_cart_has_discounts', $ret ); |
|
914 | + return apply_filters('wpinv_cart_has_discounts', $ret); |
|
915 | 915 | } |
916 | 916 | |
917 | -function wpinv_get_cart_discounted_amount( $items = array(), $discounts = false ) { |
|
917 | +function wpinv_get_cart_discounted_amount($items = array(), $discounts = false) { |
|
918 | 918 | $amount = 0.00; |
919 | - $items = !empty( $items ) ? $items : wpinv_get_cart_content_details(); |
|
919 | + $items = !empty($items) ? $items : wpinv_get_cart_content_details(); |
|
920 | 920 | |
921 | - if ( $items ) { |
|
922 | - $discounts = wp_list_pluck( $items, 'discount' ); |
|
921 | + if ($items) { |
|
922 | + $discounts = wp_list_pluck($items, 'discount'); |
|
923 | 923 | |
924 | - if ( is_array( $discounts ) ) { |
|
925 | - $discounts = array_map( 'floatval', $discounts ); |
|
926 | - $amount = array_sum( $discounts ); |
|
924 | + if (is_array($discounts)) { |
|
925 | + $discounts = array_map('floatval', $discounts); |
|
926 | + $amount = array_sum($discounts); |
|
927 | 927 | } |
928 | 928 | } |
929 | 929 | |
930 | - return apply_filters( 'wpinv_get_cart_discounted_amount', $amount ); |
|
930 | + return apply_filters('wpinv_get_cart_discounted_amount', $amount); |
|
931 | 931 | } |
932 | 932 | |
933 | -function wpinv_get_cart_items_discount_amount( $items = array(), $discount = false ) { |
|
934 | - $items = !empty( $items ) ? $items : wpinv_get_cart_content_details(); |
|
933 | +function wpinv_get_cart_items_discount_amount($items = array(), $discount = false) { |
|
934 | + $items = !empty($items) ? $items : wpinv_get_cart_content_details(); |
|
935 | 935 | |
936 | - if ( empty( $discount ) || empty( $items ) ) { |
|
936 | + if (empty($discount) || empty($items)) { |
|
937 | 937 | return 0; |
938 | 938 | } |
939 | 939 | |
940 | 940 | $amount = 0; |
941 | 941 | |
942 | - foreach ( $items as $item ) { |
|
943 | - $amount += wpinv_get_cart_item_discount_amount( $item, $discount ); |
|
942 | + foreach ($items as $item) { |
|
943 | + $amount += wpinv_get_cart_item_discount_amount($item, $discount); |
|
944 | 944 | } |
945 | 945 | |
946 | - $amount = wpinv_round_amount( $amount ); |
|
946 | + $amount = wpinv_round_amount($amount); |
|
947 | 947 | |
948 | 948 | return $amount; |
949 | 949 | } |
950 | 950 | |
951 | -function wpinv_get_cart_item_discount_amount( $item = array(), $discount = false ) { |
|
951 | +function wpinv_get_cart_item_discount_amount($item = array(), $discount = false) { |
|
952 | 952 | global $wpinv_is_last_cart_item, $wpinv_flat_discount_total; |
953 | 953 | |
954 | 954 | $amount = 0; |
955 | 955 | |
956 | - if ( empty( $item ) || empty( $item['id'] ) ) { |
|
956 | + if (empty($item) || empty($item['id'])) { |
|
957 | 957 | return $amount; |
958 | 958 | } |
959 | 959 | |
960 | - if ( empty( $item['quantity'] ) ) { |
|
960 | + if (empty($item['quantity'])) { |
|
961 | 961 | return $amount; |
962 | 962 | } |
963 | 963 | |
964 | - if ( empty( $item['options'] ) ) { |
|
964 | + if (empty($item['options'])) { |
|
965 | 965 | $item['options'] = array(); |
966 | 966 | } |
967 | 967 | |
968 | - $price = wpinv_get_cart_item_price( $item['id'], $item, $item['options'] ); |
|
968 | + $price = wpinv_get_cart_item_price($item['id'], $item, $item['options']); |
|
969 | 969 | $discounted_price = $price; |
970 | 970 | |
971 | 971 | $discounts = false === $discount ? wpinv_get_cart_discounts() : $discount; |
972 | - if ( empty( $discounts ) ) { |
|
972 | + if (empty($discounts)) { |
|
973 | 973 | return $amount; |
974 | 974 | } |
975 | 975 | |
976 | - if ( $discounts ) { |
|
977 | - if ( is_array( $discounts ) ) { |
|
978 | - $discounts = array_values( $discounts ); |
|
976 | + if ($discounts) { |
|
977 | + if (is_array($discounts)) { |
|
978 | + $discounts = array_values($discounts); |
|
979 | 979 | } else { |
980 | - $discounts = explode( ',', $discounts ); |
|
980 | + $discounts = explode(',', $discounts); |
|
981 | 981 | } |
982 | 982 | } |
983 | 983 | |
984 | - if( $discounts ) { |
|
985 | - foreach ( $discounts as $discount ) { |
|
986 | - $code_id = wpinv_get_discount_id_by_code( $discount ); |
|
984 | + if ($discounts) { |
|
985 | + foreach ($discounts as $discount) { |
|
986 | + $code_id = wpinv_get_discount_id_by_code($discount); |
|
987 | 987 | |
988 | 988 | // Check discount exists |
989 | - if( $code_id === false ) { |
|
989 | + if ($code_id === false) { |
|
990 | 990 | continue; |
991 | 991 | } |
992 | 992 | |
993 | - $reqs = wpinv_get_discount_item_reqs( $code_id ); |
|
994 | - $excluded_items = wpinv_get_discount_excluded_items( $code_id ); |
|
993 | + $reqs = wpinv_get_discount_item_reqs($code_id); |
|
994 | + $excluded_items = wpinv_get_discount_excluded_items($code_id); |
|
995 | 995 | |
996 | 996 | // Make sure requirements are set and that this discount shouldn't apply to the whole cart |
997 | - if ( !empty( $reqs ) && wpinv_is_discount_not_global( $code_id ) ) { |
|
998 | - foreach ( $reqs as $item_id ) { |
|
999 | - if ( $item_id == $item['id'] && ! in_array( $item['id'], $excluded_items ) ) { |
|
1000 | - $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price ); |
|
997 | + if (!empty($reqs) && wpinv_is_discount_not_global($code_id)) { |
|
998 | + foreach ($reqs as $item_id) { |
|
999 | + if ($item_id == $item['id'] && !in_array($item['id'], $excluded_items)) { |
|
1000 | + $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price); |
|
1001 | 1001 | } |
1002 | 1002 | } |
1003 | 1003 | } else { |
1004 | 1004 | // This is a global cart discount |
1005 | - if ( !in_array( $item['id'], $excluded_items ) ) { |
|
1006 | - if ( 'flat' === wpinv_get_discount_type( $code_id ) ) { |
|
1005 | + if (!in_array($item['id'], $excluded_items)) { |
|
1006 | + if ('flat' === wpinv_get_discount_type($code_id)) { |
|
1007 | 1007 | $items_subtotal = 0.00; |
1008 | 1008 | $cart_items = wpinv_get_cart_contents(); |
1009 | 1009 | |
1010 | - foreach ( $cart_items as $cart_item ) { |
|
1011 | - if ( ! in_array( $cart_item['id'], $excluded_items ) ) { |
|
1012 | - $options = !empty( $cart_item['options'] ) ? $cart_item['options'] : array(); |
|
1013 | - $item_price = wpinv_get_cart_item_price( $cart_item['id'], $cart_item, $options ); |
|
1010 | + foreach ($cart_items as $cart_item) { |
|
1011 | + if (!in_array($cart_item['id'], $excluded_items)) { |
|
1012 | + $options = !empty($cart_item['options']) ? $cart_item['options'] : array(); |
|
1013 | + $item_price = wpinv_get_cart_item_price($cart_item['id'], $cart_item, $options); |
|
1014 | 1014 | $items_subtotal += $item_price * $cart_item['quantity']; |
1015 | 1015 | } |
1016 | 1016 | } |
1017 | 1017 | |
1018 | - $subtotal_percent = ( ( $price * $item['quantity'] ) / $items_subtotal ); |
|
1019 | - $code_amount = wpinv_get_discount_amount( $code_id ); |
|
1018 | + $subtotal_percent = (($price * $item['quantity']) / $items_subtotal); |
|
1019 | + $code_amount = wpinv_get_discount_amount($code_id); |
|
1020 | 1020 | $discounted_amount = $code_amount * $subtotal_percent; |
1021 | 1021 | $discounted_price -= $discounted_amount; |
1022 | 1022 | |
1023 | - $wpinv_flat_discount_total += round( $discounted_amount, wpinv_currency_decimal_filter() ); |
|
1023 | + $wpinv_flat_discount_total += round($discounted_amount, wpinv_currency_decimal_filter()); |
|
1024 | 1024 | |
1025 | - if ( $wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount ) { |
|
1025 | + if ($wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount) { |
|
1026 | 1026 | $adjustment = $code_amount - $wpinv_flat_discount_total; |
1027 | 1027 | $discounted_price -= $adjustment; |
1028 | 1028 | } |
1029 | 1029 | } else { |
1030 | - $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price ); |
|
1030 | + $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price); |
|
1031 | 1031 | } |
1032 | 1032 | } |
1033 | 1033 | } |
1034 | 1034 | } |
1035 | 1035 | |
1036 | - $amount = ( $price - apply_filters( 'wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price ) ); |
|
1036 | + $amount = ($price - apply_filters('wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price)); |
|
1037 | 1037 | |
1038 | - if ( 'flat' !== wpinv_get_discount_type( $code_id ) ) { |
|
1038 | + if ('flat' !== wpinv_get_discount_type($code_id)) { |
|
1039 | 1039 | $amount = $amount * $item['quantity']; |
1040 | 1040 | } |
1041 | 1041 | } |
@@ -1043,59 +1043,59 @@ discard block |
||
1043 | 1043 | return $amount; |
1044 | 1044 | } |
1045 | 1045 | |
1046 | -function wpinv_cart_discounts_html( $items = array() ) { |
|
1047 | - echo wpinv_get_cart_discounts_html( $items ); |
|
1046 | +function wpinv_cart_discounts_html($items = array()) { |
|
1047 | + echo wpinv_get_cart_discounts_html($items); |
|
1048 | 1048 | } |
1049 | 1049 | |
1050 | -function wpinv_get_cart_discounts_html( $items = array(), $discounts = false ) { |
|
1050 | +function wpinv_get_cart_discounts_html($items = array(), $discounts = false) { |
|
1051 | 1051 | global $wpi_cart_columns; |
1052 | 1052 | |
1053 | - $items = !empty( $items ) ? $items : wpinv_get_cart_content_details(); |
|
1053 | + $items = !empty($items) ? $items : wpinv_get_cart_content_details(); |
|
1054 | 1054 | |
1055 | - if ( !$discounts ) { |
|
1056 | - $discounts = wpinv_get_cart_discounts( $items ); |
|
1055 | + if (!$discounts) { |
|
1056 | + $discounts = wpinv_get_cart_discounts($items); |
|
1057 | 1057 | } |
1058 | 1058 | |
1059 | - if ( !$discounts ) { |
|
1059 | + if (!$discounts) { |
|
1060 | 1060 | return; |
1061 | 1061 | } |
1062 | 1062 | |
1063 | - $discounts = is_array( $discounts ) ? $discounts : array( $discounts ); |
|
1063 | + $discounts = is_array($discounts) ? $discounts : array($discounts); |
|
1064 | 1064 | |
1065 | 1065 | $html = ''; |
1066 | 1066 | |
1067 | - foreach ( $discounts as $discount ) { |
|
1068 | - $discount_id = wpinv_get_discount_id_by_code( $discount ); |
|
1069 | - $discount_value = wpinv_get_discount_amount( $discount_id ); |
|
1070 | - $rate = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), $discount_value ); |
|
1071 | - $amount = wpinv_get_cart_items_discount_amount( $items, $discount ); |
|
1072 | - $remove_btn = '<a title="' . esc_attr__( 'Remove discount', 'invoicing' ) . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> '; |
|
1067 | + foreach ($discounts as $discount) { |
|
1068 | + $discount_id = wpinv_get_discount_id_by_code($discount); |
|
1069 | + $discount_value = wpinv_get_discount_amount($discount_id); |
|
1070 | + $rate = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), $discount_value); |
|
1071 | + $amount = wpinv_get_cart_items_discount_amount($items, $discount); |
|
1072 | + $remove_btn = '<a title="' . esc_attr__('Remove discount', 'invoicing') . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> '; |
|
1073 | 1073 | |
1074 | 1074 | $html .= '<tr class="wpinv_cart_footer_row wpinv_cart_discount_row">'; |
1075 | 1075 | ob_start(); |
1076 | - do_action( 'wpinv_checkout_table_discount_first', $items ); |
|
1076 | + do_action('wpinv_checkout_table_discount_first', $items); |
|
1077 | 1077 | $html .= ob_get_clean(); |
1078 | - $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label( $discount, $rate, false ) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">–' . wpinv_price( wpinv_format_amount( $amount ) ) . '</span></td>'; |
|
1078 | + $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label($discount, $rate, false) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">–' . wpinv_price(wpinv_format_amount($amount)) . '</span></td>'; |
|
1079 | 1079 | ob_start(); |
1080 | - do_action( 'wpinv_checkout_table_discount_last', $items ); |
|
1080 | + do_action('wpinv_checkout_table_discount_last', $items); |
|
1081 | 1081 | $html .= ob_get_clean(); |
1082 | 1082 | $html .= '</tr>'; |
1083 | 1083 | } |
1084 | 1084 | |
1085 | - return apply_filters( 'wpinv_get_cart_discounts_html', $html, $discounts, $rate ); |
|
1085 | + return apply_filters('wpinv_get_cart_discounts_html', $html, $discounts, $rate); |
|
1086 | 1086 | } |
1087 | 1087 | |
1088 | -function wpinv_display_cart_discount( /** @scrutinizer ignore-unused */ $formatted = false, $echo = false ) { |
|
1088 | +function wpinv_display_cart_discount(/** @scrutinizer ignore-unused */ $formatted = false, $echo = false) { |
|
1089 | 1089 | $discounts = wpinv_get_cart_discounts(); |
1090 | 1090 | |
1091 | - if ( empty( $discounts ) ) { |
|
1091 | + if (empty($discounts)) { |
|
1092 | 1092 | return false; |
1093 | 1093 | } |
1094 | 1094 | |
1095 | - $discount_id = wpinv_get_discount_id_by_code( $discounts[0] ); |
|
1096 | - $amount = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), wpinv_get_discount_amount( $discount_id ) ); |
|
1095 | + $discount_id = wpinv_get_discount_id_by_code($discounts[0]); |
|
1096 | + $amount = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), wpinv_get_discount_amount($discount_id)); |
|
1097 | 1097 | |
1098 | - if ( $echo ) { |
|
1098 | + if ($echo) { |
|
1099 | 1099 | echo $amount; |
1100 | 1100 | } |
1101 | 1101 | |
@@ -1103,101 +1103,101 @@ discard block |
||
1103 | 1103 | } |
1104 | 1104 | |
1105 | 1105 | function wpinv_remove_cart_discount() { |
1106 | - if ( !isset( $_GET['discount_id'] ) || ! isset( $_GET['discount_code'] ) ) { |
|
1106 | + if (!isset($_GET['discount_id']) || !isset($_GET['discount_code'])) { |
|
1107 | 1107 | return; |
1108 | 1108 | } |
1109 | 1109 | |
1110 | - do_action( 'wpinv_pre_remove_cart_discount', absint( $_GET['discount_id'] ) ); |
|
1110 | + do_action('wpinv_pre_remove_cart_discount', absint($_GET['discount_id'])); |
|
1111 | 1111 | |
1112 | - wpinv_unset_cart_discount( urldecode( $_GET['discount_code'] ) ); |
|
1112 | + wpinv_unset_cart_discount(urldecode($_GET['discount_code'])); |
|
1113 | 1113 | |
1114 | - do_action( 'wpinv_post_remove_cart_discount', absint( $_GET['discount_id'] ) ); |
|
1114 | + do_action('wpinv_post_remove_cart_discount', absint($_GET['discount_id'])); |
|
1115 | 1115 | |
1116 | - wp_redirect( wpinv_get_checkout_uri() ); wpinv_die(); |
|
1116 | + wp_redirect(wpinv_get_checkout_uri()); wpinv_die(); |
|
1117 | 1117 | } |
1118 | -add_action( 'wpinv_remove_cart_discount', 'wpinv_remove_cart_discount' ); |
|
1118 | +add_action('wpinv_remove_cart_discount', 'wpinv_remove_cart_discount'); |
|
1119 | 1119 | |
1120 | 1120 | function wpinv_maybe_remove_cart_discount() { |
1121 | 1121 | $discounts = wpinv_get_cart_discounts(); |
1122 | 1122 | |
1123 | - if ( !$discounts ) { |
|
1123 | + if (!$discounts) { |
|
1124 | 1124 | return; |
1125 | 1125 | } |
1126 | 1126 | |
1127 | - foreach ( $discounts as $discount ) { |
|
1128 | - if ( !wpinv_is_discount_valid( $discount ) ) { |
|
1129 | - wpinv_unset_cart_discount( $discount ); |
|
1127 | + foreach ($discounts as $discount) { |
|
1128 | + if (!wpinv_is_discount_valid($discount)) { |
|
1129 | + wpinv_unset_cart_discount($discount); |
|
1130 | 1130 | } |
1131 | 1131 | } |
1132 | 1132 | } |
1133 | -add_action( 'wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount' ); |
|
1133 | +add_action('wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount'); |
|
1134 | 1134 | |
1135 | 1135 | function wpinv_multiple_discounts_allowed() { |
1136 | - $ret = wpinv_get_option( 'allow_multiple_discounts', false ); |
|
1137 | - return (bool) apply_filters( 'wpinv_multiple_discounts_allowed', $ret ); |
|
1136 | + $ret = wpinv_get_option('allow_multiple_discounts', false); |
|
1137 | + return (bool) apply_filters('wpinv_multiple_discounts_allowed', $ret); |
|
1138 | 1138 | } |
1139 | 1139 | |
1140 | -function wpinv_get_discount_label( $code, $echo = true ) { |
|
1141 | - $label = wp_sprintf( __( 'Discount%1$s', 'invoicing' ), ( $code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)': '' ) ); |
|
1142 | - $label = apply_filters( 'wpinv_get_discount_label', $label, $code ); |
|
1140 | +function wpinv_get_discount_label($code, $echo = true) { |
|
1141 | + $label = wp_sprintf(__('Discount%1$s', 'invoicing'), ($code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)' : '')); |
|
1142 | + $label = apply_filters('wpinv_get_discount_label', $label, $code); |
|
1143 | 1143 | |
1144 | - if ( $echo ) { |
|
1144 | + if ($echo) { |
|
1145 | 1145 | echo $label; |
1146 | 1146 | } else { |
1147 | 1147 | return $label; |
1148 | 1148 | } |
1149 | 1149 | } |
1150 | 1150 | |
1151 | -function wpinv_cart_discount_label( $code, $rate, $echo = true ) { |
|
1152 | - $label = wp_sprintf( __( 'Discount: %s', 'invoicing' ), $code ); |
|
1153 | - $label = apply_filters( 'wpinv_cart_discount_label', $label, $code, $rate ); |
|
1151 | +function wpinv_cart_discount_label($code, $rate, $echo = true) { |
|
1152 | + $label = wp_sprintf(__('Discount: %s', 'invoicing'), $code); |
|
1153 | + $label = apply_filters('wpinv_cart_discount_label', $label, $code, $rate); |
|
1154 | 1154 | |
1155 | - if ( $echo ) { |
|
1155 | + if ($echo) { |
|
1156 | 1156 | echo $label; |
1157 | 1157 | } else { |
1158 | 1158 | return $label; |
1159 | 1159 | } |
1160 | 1160 | } |
1161 | 1161 | |
1162 | -function wpinv_check_delete_discount( $check, $post ) { |
|
1163 | - if ( $post->post_type == 'wpi_discount' && wpinv_get_discount_uses( $post->ID ) > 0 ) { |
|
1162 | +function wpinv_check_delete_discount($check, $post) { |
|
1163 | + if ($post->post_type == 'wpi_discount' && wpinv_get_discount_uses($post->ID) > 0) { |
|
1164 | 1164 | return true; |
1165 | 1165 | } |
1166 | 1166 | |
1167 | 1167 | return $check; |
1168 | 1168 | } |
1169 | -add_filter( 'pre_delete_post', 'wpinv_check_delete_discount', 10, 2 ); |
|
1169 | +add_filter('pre_delete_post', 'wpinv_check_delete_discount', 10, 2); |
|
1170 | 1170 | |
1171 | 1171 | function wpinv_checkout_form_validate_discounts() { |
1172 | 1172 | global $wpi_checkout_id; |
1173 | 1173 | |
1174 | 1174 | $discounts = wpinv_get_cart_discounts(); |
1175 | 1175 | |
1176 | - if ( !empty( $discounts ) ) { |
|
1176 | + if (!empty($discounts)) { |
|
1177 | 1177 | $invalid = false; |
1178 | 1178 | |
1179 | - foreach ( $discounts as $key => $code ) { |
|
1180 | - if ( !wpinv_is_discount_valid( $code, (int)wpinv_get_user_id( $wpi_checkout_id ) ) ) { |
|
1179 | + foreach ($discounts as $key => $code) { |
|
1180 | + if (!wpinv_is_discount_valid($code, (int) wpinv_get_user_id($wpi_checkout_id))) { |
|
1181 | 1181 | $invalid = true; |
1182 | 1182 | |
1183 | - wpinv_unset_cart_discount( $code ); |
|
1183 | + wpinv_unset_cart_discount($code); |
|
1184 | 1184 | } |
1185 | 1185 | } |
1186 | 1186 | |
1187 | - if ( $invalid ) { |
|
1187 | + if ($invalid) { |
|
1188 | 1188 | $errors = wpinv_get_errors(); |
1189 | - $error = !empty( $errors['wpinv-discount-error'] ) ? $errors['wpinv-discount-error'] . ' ' : ''; |
|
1190 | - $error .= __( 'The discount has been removed from cart.', 'invoicing' ); |
|
1191 | - wpinv_set_error( 'wpinv-discount-error', $error ); |
|
1189 | + $error = !empty($errors['wpinv-discount-error']) ? $errors['wpinv-discount-error'] . ' ' : ''; |
|
1190 | + $error .= __('The discount has been removed from cart.', 'invoicing'); |
|
1191 | + wpinv_set_error('wpinv-discount-error', $error); |
|
1192 | 1192 | |
1193 | - wpinv_recalculate_tax( true ); |
|
1193 | + wpinv_recalculate_tax(true); |
|
1194 | 1194 | } |
1195 | 1195 | } |
1196 | 1196 | } |
1197 | -add_action( 'wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10 ); |
|
1197 | +add_action('wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10); |
|
1198 | 1198 | |
1199 | 1199 | function wpinv_discount_amount() { |
1200 | 1200 | $output = 0.00; |
1201 | 1201 | |
1202 | - return apply_filters( 'wpinv_discount_amount', $output ); |
|
1202 | + return apply_filters('wpinv_discount_amount', $output); |
|
1203 | 1203 | } |
1204 | 1204 | \ No newline at end of file |
@@ -5,7 +5,7 @@ discard block |
||
5 | 5 | * @since 1.0.15 |
6 | 6 | */ |
7 | 7 | |
8 | -defined( 'ABSPATH' ) || exit; |
|
8 | +defined('ABSPATH') || exit; |
|
9 | 9 | |
10 | 10 | /** |
11 | 11 | * Discount class. |
@@ -63,45 +63,45 @@ discard block |
||
63 | 63 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
64 | 64 | * @since 1.0.15 |
65 | 65 | */ |
66 | - public function __construct( $discount = array() ) { |
|
66 | + public function __construct($discount = array()) { |
|
67 | 67 | |
68 | 68 | // If the discount is an instance of this class... |
69 | - if ( $discount instanceof WPInv_Discount ) { |
|
70 | - $this->init( $discount->data ); |
|
69 | + if ($discount instanceof WPInv_Discount) { |
|
70 | + $this->init($discount->data); |
|
71 | 71 | return; |
72 | 72 | } |
73 | 73 | |
74 | 74 | // If the discount is an array of discount details... |
75 | - if ( is_array( $discount ) ) { |
|
76 | - $this->init( $discount ); |
|
75 | + if (is_array($discount)) { |
|
76 | + $this->init($discount); |
|
77 | 77 | return; |
78 | 78 | } |
79 | 79 | |
80 | 80 | // Try fetching the discount by its post id. |
81 | 81 | $data = false; |
82 | 82 | |
83 | - if ( ! empty( $discount ) && is_numeric( $discount ) ) { |
|
84 | - $discount = absint( $discount ); |
|
85 | - $data = self::get_data_by( 'id', $discount ); |
|
83 | + if (!empty($discount) && is_numeric($discount)) { |
|
84 | + $discount = absint($discount); |
|
85 | + $data = self::get_data_by('id', $discount); |
|
86 | 86 | } |
87 | 87 | |
88 | - if ( is_array( $data ) ) { |
|
89 | - $this->init( $data ); |
|
88 | + if (is_array($data)) { |
|
89 | + $this->init($data); |
|
90 | 90 | return; |
91 | 91 | } |
92 | 92 | |
93 | 93 | // Try fetching the discount by its discount code. |
94 | - if ( ! empty( $discount ) && is_string( $discount ) ) { |
|
95 | - $data = self::get_data_by( 'discount_code', $discount ); |
|
94 | + if (!empty($discount) && is_string($discount)) { |
|
95 | + $data = self::get_data_by('discount_code', $discount); |
|
96 | 96 | } |
97 | 97 | |
98 | - if ( is_array( $data ) ) { |
|
99 | - $this->init( $data ); |
|
98 | + if (is_array($data)) { |
|
99 | + $this->init($data); |
|
100 | 100 | return; |
101 | 101 | } |
102 | 102 | |
103 | 103 | // If we are here then the discount does not exist. |
104 | - $this->init( array() ); |
|
104 | + $this->init(array()); |
|
105 | 105 | } |
106 | 106 | |
107 | 107 | /** |
@@ -110,8 +110,8 @@ discard block |
||
110 | 110 | * @since 1.0.15 |
111 | 111 | * @param array $data An array containing the discount's data |
112 | 112 | */ |
113 | - public function init( $data ) { |
|
114 | - $data = self::sanitize_discount_data( $data ); |
|
113 | + public function init($data) { |
|
114 | + $data = self::sanitize_discount_data($data); |
|
115 | 115 | $this->data = $data; |
116 | 116 | $this->old_status = $data['status']; |
117 | 117 | $this->ID = $data['ID']; |
@@ -127,50 +127,50 @@ discard block |
||
127 | 127 | * @since 1.0.15 |
128 | 128 | * @return array|bool array of discount details on success. False otherwise. |
129 | 129 | */ |
130 | - public static function get_data_by( $field, $value ) { |
|
130 | + public static function get_data_by($field, $value) { |
|
131 | 131 | |
132 | - if ( 'id' == strtolower( $field ) ) { |
|
132 | + if ('id' == strtolower($field)) { |
|
133 | 133 | // Make sure the value is numeric to avoid casting objects, for example, |
134 | 134 | // to int 1. |
135 | - if ( ! is_numeric( $value ) ) |
|
135 | + if (!is_numeric($value)) |
|
136 | 136 | return false; |
137 | - $value = intval( $value ); |
|
138 | - if ( $value < 1 ) |
|
137 | + $value = intval($value); |
|
138 | + if ($value < 1) |
|
139 | 139 | return false; |
140 | 140 | } |
141 | 141 | |
142 | - if ( ! $value || ! is_string( $field ) ) { |
|
142 | + if (!$value || !is_string($field)) { |
|
143 | 143 | return false; |
144 | 144 | } |
145 | 145 | |
146 | - $field = trim( $field ); |
|
146 | + $field = trim($field); |
|
147 | 147 | |
148 | 148 | // prepare query args |
149 | - switch ( strtolower( $field ) ) { |
|
149 | + switch (strtolower($field)) { |
|
150 | 150 | case 'id': |
151 | 151 | $discount_id = $value; |
152 | - $args = array( 'include' => array( $value ) ); |
|
152 | + $args = array('include' => array($value)); |
|
153 | 153 | break; |
154 | 154 | case 'discount_code': |
155 | 155 | case 'code': |
156 | - $value = trim( $value ); |
|
157 | - $discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' ); |
|
158 | - $args = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value ); |
|
156 | + $value = trim($value); |
|
157 | + $discount_id = wp_cache_get($value, 'WPInv_Discount_Codes'); |
|
158 | + $args = array('meta_key' => '_wpi_discount_code', 'meta_value' => $value); |
|
159 | 159 | break; |
160 | 160 | case 'name': |
161 | 161 | $discount_id = 0; |
162 | - $args = array( 'name' => trim( $value ) ); |
|
162 | + $args = array('name' => trim($value)); |
|
163 | 163 | break; |
164 | 164 | default: |
165 | - $args = apply_filters( "wpinv_discount_get_data_by_{$field}_args", null, $value ); |
|
166 | - if ( ! is_array( $args ) ) { |
|
167 | - return apply_filters( "wpinv_discount_get_data_by_$field", false, $value ); |
|
165 | + $args = apply_filters("wpinv_discount_get_data_by_{$field}_args", null, $value); |
|
166 | + if (!is_array($args)) { |
|
167 | + return apply_filters("wpinv_discount_get_data_by_$field", false, $value); |
|
168 | 168 | } |
169 | 169 | |
170 | 170 | } |
171 | 171 | |
172 | 172 | // Check if there is a cached value. |
173 | - if ( ! empty( $discount_id ) && $discount = wp_cache_get( (int) $discount_id, 'WPInv_Discounts' ) ) { |
|
173 | + if (!empty($discount_id) && $discount = wp_cache_get((int) $discount_id, 'WPInv_Discounts')) { |
|
174 | 174 | return $discount; |
175 | 175 | } |
176 | 176 | |
@@ -179,13 +179,13 @@ discard block |
||
179 | 179 | array( |
180 | 180 | 'post_type' => 'wpi_discount', |
181 | 181 | 'posts_per_page' => 1, |
182 | - 'post_status' => array( 'publish', 'pending', 'draft', 'expired' ) |
|
182 | + 'post_status' => array('publish', 'pending', 'draft', 'expired') |
|
183 | 183 | ) |
184 | 184 | ); |
185 | 185 | |
186 | - $discount = get_posts( $args ); |
|
186 | + $discount = get_posts($args); |
|
187 | 187 | |
188 | - if( empty( $discount ) ) { |
|
188 | + if (empty($discount)) { |
|
189 | 189 | return false; |
190 | 190 | } |
191 | 191 | |
@@ -194,31 +194,31 @@ discard block |
||
194 | 194 | // Prepare the return data. |
195 | 195 | $return = array( |
196 | 196 | 'ID' => $discount->ID, |
197 | - 'code' => get_post_meta( $discount->ID, '_wpi_discount_code', true ), |
|
198 | - 'amount' => get_post_meta( $discount->ID, '_wpi_discount_amount', true ), |
|
197 | + 'code' => get_post_meta($discount->ID, '_wpi_discount_code', true), |
|
198 | + 'amount' => get_post_meta($discount->ID, '_wpi_discount_amount', true), |
|
199 | 199 | 'date_created' => $discount->post_date, |
200 | 200 | 'date_modified' => $discount->post_modified, |
201 | 201 | 'status' => $discount->post_status, |
202 | - 'start' => get_post_meta( $discount->ID, '_wpi_discount_start', true ), |
|
203 | - 'expiration' => get_post_meta( $discount->ID, '_wpi_discount_expiration', true ), |
|
204 | - 'type' => get_post_meta( $discount->ID, '_wpi_discount_type', true ), |
|
202 | + 'start' => get_post_meta($discount->ID, '_wpi_discount_start', true), |
|
203 | + 'expiration' => get_post_meta($discount->ID, '_wpi_discount_expiration', true), |
|
204 | + 'type' => get_post_meta($discount->ID, '_wpi_discount_type', true), |
|
205 | 205 | 'description' => $discount->post_excerpt, |
206 | - 'uses' => get_post_meta( $discount->ID, '_wpi_discount_uses', true ), |
|
207 | - 'is_single_use' => get_post_meta( $discount->ID, '_wpi_discount_is_single_use', true ), |
|
208 | - 'items' => get_post_meta( $discount->ID, '_wpi_discount_items', true ), |
|
209 | - 'excluded_items' => get_post_meta( $discount->ID, '_wpi_discount_excluded_items', true ), |
|
210 | - 'max_uses' => get_post_meta( $discount->ID, '_wpi_discount_max_uses', true ), |
|
211 | - 'is_recurring' => get_post_meta( $discount->ID, '_wpi_discount_is_recurring', true ), |
|
212 | - 'min_total' => get_post_meta( $discount->ID, '_wpi_discount_min_total', true ), |
|
213 | - 'max_total' => get_post_meta( $discount->ID, '_wpi_discount_max_total', true ), |
|
206 | + 'uses' => get_post_meta($discount->ID, '_wpi_discount_uses', true), |
|
207 | + 'is_single_use' => get_post_meta($discount->ID, '_wpi_discount_is_single_use', true), |
|
208 | + 'items' => get_post_meta($discount->ID, '_wpi_discount_items', true), |
|
209 | + 'excluded_items' => get_post_meta($discount->ID, '_wpi_discount_excluded_items', true), |
|
210 | + 'max_uses' => get_post_meta($discount->ID, '_wpi_discount_max_uses', true), |
|
211 | + 'is_recurring' => get_post_meta($discount->ID, '_wpi_discount_is_recurring', true), |
|
212 | + 'min_total' => get_post_meta($discount->ID, '_wpi_discount_min_total', true), |
|
213 | + 'max_total' => get_post_meta($discount->ID, '_wpi_discount_max_total', true), |
|
214 | 214 | ); |
215 | 215 | |
216 | - $return = self::sanitize_discount_data( $return ); |
|
217 | - $return = apply_filters( 'wpinv_discount_properties', $return ); |
|
216 | + $return = self::sanitize_discount_data($return); |
|
217 | + $return = apply_filters('wpinv_discount_properties', $return); |
|
218 | 218 | |
219 | 219 | // Update the cache with our data |
220 | - wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' ); |
|
221 | - wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' ); |
|
220 | + wp_cache_add($discount->ID, $return, 'WPInv_Discounts'); |
|
221 | + wp_cache_add($return['code'], $discount->ID, 'WPInv_Discount_Codes'); |
|
222 | 222 | |
223 | 223 | return $return; |
224 | 224 | } |
@@ -232,9 +232,9 @@ discard block |
||
232 | 232 | * |
233 | 233 | * @return array the sanitized data |
234 | 234 | */ |
235 | - public static function sanitize_discount_data( $data ) { |
|
235 | + public static function sanitize_discount_data($data) { |
|
236 | 236 | |
237 | - $allowed_discount_types = array_keys( wpinv_get_discount_types() ); |
|
237 | + $allowed_discount_types = array_keys(wpinv_get_discount_types()); |
|
238 | 238 | |
239 | 239 | $return = array( |
240 | 240 | 'ID' => null, |
@@ -259,60 +259,60 @@ discard block |
||
259 | 259 | |
260 | 260 | |
261 | 261 | // Arrays only please. |
262 | - if ( ! is_array( $data ) ) { |
|
262 | + if (!is_array($data)) { |
|
263 | 263 | return $return; |
264 | 264 | } |
265 | 265 | |
266 | 266 | // If an id is provided, ensure it is a valid discount. |
267 | - if ( ! empty( $data['ID'] ) && ( ! is_numeric( $data['ID'] ) || 'wpi_discount' !== get_post_type( $data['ID'] ) ) ) { |
|
267 | + if (!empty($data['ID']) && (!is_numeric($data['ID']) || 'wpi_discount' !== get_post_type($data['ID']))) { |
|
268 | 268 | return $return; |
269 | 269 | } |
270 | 270 | |
271 | - $return = array_merge( $return, $data ); |
|
271 | + $return = array_merge($return, $data); |
|
272 | 272 | |
273 | 273 | // Sanitize some keys. |
274 | - $return['amount'] = wpinv_sanitize_amount( $return['amount'] ); |
|
274 | + $return['amount'] = wpinv_sanitize_amount($return['amount']); |
|
275 | 275 | $return['is_single_use'] = (bool) $return['is_single_use']; |
276 | 276 | $return['is_recurring'] = (bool) $return['is_recurring']; |
277 | 277 | $return['uses'] = (int) $return['uses']; |
278 | 278 | $return['max_uses'] = (int) $return['max_uses']; |
279 | - $return['min_total'] = wpinv_sanitize_amount( $return['min_total'] ); |
|
280 | - $return['max_total'] = wpinv_sanitize_amount( $return['max_total'] ); |
|
279 | + $return['min_total'] = wpinv_sanitize_amount($return['min_total']); |
|
280 | + $return['max_total'] = wpinv_sanitize_amount($return['max_total']); |
|
281 | 281 | |
282 | 282 | // Trim all values. |
283 | - $return = wpinv_clean( $return ); |
|
283 | + $return = wpinv_clean($return); |
|
284 | 284 | |
285 | 285 | // Ensure the discount type is supported. |
286 | - if ( ! in_array( $return['type'], $allowed_discount_types, true ) ) { |
|
286 | + if (!in_array($return['type'], $allowed_discount_types, true)) { |
|
287 | 287 | $return['type'] = 'percent'; |
288 | 288 | } |
289 | - $return['type_name'] = wpinv_get_discount_type_name( $return['type'] ); |
|
289 | + $return['type_name'] = wpinv_get_discount_type_name($return['type']); |
|
290 | 290 | |
291 | 291 | // Do not offer more than a 100% discount. |
292 | - if ( $return['type'] == 'percent' && (float) $return['amount'] > 100 ) { |
|
292 | + if ($return['type'] == 'percent' && (float) $return['amount'] > 100) { |
|
293 | 293 | $return['amount'] = 100; |
294 | 294 | } |
295 | 295 | |
296 | 296 | // Format dates. |
297 | - foreach( wpinv_parse_list( 'date_created date_modified expiration start') as $prop ) { |
|
298 | - if( ! empty( $return[$prop] ) ) { |
|
299 | - $return[$prop] = date_i18n( 'Y-m-d H:i:s', strtotime( $return[$prop] ) ); |
|
297 | + foreach (wpinv_parse_list('date_created date_modified expiration start') as $prop) { |
|
298 | + if (!empty($return[$prop])) { |
|
299 | + $return[$prop] = date_i18n('Y-m-d H:i:s', strtotime($return[$prop])); |
|
300 | 300 | } |
301 | 301 | } |
302 | 302 | |
303 | 303 | // Formart items. |
304 | - foreach( array( 'excluded_items', 'items' ) as $prop ) { |
|
304 | + foreach (array('excluded_items', 'items') as $prop) { |
|
305 | 305 | |
306 | - if( ! empty( $return[$prop] ) ) { |
|
306 | + if (!empty($return[$prop])) { |
|
307 | 307 | // Ensure that the property is an array of non-empty integers. |
308 | - $return[$prop] = array_filter( array_map( 'intval', wpinv_parse_list( $return[$prop] ) ) ); |
|
308 | + $return[$prop] = array_filter(array_map('intval', wpinv_parse_list($return[$prop]))); |
|
309 | 309 | } else { |
310 | 310 | $return[$prop] = array(); |
311 | 311 | } |
312 | 312 | |
313 | 313 | } |
314 | 314 | |
315 | - return apply_filters( 'wpinv_sanitize_discount_data', $return, $data ); |
|
315 | + return apply_filters('wpinv_sanitize_discount_data', $return, $data); |
|
316 | 316 | } |
317 | 317 | |
318 | 318 | /** |
@@ -323,8 +323,8 @@ discard block |
||
323 | 323 | * |
324 | 324 | * @return bool Whether the given discount field is set. |
325 | 325 | */ |
326 | - public function __isset( $key ){ |
|
327 | - return isset( $this->data[$key] ) || method_exists( $this, "get_$key"); |
|
326 | + public function __isset($key) { |
|
327 | + return isset($this->data[$key]) || method_exists($this, "get_$key"); |
|
328 | 328 | } |
329 | 329 | |
330 | 330 | /** |
@@ -336,8 +336,8 @@ discard block |
||
336 | 336 | * @param string $key Discount data to retrieve |
337 | 337 | * @return mixed Value of the given discount property (if set). |
338 | 338 | */ |
339 | - public function __get( $key ) { |
|
340 | - return $this->get( $key ); |
|
339 | + public function __get($key) { |
|
340 | + return $this->get($key); |
|
341 | 341 | } |
342 | 342 | |
343 | 343 | /** |
@@ -349,15 +349,15 @@ discard block |
||
349 | 349 | * @param string $key Discount data to retrieve |
350 | 350 | * @return mixed Value of the given discount property (if set). |
351 | 351 | */ |
352 | - public function get( $key ) { |
|
352 | + public function get($key) { |
|
353 | 353 | |
354 | - if ( $key == 'id' ) { |
|
354 | + if ($key == 'id') { |
|
355 | 355 | $key = 'ID'; |
356 | 356 | } |
357 | 357 | |
358 | - if( method_exists( $this, "get_$key") ) { |
|
359 | - $value = call_user_func( array( $this, "get_$key" ) ); |
|
360 | - } else if( isset( $this->data[$key] ) ) { |
|
358 | + if (method_exists($this, "get_$key")) { |
|
359 | + $value = call_user_func(array($this, "get_$key")); |
|
360 | + } else if (isset($this->data[$key])) { |
|
361 | 361 | $value = $this->data[$key]; |
362 | 362 | } else { |
363 | 363 | $value = null; |
@@ -374,7 +374,7 @@ discard block |
||
374 | 374 | * @param string $code The discount's discount code. |
375 | 375 | * @param array $data The discount's data array. |
376 | 376 | */ |
377 | - return apply_filters( "wpinv_get_discount_{$key}", $value, $this->ID, $this, $this->data['code'], $this->data ); |
|
377 | + return apply_filters("wpinv_get_discount_{$key}", $value, $this->ID, $this, $this->data['code'], $this->data); |
|
378 | 378 | |
379 | 379 | } |
380 | 380 | |
@@ -387,9 +387,9 @@ discard block |
||
387 | 387 | * @access public |
388 | 388 | * |
389 | 389 | */ |
390 | - public function __set( $key, $value ) { |
|
390 | + public function __set($key, $value) { |
|
391 | 391 | |
392 | - if ( 'id' == strtolower( $key ) ) { |
|
392 | + if ('id' == strtolower($key)) { |
|
393 | 393 | |
394 | 394 | $this->ID = $value; |
395 | 395 | $this->data['ID'] = $value; |
@@ -410,10 +410,10 @@ discard block |
||
410 | 410 | * @param string $code The discount's discount code. |
411 | 411 | * @param array $data The discount's data array. |
412 | 412 | */ |
413 | - $value = apply_filters( "wpinv_set_discount_{$key}", $value, $this->ID, $this, $this->code, $this->data ); |
|
413 | + $value = apply_filters("wpinv_set_discount_{$key}", $value, $this->ID, $this, $this->code, $this->data); |
|
414 | 414 | |
415 | - if( method_exists( $this, "set_$key") ) { |
|
416 | - call_user_func( array( $this, "set_$key" ), $value ); |
|
415 | + if (method_exists($this, "set_$key")) { |
|
416 | + call_user_func(array($this, "set_$key"), $value); |
|
417 | 417 | } else { |
418 | 418 | $this->data[$key] = $value; |
419 | 419 | } |
@@ -428,53 +428,53 @@ discard block |
||
428 | 428 | * @return bool |
429 | 429 | * |
430 | 430 | */ |
431 | - public function save(){ |
|
431 | + public function save() { |
|
432 | 432 | |
433 | - $data = self::sanitize_discount_data( $this->data ); |
|
433 | + $data = self::sanitize_discount_data($this->data); |
|
434 | 434 | |
435 | 435 | // Should we create a new post? |
436 | - if( ! $data[ 'ID' ] ) { |
|
436 | + if (!$data['ID']) { |
|
437 | 437 | |
438 | - $id = wp_insert_post( array( |
|
438 | + $id = wp_insert_post(array( |
|
439 | 439 | 'post_status' => $data['status'], |
440 | 440 | 'post_type' => 'wpi_discount', |
441 | 441 | 'post_excerpt' => $data['description'], |
442 | - ) ); |
|
442 | + )); |
|
443 | 443 | |
444 | - if( empty( $id ) ) { |
|
444 | + if (empty($id)) { |
|
445 | 445 | return false; |
446 | 446 | } |
447 | 447 | |
448 | - $data[ 'ID' ] = (int) $id; |
|
449 | - $this->ID = $data[ 'ID' ]; |
|
450 | - $this->data['ID'] = $data[ 'ID' ]; |
|
448 | + $data['ID'] = (int) $id; |
|
449 | + $this->ID = $data['ID']; |
|
450 | + $this->data['ID'] = $data['ID']; |
|
451 | 451 | |
452 | 452 | } else { |
453 | - $this->update_status( $data['status'] ); |
|
453 | + $this->update_status($data['status']); |
|
454 | 454 | } |
455 | 455 | |
456 | - $meta = apply_filters( 'wpinv_update_discount', $data, $this->ID, $this ); |
|
456 | + $meta = apply_filters('wpinv_update_discount', $data, $this->ID, $this); |
|
457 | 457 | |
458 | - do_action( 'wpinv_pre_update_discount', $meta, $this->ID, $this ); |
|
458 | + do_action('wpinv_pre_update_discount', $meta, $this->ID, $this); |
|
459 | 459 | |
460 | - foreach( wpinv_parse_list( 'ID date_created date_modified status description type_name' ) as $prop ) { |
|
461 | - if ( isset( $meta[$prop] ) ) { |
|
462 | - unset( $meta[$prop] ); |
|
460 | + foreach (wpinv_parse_list('ID date_created date_modified status description type_name') as $prop) { |
|
461 | + if (isset($meta[$prop])) { |
|
462 | + unset($meta[$prop]); |
|
463 | 463 | } |
464 | 464 | } |
465 | 465 | |
466 | - if( isset( $meta['uses'] ) && empty( $meta['uses'] ) ) { |
|
467 | - unset( $meta['uses'] ); |
|
466 | + if (isset($meta['uses']) && empty($meta['uses'])) { |
|
467 | + unset($meta['uses']); |
|
468 | 468 | } |
469 | 469 | |
470 | 470 | // Save the metadata. |
471 | - foreach( $meta as $key => $value ) { |
|
472 | - update_post_meta( $this->ID, "_wpi_discount_$key", $value ); |
|
471 | + foreach ($meta as $key => $value) { |
|
472 | + update_post_meta($this->ID, "_wpi_discount_$key", $value); |
|
473 | 473 | } |
474 | 474 | |
475 | 475 | $this->refresh(); |
476 | 476 | |
477 | - do_action( 'wpinv_post_update_discount', $meta, $this->ID ); |
|
477 | + do_action('wpinv_post_update_discount', $meta, $this->ID); |
|
478 | 478 | |
479 | 479 | return true; |
480 | 480 | } |
@@ -487,17 +487,17 @@ discard block |
||
487 | 487 | * @return bool |
488 | 488 | * |
489 | 489 | */ |
490 | - public function refresh(){ |
|
490 | + public function refresh() { |
|
491 | 491 | |
492 | 492 | // Empty the cache for this discount. |
493 | - wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
494 | - wp_cache_delete( $this->get( 'code' ), 'WPInv_Discount_Codes' ); |
|
493 | + wp_cache_delete($this->ID, 'WPInv_Discounts'); |
|
494 | + wp_cache_delete($this->get('code'), 'WPInv_Discount_Codes'); |
|
495 | 495 | |
496 | - $data = self::get_data_by( 'id', $this->ID ); |
|
497 | - if( is_array( $data ) ) { |
|
498 | - $this->init( $data ); |
|
496 | + $data = self::get_data_by('id', $this->ID); |
|
497 | + if (is_array($data)) { |
|
498 | + $this->init($data); |
|
499 | 499 | } else { |
500 | - $this->init( array() ); |
|
500 | + $this->init(array()); |
|
501 | 501 | } |
502 | 502 | |
503 | 503 | } |
@@ -510,14 +510,14 @@ discard block |
||
510 | 510 | * @return bool |
511 | 511 | * |
512 | 512 | */ |
513 | - public function update_status( $status = 'publish' ){ |
|
513 | + public function update_status($status = 'publish') { |
|
514 | 514 | |
515 | 515 | |
516 | - if ( $this->exists() && $this->old_status != $status ) { |
|
516 | + if ($this->exists() && $this->old_status != $status) { |
|
517 | 517 | |
518 | - do_action( 'wpinv_pre_update_discount_status', $this->ID, $this->old_status, $status ); |
|
519 | - $updated = wp_update_post( array( 'ID' => $this->ID, 'post_status' => $status ) ); |
|
520 | - do_action( 'wpinv_post_update_discount_status', $this->ID, $this->old_status, $status ); |
|
518 | + do_action('wpinv_pre_update_discount_status', $this->ID, $this->old_status, $status); |
|
519 | + $updated = wp_update_post(array('ID' => $this->ID, 'post_status' => $status)); |
|
520 | + do_action('wpinv_post_update_discount_status', $this->ID, $this->old_status, $status); |
|
521 | 521 | |
522 | 522 | $this->refresh(); |
523 | 523 | |
@@ -534,8 +534,8 @@ discard block |
||
534 | 534 | * |
535 | 535 | * @since 1.0.15 |
536 | 536 | */ |
537 | - public function exists(){ |
|
538 | - return ! empty( $this->ID ); |
|
537 | + public function exists() { |
|
538 | + return !empty($this->ID); |
|
539 | 539 | } |
540 | 540 | |
541 | 541 | // Boolean methods |
@@ -548,7 +548,7 @@ discard block |
||
548 | 548 | * @since 1.0.15 |
549 | 549 | * @return bool |
550 | 550 | */ |
551 | - public function is_type( $type ) { |
|
551 | + public function is_type($type) { |
|
552 | 552 | return $this->type == $type; |
553 | 553 | } |
554 | 554 | |
@@ -569,12 +569,12 @@ discard block |
||
569 | 569 | * @return bool |
570 | 570 | */ |
571 | 571 | public function has_exceeded_limit() { |
572 | - if( empty( $this->max_uses ) || empty( $this->uses ) ) { |
|
573 | - return false ; |
|
572 | + if (empty($this->max_uses) || empty($this->uses)) { |
|
573 | + return false; |
|
574 | 574 | } |
575 | 575 | |
576 | - $exceeded = $this->uses >= $this->max_uses; |
|
577 | - return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code ); |
|
576 | + $exceeded = $this->uses >= $this->max_uses; |
|
577 | + return apply_filters('wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code); |
|
578 | 578 | } |
579 | 579 | |
580 | 580 | /** |
@@ -584,8 +584,8 @@ discard block |
||
584 | 584 | * @return bool |
585 | 585 | */ |
586 | 586 | public function is_expired() { |
587 | - $expired = empty ( $this->expiration ) ? false : current_time( 'timestamp' ) > strtotime( $this->expiration ); |
|
588 | - return apply_filters( 'wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code ); |
|
587 | + $expired = empty ($this->expiration) ? false : current_time('timestamp') > strtotime($this->expiration); |
|
588 | + return apply_filters('wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code); |
|
589 | 589 | } |
590 | 590 | |
591 | 591 | /** |
@@ -595,8 +595,8 @@ discard block |
||
595 | 595 | * @return bool |
596 | 596 | */ |
597 | 597 | public function has_started() { |
598 | - $started = empty ( $this->start ) ? true : current_time( 'timestamp' ) > strtotime( $this->start ); |
|
599 | - return apply_filters( 'wpinv_is_discount_started', $started, $this->ID, $this, $this->code ); |
|
598 | + $started = empty ($this->start) ? true : current_time('timestamp') > strtotime($this->start); |
|
599 | + return apply_filters('wpinv_is_discount_started', $started, $this->ID, $this, $this->code); |
|
600 | 600 | } |
601 | 601 | |
602 | 602 | /** |
@@ -606,17 +606,17 @@ discard block |
||
606 | 606 | * @since 1.0.15 |
607 | 607 | * @return boolean |
608 | 608 | */ |
609 | - public function is_valid_for_items( $item_ids ) { |
|
609 | + public function is_valid_for_items($item_ids) { |
|
610 | 610 | |
611 | - $item_ids = array_map( 'intval', wpinv_parse_list( $item_ids ) ); |
|
612 | - $included = array_intersect( $item_ids, $this->items ); |
|
613 | - $excluded = array_intersect( $item_ids, $this->excluded_items ); |
|
611 | + $item_ids = array_map('intval', wpinv_parse_list($item_ids)); |
|
612 | + $included = array_intersect($item_ids, $this->items); |
|
613 | + $excluded = array_intersect($item_ids, $this->excluded_items); |
|
614 | 614 | |
615 | - if( ! empty( $this->excluded_items ) && ! empty( $excluded ) ) { |
|
615 | + if (!empty($this->excluded_items) && !empty($excluded)) { |
|
616 | 616 | return false; |
617 | 617 | } |
618 | 618 | |
619 | - if( ! empty( $this->items ) && empty( $included ) ) { |
|
619 | + if (!empty($this->items) && empty($included)) { |
|
620 | 620 | return false; |
621 | 621 | } |
622 | 622 | return true; |
@@ -629,8 +629,8 @@ discard block |
||
629 | 629 | * @since 1.0.15 |
630 | 630 | * @return boolean |
631 | 631 | */ |
632 | - public function is_valid_for_amount( $amount ) { |
|
633 | - return $this->is_minimum_amount_met( $amount ) && $this->is_maximum_amount_met( $amount ); |
|
632 | + public function is_valid_for_amount($amount) { |
|
633 | + return $this->is_minimum_amount_met($amount) && $this->is_maximum_amount_met($amount); |
|
634 | 634 | } |
635 | 635 | |
636 | 636 | /** |
@@ -640,10 +640,10 @@ discard block |
||
640 | 640 | * @since 1.0.15 |
641 | 641 | * @return boolean |
642 | 642 | */ |
643 | - public function is_minimum_amount_met( $amount ) { |
|
644 | - $amount = floatval( $amount ); |
|
645 | - $min_met= ! ( $this->min_total > 0 && $amount < $this->min_total ); |
|
646 | - return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount ); |
|
643 | + public function is_minimum_amount_met($amount) { |
|
644 | + $amount = floatval($amount); |
|
645 | + $min_met = !($this->min_total > 0 && $amount < $this->min_total); |
|
646 | + return apply_filters('wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount); |
|
647 | 647 | } |
648 | 648 | |
649 | 649 | /** |
@@ -653,10 +653,10 @@ discard block |
||
653 | 653 | * @since 1.0.15 |
654 | 654 | * @return boolean |
655 | 655 | */ |
656 | - public function is_maximum_amount_met( $amount ) { |
|
657 | - $amount = floatval( $amount ); |
|
658 | - $max_met= ! ( $this->max_total > 0 && $amount > $this->max_total ); |
|
659 | - return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount ); |
|
656 | + public function is_maximum_amount_met($amount) { |
|
657 | + $amount = floatval($amount); |
|
658 | + $max_met = !($this->max_total > 0 && $amount > $this->max_total); |
|
659 | + return apply_filters('wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount); |
|
660 | 660 | } |
661 | 661 | |
662 | 662 | /** |
@@ -666,50 +666,50 @@ discard block |
||
666 | 666 | * @since 1.0.15 |
667 | 667 | * @return boolean |
668 | 668 | */ |
669 | - public function is_valid_for_user( $user ) { |
|
669 | + public function is_valid_for_user($user) { |
|
670 | 670 | global $wpi_checkout_id; |
671 | 671 | |
672 | - if( empty( $user ) || empty( $this->is_single_use ) ) { |
|
672 | + if (empty($user) || empty($this->is_single_use)) { |
|
673 | 673 | return true; |
674 | 674 | } |
675 | 675 | |
676 | 676 | $user_id = 0; |
677 | - if ( is_int( $user ) ) { |
|
678 | - $user_id = absint( $user ); |
|
679 | - } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) { |
|
677 | + if (is_int($user)) { |
|
678 | + $user_id = absint($user); |
|
679 | + } else if (is_email($user) && $user_data = get_user_by('email', $user)) { |
|
680 | 680 | $user_id = $user_data->ID; |
681 | - } else if ( $user_data = get_user_by( 'login', $user ) ) { |
|
681 | + } else if ($user_data = get_user_by('login', $user)) { |
|
682 | 682 | $user_id = $user_data->ID; |
683 | - } else if ( absint( $user ) > 0 ) { |
|
684 | - $user_id = absint( $user ); |
|
683 | + } else if (absint($user) > 0) { |
|
684 | + $user_id = absint($user); |
|
685 | 685 | } |
686 | 686 | |
687 | - if ( empty( $user_id ) ) { |
|
687 | + if (empty($user_id)) { |
|
688 | 688 | return true; |
689 | 689 | } |
690 | 690 | |
691 | 691 | // Get all payments with matching user id |
692 | - $payments = wpinv_get_invoices( array( 'user' => $user_id, 'limit' => false ) ); |
|
693 | - $code = strtolower( $this->code ); |
|
692 | + $payments = wpinv_get_invoices(array('user' => $user_id, 'limit' => false)); |
|
693 | + $code = strtolower($this->code); |
|
694 | 694 | |
695 | - foreach ( $payments as $payment ) { |
|
695 | + foreach ($payments as $payment) { |
|
696 | 696 | |
697 | 697 | // Don't count discount used for current invoice checkout. |
698 | - if ( ! empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) { |
|
698 | + if (!empty($wpi_checkout_id) && $wpi_checkout_id == $payment->ID) { |
|
699 | 699 | continue; |
700 | 700 | } |
701 | 701 | |
702 | - if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) { |
|
702 | + if ($payment->has_status(array('wpi-cancelled', 'wpi-failed'))) { |
|
703 | 703 | continue; |
704 | 704 | } |
705 | 705 | |
706 | - $discounts = $payment->get_discounts( true ); |
|
707 | - if ( empty( $discounts ) ) { |
|
706 | + $discounts = $payment->get_discounts(true); |
|
707 | + if (empty($discounts)) { |
|
708 | 708 | continue; |
709 | 709 | } |
710 | 710 | |
711 | - $discounts = array_map( 'strtolower', wpinv_parse_list( $discounts ) ); |
|
712 | - if ( ! empty( $discounts ) && in_array( $code, $discounts ) ) { |
|
711 | + $discounts = array_map('strtolower', wpinv_parse_list($discounts)); |
|
712 | + if (!empty($discounts) && in_array($code, $discounts)) { |
|
713 | 713 | return false; |
714 | 714 | } |
715 | 715 | } |
@@ -725,15 +725,15 @@ discard block |
||
725 | 725 | */ |
726 | 726 | public function remove() { |
727 | 727 | |
728 | - if ( empty( $this->ID ) ) { |
|
728 | + if (empty($this->ID)) { |
|
729 | 729 | return true; |
730 | 730 | } |
731 | 731 | |
732 | - do_action( 'wpinv_pre_delete_discount', $this->ID, $this->data ); |
|
733 | - wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
734 | - wp_delete_post( $this->ID, true ); |
|
735 | - wp_cache_delete( $this->code, 'WPInv_Discount_Codes' ); |
|
736 | - do_action( 'wpinv_post_delete_discount', $this->ID, $this->data ); |
|
732 | + do_action('wpinv_pre_delete_discount', $this->ID, $this->data); |
|
733 | + wp_cache_delete($this->ID, 'WPInv_Discounts'); |
|
734 | + wp_delete_post($this->ID, true); |
|
735 | + wp_cache_delete($this->code, 'WPInv_Discount_Codes'); |
|
736 | + do_action('wpinv_post_delete_discount', $this->ID, $this->data); |
|
737 | 737 | |
738 | 738 | $this->ID = null; |
739 | 739 | $this->data['id'] = null; |
@@ -747,21 +747,21 @@ discard block |
||
747 | 747 | * @param int $by The number of usages to increas by. |
748 | 748 | * @return int |
749 | 749 | */ |
750 | - public function increase_usage( $by = 1 ) { |
|
750 | + public function increase_usage($by = 1) { |
|
751 | 751 | |
752 | 752 | $this->uses = $this->uses + $by; |
753 | 753 | |
754 | - if( $this->uses < 0 ) { |
|
754 | + if ($this->uses < 0) { |
|
755 | 755 | $this->uses = 0; |
756 | - update_post_meta( $this->ID, "_wpi_discount_uses", 0 ); |
|
756 | + update_post_meta($this->ID, "_wpi_discount_uses", 0); |
|
757 | 757 | } |
758 | 758 | |
759 | 759 | $this->save(); |
760 | 760 | |
761 | - if( $by > 0 ) { |
|
762 | - do_action( 'wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code, $by ); |
|
761 | + if ($by > 0) { |
|
762 | + do_action('wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code, $by); |
|
763 | 763 | } else { |
764 | - do_action( 'wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint( $by ) ); |
|
764 | + do_action('wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint($by)); |
|
765 | 765 | } |
766 | 766 | |
767 | 767 | return $this->uses; |
@@ -775,8 +775,8 @@ discard block |
||
775 | 775 | */ |
776 | 776 | public function get_data() { |
777 | 777 | $return = array(); |
778 | - foreach( array_keys( $this->data ) as $key ) { |
|
779 | - $return[ $key ] = $this->get( $key ); |
|
778 | + foreach (array_keys($this->data) as $key) { |
|
779 | + $return[$key] = $this->get($key); |
|
780 | 780 | } |
781 | 781 | return $return; |
782 | 782 | } |
@@ -788,7 +788,7 @@ discard block |
||
788 | 788 | * @return string|false |
789 | 789 | */ |
790 | 790 | public function get_data_as_json() { |
791 | - return wp_json_encode( $this->get_data() ); |
|
791 | + return wp_json_encode($this->get_data()); |
|
792 | 792 | } |
793 | 793 | |
794 | 794 | /** |
@@ -798,7 +798,7 @@ discard block |
||
798 | 798 | * @return bool |
799 | 799 | */ |
800 | 800 | public function get_is_single_use() { |
801 | - return (bool) apply_filters( 'wpinv_is_discount_single_use', $this->data['is_single_use'], $this->ID, $this, $this->code ); |
|
801 | + return (bool) apply_filters('wpinv_is_discount_single_use', $this->data['is_single_use'], $this->ID, $this, $this->code); |
|
802 | 802 | } |
803 | 803 | |
804 | 804 | /** |
@@ -808,7 +808,7 @@ discard block |
||
808 | 808 | * @return bool |
809 | 809 | */ |
810 | 810 | public function get_is_recurring() { |
811 | - return (bool) apply_filters( 'wpinv_is_discount_recurring', $this->data['is_recurring'], $this->ID, $this->code, $this ); |
|
811 | + return (bool) apply_filters('wpinv_is_discount_recurring', $this->data['is_recurring'], $this->ID, $this->code, $this); |
|
812 | 812 | } |
813 | 813 | |
814 | 814 | /** |
@@ -818,7 +818,7 @@ discard block |
||
818 | 818 | * @return array |
819 | 819 | */ |
820 | 820 | public function get_items() { |
821 | - return wpinv_parse_list( apply_filters( 'wpinv_get_discount_item_reqs', $this->data['items'], $this->ID, $this, $this->code ) ); |
|
821 | + return wpinv_parse_list(apply_filters('wpinv_get_discount_item_reqs', $this->data['items'], $this->ID, $this, $this->code)); |
|
822 | 822 | } |
823 | 823 | |
824 | 824 | /** |
@@ -827,19 +827,19 @@ discard block |
||
827 | 827 | * @since 1.0.15 |
828 | 828 | * @return float |
829 | 829 | */ |
830 | - public function get_discounted_amount( $amount ) { |
|
830 | + public function get_discounted_amount($amount) { |
|
831 | 831 | |
832 | - if ( $this->type == 'flat' ) { |
|
832 | + if ($this->type == 'flat') { |
|
833 | 833 | $amount = $amount - $this->amount; |
834 | 834 | } else { |
835 | - $amount = $amount - ( $amount * ( $this->amount / 100 ) ); |
|
835 | + $amount = $amount - ($amount * ($this->amount / 100)); |
|
836 | 836 | } |
837 | 837 | |
838 | - if ( $amount < 0 ) { |
|
838 | + if ($amount < 0) { |
|
839 | 839 | $amount = 0; |
840 | 840 | } |
841 | 841 | |
842 | - return apply_filters( 'wpinv_discounted_amount', $amount, $this->ID, $this, $this->code, $this->amount ); |
|
842 | + return apply_filters('wpinv_discounted_amount', $amount, $this->ID, $this, $this->code, $this->amount); |
|
843 | 843 | } |
844 | 844 | |
845 | 845 | } |
@@ -1,10 +1,10 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if ( ! defined( 'ABSPATH' ) ) { |
|
3 | +if (!defined('ABSPATH')) { |
|
4 | 4 | exit; |
5 | 5 | } |
6 | 6 | |
7 | -if ( ! class_exists( "AyeCode_Connect_Helper" ) ) { |
|
7 | +if (!class_exists("AyeCode_Connect_Helper")) { |
|
8 | 8 | /** |
9 | 9 | * Allow the quick setup and connection of our AyeCode Connect plugin. |
10 | 10 | * |
@@ -29,41 +29,41 @@ discard block |
||
29 | 29 | * @param array $strings |
30 | 30 | * @param array $pages |
31 | 31 | */ |
32 | - public function __construct( $strings = array(), $pages = array() ) { |
|
32 | + public function __construct($strings = array(), $pages = array()) { |
|
33 | 33 | |
34 | 34 | // Only fire if not localhost and the current user has the right permissions. |
35 | - if ( ! $this->is_localhost() && current_user_can( 'manage_options' ) ) { |
|
35 | + if (!$this->is_localhost() && current_user_can('manage_options')) { |
|
36 | 36 | |
37 | 37 | |
38 | 38 | // set default strings |
39 | 39 | $default_strings = array( |
40 | - 'connect_title' => __( "Thanks for choosing an AyeCode Product!" ), |
|
41 | - 'connect_external' => __( "Please confirm you wish to connect your site?" ), |
|
42 | - 'connect' => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s" ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>" ), |
|
43 | - 'connect_button' => __( "Connect Site" ), |
|
44 | - 'connecting_button' => __( "Connecting..." ), |
|
45 | - 'error_localhost' => __( "This service will only work with a live domain, not a localhost." ), |
|
46 | - 'error' => __( "Something went wrong, please refresh and try again." ), |
|
40 | + 'connect_title' => __("Thanks for choosing an AyeCode Product!"), |
|
41 | + 'connect_external' => __("Please confirm you wish to connect your site?"), |
|
42 | + 'connect' => sprintf(__("<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s"), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>"), |
|
43 | + 'connect_button' => __("Connect Site"), |
|
44 | + 'connecting_button' => __("Connecting..."), |
|
45 | + 'error_localhost' => __("This service will only work with a live domain, not a localhost."), |
|
46 | + 'error' => __("Something went wrong, please refresh and try again."), |
|
47 | 47 | ); |
48 | - $this->strings = array_merge( $default_strings, $strings ); |
|
48 | + $this->strings = array_merge($default_strings, $strings); |
|
49 | 49 | |
50 | 50 | |
51 | 51 | // set default pages |
52 | 52 | $default_pages = array(); |
53 | - $this->pages = array_merge( $default_pages, $pages ); |
|
53 | + $this->pages = array_merge($default_pages, $pages); |
|
54 | 54 | |
55 | 55 | // maybe show connect site notice |
56 | - add_action( 'admin_notices', array( $this, 'ayecode_connect_install_notice' ) ); |
|
56 | + add_action('admin_notices', array($this, 'ayecode_connect_install_notice')); |
|
57 | 57 | |
58 | 58 | // add ajax action if not already added |
59 | - if ( ! has_action( 'wp_ajax_ayecode_connect_helper' ) ) { |
|
60 | - add_action( 'wp_ajax_ayecode_connect_helper', array( $this, 'ayecode_connect_install' ) ); |
|
59 | + if (!has_action('wp_ajax_ayecode_connect_helper')) { |
|
60 | + add_action('wp_ajax_ayecode_connect_helper', array($this, 'ayecode_connect_install')); |
|
61 | 61 | } |
62 | 62 | } |
63 | 63 | |
64 | 64 | // add ajax action if not already added |
65 | - if ( ! has_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed' ) ) { |
|
66 | - add_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed', array( $this, 'ayecode_connect_helper_installed' ) ); |
|
65 | + if (!has_action('wp_ajax_nopriv_ayecode_connect_helper_installed')) { |
|
66 | + add_action('wp_ajax_nopriv_ayecode_connect_helper_installed', array($this, 'ayecode_connect_helper_installed')); |
|
67 | 67 | } |
68 | 68 | |
69 | 69 | } |
@@ -71,13 +71,13 @@ discard block |
||
71 | 71 | /** |
72 | 72 | * Give a way to check we can connect via a external redirect. |
73 | 73 | */ |
74 | - public function ayecode_connect_helper_installed(){ |
|
74 | + public function ayecode_connect_helper_installed() { |
|
75 | 75 | $active = array( |
76 | - 'gd' => defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION,'2.0.0.79','>') ? 1 : 0, |
|
77 | - 'uwp' => defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION,'1.2.1.5','>') ? 1 : 0, |
|
78 | - 'wpi' => defined('WPINV_VERSION') && version_compare(WPINV_VERSION,'1.0.14','>') ? 1 : 0, |
|
76 | + 'gd' => defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION, '2.0.0.79', '>') ? 1 : 0, |
|
77 | + 'uwp' => defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION, '1.2.1.5', '>') ? 1 : 0, |
|
78 | + 'wpi' => defined('WPINV_VERSION') && version_compare(WPINV_VERSION, '1.0.14', '>') ? 1 : 0, |
|
79 | 79 | ); |
80 | - wp_send_json_success( $active ); |
|
80 | + wp_send_json_success($active); |
|
81 | 81 | wp_die(); |
82 | 82 | } |
83 | 83 | |
@@ -88,9 +88,9 @@ discard block |
||
88 | 88 | * |
89 | 89 | * @return string |
90 | 90 | */ |
91 | - private function format_plugin_slug( $key ) { |
|
92 | - $slug = explode( '/', $key ); |
|
93 | - $slug = explode( '.', end( $slug ) ); |
|
91 | + private function format_plugin_slug($key) { |
|
92 | + $slug = explode('/', $key); |
|
93 | + $slug = explode('.', end($slug)); |
|
94 | 94 | |
95 | 95 | return $slug[0]; |
96 | 96 | } |
@@ -101,45 +101,45 @@ discard block |
||
101 | 101 | public function ayecode_connect_install() { |
102 | 102 | |
103 | 103 | // bail if localhost |
104 | - if ( $this->is_localhost() ) { |
|
105 | - wp_send_json_error( $this->strings['error_localhost'] ); |
|
104 | + if ($this->is_localhost()) { |
|
105 | + wp_send_json_error($this->strings['error_localhost']); |
|
106 | 106 | } |
107 | 107 | |
108 | 108 | // Explicitly clear the event. |
109 | - wp_clear_scheduled_hook( 'geodir_plugin_background_installer', func_get_args() ); |
|
109 | + wp_clear_scheduled_hook('geodir_plugin_background_installer', func_get_args()); |
|
110 | 110 | |
111 | 111 | $success = true; |
112 | 112 | $plugin_slug = "ayecode-connect"; |
113 | - if ( ! empty( $plugin_slug ) ) { |
|
114 | - require_once( ABSPATH . 'wp-admin/includes/file.php' ); |
|
115 | - require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); |
|
116 | - require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ); |
|
117 | - require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); |
|
113 | + if (!empty($plugin_slug)) { |
|
114 | + require_once(ABSPATH . 'wp-admin/includes/file.php'); |
|
115 | + require_once(ABSPATH . 'wp-admin/includes/plugin-install.php'); |
|
116 | + require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'); |
|
117 | + require_once(ABSPATH . 'wp-admin/includes/plugin.php'); |
|
118 | 118 | |
119 | 119 | WP_Filesystem(); |
120 | 120 | |
121 | 121 | $skin = new Automatic_Upgrader_Skin; |
122 | - $upgrader = new WP_Upgrader( $skin ); |
|
123 | - $installed_plugins = array_map( array( $this, 'format_plugin_slug' ), array_keys( get_plugins() ) ); |
|
122 | + $upgrader = new WP_Upgrader($skin); |
|
123 | + $installed_plugins = array_map(array($this, 'format_plugin_slug'), array_keys(get_plugins())); |
|
124 | 124 | $plugin_slug = $plugin_slug; |
125 | 125 | $plugin = $plugin_slug . '/' . $plugin_slug . '.php'; |
126 | 126 | $installed = false; |
127 | 127 | $activate = false; |
128 | 128 | |
129 | 129 | // See if the plugin is installed already |
130 | - if ( in_array( $plugin_slug, $installed_plugins ) ) { |
|
130 | + if (in_array($plugin_slug, $installed_plugins)) { |
|
131 | 131 | $installed = true; |
132 | - $activate = ! is_plugin_active( $plugin ); |
|
132 | + $activate = !is_plugin_active($plugin); |
|
133 | 133 | } |
134 | 134 | |
135 | 135 | // Install this thing! |
136 | - if ( ! $installed ) { |
|
136 | + if (!$installed) { |
|
137 | 137 | |
138 | 138 | // Suppress feedback |
139 | 139 | ob_start(); |
140 | 140 | |
141 | 141 | try { |
142 | - $plugin_information = plugins_api( 'plugin_information', array( |
|
142 | + $plugin_information = plugins_api('plugin_information', array( |
|
143 | 143 | 'slug' => $plugin_slug, |
144 | 144 | 'fields' => array( |
145 | 145 | 'short_description' => false, |
@@ -156,26 +156,26 @@ discard block |
||
156 | 156 | 'author_profile' => false, |
157 | 157 | 'author' => false, |
158 | 158 | ), |
159 | - ) ); |
|
159 | + )); |
|
160 | 160 | |
161 | - if ( is_wp_error( $plugin_information ) ) { |
|
162 | - throw new Exception( $plugin_information->get_error_message() ); |
|
161 | + if (is_wp_error($plugin_information)) { |
|
162 | + throw new Exception($plugin_information->get_error_message()); |
|
163 | 163 | } |
164 | 164 | |
165 | 165 | $package = $plugin_information->download_link; |
166 | - $download = $upgrader->download_package( $package ); |
|
166 | + $download = $upgrader->download_package($package); |
|
167 | 167 | |
168 | - if ( is_wp_error( $download ) ) { |
|
169 | - throw new Exception( $download->get_error_message() ); |
|
168 | + if (is_wp_error($download)) { |
|
169 | + throw new Exception($download->get_error_message()); |
|
170 | 170 | } |
171 | 171 | |
172 | - $working_dir = $upgrader->unpack_package( $download, true ); |
|
172 | + $working_dir = $upgrader->unpack_package($download, true); |
|
173 | 173 | |
174 | - if ( is_wp_error( $working_dir ) ) { |
|
175 | - throw new Exception( $working_dir->get_error_message() ); |
|
174 | + if (is_wp_error($working_dir)) { |
|
175 | + throw new Exception($working_dir->get_error_message()); |
|
176 | 176 | } |
177 | 177 | |
178 | - $result = $upgrader->install_package( array( |
|
178 | + $result = $upgrader->install_package(array( |
|
179 | 179 | 'source' => $working_dir, |
180 | 180 | 'destination' => WP_PLUGIN_DIR, |
181 | 181 | 'clear_destination' => false, |
@@ -185,15 +185,15 @@ discard block |
||
185 | 185 | 'type' => 'plugin', |
186 | 186 | 'action' => 'install', |
187 | 187 | ), |
188 | - ) ); |
|
188 | + )); |
|
189 | 189 | |
190 | - if ( is_wp_error( $result ) ) { |
|
191 | - throw new Exception( $result->get_error_message() ); |
|
190 | + if (is_wp_error($result)) { |
|
191 | + throw new Exception($result->get_error_message()); |
|
192 | 192 | } |
193 | 193 | |
194 | 194 | $activate = true; |
195 | 195 | |
196 | - } catch ( Exception $e ) { |
|
196 | + } catch (Exception $e) { |
|
197 | 197 | $success = false; |
198 | 198 | } |
199 | 199 | |
@@ -204,30 +204,30 @@ discard block |
||
204 | 204 | wp_clean_plugins_cache(); |
205 | 205 | |
206 | 206 | // Activate this thing |
207 | - if ( $activate ) { |
|
207 | + if ($activate) { |
|
208 | 208 | try { |
209 | - $result = activate_plugin( $plugin ); |
|
209 | + $result = activate_plugin($plugin); |
|
210 | 210 | |
211 | - if ( is_wp_error( $result ) ) { |
|
211 | + if (is_wp_error($result)) { |
|
212 | 212 | $success = false; |
213 | 213 | } else { |
214 | 214 | $success = true; |
215 | 215 | } |
216 | - } catch ( Exception $e ) { |
|
216 | + } catch (Exception $e) { |
|
217 | 217 | $success = false; |
218 | 218 | } |
219 | 219 | } |
220 | 220 | } |
221 | 221 | |
222 | - if ( $success && function_exists( 'ayecode_connect_args' ) ) { |
|
223 | - ayecode_connect();// init |
|
222 | + if ($success && function_exists('ayecode_connect_args')) { |
|
223 | + ayecode_connect(); // init |
|
224 | 224 | $args = ayecode_connect_args(); |
225 | - $client = new AyeCode_Connect( $args ); |
|
226 | - $redirect_to = ! empty( $_POST['redirect_to'] ) ? esc_url_raw( $_POST['redirect_to'] ) : ''; |
|
227 | - $redirect = $client->build_connect_url( $redirect_to ); |
|
228 | - wp_send_json_success( array( 'connect_url' => $redirect ) ); |
|
225 | + $client = new AyeCode_Connect($args); |
|
226 | + $redirect_to = !empty($_POST['redirect_to']) ? esc_url_raw($_POST['redirect_to']) : ''; |
|
227 | + $redirect = $client->build_connect_url($redirect_to); |
|
228 | + wp_send_json_success(array('connect_url' => $redirect)); |
|
229 | 229 | } else { |
230 | - wp_send_json_error( $this->strings['error_localhost'] ); |
|
230 | + wp_send_json_error($this->strings['error_localhost']); |
|
231 | 231 | } |
232 | 232 | wp_die(); |
233 | 233 | } |
@@ -240,7 +240,7 @@ discard block |
||
240 | 240 | public function is_localhost() { |
241 | 241 | $localhost = false; |
242 | 242 | |
243 | - $host = isset( $_SERVER['HTTP_HOST'] ) ? $_SERVER['HTTP_HOST'] : ''; |
|
243 | + $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; |
|
244 | 244 | $localhost_domains = array( |
245 | 245 | 'localhost', |
246 | 246 | 'localhost.localdomain', |
@@ -248,7 +248,7 @@ discard block |
||
248 | 248 | '::1' |
249 | 249 | ); |
250 | 250 | |
251 | - if ( in_array( $host, $localhost_domains ) ) { |
|
251 | + if (in_array($host, $localhost_domains)) { |
|
252 | 252 | $localhost = true; |
253 | 253 | } |
254 | 254 | |
@@ -259,7 +259,7 @@ discard block |
||
259 | 259 | * Show notice to connect site. |
260 | 260 | */ |
261 | 261 | public function ayecode_connect_install_notice() { |
262 | - if ( $this->maybe_show() ) { |
|
262 | + if ($this->maybe_show()) { |
|
263 | 263 | $connect_title_string = $this->strings['connect_title']; |
264 | 264 | $connect_external_string = $this->strings['connect_external']; |
265 | 265 | $connect_string = $this->strings['connect']; |
@@ -301,7 +301,7 @@ discard block |
||
301 | 301 | </svg> |
302 | 302 | </span> |
303 | 303 | <span class="acch-float-left acch-text"> |
304 | - <h3 class="acch-title"><?php echo esc_attr( $connect_title_string ); ?></h3> |
|
304 | + <h3 class="acch-title"><?php echo esc_attr($connect_title_string); ?></h3> |
|
305 | 305 | <p> |
306 | 306 | <?php |
307 | 307 | echo $connect_string; |
@@ -312,14 +312,14 @@ discard block |
||
312 | 312 | <span class="acch-float-left acch-button"> |
313 | 313 | <button onclick="ayecode_connect_helper(this);" id="gd-connect-site" |
314 | 314 | class="button button-primary" |
315 | - data-connecting="<?php echo esc_attr( $connecting_button_string ); ?>"><?php echo esc_attr( $connect_button_string ) ?></button> |
|
315 | + data-connecting="<?php echo esc_attr($connecting_button_string); ?>"><?php echo esc_attr($connect_button_string) ?></button> |
|
316 | 316 | </span> |
317 | 317 | |
318 | 318 | </div> |
319 | 319 | |
320 | 320 | <?php |
321 | 321 | // only include the popup HTML if needed. |
322 | - if ( ! empty( $_REQUEST['external-connect-request'] ) ) { |
|
322 | + if (!empty($_REQUEST['external-connect-request'])) { |
|
323 | 323 | ?> |
324 | 324 | <div id="ayecode-connect-helper-external-confirm" style="display:none;"> |
325 | 325 | <div class="noticex notice-info acch-notice" style="border: none;"> |
@@ -357,13 +357,13 @@ discard block |
||
357 | 357 | </svg> |
358 | 358 | </span> |
359 | 359 | <span class="acch-float-left acch-text"> |
360 | - <h3 class="acch-title"><?php echo esc_attr( $connect_external_string ); ?></h3> |
|
360 | + <h3 class="acch-title"><?php echo esc_attr($connect_external_string); ?></h3> |
|
361 | 361 | </span> |
362 | 362 | |
363 | 363 | <span class="acch-float-left acch-button"> |
364 | 364 | <button onclick="ayecode_connect_helper(this);" id="gd-connect-site" |
365 | 365 | class="button button-primary" |
366 | - data-connecting="<?php echo esc_attr( $connecting_button_string ); ?>"><?php echo esc_attr( $connect_button_string ) ?></button> |
|
366 | + data-connecting="<?php echo esc_attr($connecting_button_string); ?>"><?php echo esc_attr($connect_button_string) ?></button> |
|
367 | 367 | </span> |
368 | 368 | |
369 | 369 | </div> |
@@ -382,7 +382,7 @@ discard block |
||
382 | 382 | public function script() { |
383 | 383 | |
384 | 384 | // add thickbox if external request is requested |
385 | - if ( ! empty( $_REQUEST['external-connect-request'] ) ) { |
|
385 | + if (!empty($_REQUEST['external-connect-request'])) { |
|
386 | 386 | add_thickbox(); |
387 | 387 | } |
388 | 388 | ?> |
@@ -434,7 +434,7 @@ discard block |
||
434 | 434 | url: ajaxurl, |
435 | 435 | data: { |
436 | 436 | action: 'ayecode_connect_helper', |
437 | - security: '<?php echo wp_create_nonce( 'ayecode-connect-helper' );?>', |
|
437 | + security: '<?php echo wp_create_nonce('ayecode-connect-helper'); ?>', |
|
438 | 438 | redirect_to: $current_url |
439 | 439 | }, |
440 | 440 | beforeSend: function () { |
@@ -455,7 +455,7 @@ discard block |
||
455 | 455 | |
456 | 456 | <?php |
457 | 457 | // add thickbox if external request is requested |
458 | - if(! empty( $_REQUEST['external-connect-request'] )) { |
|
458 | + if (!empty($_REQUEST['external-connect-request'])) { |
|
459 | 459 | ?> |
460 | 460 | jQuery(function () { |
461 | 461 | setTimeout(function () { |
@@ -479,10 +479,10 @@ discard block |
||
479 | 479 | $show = false; |
480 | 480 | |
481 | 481 | // check if on a page set to show |
482 | - if ( isset( $_REQUEST['page'] ) && in_array( $_REQUEST['page'], $this->pages ) ) { |
|
482 | + if (isset($_REQUEST['page']) && in_array($_REQUEST['page'], $this->pages)) { |
|
483 | 483 | |
484 | 484 | // check if not active and connected |
485 | - if ( ! defined( 'AYECODE_CONNECT_VERSION' ) || ! get_option( 'ayecode_connect_blog_token' ) ) { |
|
485 | + if (!defined('AYECODE_CONNECT_VERSION') || !get_option('ayecode_connect_blog_token')) { |
|
486 | 486 | $show = true; |
487 | 487 | } |
488 | 488 |
@@ -13,7 +13,7 @@ discard block |
||
13 | 13 | global $wpdb; |
14 | 14 | |
15 | 15 | $db = new WPInv_Subscriptions_DB; |
16 | -$page = isset($_GET['cpage']) ? abs((int)$_GET['cpage']) : 1; |
|
16 | +$page = isset($_GET['cpage']) ? abs((int) $_GET['cpage']) : 1; |
|
17 | 17 | $items_per_page = get_option('posts_per_page'); |
18 | 18 | $offset = ($page * $items_per_page) - $items_per_page; |
19 | 19 | $args = array('customer_id' => $user_id, 'offset' => $offset); |
@@ -29,16 +29,16 @@ discard block |
||
29 | 29 | <table class="table table-bordered table-hover table-responsive wpi-user-subscriptions"> |
30 | 30 | <thead> |
31 | 31 | <tr> |
32 | - <th class="sub-no"><span class="nobr"><?php _e( 'No.', 'invoicing' ); ?></span></th> |
|
33 | - <th class="sub-amount"><span class="nobr"><?php _e( 'Initial Amount', 'invoicing' ); ?></span></th> |
|
34 | - <th class="sub-cycle"><span class="nobr"><?php _e( 'Billing Cycle', 'invoicing' ); ?></span></th> |
|
35 | - <th class="sub-billed"><span class="nobr"><?php _e( 'Times Billed', 'invoicing' ); ?></span></th> |
|
36 | - <th class="sub-status"><span class="nobr"><?php _e( 'Status', 'invoicing' ); ?></span></th> |
|
37 | - <th class="sub-invoice"><span class="nobr"><?php _e( 'Invoice', 'invoicing' ); ?></span></th> |
|
38 | - <th class="sub-item"><span class="nobr"><?php _e( 'Item', 'invoicing' ); ?></span></th> |
|
39 | - <th class="sub-gateway"><span class="nobr"><?php _e( 'Gateway', 'invoicing' ); ?></span></th> |
|
40 | - <th class="sub-expiry"><span class="nobr"><?php _e( 'Expires On', 'invoicing' ); ?></span></th> |
|
41 | - <th class="sub-actions"><span class="nobr"><?php _e( 'Actions', 'invoicing' ); ?></span></th> |
|
32 | + <th class="sub-no"><span class="nobr"><?php _e('No.', 'invoicing'); ?></span></th> |
|
33 | + <th class="sub-amount"><span class="nobr"><?php _e('Initial Amount', 'invoicing'); ?></span></th> |
|
34 | + <th class="sub-cycle"><span class="nobr"><?php _e('Billing Cycle', 'invoicing'); ?></span></th> |
|
35 | + <th class="sub-billed"><span class="nobr"><?php _e('Times Billed', 'invoicing'); ?></span></th> |
|
36 | + <th class="sub-status"><span class="nobr"><?php _e('Status', 'invoicing'); ?></span></th> |
|
37 | + <th class="sub-invoice"><span class="nobr"><?php _e('Invoice', 'invoicing'); ?></span></th> |
|
38 | + <th class="sub-item"><span class="nobr"><?php _e('Item', 'invoicing'); ?></span></th> |
|
39 | + <th class="sub-gateway"><span class="nobr"><?php _e('Gateway', 'invoicing'); ?></span></th> |
|
40 | + <th class="sub-expiry"><span class="nobr"><?php _e('Expires On', 'invoicing'); ?></span></th> |
|
41 | + <th class="sub-actions"><span class="nobr"><?php _e('Actions', 'invoicing'); ?></span></th> |
|
42 | 42 | </tr> |
43 | 43 | </thead> |
44 | 44 | |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | <td><?php echo date_i18n(get_option('date_format'), strtotime($sub->expiration, current_time('timestamp'))); ?></td> |
65 | 65 | <td><?php |
66 | 66 | if ($sub->can_cancel()) { |
67 | - $message = esc_attr__( 'Are you sure you want to cancel this subscription?', 'invoicing' ); |
|
67 | + $message = esc_attr__('Are you sure you want to cancel this subscription?', 'invoicing'); |
|
68 | 68 | echo '<a class="btn btn-sm btn-primary" onclick="return confirm(\'' . $message . '\')" href="' . $sub->get_cancel_url() . '" >' . __("Cancel", "invoicing") . '</a>'; |
69 | 69 | } |
70 | 70 | do_action('wpinv_subscription_item_actions', $sub); |
@@ -1,66 +1,66 @@ 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 | -function wpinv_get_option( $key = '', $default = false ) { |
|
7 | +function wpinv_get_option($key = '', $default = false) { |
|
8 | 8 | global $wpinv_options; |
9 | 9 | |
10 | - $value = isset( $wpinv_options[ $key ] ) ? $wpinv_options[ $key ] : $default; |
|
11 | - $value = apply_filters( 'wpinv_get_option', $value, $key, $default ); |
|
10 | + $value = isset($wpinv_options[$key]) ? $wpinv_options[$key] : $default; |
|
11 | + $value = apply_filters('wpinv_get_option', $value, $key, $default); |
|
12 | 12 | |
13 | - return apply_filters( 'wpinv_get_option_' . $key, $value, $key, $default ); |
|
13 | + return apply_filters('wpinv_get_option_' . $key, $value, $key, $default); |
|
14 | 14 | } |
15 | 15 | |
16 | -function wpinv_update_option( $key = '', $value = false ) { |
|
16 | +function wpinv_update_option($key = '', $value = false) { |
|
17 | 17 | // If no key, exit |
18 | - if ( empty( $key ) ) { |
|
18 | + if (empty($key)) { |
|
19 | 19 | return false; |
20 | 20 | } |
21 | 21 | |
22 | - if ( empty( $value ) ) { |
|
23 | - $remove_option = wpinv_delete_option( $key ); |
|
22 | + if (empty($value)) { |
|
23 | + $remove_option = wpinv_delete_option($key); |
|
24 | 24 | return $remove_option; |
25 | 25 | } |
26 | 26 | |
27 | 27 | // First let's grab the current settings |
28 | - $options = get_option( 'wpinv_settings' ); |
|
28 | + $options = get_option('wpinv_settings'); |
|
29 | 29 | |
30 | 30 | // Let other plugin alter the value |
31 | - $value = apply_filters( 'wpinv_update_option', $value, $key ); |
|
31 | + $value = apply_filters('wpinv_update_option', $value, $key); |
|
32 | 32 | |
33 | 33 | // Next let's try to update the value |
34 | - $options[ $key ] = $value; |
|
35 | - $did_update = update_option( 'wpinv_settings', $options ); |
|
34 | + $options[$key] = $value; |
|
35 | + $did_update = update_option('wpinv_settings', $options); |
|
36 | 36 | |
37 | 37 | // If it's updated, let's update the global variable |
38 | - if ( $did_update ) { |
|
38 | + if ($did_update) { |
|
39 | 39 | global $wpinv_options; |
40 | - $wpinv_options[ $key ] = $value; |
|
40 | + $wpinv_options[$key] = $value; |
|
41 | 41 | } |
42 | 42 | |
43 | 43 | return $did_update; |
44 | 44 | } |
45 | 45 | |
46 | -function wpinv_delete_option( $key = '' ) { |
|
46 | +function wpinv_delete_option($key = '') { |
|
47 | 47 | // If no key, exit |
48 | - if ( empty( $key ) ) { |
|
48 | + if (empty($key)) { |
|
49 | 49 | return false; |
50 | 50 | } |
51 | 51 | |
52 | 52 | // First let's grab the current settings |
53 | - $options = get_option( 'wpinv_settings' ); |
|
53 | + $options = get_option('wpinv_settings'); |
|
54 | 54 | |
55 | 55 | // Next let's try to update the value |
56 | - if( isset( $options[ $key ] ) ) { |
|
57 | - unset( $options[ $key ] ); |
|
56 | + if (isset($options[$key])) { |
|
57 | + unset($options[$key]); |
|
58 | 58 | } |
59 | 59 | |
60 | - $did_update = update_option( 'wpinv_settings', $options ); |
|
60 | + $did_update = update_option('wpinv_settings', $options); |
|
61 | 61 | |
62 | 62 | // If it updated, let's update the global variable |
63 | - if ( $did_update ){ |
|
63 | + if ($did_update) { |
|
64 | 64 | global $wpinv_options; |
65 | 65 | $wpinv_options = $options; |
66 | 66 | } |
@@ -69,37 +69,37 @@ discard block |
||
69 | 69 | } |
70 | 70 | |
71 | 71 | function wpinv_get_settings() { |
72 | - $settings = get_option( 'wpinv_settings' ); |
|
72 | + $settings = get_option('wpinv_settings'); |
|
73 | 73 | |
74 | - if ( empty( $settings ) ) { |
|
74 | + if (empty($settings)) { |
|
75 | 75 | // Update old settings with new single option |
76 | - $general_settings = is_array( get_option( 'wpinv_settings_general' ) ) ? get_option( 'wpinv_settings_general' ) : array(); |
|
77 | - $gateways_settings = is_array( get_option( 'wpinv_settings_gateways' ) ) ? get_option( 'wpinv_settings_gateways' ) : array(); |
|
78 | - $email_settings = is_array( get_option( 'wpinv_settings_emails' ) ) ? get_option( 'wpinv_settings_emails' ) : array(); |
|
79 | - $tax_settings = is_array( get_option( 'wpinv_settings_taxes' ) ) ? get_option( 'wpinv_settings_taxes' ) : array(); |
|
80 | - $misc_settings = is_array( get_option( 'wpinv_settings_misc' ) ) ? get_option( 'wpinv_settings_misc' ) : array(); |
|
81 | - $tool_settings = is_array( get_option( 'wpinv_settings_tools' ) ) ? get_option( 'wpinv_settings_tools' ) : array(); |
|
76 | + $general_settings = is_array(get_option('wpinv_settings_general')) ? get_option('wpinv_settings_general') : array(); |
|
77 | + $gateways_settings = is_array(get_option('wpinv_settings_gateways')) ? get_option('wpinv_settings_gateways') : array(); |
|
78 | + $email_settings = is_array(get_option('wpinv_settings_emails')) ? get_option('wpinv_settings_emails') : array(); |
|
79 | + $tax_settings = is_array(get_option('wpinv_settings_taxes')) ? get_option('wpinv_settings_taxes') : array(); |
|
80 | + $misc_settings = is_array(get_option('wpinv_settings_misc')) ? get_option('wpinv_settings_misc') : array(); |
|
81 | + $tool_settings = is_array(get_option('wpinv_settings_tools')) ? get_option('wpinv_settings_tools') : array(); |
|
82 | 82 | |
83 | - $settings = array_merge( $general_settings, $gateways_settings, $email_settings, $tax_settings, $misc_settings, $tool_settings ); |
|
83 | + $settings = array_merge($general_settings, $gateways_settings, $email_settings, $tax_settings, $misc_settings, $tool_settings); |
|
84 | 84 | |
85 | - update_option( 'wpinv_settings', $settings ); |
|
85 | + update_option('wpinv_settings', $settings); |
|
86 | 86 | |
87 | 87 | } |
88 | - return apply_filters( 'wpinv_get_settings', $settings ); |
|
88 | + return apply_filters('wpinv_get_settings', $settings); |
|
89 | 89 | } |
90 | 90 | |
91 | 91 | function wpinv_register_settings() { |
92 | - if ( false == get_option( 'wpinv_settings' ) ) { |
|
93 | - add_option( 'wpinv_settings' ); |
|
92 | + if (false == get_option('wpinv_settings')) { |
|
93 | + add_option('wpinv_settings'); |
|
94 | 94 | } |
95 | 95 | |
96 | 96 | $register_settings = wpinv_get_registered_settings(); |
97 | 97 | |
98 | - foreach ( $register_settings as $tab => $sections ) { |
|
99 | - foreach ( $sections as $section => $settings) { |
|
98 | + foreach ($register_settings as $tab => $sections) { |
|
99 | + foreach ($sections as $section => $settings) { |
|
100 | 100 | // Check for backwards compatibility |
101 | - $section_tabs = wpinv_get_settings_tab_sections( $tab ); |
|
102 | - if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) { |
|
101 | + $section_tabs = wpinv_get_settings_tab_sections($tab); |
|
102 | + if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) { |
|
103 | 103 | $section = 'main'; |
104 | 104 | $settings = $sections; |
105 | 105 | } |
@@ -111,41 +111,41 @@ discard block |
||
111 | 111 | 'wpinv_settings_' . $tab . '_' . $section |
112 | 112 | ); |
113 | 113 | |
114 | - foreach ( $settings as $option ) { |
|
114 | + foreach ($settings as $option) { |
|
115 | 115 | // For backwards compatibility |
116 | - if ( empty( $option['id'] ) ) { |
|
116 | + if (empty($option['id'])) { |
|
117 | 117 | continue; |
118 | 118 | } |
119 | 119 | |
120 | - $name = isset( $option['name'] ) ? $option['name'] : ''; |
|
120 | + $name = isset($option['name']) ? $option['name'] : ''; |
|
121 | 121 | |
122 | 122 | add_settings_field( |
123 | 123 | 'wpinv_settings[' . $option['id'] . ']', |
124 | 124 | $name, |
125 | - function_exists( 'wpinv_' . $option['type'] . '_callback' ) ? 'wpinv_' . $option['type'] . '_callback' : 'wpinv_missing_callback', |
|
125 | + function_exists('wpinv_' . $option['type'] . '_callback') ? 'wpinv_' . $option['type'] . '_callback' : 'wpinv_missing_callback', |
|
126 | 126 | 'wpinv_settings_' . $tab . '_' . $section, |
127 | 127 | 'wpinv_settings_' . $tab . '_' . $section, |
128 | 128 | array( |
129 | 129 | 'section' => $section, |
130 | - 'id' => isset( $option['id'] ) ? $option['id'] : null, |
|
131 | - 'desc' => ! empty( $option['desc'] ) ? $option['desc'] : '', |
|
132 | - 'name' => isset( $option['name'] ) ? $option['name'] : null, |
|
133 | - 'size' => isset( $option['size'] ) ? $option['size'] : null, |
|
134 | - 'options' => isset( $option['options'] ) ? $option['options'] : '', |
|
135 | - 'selected' => isset( $option['selected'] ) ? $option['selected'] : null, |
|
136 | - 'std' => isset( $option['std'] ) ? $option['std'] : '', |
|
137 | - 'min' => isset( $option['min'] ) ? $option['min'] : null, |
|
138 | - 'max' => isset( $option['max'] ) ? $option['max'] : null, |
|
139 | - 'step' => isset( $option['step'] ) ? $option['step'] : null, |
|
140 | - 'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null, |
|
141 | - 'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true, |
|
142 | - 'readonly' => isset( $option['readonly'] ) ? $option['readonly'] : false, |
|
143 | - 'faux' => isset( $option['faux'] ) ? $option['faux'] : false, |
|
144 | - 'onchange' => !empty( $option['onchange'] ) ? $option['onchange'] : '', |
|
145 | - 'custom' => !empty( $option['custom'] ) ? $option['custom'] : '', |
|
146 | - 'class' => !empty( $option['class'] ) ? $option['class'] : '', |
|
147 | - 'cols' => !empty( $option['cols'] ) && (int)$option['cols'] > 0 ? (int)$option['cols'] : 50, |
|
148 | - 'rows' => !empty( $option['rows'] ) && (int)$option['rows'] > 0 ? (int)$option['rows'] : 5, |
|
130 | + 'id' => isset($option['id']) ? $option['id'] : null, |
|
131 | + 'desc' => !empty($option['desc']) ? $option['desc'] : '', |
|
132 | + 'name' => isset($option['name']) ? $option['name'] : null, |
|
133 | + 'size' => isset($option['size']) ? $option['size'] : null, |
|
134 | + 'options' => isset($option['options']) ? $option['options'] : '', |
|
135 | + 'selected' => isset($option['selected']) ? $option['selected'] : null, |
|
136 | + 'std' => isset($option['std']) ? $option['std'] : '', |
|
137 | + 'min' => isset($option['min']) ? $option['min'] : null, |
|
138 | + 'max' => isset($option['max']) ? $option['max'] : null, |
|
139 | + 'step' => isset($option['step']) ? $option['step'] : null, |
|
140 | + 'placeholder' => isset($option['placeholder']) ? $option['placeholder'] : null, |
|
141 | + 'allow_blank' => isset($option['allow_blank']) ? $option['allow_blank'] : true, |
|
142 | + 'readonly' => isset($option['readonly']) ? $option['readonly'] : false, |
|
143 | + 'faux' => isset($option['faux']) ? $option['faux'] : false, |
|
144 | + 'onchange' => !empty($option['onchange']) ? $option['onchange'] : '', |
|
145 | + 'custom' => !empty($option['custom']) ? $option['custom'] : '', |
|
146 | + 'class' => !empty($option['class']) ? $option['class'] : '', |
|
147 | + 'cols' => !empty($option['cols']) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
|
148 | + 'rows' => !empty($option['rows']) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5, |
|
149 | 149 | ) |
150 | 150 | ); |
151 | 151 | } |
@@ -153,203 +153,203 @@ discard block |
||
153 | 153 | } |
154 | 154 | |
155 | 155 | // Creates our settings in the options table |
156 | - register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' ); |
|
156 | + register_setting('wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize'); |
|
157 | 157 | } |
158 | -add_action( 'admin_init', 'wpinv_register_settings' ); |
|
158 | +add_action('admin_init', 'wpinv_register_settings'); |
|
159 | 159 | |
160 | 160 | function wpinv_get_registered_settings() { |
161 | - $pages = wpinv_get_pages( true ); |
|
161 | + $pages = wpinv_get_pages(true); |
|
162 | 162 | |
163 | 163 | $currencies = wpinv_get_currencies(); |
164 | 164 | |
165 | 165 | $currency_code_options = array(); |
166 | - foreach ( $currencies as $code => $name ) { |
|
167 | - $currency_code_options[ $code ] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol( $code ) . ')'; |
|
166 | + foreach ($currencies as $code => $name) { |
|
167 | + $currency_code_options[$code] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol($code) . ')'; |
|
168 | 168 | } |
169 | 169 | |
170 | 170 | $due_payment_options = array(); |
171 | - $due_payment_options[0] = __( 'Now', 'invoicing' ); |
|
172 | - for ( $i = 1; $i <= 30; $i++ ) { |
|
171 | + $due_payment_options[0] = __('Now', 'invoicing'); |
|
172 | + for ($i = 1; $i <= 30; $i++) { |
|
173 | 173 | $due_payment_options[$i] = $i; |
174 | 174 | } |
175 | 175 | |
176 | 176 | $invoice_number_padd_options = array(); |
177 | - for ( $i = 0; $i <= 20; $i++ ) { |
|
177 | + for ($i = 0; $i <= 20; $i++) { |
|
178 | 178 | $invoice_number_padd_options[$i] = $i; |
179 | 179 | } |
180 | 180 | |
181 | 181 | $currency_symbol = wpinv_currency_symbol(); |
182 | 182 | |
183 | 183 | $last_number = $reset_number = ''; |
184 | - if ( $last_invoice_number = get_option( 'wpinv_last_invoice_number' ) ) { |
|
185 | - $last_invoice_number = is_numeric( $last_invoice_number ) ? $last_invoice_number : wpinv_clean_invoice_number( $last_invoice_number ); |
|
184 | + if ($last_invoice_number = get_option('wpinv_last_invoice_number')) { |
|
185 | + $last_invoice_number = is_numeric($last_invoice_number) ? $last_invoice_number : wpinv_clean_invoice_number($last_invoice_number); |
|
186 | 186 | |
187 | - if ( !empty( $last_invoice_number ) ) { |
|
188 | - $last_number = ' ' . wp_sprintf( __( "( Last Invoice's sequential number: <b>%s</b> )", 'invoicing' ), $last_invoice_number ); |
|
187 | + if (!empty($last_invoice_number)) { |
|
188 | + $last_number = ' ' . wp_sprintf(__("( Last Invoice's sequential number: <b>%s</b> )", 'invoicing'), $last_invoice_number); |
|
189 | 189 | } |
190 | 190 | |
191 | 191 | $nonce = wp_create_nonce('reset_invoice_count'); |
192 | - $reset_number = '<a href="'.add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)).'" class="btn button">'.__('Force Reset Sequence', 'invoicing' ). '</a>'; |
|
192 | + $reset_number = '<a href="' . add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)) . '" class="btn button">' . __('Force Reset Sequence', 'invoicing') . '</a>'; |
|
193 | 193 | } |
194 | 194 | |
195 | 195 | $alert_wrapper_start = '<p style="color: #F00">'; |
196 | 196 | $alert_wrapper_close = '</p>'; |
197 | 197 | $wpinv_settings = array( |
198 | - 'general' => apply_filters( 'wpinv_settings_general', |
|
198 | + 'general' => apply_filters('wpinv_settings_general', |
|
199 | 199 | array( |
200 | 200 | 'main' => array( |
201 | 201 | 'location_settings' => array( |
202 | 202 | 'id' => 'location_settings', |
203 | - 'name' => '<h3>' . __( 'Default Location', 'invoicing' ) . '</h3>', |
|
203 | + 'name' => '<h3>' . __('Default Location', 'invoicing') . '</h3>', |
|
204 | 204 | 'desc' => '', |
205 | 205 | 'type' => 'header', |
206 | 206 | ), |
207 | 207 | 'default_country' => array( |
208 | 208 | 'id' => 'default_country', |
209 | - 'name' => __( 'Default Country', 'invoicing' ), |
|
210 | - 'desc' => __( 'Where does your store operate from?', 'invoicing' ), |
|
209 | + 'name' => __('Default Country', 'invoicing'), |
|
210 | + 'desc' => __('Where does your store operate from?', 'invoicing'), |
|
211 | 211 | 'type' => 'select', |
212 | 212 | 'options' => wpinv_get_country_list(), |
213 | 213 | 'std' => 'GB', |
214 | 214 | 'class' => 'wpi_select2', |
215 | - 'placeholder' => __( 'Select a country', 'invoicing' ), |
|
215 | + 'placeholder' => __('Select a country', 'invoicing'), |
|
216 | 216 | ), |
217 | 217 | 'default_state' => array( |
218 | 218 | 'id' => 'default_state', |
219 | - 'name' => __( 'Default State / Province', 'invoicing' ), |
|
220 | - 'desc' => __( 'What state / province does your store operate from?', 'invoicing' ), |
|
219 | + 'name' => __('Default State / Province', 'invoicing'), |
|
220 | + 'desc' => __('What state / province does your store operate from?', 'invoicing'), |
|
221 | 221 | 'type' => 'country_states', |
222 | 222 | 'class' => 'wpi_select2', |
223 | - 'placeholder' => __( 'Select a state', 'invoicing' ), |
|
223 | + 'placeholder' => __('Select a state', 'invoicing'), |
|
224 | 224 | ), |
225 | 225 | 'store_name' => array( |
226 | 226 | 'id' => 'store_name', |
227 | - 'name' => __( 'Store Name', 'invoicing' ), |
|
228 | - 'desc' => __( 'Store name to print on invoices.', 'invoicing' ), |
|
227 | + 'name' => __('Store Name', 'invoicing'), |
|
228 | + 'desc' => __('Store name to print on invoices.', 'invoicing'), |
|
229 | 229 | 'std' => get_option('blogname'), |
230 | 230 | 'type' => 'text', |
231 | 231 | ), |
232 | 232 | 'logo' => array( |
233 | 233 | 'id' => 'logo', |
234 | - 'name' => __( 'Logo URL', 'invoicing' ), |
|
235 | - 'desc' => __( 'Store logo to print on invoices.', 'invoicing' ), |
|
234 | + 'name' => __('Logo URL', 'invoicing'), |
|
235 | + 'desc' => __('Store logo to print on invoices.', 'invoicing'), |
|
236 | 236 | 'type' => 'text', |
237 | 237 | ), |
238 | 238 | 'store_address' => array( |
239 | 239 | 'id' => 'store_address', |
240 | - 'name' => __( 'Store Address', 'invoicing' ), |
|
241 | - 'desc' => __( 'Enter the store address to display on invoice', 'invoicing' ), |
|
240 | + 'name' => __('Store Address', 'invoicing'), |
|
241 | + 'desc' => __('Enter the store address to display on invoice', 'invoicing'), |
|
242 | 242 | 'type' => 'textarea', |
243 | 243 | ), |
244 | 244 | 'page_settings' => array( |
245 | 245 | 'id' => 'page_settings', |
246 | - 'name' => '<h3>' . __( 'Page Settings', 'invoicing' ) . '</h3>', |
|
246 | + 'name' => '<h3>' . __('Page Settings', 'invoicing') . '</h3>', |
|
247 | 247 | 'desc' => '', |
248 | 248 | 'type' => 'header', |
249 | 249 | ), |
250 | 250 | 'checkout_page' => array( |
251 | 251 | 'id' => 'checkout_page', |
252 | - 'name' => __( 'Checkout Page', 'invoicing' ), |
|
253 | - 'desc' => __( 'This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing' ), |
|
252 | + 'name' => __('Checkout Page', 'invoicing'), |
|
253 | + 'desc' => __('This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing'), |
|
254 | 254 | 'type' => 'select', |
255 | 255 | 'options' => $pages, |
256 | 256 | 'class' => 'wpi_select2', |
257 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
257 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
258 | 258 | ), |
259 | 259 | 'tandc_page' => array( |
260 | 260 | 'id' => 'tandc_page', |
261 | - 'name' => __( 'Terms & Conditions', 'invoicing' ), |
|
262 | - 'desc' => __( 'If you select a "Terms & Conditions" page here the customer will be asked to accept them on checkout.', 'invoicing' ), |
|
261 | + 'name' => __('Terms & Conditions', 'invoicing'), |
|
262 | + 'desc' => __('If you select a "Terms & Conditions" page here the customer will be asked to accept them on checkout.', 'invoicing'), |
|
263 | 263 | 'type' => 'select', |
264 | - 'options' => wpinv_get_pages( true, __( 'Select a page', 'invoicing' )), |
|
264 | + 'options' => wpinv_get_pages(true, __('Select a page', 'invoicing')), |
|
265 | 265 | 'class' => 'wpi_select2', |
266 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
266 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
267 | 267 | ), |
268 | 268 | 'success_page' => array( |
269 | 269 | 'id' => 'success_page', |
270 | - 'name' => __( 'Success Page', 'invoicing' ), |
|
271 | - 'desc' => __( 'This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing' ), |
|
270 | + 'name' => __('Success Page', 'invoicing'), |
|
271 | + 'desc' => __('This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing'), |
|
272 | 272 | 'type' => 'select', |
273 | 273 | 'options' => $pages, |
274 | 274 | 'class' => 'wpi_select2', |
275 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
275 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
276 | 276 | ), |
277 | 277 | 'failure_page' => array( |
278 | 278 | 'id' => 'failure_page', |
279 | - 'name' => __( 'Failed Transaction Page', 'invoicing' ), |
|
280 | - 'desc' => __( 'This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing' ), |
|
279 | + 'name' => __('Failed Transaction Page', 'invoicing'), |
|
280 | + 'desc' => __('This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing'), |
|
281 | 281 | 'type' => 'select', |
282 | 282 | 'options' => $pages, |
283 | 283 | 'class' => 'wpi_select2', |
284 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
284 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
285 | 285 | ), |
286 | 286 | 'invoice_history_page' => array( |
287 | 287 | 'id' => 'invoice_history_page', |
288 | - 'name' => __( 'Invoice History Page', 'invoicing' ), |
|
289 | - 'desc' => __( 'This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing' ), |
|
288 | + 'name' => __('Invoice History Page', 'invoicing'), |
|
289 | + 'desc' => __('This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing'), |
|
290 | 290 | 'type' => 'select', |
291 | 291 | 'options' => $pages, |
292 | 292 | 'class' => 'wpi_select2', |
293 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
293 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
294 | 294 | ), |
295 | 295 | 'invoice_subscription_page' => array( |
296 | 296 | 'id' => 'invoice_subscription_page', |
297 | - 'name' => __( 'Invoice Subscriptions Page', 'invoicing' ), |
|
298 | - 'desc' => __( 'This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing' ), |
|
297 | + 'name' => __('Invoice Subscriptions Page', 'invoicing'), |
|
298 | + 'desc' => __('This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing'), |
|
299 | 299 | 'type' => 'select', |
300 | 300 | 'options' => $pages, |
301 | 301 | 'class' => 'wpi_select2', |
302 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
302 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
303 | 303 | ), |
304 | 304 | ), |
305 | 305 | 'currency_section' => array( |
306 | 306 | 'currency_settings' => array( |
307 | 307 | 'id' => 'currency_settings', |
308 | - 'name' => '<h3>' . __( 'Currency Settings', 'invoicing' ) . '</h3>', |
|
308 | + 'name' => '<h3>' . __('Currency Settings', 'invoicing') . '</h3>', |
|
309 | 309 | 'desc' => '', |
310 | 310 | 'type' => 'header', |
311 | 311 | ), |
312 | 312 | 'currency' => array( |
313 | 313 | 'id' => 'currency', |
314 | - 'name' => __( 'Currency', 'invoicing' ), |
|
315 | - 'desc' => __( 'Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing' ), |
|
314 | + 'name' => __('Currency', 'invoicing'), |
|
315 | + 'desc' => __('Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing'), |
|
316 | 316 | 'type' => 'select', |
317 | 317 | 'class' => 'wpi_select2', |
318 | 318 | 'options' => $currency_code_options, |
319 | 319 | ), |
320 | 320 | 'currency_position' => array( |
321 | 321 | 'id' => 'currency_position', |
322 | - 'name' => __( 'Currency Position', 'invoicing' ), |
|
323 | - 'desc' => __( 'Choose the location of the currency sign.', 'invoicing' ), |
|
322 | + 'name' => __('Currency Position', 'invoicing'), |
|
323 | + 'desc' => __('Choose the location of the currency sign.', 'invoicing'), |
|
324 | 324 | 'type' => 'select', |
325 | 325 | 'class' => 'wpi_select2', |
326 | 326 | 'options' => array( |
327 | - 'left' => __( 'Left', 'invoicing' ) . ' (' . $currency_symbol . wpinv_format_amount( '99.99' ) . ')', |
|
328 | - 'right' => __( 'Right', 'invoicing' ) . ' ('. wpinv_format_amount( '99.99' ) . $currency_symbol . ')', |
|
329 | - 'left_space' => __( 'Left with space', 'invoicing' ) . ' (' . $currency_symbol . ' ' . wpinv_format_amount( '99.99' ) . ')', |
|
330 | - 'right_space' => __( 'Right with space', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . ' ' . $currency_symbol . ')' |
|
327 | + 'left' => __('Left', 'invoicing') . ' (' . $currency_symbol . wpinv_format_amount('99.99') . ')', |
|
328 | + 'right' => __('Right', 'invoicing') . ' (' . wpinv_format_amount('99.99') . $currency_symbol . ')', |
|
329 | + 'left_space' => __('Left with space', 'invoicing') . ' (' . $currency_symbol . ' ' . wpinv_format_amount('99.99') . ')', |
|
330 | + 'right_space' => __('Right with space', 'invoicing') . ' (' . wpinv_format_amount('99.99') . ' ' . $currency_symbol . ')' |
|
331 | 331 | ) |
332 | 332 | ), |
333 | 333 | 'thousands_separator' => array( |
334 | 334 | 'id' => 'thousands_separator', |
335 | - 'name' => __( 'Thousands Separator', 'invoicing' ), |
|
336 | - 'desc' => __( 'The symbol (usually , or .) to separate thousands', 'invoicing' ), |
|
335 | + 'name' => __('Thousands Separator', 'invoicing'), |
|
336 | + 'desc' => __('The symbol (usually , or .) to separate thousands', 'invoicing'), |
|
337 | 337 | 'type' => 'text', |
338 | 338 | 'size' => 'small', |
339 | 339 | 'std' => ',', |
340 | 340 | ), |
341 | 341 | 'decimal_separator' => array( |
342 | 342 | 'id' => 'decimal_separator', |
343 | - 'name' => __( 'Decimal Separator', 'invoicing' ), |
|
344 | - 'desc' => __( 'The symbol (usually , or .) to separate decimal points', 'invoicing' ), |
|
343 | + 'name' => __('Decimal Separator', 'invoicing'), |
|
344 | + 'desc' => __('The symbol (usually , or .) to separate decimal points', 'invoicing'), |
|
345 | 345 | 'type' => 'text', |
346 | 346 | 'size' => 'small', |
347 | 347 | 'std' => '.', |
348 | 348 | ), |
349 | 349 | 'decimals' => array( |
350 | 350 | 'id' => 'decimals', |
351 | - 'name' => __( 'Number of Decimals', 'invoicing' ), |
|
352 | - 'desc' => __( 'This sets the number of decimal points shown in displayed prices.', 'invoicing' ), |
|
351 | + 'name' => __('Number of Decimals', 'invoicing'), |
|
352 | + 'desc' => __('This sets the number of decimal points shown in displayed prices.', 'invoicing'), |
|
353 | 353 | 'type' => 'number', |
354 | 354 | 'size' => 'small', |
355 | 355 | 'std' => '2', |
@@ -361,60 +361,60 @@ discard block |
||
361 | 361 | 'labels' => array( |
362 | 362 | 'labels' => array( |
363 | 363 | 'id' => 'labels_settings', |
364 | - 'name' => '<h3>' . __( 'Invoice Labels', 'invoicing' ) . '</h3>', |
|
364 | + 'name' => '<h3>' . __('Invoice Labels', 'invoicing') . '</h3>', |
|
365 | 365 | 'desc' => '', |
366 | 366 | 'type' => 'header', |
367 | 367 | ), |
368 | 368 | 'vat_name' => array( |
369 | 369 | 'id' => 'vat_name', |
370 | - 'name' => __( 'VAT Name', 'invoicing' ), |
|
371 | - 'desc' => __( 'Enter the VAT name', 'invoicing' ), |
|
370 | + 'name' => __('VAT Name', 'invoicing'), |
|
371 | + 'desc' => __('Enter the VAT name', 'invoicing'), |
|
372 | 372 | 'type' => 'text', |
373 | 373 | 'size' => 'regular', |
374 | 374 | 'std' => 'VAT' |
375 | 375 | ), |
376 | 376 | 'vat_invoice_notice_label' => array( |
377 | 377 | 'id' => 'vat_invoice_notice_label', |
378 | - 'name' => __( 'Invoice Notice Label', 'invoicing' ), |
|
379 | - 'desc' => __( 'Use this to add an invoice notice section (label) to your invoices', 'invoicing' ), |
|
378 | + 'name' => __('Invoice Notice Label', 'invoicing'), |
|
379 | + 'desc' => __('Use this to add an invoice notice section (label) to your invoices', 'invoicing'), |
|
380 | 380 | 'type' => 'text', |
381 | 381 | 'size' => 'regular', |
382 | 382 | ), |
383 | 383 | 'vat_invoice_notice' => array( |
384 | 384 | 'id' => 'vat_invoice_notice', |
385 | - 'name' => __( 'Invoice notice', 'invoicing' ), |
|
386 | - 'desc' => __( 'Use this to add an invoice notice section (description) to your invoices', 'invoicing' ), |
|
385 | + 'name' => __('Invoice notice', 'invoicing'), |
|
386 | + 'desc' => __('Use this to add an invoice notice section (description) to your invoices', 'invoicing'), |
|
387 | 387 | 'type' => 'text', |
388 | 388 | 'size' => 'regular', |
389 | 389 | ), |
390 | 390 | 'name_your_price' => array( |
391 | 391 | 'id' => 'name_your_price_settings', |
392 | - 'name' => '<h3>' . __( 'Name Your Price', 'invoicing' ) . '</h3>', |
|
392 | + 'name' => '<h3>' . __('Name Your Price', 'invoicing') . '</h3>', |
|
393 | 393 | 'desc' => '', |
394 | 394 | 'type' => 'header', |
395 | 395 | ), |
396 | 396 | 'suggested_price_text' => array( |
397 | 397 | 'id' => 'suggested_price_text', |
398 | - 'name' => __( 'Suggested Price Text', 'invoicing' ), |
|
399 | - 'desc' => __( "The label used to indicate an item's suggested price", 'invoicing' ), |
|
398 | + 'name' => __('Suggested Price Text', 'invoicing'), |
|
399 | + 'desc' => __("The label used to indicate an item's suggested price", 'invoicing'), |
|
400 | 400 | 'type' => 'text', |
401 | 401 | 'size' => 'regular', |
402 | - 'std' => __( 'Suggested Price:', 'invoicing' ), |
|
402 | + 'std' => __('Suggested Price:', 'invoicing'), |
|
403 | 403 | ), |
404 | 404 | 'minimum_price_text' => array( |
405 | 405 | 'id' => 'minimum_price_text', |
406 | - 'name' => __( 'Minimum Price Text', 'invoicing' ), |
|
407 | - 'desc' => __( "The label used to indicate an item's minimum price", 'invoicing' ), |
|
406 | + 'name' => __('Minimum Price Text', 'invoicing'), |
|
407 | + 'desc' => __("The label used to indicate an item's minimum price", 'invoicing'), |
|
408 | 408 | 'type' => 'text', |
409 | 409 | 'size' => 'regular', |
410 | - 'std' => __( 'Minimum Price:', 'invoicing' ), |
|
410 | + 'std' => __('Minimum Price:', 'invoicing'), |
|
411 | 411 | ), |
412 | 412 | 'name_your_price_text' => array( |
413 | 413 | 'id' => 'name_your_price_text', |
414 | - 'name' => __( 'Name Your Price Text', 'invoicing' ), |
|
414 | + 'name' => __('Name Your Price Text', 'invoicing'), |
|
415 | 415 | 'type' => 'text', |
416 | 416 | 'size' => 'regular', |
417 | - 'std' => __( 'Name Your Price', 'invoicing' ), |
|
417 | + 'std' => __('Name Your Price', 'invoicing'), |
|
418 | 418 | ), |
419 | 419 | ) |
420 | 420 | ) |
@@ -424,22 +424,22 @@ discard block |
||
424 | 424 | 'main' => array( |
425 | 425 | 'gateway_settings' => array( |
426 | 426 | 'id' => 'api_header', |
427 | - 'name' => '<h3>' . __( 'Gateway Settings', 'invoicing' ) . '</h3>', |
|
427 | + 'name' => '<h3>' . __('Gateway Settings', 'invoicing') . '</h3>', |
|
428 | 428 | 'desc' => '', |
429 | 429 | 'type' => 'header', |
430 | 430 | ), |
431 | 431 | 'gateways' => array( |
432 | 432 | 'id' => 'gateways', |
433 | - 'name' => __( 'Payment Gateways', 'invoicing' ), |
|
434 | - 'desc' => __( 'Choose the payment gateways you want to enable.', 'invoicing' ), |
|
433 | + 'name' => __('Payment Gateways', 'invoicing'), |
|
434 | + 'desc' => __('Choose the payment gateways you want to enable.', 'invoicing'), |
|
435 | 435 | 'type' => 'gateways', |
436 | 436 | 'std' => array('manual'=>1), |
437 | 437 | 'options' => wpinv_get_payment_gateways(), |
438 | 438 | ), |
439 | 439 | 'default_gateway' => array( |
440 | 440 | 'id' => 'default_gateway', |
441 | - 'name' => __( 'Default Gateway', 'invoicing' ), |
|
442 | - 'desc' => __( 'This gateway will be loaded automatically with the checkout page.', 'invoicing' ), |
|
441 | + 'name' => __('Default Gateway', 'invoicing'), |
|
442 | + 'desc' => __('This gateway will be loaded automatically with the checkout page.', 'invoicing'), |
|
443 | 443 | 'type' => 'gateway_select', |
444 | 444 | 'std' => 'manual', |
445 | 445 | 'class' => 'wpi_select2', |
@@ -454,19 +454,19 @@ discard block |
||
454 | 454 | 'main' => array( |
455 | 455 | 'tax_settings' => array( |
456 | 456 | 'id' => 'tax_settings', |
457 | - 'name' => '<h3>' . __( 'Tax Settings', 'invoicing' ) . '</h3>', |
|
457 | + 'name' => '<h3>' . __('Tax Settings', 'invoicing') . '</h3>', |
|
458 | 458 | 'type' => 'header', |
459 | 459 | ), |
460 | 460 | 'enable_taxes' => array( |
461 | 461 | 'id' => 'enable_taxes', |
462 | - 'name' => __( 'Enable Taxes', 'invoicing' ), |
|
463 | - 'desc' => __( 'Check this to enable taxes on invoices.', 'invoicing' ), |
|
462 | + 'name' => __('Enable Taxes', 'invoicing'), |
|
463 | + 'desc' => __('Check this to enable taxes on invoices.', 'invoicing'), |
|
464 | 464 | 'type' => 'checkbox', |
465 | 465 | ), |
466 | 466 | 'tax_rate' => array( |
467 | 467 | 'id' => 'tax_rate', |
468 | - 'name' => __( 'Fallback Tax Rate', 'invoicing' ), |
|
469 | - 'desc' => __( 'Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing' ), |
|
468 | + 'name' => __('Fallback Tax Rate', 'invoicing'), |
|
469 | + 'desc' => __('Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing'), |
|
470 | 470 | 'type' => 'number', |
471 | 471 | 'size' => 'small', |
472 | 472 | 'min' => '0', |
@@ -478,8 +478,8 @@ discard block |
||
478 | 478 | 'rates' => array( |
479 | 479 | 'tax_rates' => array( |
480 | 480 | 'id' => 'tax_rates', |
481 | - 'name' => '<h3>' . __( 'Tax Rates', 'invoicing' ) . '</h3>', |
|
482 | - 'desc' => __( 'Enter tax rates for specific regions.', 'invoicing' ), |
|
481 | + 'name' => '<h3>' . __('Tax Rates', 'invoicing') . '</h3>', |
|
482 | + 'desc' => __('Enter tax rates for specific regions.', 'invoicing'), |
|
483 | 483 | 'type' => 'tax_rates', |
484 | 484 | ), |
485 | 485 | ) |
@@ -491,68 +491,68 @@ discard block |
||
491 | 491 | 'main' => array( |
492 | 492 | 'email_settings_header' => array( |
493 | 493 | 'id' => 'email_settings_header', |
494 | - 'name' => '<h3>' . __( 'Email Sender Options', 'invoicing' ) . '</h3>', |
|
494 | + 'name' => '<h3>' . __('Email Sender Options', 'invoicing') . '</h3>', |
|
495 | 495 | 'type' => 'header', |
496 | 496 | ), |
497 | 497 | 'email_from_name' => array( |
498 | 498 | 'id' => 'email_from_name', |
499 | - 'name' => __( 'From Name', 'invoicing' ), |
|
500 | - 'desc' => __( 'Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing' ), |
|
501 | - 'std' => esc_attr( get_bloginfo( 'name', 'display' ) ), |
|
499 | + 'name' => __('From Name', 'invoicing'), |
|
500 | + 'desc' => __('Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing'), |
|
501 | + 'std' => esc_attr(get_bloginfo('name', 'display')), |
|
502 | 502 | 'type' => 'text', |
503 | 503 | ), |
504 | 504 | 'email_from' => array( |
505 | 505 | 'id' => 'email_from', |
506 | - 'name' => __( 'From Email', 'invoicing' ), |
|
507 | - 'desc' => sprintf (__( 'Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing' ), $alert_wrapper_start, $alert_wrapper_close), |
|
508 | - 'std' => get_option( 'admin_email' ), |
|
506 | + 'name' => __('From Email', 'invoicing'), |
|
507 | + 'desc' => sprintf(__('Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing'), $alert_wrapper_start, $alert_wrapper_close), |
|
508 | + 'std' => get_option('admin_email'), |
|
509 | 509 | 'type' => 'text', |
510 | 510 | ), |
511 | 511 | 'admin_email' => array( |
512 | 512 | 'id' => 'admin_email', |
513 | - 'name' => __( 'Admin Email', 'invoicing' ), |
|
514 | - 'desc' => __( 'Where should we send admin notifications?', 'invoicing' ), |
|
515 | - 'std' => get_option( 'admin_email' ), |
|
513 | + 'name' => __('Admin Email', 'invoicing'), |
|
514 | + 'desc' => __('Where should we send admin notifications?', 'invoicing'), |
|
515 | + 'std' => get_option('admin_email'), |
|
516 | 516 | 'type' => 'text', |
517 | 517 | ), |
518 | 518 | 'overdue_settings_header' => array( |
519 | 519 | 'id' => 'overdue_settings_header', |
520 | - 'name' => '<h3>' . __( 'Due Date Settings', 'invoicing' ) . '</h3>', |
|
520 | + 'name' => '<h3>' . __('Due Date Settings', 'invoicing') . '</h3>', |
|
521 | 521 | 'type' => 'header', |
522 | 522 | ), |
523 | 523 | 'overdue_active' => array( |
524 | 524 | 'id' => 'overdue_active', |
525 | - 'name' => __( 'Enable Due Date', 'invoicing' ), |
|
526 | - 'desc' => __( 'Check this to enable due date option for invoices.', 'invoicing' ), |
|
525 | + 'name' => __('Enable Due Date', 'invoicing'), |
|
526 | + 'desc' => __('Check this to enable due date option for invoices.', 'invoicing'), |
|
527 | 527 | 'type' => 'checkbox', |
528 | 528 | 'std' => false, |
529 | 529 | ), |
530 | 530 | 'overdue_days' => array( |
531 | 531 | 'id' => 'overdue_days', |
532 | - 'name' => __( 'Default Due Date', 'invoicing' ), |
|
533 | - 'desc' => __( 'Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing' ), |
|
532 | + 'name' => __('Default Due Date', 'invoicing'), |
|
533 | + 'desc' => __('Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing'), |
|
534 | 534 | 'type' => 'select', |
535 | 535 | 'options' => $due_payment_options, |
536 | 536 | 'std' => 0, |
537 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
537 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
538 | 538 | ), |
539 | 539 | 'email_template_header' => array( |
540 | 540 | 'id' => 'email_template_header', |
541 | - 'name' => '<h3>' . __( 'Email Template', 'invoicing' ) . '</h3>', |
|
541 | + 'name' => '<h3>' . __('Email Template', 'invoicing') . '</h3>', |
|
542 | 542 | 'type' => 'header', |
543 | 543 | ), |
544 | 544 | 'email_header_image' => array( |
545 | 545 | 'id' => 'email_header_image', |
546 | - 'name' => __( 'Header Image', 'invoicing' ), |
|
547 | - 'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing' ), |
|
546 | + 'name' => __('Header Image', 'invoicing'), |
|
547 | + 'desc' => __('URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing'), |
|
548 | 548 | 'std' => '', |
549 | 549 | 'type' => 'text', |
550 | 550 | ), |
551 | 551 | 'email_footer_text' => array( |
552 | 552 | 'id' => 'email_footer_text', |
553 | - 'name' => __( 'Footer Text', 'invoicing' ), |
|
554 | - 'desc' => __( 'The text to appear in the footer of all invoice emails.', 'invoicing' ), |
|
555 | - 'std' => get_bloginfo( 'name', 'display' ) . ' - ' . __( 'Powered by GeoDirectory', 'invoicing' ), |
|
553 | + 'name' => __('Footer Text', 'invoicing'), |
|
554 | + 'desc' => __('The text to appear in the footer of all invoice emails.', 'invoicing'), |
|
555 | + 'std' => get_bloginfo('name', 'display') . ' - ' . __('Powered by GeoDirectory', 'invoicing'), |
|
556 | 556 | 'type' => 'textarea', |
557 | 557 | 'class' => 'regular-text', |
558 | 558 | 'rows' => 2, |
@@ -560,29 +560,29 @@ discard block |
||
560 | 560 | ), |
561 | 561 | 'email_base_color' => array( |
562 | 562 | 'id' => 'email_base_color', |
563 | - 'name' => __( 'Base Color', 'invoicing' ), |
|
564 | - 'desc' => __( 'The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing' ), |
|
563 | + 'name' => __('Base Color', 'invoicing'), |
|
564 | + 'desc' => __('The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing'), |
|
565 | 565 | 'std' => '#557da2', |
566 | 566 | 'type' => 'color', |
567 | 567 | ), |
568 | 568 | 'email_background_color' => array( |
569 | 569 | 'id' => 'email_background_color', |
570 | - 'name' => __( 'Background Color', 'invoicing' ), |
|
571 | - 'desc' => __( 'The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing' ), |
|
570 | + 'name' => __('Background Color', 'invoicing'), |
|
571 | + 'desc' => __('The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing'), |
|
572 | 572 | 'std' => '#f5f5f5', |
573 | 573 | 'type' => 'color', |
574 | 574 | ), |
575 | 575 | 'email_body_background_color' => array( |
576 | 576 | 'id' => 'email_body_background_color', |
577 | - 'name' => __( 'Body Background Color', 'invoicing' ), |
|
578 | - 'desc' => __( 'The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing' ), |
|
577 | + 'name' => __('Body Background Color', 'invoicing'), |
|
578 | + 'desc' => __('The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing'), |
|
579 | 579 | 'std' => '#fdfdfd', |
580 | 580 | 'type' => 'color', |
581 | 581 | ), |
582 | 582 | 'email_text_color' => array( |
583 | 583 | 'id' => 'email_text_color', |
584 | - 'name' => __( 'Body Text Color', 'invoicing' ), |
|
585 | - 'desc' => __( 'The main body text color. Default <code>#505050</code>.', 'invoicing' ), |
|
584 | + 'name' => __('Body Text Color', 'invoicing'), |
|
585 | + 'desc' => __('The main body text color. Default <code>#505050</code>.', 'invoicing'), |
|
586 | 586 | 'std' => '#505050', |
587 | 587 | 'type' => 'color', |
588 | 588 | ), |
@@ -601,26 +601,26 @@ discard block |
||
601 | 601 | 'main' => array( |
602 | 602 | 'invoicing_privacy_policy_settings' => array( |
603 | 603 | 'id' => 'invoicing_privacy_policy_settings', |
604 | - 'name' => '<h3>' . __( 'Privacy Policy', 'invoicing' ) . '</h3>', |
|
604 | + 'name' => '<h3>' . __('Privacy Policy', 'invoicing') . '</h3>', |
|
605 | 605 | 'type' => 'header', |
606 | 606 | ), |
607 | 607 | 'privacy_page' => array( |
608 | 608 | 'id' => 'privacy_page', |
609 | - 'name' => __( 'Privacy Page', 'invoicing' ), |
|
610 | - 'desc' => __( 'If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing' ), |
|
609 | + 'name' => __('Privacy Page', 'invoicing'), |
|
610 | + 'desc' => __('If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing'), |
|
611 | 611 | 'type' => 'select', |
612 | - 'options' => wpinv_get_pages( true, __( 'Select a page', 'invoicing' )), |
|
612 | + 'options' => wpinv_get_pages(true, __('Select a page', 'invoicing')), |
|
613 | 613 | 'class' => 'wpi_select2', |
614 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
614 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
615 | 615 | ), |
616 | 616 | 'invoicing_privacy_checkout_message' => array( |
617 | 617 | 'id' => 'invoicing_privacy_checkout_message', |
618 | - 'name' => __( 'Checkout privacy policy', 'invoicing' ), |
|
619 | - 'desc' => __( 'Optionally add privacy policy message which will display on checkout page.', 'invoicing' ), |
|
618 | + 'name' => __('Checkout privacy policy', 'invoicing'), |
|
619 | + 'desc' => __('Optionally add privacy policy message which will display on checkout page.', 'invoicing'), |
|
620 | 620 | 'type' => 'textarea', |
621 | 621 | 'class'=> 'regular-text', |
622 | 622 | 'rows' => 4, |
623 | - 'std' => sprintf( __( 'Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing' ), '[wpinv_privacy_policy]' ), |
|
623 | + 'std' => sprintf(__('Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing'), '[wpinv_privacy_policy]'), |
|
624 | 624 | ), |
625 | 625 | ), |
626 | 626 | ) |
@@ -631,19 +631,19 @@ discard block |
||
631 | 631 | 'main' => array( |
632 | 632 | 'invoice_number_format_settings' => array( |
633 | 633 | 'id' => 'invoice_number_format_settings', |
634 | - 'name' => '<h3>' . __( 'Invoice Number', 'invoicing' ) . '</h3>', |
|
634 | + 'name' => '<h3>' . __('Invoice Number', 'invoicing') . '</h3>', |
|
635 | 635 | 'type' => 'header', |
636 | 636 | ), |
637 | 637 | 'sequential_invoice_number' => array( |
638 | 638 | 'id' => 'sequential_invoice_number', |
639 | - 'name' => __( 'Sequential Invoice Numbers', 'invoicing' ), |
|
640 | - 'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing' ) . $reset_number, |
|
639 | + 'name' => __('Sequential Invoice Numbers', 'invoicing'), |
|
640 | + 'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing') . $reset_number, |
|
641 | 641 | 'type' => 'checkbox', |
642 | 642 | ), |
643 | 643 | 'invoice_sequence_start' => array( |
644 | 644 | 'id' => 'invoice_sequence_start', |
645 | - 'name' => __( 'Sequential Starting Number', 'invoicing' ), |
|
646 | - 'desc' => __( 'The number at which the invoice number sequence should begin.', 'invoicing' ) . $last_number, |
|
645 | + 'name' => __('Sequential Starting Number', 'invoicing'), |
|
646 | + 'desc' => __('The number at which the invoice number sequence should begin.', 'invoicing') . $last_number, |
|
647 | 647 | 'type' => 'number', |
648 | 648 | 'size' => 'small', |
649 | 649 | 'std' => '1', |
@@ -651,8 +651,8 @@ discard block |
||
651 | 651 | ), |
652 | 652 | 'invoice_number_padd' => array( |
653 | 653 | 'id' => 'invoice_number_padd', |
654 | - 'name' => __( 'Minimum Digits', 'invoicing' ), |
|
655 | - 'desc' => __( 'If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing' ), |
|
654 | + 'name' => __('Minimum Digits', 'invoicing'), |
|
655 | + 'desc' => __('If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing'), |
|
656 | 656 | 'type' => 'select', |
657 | 657 | 'options' => $invoice_number_padd_options, |
658 | 658 | 'std' => 5, |
@@ -660,8 +660,8 @@ discard block |
||
660 | 660 | ), |
661 | 661 | 'invoice_number_prefix' => array( |
662 | 662 | 'id' => 'invoice_number_prefix', |
663 | - 'name' => __( 'Invoice Number Prefix', 'invoicing' ), |
|
664 | - 'desc' => __( 'Prefix for all invoice numbers. Ex: WPINV-', 'invoicing' ), |
|
663 | + 'name' => __('Invoice Number Prefix', 'invoicing'), |
|
664 | + 'desc' => __('Prefix for all invoice numbers. Ex: WPINV-', 'invoicing'), |
|
665 | 665 | 'type' => 'text', |
666 | 666 | 'size' => 'regular', |
667 | 667 | 'std' => 'WPINV-', |
@@ -669,32 +669,32 @@ discard block |
||
669 | 669 | ), |
670 | 670 | 'invoice_number_postfix' => array( |
671 | 671 | 'id' => 'invoice_number_postfix', |
672 | - 'name' => __( 'Invoice Number Postfix', 'invoicing' ), |
|
673 | - 'desc' => __( 'Postfix for all invoice numbers.', 'invoicing' ), |
|
672 | + 'name' => __('Invoice Number Postfix', 'invoicing'), |
|
673 | + 'desc' => __('Postfix for all invoice numbers.', 'invoicing'), |
|
674 | 674 | 'type' => 'text', |
675 | 675 | 'size' => 'regular', |
676 | 676 | 'std' => '' |
677 | 677 | ), |
678 | 678 | 'checkout_settings' => array( |
679 | 679 | 'id' => 'checkout_settings', |
680 | - 'name' => '<h3>' . __( 'Checkout Settings', 'invoicing' ) . '</h3>', |
|
680 | + 'name' => '<h3>' . __('Checkout Settings', 'invoicing') . '</h3>', |
|
681 | 681 | 'type' => 'header', |
682 | 682 | ), |
683 | 683 | 'login_to_checkout' => array( |
684 | 684 | 'id' => 'login_to_checkout', |
685 | - 'name' => __( 'Require Login To Checkout', 'invoicing' ), |
|
686 | - 'desc' => __( 'If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing' ), |
|
685 | + 'name' => __('Require Login To Checkout', 'invoicing'), |
|
686 | + 'desc' => __('If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing'), |
|
687 | 687 | 'type' => 'checkbox', |
688 | 688 | ), |
689 | 689 | 'uninstall_settings' => array( |
690 | 690 | 'id' => 'uninstall_settings', |
691 | - 'name' => '<h3>' . __( 'Uninstall Settings', 'invoicing' ) . '</h3>', |
|
691 | + 'name' => '<h3>' . __('Uninstall Settings', 'invoicing') . '</h3>', |
|
692 | 692 | 'type' => 'header', |
693 | 693 | ), |
694 | 694 | 'remove_data_on_unistall' => array( |
695 | 695 | 'id' => 'remove_data_on_unistall', |
696 | - 'name' => __( 'Remove Data on Uninstall?', 'invoicing' ), |
|
697 | - 'desc' => __( 'Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing' ), |
|
696 | + 'name' => __('Remove Data on Uninstall?', 'invoicing'), |
|
697 | + 'desc' => __('Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing'), |
|
698 | 698 | 'type' => 'checkbox', |
699 | 699 | 'std' => '' |
700 | 700 | ), |
@@ -702,80 +702,80 @@ discard block |
||
702 | 702 | 'fields' => array( |
703 | 703 | 'fields_settings' => array( |
704 | 704 | 'id' => 'fields_settings', |
705 | - 'name' => '<h3>' . __( 'Address Fields', 'invoicing' ) . '</h3>', |
|
706 | - 'desc' => __( 'Tick fields which are mandatory in invoice address fields.', 'invoicing' ), |
|
705 | + 'name' => '<h3>' . __('Address Fields', 'invoicing') . '</h3>', |
|
706 | + 'desc' => __('Tick fields which are mandatory in invoice address fields.', 'invoicing'), |
|
707 | 707 | 'type' => 'header', |
708 | 708 | ), |
709 | 709 | 'fname_mandatory' => array( |
710 | 710 | 'id' => 'fname_mandatory', |
711 | - 'name' => __( 'First Name', 'invoicing' ), |
|
711 | + 'name' => __('First Name', 'invoicing'), |
|
712 | 712 | 'type' => 'checkbox', |
713 | 713 | 'std' => true, |
714 | 714 | ), |
715 | 715 | 'lname_mandatory' => array( |
716 | 716 | 'id' => 'lname_mandatory', |
717 | - 'name' => __( 'Last Name', 'invoicing' ), |
|
717 | + 'name' => __('Last Name', 'invoicing'), |
|
718 | 718 | 'type' => 'checkbox', |
719 | 719 | 'std' => true, |
720 | 720 | ), |
721 | 721 | 'address_mandatory' => array( |
722 | 722 | 'id' => 'address_mandatory', |
723 | - 'name' => __( 'Address', 'invoicing' ), |
|
723 | + 'name' => __('Address', 'invoicing'), |
|
724 | 724 | 'type' => 'checkbox', |
725 | 725 | 'std' => true, |
726 | 726 | ), |
727 | 727 | 'city_mandatory' => array( |
728 | 728 | 'id' => 'city_mandatory', |
729 | - 'name' => __( 'City', 'invoicing' ), |
|
729 | + 'name' => __('City', 'invoicing'), |
|
730 | 730 | 'type' => 'checkbox', |
731 | 731 | 'std' => true, |
732 | 732 | ), |
733 | 733 | 'country_mandatory' => array( |
734 | 734 | 'id' => 'country_mandatory', |
735 | - 'name' => __( 'Country', 'invoicing' ), |
|
735 | + 'name' => __('Country', 'invoicing'), |
|
736 | 736 | 'type' => 'checkbox', |
737 | 737 | 'std' => true, |
738 | 738 | ), |
739 | 739 | 'state_mandatory' => array( |
740 | 740 | 'id' => 'state_mandatory', |
741 | - 'name' => __( 'State / Province', 'invoicing' ), |
|
741 | + 'name' => __('State / Province', 'invoicing'), |
|
742 | 742 | 'type' => 'checkbox', |
743 | 743 | 'std' => true, |
744 | 744 | ), |
745 | 745 | 'zip_mandatory' => array( |
746 | 746 | 'id' => 'zip_mandatory', |
747 | - 'name' => __( 'ZIP / Postcode', 'invoicing' ), |
|
747 | + 'name' => __('ZIP / Postcode', 'invoicing'), |
|
748 | 748 | 'type' => 'checkbox', |
749 | 749 | 'std' => true, |
750 | 750 | ), |
751 | 751 | 'phone_mandatory' => array( |
752 | 752 | 'id' => 'phone_mandatory', |
753 | - 'name' => __( 'Phone Number', 'invoicing' ), |
|
753 | + 'name' => __('Phone Number', 'invoicing'), |
|
754 | 754 | 'type' => 'checkbox', |
755 | 755 | 'std' => true, |
756 | 756 | ), |
757 | 757 | 'force_show_company' => array( |
758 | 758 | 'id' => 'force_show_company', |
759 | - 'name' => __( 'Force show company name at checkout.', 'invoicing' ), |
|
759 | + 'name' => __('Force show company name at checkout.', 'invoicing'), |
|
760 | 760 | 'type' => 'checkbox', |
761 | 761 | 'std' => false, |
762 | 762 | ), |
763 | 763 | 'address_autofill_settings' => array( |
764 | 764 | 'id' => 'address_autofill_settings', |
765 | - 'name' => '<h3>' . __( 'Google Address Auto Complete', 'invoicing' ) . '</h3>', |
|
765 | + 'name' => '<h3>' . __('Google Address Auto Complete', 'invoicing') . '</h3>', |
|
766 | 766 | 'type' => 'header', |
767 | 767 | ), |
768 | 768 | 'address_autofill_active' => array( |
769 | 769 | 'id' => 'address_autofill_active', |
770 | - 'name' => __( 'Enable/Disable', 'invoicing' ), |
|
771 | - 'desc' => __( 'Enable google address auto complete', 'invoicing' ), |
|
770 | + 'name' => __('Enable/Disable', 'invoicing'), |
|
771 | + 'desc' => __('Enable google address auto complete', 'invoicing'), |
|
772 | 772 | 'type' => 'checkbox', |
773 | 773 | 'std' => 0 |
774 | 774 | ), |
775 | 775 | 'address_autofill_api' => array( |
776 | 776 | 'id' => 'address_autofill_api', |
777 | - 'name' => __( 'Google Place API Key', 'invoicing' ), |
|
778 | - 'desc' => wp_sprintf(__( 'Enter google place API key. For more information go to google place API %sdocumenation%s', 'invoicing' ), '<a href="https://developers.google.com/maps/documentation/javascript/places-autocomplete" target="_blank">', '</a>' ), |
|
777 | + 'name' => __('Google Place API Key', 'invoicing'), |
|
778 | + 'desc' => wp_sprintf(__('Enter google place API key. For more information go to google place API %sdocumenation%s', 'invoicing'), '<a href="https://developers.google.com/maps/documentation/javascript/places-autocomplete" target="_blank">', '</a>'), |
|
779 | 779 | 'type' => 'text', |
780 | 780 | 'size' => 'regular', |
781 | 781 | 'std' => '' |
@@ -784,13 +784,13 @@ discard block |
||
784 | 784 | 'custom-css' => array( |
785 | 785 | 'css_settings' => array( |
786 | 786 | 'id' => 'css_settings', |
787 | - 'name' => '<h3>' . __( 'Custom CSS', 'invoicing' ) . '</h3>', |
|
787 | + 'name' => '<h3>' . __('Custom CSS', 'invoicing') . '</h3>', |
|
788 | 788 | 'type' => 'header', |
789 | 789 | ), |
790 | 790 | 'template_custom_css' => array( |
791 | 791 | 'id' => 'template_custom_css', |
792 | - 'name' => __( 'Invoice Template CSS', 'invoicing' ), |
|
793 | - 'desc' => __( 'Add CSS to modify appearance of the print invoice page.', 'invoicing' ), |
|
792 | + 'name' => __('Invoice Template CSS', 'invoicing'), |
|
793 | + 'desc' => __('Add CSS to modify appearance of the print invoice page.', 'invoicing'), |
|
794 | 794 | 'type' => 'textarea', |
795 | 795 | 'class'=> 'regular-text', |
796 | 796 | 'rows' => 10, |
@@ -804,8 +804,8 @@ discard block |
||
804 | 804 | 'main' => array( |
805 | 805 | 'tool_settings' => array( |
806 | 806 | 'id' => 'tool_settings', |
807 | - 'name' => '<h3>' . __( 'Diagnostic Tools', 'invoicing' ) . '</h3>', |
|
808 | - 'desc' => __( 'Invoicing diagnostic tools', 'invoicing' ), |
|
807 | + 'name' => '<h3>' . __('Diagnostic Tools', 'invoicing') . '</h3>', |
|
808 | + 'desc' => __('Invoicing diagnostic tools', 'invoicing'), |
|
809 | 809 | 'type' => 'tools', |
810 | 810 | ), |
811 | 811 | ), |
@@ -813,136 +813,136 @@ discard block |
||
813 | 813 | ) |
814 | 814 | ); |
815 | 815 | |
816 | - return apply_filters( 'wpinv_registered_settings', $wpinv_settings ); |
|
816 | + return apply_filters('wpinv_registered_settings', $wpinv_settings); |
|
817 | 817 | } |
818 | 818 | |
819 | -function wpinv_settings_sanitize( $input = array() ) { |
|
819 | +function wpinv_settings_sanitize($input = array()) { |
|
820 | 820 | global $wpinv_options; |
821 | 821 | |
822 | - if ( empty( wp_get_raw_referer() ) ) { |
|
822 | + if (empty(wp_get_raw_referer())) { |
|
823 | 823 | return $input; |
824 | 824 | } |
825 | 825 | |
826 | - wp_parse_str( wp_get_raw_referer(), $referrer ); |
|
826 | + wp_parse_str(wp_get_raw_referer(), $referrer); |
|
827 | 827 | |
828 | 828 | $settings = wpinv_get_registered_settings(); |
829 | - $tab = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general'; |
|
830 | - $section = isset( $referrer['section'] ) ? $referrer['section'] : 'main'; |
|
829 | + $tab = isset($referrer['tab']) ? $referrer['tab'] : 'general'; |
|
830 | + $section = isset($referrer['section']) ? $referrer['section'] : 'main'; |
|
831 | 831 | |
832 | 832 | $input = $input ? $input : array(); |
833 | - $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input ); |
|
834 | - $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input ); |
|
833 | + $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input); |
|
834 | + $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input); |
|
835 | 835 | |
836 | 836 | // Loop through each setting being saved and pass it through a sanitization filter |
837 | - foreach ( $input as $key => $value ) { |
|
837 | + foreach ($input as $key => $value) { |
|
838 | 838 | // Get the setting type (checkbox, select, etc) |
839 | - $type = isset( $settings[ $tab ][ $key ]['type'] ) ? $settings[ $tab ][ $key ]['type'] : false; |
|
839 | + $type = isset($settings[$tab][$key]['type']) ? $settings[$tab][$key]['type'] : false; |
|
840 | 840 | |
841 | - if ( $type ) { |
|
841 | + if ($type) { |
|
842 | 842 | // Field type specific filter |
843 | - $input[$key] = apply_filters( 'wpinv_settings_sanitize_' . $type, $value, $key ); |
|
843 | + $input[$key] = apply_filters('wpinv_settings_sanitize_' . $type, $value, $key); |
|
844 | 844 | } |
845 | 845 | |
846 | 846 | // General filter |
847 | - $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
847 | + $input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key); |
|
848 | 848 | } |
849 | 849 | |
850 | 850 | // Loop through the whitelist and unset any that are empty for the tab being saved |
851 | - $main_settings = $section == 'main' ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections |
|
852 | - $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array(); |
|
851 | + $main_settings = $section == 'main' ? $settings[$tab] : array(); // Check for extensions that aren't using new sections |
|
852 | + $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array(); |
|
853 | 853 | |
854 | - $found_settings = array_merge( $main_settings, $section_settings ); |
|
854 | + $found_settings = array_merge($main_settings, $section_settings); |
|
855 | 855 | |
856 | - if ( ! empty( $found_settings ) ) { |
|
857 | - foreach ( $found_settings as $key => $value ) { |
|
856 | + if (!empty($found_settings)) { |
|
857 | + foreach ($found_settings as $key => $value) { |
|
858 | 858 | |
859 | 859 | // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work |
860 | - if ( is_numeric( $key ) ) { |
|
860 | + if (is_numeric($key)) { |
|
861 | 861 | $key = $value['id']; |
862 | 862 | } |
863 | 863 | |
864 | - if ( empty( $input[ $key ] ) ) { |
|
865 | - unset( $wpinv_options[ $key ] ); |
|
864 | + if (empty($input[$key])) { |
|
865 | + unset($wpinv_options[$key]); |
|
866 | 866 | } |
867 | 867 | } |
868 | 868 | } |
869 | 869 | |
870 | 870 | // Merge our new settings with the existing |
871 | - $output = array_merge( $wpinv_options, $input ); |
|
871 | + $output = array_merge($wpinv_options, $input); |
|
872 | 872 | |
873 | - add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' ); |
|
873 | + add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated'); |
|
874 | 874 | |
875 | 875 | return $output; |
876 | 876 | } |
877 | 877 | |
878 | -function wpinv_settings_sanitize_misc_accounting( $input ) { |
|
878 | +function wpinv_settings_sanitize_misc_accounting($input) { |
|
879 | 879 | global $wpi_session; |
880 | 880 | |
881 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
881 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
882 | 882 | return $input; |
883 | 883 | } |
884 | 884 | |
885 | - if( ! empty( $input['enable_sequential'] ) && !wpinv_get_option( 'enable_sequential' ) ) { |
|
885 | + if (!empty($input['enable_sequential']) && !wpinv_get_option('enable_sequential')) { |
|
886 | 886 | // Shows an admin notice about upgrading previous order numbers |
887 | - $wpi_session->set( 'upgrade_sequential', '1' ); |
|
887 | + $wpi_session->set('upgrade_sequential', '1'); |
|
888 | 888 | } |
889 | 889 | |
890 | 890 | return $input; |
891 | 891 | } |
892 | -add_filter( 'wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting' ); |
|
892 | +add_filter('wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting'); |
|
893 | 893 | |
894 | -function wpinv_settings_sanitize_tax_rates( $input ) { |
|
895 | - if( ! wpinv_current_user_can_manage_invoicing() ) { |
|
894 | +function wpinv_settings_sanitize_tax_rates($input) { |
|
895 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
896 | 896 | return $input; |
897 | 897 | } |
898 | 898 | |
899 | - $new_rates = !empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array(); |
|
899 | + $new_rates = !empty($_POST['tax_rates']) ? array_values($_POST['tax_rates']) : array(); |
|
900 | 900 | |
901 | 901 | $tax_rates = array(); |
902 | 902 | |
903 | - if ( !empty( $new_rates ) ) { |
|
904 | - foreach ( $new_rates as $rate ) { |
|
905 | - if ( isset( $rate['country'] ) && empty( $rate['country'] ) && empty( $rate['state'] ) ) { |
|
903 | + if (!empty($new_rates)) { |
|
904 | + foreach ($new_rates as $rate) { |
|
905 | + if (isset($rate['country']) && empty($rate['country']) && empty($rate['state'])) { |
|
906 | 906 | continue; |
907 | 907 | } |
908 | 908 | |
909 | - $rate['rate'] = wpinv_sanitize_amount( $rate['rate'], 4 ); |
|
909 | + $rate['rate'] = wpinv_sanitize_amount($rate['rate'], 4); |
|
910 | 910 | |
911 | 911 | $tax_rates[] = $rate; |
912 | 912 | } |
913 | 913 | } |
914 | 914 | |
915 | - update_option( 'wpinv_tax_rates', $tax_rates ); |
|
915 | + update_option('wpinv_tax_rates', $tax_rates); |
|
916 | 916 | |
917 | 917 | return $input; |
918 | 918 | } |
919 | -add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' ); |
|
919 | +add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates'); |
|
920 | 920 | |
921 | -function wpinv_sanitize_text_field( $input ) { |
|
922 | - return trim( $input ); |
|
921 | +function wpinv_sanitize_text_field($input) { |
|
922 | + return trim($input); |
|
923 | 923 | } |
924 | -add_filter( 'wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field' ); |
|
924 | +add_filter('wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field'); |
|
925 | 925 | |
926 | 926 | function wpinv_get_settings_tabs() { |
927 | 927 | $tabs = array(); |
928 | - $tabs['general'] = __( 'General', 'invoicing' ); |
|
929 | - $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' ); |
|
930 | - $tabs['taxes'] = __( 'Taxes', 'invoicing' ); |
|
931 | - $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
932 | - $tabs['privacy'] = __( 'Privacy', 'invoicing' ); |
|
933 | - $tabs['misc'] = __( 'Misc', 'invoicing' ); |
|
934 | - $tabs['tools'] = __( 'Tools', 'invoicing' ); |
|
935 | - |
|
936 | - return apply_filters( 'wpinv_settings_tabs', $tabs ); |
|
928 | + $tabs['general'] = __('General', 'invoicing'); |
|
929 | + $tabs['gateways'] = __('Payment Gateways', 'invoicing'); |
|
930 | + $tabs['taxes'] = __('Taxes', 'invoicing'); |
|
931 | + $tabs['emails'] = __('Emails', 'invoicing'); |
|
932 | + $tabs['privacy'] = __('Privacy', 'invoicing'); |
|
933 | + $tabs['misc'] = __('Misc', 'invoicing'); |
|
934 | + $tabs['tools'] = __('Tools', 'invoicing'); |
|
935 | + |
|
936 | + return apply_filters('wpinv_settings_tabs', $tabs); |
|
937 | 937 | } |
938 | 938 | |
939 | -function wpinv_get_settings_tab_sections( $tab = false ) { |
|
939 | +function wpinv_get_settings_tab_sections($tab = false) { |
|
940 | 940 | $tabs = false; |
941 | 941 | $sections = wpinv_get_registered_settings_sections(); |
942 | 942 | |
943 | - if( $tab && ! empty( $sections[ $tab ] ) ) { |
|
944 | - $tabs = $sections[ $tab ]; |
|
945 | - } else if ( $tab ) { |
|
943 | + if ($tab && !empty($sections[$tab])) { |
|
944 | + $tabs = $sections[$tab]; |
|
945 | + } else if ($tab) { |
|
946 | 946 | $tabs = false; |
947 | 947 | } |
948 | 948 | |
@@ -952,143 +952,143 @@ discard block |
||
952 | 952 | function wpinv_get_registered_settings_sections() { |
953 | 953 | static $sections = false; |
954 | 954 | |
955 | - if ( false !== $sections ) { |
|
955 | + if (false !== $sections) { |
|
956 | 956 | return $sections; |
957 | 957 | } |
958 | 958 | |
959 | 959 | $sections = array( |
960 | - 'general' => apply_filters( 'wpinv_settings_sections_general', array( |
|
961 | - 'main' => __( 'General Settings', 'invoicing' ), |
|
962 | - 'currency_section' => __( 'Currency Settings', 'invoicing' ), |
|
963 | - 'labels' => __( 'Label Texts', 'invoicing' ), |
|
964 | - ) ), |
|
965 | - 'gateways' => apply_filters( 'wpinv_settings_sections_gateways', array( |
|
966 | - 'main' => __( 'Gateway Settings', 'invoicing' ), |
|
967 | - ) ), |
|
968 | - 'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array( |
|
969 | - 'main' => __( 'Tax Settings', 'invoicing' ), |
|
970 | - 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
971 | - ) ), |
|
972 | - 'emails' => apply_filters( 'wpinv_settings_sections_emails', array( |
|
973 | - 'main' => __( 'Email Settings', 'invoicing' ), |
|
974 | - ) ), |
|
975 | - 'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array( |
|
976 | - 'main' => __( 'Privacy policy', 'invoicing' ), |
|
977 | - ) ), |
|
978 | - 'misc' => apply_filters( 'wpinv_settings_sections_misc', array( |
|
979 | - 'main' => __( 'Miscellaneous', 'invoicing' ), |
|
980 | - 'fields' => __( 'Fields Settings', 'invoicing' ), |
|
981 | - 'custom-css' => __( 'Custom CSS', 'invoicing' ), |
|
982 | - ) ), |
|
983 | - 'tools' => apply_filters( 'wpinv_settings_sections_tools', array( |
|
984 | - 'main' => __( 'Diagnostic Tools', 'invoicing' ), |
|
985 | - ) ), |
|
960 | + 'general' => apply_filters('wpinv_settings_sections_general', array( |
|
961 | + 'main' => __('General Settings', 'invoicing'), |
|
962 | + 'currency_section' => __('Currency Settings', 'invoicing'), |
|
963 | + 'labels' => __('Label Texts', 'invoicing'), |
|
964 | + )), |
|
965 | + 'gateways' => apply_filters('wpinv_settings_sections_gateways', array( |
|
966 | + 'main' => __('Gateway Settings', 'invoicing'), |
|
967 | + )), |
|
968 | + 'taxes' => apply_filters('wpinv_settings_sections_taxes', array( |
|
969 | + 'main' => __('Tax Settings', 'invoicing'), |
|
970 | + 'rates' => __('Tax Rates', 'invoicing'), |
|
971 | + )), |
|
972 | + 'emails' => apply_filters('wpinv_settings_sections_emails', array( |
|
973 | + 'main' => __('Email Settings', 'invoicing'), |
|
974 | + )), |
|
975 | + 'privacy' => apply_filters('wpinv_settings_sections_privacy', array( |
|
976 | + 'main' => __('Privacy policy', 'invoicing'), |
|
977 | + )), |
|
978 | + 'misc' => apply_filters('wpinv_settings_sections_misc', array( |
|
979 | + 'main' => __('Miscellaneous', 'invoicing'), |
|
980 | + 'fields' => __('Fields Settings', 'invoicing'), |
|
981 | + 'custom-css' => __('Custom CSS', 'invoicing'), |
|
982 | + )), |
|
983 | + 'tools' => apply_filters('wpinv_settings_sections_tools', array( |
|
984 | + 'main' => __('Diagnostic Tools', 'invoicing'), |
|
985 | + )), |
|
986 | 986 | ); |
987 | 987 | |
988 | - $sections = apply_filters( 'wpinv_settings_sections', $sections ); |
|
988 | + $sections = apply_filters('wpinv_settings_sections', $sections); |
|
989 | 989 | |
990 | 990 | return $sections; |
991 | 991 | } |
992 | 992 | |
993 | -function wpinv_get_pages( $with_slug = false, $default_label = NULL ) { |
|
993 | +function wpinv_get_pages($with_slug = false, $default_label = NULL) { |
|
994 | 994 | $pages_options = array(); |
995 | 995 | |
996 | - if( $default_label !== NULL && $default_label !== false ) { |
|
997 | - $pages_options = array( '' => $default_label ); // Blank option |
|
996 | + if ($default_label !== NULL && $default_label !== false) { |
|
997 | + $pages_options = array('' => $default_label); // Blank option |
|
998 | 998 | } |
999 | 999 | |
1000 | 1000 | $pages = get_pages(); |
1001 | - if ( $pages ) { |
|
1002 | - foreach ( $pages as $page ) { |
|
1001 | + if ($pages) { |
|
1002 | + foreach ($pages as $page) { |
|
1003 | 1003 | $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
1004 | - $pages_options[ $page->ID ] = $title; |
|
1004 | + $pages_options[$page->ID] = $title; |
|
1005 | 1005 | } |
1006 | 1006 | } |
1007 | 1007 | |
1008 | 1008 | return $pages_options; |
1009 | 1009 | } |
1010 | 1010 | |
1011 | -function wpinv_header_callback( $args ) { |
|
1012 | - if ( !empty( $args['desc'] ) ) { |
|
1011 | +function wpinv_header_callback($args) { |
|
1012 | + if (!empty($args['desc'])) { |
|
1013 | 1013 | echo $args['desc']; |
1014 | 1014 | } |
1015 | 1015 | } |
1016 | 1016 | |
1017 | -function wpinv_hidden_callback( $args ) { |
|
1017 | +function wpinv_hidden_callback($args) { |
|
1018 | 1018 | global $wpinv_options; |
1019 | 1019 | |
1020 | - if ( isset( $args['set_value'] ) ) { |
|
1020 | + if (isset($args['set_value'])) { |
|
1021 | 1021 | $value = $args['set_value']; |
1022 | - } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1023 | - $value = $wpinv_options[ $args['id'] ]; |
|
1022 | + } elseif (isset($wpinv_options[$args['id']])) { |
|
1023 | + $value = $wpinv_options[$args['id']]; |
|
1024 | 1024 | } else { |
1025 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1025 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1026 | 1026 | } |
1027 | 1027 | |
1028 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
1028 | + if (isset($args['faux']) && true === $args['faux']) { |
|
1029 | 1029 | $args['readonly'] = true; |
1030 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1030 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1031 | 1031 | $name = ''; |
1032 | 1032 | } else { |
1033 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
1033 | + $name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"'; |
|
1034 | 1034 | } |
1035 | 1035 | |
1036 | - $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
1036 | + $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key($args['id']) . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '" />'; |
|
1037 | 1037 | |
1038 | 1038 | echo $html; |
1039 | 1039 | } |
1040 | 1040 | |
1041 | -function wpinv_checkbox_callback( $args ) { |
|
1041 | +function wpinv_checkbox_callback($args) { |
|
1042 | 1042 | global $wpinv_options; |
1043 | 1043 | |
1044 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1044 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1045 | 1045 | |
1046 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
1046 | + if (isset($args['faux']) && true === $args['faux']) { |
|
1047 | 1047 | $name = ''; |
1048 | 1048 | } else { |
1049 | 1049 | $name = 'name="wpinv_settings[' . $sanitize_id . ']"'; |
1050 | 1050 | } |
1051 | 1051 | |
1052 | - $checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : ''; |
|
1052 | + $checked = isset($wpinv_options[$args['id']]) ? checked(1, $wpinv_options[$args['id']], false) : ''; |
|
1053 | 1053 | $html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>'; |
1054 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1054 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1055 | 1055 | |
1056 | 1056 | echo $html; |
1057 | 1057 | } |
1058 | 1058 | |
1059 | -function wpinv_multicheck_callback( $args ) { |
|
1059 | +function wpinv_multicheck_callback($args) { |
|
1060 | 1060 | global $wpinv_options; |
1061 | 1061 | |
1062 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1063 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
1062 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1063 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
1064 | 1064 | |
1065 | - if ( ! empty( $args['options'] ) ) { |
|
1065 | + if (!empty($args['options'])) { |
|
1066 | 1066 | echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">'; |
1067 | - foreach( $args['options'] as $key => $option ): |
|
1068 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
1069 | - if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { |
|
1067 | + foreach ($args['options'] as $key => $option): |
|
1068 | + $sanitize_key = wpinv_sanitize_key($key); |
|
1069 | + if (isset($wpinv_options[$args['id']][$sanitize_key])) { |
|
1070 | 1070 | $enabled = $sanitize_key; |
1071 | 1071 | } else { |
1072 | 1072 | $enabled = NULL; |
1073 | 1073 | } |
1074 | - echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/> '; |
|
1075 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
1074 | + echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($sanitize_key) . '" ' . checked($sanitize_key, $enabled, false) . '/> '; |
|
1075 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post($option) . '</label></div>'; |
|
1076 | 1076 | endforeach; |
1077 | 1077 | echo '</div>'; |
1078 | 1078 | echo '<p class="description">' . $args['desc'] . '</p>'; |
1079 | 1079 | } |
1080 | 1080 | } |
1081 | 1081 | |
1082 | -function wpinv_payment_icons_callback( $args ) { |
|
1082 | +function wpinv_payment_icons_callback($args) { |
|
1083 | 1083 | global $wpinv_options; |
1084 | 1084 | |
1085 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1085 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1086 | 1086 | |
1087 | - if ( ! empty( $args['options'] ) ) { |
|
1088 | - foreach( $args['options'] as $key => $option ) { |
|
1089 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
1087 | + if (!empty($args['options'])) { |
|
1088 | + foreach ($args['options'] as $key => $option) { |
|
1089 | + $sanitize_key = wpinv_sanitize_key($key); |
|
1090 | 1090 | |
1091 | - if( isset( $wpinv_options[$args['id']][$key] ) ) { |
|
1091 | + if (isset($wpinv_options[$args['id']][$key])) { |
|
1092 | 1092 | $enabled = $option; |
1093 | 1093 | } else { |
1094 | 1094 | $enabled = NULL; |
@@ -1096,197 +1096,197 @@ discard block |
||
1096 | 1096 | |
1097 | 1097 | echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
1098 | 1098 | |
1099 | - echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/> '; |
|
1099 | + echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($option) . '" ' . checked($option, $enabled, false) . '/> '; |
|
1100 | 1100 | |
1101 | - if ( wpinv_string_is_image_url( $key ) ) { |
|
1102 | - echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
1101 | + if (wpinv_string_is_image_url($key)) { |
|
1102 | + echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
1103 | 1103 | } else { |
1104 | - $card = strtolower( str_replace( ' ', '', $option ) ); |
|
1104 | + $card = strtolower(str_replace(' ', '', $option)); |
|
1105 | 1105 | |
1106 | - if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
1107 | - $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
1106 | + if (has_filter('wpinv_accepted_payment_' . $card . '_image')) { |
|
1107 | + $image = apply_filters('wpinv_accepted_payment_' . $card . '_image', ''); |
|
1108 | 1108 | } else { |
1109 | - $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
1109 | + $image = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false); |
|
1110 | 1110 | $content_dir = WP_CONTENT_DIR; |
1111 | 1111 | |
1112 | - if ( function_exists( 'wp_normalize_path' ) ) { |
|
1112 | + if (function_exists('wp_normalize_path')) { |
|
1113 | 1113 | // Replaces backslashes with forward slashes for Windows systems |
1114 | - $image = wp_normalize_path( $image ); |
|
1115 | - $content_dir = wp_normalize_path( $content_dir ); |
|
1114 | + $image = wp_normalize_path($image); |
|
1115 | + $content_dir = wp_normalize_path($content_dir); |
|
1116 | 1116 | } |
1117 | 1117 | |
1118 | - $image = str_replace( $content_dir, content_url(), $image ); |
|
1118 | + $image = str_replace($content_dir, content_url(), $image); |
|
1119 | 1119 | } |
1120 | 1120 | |
1121 | - echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
1121 | + echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
1122 | 1122 | } |
1123 | 1123 | echo $option . '</label>'; |
1124 | 1124 | } |
1125 | - echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
1125 | + echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>'; |
|
1126 | 1126 | } |
1127 | 1127 | } |
1128 | 1128 | |
1129 | -function wpinv_radio_callback( $args ) { |
|
1129 | +function wpinv_radio_callback($args) { |
|
1130 | 1130 | global $wpinv_options; |
1131 | 1131 | |
1132 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1132 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1133 | 1133 | |
1134 | - foreach ( $args['options'] as $key => $option ) : |
|
1135 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
1134 | + foreach ($args['options'] as $key => $option) : |
|
1135 | + $sanitize_key = wpinv_sanitize_key($key); |
|
1136 | 1136 | |
1137 | 1137 | $checked = false; |
1138 | 1138 | |
1139 | - if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key ) |
|
1139 | + if (isset($wpinv_options[$args['id']]) && $wpinv_options[$args['id']] == $key) |
|
1140 | 1140 | $checked = true; |
1141 | - elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) ) |
|
1141 | + elseif (isset($args['std']) && $args['std'] == $key && !isset($wpinv_options[$args['id']])) |
|
1142 | 1142 | $checked = true; |
1143 | 1143 | |
1144 | 1144 | echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/> '; |
1145 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>'; |
|
1145 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option) . '</label><br/>'; |
|
1146 | 1146 | endforeach; |
1147 | 1147 | |
1148 | - echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
1148 | + echo '<p class="description">' . wp_kses_post($args['desc']) . '</p>'; |
|
1149 | 1149 | } |
1150 | 1150 | |
1151 | -function wpinv_gateways_callback( $args ) { |
|
1151 | +function wpinv_gateways_callback($args) { |
|
1152 | 1152 | global $wpinv_options; |
1153 | 1153 | |
1154 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1154 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1155 | 1155 | |
1156 | - foreach ( $args['options'] as $key => $option ) : |
|
1157 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
1156 | + foreach ($args['options'] as $key => $option) : |
|
1157 | + $sanitize_key = wpinv_sanitize_key($key); |
|
1158 | 1158 | |
1159 | - if ( isset( $wpinv_options['gateways'][ $key ] ) ) |
|
1159 | + if (isset($wpinv_options['gateways'][$key])) |
|
1160 | 1160 | $enabled = '1'; |
1161 | 1161 | else |
1162 | 1162 | $enabled = null; |
1163 | 1163 | |
1164 | - echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/> '; |
|
1165 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>'; |
|
1164 | + echo '<input name="wpinv_settings[' . esc_attr($args['id']) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/> '; |
|
1165 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option['admin_label']) . '</label><br/>'; |
|
1166 | 1166 | endforeach; |
1167 | 1167 | } |
1168 | 1168 | |
1169 | 1169 | function wpinv_gateway_select_callback($args) { |
1170 | 1170 | global $wpinv_options; |
1171 | 1171 | |
1172 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1173 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
1172 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1173 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
1174 | 1174 | |
1175 | - echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >'; |
|
1175 | + echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '" >'; |
|
1176 | 1176 | |
1177 | - foreach ( $args['options'] as $key => $option ) : |
|
1178 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
1179 | - $selected = selected( $key, $args['selected'], false ); |
|
1177 | + foreach ($args['options'] as $key => $option) : |
|
1178 | + if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) { |
|
1179 | + $selected = selected($key, $args['selected'], false); |
|
1180 | 1180 | } else { |
1181 | - $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : ''; |
|
1181 | + $selected = isset($wpinv_options[$args['id']]) ? selected($key, $wpinv_options[$args['id']], false) : ''; |
|
1182 | 1182 | } |
1183 | - echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
1183 | + echo '<option value="' . wpinv_sanitize_key($key) . '"' . $selected . '>' . esc_html($option['admin_label']) . '</option>'; |
|
1184 | 1184 | endforeach; |
1185 | 1185 | |
1186 | 1186 | echo '</select>'; |
1187 | - echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1187 | + echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1188 | 1188 | } |
1189 | 1189 | |
1190 | -function wpinv_text_callback( $args ) { |
|
1190 | +function wpinv_text_callback($args) { |
|
1191 | 1191 | global $wpinv_options; |
1192 | 1192 | |
1193 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1193 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1194 | 1194 | |
1195 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1196 | - $value = $wpinv_options[ $args['id'] ]; |
|
1195 | + if (isset($wpinv_options[$args['id']])) { |
|
1196 | + $value = $wpinv_options[$args['id']]; |
|
1197 | 1197 | } else { |
1198 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1198 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1199 | 1199 | } |
1200 | 1200 | |
1201 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
1201 | + if (isset($args['faux']) && true === $args['faux']) { |
|
1202 | 1202 | $args['readonly'] = true; |
1203 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1203 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1204 | 1204 | $name = ''; |
1205 | 1205 | } else { |
1206 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
1206 | + $name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"'; |
|
1207 | 1207 | } |
1208 | - $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : ''; |
|
1208 | + $class = !empty($args['class']) ? sanitize_html_class($args['class']) : ''; |
|
1209 | 1209 | |
1210 | 1210 | $readonly = $args['readonly'] === true ? ' readonly="readonly"' : ''; |
1211 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
1212 | - $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>'; |
|
1213 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1211 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
1212 | + $html = '<input type="text" class="' . sanitize_html_class($size) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '"' . $readonly . '/>'; |
|
1213 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1214 | 1214 | |
1215 | 1215 | echo $html; |
1216 | 1216 | } |
1217 | 1217 | |
1218 | -function wpinv_number_callback( $args ) { |
|
1218 | +function wpinv_number_callback($args) { |
|
1219 | 1219 | global $wpinv_options; |
1220 | 1220 | |
1221 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1221 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1222 | 1222 | |
1223 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1224 | - $value = $wpinv_options[ $args['id'] ]; |
|
1223 | + if (isset($wpinv_options[$args['id']])) { |
|
1224 | + $value = $wpinv_options[$args['id']]; |
|
1225 | 1225 | } else { |
1226 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1226 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1227 | 1227 | } |
1228 | 1228 | |
1229 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
1229 | + if (isset($args['faux']) && true === $args['faux']) { |
|
1230 | 1230 | $args['readonly'] = true; |
1231 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1231 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1232 | 1232 | $name = ''; |
1233 | 1233 | } else { |
1234 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
1234 | + $name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"'; |
|
1235 | 1235 | } |
1236 | 1236 | |
1237 | - $max = isset( $args['max'] ) ? $args['max'] : 999999; |
|
1238 | - $min = isset( $args['min'] ) ? $args['min'] : 0; |
|
1239 | - $step = isset( $args['step'] ) ? $args['step'] : 1; |
|
1240 | - $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : ''; |
|
1237 | + $max = isset($args['max']) ? $args['max'] : 999999; |
|
1238 | + $min = isset($args['min']) ? $args['min'] : 0; |
|
1239 | + $step = isset($args['step']) ? $args['step'] : 1; |
|
1240 | + $class = !empty($args['class']) ? sanitize_html_class($args['class']) : ''; |
|
1241 | 1241 | |
1242 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
1243 | - $html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
1244 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1242 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
1243 | + $html = '<input type="number" step="' . esc_attr($step) . '" max="' . esc_attr($max) . '" min="' . esc_attr($min) . '" class="' . sanitize_html_class($size) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '"/>'; |
|
1244 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1245 | 1245 | |
1246 | 1246 | echo $html; |
1247 | 1247 | } |
1248 | 1248 | |
1249 | -function wpinv_textarea_callback( $args ) { |
|
1249 | +function wpinv_textarea_callback($args) { |
|
1250 | 1250 | global $wpinv_options; |
1251 | 1251 | |
1252 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1252 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1253 | 1253 | |
1254 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1255 | - $value = $wpinv_options[ $args['id'] ]; |
|
1254 | + if (isset($wpinv_options[$args['id']])) { |
|
1255 | + $value = $wpinv_options[$args['id']]; |
|
1256 | 1256 | } else { |
1257 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1257 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1258 | 1258 | } |
1259 | 1259 | |
1260 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
1261 | - $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text'; |
|
1260 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
1261 | + $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text'; |
|
1262 | 1262 | |
1263 | - $html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
1264 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1263 | + $html = '<textarea class="' . sanitize_html_class($class) . ' txtarea-' . sanitize_html_class($size) . ' wpi-' . esc_attr(sanitize_html_class($sanitize_id)) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']">' . esc_textarea(stripslashes($value)) . '</textarea>'; |
|
1264 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1265 | 1265 | |
1266 | 1266 | echo $html; |
1267 | 1267 | } |
1268 | 1268 | |
1269 | -function wpinv_password_callback( $args ) { |
|
1269 | +function wpinv_password_callback($args) { |
|
1270 | 1270 | global $wpinv_options; |
1271 | 1271 | |
1272 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1272 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1273 | 1273 | |
1274 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1275 | - $value = $wpinv_options[ $args['id'] ]; |
|
1274 | + if (isset($wpinv_options[$args['id']])) { |
|
1275 | + $value = $wpinv_options[$args['id']]; |
|
1276 | 1276 | } else { |
1277 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1277 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1278 | 1278 | } |
1279 | 1279 | |
1280 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
1281 | - $html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>'; |
|
1282 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1280 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
1281 | + $html = '<input type="password" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '"/>'; |
|
1282 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1283 | 1283 | |
1284 | 1284 | echo $html; |
1285 | 1285 | } |
1286 | 1286 | |
1287 | 1287 | function wpinv_missing_callback($args) { |
1288 | 1288 | printf( |
1289 | - __( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
1289 | + __('The callback function used for the %s setting is missing.', 'invoicing'), |
|
1290 | 1290 | '<strong>' . $args['id'] . '</strong>' |
1291 | 1291 | ); |
1292 | 1292 | } |
@@ -1294,133 +1294,133 @@ discard block |
||
1294 | 1294 | function wpinv_select_callback($args) { |
1295 | 1295 | global $wpinv_options; |
1296 | 1296 | |
1297 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1297 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1298 | 1298 | |
1299 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1300 | - $value = $wpinv_options[ $args['id'] ]; |
|
1299 | + if (isset($wpinv_options[$args['id']])) { |
|
1300 | + $value = $wpinv_options[$args['id']]; |
|
1301 | 1301 | } else { |
1302 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1302 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1303 | 1303 | } |
1304 | 1304 | |
1305 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
1305 | + if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) { |
|
1306 | 1306 | $value = $args['selected']; |
1307 | 1307 | } |
1308 | 1308 | |
1309 | - if ( isset( $args['placeholder'] ) ) { |
|
1309 | + if (isset($args['placeholder'])) { |
|
1310 | 1310 | $placeholder = $args['placeholder']; |
1311 | 1311 | } else { |
1312 | 1312 | $placeholder = ''; |
1313 | 1313 | } |
1314 | 1314 | |
1315 | - if( !empty( $args['onchange'] ) ) { |
|
1316 | - $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"'; |
|
1315 | + if (!empty($args['onchange'])) { |
|
1316 | + $onchange = ' onchange="' . esc_attr($args['onchange']) . '"'; |
|
1317 | 1317 | } else { |
1318 | 1318 | $onchange = ''; |
1319 | 1319 | } |
1320 | 1320 | |
1321 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
1321 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
1322 | 1322 | |
1323 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />'; |
|
1323 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '" name="wpinv_settings[' . esc_attr($args['id']) . ']" data-placeholder="' . esc_html($placeholder) . '"' . $onchange . ' />'; |
|
1324 | 1324 | |
1325 | - foreach ( $args['options'] as $option => $name ) { |
|
1326 | - $selected = selected( $option, $value, false ); |
|
1327 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
1325 | + foreach ($args['options'] as $option => $name) { |
|
1326 | + $selected = selected($option, $value, false); |
|
1327 | + $html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>'; |
|
1328 | 1328 | } |
1329 | 1329 | |
1330 | 1330 | $html .= '</select>'; |
1331 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1331 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1332 | 1332 | |
1333 | 1333 | echo $html; |
1334 | 1334 | } |
1335 | 1335 | |
1336 | -function wpinv_color_select_callback( $args ) { |
|
1336 | +function wpinv_color_select_callback($args) { |
|
1337 | 1337 | global $wpinv_options; |
1338 | 1338 | |
1339 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1339 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1340 | 1340 | |
1341 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1342 | - $value = $wpinv_options[ $args['id'] ]; |
|
1341 | + if (isset($wpinv_options[$args['id']])) { |
|
1342 | + $value = $wpinv_options[$args['id']]; |
|
1343 | 1343 | } else { |
1344 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1344 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1345 | 1345 | } |
1346 | 1346 | |
1347 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
1347 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>'; |
|
1348 | 1348 | |
1349 | - foreach ( $args['options'] as $option => $color ) { |
|
1350 | - $selected = selected( $option, $value, false ); |
|
1351 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>'; |
|
1349 | + foreach ($args['options'] as $option => $color) { |
|
1350 | + $selected = selected($option, $value, false); |
|
1351 | + $html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($color['label']) . '</option>'; |
|
1352 | 1352 | } |
1353 | 1353 | |
1354 | 1354 | $html .= '</select>'; |
1355 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1355 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1356 | 1356 | |
1357 | 1357 | echo $html; |
1358 | 1358 | } |
1359 | 1359 | |
1360 | -function wpinv_rich_editor_callback( $args ) { |
|
1360 | +function wpinv_rich_editor_callback($args) { |
|
1361 | 1361 | global $wpinv_options, $wp_version; |
1362 | 1362 | |
1363 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1363 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1364 | 1364 | |
1365 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1366 | - $value = $wpinv_options[ $args['id'] ]; |
|
1365 | + if (isset($wpinv_options[$args['id']])) { |
|
1366 | + $value = $wpinv_options[$args['id']]; |
|
1367 | 1367 | |
1368 | - if( empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
1369 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1368 | + if (empty($args['allow_blank']) && empty($value)) { |
|
1369 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1370 | 1370 | } |
1371 | 1371 | } else { |
1372 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1372 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1373 | 1373 | } |
1374 | 1374 | |
1375 | - $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
1375 | + $rows = isset($args['size']) ? $args['size'] : 20; |
|
1376 | 1376 | |
1377 | - if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
1377 | + if ($wp_version >= 3.3 && function_exists('wp_editor')) { |
|
1378 | 1378 | ob_start(); |
1379 | - wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) ); |
|
1379 | + wp_editor(stripslashes($value), 'wpinv_settings_' . esc_attr($args['id']), array('textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']', 'textarea_rows' => absint($rows), 'media_buttons' => false)); |
|
1380 | 1380 | $html = ob_get_clean(); |
1381 | 1381 | } else { |
1382 | - $html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
1382 | + $html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="wpi-' . esc_attr(sanitize_html_class($args['id'])) . '">' . esc_textarea(stripslashes($value)) . '</textarea>'; |
|
1383 | 1383 | } |
1384 | 1384 | |
1385 | - $html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1385 | + $html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1386 | 1386 | |
1387 | 1387 | echo $html; |
1388 | 1388 | } |
1389 | 1389 | |
1390 | -function wpinv_upload_callback( $args ) { |
|
1390 | +function wpinv_upload_callback($args) { |
|
1391 | 1391 | global $wpinv_options; |
1392 | 1392 | |
1393 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1393 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1394 | 1394 | |
1395 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1395 | + if (isset($wpinv_options[$args['id']])) { |
|
1396 | 1396 | $value = $wpinv_options[$args['id']]; |
1397 | 1397 | } else { |
1398 | 1398 | $value = isset($args['std']) ? $args['std'] : ''; |
1399 | 1399 | } |
1400 | 1400 | |
1401 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
1402 | - $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
1403 | - $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
1404 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1401 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
1402 | + $html = '<input type="text" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr(stripslashes($value)) . '"/>'; |
|
1403 | + $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __('Upload File', 'invoicing') . '"/></span>'; |
|
1404 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1405 | 1405 | |
1406 | 1406 | echo $html; |
1407 | 1407 | } |
1408 | 1408 | |
1409 | -function wpinv_color_callback( $args ) { |
|
1409 | +function wpinv_color_callback($args) { |
|
1410 | 1410 | global $wpinv_options; |
1411 | 1411 | |
1412 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1412 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1413 | 1413 | |
1414 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
1415 | - $value = $wpinv_options[ $args['id'] ]; |
|
1414 | + if (isset($wpinv_options[$args['id']])) { |
|
1415 | + $value = $wpinv_options[$args['id']]; |
|
1416 | 1416 | } else { |
1417 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
1417 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
1418 | 1418 | } |
1419 | 1419 | |
1420 | - $default = isset( $args['std'] ) ? $args['std'] : ''; |
|
1420 | + $default = isset($args['std']) ? $args['std'] : ''; |
|
1421 | 1421 | |
1422 | - $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />'; |
|
1423 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1422 | + $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '" data-default-color="' . esc_attr($default) . '" />'; |
|
1423 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1424 | 1424 | |
1425 | 1425 | echo $html; |
1426 | 1426 | } |
@@ -1428,9 +1428,9 @@ discard block |
||
1428 | 1428 | function wpinv_country_states_callback($args) { |
1429 | 1429 | global $wpinv_options; |
1430 | 1430 | |
1431 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
1431 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
1432 | 1432 | |
1433 | - if ( isset( $args['placeholder'] ) ) { |
|
1433 | + if (isset($args['placeholder'])) { |
|
1434 | 1434 | $placeholder = $args['placeholder']; |
1435 | 1435 | } else { |
1436 | 1436 | $placeholder = ''; |
@@ -1438,16 +1438,16 @@ discard block |
||
1438 | 1438 | |
1439 | 1439 | $states = wpinv_get_country_states(); |
1440 | 1440 | |
1441 | - $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
1442 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
1441 | + $class = empty($states) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
1442 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"' . $class . 'data-placeholder="' . esc_html($placeholder) . '"/>'; |
|
1443 | 1443 | |
1444 | - foreach ( $states as $option => $name ) { |
|
1445 | - $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : ''; |
|
1446 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
1444 | + foreach ($states as $option => $name) { |
|
1445 | + $selected = isset($wpinv_options[$args['id']]) ? selected($option, $wpinv_options[$args['id']], false) : ''; |
|
1446 | + $html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>'; |
|
1447 | 1447 | } |
1448 | 1448 | |
1449 | 1449 | $html .= '</select>'; |
1450 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
1450 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
1451 | 1451 | |
1452 | 1452 | echo $html; |
1453 | 1453 | } |
@@ -1462,96 +1462,96 @@ discard block |
||
1462 | 1462 | <table id="wpinv_tax_rates" class="wp-list-table widefat fixed posts"> |
1463 | 1463 | <thead> |
1464 | 1464 | <tr> |
1465 | - <th scope="col" class="wpinv_tax_country"><?php _e( 'Country', 'invoicing' ); ?></th> |
|
1466 | - <th scope="col" class="wpinv_tax_state"><?php _e( 'State / Province', 'invoicing' ); ?></th> |
|
1467 | - <th scope="col" class="wpinv_tax_global" title="<?php esc_attr_e( 'Apply rate to whole country, regardless of state / province', 'invoicing' ); ?>"><?php _e( 'Country Wide', 'invoicing' ); ?></th> |
|
1468 | - <th scope="col" class="wpinv_tax_rate"><?php _e( 'Rate %', 'invoicing' ); ?></th> |
|
1469 | - <th scope="col" class="wpinv_tax_name"><?php _e( 'Tax Name', 'invoicing' ); ?></th> |
|
1470 | - <th scope="col" class="wpinv_tax_action"><?php _e( 'Remove', 'invoicing' ); ?></th> |
|
1465 | + <th scope="col" class="wpinv_tax_country"><?php _e('Country', 'invoicing'); ?></th> |
|
1466 | + <th scope="col" class="wpinv_tax_state"><?php _e('State / Province', 'invoicing'); ?></th> |
|
1467 | + <th scope="col" class="wpinv_tax_global" title="<?php esc_attr_e('Apply rate to whole country, regardless of state / province', 'invoicing'); ?>"><?php _e('Country Wide', 'invoicing'); ?></th> |
|
1468 | + <th scope="col" class="wpinv_tax_rate"><?php _e('Rate %', 'invoicing'); ?></th> |
|
1469 | + <th scope="col" class="wpinv_tax_name"><?php _e('Tax Name', 'invoicing'); ?></th> |
|
1470 | + <th scope="col" class="wpinv_tax_action"><?php _e('Remove', 'invoicing'); ?></th> |
|
1471 | 1471 | </tr> |
1472 | 1472 | </thead> |
1473 | 1473 | <tbody> |
1474 | - <?php if( !empty( $rates ) ) : ?> |
|
1475 | - <?php foreach( $rates as $key => $rate ) : ?> |
|
1474 | + <?php if (!empty($rates)) : ?> |
|
1475 | + <?php foreach ($rates as $key => $rate) : ?> |
|
1476 | 1476 | <?php |
1477 | - $sanitized_key = wpinv_sanitize_key( $key ); |
|
1477 | + $sanitized_key = wpinv_sanitize_key($key); |
|
1478 | 1478 | ?> |
1479 | 1479 | <tr> |
1480 | 1480 | <td class="wpinv_tax_country"> |
1481 | 1481 | <?php |
1482 | - echo wpinv_html_select( array( |
|
1483 | - 'options' => wpinv_get_country_list( true ), |
|
1482 | + echo wpinv_html_select(array( |
|
1483 | + 'options' => wpinv_get_country_list(true), |
|
1484 | 1484 | 'name' => 'tax_rates[' . $sanitized_key . '][country]', |
1485 | 1485 | 'id' => 'tax_rates[' . $sanitized_key . '][country]', |
1486 | 1486 | 'selected' => $rate['country'], |
1487 | 1487 | 'show_option_all' => false, |
1488 | 1488 | 'show_option_none' => false, |
1489 | 1489 | 'class' => 'wpinv-tax-country wpi_select2', |
1490 | - 'placeholder' => __( 'Choose a country', 'invoicing' ) |
|
1491 | - ) ); |
|
1490 | + 'placeholder' => __('Choose a country', 'invoicing') |
|
1491 | + )); |
|
1492 | 1492 | ?> |
1493 | 1493 | </td> |
1494 | 1494 | <td class="wpinv_tax_state"> |
1495 | 1495 | <?php |
1496 | - $states = wpinv_get_country_states( $rate['country'] ); |
|
1497 | - if( !empty( $states ) ) { |
|
1498 | - echo wpinv_html_select( array( |
|
1499 | - 'options' => array_merge( array( '' => '' ), $states ), |
|
1496 | + $states = wpinv_get_country_states($rate['country']); |
|
1497 | + if (!empty($states)) { |
|
1498 | + echo wpinv_html_select(array( |
|
1499 | + 'options' => array_merge(array('' => ''), $states), |
|
1500 | 1500 | 'name' => 'tax_rates[' . $sanitized_key . '][state]', |
1501 | 1501 | 'id' => 'tax_rates[' . $sanitized_key . '][state]', |
1502 | 1502 | 'selected' => $rate['state'], |
1503 | 1503 | 'show_option_all' => false, |
1504 | 1504 | 'show_option_none' => false, |
1505 | 1505 | 'class' => 'wpi_select2', |
1506 | - 'placeholder' => __( 'Choose a state', 'invoicing' ) |
|
1507 | - ) ); |
|
1506 | + 'placeholder' => __('Choose a state', 'invoicing') |
|
1507 | + )); |
|
1508 | 1508 | } else { |
1509 | - echo wpinv_html_text( array( |
|
1509 | + echo wpinv_html_text(array( |
|
1510 | 1510 | 'name' => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'], |
1511 | - 'value' => ! empty( $rate['state'] ) ? $rate['state'] : '', |
|
1511 | + 'value' => !empty($rate['state']) ? $rate['state'] : '', |
|
1512 | 1512 | 'id' => 'tax_rates[' . $sanitized_key . '][state]', |
1513 | - ) ); |
|
1513 | + )); |
|
1514 | 1514 | } |
1515 | 1515 | ?> |
1516 | 1516 | </td> |
1517 | 1517 | <td class="wpinv_tax_global"> |
1518 | - <input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked( true, ! empty( $rate['global'] ) ); ?>/> |
|
1519 | - <label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label> |
|
1518 | + <input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked(true, !empty($rate['global'])); ?>/> |
|
1519 | + <label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label> |
|
1520 | 1520 | </td> |
1521 | - <td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[<?php echo $sanitized_key; ?>][rate]" value="<?php echo esc_html( $rate['rate'] ); ?>"/></td> |
|
1522 | - <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[<?php echo $sanitized_key; ?>][name]" value="<?php echo esc_html( $rate['name'] ); ?>"/></td> |
|
1523 | - <td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td> |
|
1521 | + <td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[<?php echo $sanitized_key; ?>][rate]" value="<?php echo esc_html($rate['rate']); ?>"/></td> |
|
1522 | + <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[<?php echo $sanitized_key; ?>][name]" value="<?php echo esc_html($rate['name']); ?>"/></td> |
|
1523 | + <td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td> |
|
1524 | 1524 | </tr> |
1525 | 1525 | <?php endforeach; ?> |
1526 | 1526 | <?php else : ?> |
1527 | 1527 | <tr> |
1528 | 1528 | <td class="wpinv_tax_country"> |
1529 | 1529 | <?php |
1530 | - echo wpinv_html_select( array( |
|
1531 | - 'options' => wpinv_get_country_list( true ), |
|
1530 | + echo wpinv_html_select(array( |
|
1531 | + 'options' => wpinv_get_country_list(true), |
|
1532 | 1532 | 'name' => 'tax_rates[0][country]', |
1533 | 1533 | 'show_option_all' => false, |
1534 | 1534 | 'show_option_none' => false, |
1535 | 1535 | 'class' => 'wpinv-tax-country wpi_select2', |
1536 | - 'placeholder' => __( 'Choose a country', 'invoicing' ) |
|
1537 | - ) ); ?> |
|
1536 | + 'placeholder' => __('Choose a country', 'invoicing') |
|
1537 | + )); ?> |
|
1538 | 1538 | </td> |
1539 | 1539 | <td class="wpinv_tax_state"> |
1540 | - <?php echo wpinv_html_text( array( |
|
1540 | + <?php echo wpinv_html_text(array( |
|
1541 | 1541 | 'name' => 'tax_rates[0][state]' |
1542 | - ) ); ?> |
|
1542 | + )); ?> |
|
1543 | 1543 | </td> |
1544 | 1544 | <td class="wpinv_tax_global"> |
1545 | 1545 | <input type="checkbox" name="tax_rates[0][global]" id="tax_rates[0][global]" value="1"/> |
1546 | - <label for="tax_rates[0][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label> |
|
1546 | + <label for="tax_rates[0][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label> |
|
1547 | 1547 | </td> |
1548 | - <td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[0][rate]" placeholder="<?php echo (float)wpinv_get_option( 'tax_rate', 0 ) ;?>" value="<?php echo (float)wpinv_get_option( 'tax_rate', 0 ) ;?>"/></td> |
|
1548 | + <td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[0][rate]" placeholder="<?php echo (float) wpinv_get_option('tax_rate', 0); ?>" value="<?php echo (float) wpinv_get_option('tax_rate', 0); ?>"/></td> |
|
1549 | 1549 | <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[0][name]" /></td> |
1550 | - <td><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td> |
|
1550 | + <td><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td> |
|
1551 | 1551 | </tr> |
1552 | 1552 | <?php endif; ?> |
1553 | 1553 | </tbody> |
1554 | - <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e( 'Add Tax Rate', 'invoicing' ); ?></span></td></tr></tfoot> |
|
1554 | + <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e('Add Tax Rate', 'invoicing'); ?></span></td></tr></tfoot> |
|
1555 | 1555 | </table> |
1556 | 1556 | <?php |
1557 | 1557 | echo ob_get_clean(); |
@@ -1562,76 +1562,76 @@ discard block |
||
1562 | 1562 | ob_start(); ?> |
1563 | 1563 | </td><tr> |
1564 | 1564 | <td colspan="2" class="wpinv_tools_tdbox"> |
1565 | - <?php if ( $args['desc'] ) { ?><p><?php echo $args['desc']; ?></p><?php } ?> |
|
1566 | - <?php do_action( 'wpinv_tools_before' ); ?> |
|
1565 | + <?php if ($args['desc']) { ?><p><?php echo $args['desc']; ?></p><?php } ?> |
|
1566 | + <?php do_action('wpinv_tools_before'); ?> |
|
1567 | 1567 | <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts"> |
1568 | 1568 | <thead> |
1569 | 1569 | <tr> |
1570 | - <th scope="col" class="wpinv-th-tool"><?php _e( 'Tool', 'invoicing' ); ?></th> |
|
1571 | - <th scope="col" class="wpinv-th-desc"><?php _e( 'Description', 'invoicing' ); ?></th> |
|
1572 | - <th scope="col" class="wpinv-th-action"><?php _e( 'Action', 'invoicing' ); ?></th> |
|
1570 | + <th scope="col" class="wpinv-th-tool"><?php _e('Tool', 'invoicing'); ?></th> |
|
1571 | + <th scope="col" class="wpinv-th-desc"><?php _e('Description', 'invoicing'); ?></th> |
|
1572 | + <th scope="col" class="wpinv-th-action"><?php _e('Action', 'invoicing'); ?></th> |
|
1573 | 1573 | </tr> |
1574 | 1574 | </thead> |
1575 | - <?php do_action( 'wpinv_tools_row' ); ?> |
|
1575 | + <?php do_action('wpinv_tools_row'); ?> |
|
1576 | 1576 | <tbody> |
1577 | 1577 | </tbody> |
1578 | 1578 | </table> |
1579 | - <?php do_action( 'wpinv_tools_after' ); ?> |
|
1579 | + <?php do_action('wpinv_tools_after'); ?> |
|
1580 | 1580 | <?php |
1581 | 1581 | echo ob_get_clean(); |
1582 | 1582 | } |
1583 | 1583 | |
1584 | -function wpinv_descriptive_text_callback( $args ) { |
|
1585 | - echo wp_kses_post( $args['desc'] ); |
|
1584 | +function wpinv_descriptive_text_callback($args) { |
|
1585 | + echo wp_kses_post($args['desc']); |
|
1586 | 1586 | } |
1587 | 1587 | |
1588 | -function wpinv_hook_callback( $args ) { |
|
1589 | - do_action( 'wpinv_' . $args['id'], $args ); |
|
1588 | +function wpinv_hook_callback($args) { |
|
1589 | + do_action('wpinv_' . $args['id'], $args); |
|
1590 | 1590 | } |
1591 | 1591 | |
1592 | 1592 | function wpinv_set_settings_cap() { |
1593 | 1593 | return wpinv_get_capability(); |
1594 | 1594 | } |
1595 | -add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' ); |
|
1595 | +add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap'); |
|
1596 | 1596 | |
1597 | -function wpinv_settings_sanitize_input( $value, $key ) { |
|
1598 | - if ( $key == 'tax_rate' || $key == 'eu_fallback_rate' ) { |
|
1599 | - $value = wpinv_sanitize_amount( $value, 4 ); |
|
1597 | +function wpinv_settings_sanitize_input($value, $key) { |
|
1598 | + if ($key == 'tax_rate' || $key == 'eu_fallback_rate') { |
|
1599 | + $value = wpinv_sanitize_amount($value, 4); |
|
1600 | 1600 | $value = $value >= 100 ? 99 : $value; |
1601 | 1601 | } |
1602 | 1602 | |
1603 | 1603 | return $value; |
1604 | 1604 | } |
1605 | -add_filter( 'wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2 ); |
|
1605 | +add_filter('wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2); |
|
1606 | 1606 | |
1607 | -function wpinv_on_update_settings( $old_value, $value, $option ) { |
|
1608 | - $old = !empty( $old_value['remove_data_on_unistall'] ) ? 1 : ''; |
|
1609 | - $new = !empty( $value['remove_data_on_unistall'] ) ? 1 : ''; |
|
1607 | +function wpinv_on_update_settings($old_value, $value, $option) { |
|
1608 | + $old = !empty($old_value['remove_data_on_unistall']) ? 1 : ''; |
|
1609 | + $new = !empty($value['remove_data_on_unistall']) ? 1 : ''; |
|
1610 | 1610 | |
1611 | - if ( $old != $new ) { |
|
1612 | - update_option( 'wpinv_remove_data_on_invoice_unistall', $new ); |
|
1611 | + if ($old != $new) { |
|
1612 | + update_option('wpinv_remove_data_on_invoice_unistall', $new); |
|
1613 | 1613 | } |
1614 | 1614 | } |
1615 | -add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 ); |
|
1616 | -add_action( 'wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1617 | -add_action( 'wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1618 | -add_action( 'wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1619 | -add_action( 'wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1620 | -add_action( 'wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1621 | -add_action( 'wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1622 | -add_action( 'wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1623 | -add_action( 'wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1624 | -add_action( 'wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1625 | -add_action( 'wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
1626 | - |
|
1627 | -function wpinv_settings_tab_bottom_emails( $active_tab, $section ) { |
|
1615 | +add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3); |
|
1616 | +add_action('wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1617 | +add_action('wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1618 | +add_action('wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1619 | +add_action('wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1620 | +add_action('wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1621 | +add_action('wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1622 | +add_action('wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1623 | +add_action('wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1624 | +add_action('wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1625 | +add_action('wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
1626 | + |
|
1627 | +function wpinv_settings_tab_bottom_emails($active_tab, $section) { |
|
1628 | 1628 | ?> |
1629 | 1629 | <div class="wpinv-email-wc-row "> |
1630 | 1630 | <div class="wpinv-email-wc-td"> |
1631 | - <h3 class="wpinv-email-wc-title"><?php echo apply_filters( 'wpinv_settings_email_wildcards_title', __( 'Wildcards For Emails', 'invoicing' ) ); ?></h3> |
|
1631 | + <h3 class="wpinv-email-wc-title"><?php echo apply_filters('wpinv_settings_email_wildcards_title', __('Wildcards For Emails', 'invoicing')); ?></h3> |
|
1632 | 1632 | <p class="wpinv-email-wc-description"> |
1633 | 1633 | <?php |
1634 | - $description = __( 'The following wildcards can be used in email subjects, heading and content:<br> |
|
1634 | + $description = __('The following wildcards can be used in email subjects, heading and content:<br> |
|
1635 | 1635 | <strong>{site_title} :</strong> Site Title<br> |
1636 | 1636 | <strong>{name} :</strong> Customer\'s full name<br> |
1637 | 1637 | <strong>{first_name} :</strong> Customer\'s first name<br> |
@@ -1645,7 +1645,7 @@ discard block |
||
1645 | 1645 | <strong>{invoice_due_date} :</strong> The date the invoice is due<br> |
1646 | 1646 | <strong>{date} :</strong> Today\'s date.<br> |
1647 | 1647 | <strong>{is_was} :</strong> If due date of invoice is past, displays "was" otherwise displays "is"<br> |
1648 | - <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing' ); |
|
1648 | + <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing'); |
|
1649 | 1649 | echo apply_filters('wpinv_settings_email_wildcards_description', $description, $active_tab, $section); |
1650 | 1650 | ?> |
1651 | 1651 | </p> |