@@ -8,40 +8,40 @@ discard block |
||
8 | 8 | * @version 1.0.19 |
9 | 9 | */ |
10 | 10 | |
11 | -defined( 'ABSPATH' ) || exit; |
|
11 | +defined('ABSPATH') || exit; |
|
12 | 12 | |
13 | 13 | $getpaid_pages = GetPaid_Installer::get_pages(); |
14 | -$pages = wpinv_get_pages( true ); |
|
14 | +$pages = wpinv_get_pages(true); |
|
15 | 15 | |
16 | 16 | $currencies = wpinv_get_currencies(); |
17 | 17 | |
18 | 18 | $currency_code_options = array(); |
19 | -foreach ( $currencies as $code => $name ) { |
|
20 | - $currency_code_options[ $code ] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol( $code ) . ')'; |
|
19 | +foreach ($currencies as $code => $name) { |
|
20 | + $currency_code_options[$code] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol($code) . ')'; |
|
21 | 21 | } |
22 | 22 | |
23 | 23 | $invoice_number_padd_options = array(); |
24 | -for ( $i = 0; $i <= 20; $i++ ) { |
|
25 | - $invoice_number_padd_options[ $i ] = $i; |
|
24 | +for ($i = 0; $i <= 20; $i++) { |
|
25 | + $invoice_number_padd_options[$i] = $i; |
|
26 | 26 | } |
27 | 27 | |
28 | 28 | $currency_symbol = wpinv_currency_symbol(); |
29 | 29 | |
30 | 30 | $last_number = $reset_number = ''; |
31 | -if ( $last_invoice_number = get_option( 'wpinv_last_invoice_number' ) ) { |
|
32 | - $last_invoice_number = preg_replace( '/[^0-9]/', '', $last_invoice_number ); |
|
31 | +if ($last_invoice_number = get_option('wpinv_last_invoice_number')) { |
|
32 | + $last_invoice_number = preg_replace('/[^0-9]/', '', $last_invoice_number); |
|
33 | 33 | |
34 | - if ( ! empty( $last_invoice_number ) ) { |
|
35 | - $last_number = ' ' . wp_sprintf( __( "( Last Invoice's sequential number: <b>%s</b> )", 'invoicing' ), $last_invoice_number ); |
|
34 | + if (!empty($last_invoice_number)) { |
|
35 | + $last_number = ' ' . wp_sprintf(__("( Last Invoice's sequential number: <b>%s</b> )", 'invoicing'), $last_invoice_number); |
|
36 | 36 | } |
37 | 37 | |
38 | - $nonce = wp_create_nonce( 'reset_invoice_count' ); |
|
38 | + $nonce = wp_create_nonce('reset_invoice_count'); |
|
39 | 39 | $reset_number = '<a href="' . add_query_arg( |
40 | 40 | array( |
41 | 41 | 'reset_invoice_count' => 1, |
42 | 42 | '_nonce' => $nonce, |
43 | 43 | ) |
44 | - ) . '" class="btn button">' . __( 'Force Reset Sequence', 'invoicing' ) . '</a>'; |
|
44 | + ) . '" class="btn button">' . __('Force Reset Sequence', 'invoicing') . '</a>'; |
|
45 | 45 | } |
46 | 46 | |
47 | 47 | $alert_wrapper_start = '<p style="color: #F00">'; |
@@ -54,59 +54,59 @@ discard block |
||
54 | 54 | 'main' => array( |
55 | 55 | 'location_settings' => array( |
56 | 56 | 'id' => 'location_settings', |
57 | - 'name' => '<h3>' . __( 'Default Location', 'invoicing' ) . '</h3>', |
|
57 | + 'name' => '<h3>' . __('Default Location', 'invoicing') . '</h3>', |
|
58 | 58 | 'desc' => '', |
59 | 59 | 'type' => 'header', |
60 | 60 | ), |
61 | 61 | 'default_country' => array( |
62 | 62 | 'id' => 'default_country', |
63 | - 'name' => __( 'Default Country', 'invoicing' ), |
|
64 | - 'desc' => __( 'Where does your store operate from?', 'invoicing' ), |
|
63 | + 'name' => __('Default Country', 'invoicing'), |
|
64 | + 'desc' => __('Where does your store operate from?', 'invoicing'), |
|
65 | 65 | 'type' => 'select', |
66 | 66 | 'options' => wpinv_get_country_list(), |
67 | 67 | 'std' => 'GB', |
68 | 68 | 'class' => 'wpi_select2', |
69 | - 'placeholder' => __( 'Select a country', 'invoicing' ), |
|
69 | + 'placeholder' => __('Select a country', 'invoicing'), |
|
70 | 70 | ), |
71 | 71 | 'default_state' => array( |
72 | 72 | 'id' => 'default_state', |
73 | - 'name' => __( 'Default State / Province', 'invoicing' ), |
|
74 | - 'desc' => __( 'What state / province does your store operate from?', 'invoicing' ), |
|
73 | + 'name' => __('Default State / Province', 'invoicing'), |
|
74 | + 'desc' => __('What state / province does your store operate from?', 'invoicing'), |
|
75 | 75 | 'type' => 'country_states', |
76 | 76 | 'class' => 'wpi_select2', |
77 | - 'placeholder' => __( 'Select a state', 'invoicing' ), |
|
77 | + 'placeholder' => __('Select a state', 'invoicing'), |
|
78 | 78 | ), |
79 | 79 | 'store_name' => array( |
80 | 80 | 'id' => 'store_name', |
81 | - 'name' => __( 'Store Name', 'invoicing' ), |
|
82 | - 'desc' => __( 'Store name to print on invoices.', 'invoicing' ), |
|
83 | - 'std' => get_option( 'blogname' ), |
|
81 | + 'name' => __('Store Name', 'invoicing'), |
|
82 | + 'desc' => __('Store name to print on invoices.', 'invoicing'), |
|
83 | + 'std' => get_option('blogname'), |
|
84 | 84 | 'type' => 'text', |
85 | 85 | ), |
86 | 86 | 'logo' => array( |
87 | 87 | 'id' => 'logo', |
88 | - 'name' => __( 'Logo URL', 'invoicing' ), |
|
89 | - 'desc' => __( 'Store logo to print on invoices.', 'invoicing' ), |
|
88 | + 'name' => __('Logo URL', 'invoicing'), |
|
89 | + 'desc' => __('Store logo to print on invoices.', 'invoicing'), |
|
90 | 90 | 'type' => 'text', |
91 | 91 | ), |
92 | 92 | 'logo_width' => array( |
93 | 93 | 'id' => 'logo_width', |
94 | - 'name' => __( 'Logo width', 'invoicing' ), |
|
95 | - 'desc' => __( 'Logo width to use in invoice image.', 'invoicing' ), |
|
94 | + 'name' => __('Logo width', 'invoicing'), |
|
95 | + 'desc' => __('Logo width to use in invoice image.', 'invoicing'), |
|
96 | 96 | 'type' => 'number', |
97 | - 'placeholder' => __( 'Auto', 'invoicing' ), |
|
97 | + 'placeholder' => __('Auto', 'invoicing'), |
|
98 | 98 | ), |
99 | 99 | 'logo_height' => array( |
100 | 100 | 'id' => 'logo_height', |
101 | - 'name' => __( 'Logo height', 'invoicing' ), |
|
102 | - 'desc' => __( 'Logo height to use in invoice image.', 'invoicing' ), |
|
101 | + 'name' => __('Logo height', 'invoicing'), |
|
102 | + 'desc' => __('Logo height to use in invoice image.', 'invoicing'), |
|
103 | 103 | 'type' => 'number', |
104 | - 'placeholder' => __( 'Auto', 'invoicing' ), |
|
104 | + 'placeholder' => __('Auto', 'invoicing'), |
|
105 | 105 | ), |
106 | 106 | 'store_address' => array( |
107 | 107 | 'id' => 'store_address', |
108 | - 'name' => __( 'Store Address', 'invoicing' ), |
|
109 | - 'desc' => __( 'Enter the store address to display on invoice', 'invoicing' ), |
|
108 | + 'name' => __('Store Address', 'invoicing'), |
|
109 | + 'desc' => __('Enter the store address to display on invoice', 'invoicing'), |
|
110 | 110 | 'type' => 'textarea', |
111 | 111 | ), |
112 | 112 | |
@@ -114,114 +114,114 @@ discard block |
||
114 | 114 | 'page_section' => array( |
115 | 115 | 'page_settings' => array( |
116 | 116 | 'id' => 'page_settings', |
117 | - 'name' => '<h3>' . __( 'Page Settings', 'invoicing' ) . '</h3>', |
|
117 | + 'name' => '<h3>' . __('Page Settings', 'invoicing') . '</h3>', |
|
118 | 118 | 'desc' => '', |
119 | 119 | 'type' => 'header', |
120 | 120 | ), |
121 | 121 | 'checkout_page' => array( |
122 | 122 | 'id' => 'checkout_page', |
123 | - 'name' => __( 'Checkout Page', 'invoicing' ), |
|
124 | - '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' ), |
|
123 | + 'name' => __('Checkout Page', 'invoicing'), |
|
124 | + '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'), |
|
125 | 125 | 'type' => 'select', |
126 | 126 | 'options' => $pages, |
127 | 127 | 'class' => 'wpi_select2', |
128 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
129 | - 'default_content' => empty( $getpaid_pages['checkout_page'] ) ? '' : $getpaid_pages['checkout_page']['content'], |
|
128 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
129 | + 'default_content' => empty($getpaid_pages['checkout_page']) ? '' : $getpaid_pages['checkout_page']['content'], |
|
130 | 130 | 'help-tip' => true, |
131 | 131 | ), |
132 | 132 | 'success_page' => array( |
133 | 133 | 'id' => 'success_page', |
134 | - 'name' => __( 'Success Page', 'invoicing' ), |
|
135 | - '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' ), |
|
134 | + 'name' => __('Success Page', 'invoicing'), |
|
135 | + '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'), |
|
136 | 136 | 'type' => 'select', |
137 | 137 | 'options' => $pages, |
138 | 138 | 'class' => 'wpi_select2', |
139 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
140 | - 'default_content' => empty( $getpaid_pages['success_page'] ) ? '' : $getpaid_pages['success_page']['content'], |
|
139 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
140 | + 'default_content' => empty($getpaid_pages['success_page']) ? '' : $getpaid_pages['success_page']['content'], |
|
141 | 141 | 'help-tip' => true, |
142 | 142 | ), |
143 | 143 | 'failure_page' => array( |
144 | 144 | 'id' => 'failure_page', |
145 | - 'name' => __( 'Failed Transaction Page', 'invoicing' ), |
|
146 | - 'desc' => __( 'This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing' ), |
|
145 | + 'name' => __('Failed Transaction Page', 'invoicing'), |
|
146 | + 'desc' => __('This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing'), |
|
147 | 147 | 'type' => 'select', |
148 | 148 | 'options' => $pages, |
149 | 149 | 'class' => 'wpi_select2', |
150 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
151 | - 'default_content' => empty( $getpaid_pages['failure_page'] ) ? '' : $getpaid_pages['failure_page']['content'], |
|
150 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
151 | + 'default_content' => empty($getpaid_pages['failure_page']) ? '' : $getpaid_pages['failure_page']['content'], |
|
152 | 152 | 'help-tip' => true, |
153 | 153 | ), |
154 | 154 | 'invoice_history_page' => array( |
155 | 155 | 'id' => 'invoice_history_page', |
156 | - 'name' => __( 'Invoice History Page', 'invoicing' ), |
|
157 | - 'desc' => __( 'This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing' ), |
|
156 | + 'name' => __('Invoice History Page', 'invoicing'), |
|
157 | + 'desc' => __('This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing'), |
|
158 | 158 | 'type' => 'select', |
159 | 159 | 'options' => $pages, |
160 | 160 | 'class' => 'wpi_select2', |
161 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
162 | - 'default_content' => empty( $getpaid_pages['invoice_history_page'] ) ? '' : $getpaid_pages['invoice_history_page']['content'], |
|
161 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
162 | + 'default_content' => empty($getpaid_pages['invoice_history_page']) ? '' : $getpaid_pages['invoice_history_page']['content'], |
|
163 | 163 | 'help-tip' => true, |
164 | 164 | ), |
165 | 165 | 'invoice_subscription_page' => array( |
166 | 166 | 'id' => 'invoice_subscription_page', |
167 | - 'name' => __( 'Invoice Subscriptions Page', 'invoicing' ), |
|
168 | - 'desc' => __( 'This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing' ), |
|
167 | + 'name' => __('Invoice Subscriptions Page', 'invoicing'), |
|
168 | + 'desc' => __('This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing'), |
|
169 | 169 | 'type' => 'select', |
170 | 170 | 'options' => $pages, |
171 | 171 | 'class' => 'wpi_select2', |
172 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
173 | - 'default_content' => empty( $getpaid_pages['invoice_subscription_page'] ) ? '' : $getpaid_pages['invoice_subscription_page']['content'], |
|
172 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
173 | + 'default_content' => empty($getpaid_pages['invoice_subscription_page']) ? '' : $getpaid_pages['invoice_subscription_page']['content'], |
|
174 | 174 | 'help-tip' => true, |
175 | 175 | ), |
176 | 176 | ), |
177 | 177 | 'currency_section' => array( |
178 | 178 | 'currency_settings' => array( |
179 | 179 | 'id' => 'currency_settings', |
180 | - 'name' => '<h3>' . __( 'Currency Settings', 'invoicing' ) . '</h3>', |
|
180 | + 'name' => '<h3>' . __('Currency Settings', 'invoicing') . '</h3>', |
|
181 | 181 | 'desc' => '', |
182 | 182 | 'type' => 'header', |
183 | 183 | ), |
184 | 184 | 'currency' => array( |
185 | 185 | 'id' => 'currency', |
186 | - 'name' => __( 'Currency', 'invoicing' ), |
|
187 | - 'desc' => __( 'Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing' ), |
|
186 | + 'name' => __('Currency', 'invoicing'), |
|
187 | + 'desc' => __('Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing'), |
|
188 | 188 | 'type' => 'select', |
189 | 189 | 'class' => 'wpi_select2', |
190 | 190 | 'options' => $currency_code_options, |
191 | 191 | ), |
192 | 192 | 'currency_position' => array( |
193 | 193 | 'id' => 'currency_position', |
194 | - 'name' => __( 'Currency Position', 'invoicing' ), |
|
195 | - 'desc' => __( 'Choose the location of the currency sign.', 'invoicing' ), |
|
194 | + 'name' => __('Currency Position', 'invoicing'), |
|
195 | + 'desc' => __('Choose the location of the currency sign.', 'invoicing'), |
|
196 | 196 | 'type' => 'select', |
197 | 197 | 'class' => 'wpi_select2', |
198 | 198 | 'options' => array( |
199 | - 'left' => __( 'Left', 'invoicing' ) . ' (' . $currency_symbol . wpinv_format_amount( '99.99' ) . ')', |
|
200 | - 'right' => __( 'Right', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . $currency_symbol . ')', |
|
201 | - 'left_space' => __( 'Left with space', 'invoicing' ) . ' (' . $currency_symbol . ' ' . wpinv_format_amount( '99.99' ) . ')', |
|
202 | - 'right_space' => __( 'Right with space', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . ' ' . $currency_symbol . ')', |
|
199 | + 'left' => __('Left', 'invoicing') . ' (' . $currency_symbol . wpinv_format_amount('99.99') . ')', |
|
200 | + 'right' => __('Right', 'invoicing') . ' (' . wpinv_format_amount('99.99') . $currency_symbol . ')', |
|
201 | + 'left_space' => __('Left with space', 'invoicing') . ' (' . $currency_symbol . ' ' . wpinv_format_amount('99.99') . ')', |
|
202 | + 'right_space' => __('Right with space', 'invoicing') . ' (' . wpinv_format_amount('99.99') . ' ' . $currency_symbol . ')', |
|
203 | 203 | ), |
204 | 204 | ), |
205 | 205 | 'thousands_separator' => array( |
206 | 206 | 'id' => 'thousands_separator', |
207 | - 'name' => __( 'Thousands Separator', 'invoicing' ), |
|
208 | - 'desc' => __( 'The symbol (usually , or .) to separate thousands', 'invoicing' ), |
|
207 | + 'name' => __('Thousands Separator', 'invoicing'), |
|
208 | + 'desc' => __('The symbol (usually , or .) to separate thousands', 'invoicing'), |
|
209 | 209 | 'type' => 'text', |
210 | 210 | 'size' => 'small', |
211 | 211 | 'std' => ',', |
212 | 212 | ), |
213 | 213 | 'decimal_separator' => array( |
214 | 214 | 'id' => 'decimal_separator', |
215 | - 'name' => __( 'Decimal Separator', 'invoicing' ), |
|
216 | - 'desc' => __( 'The symbol (usually , or .) to separate decimal points', 'invoicing' ), |
|
215 | + 'name' => __('Decimal Separator', 'invoicing'), |
|
216 | + 'desc' => __('The symbol (usually , or .) to separate decimal points', 'invoicing'), |
|
217 | 217 | 'type' => 'text', |
218 | 218 | 'size' => 'small', |
219 | 219 | 'std' => '.', |
220 | 220 | ), |
221 | 221 | 'decimals' => array( |
222 | 222 | 'id' => 'decimals', |
223 | - 'name' => __( 'Number of Decimals', 'invoicing' ), |
|
224 | - 'desc' => __( 'This sets the number of decimal points shown in displayed prices.', 'invoicing' ), |
|
223 | + 'name' => __('Number of Decimals', 'invoicing'), |
|
224 | + 'desc' => __('This sets the number of decimal points shown in displayed prices.', 'invoicing'), |
|
225 | 225 | 'type' => 'number', |
226 | 226 | 'size' => 'small', |
227 | 227 | 'std' => '2', |
@@ -233,21 +233,21 @@ discard block |
||
233 | 233 | 'labels' => array( |
234 | 234 | 'labels' => array( |
235 | 235 | 'id' => 'labels_settings', |
236 | - 'name' => '<h3>' . __( 'Invoice Labels', 'invoicing' ) . '</h3>', |
|
236 | + 'name' => '<h3>' . __('Invoice Labels', 'invoicing') . '</h3>', |
|
237 | 237 | 'desc' => '', |
238 | 238 | 'type' => 'header', |
239 | 239 | ), |
240 | 240 | 'vat_invoice_notice_label' => array( |
241 | 241 | 'id' => 'vat_invoice_notice_label', |
242 | - 'name' => __( 'Invoice Notice Label', 'invoicing' ), |
|
243 | - 'desc' => __( 'Use this to add an invoice notice section (label) to your invoices', 'invoicing' ), |
|
242 | + 'name' => __('Invoice Notice Label', 'invoicing'), |
|
243 | + 'desc' => __('Use this to add an invoice notice section (label) to your invoices', 'invoicing'), |
|
244 | 244 | 'type' => 'text', |
245 | 245 | 'size' => 'regular', |
246 | 246 | ), |
247 | 247 | 'vat_invoice_notice' => array( |
248 | 248 | 'id' => 'vat_invoice_notice', |
249 | - 'name' => __( 'Invoice notice', 'invoicing' ), |
|
250 | - 'desc' => __( 'Use this to add an invoice notice section (description) to your invoices', 'invoicing' ), |
|
249 | + 'name' => __('Invoice notice', 'invoicing'), |
|
250 | + 'desc' => __('Use this to add an invoice notice section (description) to your invoices', 'invoicing'), |
|
251 | 251 | 'type' => 'text', |
252 | 252 | 'size' => 'regular', |
253 | 253 | ), |
@@ -260,22 +260,22 @@ discard block |
||
260 | 260 | 'main' => array( |
261 | 261 | 'gateway_settings' => array( |
262 | 262 | 'id' => 'api_header', |
263 | - 'name' => '<h3>' . __( 'Gateway Settings', 'invoicing' ) . '</h3>', |
|
263 | + 'name' => '<h3>' . __('Gateway Settings', 'invoicing') . '</h3>', |
|
264 | 264 | 'desc' => '', |
265 | 265 | 'type' => 'header', |
266 | 266 | ), |
267 | 267 | 'gateways' => array( |
268 | 268 | 'id' => 'gateways', |
269 | - 'name' => __( 'Payment Gateways', 'invoicing' ), |
|
270 | - 'desc' => __( 'Choose the payment gateways you want to enable.', 'invoicing' ), |
|
269 | + 'name' => __('Payment Gateways', 'invoicing'), |
|
270 | + 'desc' => __('Choose the payment gateways you want to enable.', 'invoicing'), |
|
271 | 271 | 'type' => 'gateways', |
272 | - 'std' => array( 'manual' => 1 ), |
|
272 | + 'std' => array('manual' => 1), |
|
273 | 273 | 'options' => wpinv_get_payment_gateways(), |
274 | 274 | ), |
275 | 275 | 'default_gateway' => array( |
276 | 276 | 'id' => 'default_gateway', |
277 | - 'name' => __( 'Default Gateway', 'invoicing' ), |
|
278 | - 'desc' => __( 'This gateway will be loaded automatically with the checkout page.', 'invoicing' ), |
|
277 | + 'name' => __('Default Gateway', 'invoicing'), |
|
278 | + 'desc' => __('This gateway will be loaded automatically with the checkout page.', 'invoicing'), |
|
279 | 279 | 'type' => 'gateway_select', |
280 | 280 | 'std' => 'manual', |
281 | 281 | 'class' => 'wpi_select2', |
@@ -291,32 +291,32 @@ discard block |
||
291 | 291 | 'main' => array( |
292 | 292 | 'tax_settings' => array( |
293 | 293 | 'id' => 'tax_settings', |
294 | - 'name' => '<h3>' . __( 'Tax Settings', 'invoicing' ) . '</h3>', |
|
294 | + 'name' => '<h3>' . __('Tax Settings', 'invoicing') . '</h3>', |
|
295 | 295 | 'type' => 'header', |
296 | 296 | ), |
297 | 297 | |
298 | 298 | 'enable_taxes' => array( |
299 | 299 | 'id' => 'enable_taxes', |
300 | - 'name' => __( 'Enable Taxes', 'invoicing' ), |
|
301 | - 'desc' => __( 'Enable tax rates and calculations.', 'invoicing' ), |
|
300 | + 'name' => __('Enable Taxes', 'invoicing'), |
|
301 | + 'desc' => __('Enable tax rates and calculations.', 'invoicing'), |
|
302 | 302 | 'type' => 'checkbox', |
303 | 303 | 'std' => 0, |
304 | 304 | ), |
305 | 305 | |
306 | 306 | 'tax_subtotal_rounding' => array( |
307 | 307 | 'id' => 'tax_subtotal_rounding', |
308 | - 'name' => __( 'Rounding', 'invoicing' ), |
|
309 | - 'desc' => __( 'Round tax at subtotal level, instead of rounding per tax rate', 'invoicing' ), |
|
308 | + 'name' => __('Rounding', 'invoicing'), |
|
309 | + 'desc' => __('Round tax at subtotal level, instead of rounding per tax rate', 'invoicing'), |
|
310 | 310 | 'type' => 'checkbox', |
311 | 311 | 'std' => 1, |
312 | 312 | ), |
313 | 313 | |
314 | 314 | 'prices_include_tax' => array( |
315 | 315 | 'id' => 'prices_include_tax', |
316 | - 'name' => __( 'Prices entered with tax', 'invoicing' ), |
|
316 | + 'name' => __('Prices entered with tax', 'invoicing'), |
|
317 | 317 | 'options' => array( |
318 | - 'yes' => __( 'Yes, I will enter prices inclusive of tax', 'invoicing' ), |
|
319 | - 'no' => __( 'No, I will enter prices exclusive of tax', 'invoicing' ), |
|
318 | + 'yes' => __('Yes, I will enter prices inclusive of tax', 'invoicing'), |
|
319 | + 'no' => __('No, I will enter prices exclusive of tax', 'invoicing'), |
|
320 | 320 | ), |
321 | 321 | 'type' => 'select', |
322 | 322 | 'std' => 'no', |
@@ -324,10 +324,10 @@ discard block |
||
324 | 324 | |
325 | 325 | 'tax_base' => array( |
326 | 326 | 'id' => 'tax_base', |
327 | - 'name' => __( 'Calculate tax based on', 'invoicing' ), |
|
327 | + 'name' => __('Calculate tax based on', 'invoicing'), |
|
328 | 328 | 'options' => array( |
329 | - 'billing' => __( 'Customer billing address', 'invoicing' ), |
|
330 | - 'base' => __( 'Shop base address', 'invoicing' ), |
|
329 | + 'billing' => __('Customer billing address', 'invoicing'), |
|
330 | + 'base' => __('Shop base address', 'invoicing'), |
|
331 | 331 | ), |
332 | 332 | 'type' => 'select', |
333 | 333 | 'std' => 'billing', |
@@ -335,10 +335,10 @@ discard block |
||
335 | 335 | |
336 | 336 | 'tax_display_totals' => array( |
337 | 337 | 'id' => 'tax_display_totals', |
338 | - 'name' => __( 'Display tax totals', 'invoicing' ), |
|
338 | + 'name' => __('Display tax totals', 'invoicing'), |
|
339 | 339 | 'options' => array( |
340 | - 'single' => __( 'As a single total', 'invoicing' ), |
|
341 | - 'individual' => __( 'As individual tax rates', 'invoicing' ), |
|
340 | + 'single' => __('As a single total', 'invoicing'), |
|
341 | + 'individual' => __('As individual tax rates', 'invoicing'), |
|
342 | 342 | ), |
343 | 343 | 'type' => 'select', |
344 | 344 | 'std' => 'individual', |
@@ -346,8 +346,8 @@ discard block |
||
346 | 346 | |
347 | 347 | 'tax_rate' => array( |
348 | 348 | 'id' => 'tax_rate', |
349 | - 'name' => __( 'Fallback Tax Rate', 'invoicing' ), |
|
350 | - 'desc' => __( 'Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing' ), |
|
349 | + 'name' => __('Fallback Tax Rate', 'invoicing'), |
|
350 | + 'desc' => __('Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing'), |
|
351 | 351 | 'type' => 'number', |
352 | 352 | 'size' => 'small', |
353 | 353 | 'min' => '0', |
@@ -359,8 +359,8 @@ discard block |
||
359 | 359 | 'rules' => array( |
360 | 360 | 'tax_rules' => array( |
361 | 361 | 'id' => 'tax_rules', |
362 | - 'name' => '<h3>' . __( 'Tax Rules', 'invoicing' ) . '</h3>', |
|
363 | - 'desc' => __( 'Create/Update tax rules', 'invoicing' ), |
|
362 | + 'name' => '<h3>' . __('Tax Rules', 'invoicing') . '</h3>', |
|
363 | + 'desc' => __('Create/Update tax rules', 'invoicing'), |
|
364 | 364 | 'type' => 'tax_rules', |
365 | 365 | ), |
366 | 366 | ), |
@@ -368,8 +368,8 @@ discard block |
||
368 | 368 | 'rates' => array( |
369 | 369 | 'tax_rates' => array( |
370 | 370 | 'id' => 'tax_rates', |
371 | - 'name' => '<h3>' . __( 'Tax Rates', 'invoicing' ) . '</h3>', |
|
372 | - 'desc' => __( 'Enter tax rates for specific regions.', 'invoicing' ), |
|
371 | + 'name' => '<h3>' . __('Tax Rates', 'invoicing') . '</h3>', |
|
372 | + 'desc' => __('Enter tax rates for specific regions.', 'invoicing'), |
|
373 | 373 | 'type' => 'tax_rates', |
374 | 374 | ), |
375 | 375 | ), |
@@ -378,45 +378,45 @@ discard block |
||
378 | 378 | |
379 | 379 | 'vat_company_name' => array( |
380 | 380 | 'id' => 'vat_company_name', |
381 | - 'name' => __( 'Company Name', 'invoicing' ), |
|
382 | - 'desc' => wp_sprintf( __( 'Verify your company name and VAT number on the %1$sEU VIES System.%2$s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ), |
|
381 | + 'name' => __('Company Name', 'invoicing'), |
|
382 | + 'desc' => wp_sprintf(__('Verify your company name and VAT number on the %1$sEU VIES System.%2$s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'), |
|
383 | 383 | 'type' => 'text', |
384 | 384 | 'size' => 'regular', |
385 | 385 | ), |
386 | 386 | |
387 | 387 | 'vat_number' => array( |
388 | 388 | 'id' => 'vat_number', |
389 | - 'name' => __( 'VAT Number', 'invoicing' ), |
|
390 | - 'desc' => __( 'Enter your VAT number including the country identifier, eg: GB123456789', 'invoicing' ), |
|
389 | + 'name' => __('VAT Number', 'invoicing'), |
|
390 | + 'desc' => __('Enter your VAT number including the country identifier, eg: GB123456789', 'invoicing'), |
|
391 | 391 | 'type' => 'text', |
392 | 392 | 'size' => 'regular', |
393 | 393 | ), |
394 | 394 | |
395 | 395 | 'vat_prevent_b2c_purchase' => array( |
396 | 396 | 'id' => 'vat_prevent_b2c_purchase', |
397 | - 'name' => __( 'Prevent B2C Sales', 'invoicing' ), |
|
398 | - 'desc' => __( 'Require everyone in the EU to provide a VAT number.', 'invoicing' ), |
|
397 | + 'name' => __('Prevent B2C Sales', 'invoicing'), |
|
398 | + 'desc' => __('Require everyone in the EU to provide a VAT number.', 'invoicing'), |
|
399 | 399 | 'type' => 'checkbox', |
400 | 400 | ), |
401 | 401 | |
402 | 402 | 'validate_vat_number' => array( |
403 | 403 | 'id' => 'validate_vat_number', |
404 | - 'name' => __( 'Validate VAT Number', 'invoicing' ), |
|
405 | - 'desc' => __( 'Validate VAT numbers with VIES.', 'invoicing' ), |
|
404 | + 'name' => __('Validate VAT Number', 'invoicing'), |
|
405 | + 'desc' => __('Validate VAT numbers with VIES.', 'invoicing'), |
|
406 | 406 | 'type' => 'checkbox', |
407 | 407 | ), |
408 | 408 | |
409 | 409 | 'vat_same_country_rule' => array( |
410 | 410 | 'id' => 'vat_same_country_rule', |
411 | - 'name' => __( 'Same Country Rule', 'invoicing' ), |
|
412 | - 'desc' => __( 'What should happen if a customer is from the same country as your business?', 'invoicing' ), |
|
411 | + 'name' => __('Same Country Rule', 'invoicing'), |
|
412 | + 'desc' => __('What should happen if a customer is from the same country as your business?', 'invoicing'), |
|
413 | 413 | 'type' => 'select', |
414 | 414 | 'options' => array( |
415 | - 'no' => __( 'Do not charge tax', 'invoicing' ), |
|
416 | - 'always' => __( 'Charge tax unless vat number is validated', 'invoicing' ), |
|
417 | - 'vat_too' => __( 'Charge tax even if vat number is validated', 'invoicing' ), |
|
415 | + 'no' => __('Do not charge tax', 'invoicing'), |
|
416 | + 'always' => __('Charge tax unless vat number is validated', 'invoicing'), |
|
417 | + 'vat_too' => __('Charge tax even if vat number is validated', 'invoicing'), |
|
418 | 418 | ), |
419 | - 'placeholder' => __( 'Select an option', 'invoicing' ), |
|
419 | + 'placeholder' => __('Select an option', 'invoicing'), |
|
420 | 420 | 'std' => 'vat_too', |
421 | 421 | ), |
422 | 422 | |
@@ -431,66 +431,66 @@ discard block |
||
431 | 431 | 'main' => array( |
432 | 432 | 'email_settings_header' => array( |
433 | 433 | 'id' => 'email_settings_header', |
434 | - 'name' => '<h3>' . __( 'Email Sender Options', 'invoicing' ) . '</h3>', |
|
434 | + 'name' => '<h3>' . __('Email Sender Options', 'invoicing') . '</h3>', |
|
435 | 435 | 'type' => 'header', |
436 | 436 | ), |
437 | 437 | 'email_from_name' => array( |
438 | 438 | 'id' => 'email_from_name', |
439 | - 'name' => __( 'From Name', 'invoicing' ), |
|
440 | - 'desc' => __( 'Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing' ), |
|
441 | - 'std' => esc_attr( get_bloginfo( 'name', 'display' ) ), |
|
439 | + 'name' => __('From Name', 'invoicing'), |
|
440 | + 'desc' => __('Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing'), |
|
441 | + 'std' => esc_attr(get_bloginfo('name', 'display')), |
|
442 | 442 | 'type' => 'text', |
443 | 443 | ), |
444 | 444 | 'email_from' => array( |
445 | 445 | 'id' => 'email_from', |
446 | - 'name' => __( 'From Email', 'invoicing' ), |
|
447 | - 'desc' => sprintf( __( 'Email address to send invoice emails from. This will act as the "from" address. %1$s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%2$s', 'invoicing' ), $alert_wrapper_start, $alert_wrapper_close ), |
|
448 | - 'std' => get_option( 'admin_email' ), |
|
446 | + 'name' => __('From Email', 'invoicing'), |
|
447 | + 'desc' => sprintf(__('Email address to send invoice emails from. This will act as the "from" address. %1$s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%2$s', 'invoicing'), $alert_wrapper_start, $alert_wrapper_close), |
|
448 | + 'std' => get_option('admin_email'), |
|
449 | 449 | 'type' => 'text', |
450 | 450 | ), |
451 | 451 | 'admin_email' => array( |
452 | 452 | 'id' => 'admin_email', |
453 | - 'name' => __( 'Admin Email', 'invoicing' ), |
|
454 | - 'desc' => __( 'Where should we send admin notifications? This will is also act as the "reply-to" address for invoice emails', 'invoicing' ), |
|
455 | - 'std' => get_option( 'admin_email' ), |
|
453 | + 'name' => __('Admin Email', 'invoicing'), |
|
454 | + 'desc' => __('Where should we send admin notifications? This will is also act as the "reply-to" address for invoice emails', 'invoicing'), |
|
455 | + 'std' => get_option('admin_email'), |
|
456 | 456 | 'type' => 'text', |
457 | 457 | ), |
458 | 458 | 'skip_email_free_invoice' => array( |
459 | 459 | 'id' => 'skip_email_free_invoice', |
460 | - 'name' => __( 'Skip Free Invoices', 'invoicing' ), |
|
461 | - 'desc' => __( 'Check this to disable sending emails for free invoices.', 'invoicing' ), |
|
460 | + 'name' => __('Skip Free Invoices', 'invoicing'), |
|
461 | + 'desc' => __('Check this to disable sending emails for free invoices.', 'invoicing'), |
|
462 | 462 | 'type' => 'checkbox', |
463 | 463 | 'std' => false, |
464 | 464 | ), |
465 | 465 | 'overdue_settings_header' => array( |
466 | 466 | 'id' => 'overdue_settings_header', |
467 | - 'name' => '<h3>' . __( 'Due Date Settings', 'invoicing' ) . '</h3>', |
|
467 | + 'name' => '<h3>' . __('Due Date Settings', 'invoicing') . '</h3>', |
|
468 | 468 | 'type' => 'header', |
469 | 469 | ), |
470 | 470 | 'overdue_active' => array( |
471 | 471 | 'id' => 'overdue_active', |
472 | - 'name' => __( 'Enable Due Date', 'invoicing' ), |
|
473 | - 'desc' => __( 'Check this to enable due date option for invoices.', 'invoicing' ), |
|
472 | + 'name' => __('Enable Due Date', 'invoicing'), |
|
473 | + 'desc' => __('Check this to enable due date option for invoices.', 'invoicing'), |
|
474 | 474 | 'type' => 'checkbox', |
475 | 475 | 'std' => false, |
476 | 476 | ), |
477 | 477 | 'email_template_header' => array( |
478 | 478 | 'id' => 'email_template_header', |
479 | - 'name' => '<h3>' . __( 'Email Template', 'invoicing' ) . '</h3>', |
|
479 | + 'name' => '<h3>' . __('Email Template', 'invoicing') . '</h3>', |
|
480 | 480 | 'type' => 'header', |
481 | 481 | ), |
482 | 482 | 'email_header_image' => array( |
483 | 483 | 'id' => 'email_header_image', |
484 | - 'name' => __( 'Header Image', 'invoicing' ), |
|
485 | - 'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing' ), |
|
484 | + 'name' => __('Header Image', 'invoicing'), |
|
485 | + 'desc' => __('URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing'), |
|
486 | 486 | 'std' => '', |
487 | 487 | 'type' => 'text', |
488 | 488 | ), |
489 | 489 | 'email_footer_text' => array( |
490 | 490 | 'id' => 'email_footer_text', |
491 | - 'name' => __( 'Footer Text', 'invoicing' ), |
|
492 | - 'desc' => __( 'The text to appear in the footer of all invoice emails.', 'invoicing' ), |
|
493 | - 'std' => get_bloginfo( 'name', 'display' ) . ' - ' . __( 'Powered by GetPaid', 'invoicing' ), |
|
491 | + 'name' => __('Footer Text', 'invoicing'), |
|
492 | + 'desc' => __('The text to appear in the footer of all invoice emails.', 'invoicing'), |
|
493 | + 'std' => get_bloginfo('name', 'display') . ' - ' . __('Powered by GetPaid', 'invoicing'), |
|
494 | 494 | 'type' => 'textarea', |
495 | 495 | 'class' => 'regular-text', |
496 | 496 | 'rows' => 2, |
@@ -498,29 +498,29 @@ discard block |
||
498 | 498 | ), |
499 | 499 | 'email_base_color' => array( |
500 | 500 | 'id' => 'email_base_color', |
501 | - 'name' => __( 'Base Color', 'invoicing' ), |
|
502 | - 'desc' => __( 'The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing' ), |
|
501 | + 'name' => __('Base Color', 'invoicing'), |
|
502 | + 'desc' => __('The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing'), |
|
503 | 503 | 'std' => '#557da2', |
504 | 504 | 'type' => 'color', |
505 | 505 | ), |
506 | 506 | 'email_background_color' => array( |
507 | 507 | 'id' => 'email_background_color', |
508 | - 'name' => __( 'Background Color', 'invoicing' ), |
|
509 | - 'desc' => __( 'The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing' ), |
|
508 | + 'name' => __('Background Color', 'invoicing'), |
|
509 | + 'desc' => __('The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing'), |
|
510 | 510 | 'std' => '#f5f5f5', |
511 | 511 | 'type' => 'color', |
512 | 512 | ), |
513 | 513 | 'email_body_background_color' => array( |
514 | 514 | 'id' => 'email_body_background_color', |
515 | - 'name' => __( 'Body Background Color', 'invoicing' ), |
|
516 | - 'desc' => __( 'The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing' ), |
|
515 | + 'name' => __('Body Background Color', 'invoicing'), |
|
516 | + 'desc' => __('The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing'), |
|
517 | 517 | 'std' => '#fdfdfd', |
518 | 518 | 'type' => 'color', |
519 | 519 | ), |
520 | 520 | 'email_text_color' => array( |
521 | 521 | 'id' => 'email_text_color', |
522 | - 'name' => __( 'Body Text Color', 'invoicing' ), |
|
523 | - 'desc' => __( 'The main body text color. Default <code>#505050</code>.', 'invoicing' ), |
|
522 | + 'name' => __('Body Text Color', 'invoicing'), |
|
523 | + 'desc' => __('The main body text color. Default <code>#505050</code>.', 'invoicing'), |
|
524 | 524 | 'std' => '#505050', |
525 | 525 | 'type' => 'color', |
526 | 526 | ), |
@@ -535,7 +535,7 @@ discard block |
||
535 | 535 | ), |
536 | 536 | |
537 | 537 | // Integrations. |
538 | - 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'settings', 'id' ), |
|
538 | + 'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'settings', 'id'), |
|
539 | 539 | |
540 | 540 | /** Privacy Settings */ |
541 | 541 | 'privacy' => apply_filters( |
@@ -544,17 +544,17 @@ discard block |
||
544 | 544 | 'main' => array( |
545 | 545 | 'invoicing_privacy_policy_settings' => array( |
546 | 546 | 'id' => 'invoicing_privacy_policy_settings', |
547 | - 'name' => '<h3>' . __( 'Privacy Policy', 'invoicing' ) . '</h3>', |
|
547 | + 'name' => '<h3>' . __('Privacy Policy', 'invoicing') . '</h3>', |
|
548 | 548 | 'type' => 'header', |
549 | 549 | ), |
550 | 550 | 'privacy_page' => array( |
551 | 551 | 'id' => 'privacy_page', |
552 | - 'name' => __( 'Privacy Page', 'invoicing' ), |
|
553 | - 'desc' => __( 'If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing' ), |
|
552 | + 'name' => __('Privacy Page', 'invoicing'), |
|
553 | + 'desc' => __('If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing'), |
|
554 | 554 | 'type' => 'select', |
555 | - 'options' => wpinv_get_pages( true, __( 'Select a page', 'invoicing' ) ), |
|
555 | + 'options' => wpinv_get_pages(true, __('Select a page', 'invoicing')), |
|
556 | 556 | 'class' => 'wpi_select2', |
557 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
557 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
558 | 558 | ), |
559 | 559 | ), |
560 | 560 | ) |
@@ -566,19 +566,19 @@ discard block |
||
566 | 566 | 'main' => array( |
567 | 567 | 'invoice_number_format_settings' => array( |
568 | 568 | 'id' => 'invoice_number_format_settings', |
569 | - 'name' => '<h3>' . __( 'Invoice Number', 'invoicing' ) . '</h3>', |
|
569 | + 'name' => '<h3>' . __('Invoice Number', 'invoicing') . '</h3>', |
|
570 | 570 | 'type' => 'header', |
571 | 571 | ), |
572 | 572 | 'sequential_invoice_number' => array( |
573 | 573 | 'id' => 'sequential_invoice_number', |
574 | - 'name' => __( 'Sequential Invoice Numbers', 'invoicing' ), |
|
575 | - 'desc' => __( 'Check this box to enable sequential invoice numbers.', 'invoicing' ) . $reset_number, |
|
574 | + 'name' => __('Sequential Invoice Numbers', 'invoicing'), |
|
575 | + 'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing') . $reset_number, |
|
576 | 576 | 'type' => 'checkbox', |
577 | 577 | ), |
578 | 578 | 'invoice_sequence_start' => array( |
579 | 579 | 'id' => 'invoice_sequence_start', |
580 | - 'name' => __( 'Sequential Starting Number', 'invoicing' ), |
|
581 | - 'desc' => __( 'The number at which the invoice number sequence should begin.', 'invoicing' ) . $last_number, |
|
580 | + 'name' => __('Sequential Starting Number', 'invoicing'), |
|
581 | + 'desc' => __('The number at which the invoice number sequence should begin.', 'invoicing') . $last_number, |
|
582 | 582 | 'type' => 'number', |
583 | 583 | 'size' => 'small', |
584 | 584 | 'std' => '1', |
@@ -586,8 +586,8 @@ discard block |
||
586 | 586 | ), |
587 | 587 | 'invoice_number_padd' => array( |
588 | 588 | 'id' => 'invoice_number_padd', |
589 | - 'name' => __( 'Minimum Digits', 'invoicing' ), |
|
590 | - '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' ), |
|
589 | + 'name' => __('Minimum Digits', 'invoicing'), |
|
590 | + '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'), |
|
591 | 591 | 'type' => 'select', |
592 | 592 | 'options' => $invoice_number_padd_options, |
593 | 593 | 'std' => 5, |
@@ -595,8 +595,8 @@ discard block |
||
595 | 595 | ), |
596 | 596 | 'invoice_number_prefix' => array( |
597 | 597 | 'id' => 'invoice_number_prefix', |
598 | - 'name' => __( 'Invoice Number Prefix', 'invoicing' ), |
|
599 | - 'desc' => __( 'Prefix for all invoice numbers. Ex: INV-', 'invoicing' ), |
|
598 | + 'name' => __('Invoice Number Prefix', 'invoicing'), |
|
599 | + 'desc' => __('Prefix for all invoice numbers. Ex: INV-', 'invoicing'), |
|
600 | 600 | 'type' => 'text', |
601 | 601 | 'size' => 'regular', |
602 | 602 | 'std' => 'INV-', |
@@ -604,46 +604,46 @@ discard block |
||
604 | 604 | ), |
605 | 605 | 'invoice_number_postfix' => array( |
606 | 606 | 'id' => 'invoice_number_postfix', |
607 | - 'name' => __( 'Invoice Number Postfix', 'invoicing' ), |
|
608 | - 'desc' => __( 'Postfix for all invoice numbers.', 'invoicing' ), |
|
607 | + 'name' => __('Invoice Number Postfix', 'invoicing'), |
|
608 | + 'desc' => __('Postfix for all invoice numbers.', 'invoicing'), |
|
609 | 609 | 'type' => 'text', |
610 | 610 | 'size' => 'regular', |
611 | 611 | 'std' => '', |
612 | 612 | ), |
613 | 613 | 'checkout_settings' => array( |
614 | 614 | 'id' => 'checkout_settings', |
615 | - 'name' => '<h3>' . __( 'Checkout Settings', 'invoicing' ) . '</h3>', |
|
615 | + 'name' => '<h3>' . __('Checkout Settings', 'invoicing') . '</h3>', |
|
616 | 616 | 'type' => 'header', |
617 | 617 | ), |
618 | 618 | 'disable_new_user_emails' => array( |
619 | 619 | 'id' => 'disable_new_user_emails', |
620 | - 'name' => __( 'Disable new user emails', 'invoicing' ), |
|
621 | - 'desc' => __( 'Do not send an email to customers when a new user account is created for them.', 'invoicing' ), |
|
620 | + 'name' => __('Disable new user emails', 'invoicing'), |
|
621 | + 'desc' => __('Do not send an email to customers when a new user account is created for them.', 'invoicing'), |
|
622 | 622 | 'type' => 'checkbox', |
623 | 623 | ), |
624 | 624 | 'login_to_checkout' => array( |
625 | 625 | 'id' => 'login_to_checkout', |
626 | - 'name' => __( 'Require Login To Checkout', 'invoicing' ), |
|
627 | - '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' ), |
|
626 | + 'name' => __('Require Login To Checkout', 'invoicing'), |
|
627 | + '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'), |
|
628 | 628 | 'type' => 'checkbox', |
629 | 629 | ), |
630 | 630 | 'maxmind_license_key' => array( |
631 | 631 | 'id' => 'maxmind_license_key', |
632 | - 'name' => __( 'MaxMind License Key', 'invoicing' ), |
|
632 | + 'name' => __('MaxMind License Key', 'invoicing'), |
|
633 | 633 | 'type' => 'text', |
634 | 634 | 'size' => 'regular', |
635 | - 'desc' => __( "Enter you license key if you would like to use MaxMind to automatically detect a customer's country.", 'invoicing' ) . ' <a href="https://support.maxmind.com/hc/en-us/articles/4407111582235-Generate-a-License-Key">' . __( 'How to generate a free license key.', 'invoicing' ) . '</a>', |
|
635 | + 'desc' => __("Enter you license key if you would like to use MaxMind to automatically detect a customer's country.", 'invoicing') . ' <a href="https://support.maxmind.com/hc/en-us/articles/4407111582235-Generate-a-License-Key">' . __('How to generate a free license key.', 'invoicing') . '</a>', |
|
636 | 636 | ), |
637 | 637 | |
638 | 638 | 'uninstall_settings' => array( |
639 | 639 | 'id' => 'uninstall_settings', |
640 | - 'name' => '<h3>' . __( 'Uninstall Settings', 'invoicing' ) . '</h3>', |
|
640 | + 'name' => '<h3>' . __('Uninstall Settings', 'invoicing') . '</h3>', |
|
641 | 641 | 'type' => 'header', |
642 | 642 | ), |
643 | 643 | 'remove_data_on_unistall' => array( |
644 | 644 | 'id' => 'remove_data_on_unistall', |
645 | - 'name' => __( 'Remove Data on Uninstall?', 'invoicing' ), |
|
646 | - 'desc' => __( 'Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing' ), |
|
645 | + 'name' => __('Remove Data on Uninstall?', 'invoicing'), |
|
646 | + 'desc' => __('Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing'), |
|
647 | 647 | 'type' => 'checkbox', |
648 | 648 | 'std' => '', |
649 | 649 | ), |
@@ -652,13 +652,13 @@ discard block |
||
652 | 652 | 'custom-css' => array( |
653 | 653 | 'css_settings' => array( |
654 | 654 | 'id' => 'css_settings', |
655 | - 'name' => '<h3>' . __( 'Custom CSS', 'invoicing' ) . '</h3>', |
|
655 | + 'name' => '<h3>' . __('Custom CSS', 'invoicing') . '</h3>', |
|
656 | 656 | 'type' => 'header', |
657 | 657 | ), |
658 | 658 | 'template_custom_css' => array( |
659 | 659 | 'id' => 'template_custom_css', |
660 | - 'name' => __( 'Invoice Template CSS', 'invoicing' ), |
|
661 | - 'desc' => __( 'Add CSS to modify appearance of the print invoice page.', 'invoicing' ), |
|
660 | + 'name' => __('Invoice Template CSS', 'invoicing'), |
|
661 | + 'desc' => __('Add CSS to modify appearance of the print invoice page.', 'invoicing'), |
|
662 | 662 | 'type' => 'textarea', |
663 | 663 | 'class' => 'regular-text', |
664 | 664 | 'rows' => 10, |
@@ -673,8 +673,8 @@ discard block |
||
673 | 673 | 'main' => array( |
674 | 674 | 'tool_settings' => array( |
675 | 675 | 'id' => 'tool_settings', |
676 | - 'name' => '<h3>' . __( 'Diagnostic Tools', 'invoicing' ) . '</h3>', |
|
677 | - 'desc' => __( 'Invoicing diagnostic tools', 'invoicing' ), |
|
676 | + 'name' => '<h3>' . __('Diagnostic Tools', 'invoicing') . '</h3>', |
|
677 | + 'desc' => __('Invoicing diagnostic tools', 'invoicing'), |
|
678 | 678 | 'type' => 'tools', |
679 | 679 | ), |
680 | 680 | ), |
@@ -13,719 +13,719 @@ discard block |
||
13 | 13 | class GetPaid_Post_Types_Admin { |
14 | 14 | |
15 | 15 | /** |
16 | - * Hook in methods. |
|
17 | - */ |
|
18 | - public static function init() { |
|
19 | - |
|
20 | - // Init metaboxes. |
|
21 | - GetPaid_Metaboxes::init(); |
|
22 | - |
|
23 | - // Filter the post updated messages. |
|
24 | - add_filter( 'post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages' ); |
|
25 | - |
|
26 | - // Filter post actions. |
|
27 | - add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2 ); |
|
28 | - add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2 ); |
|
29 | - |
|
30 | - // Invoice table columns. |
|
31 | - add_filter( 'manage_wpi_invoice_posts_columns', array( __CLASS__, 'invoice_columns' ), 100 ); |
|
32 | - add_action( 'manage_wpi_invoice_posts_custom_column', array( __CLASS__, 'display_invoice_columns' ), 10, 2 ); |
|
33 | - add_filter( 'bulk_actions-edit-wpi_invoice', array( __CLASS__, 'invoice_bulk_actions' ) ); |
|
34 | - add_filter( 'handle_bulk_actions-edit-wpi_invoice', array( __CLASS__, 'handle_invoice_bulk_actions' ), 10, 3 ); |
|
35 | - |
|
36 | - // Items table columns. |
|
37 | - add_filter( 'manage_wpi_item_posts_columns', array( __CLASS__, 'item_columns' ), 100 ); |
|
38 | - add_filter( 'manage_edit-wpi_item_sortable_columns', array( __CLASS__, 'sortable_item_columns' ), 20 ); |
|
39 | - add_action( 'manage_wpi_item_posts_custom_column', array( __CLASS__, 'display_item_columns' ), 10, 2 ); |
|
40 | - add_action( 'restrict_manage_posts', array( __CLASS__, 'add_item_filters' ), 100 ); |
|
41 | - add_action( 'parse_query', array( __CLASS__, 'filter_item_query' ), 100 ); |
|
42 | - add_action( 'request', array( __CLASS__, 'reorder_items' ), 100 ); |
|
43 | - |
|
44 | - // Payment forms columns. |
|
45 | - add_filter( 'manage_wpi_payment_form_posts_columns', array( __CLASS__, 'payment_form_columns' ), 100 ); |
|
46 | - add_action( 'manage_wpi_payment_form_posts_custom_column', array( __CLASS__, 'display_payment_form_columns' ), 10, 2 ); |
|
47 | - add_filter( 'display_post_states', array( __CLASS__, 'filter_payment_form_state' ), 10, 2 ); |
|
48 | - |
|
49 | - // Discount table columns. |
|
50 | - add_filter( 'manage_wpi_discount_posts_columns', array( __CLASS__, 'discount_columns' ), 100 ); |
|
51 | - add_filter( 'bulk_actions-edit-wpi_discount', '__return_empty_array', 100 ); |
|
52 | - |
|
53 | - // Deleting posts. |
|
54 | - add_action( 'delete_post', array( __CLASS__, 'delete_post' ) ); |
|
55 | - add_filter( 'display_post_states', array( __CLASS__, 'filter_discount_state' ), 10, 2 ); |
|
56 | - |
|
57 | - add_filter( 'display_post_states', array( __CLASS__, 'add_display_post_states' ), 10, 2 ); |
|
58 | - } |
|
59 | - |
|
60 | - /** |
|
61 | - * Post updated messages. |
|
62 | - */ |
|
63 | - public static function post_updated_messages( $messages ) { |
|
64 | - global $post; |
|
65 | - |
|
66 | - $messages['wpi_discount'] = array( |
|
67 | - 0 => '', |
|
68 | - 1 => __( 'Discount updated.', 'invoicing' ), |
|
69 | - 2 => __( 'Custom field updated.', 'invoicing' ), |
|
70 | - 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
71 | - 4 => __( 'Discount updated.', 'invoicing' ), |
|
72 | - 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
73 | - 6 => __( 'Discount updated.', 'invoicing' ), |
|
74 | - 7 => __( 'Discount saved.', 'invoicing' ), |
|
75 | - 8 => __( 'Discount submitted.', 'invoicing' ), |
|
76 | - 9 => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
77 | - 10 => __( 'Discount draft updated.', 'invoicing' ), |
|
78 | - ); |
|
79 | - |
|
80 | - $messages['wpi_payment_form'] = array( |
|
81 | - 0 => '', |
|
82 | - 1 => __( 'Payment Form updated.', 'invoicing' ), |
|
83 | - 2 => __( 'Custom field updated.', 'invoicing' ), |
|
84 | - 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
85 | - 4 => __( 'Payment Form updated.', 'invoicing' ), |
|
86 | - 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Payment Form restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
87 | - 6 => __( 'Payment Form updated.', 'invoicing' ), |
|
88 | - 7 => __( 'Payment Form saved.', 'invoicing' ), |
|
89 | - 8 => __( 'Payment Form submitted.', 'invoicing' ), |
|
90 | - 9 => wp_sprintf( __( 'Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
91 | - 10 => __( 'Payment Form draft updated.', 'invoicing' ), |
|
92 | - ); |
|
93 | - |
|
94 | - return $messages; |
|
95 | - |
|
96 | - } |
|
97 | - |
|
98 | - /** |
|
99 | - * Post row actions. |
|
100 | - */ |
|
101 | - public static function post_row_actions( $actions, $post ) { |
|
102 | - |
|
103 | - $post = get_post( $post ); |
|
104 | - |
|
105 | - // We do not want to edit the default payment form. |
|
106 | - if ( 'wpi_payment_form' == $post->post_type ) { |
|
107 | - |
|
108 | - if ( $post->ID == wpinv_get_default_payment_form() ) { |
|
109 | - unset( $actions['trash'] ); |
|
110 | - unset( $actions['inline hide-if-no-js'] ); |
|
111 | - } |
|
112 | - |
|
113 | - $actions['duplicate'] = sprintf( |
|
114 | - '<a href="%1$s">%2$s</a>', |
|
115 | - esc_url( |
|
116 | - wp_nonce_url( |
|
117 | - add_query_arg( |
|
118 | - array( |
|
119 | - 'getpaid-admin-action' => 'duplicate_form', |
|
120 | - 'form_id' => $post->ID, |
|
121 | - ) |
|
122 | - ), |
|
123 | - 'getpaid-nonce', |
|
124 | - 'getpaid-nonce' |
|
125 | - ) |
|
126 | - ), |
|
127 | - esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
128 | - ); |
|
129 | - |
|
130 | - } |
|
131 | - |
|
132 | - // Link to item payment form. |
|
133 | - if ( 'wpi_item' == $post->post_type ) { |
|
134 | - |
|
135 | - if ( in_array( get_post_meta( $post->ID, '_wpinv_type', true ), array( '', 'fee', 'custom' ) ) ) { |
|
136 | - |
|
137 | - $actions['buy'] = sprintf( |
|
138 | - '<a href="%1$s">%2$s</a>', |
|
139 | - esc_url( getpaid_embed_url( false, $post->ID . '|0' ) ), |
|
140 | - esc_html( __( 'Buy', 'invoicing' ) ) |
|
141 | - ); |
|
142 | - |
|
143 | - } |
|
16 | + * Hook in methods. |
|
17 | + */ |
|
18 | + public static function init() { |
|
19 | + |
|
20 | + // Init metaboxes. |
|
21 | + GetPaid_Metaboxes::init(); |
|
22 | + |
|
23 | + // Filter the post updated messages. |
|
24 | + add_filter( 'post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages' ); |
|
25 | + |
|
26 | + // Filter post actions. |
|
27 | + add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2 ); |
|
28 | + add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2 ); |
|
29 | + |
|
30 | + // Invoice table columns. |
|
31 | + add_filter( 'manage_wpi_invoice_posts_columns', array( __CLASS__, 'invoice_columns' ), 100 ); |
|
32 | + add_action( 'manage_wpi_invoice_posts_custom_column', array( __CLASS__, 'display_invoice_columns' ), 10, 2 ); |
|
33 | + add_filter( 'bulk_actions-edit-wpi_invoice', array( __CLASS__, 'invoice_bulk_actions' ) ); |
|
34 | + add_filter( 'handle_bulk_actions-edit-wpi_invoice', array( __CLASS__, 'handle_invoice_bulk_actions' ), 10, 3 ); |
|
35 | + |
|
36 | + // Items table columns. |
|
37 | + add_filter( 'manage_wpi_item_posts_columns', array( __CLASS__, 'item_columns' ), 100 ); |
|
38 | + add_filter( 'manage_edit-wpi_item_sortable_columns', array( __CLASS__, 'sortable_item_columns' ), 20 ); |
|
39 | + add_action( 'manage_wpi_item_posts_custom_column', array( __CLASS__, 'display_item_columns' ), 10, 2 ); |
|
40 | + add_action( 'restrict_manage_posts', array( __CLASS__, 'add_item_filters' ), 100 ); |
|
41 | + add_action( 'parse_query', array( __CLASS__, 'filter_item_query' ), 100 ); |
|
42 | + add_action( 'request', array( __CLASS__, 'reorder_items' ), 100 ); |
|
43 | + |
|
44 | + // Payment forms columns. |
|
45 | + add_filter( 'manage_wpi_payment_form_posts_columns', array( __CLASS__, 'payment_form_columns' ), 100 ); |
|
46 | + add_action( 'manage_wpi_payment_form_posts_custom_column', array( __CLASS__, 'display_payment_form_columns' ), 10, 2 ); |
|
47 | + add_filter( 'display_post_states', array( __CLASS__, 'filter_payment_form_state' ), 10, 2 ); |
|
48 | + |
|
49 | + // Discount table columns. |
|
50 | + add_filter( 'manage_wpi_discount_posts_columns', array( __CLASS__, 'discount_columns' ), 100 ); |
|
51 | + add_filter( 'bulk_actions-edit-wpi_discount', '__return_empty_array', 100 ); |
|
52 | + |
|
53 | + // Deleting posts. |
|
54 | + add_action( 'delete_post', array( __CLASS__, 'delete_post' ) ); |
|
55 | + add_filter( 'display_post_states', array( __CLASS__, 'filter_discount_state' ), 10, 2 ); |
|
56 | + |
|
57 | + add_filter( 'display_post_states', array( __CLASS__, 'add_display_post_states' ), 10, 2 ); |
|
58 | + } |
|
59 | + |
|
60 | + /** |
|
61 | + * Post updated messages. |
|
62 | + */ |
|
63 | + public static function post_updated_messages( $messages ) { |
|
64 | + global $post; |
|
65 | + |
|
66 | + $messages['wpi_discount'] = array( |
|
67 | + 0 => '', |
|
68 | + 1 => __( 'Discount updated.', 'invoicing' ), |
|
69 | + 2 => __( 'Custom field updated.', 'invoicing' ), |
|
70 | + 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
71 | + 4 => __( 'Discount updated.', 'invoicing' ), |
|
72 | + 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
73 | + 6 => __( 'Discount updated.', 'invoicing' ), |
|
74 | + 7 => __( 'Discount saved.', 'invoicing' ), |
|
75 | + 8 => __( 'Discount submitted.', 'invoicing' ), |
|
76 | + 9 => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
77 | + 10 => __( 'Discount draft updated.', 'invoicing' ), |
|
78 | + ); |
|
79 | + |
|
80 | + $messages['wpi_payment_form'] = array( |
|
81 | + 0 => '', |
|
82 | + 1 => __( 'Payment Form updated.', 'invoicing' ), |
|
83 | + 2 => __( 'Custom field updated.', 'invoicing' ), |
|
84 | + 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
85 | + 4 => __( 'Payment Form updated.', 'invoicing' ), |
|
86 | + 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Payment Form restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
87 | + 6 => __( 'Payment Form updated.', 'invoicing' ), |
|
88 | + 7 => __( 'Payment Form saved.', 'invoicing' ), |
|
89 | + 8 => __( 'Payment Form submitted.', 'invoicing' ), |
|
90 | + 9 => wp_sprintf( __( 'Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
91 | + 10 => __( 'Payment Form draft updated.', 'invoicing' ), |
|
92 | + ); |
|
93 | + |
|
94 | + return $messages; |
|
95 | + |
|
96 | + } |
|
97 | + |
|
98 | + /** |
|
99 | + * Post row actions. |
|
100 | + */ |
|
101 | + public static function post_row_actions( $actions, $post ) { |
|
102 | + |
|
103 | + $post = get_post( $post ); |
|
104 | + |
|
105 | + // We do not want to edit the default payment form. |
|
106 | + if ( 'wpi_payment_form' == $post->post_type ) { |
|
107 | + |
|
108 | + if ( $post->ID == wpinv_get_default_payment_form() ) { |
|
109 | + unset( $actions['trash'] ); |
|
110 | + unset( $actions['inline hide-if-no-js'] ); |
|
111 | + } |
|
112 | + |
|
113 | + $actions['duplicate'] = sprintf( |
|
114 | + '<a href="%1$s">%2$s</a>', |
|
115 | + esc_url( |
|
116 | + wp_nonce_url( |
|
117 | + add_query_arg( |
|
118 | + array( |
|
119 | + 'getpaid-admin-action' => 'duplicate_form', |
|
120 | + 'form_id' => $post->ID, |
|
121 | + ) |
|
122 | + ), |
|
123 | + 'getpaid-nonce', |
|
124 | + 'getpaid-nonce' |
|
125 | + ) |
|
126 | + ), |
|
127 | + esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
128 | + ); |
|
129 | + |
|
130 | + } |
|
131 | + |
|
132 | + // Link to item payment form. |
|
133 | + if ( 'wpi_item' == $post->post_type ) { |
|
134 | + |
|
135 | + if ( in_array( get_post_meta( $post->ID, '_wpinv_type', true ), array( '', 'fee', 'custom' ) ) ) { |
|
136 | + |
|
137 | + $actions['buy'] = sprintf( |
|
138 | + '<a href="%1$s">%2$s</a>', |
|
139 | + esc_url( getpaid_embed_url( false, $post->ID . '|0' ) ), |
|
140 | + esc_html( __( 'Buy', 'invoicing' ) ) |
|
141 | + ); |
|
142 | + |
|
143 | + } |
|
144 | 144 | } |
145 | 145 | |
146 | - return $actions; |
|
147 | - } |
|
146 | + return $actions; |
|
147 | + } |
|
148 | 148 | |
149 | - /** |
|
149 | + /** |
|
150 | 150 | * Remove bulk edit option from admin side quote listing |
151 | 151 | * |
152 | 152 | * @since 1.0.0 |
153 | 153 | * @param array $actions post actions |
154 | - * @param WP_Post $post |
|
154 | + * @param WP_Post $post |
|
155 | 155 | * @return array $actions actions without edit option |
156 | 156 | */ |
157 | 157 | public static function filter_invoice_row_actions( $actions, $post ) { |
158 | 158 | |
159 | 159 | if ( getpaid_is_invoice_post_type( $post->post_type ) ) { |
160 | 160 | |
161 | - $actions = array(); |
|
162 | - $invoice = new WPInv_Invoice( $post ); |
|
163 | - |
|
164 | - $actions['edit'] = sprintf( |
|
165 | - '<a href="%1$s">%2$s</a>', |
|
166 | - esc_url( get_edit_post_link( $invoice->get_id() ) ), |
|
167 | - esc_html( __( 'Edit', 'invoicing' ) ) |
|
168 | - ); |
|
169 | - |
|
170 | - if ( ! $invoice->is_draft() ) { |
|
171 | - |
|
172 | - $actions['view'] = sprintf( |
|
173 | - '<a href="%1$s">%2$s</a>', |
|
174 | - esc_url( $invoice->get_view_url() ), |
|
175 | - sprintf( |
|
176 | - esc_html( __( 'View %s', 'invoicing' ) ), |
|
177 | - getpaid_get_post_type_label( $invoice->get_post_type(), false ) |
|
178 | - ) |
|
179 | - ); |
|
180 | - |
|
181 | - $actions['send'] = sprintf( |
|
182 | - '<a href="%1$s">%2$s</a>', |
|
183 | - esc_url( |
|
184 | - wp_nonce_url( |
|
185 | - add_query_arg( |
|
186 | - array( |
|
187 | - 'getpaid-admin-action' => 'send_invoice', |
|
188 | - 'invoice_id' => $invoice->get_id(), |
|
189 | - ) |
|
190 | - ), |
|
191 | - 'getpaid-nonce', |
|
192 | - 'getpaid-nonce' |
|
193 | - ) |
|
194 | - ), |
|
195 | - esc_html( __( 'Send to Customer', 'invoicing' ) ) |
|
196 | - ); |
|
197 | - |
|
198 | - } |
|
199 | - |
|
200 | - $actions['duplicate'] = sprintf( |
|
201 | - '<a href="%1$s">%2$s</a>', |
|
202 | - esc_url( |
|
203 | - wp_nonce_url( |
|
204 | - add_query_arg( |
|
205 | - array( |
|
206 | - 'getpaid-admin-action' => 'duplicate_invoice', |
|
207 | - 'invoice_id' => $post->ID, |
|
208 | - ) |
|
209 | - ), |
|
210 | - 'getpaid-nonce', |
|
211 | - 'getpaid-nonce' |
|
212 | - ) |
|
213 | - ), |
|
214 | - esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
215 | - ); |
|
161 | + $actions = array(); |
|
162 | + $invoice = new WPInv_Invoice( $post ); |
|
163 | + |
|
164 | + $actions['edit'] = sprintf( |
|
165 | + '<a href="%1$s">%2$s</a>', |
|
166 | + esc_url( get_edit_post_link( $invoice->get_id() ) ), |
|
167 | + esc_html( __( 'Edit', 'invoicing' ) ) |
|
168 | + ); |
|
169 | + |
|
170 | + if ( ! $invoice->is_draft() ) { |
|
171 | + |
|
172 | + $actions['view'] = sprintf( |
|
173 | + '<a href="%1$s">%2$s</a>', |
|
174 | + esc_url( $invoice->get_view_url() ), |
|
175 | + sprintf( |
|
176 | + esc_html( __( 'View %s', 'invoicing' ) ), |
|
177 | + getpaid_get_post_type_label( $invoice->get_post_type(), false ) |
|
178 | + ) |
|
179 | + ); |
|
180 | + |
|
181 | + $actions['send'] = sprintf( |
|
182 | + '<a href="%1$s">%2$s</a>', |
|
183 | + esc_url( |
|
184 | + wp_nonce_url( |
|
185 | + add_query_arg( |
|
186 | + array( |
|
187 | + 'getpaid-admin-action' => 'send_invoice', |
|
188 | + 'invoice_id' => $invoice->get_id(), |
|
189 | + ) |
|
190 | + ), |
|
191 | + 'getpaid-nonce', |
|
192 | + 'getpaid-nonce' |
|
193 | + ) |
|
194 | + ), |
|
195 | + esc_html( __( 'Send to Customer', 'invoicing' ) ) |
|
196 | + ); |
|
197 | + |
|
198 | + } |
|
199 | + |
|
200 | + $actions['duplicate'] = sprintf( |
|
201 | + '<a href="%1$s">%2$s</a>', |
|
202 | + esc_url( |
|
203 | + wp_nonce_url( |
|
204 | + add_query_arg( |
|
205 | + array( |
|
206 | + 'getpaid-admin-action' => 'duplicate_invoice', |
|
207 | + 'invoice_id' => $post->ID, |
|
208 | + ) |
|
209 | + ), |
|
210 | + 'getpaid-nonce', |
|
211 | + 'getpaid-nonce' |
|
212 | + ) |
|
213 | + ), |
|
214 | + esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
215 | + ); |
|
216 | 216 | |
217 | 217 | } |
218 | 218 | |
219 | 219 | return $actions; |
220 | - } |
|
221 | - |
|
222 | - /** |
|
223 | - * Returns an array of invoice table columns. |
|
224 | - */ |
|
225 | - public static function invoice_columns( $columns ) { |
|
226 | - |
|
227 | - $columns = array( |
|
228 | - 'cb' => $columns['cb'], |
|
229 | - 'number' => __( 'Invoice', 'invoicing' ), |
|
230 | - 'customer' => __( 'Customer', 'invoicing' ), |
|
231 | - 'invoice_date' => __( 'Created', 'invoicing' ), |
|
232 | - 'payment_date' => __( 'Completed', 'invoicing' ), |
|
233 | - 'amount' => __( 'Amount', 'invoicing' ), |
|
234 | - 'recurring' => __( 'Recurring', 'invoicing' ), |
|
235 | - 'status' => __( 'Status', 'invoicing' ), |
|
236 | - ); |
|
237 | - |
|
238 | - return apply_filters( 'wpi_invoice_table_columns', $columns ); |
|
239 | - } |
|
240 | - |
|
241 | - /** |
|
242 | - * Displays invoice table columns. |
|
243 | - */ |
|
244 | - public static function display_invoice_columns( $column_name, $post_id ) { |
|
245 | - |
|
246 | - $invoice = new WPInv_Invoice( $post_id ); |
|
247 | - |
|
248 | - switch ( $column_name ) { |
|
249 | - |
|
250 | - case 'invoice_date': |
|
251 | - $date_time = esc_attr( $invoice->get_created_date() ); |
|
252 | - $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
253 | - echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
254 | - break; |
|
255 | - |
|
256 | - case 'payment_date': |
|
257 | - if ( $invoice->is_paid() ) { |
|
258 | - $date_time = esc_attr( $invoice->get_completed_date() ); |
|
259 | - $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
260 | - echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
261 | - } else { |
|
262 | - echo '—'; |
|
263 | - } |
|
264 | - |
|
265 | - break; |
|
266 | - |
|
267 | - case 'amount': |
|
268 | - $amount = $invoice->get_total(); |
|
269 | - $formated_amount = wp_kses_post( wpinv_price( $amount, $invoice->get_currency() ) ); |
|
270 | - |
|
271 | - if ( $invoice->is_refunded() ) { |
|
272 | - $refunded_amount = wpinv_price( 0, $invoice->get_currency() ); |
|
273 | - echo wp_kses_post( "<del>$formated_amount</del> <ins>$refunded_amount</ins>" ); |
|
274 | - } else { |
|
275 | - |
|
276 | - $discount = $invoice->get_total_discount(); |
|
277 | - |
|
278 | - if ( ! empty( $discount ) ) { |
|
279 | - $new_amount = wpinv_price( $amount + $discount, $invoice->get_currency() ); |
|
280 | - echo wp_kses_post( "<del>$new_amount</del> <ins>$formated_amount</ins>" ); |
|
281 | - } else { |
|
282 | - echo wp_kses_post( $formated_amount ); |
|
283 | - } |
|
220 | + } |
|
221 | + |
|
222 | + /** |
|
223 | + * Returns an array of invoice table columns. |
|
224 | + */ |
|
225 | + public static function invoice_columns( $columns ) { |
|
226 | + |
|
227 | + $columns = array( |
|
228 | + 'cb' => $columns['cb'], |
|
229 | + 'number' => __( 'Invoice', 'invoicing' ), |
|
230 | + 'customer' => __( 'Customer', 'invoicing' ), |
|
231 | + 'invoice_date' => __( 'Created', 'invoicing' ), |
|
232 | + 'payment_date' => __( 'Completed', 'invoicing' ), |
|
233 | + 'amount' => __( 'Amount', 'invoicing' ), |
|
234 | + 'recurring' => __( 'Recurring', 'invoicing' ), |
|
235 | + 'status' => __( 'Status', 'invoicing' ), |
|
236 | + ); |
|
237 | + |
|
238 | + return apply_filters( 'wpi_invoice_table_columns', $columns ); |
|
239 | + } |
|
240 | + |
|
241 | + /** |
|
242 | + * Displays invoice table columns. |
|
243 | + */ |
|
244 | + public static function display_invoice_columns( $column_name, $post_id ) { |
|
245 | + |
|
246 | + $invoice = new WPInv_Invoice( $post_id ); |
|
247 | + |
|
248 | + switch ( $column_name ) { |
|
249 | + |
|
250 | + case 'invoice_date': |
|
251 | + $date_time = esc_attr( $invoice->get_created_date() ); |
|
252 | + $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
253 | + echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
254 | + break; |
|
255 | + |
|
256 | + case 'payment_date': |
|
257 | + if ( $invoice->is_paid() ) { |
|
258 | + $date_time = esc_attr( $invoice->get_completed_date() ); |
|
259 | + $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
260 | + echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
261 | + } else { |
|
262 | + echo '—'; |
|
263 | + } |
|
264 | + |
|
265 | + break; |
|
266 | + |
|
267 | + case 'amount': |
|
268 | + $amount = $invoice->get_total(); |
|
269 | + $formated_amount = wp_kses_post( wpinv_price( $amount, $invoice->get_currency() ) ); |
|
270 | + |
|
271 | + if ( $invoice->is_refunded() ) { |
|
272 | + $refunded_amount = wpinv_price( 0, $invoice->get_currency() ); |
|
273 | + echo wp_kses_post( "<del>$formated_amount</del> <ins>$refunded_amount</ins>" ); |
|
274 | + } else { |
|
275 | + |
|
276 | + $discount = $invoice->get_total_discount(); |
|
277 | + |
|
278 | + if ( ! empty( $discount ) ) { |
|
279 | + $new_amount = wpinv_price( $amount + $discount, $invoice->get_currency() ); |
|
280 | + echo wp_kses_post( "<del>$new_amount</del> <ins>$formated_amount</ins>" ); |
|
281 | + } else { |
|
282 | + echo wp_kses_post( $formated_amount ); |
|
283 | + } |
|
284 | 284 | } |
285 | 285 | |
286 | - break; |
|
287 | - |
|
288 | - case 'status': |
|
289 | - $status = esc_html( $invoice->get_status() ); |
|
290 | - $status_label = esc_html( $invoice->get_status_nicename() ); |
|
291 | - |
|
292 | - // If it is paid, show the gateway title. |
|
293 | - if ( $invoice->is_paid() ) { |
|
294 | - $gateway = esc_html( $invoice->get_gateway_title() ); |
|
295 | - $gateway = wp_sprintf( esc_attr__( 'Paid via %s', 'invoicing' ), esc_html( $gateway ) ); |
|
296 | - |
|
297 | - echo wp_kses_post( "<mark class='wpi-help-tip getpaid-invoice-status $status' title='$gateway'><span>$status_label</span></mark>" ); |
|
298 | - } else { |
|
299 | - echo wp_kses_post( "<mark class='getpaid-invoice-status $status'><span>$status_label</span></mark>" ); |
|
300 | - } |
|
301 | - |
|
302 | - // If it is not paid, display the overdue and view status. |
|
303 | - if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) { |
|
304 | - |
|
305 | - // Invoice view status. |
|
306 | - if ( wpinv_is_invoice_viewed( $invoice->get_id() ) ) { |
|
307 | - echo ' <i class="fa fa-eye wpi-help-tip" title="' . esc_attr__( 'Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
308 | - } else { |
|
309 | - echo ' <i class="fa fa-eye-slash wpi-help-tip" title="' . esc_attr__( 'Not Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
310 | - } |
|
311 | - |
|
312 | - // Display the overview status. |
|
313 | - if ( wpinv_get_option( 'overdue_active' ) ) { |
|
314 | - $due_date = $invoice->get_due_date(); |
|
315 | - $fomatted = getpaid_format_date( $due_date ); |
|
316 | - |
|
317 | - if ( ! empty( $fomatted ) ) { |
|
318 | - $date = wp_sprintf( __( 'Due %s', 'invoicing' ), $fomatted ); |
|
319 | - echo wp_kses_post( "<p class='description' style='color: #888;' title='$due_date'>$fomatted</p>" ); |
|
320 | - } |
|
321 | - } |
|
286 | + break; |
|
287 | + |
|
288 | + case 'status': |
|
289 | + $status = esc_html( $invoice->get_status() ); |
|
290 | + $status_label = esc_html( $invoice->get_status_nicename() ); |
|
291 | + |
|
292 | + // If it is paid, show the gateway title. |
|
293 | + if ( $invoice->is_paid() ) { |
|
294 | + $gateway = esc_html( $invoice->get_gateway_title() ); |
|
295 | + $gateway = wp_sprintf( esc_attr__( 'Paid via %s', 'invoicing' ), esc_html( $gateway ) ); |
|
296 | + |
|
297 | + echo wp_kses_post( "<mark class='wpi-help-tip getpaid-invoice-status $status' title='$gateway'><span>$status_label</span></mark>" ); |
|
298 | + } else { |
|
299 | + echo wp_kses_post( "<mark class='getpaid-invoice-status $status'><span>$status_label</span></mark>" ); |
|
300 | + } |
|
301 | + |
|
302 | + // If it is not paid, display the overdue and view status. |
|
303 | + if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) { |
|
304 | + |
|
305 | + // Invoice view status. |
|
306 | + if ( wpinv_is_invoice_viewed( $invoice->get_id() ) ) { |
|
307 | + echo ' <i class="fa fa-eye wpi-help-tip" title="' . esc_attr__( 'Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
308 | + } else { |
|
309 | + echo ' <i class="fa fa-eye-slash wpi-help-tip" title="' . esc_attr__( 'Not Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
310 | + } |
|
311 | + |
|
312 | + // Display the overview status. |
|
313 | + if ( wpinv_get_option( 'overdue_active' ) ) { |
|
314 | + $due_date = $invoice->get_due_date(); |
|
315 | + $fomatted = getpaid_format_date( $due_date ); |
|
316 | + |
|
317 | + if ( ! empty( $fomatted ) ) { |
|
318 | + $date = wp_sprintf( __( 'Due %s', 'invoicing' ), $fomatted ); |
|
319 | + echo wp_kses_post( "<p class='description' style='color: #888;' title='$due_date'>$fomatted</p>" ); |
|
320 | + } |
|
321 | + } |
|
322 | 322 | } |
323 | 323 | |
324 | - break; |
|
324 | + break; |
|
325 | 325 | |
326 | - case 'recurring': |
|
327 | - if ( $invoice->is_recurring() ) { |
|
328 | - echo '<i class="fa fa-check" style="color:#43850a;"></i>'; |
|
329 | - } else { |
|
330 | - echo '<i class="fa fa-times" style="color:#616161;"></i>'; |
|
331 | - } |
|
332 | - break; |
|
326 | + case 'recurring': |
|
327 | + if ( $invoice->is_recurring() ) { |
|
328 | + echo '<i class="fa fa-check" style="color:#43850a;"></i>'; |
|
329 | + } else { |
|
330 | + echo '<i class="fa fa-times" style="color:#616161;"></i>'; |
|
331 | + } |
|
332 | + break; |
|
333 | 333 | |
334 | - case 'number': |
|
335 | - $edit_link = esc_url( get_edit_post_link( $invoice->get_id() ) ); |
|
336 | - $invoice_number = esc_html( $invoice->get_number() ); |
|
337 | - $invoice_details = esc_attr__( 'View Invoice Details', 'invoicing' ); |
|
334 | + case 'number': |
|
335 | + $edit_link = esc_url( get_edit_post_link( $invoice->get_id() ) ); |
|
336 | + $invoice_number = esc_html( $invoice->get_number() ); |
|
337 | + $invoice_details = esc_attr__( 'View Invoice Details', 'invoicing' ); |
|
338 | 338 | |
339 | - echo wp_kses_post( "<a href='$edit_link' title='$invoice_details'><strong>$invoice_number</strong></a>" ); |
|
339 | + echo wp_kses_post( "<a href='$edit_link' title='$invoice_details'><strong>$invoice_number</strong></a>" ); |
|
340 | 340 | |
341 | - break; |
|
341 | + break; |
|
342 | 342 | |
343 | - case 'customer': |
|
344 | - $customer_name = $invoice->get_user_full_name(); |
|
343 | + case 'customer': |
|
344 | + $customer_name = $invoice->get_user_full_name(); |
|
345 | 345 | |
346 | - if ( empty( $customer_name ) ) { |
|
347 | - $customer_name = $invoice->get_email(); |
|
348 | - } |
|
346 | + if ( empty( $customer_name ) ) { |
|
347 | + $customer_name = $invoice->get_email(); |
|
348 | + } |
|
349 | 349 | |
350 | - if ( ! empty( $customer_name ) ) { |
|
351 | - $customer_details = esc_attr__( 'View Customer Details', 'invoicing' ); |
|
352 | - $view_link = esc_url( add_query_arg( 'user_id', $invoice->get_user_id(), admin_url( 'user-edit.php' ) ) ); |
|
353 | - echo wp_kses_post( "<a href='$view_link' title='$customer_details'><span>$customer_name</span></a>" ); |
|
354 | - } else { |
|
355 | - echo '<div>—</div>'; |
|
356 | - } |
|
350 | + if ( ! empty( $customer_name ) ) { |
|
351 | + $customer_details = esc_attr__( 'View Customer Details', 'invoicing' ); |
|
352 | + $view_link = esc_url( add_query_arg( 'user_id', $invoice->get_user_id(), admin_url( 'user-edit.php' ) ) ); |
|
353 | + echo wp_kses_post( "<a href='$view_link' title='$customer_details'><span>$customer_name</span></a>" ); |
|
354 | + } else { |
|
355 | + echo '<div>—</div>'; |
|
356 | + } |
|
357 | 357 | |
358 | - break; |
|
359 | - |
|
360 | - } |
|
361 | - |
|
362 | - } |
|
363 | - |
|
364 | - /** |
|
365 | - * Displays invoice bulk actions. |
|
366 | - */ |
|
367 | - public static function invoice_bulk_actions( $actions ) { |
|
368 | - $actions['resend-invoice'] = __( 'Send to Customer', 'invoicing' ); |
|
369 | - return $actions; |
|
370 | - } |
|
371 | - |
|
372 | - /** |
|
373 | - * Processes invoice bulk actions. |
|
374 | - */ |
|
375 | - public static function handle_invoice_bulk_actions( $redirect_url, $action, $post_ids ) { |
|
376 | - |
|
377 | - if ( $action == 'resend-invoice' ) { |
|
378 | - foreach ( $post_ids as $post_id ) { |
|
379 | - getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $post_id ), true ); |
|
380 | - } |
|
381 | - } |
|
382 | - |
|
383 | - return $redirect_url; |
|
384 | - |
|
385 | - } |
|
386 | - |
|
387 | - /** |
|
388 | - * Returns an array of payment forms table columns. |
|
389 | - */ |
|
390 | - public static function payment_form_columns( $columns ) { |
|
391 | - |
|
392 | - $columns = array( |
|
393 | - 'cb' => $columns['cb'], |
|
394 | - 'title' => __( 'Name', 'invoicing' ), |
|
395 | - 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
396 | - 'earnings' => __( 'Revenue', 'invoicing' ), |
|
397 | - 'refunds' => __( 'Refunded', 'invoicing' ), |
|
398 | - 'items' => __( 'Items', 'invoicing' ), |
|
399 | - 'date' => __( 'Date', 'invoicing' ), |
|
400 | - ); |
|
401 | - |
|
402 | - return apply_filters( 'wpi_payment_form_table_columns', $columns ); |
|
403 | - |
|
404 | - } |
|
405 | - |
|
406 | - /** |
|
407 | - * Displays payment form table columns. |
|
408 | - */ |
|
409 | - public static function display_payment_form_columns( $column_name, $post_id ) { |
|
410 | - |
|
411 | - // Retrieve the payment form. |
|
412 | - $form = new GetPaid_Payment_Form( $post_id ); |
|
413 | - |
|
414 | - switch ( $column_name ) { |
|
415 | - |
|
416 | - case 'earnings': |
|
417 | - echo wp_kses_post( wpinv_price( $form->get_earned() ) ); |
|
418 | - break; |
|
419 | - |
|
420 | - case 'refunds': |
|
421 | - echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
422 | - break; |
|
423 | - |
|
424 | - case 'refunds': |
|
425 | - echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
426 | - break; |
|
427 | - |
|
428 | - case 'shortcode': |
|
429 | - if ( $form->is_default() ) { |
|
430 | - echo '—'; |
|
431 | - } else { |
|
432 | - echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr( $form->get_id() ) . ']" style="width: 100%;" readonly/>'; |
|
433 | - } |
|
434 | - |
|
435 | - break; |
|
358 | + break; |
|
436 | 359 | |
437 | - case 'items': |
|
438 | - $items = $form->get_items(); |
|
439 | - |
|
440 | - if ( $form->is_default() || empty( $items ) ) { |
|
441 | - echo '—'; |
|
442 | - return; |
|
443 | - } |
|
444 | - |
|
445 | - $_items = array(); |
|
446 | - |
|
447 | - foreach ( $items as $item ) { |
|
448 | - $url = $item->get_edit_url(); |
|
449 | - |
|
450 | - if ( empty( $url ) ) { |
|
451 | - $_items[] = esc_html( $item->get_name() ); |
|
452 | - } else { |
|
453 | - $_items[] = sprintf( |
|
454 | - '<a href="%s">%s</a>', |
|
455 | - esc_url( $url ), |
|
456 | - esc_html( $item->get_name() ) |
|
457 | - ); |
|
458 | - } |
|
360 | + } |
|
361 | + |
|
362 | + } |
|
363 | + |
|
364 | + /** |
|
365 | + * Displays invoice bulk actions. |
|
366 | + */ |
|
367 | + public static function invoice_bulk_actions( $actions ) { |
|
368 | + $actions['resend-invoice'] = __( 'Send to Customer', 'invoicing' ); |
|
369 | + return $actions; |
|
370 | + } |
|
371 | + |
|
372 | + /** |
|
373 | + * Processes invoice bulk actions. |
|
374 | + */ |
|
375 | + public static function handle_invoice_bulk_actions( $redirect_url, $action, $post_ids ) { |
|
376 | + |
|
377 | + if ( $action == 'resend-invoice' ) { |
|
378 | + foreach ( $post_ids as $post_id ) { |
|
379 | + getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $post_id ), true ); |
|
380 | + } |
|
381 | + } |
|
382 | + |
|
383 | + return $redirect_url; |
|
384 | + |
|
385 | + } |
|
386 | + |
|
387 | + /** |
|
388 | + * Returns an array of payment forms table columns. |
|
389 | + */ |
|
390 | + public static function payment_form_columns( $columns ) { |
|
391 | + |
|
392 | + $columns = array( |
|
393 | + 'cb' => $columns['cb'], |
|
394 | + 'title' => __( 'Name', 'invoicing' ), |
|
395 | + 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
396 | + 'earnings' => __( 'Revenue', 'invoicing' ), |
|
397 | + 'refunds' => __( 'Refunded', 'invoicing' ), |
|
398 | + 'items' => __( 'Items', 'invoicing' ), |
|
399 | + 'date' => __( 'Date', 'invoicing' ), |
|
400 | + ); |
|
401 | + |
|
402 | + return apply_filters( 'wpi_payment_form_table_columns', $columns ); |
|
403 | + |
|
404 | + } |
|
405 | + |
|
406 | + /** |
|
407 | + * Displays payment form table columns. |
|
408 | + */ |
|
409 | + public static function display_payment_form_columns( $column_name, $post_id ) { |
|
410 | + |
|
411 | + // Retrieve the payment form. |
|
412 | + $form = new GetPaid_Payment_Form( $post_id ); |
|
413 | + |
|
414 | + switch ( $column_name ) { |
|
415 | + |
|
416 | + case 'earnings': |
|
417 | + echo wp_kses_post( wpinv_price( $form->get_earned() ) ); |
|
418 | + break; |
|
419 | + |
|
420 | + case 'refunds': |
|
421 | + echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
422 | + break; |
|
423 | + |
|
424 | + case 'refunds': |
|
425 | + echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
426 | + break; |
|
427 | + |
|
428 | + case 'shortcode': |
|
429 | + if ( $form->is_default() ) { |
|
430 | + echo '—'; |
|
431 | + } else { |
|
432 | + echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr( $form->get_id() ) . ']" style="width: 100%;" readonly/>'; |
|
433 | + } |
|
434 | + |
|
435 | + break; |
|
436 | + |
|
437 | + case 'items': |
|
438 | + $items = $form->get_items(); |
|
439 | + |
|
440 | + if ( $form->is_default() || empty( $items ) ) { |
|
441 | + echo '—'; |
|
442 | + return; |
|
443 | + } |
|
444 | + |
|
445 | + $_items = array(); |
|
446 | + |
|
447 | + foreach ( $items as $item ) { |
|
448 | + $url = $item->get_edit_url(); |
|
449 | + |
|
450 | + if ( empty( $url ) ) { |
|
451 | + $_items[] = esc_html( $item->get_name() ); |
|
452 | + } else { |
|
453 | + $_items[] = sprintf( |
|
454 | + '<a href="%s">%s</a>', |
|
455 | + esc_url( $url ), |
|
456 | + esc_html( $item->get_name() ) |
|
457 | + ); |
|
458 | + } |
|
459 | 459 | } |
460 | 460 | |
461 | - echo wp_kses_post( implode( '<br>', $_items ) ); |
|
461 | + echo wp_kses_post( implode( '<br>', $_items ) ); |
|
462 | 462 | |
463 | - break; |
|
463 | + break; |
|
464 | 464 | |
465 | - } |
|
465 | + } |
|
466 | 466 | |
467 | - } |
|
467 | + } |
|
468 | 468 | |
469 | - /** |
|
470 | - * Filters post states. |
|
471 | - */ |
|
472 | - public static function filter_payment_form_state( $post_states, $post ) { |
|
469 | + /** |
|
470 | + * Filters post states. |
|
471 | + */ |
|
472 | + public static function filter_payment_form_state( $post_states, $post ) { |
|
473 | 473 | |
474 | - if ( 'wpi_payment_form' == $post->post_type && wpinv_get_default_payment_form() == $post->ID ) { |
|
475 | - $post_states['default_form'] = __( 'Default Payment Form', 'invoicing' ); |
|
476 | - } |
|
474 | + if ( 'wpi_payment_form' == $post->post_type && wpinv_get_default_payment_form() == $post->ID ) { |
|
475 | + $post_states['default_form'] = __( 'Default Payment Form', 'invoicing' ); |
|
476 | + } |
|
477 | 477 | |
478 | - return $post_states; |
|
478 | + return $post_states; |
|
479 | 479 | |
480 | - } |
|
480 | + } |
|
481 | 481 | |
482 | - /** |
|
483 | - * Returns an array of coupon table columns. |
|
484 | - */ |
|
485 | - public static function discount_columns( $columns ) { |
|
482 | + /** |
|
483 | + * Returns an array of coupon table columns. |
|
484 | + */ |
|
485 | + public static function discount_columns( $columns ) { |
|
486 | + |
|
487 | + $columns = array( |
|
488 | + 'cb' => $columns['cb'], |
|
489 | + 'title' => __( 'Name', 'invoicing' ), |
|
490 | + 'code' => __( 'Code', 'invoicing' ), |
|
491 | + 'amount' => __( 'Amount', 'invoicing' ), |
|
492 | + 'usage' => __( 'Usage / Limit', 'invoicing' ), |
|
493 | + 'start_date' => __( 'Start Date', 'invoicing' ), |
|
494 | + 'expiry_date' => __( 'Expiry Date', 'invoicing' ), |
|
495 | + ); |
|
496 | + |
|
497 | + return apply_filters( 'wpi_discount_table_columns', $columns ); |
|
498 | + } |
|
486 | 499 | |
487 | - $columns = array( |
|
488 | - 'cb' => $columns['cb'], |
|
489 | - 'title' => __( 'Name', 'invoicing' ), |
|
490 | - 'code' => __( 'Code', 'invoicing' ), |
|
491 | - 'amount' => __( 'Amount', 'invoicing' ), |
|
492 | - 'usage' => __( 'Usage / Limit', 'invoicing' ), |
|
493 | - 'start_date' => __( 'Start Date', 'invoicing' ), |
|
494 | - 'expiry_date' => __( 'Expiry Date', 'invoicing' ), |
|
495 | - ); |
|
500 | + /** |
|
501 | + * Filters post states. |
|
502 | + */ |
|
503 | + public static function filter_discount_state( $post_states, $post ) { |
|
496 | 504 | |
497 | - return apply_filters( 'wpi_discount_table_columns', $columns ); |
|
498 | - } |
|
505 | + if ( 'wpi_discount' == $post->post_type ) { |
|
499 | 506 | |
500 | - /** |
|
501 | - * Filters post states. |
|
502 | - */ |
|
503 | - public static function filter_discount_state( $post_states, $post ) { |
|
507 | + $discount = new WPInv_Discount( $post ); |
|
504 | 508 | |
505 | - if ( 'wpi_discount' == $post->post_type ) { |
|
509 | + $status = $discount->is_expired() ? 'expired' : $discount->get_status(); |
|
506 | 510 | |
507 | - $discount = new WPInv_Discount( $post ); |
|
511 | + if ( $status != 'publish' ) { |
|
512 | + return array( |
|
513 | + 'discount_status' => wpinv_discount_status( $status ), |
|
514 | + ); |
|
515 | + } |
|
508 | 516 | |
509 | - $status = $discount->is_expired() ? 'expired' : $discount->get_status(); |
|
517 | + return array(); |
|
510 | 518 | |
511 | - if ( $status != 'publish' ) { |
|
512 | - return array( |
|
513 | - 'discount_status' => wpinv_discount_status( $status ), |
|
514 | - ); |
|
515 | - } |
|
519 | + } |
|
516 | 520 | |
517 | - return array(); |
|
521 | + return $post_states; |
|
518 | 522 | |
519 | - } |
|
523 | + } |
|
520 | 524 | |
521 | - return $post_states; |
|
525 | + /** |
|
526 | + * Returns an array of items table columns. |
|
527 | + */ |
|
528 | + public static function item_columns( $columns ) { |
|
529 | + |
|
530 | + $columns = array( |
|
531 | + 'cb' => $columns['cb'], |
|
532 | + 'title' => __( 'Name', 'invoicing' ), |
|
533 | + 'price' => __( 'Price', 'invoicing' ), |
|
534 | + 'vat_rule' => __( 'Tax Rule', 'invoicing' ), |
|
535 | + 'vat_class' => __( 'Tax Class', 'invoicing' ), |
|
536 | + 'type' => __( 'Type', 'invoicing' ), |
|
537 | + 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
538 | + ); |
|
539 | + |
|
540 | + if ( ! wpinv_use_taxes() ) { |
|
541 | + unset( $columns['vat_rule'] ); |
|
542 | + unset( $columns['vat_class'] ); |
|
543 | + } |
|
544 | + |
|
545 | + return apply_filters( 'wpi_item_table_columns', $columns ); |
|
546 | + } |
|
547 | + |
|
548 | + /** |
|
549 | + * Returns an array of sortable items table columns. |
|
550 | + */ |
|
551 | + public static function sortable_item_columns( $columns ) { |
|
552 | + |
|
553 | + return array_merge( |
|
554 | + $columns, |
|
555 | + array( |
|
556 | + 'price' => 'price', |
|
557 | + 'vat_rule' => 'vat_rule', |
|
558 | + 'vat_class' => 'vat_class', |
|
559 | + 'type' => 'type', |
|
560 | + ) |
|
561 | + ); |
|
562 | + |
|
563 | + } |
|
564 | + |
|
565 | + /** |
|
566 | + * Displays items table columns. |
|
567 | + */ |
|
568 | + public static function display_item_columns( $column_name, $post_id ) { |
|
569 | + |
|
570 | + $item = new WPInv_Item( $post_id ); |
|
571 | + |
|
572 | + switch ( $column_name ) { |
|
573 | + |
|
574 | + case 'price': |
|
575 | + if ( ! $item->is_recurring() ) { |
|
576 | + echo wp_kses_post( $item->get_the_price() ); |
|
577 | + break; |
|
578 | + } |
|
579 | + |
|
580 | + $price = wp_sprintf( |
|
581 | + __( '%1$s / %2$s', 'invoicing' ), |
|
582 | + $item->get_the_price(), |
|
583 | + getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' ) |
|
584 | + ); |
|
585 | + |
|
586 | + if ( $item->get_the_price() == $item->get_the_initial_price() ) { |
|
587 | + echo wp_kses_post( $price ); |
|
588 | + break; |
|
589 | + } |
|
590 | + |
|
591 | + echo wp_kses_post( $item->get_the_initial_price() ); |
|
592 | + |
|
593 | + echo '<span class="meta">' . wp_sprintf( esc_html__( 'then %s', 'invoicing' ), wp_kses_post( $price ) ) . '</span>'; |
|
594 | + break; |
|
595 | + |
|
596 | + case 'vat_rule': |
|
597 | + echo wp_kses_post( getpaid_get_tax_rule_label( $item->get_vat_rule() ) ); |
|
598 | + break; |
|
599 | + |
|
600 | + case 'vat_class': |
|
601 | + echo wp_kses_post( getpaid_get_tax_class_label( $item->get_vat_class() ) ); |
|
602 | + break; |
|
603 | + |
|
604 | + case 'shortcode': |
|
605 | + if ( $item->is_type( array( '', 'fee', 'custom' ) ) ) { |
|
606 | + echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr( $item->get_id() ) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>'; |
|
607 | + } else { |
|
608 | + echo '—'; |
|
609 | + } |
|
610 | + |
|
611 | + break; |
|
612 | + |
|
613 | + case 'type': |
|
614 | + echo wp_kses_post( wpinv_item_type( $item->get_id() ) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>' ); |
|
615 | + break; |
|
616 | + |
|
617 | + } |
|
618 | + |
|
619 | + } |
|
620 | + |
|
621 | + /** |
|
622 | + * Lets users filter items using taxes. |
|
623 | + */ |
|
624 | + public static function add_item_filters( $post_type ) { |
|
625 | + |
|
626 | + // Abort if we're not dealing with items. |
|
627 | + if ( $post_type != 'wpi_item' ) { |
|
628 | + return; |
|
629 | + } |
|
630 | + |
|
631 | + // Filter by vat rules. |
|
632 | + if ( wpinv_use_taxes() ) { |
|
633 | + |
|
634 | + // Sanitize selected vat rule. |
|
635 | + $vat_rule = ''; |
|
636 | + $vat_rules = getpaid_get_tax_rules(); |
|
637 | + if ( isset( $_GET['vat_rule'] ) ) { |
|
638 | + $vat_rule = sanitize_text_field( $_GET['vat_rule'] ); |
|
639 | + } |
|
640 | + |
|
641 | + // Filter by VAT rule. |
|
642 | + wpinv_html_select( |
|
643 | + array( |
|
644 | + 'options' => array_merge( |
|
645 | + array( |
|
646 | + '' => __( 'All Tax Rules', 'invoicing' ), |
|
647 | + ), |
|
648 | + $vat_rules |
|
649 | + ), |
|
650 | + 'name' => 'vat_rule', |
|
651 | + 'id' => 'vat_rule', |
|
652 | + 'selected' => in_array( $vat_rule, array_keys( $vat_rules ) ) ? $vat_rule : '', |
|
653 | + 'show_option_all' => false, |
|
654 | + 'show_option_none' => false, |
|
655 | + ) |
|
656 | + ); |
|
657 | + |
|
658 | + // Filter by VAT class. |
|
659 | + |
|
660 | + // Sanitize selected vat rule. |
|
661 | + $vat_class = ''; |
|
662 | + $vat_classes = getpaid_get_tax_classes(); |
|
663 | + if ( isset( $_GET['vat_class'] ) ) { |
|
664 | + $vat_class = sanitize_text_field( $_GET['vat_class'] ); |
|
665 | + } |
|
666 | + |
|
667 | + wpinv_html_select( |
|
668 | + array( |
|
669 | + 'options' => array_merge( |
|
670 | + array( |
|
671 | + '' => __( 'All Tax Classes', 'invoicing' ), |
|
672 | + ), |
|
673 | + $vat_classes |
|
674 | + ), |
|
675 | + 'name' => 'vat_class', |
|
676 | + 'id' => 'vat_class', |
|
677 | + 'selected' => in_array( $vat_class, array_keys( $vat_classes ) ) ? $vat_class : '', |
|
678 | + 'show_option_all' => false, |
|
679 | + 'show_option_none' => false, |
|
680 | + ) |
|
681 | + ); |
|
682 | + |
|
683 | + } |
|
684 | + |
|
685 | + // Filter by item type. |
|
686 | + $type = ''; |
|
687 | + if ( isset( $_GET['type'] ) ) { |
|
688 | + $type = sanitize_text_field( $_GET['type'] ); |
|
689 | + } |
|
522 | 690 | |
523 | - } |
|
691 | + wpinv_html_select( |
|
692 | + array( |
|
693 | + 'options' => array_merge( |
|
694 | + array( |
|
695 | + '' => __( 'All item types', 'invoicing' ), |
|
696 | + ), |
|
697 | + wpinv_get_item_types() |
|
698 | + ), |
|
699 | + 'name' => 'type', |
|
700 | + 'id' => 'type', |
|
701 | + 'selected' => in_array( $type, wpinv_item_types() ) ? $type : '', |
|
702 | + 'show_option_all' => false, |
|
703 | + 'show_option_none' => false, |
|
704 | + ) |
|
705 | + ); |
|
524 | 706 | |
525 | - /** |
|
526 | - * Returns an array of items table columns. |
|
527 | - */ |
|
528 | - public static function item_columns( $columns ) { |
|
707 | + } |
|
529 | 708 | |
530 | - $columns = array( |
|
531 | - 'cb' => $columns['cb'], |
|
532 | - 'title' => __( 'Name', 'invoicing' ), |
|
533 | - 'price' => __( 'Price', 'invoicing' ), |
|
534 | - 'vat_rule' => __( 'Tax Rule', 'invoicing' ), |
|
535 | - 'vat_class' => __( 'Tax Class', 'invoicing' ), |
|
536 | - 'type' => __( 'Type', 'invoicing' ), |
|
537 | - 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
538 | - ); |
|
709 | + /** |
|
710 | + * Filters the item query. |
|
711 | + */ |
|
712 | + public static function filter_item_query( $query ) { |
|
539 | 713 | |
540 | - if ( ! wpinv_use_taxes() ) { |
|
541 | - unset( $columns['vat_rule'] ); |
|
542 | - unset( $columns['vat_class'] ); |
|
543 | - } |
|
714 | + // modify the query only if it admin and main query. |
|
715 | + if ( ! ( is_admin() && $query->is_main_query() ) ) { |
|
716 | + return $query; |
|
717 | + } |
|
544 | 718 | |
545 | - return apply_filters( 'wpi_item_table_columns', $columns ); |
|
546 | - } |
|
719 | + // we want to modify the query for our items. |
|
720 | + if ( empty( $query->query['post_type'] ) || 'wpi_item' != $query->query['post_type'] ) { |
|
721 | + return $query; |
|
722 | + } |
|
547 | 723 | |
548 | - /** |
|
549 | - * Returns an array of sortable items table columns. |
|
550 | - */ |
|
551 | - public static function sortable_item_columns( $columns ) { |
|
552 | - |
|
553 | - return array_merge( |
|
554 | - $columns, |
|
555 | - array( |
|
556 | - 'price' => 'price', |
|
557 | - 'vat_rule' => 'vat_rule', |
|
558 | - 'vat_class' => 'vat_class', |
|
559 | - 'type' => 'type', |
|
560 | - ) |
|
561 | - ); |
|
562 | - |
|
563 | - } |
|
564 | - |
|
565 | - /** |
|
566 | - * Displays items table columns. |
|
567 | - */ |
|
568 | - public static function display_item_columns( $column_name, $post_id ) { |
|
569 | - |
|
570 | - $item = new WPInv_Item( $post_id ); |
|
571 | - |
|
572 | - switch ( $column_name ) { |
|
573 | - |
|
574 | - case 'price': |
|
575 | - if ( ! $item->is_recurring() ) { |
|
576 | - echo wp_kses_post( $item->get_the_price() ); |
|
577 | - break; |
|
578 | - } |
|
579 | - |
|
580 | - $price = wp_sprintf( |
|
581 | - __( '%1$s / %2$s', 'invoicing' ), |
|
582 | - $item->get_the_price(), |
|
583 | - getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' ) |
|
584 | - ); |
|
585 | - |
|
586 | - if ( $item->get_the_price() == $item->get_the_initial_price() ) { |
|
587 | - echo wp_kses_post( $price ); |
|
588 | - break; |
|
589 | - } |
|
590 | - |
|
591 | - echo wp_kses_post( $item->get_the_initial_price() ); |
|
592 | - |
|
593 | - echo '<span class="meta">' . wp_sprintf( esc_html__( 'then %s', 'invoicing' ), wp_kses_post( $price ) ) . '</span>'; |
|
594 | - break; |
|
595 | - |
|
596 | - case 'vat_rule': |
|
597 | - echo wp_kses_post( getpaid_get_tax_rule_label( $item->get_vat_rule() ) ); |
|
598 | - break; |
|
599 | - |
|
600 | - case 'vat_class': |
|
601 | - echo wp_kses_post( getpaid_get_tax_class_label( $item->get_vat_class() ) ); |
|
602 | - break; |
|
603 | - |
|
604 | - case 'shortcode': |
|
605 | - if ( $item->is_type( array( '', 'fee', 'custom' ) ) ) { |
|
606 | - echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr( $item->get_id() ) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>'; |
|
607 | - } else { |
|
608 | - echo '—'; |
|
609 | - } |
|
610 | - |
|
611 | - break; |
|
612 | - |
|
613 | - case 'type': |
|
614 | - echo wp_kses_post( wpinv_item_type( $item->get_id() ) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>' ); |
|
615 | - break; |
|
616 | - |
|
617 | - } |
|
618 | - |
|
619 | - } |
|
620 | - |
|
621 | - /** |
|
622 | - * Lets users filter items using taxes. |
|
623 | - */ |
|
624 | - public static function add_item_filters( $post_type ) { |
|
625 | - |
|
626 | - // Abort if we're not dealing with items. |
|
627 | - if ( $post_type != 'wpi_item' ) { |
|
628 | - return; |
|
629 | - } |
|
630 | - |
|
631 | - // Filter by vat rules. |
|
632 | - if ( wpinv_use_taxes() ) { |
|
633 | - |
|
634 | - // Sanitize selected vat rule. |
|
635 | - $vat_rule = ''; |
|
636 | - $vat_rules = getpaid_get_tax_rules(); |
|
637 | - if ( isset( $_GET['vat_rule'] ) ) { |
|
638 | - $vat_rule = sanitize_text_field( $_GET['vat_rule'] ); |
|
639 | - } |
|
640 | - |
|
641 | - // Filter by VAT rule. |
|
642 | - wpinv_html_select( |
|
643 | - array( |
|
644 | - 'options' => array_merge( |
|
645 | - array( |
|
646 | - '' => __( 'All Tax Rules', 'invoicing' ), |
|
647 | - ), |
|
648 | - $vat_rules |
|
649 | - ), |
|
650 | - 'name' => 'vat_rule', |
|
651 | - 'id' => 'vat_rule', |
|
652 | - 'selected' => in_array( $vat_rule, array_keys( $vat_rules ) ) ? $vat_rule : '', |
|
653 | - 'show_option_all' => false, |
|
654 | - 'show_option_none' => false, |
|
655 | - ) |
|
656 | - ); |
|
657 | - |
|
658 | - // Filter by VAT class. |
|
659 | - |
|
660 | - // Sanitize selected vat rule. |
|
661 | - $vat_class = ''; |
|
662 | - $vat_classes = getpaid_get_tax_classes(); |
|
663 | - if ( isset( $_GET['vat_class'] ) ) { |
|
664 | - $vat_class = sanitize_text_field( $_GET['vat_class'] ); |
|
665 | - } |
|
666 | - |
|
667 | - wpinv_html_select( |
|
668 | - array( |
|
669 | - 'options' => array_merge( |
|
670 | - array( |
|
671 | - '' => __( 'All Tax Classes', 'invoicing' ), |
|
672 | - ), |
|
673 | - $vat_classes |
|
674 | - ), |
|
675 | - 'name' => 'vat_class', |
|
676 | - 'id' => 'vat_class', |
|
677 | - 'selected' => in_array( $vat_class, array_keys( $vat_classes ) ) ? $vat_class : '', |
|
678 | - 'show_option_all' => false, |
|
679 | - 'show_option_none' => false, |
|
680 | - ) |
|
681 | - ); |
|
682 | - |
|
683 | - } |
|
684 | - |
|
685 | - // Filter by item type. |
|
686 | - $type = ''; |
|
687 | - if ( isset( $_GET['type'] ) ) { |
|
688 | - $type = sanitize_text_field( $_GET['type'] ); |
|
689 | - } |
|
690 | - |
|
691 | - wpinv_html_select( |
|
692 | - array( |
|
693 | - 'options' => array_merge( |
|
694 | - array( |
|
695 | - '' => __( 'All item types', 'invoicing' ), |
|
696 | - ), |
|
697 | - wpinv_get_item_types() |
|
698 | - ), |
|
699 | - 'name' => 'type', |
|
700 | - 'id' => 'type', |
|
701 | - 'selected' => in_array( $type, wpinv_item_types() ) ? $type : '', |
|
702 | - 'show_option_all' => false, |
|
703 | - 'show_option_none' => false, |
|
704 | - ) |
|
705 | - ); |
|
706 | - |
|
707 | - } |
|
708 | - |
|
709 | - /** |
|
710 | - * Filters the item query. |
|
711 | - */ |
|
712 | - public static function filter_item_query( $query ) { |
|
713 | - |
|
714 | - // modify the query only if it admin and main query. |
|
715 | - if ( ! ( is_admin() && $query->is_main_query() ) ) { |
|
716 | - return $query; |
|
717 | - } |
|
718 | - |
|
719 | - // we want to modify the query for our items. |
|
720 | - if ( empty( $query->query['post_type'] ) || 'wpi_item' != $query->query['post_type'] ) { |
|
721 | - return $query; |
|
722 | - } |
|
723 | - |
|
724 | - if ( empty( $query->query_vars['meta_query'] ) ) { |
|
725 | - $query->query_vars['meta_query'] = array(); |
|
726 | - } |
|
727 | - |
|
728 | - // Filter vat rule type |
|
724 | + if ( empty( $query->query_vars['meta_query'] ) ) { |
|
725 | + $query->query_vars['meta_query'] = array(); |
|
726 | + } |
|
727 | + |
|
728 | + // Filter vat rule type |
|
729 | 729 | if ( ! empty( $_GET['vat_rule'] ) ) { |
730 | 730 | $query->query_vars['meta_query'][] = array( |
731 | 731 | 'key' => '_wpinv_vat_rule', |
@@ -750,97 +750,97 @@ discard block |
||
750 | 750 | 'value' => sanitize_text_field( $_GET['type'] ), |
751 | 751 | 'compare' => '=', |
752 | 752 | ); |
753 | - } |
|
754 | - |
|
755 | - } |
|
756 | - |
|
757 | - /** |
|
758 | - * Reorders items. |
|
759 | - */ |
|
760 | - public static function reorder_items( $vars ) { |
|
761 | - global $typenow; |
|
762 | - |
|
763 | - if ( 'wpi_item' !== $typenow || empty( $vars['orderby'] ) ) { |
|
764 | - return $vars; |
|
765 | - } |
|
766 | - |
|
767 | - // By item type. |
|
768 | - if ( 'type' == $vars['orderby'] ) { |
|
769 | - return array_merge( |
|
770 | - $vars, |
|
771 | - array( |
|
772 | - 'meta_key' => '_wpinv_type', |
|
773 | - 'orderby' => 'meta_value', |
|
774 | - ) |
|
775 | - ); |
|
776 | - } |
|
777 | - |
|
778 | - // By vat class. |
|
779 | - if ( 'vat_class' == $vars['orderby'] ) { |
|
780 | - return array_merge( |
|
781 | - $vars, |
|
782 | - array( |
|
783 | - 'meta_key' => '_wpinv_vat_class', |
|
784 | - 'orderby' => 'meta_value', |
|
785 | - ) |
|
786 | - ); |
|
787 | - } |
|
788 | - |
|
789 | - // By vat rule. |
|
790 | - if ( 'vat_rule' == $vars['orderby'] ) { |
|
791 | - return array_merge( |
|
792 | - $vars, |
|
793 | - array( |
|
794 | - 'meta_key' => '_wpinv_vat_rule', |
|
795 | - 'orderby' => 'meta_value', |
|
796 | - ) |
|
797 | - ); |
|
798 | - } |
|
799 | - |
|
800 | - // By price. |
|
801 | - if ( 'price' == $vars['orderby'] ) { |
|
802 | - return array_merge( |
|
803 | - $vars, |
|
804 | - array( |
|
805 | - 'meta_key' => '_wpinv_price', |
|
806 | - 'orderby' => 'meta_value_num', |
|
807 | - ) |
|
808 | - ); |
|
809 | - } |
|
810 | - |
|
811 | - return $vars; |
|
812 | - |
|
813 | - } |
|
814 | - |
|
815 | - /** |
|
816 | - * Fired when deleting a post. |
|
817 | - */ |
|
818 | - public static function delete_post( $post_id ) { |
|
819 | - |
|
820 | - switch ( get_post_type( $post_id ) ) { |
|
821 | - |
|
822 | - case 'wpi_item': |
|
823 | - do_action( 'getpaid_before_delete_item', new WPInv_Item( $post_id ) ); |
|
824 | - break; |
|
825 | - |
|
826 | - case 'wpi_payment_form': |
|
827 | - do_action( 'getpaid_before_delete_payment_form', new GetPaid_Payment_Form( $post_id ) ); |
|
828 | - break; |
|
829 | - |
|
830 | - case 'wpi_discount': |
|
831 | - do_action( 'getpaid_before_delete_discount', new WPInv_Discount( $post_id ) ); |
|
832 | - break; |
|
833 | - |
|
834 | - case 'wpi_invoice': |
|
835 | - $invoice = new WPInv_Invoice( $post_id ); |
|
836 | - do_action( 'getpaid_before_delete_invoice', $invoice ); |
|
837 | - $invoice->get_data_store()->delete_items( $invoice ); |
|
838 | - $invoice->get_data_store()->delete_special_fields( $invoice ); |
|
839 | - break; |
|
840 | - } |
|
841 | - } |
|
842 | - |
|
843 | - /** |
|
753 | + } |
|
754 | + |
|
755 | + } |
|
756 | + |
|
757 | + /** |
|
758 | + * Reorders items. |
|
759 | + */ |
|
760 | + public static function reorder_items( $vars ) { |
|
761 | + global $typenow; |
|
762 | + |
|
763 | + if ( 'wpi_item' !== $typenow || empty( $vars['orderby'] ) ) { |
|
764 | + return $vars; |
|
765 | + } |
|
766 | + |
|
767 | + // By item type. |
|
768 | + if ( 'type' == $vars['orderby'] ) { |
|
769 | + return array_merge( |
|
770 | + $vars, |
|
771 | + array( |
|
772 | + 'meta_key' => '_wpinv_type', |
|
773 | + 'orderby' => 'meta_value', |
|
774 | + ) |
|
775 | + ); |
|
776 | + } |
|
777 | + |
|
778 | + // By vat class. |
|
779 | + if ( 'vat_class' == $vars['orderby'] ) { |
|
780 | + return array_merge( |
|
781 | + $vars, |
|
782 | + array( |
|
783 | + 'meta_key' => '_wpinv_vat_class', |
|
784 | + 'orderby' => 'meta_value', |
|
785 | + ) |
|
786 | + ); |
|
787 | + } |
|
788 | + |
|
789 | + // By vat rule. |
|
790 | + if ( 'vat_rule' == $vars['orderby'] ) { |
|
791 | + return array_merge( |
|
792 | + $vars, |
|
793 | + array( |
|
794 | + 'meta_key' => '_wpinv_vat_rule', |
|
795 | + 'orderby' => 'meta_value', |
|
796 | + ) |
|
797 | + ); |
|
798 | + } |
|
799 | + |
|
800 | + // By price. |
|
801 | + if ( 'price' == $vars['orderby'] ) { |
|
802 | + return array_merge( |
|
803 | + $vars, |
|
804 | + array( |
|
805 | + 'meta_key' => '_wpinv_price', |
|
806 | + 'orderby' => 'meta_value_num', |
|
807 | + ) |
|
808 | + ); |
|
809 | + } |
|
810 | + |
|
811 | + return $vars; |
|
812 | + |
|
813 | + } |
|
814 | + |
|
815 | + /** |
|
816 | + * Fired when deleting a post. |
|
817 | + */ |
|
818 | + public static function delete_post( $post_id ) { |
|
819 | + |
|
820 | + switch ( get_post_type( $post_id ) ) { |
|
821 | + |
|
822 | + case 'wpi_item': |
|
823 | + do_action( 'getpaid_before_delete_item', new WPInv_Item( $post_id ) ); |
|
824 | + break; |
|
825 | + |
|
826 | + case 'wpi_payment_form': |
|
827 | + do_action( 'getpaid_before_delete_payment_form', new GetPaid_Payment_Form( $post_id ) ); |
|
828 | + break; |
|
829 | + |
|
830 | + case 'wpi_discount': |
|
831 | + do_action( 'getpaid_before_delete_discount', new WPInv_Discount( $post_id ) ); |
|
832 | + break; |
|
833 | + |
|
834 | + case 'wpi_invoice': |
|
835 | + $invoice = new WPInv_Invoice( $post_id ); |
|
836 | + do_action( 'getpaid_before_delete_invoice', $invoice ); |
|
837 | + $invoice->get_data_store()->delete_items( $invoice ); |
|
838 | + $invoice->get_data_store()->delete_special_fields( $invoice ); |
|
839 | + break; |
|
840 | + } |
|
841 | + } |
|
842 | + |
|
843 | + /** |
|
844 | 844 | * Add a post display state for special GetPaid pages in the page list table. |
845 | 845 | * |
846 | 846 | * @param array $post_states An array of post display states. |
@@ -854,21 +854,21 @@ discard block |
||
854 | 854 | $post_states['getpaid_success_page'] = __( 'GetPaid Receipt Page', 'invoicing' ); |
855 | 855 | } |
856 | 856 | |
857 | - foreach ( getpaid_get_invoice_post_types() as $post_type => $label ) { |
|
857 | + foreach ( getpaid_get_invoice_post_types() as $post_type => $label ) { |
|
858 | 858 | |
859 | - if ( wpinv_get_option( "{$post_type}_history_page", 0 ) == $post->ID ) { |
|
860 | - $post_states[ "getpaid_{$post_type}_history_page" ] = sprintf( |
|
861 | - __( 'GetPaid %s History Page', 'invoicing' ), |
|
862 | - $label |
|
863 | - ); |
|
864 | - } |
|
859 | + if ( wpinv_get_option( "{$post_type}_history_page", 0 ) == $post->ID ) { |
|
860 | + $post_states[ "getpaid_{$post_type}_history_page" ] = sprintf( |
|
861 | + __( 'GetPaid %s History Page', 'invoicing' ), |
|
862 | + $label |
|
863 | + ); |
|
864 | + } |
|
865 | 865 | } |
866 | 866 | |
867 | - if ( wpinv_get_option( 'invoice_subscription_page', 0 ) == $post->ID ) { |
|
867 | + if ( wpinv_get_option( 'invoice_subscription_page', 0 ) == $post->ID ) { |
|
868 | 868 | $post_states['getpaid_invoice_subscription_page'] = __( 'GetPaid Subscription Page', 'invoicing' ); |
869 | 869 | } |
870 | 870 | |
871 | - if ( wpinv_get_option( 'checkout_page', 0 ) == $post->ID ) { |
|
871 | + if ( wpinv_get_option( 'checkout_page', 0 ) == $post->ID ) { |
|
872 | 872 | $post_states['getpaid_checkout_page'] = __( 'GetPaid Checkout Page', 'invoicing' ); |
873 | 873 | } |
874 | 874 |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Post types Admin Class |
@@ -21,74 +21,74 @@ discard block |
||
21 | 21 | GetPaid_Metaboxes::init(); |
22 | 22 | |
23 | 23 | // Filter the post updated messages. |
24 | - add_filter( 'post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages' ); |
|
24 | + add_filter('post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages'); |
|
25 | 25 | |
26 | 26 | // Filter post actions. |
27 | - add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2 ); |
|
28 | - add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2 ); |
|
27 | + add_filter('post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2); |
|
28 | + add_filter('post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2); |
|
29 | 29 | |
30 | 30 | // Invoice table columns. |
31 | - add_filter( 'manage_wpi_invoice_posts_columns', array( __CLASS__, 'invoice_columns' ), 100 ); |
|
32 | - add_action( 'manage_wpi_invoice_posts_custom_column', array( __CLASS__, 'display_invoice_columns' ), 10, 2 ); |
|
33 | - add_filter( 'bulk_actions-edit-wpi_invoice', array( __CLASS__, 'invoice_bulk_actions' ) ); |
|
34 | - add_filter( 'handle_bulk_actions-edit-wpi_invoice', array( __CLASS__, 'handle_invoice_bulk_actions' ), 10, 3 ); |
|
31 | + add_filter('manage_wpi_invoice_posts_columns', array(__CLASS__, 'invoice_columns'), 100); |
|
32 | + add_action('manage_wpi_invoice_posts_custom_column', array(__CLASS__, 'display_invoice_columns'), 10, 2); |
|
33 | + add_filter('bulk_actions-edit-wpi_invoice', array(__CLASS__, 'invoice_bulk_actions')); |
|
34 | + add_filter('handle_bulk_actions-edit-wpi_invoice', array(__CLASS__, 'handle_invoice_bulk_actions'), 10, 3); |
|
35 | 35 | |
36 | 36 | // Items table columns. |
37 | - add_filter( 'manage_wpi_item_posts_columns', array( __CLASS__, 'item_columns' ), 100 ); |
|
38 | - add_filter( 'manage_edit-wpi_item_sortable_columns', array( __CLASS__, 'sortable_item_columns' ), 20 ); |
|
39 | - add_action( 'manage_wpi_item_posts_custom_column', array( __CLASS__, 'display_item_columns' ), 10, 2 ); |
|
40 | - add_action( 'restrict_manage_posts', array( __CLASS__, 'add_item_filters' ), 100 ); |
|
41 | - add_action( 'parse_query', array( __CLASS__, 'filter_item_query' ), 100 ); |
|
42 | - add_action( 'request', array( __CLASS__, 'reorder_items' ), 100 ); |
|
37 | + add_filter('manage_wpi_item_posts_columns', array(__CLASS__, 'item_columns'), 100); |
|
38 | + add_filter('manage_edit-wpi_item_sortable_columns', array(__CLASS__, 'sortable_item_columns'), 20); |
|
39 | + add_action('manage_wpi_item_posts_custom_column', array(__CLASS__, 'display_item_columns'), 10, 2); |
|
40 | + add_action('restrict_manage_posts', array(__CLASS__, 'add_item_filters'), 100); |
|
41 | + add_action('parse_query', array(__CLASS__, 'filter_item_query'), 100); |
|
42 | + add_action('request', array(__CLASS__, 'reorder_items'), 100); |
|
43 | 43 | |
44 | 44 | // Payment forms columns. |
45 | - add_filter( 'manage_wpi_payment_form_posts_columns', array( __CLASS__, 'payment_form_columns' ), 100 ); |
|
46 | - add_action( 'manage_wpi_payment_form_posts_custom_column', array( __CLASS__, 'display_payment_form_columns' ), 10, 2 ); |
|
47 | - add_filter( 'display_post_states', array( __CLASS__, 'filter_payment_form_state' ), 10, 2 ); |
|
45 | + add_filter('manage_wpi_payment_form_posts_columns', array(__CLASS__, 'payment_form_columns'), 100); |
|
46 | + add_action('manage_wpi_payment_form_posts_custom_column', array(__CLASS__, 'display_payment_form_columns'), 10, 2); |
|
47 | + add_filter('display_post_states', array(__CLASS__, 'filter_payment_form_state'), 10, 2); |
|
48 | 48 | |
49 | 49 | // Discount table columns. |
50 | - add_filter( 'manage_wpi_discount_posts_columns', array( __CLASS__, 'discount_columns' ), 100 ); |
|
51 | - add_filter( 'bulk_actions-edit-wpi_discount', '__return_empty_array', 100 ); |
|
50 | + add_filter('manage_wpi_discount_posts_columns', array(__CLASS__, 'discount_columns'), 100); |
|
51 | + add_filter('bulk_actions-edit-wpi_discount', '__return_empty_array', 100); |
|
52 | 52 | |
53 | 53 | // Deleting posts. |
54 | - add_action( 'delete_post', array( __CLASS__, 'delete_post' ) ); |
|
55 | - add_filter( 'display_post_states', array( __CLASS__, 'filter_discount_state' ), 10, 2 ); |
|
54 | + add_action('delete_post', array(__CLASS__, 'delete_post')); |
|
55 | + add_filter('display_post_states', array(__CLASS__, 'filter_discount_state'), 10, 2); |
|
56 | 56 | |
57 | - add_filter( 'display_post_states', array( __CLASS__, 'add_display_post_states' ), 10, 2 ); |
|
57 | + add_filter('display_post_states', array(__CLASS__, 'add_display_post_states'), 10, 2); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | /** |
61 | 61 | * Post updated messages. |
62 | 62 | */ |
63 | - public static function post_updated_messages( $messages ) { |
|
63 | + public static function post_updated_messages($messages) { |
|
64 | 64 | global $post; |
65 | 65 | |
66 | 66 | $messages['wpi_discount'] = array( |
67 | 67 | 0 => '', |
68 | - 1 => __( 'Discount updated.', 'invoicing' ), |
|
69 | - 2 => __( 'Custom field updated.', 'invoicing' ), |
|
70 | - 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
71 | - 4 => __( 'Discount updated.', 'invoicing' ), |
|
72 | - 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
73 | - 6 => __( 'Discount updated.', 'invoicing' ), |
|
74 | - 7 => __( 'Discount saved.', 'invoicing' ), |
|
75 | - 8 => __( 'Discount submitted.', 'invoicing' ), |
|
76 | - 9 => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
77 | - 10 => __( 'Discount draft updated.', 'invoicing' ), |
|
68 | + 1 => __('Discount updated.', 'invoicing'), |
|
69 | + 2 => __('Custom field updated.', 'invoicing'), |
|
70 | + 3 => __('Custom field deleted.', 'invoicing'), |
|
71 | + 4 => __('Discount updated.', 'invoicing'), |
|
72 | + 5 => isset($_GET['revision']) ? wp_sprintf(__('Discount restored to revision from %s', 'invoicing'), wp_post_revision_title((int) $_GET['revision'], false)) : false, |
|
73 | + 6 => __('Discount updated.', 'invoicing'), |
|
74 | + 7 => __('Discount saved.', 'invoicing'), |
|
75 | + 8 => __('Discount submitted.', 'invoicing'), |
|
76 | + 9 => wp_sprintf(__('Discount scheduled for: <strong>%1$s</strong>.', 'invoicing'), date_i18n(__('M j, Y @ G:i', 'invoicing'), strtotime($post->post_date))), |
|
77 | + 10 => __('Discount draft updated.', 'invoicing'), |
|
78 | 78 | ); |
79 | 79 | |
80 | 80 | $messages['wpi_payment_form'] = array( |
81 | 81 | 0 => '', |
82 | - 1 => __( 'Payment Form updated.', 'invoicing' ), |
|
83 | - 2 => __( 'Custom field updated.', 'invoicing' ), |
|
84 | - 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
85 | - 4 => __( 'Payment Form updated.', 'invoicing' ), |
|
86 | - 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Payment Form restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
87 | - 6 => __( 'Payment Form updated.', 'invoicing' ), |
|
88 | - 7 => __( 'Payment Form saved.', 'invoicing' ), |
|
89 | - 8 => __( 'Payment Form submitted.', 'invoicing' ), |
|
90 | - 9 => wp_sprintf( __( 'Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
91 | - 10 => __( 'Payment Form draft updated.', 'invoicing' ), |
|
82 | + 1 => __('Payment Form updated.', 'invoicing'), |
|
83 | + 2 => __('Custom field updated.', 'invoicing'), |
|
84 | + 3 => __('Custom field deleted.', 'invoicing'), |
|
85 | + 4 => __('Payment Form updated.', 'invoicing'), |
|
86 | + 5 => isset($_GET['revision']) ? wp_sprintf(__('Payment Form restored to revision from %s', 'invoicing'), wp_post_revision_title((int) $_GET['revision'], false)) : false, |
|
87 | + 6 => __('Payment Form updated.', 'invoicing'), |
|
88 | + 7 => __('Payment Form saved.', 'invoicing'), |
|
89 | + 8 => __('Payment Form submitted.', 'invoicing'), |
|
90 | + 9 => wp_sprintf(__('Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing'), date_i18n(__('M j, Y @ G:i', 'invoicing'), strtotime($post->post_date))), |
|
91 | + 10 => __('Payment Form draft updated.', 'invoicing'), |
|
92 | 92 | ); |
93 | 93 | |
94 | 94 | return $messages; |
@@ -98,16 +98,16 @@ discard block |
||
98 | 98 | /** |
99 | 99 | * Post row actions. |
100 | 100 | */ |
101 | - public static function post_row_actions( $actions, $post ) { |
|
101 | + public static function post_row_actions($actions, $post) { |
|
102 | 102 | |
103 | - $post = get_post( $post ); |
|
103 | + $post = get_post($post); |
|
104 | 104 | |
105 | 105 | // We do not want to edit the default payment form. |
106 | - if ( 'wpi_payment_form' == $post->post_type ) { |
|
106 | + if ('wpi_payment_form' == $post->post_type) { |
|
107 | 107 | |
108 | - if ( $post->ID == wpinv_get_default_payment_form() ) { |
|
109 | - unset( $actions['trash'] ); |
|
110 | - unset( $actions['inline hide-if-no-js'] ); |
|
108 | + if ($post->ID == wpinv_get_default_payment_form()) { |
|
109 | + unset($actions['trash']); |
|
110 | + unset($actions['inline hide-if-no-js']); |
|
111 | 111 | } |
112 | 112 | |
113 | 113 | $actions['duplicate'] = sprintf( |
@@ -124,20 +124,20 @@ discard block |
||
124 | 124 | 'getpaid-nonce' |
125 | 125 | ) |
126 | 126 | ), |
127 | - esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
127 | + esc_html(__('Duplicate', 'invoicing')) |
|
128 | 128 | ); |
129 | 129 | |
130 | 130 | } |
131 | 131 | |
132 | 132 | // Link to item payment form. |
133 | - if ( 'wpi_item' == $post->post_type ) { |
|
133 | + if ('wpi_item' == $post->post_type) { |
|
134 | 134 | |
135 | - if ( in_array( get_post_meta( $post->ID, '_wpinv_type', true ), array( '', 'fee', 'custom' ) ) ) { |
|
135 | + if (in_array(get_post_meta($post->ID, '_wpinv_type', true), array('', 'fee', 'custom'))) { |
|
136 | 136 | |
137 | 137 | $actions['buy'] = sprintf( |
138 | 138 | '<a href="%1$s">%2$s</a>', |
139 | - esc_url( getpaid_embed_url( false, $post->ID . '|0' ) ), |
|
140 | - esc_html( __( 'Buy', 'invoicing' ) ) |
|
139 | + esc_url(getpaid_embed_url(false, $post->ID . '|0')), |
|
140 | + esc_html(__('Buy', 'invoicing')) |
|
141 | 141 | ); |
142 | 142 | |
143 | 143 | } |
@@ -154,27 +154,27 @@ discard block |
||
154 | 154 | * @param WP_Post $post |
155 | 155 | * @return array $actions actions without edit option |
156 | 156 | */ |
157 | - public static function filter_invoice_row_actions( $actions, $post ) { |
|
157 | + public static function filter_invoice_row_actions($actions, $post) { |
|
158 | 158 | |
159 | - if ( getpaid_is_invoice_post_type( $post->post_type ) ) { |
|
159 | + if (getpaid_is_invoice_post_type($post->post_type)) { |
|
160 | 160 | |
161 | 161 | $actions = array(); |
162 | - $invoice = new WPInv_Invoice( $post ); |
|
162 | + $invoice = new WPInv_Invoice($post); |
|
163 | 163 | |
164 | 164 | $actions['edit'] = sprintf( |
165 | 165 | '<a href="%1$s">%2$s</a>', |
166 | - esc_url( get_edit_post_link( $invoice->get_id() ) ), |
|
167 | - esc_html( __( 'Edit', 'invoicing' ) ) |
|
166 | + esc_url(get_edit_post_link($invoice->get_id())), |
|
167 | + esc_html(__('Edit', 'invoicing')) |
|
168 | 168 | ); |
169 | 169 | |
170 | - if ( ! $invoice->is_draft() ) { |
|
170 | + if (!$invoice->is_draft()) { |
|
171 | 171 | |
172 | 172 | $actions['view'] = sprintf( |
173 | 173 | '<a href="%1$s">%2$s</a>', |
174 | - esc_url( $invoice->get_view_url() ), |
|
174 | + esc_url($invoice->get_view_url()), |
|
175 | 175 | sprintf( |
176 | - esc_html( __( 'View %s', 'invoicing' ) ), |
|
177 | - getpaid_get_post_type_label( $invoice->get_post_type(), false ) |
|
176 | + esc_html(__('View %s', 'invoicing')), |
|
177 | + getpaid_get_post_type_label($invoice->get_post_type(), false) |
|
178 | 178 | ) |
179 | 179 | ); |
180 | 180 | |
@@ -192,7 +192,7 @@ discard block |
||
192 | 192 | 'getpaid-nonce' |
193 | 193 | ) |
194 | 194 | ), |
195 | - esc_html( __( 'Send to Customer', 'invoicing' ) ) |
|
195 | + esc_html(__('Send to Customer', 'invoicing')) |
|
196 | 196 | ); |
197 | 197 | |
198 | 198 | } |
@@ -211,7 +211,7 @@ discard block |
||
211 | 211 | 'getpaid-nonce' |
212 | 212 | ) |
213 | 213 | ), |
214 | - esc_html( __( 'Duplicate', 'invoicing' ) ) |
|
214 | + esc_html(__('Duplicate', 'invoicing')) |
|
215 | 215 | ); |
216 | 216 | |
217 | 217 | } |
@@ -222,42 +222,42 @@ discard block |
||
222 | 222 | /** |
223 | 223 | * Returns an array of invoice table columns. |
224 | 224 | */ |
225 | - public static function invoice_columns( $columns ) { |
|
225 | + public static function invoice_columns($columns) { |
|
226 | 226 | |
227 | 227 | $columns = array( |
228 | 228 | 'cb' => $columns['cb'], |
229 | - 'number' => __( 'Invoice', 'invoicing' ), |
|
230 | - 'customer' => __( 'Customer', 'invoicing' ), |
|
231 | - 'invoice_date' => __( 'Created', 'invoicing' ), |
|
232 | - 'payment_date' => __( 'Completed', 'invoicing' ), |
|
233 | - 'amount' => __( 'Amount', 'invoicing' ), |
|
234 | - 'recurring' => __( 'Recurring', 'invoicing' ), |
|
235 | - 'status' => __( 'Status', 'invoicing' ), |
|
229 | + 'number' => __('Invoice', 'invoicing'), |
|
230 | + 'customer' => __('Customer', 'invoicing'), |
|
231 | + 'invoice_date' => __('Created', 'invoicing'), |
|
232 | + 'payment_date' => __('Completed', 'invoicing'), |
|
233 | + 'amount' => __('Amount', 'invoicing'), |
|
234 | + 'recurring' => __('Recurring', 'invoicing'), |
|
235 | + 'status' => __('Status', 'invoicing'), |
|
236 | 236 | ); |
237 | 237 | |
238 | - return apply_filters( 'wpi_invoice_table_columns', $columns ); |
|
238 | + return apply_filters('wpi_invoice_table_columns', $columns); |
|
239 | 239 | } |
240 | 240 | |
241 | 241 | /** |
242 | 242 | * Displays invoice table columns. |
243 | 243 | */ |
244 | - public static function display_invoice_columns( $column_name, $post_id ) { |
|
244 | + public static function display_invoice_columns($column_name, $post_id) { |
|
245 | 245 | |
246 | - $invoice = new WPInv_Invoice( $post_id ); |
|
246 | + $invoice = new WPInv_Invoice($post_id); |
|
247 | 247 | |
248 | - switch ( $column_name ) { |
|
248 | + switch ($column_name) { |
|
249 | 249 | |
250 | 250 | case 'invoice_date': |
251 | - $date_time = esc_attr( $invoice->get_created_date() ); |
|
252 | - $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
253 | - echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
251 | + $date_time = esc_attr($invoice->get_created_date()); |
|
252 | + $date = esc_html(getpaid_format_date_value($date_time, '—', true)); |
|
253 | + echo wp_kses_post("<span title='$date_time'>$date</span>"); |
|
254 | 254 | break; |
255 | 255 | |
256 | 256 | case 'payment_date': |
257 | - if ( $invoice->is_paid() ) { |
|
258 | - $date_time = esc_attr( $invoice->get_completed_date() ); |
|
259 | - $date = esc_html( getpaid_format_date_value( $date_time, '—', true ) ); |
|
260 | - echo wp_kses_post( "<span title='$date_time'>$date</span>" ); |
|
257 | + if ($invoice->is_paid()) { |
|
258 | + $date_time = esc_attr($invoice->get_completed_date()); |
|
259 | + $date = esc_html(getpaid_format_date_value($date_time, '—', true)); |
|
260 | + echo wp_kses_post("<span title='$date_time'>$date</span>"); |
|
261 | 261 | } else { |
262 | 262 | echo '—'; |
263 | 263 | } |
@@ -266,57 +266,57 @@ discard block |
||
266 | 266 | |
267 | 267 | case 'amount': |
268 | 268 | $amount = $invoice->get_total(); |
269 | - $formated_amount = wp_kses_post( wpinv_price( $amount, $invoice->get_currency() ) ); |
|
269 | + $formated_amount = wp_kses_post(wpinv_price($amount, $invoice->get_currency())); |
|
270 | 270 | |
271 | - if ( $invoice->is_refunded() ) { |
|
272 | - $refunded_amount = wpinv_price( 0, $invoice->get_currency() ); |
|
273 | - echo wp_kses_post( "<del>$formated_amount</del> <ins>$refunded_amount</ins>" ); |
|
271 | + if ($invoice->is_refunded()) { |
|
272 | + $refunded_amount = wpinv_price(0, $invoice->get_currency()); |
|
273 | + echo wp_kses_post("<del>$formated_amount</del> <ins>$refunded_amount</ins>"); |
|
274 | 274 | } else { |
275 | 275 | |
276 | 276 | $discount = $invoice->get_total_discount(); |
277 | 277 | |
278 | - if ( ! empty( $discount ) ) { |
|
279 | - $new_amount = wpinv_price( $amount + $discount, $invoice->get_currency() ); |
|
280 | - echo wp_kses_post( "<del>$new_amount</del> <ins>$formated_amount</ins>" ); |
|
278 | + if (!empty($discount)) { |
|
279 | + $new_amount = wpinv_price($amount + $discount, $invoice->get_currency()); |
|
280 | + echo wp_kses_post("<del>$new_amount</del> <ins>$formated_amount</ins>"); |
|
281 | 281 | } else { |
282 | - echo wp_kses_post( $formated_amount ); |
|
282 | + echo wp_kses_post($formated_amount); |
|
283 | 283 | } |
284 | 284 | } |
285 | 285 | |
286 | 286 | break; |
287 | 287 | |
288 | 288 | case 'status': |
289 | - $status = esc_html( $invoice->get_status() ); |
|
290 | - $status_label = esc_html( $invoice->get_status_nicename() ); |
|
289 | + $status = esc_html($invoice->get_status()); |
|
290 | + $status_label = esc_html($invoice->get_status_nicename()); |
|
291 | 291 | |
292 | 292 | // If it is paid, show the gateway title. |
293 | - if ( $invoice->is_paid() ) { |
|
294 | - $gateway = esc_html( $invoice->get_gateway_title() ); |
|
295 | - $gateway = wp_sprintf( esc_attr__( 'Paid via %s', 'invoicing' ), esc_html( $gateway ) ); |
|
293 | + if ($invoice->is_paid()) { |
|
294 | + $gateway = esc_html($invoice->get_gateway_title()); |
|
295 | + $gateway = wp_sprintf(esc_attr__('Paid via %s', 'invoicing'), esc_html($gateway)); |
|
296 | 296 | |
297 | - echo wp_kses_post( "<mark class='wpi-help-tip getpaid-invoice-status $status' title='$gateway'><span>$status_label</span></mark>" ); |
|
297 | + echo wp_kses_post("<mark class='wpi-help-tip getpaid-invoice-status $status' title='$gateway'><span>$status_label</span></mark>"); |
|
298 | 298 | } else { |
299 | - echo wp_kses_post( "<mark class='getpaid-invoice-status $status'><span>$status_label</span></mark>" ); |
|
299 | + echo wp_kses_post("<mark class='getpaid-invoice-status $status'><span>$status_label</span></mark>"); |
|
300 | 300 | } |
301 | 301 | |
302 | 302 | // If it is not paid, display the overdue and view status. |
303 | - if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) { |
|
303 | + if (!$invoice->is_paid() && !$invoice->is_refunded()) { |
|
304 | 304 | |
305 | 305 | // Invoice view status. |
306 | - if ( wpinv_is_invoice_viewed( $invoice->get_id() ) ) { |
|
307 | - echo ' <i class="fa fa-eye wpi-help-tip" title="' . esc_attr__( 'Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
306 | + if (wpinv_is_invoice_viewed($invoice->get_id())) { |
|
307 | + echo ' <i class="fa fa-eye wpi-help-tip" title="' . esc_attr__('Viewed by Customer', 'invoicing') . '"></i>'; |
|
308 | 308 | } else { |
309 | - echo ' <i class="fa fa-eye-slash wpi-help-tip" title="' . esc_attr__( 'Not Viewed by Customer', 'invoicing' ) . '"></i>'; |
|
309 | + echo ' <i class="fa fa-eye-slash wpi-help-tip" title="' . esc_attr__('Not Viewed by Customer', 'invoicing') . '"></i>'; |
|
310 | 310 | } |
311 | 311 | |
312 | 312 | // Display the overview status. |
313 | - if ( wpinv_get_option( 'overdue_active' ) ) { |
|
313 | + if (wpinv_get_option('overdue_active')) { |
|
314 | 314 | $due_date = $invoice->get_due_date(); |
315 | - $fomatted = getpaid_format_date( $due_date ); |
|
315 | + $fomatted = getpaid_format_date($due_date); |
|
316 | 316 | |
317 | - if ( ! empty( $fomatted ) ) { |
|
318 | - $date = wp_sprintf( __( 'Due %s', 'invoicing' ), $fomatted ); |
|
319 | - echo wp_kses_post( "<p class='description' style='color: #888;' title='$due_date'>$fomatted</p>" ); |
|
317 | + if (!empty($fomatted)) { |
|
318 | + $date = wp_sprintf(__('Due %s', 'invoicing'), $fomatted); |
|
319 | + echo wp_kses_post("<p class='description' style='color: #888;' title='$due_date'>$fomatted</p>"); |
|
320 | 320 | } |
321 | 321 | } |
322 | 322 | } |
@@ -324,7 +324,7 @@ discard block |
||
324 | 324 | break; |
325 | 325 | |
326 | 326 | case 'recurring': |
327 | - if ( $invoice->is_recurring() ) { |
|
327 | + if ($invoice->is_recurring()) { |
|
328 | 328 | echo '<i class="fa fa-check" style="color:#43850a;"></i>'; |
329 | 329 | } else { |
330 | 330 | echo '<i class="fa fa-times" style="color:#616161;"></i>'; |
@@ -332,25 +332,25 @@ discard block |
||
332 | 332 | break; |
333 | 333 | |
334 | 334 | case 'number': |
335 | - $edit_link = esc_url( get_edit_post_link( $invoice->get_id() ) ); |
|
336 | - $invoice_number = esc_html( $invoice->get_number() ); |
|
337 | - $invoice_details = esc_attr__( 'View Invoice Details', 'invoicing' ); |
|
335 | + $edit_link = esc_url(get_edit_post_link($invoice->get_id())); |
|
336 | + $invoice_number = esc_html($invoice->get_number()); |
|
337 | + $invoice_details = esc_attr__('View Invoice Details', 'invoicing'); |
|
338 | 338 | |
339 | - echo wp_kses_post( "<a href='$edit_link' title='$invoice_details'><strong>$invoice_number</strong></a>" ); |
|
339 | + echo wp_kses_post("<a href='$edit_link' title='$invoice_details'><strong>$invoice_number</strong></a>"); |
|
340 | 340 | |
341 | 341 | break; |
342 | 342 | |
343 | 343 | case 'customer': |
344 | 344 | $customer_name = $invoice->get_user_full_name(); |
345 | 345 | |
346 | - if ( empty( $customer_name ) ) { |
|
346 | + if (empty($customer_name)) { |
|
347 | 347 | $customer_name = $invoice->get_email(); |
348 | 348 | } |
349 | 349 | |
350 | - if ( ! empty( $customer_name ) ) { |
|
351 | - $customer_details = esc_attr__( 'View Customer Details', 'invoicing' ); |
|
352 | - $view_link = esc_url( add_query_arg( 'user_id', $invoice->get_user_id(), admin_url( 'user-edit.php' ) ) ); |
|
353 | - echo wp_kses_post( "<a href='$view_link' title='$customer_details'><span>$customer_name</span></a>" ); |
|
350 | + if (!empty($customer_name)) { |
|
351 | + $customer_details = esc_attr__('View Customer Details', 'invoicing'); |
|
352 | + $view_link = esc_url(add_query_arg('user_id', $invoice->get_user_id(), admin_url('user-edit.php'))); |
|
353 | + echo wp_kses_post("<a href='$view_link' title='$customer_details'><span>$customer_name</span></a>"); |
|
354 | 354 | } else { |
355 | 355 | echo '<div>—</div>'; |
356 | 356 | } |
@@ -364,19 +364,19 @@ discard block |
||
364 | 364 | /** |
365 | 365 | * Displays invoice bulk actions. |
366 | 366 | */ |
367 | - public static function invoice_bulk_actions( $actions ) { |
|
368 | - $actions['resend-invoice'] = __( 'Send to Customer', 'invoicing' ); |
|
367 | + public static function invoice_bulk_actions($actions) { |
|
368 | + $actions['resend-invoice'] = __('Send to Customer', 'invoicing'); |
|
369 | 369 | return $actions; |
370 | 370 | } |
371 | 371 | |
372 | 372 | /** |
373 | 373 | * Processes invoice bulk actions. |
374 | 374 | */ |
375 | - public static function handle_invoice_bulk_actions( $redirect_url, $action, $post_ids ) { |
|
375 | + public static function handle_invoice_bulk_actions($redirect_url, $action, $post_ids) { |
|
376 | 376 | |
377 | - if ( $action == 'resend-invoice' ) { |
|
378 | - foreach ( $post_ids as $post_id ) { |
|
379 | - getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $post_id ), true ); |
|
377 | + if ($action == 'resend-invoice') { |
|
378 | + foreach ($post_ids as $post_id) { |
|
379 | + getpaid()->get('invoice_emails')->user_invoice(new WPInv_Invoice($post_id), true); |
|
380 | 380 | } |
381 | 381 | } |
382 | 382 | |
@@ -387,49 +387,49 @@ discard block |
||
387 | 387 | /** |
388 | 388 | * Returns an array of payment forms table columns. |
389 | 389 | */ |
390 | - public static function payment_form_columns( $columns ) { |
|
390 | + public static function payment_form_columns($columns) { |
|
391 | 391 | |
392 | 392 | $columns = array( |
393 | 393 | 'cb' => $columns['cb'], |
394 | - 'title' => __( 'Name', 'invoicing' ), |
|
395 | - 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
396 | - 'earnings' => __( 'Revenue', 'invoicing' ), |
|
397 | - 'refunds' => __( 'Refunded', 'invoicing' ), |
|
398 | - 'items' => __( 'Items', 'invoicing' ), |
|
399 | - 'date' => __( 'Date', 'invoicing' ), |
|
394 | + 'title' => __('Name', 'invoicing'), |
|
395 | + 'shortcode' => __('Shortcode', 'invoicing'), |
|
396 | + 'earnings' => __('Revenue', 'invoicing'), |
|
397 | + 'refunds' => __('Refunded', 'invoicing'), |
|
398 | + 'items' => __('Items', 'invoicing'), |
|
399 | + 'date' => __('Date', 'invoicing'), |
|
400 | 400 | ); |
401 | 401 | |
402 | - return apply_filters( 'wpi_payment_form_table_columns', $columns ); |
|
402 | + return apply_filters('wpi_payment_form_table_columns', $columns); |
|
403 | 403 | |
404 | 404 | } |
405 | 405 | |
406 | 406 | /** |
407 | 407 | * Displays payment form table columns. |
408 | 408 | */ |
409 | - public static function display_payment_form_columns( $column_name, $post_id ) { |
|
409 | + public static function display_payment_form_columns($column_name, $post_id) { |
|
410 | 410 | |
411 | 411 | // Retrieve the payment form. |
412 | - $form = new GetPaid_Payment_Form( $post_id ); |
|
412 | + $form = new GetPaid_Payment_Form($post_id); |
|
413 | 413 | |
414 | - switch ( $column_name ) { |
|
414 | + switch ($column_name) { |
|
415 | 415 | |
416 | 416 | case 'earnings': |
417 | - echo wp_kses_post( wpinv_price( $form->get_earned() ) ); |
|
417 | + echo wp_kses_post(wpinv_price($form->get_earned())); |
|
418 | 418 | break; |
419 | 419 | |
420 | 420 | case 'refunds': |
421 | - echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
421 | + echo wp_kses_post(wpinv_price($form->get_refunded())); |
|
422 | 422 | break; |
423 | 423 | |
424 | 424 | case 'refunds': |
425 | - echo wp_kses_post( wpinv_price( $form->get_refunded() ) ); |
|
425 | + echo wp_kses_post(wpinv_price($form->get_refunded())); |
|
426 | 426 | break; |
427 | 427 | |
428 | 428 | case 'shortcode': |
429 | - if ( $form->is_default() ) { |
|
429 | + if ($form->is_default()) { |
|
430 | 430 | echo '—'; |
431 | 431 | } else { |
432 | - echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr( $form->get_id() ) . ']" style="width: 100%;" readonly/>'; |
|
432 | + echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr($form->get_id()) . ']" style="width: 100%;" readonly/>'; |
|
433 | 433 | } |
434 | 434 | |
435 | 435 | break; |
@@ -437,28 +437,28 @@ discard block |
||
437 | 437 | case 'items': |
438 | 438 | $items = $form->get_items(); |
439 | 439 | |
440 | - if ( $form->is_default() || empty( $items ) ) { |
|
440 | + if ($form->is_default() || empty($items)) { |
|
441 | 441 | echo '—'; |
442 | 442 | return; |
443 | 443 | } |
444 | 444 | |
445 | 445 | $_items = array(); |
446 | 446 | |
447 | - foreach ( $items as $item ) { |
|
447 | + foreach ($items as $item) { |
|
448 | 448 | $url = $item->get_edit_url(); |
449 | 449 | |
450 | - if ( empty( $url ) ) { |
|
451 | - $_items[] = esc_html( $item->get_name() ); |
|
450 | + if (empty($url)) { |
|
451 | + $_items[] = esc_html($item->get_name()); |
|
452 | 452 | } else { |
453 | 453 | $_items[] = sprintf( |
454 | 454 | '<a href="%s">%s</a>', |
455 | - esc_url( $url ), |
|
456 | - esc_html( $item->get_name() ) |
|
455 | + esc_url($url), |
|
456 | + esc_html($item->get_name()) |
|
457 | 457 | ); |
458 | 458 | } |
459 | 459 | } |
460 | 460 | |
461 | - echo wp_kses_post( implode( '<br>', $_items ) ); |
|
461 | + echo wp_kses_post(implode('<br>', $_items)); |
|
462 | 462 | |
463 | 463 | break; |
464 | 464 | |
@@ -469,10 +469,10 @@ discard block |
||
469 | 469 | /** |
470 | 470 | * Filters post states. |
471 | 471 | */ |
472 | - public static function filter_payment_form_state( $post_states, $post ) { |
|
472 | + public static function filter_payment_form_state($post_states, $post) { |
|
473 | 473 | |
474 | - if ( 'wpi_payment_form' == $post->post_type && wpinv_get_default_payment_form() == $post->ID ) { |
|
475 | - $post_states['default_form'] = __( 'Default Payment Form', 'invoicing' ); |
|
474 | + if ('wpi_payment_form' == $post->post_type && wpinv_get_default_payment_form() == $post->ID) { |
|
475 | + $post_states['default_form'] = __('Default Payment Form', 'invoicing'); |
|
476 | 476 | } |
477 | 477 | |
478 | 478 | return $post_states; |
@@ -482,35 +482,35 @@ discard block |
||
482 | 482 | /** |
483 | 483 | * Returns an array of coupon table columns. |
484 | 484 | */ |
485 | - public static function discount_columns( $columns ) { |
|
485 | + public static function discount_columns($columns) { |
|
486 | 486 | |
487 | 487 | $columns = array( |
488 | 488 | 'cb' => $columns['cb'], |
489 | - 'title' => __( 'Name', 'invoicing' ), |
|
490 | - 'code' => __( 'Code', 'invoicing' ), |
|
491 | - 'amount' => __( 'Amount', 'invoicing' ), |
|
492 | - 'usage' => __( 'Usage / Limit', 'invoicing' ), |
|
493 | - 'start_date' => __( 'Start Date', 'invoicing' ), |
|
494 | - 'expiry_date' => __( 'Expiry Date', 'invoicing' ), |
|
489 | + 'title' => __('Name', 'invoicing'), |
|
490 | + 'code' => __('Code', 'invoicing'), |
|
491 | + 'amount' => __('Amount', 'invoicing'), |
|
492 | + 'usage' => __('Usage / Limit', 'invoicing'), |
|
493 | + 'start_date' => __('Start Date', 'invoicing'), |
|
494 | + 'expiry_date' => __('Expiry Date', 'invoicing'), |
|
495 | 495 | ); |
496 | 496 | |
497 | - return apply_filters( 'wpi_discount_table_columns', $columns ); |
|
497 | + return apply_filters('wpi_discount_table_columns', $columns); |
|
498 | 498 | } |
499 | 499 | |
500 | 500 | /** |
501 | 501 | * Filters post states. |
502 | 502 | */ |
503 | - public static function filter_discount_state( $post_states, $post ) { |
|
503 | + public static function filter_discount_state($post_states, $post) { |
|
504 | 504 | |
505 | - if ( 'wpi_discount' == $post->post_type ) { |
|
505 | + if ('wpi_discount' == $post->post_type) { |
|
506 | 506 | |
507 | - $discount = new WPInv_Discount( $post ); |
|
507 | + $discount = new WPInv_Discount($post); |
|
508 | 508 | |
509 | 509 | $status = $discount->is_expired() ? 'expired' : $discount->get_status(); |
510 | 510 | |
511 | - if ( $status != 'publish' ) { |
|
511 | + if ($status != 'publish') { |
|
512 | 512 | return array( |
513 | - 'discount_status' => wpinv_discount_status( $status ), |
|
513 | + 'discount_status' => wpinv_discount_status($status), |
|
514 | 514 | ); |
515 | 515 | } |
516 | 516 | |
@@ -525,30 +525,30 @@ discard block |
||
525 | 525 | /** |
526 | 526 | * Returns an array of items table columns. |
527 | 527 | */ |
528 | - public static function item_columns( $columns ) { |
|
528 | + public static function item_columns($columns) { |
|
529 | 529 | |
530 | 530 | $columns = array( |
531 | 531 | 'cb' => $columns['cb'], |
532 | - 'title' => __( 'Name', 'invoicing' ), |
|
533 | - 'price' => __( 'Price', 'invoicing' ), |
|
534 | - 'vat_rule' => __( 'Tax Rule', 'invoicing' ), |
|
535 | - 'vat_class' => __( 'Tax Class', 'invoicing' ), |
|
536 | - 'type' => __( 'Type', 'invoicing' ), |
|
537 | - 'shortcode' => __( 'Shortcode', 'invoicing' ), |
|
532 | + 'title' => __('Name', 'invoicing'), |
|
533 | + 'price' => __('Price', 'invoicing'), |
|
534 | + 'vat_rule' => __('Tax Rule', 'invoicing'), |
|
535 | + 'vat_class' => __('Tax Class', 'invoicing'), |
|
536 | + 'type' => __('Type', 'invoicing'), |
|
537 | + 'shortcode' => __('Shortcode', 'invoicing'), |
|
538 | 538 | ); |
539 | 539 | |
540 | - if ( ! wpinv_use_taxes() ) { |
|
541 | - unset( $columns['vat_rule'] ); |
|
542 | - unset( $columns['vat_class'] ); |
|
540 | + if (!wpinv_use_taxes()) { |
|
541 | + unset($columns['vat_rule']); |
|
542 | + unset($columns['vat_class']); |
|
543 | 543 | } |
544 | 544 | |
545 | - return apply_filters( 'wpi_item_table_columns', $columns ); |
|
545 | + return apply_filters('wpi_item_table_columns', $columns); |
|
546 | 546 | } |
547 | 547 | |
548 | 548 | /** |
549 | 549 | * Returns an array of sortable items table columns. |
550 | 550 | */ |
551 | - public static function sortable_item_columns( $columns ) { |
|
551 | + public static function sortable_item_columns($columns) { |
|
552 | 552 | |
553 | 553 | return array_merge( |
554 | 554 | $columns, |
@@ -565,45 +565,45 @@ discard block |
||
565 | 565 | /** |
566 | 566 | * Displays items table columns. |
567 | 567 | */ |
568 | - public static function display_item_columns( $column_name, $post_id ) { |
|
568 | + public static function display_item_columns($column_name, $post_id) { |
|
569 | 569 | |
570 | - $item = new WPInv_Item( $post_id ); |
|
570 | + $item = new WPInv_Item($post_id); |
|
571 | 571 | |
572 | - switch ( $column_name ) { |
|
572 | + switch ($column_name) { |
|
573 | 573 | |
574 | 574 | case 'price': |
575 | - if ( ! $item->is_recurring() ) { |
|
576 | - echo wp_kses_post( $item->get_the_price() ); |
|
575 | + if (!$item->is_recurring()) { |
|
576 | + echo wp_kses_post($item->get_the_price()); |
|
577 | 577 | break; |
578 | 578 | } |
579 | 579 | |
580 | 580 | $price = wp_sprintf( |
581 | - __( '%1$s / %2$s', 'invoicing' ), |
|
581 | + __('%1$s / %2$s', 'invoicing'), |
|
582 | 582 | $item->get_the_price(), |
583 | - getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' ) |
|
583 | + getpaid_get_subscription_period_label($item->get_recurring_period(), $item->get_recurring_interval(), '') |
|
584 | 584 | ); |
585 | 585 | |
586 | - if ( $item->get_the_price() == $item->get_the_initial_price() ) { |
|
587 | - echo wp_kses_post( $price ); |
|
586 | + if ($item->get_the_price() == $item->get_the_initial_price()) { |
|
587 | + echo wp_kses_post($price); |
|
588 | 588 | break; |
589 | 589 | } |
590 | 590 | |
591 | - echo wp_kses_post( $item->get_the_initial_price() ); |
|
591 | + echo wp_kses_post($item->get_the_initial_price()); |
|
592 | 592 | |
593 | - echo '<span class="meta">' . wp_sprintf( esc_html__( 'then %s', 'invoicing' ), wp_kses_post( $price ) ) . '</span>'; |
|
593 | + echo '<span class="meta">' . wp_sprintf(esc_html__('then %s', 'invoicing'), wp_kses_post($price)) . '</span>'; |
|
594 | 594 | break; |
595 | 595 | |
596 | 596 | case 'vat_rule': |
597 | - echo wp_kses_post( getpaid_get_tax_rule_label( $item->get_vat_rule() ) ); |
|
597 | + echo wp_kses_post(getpaid_get_tax_rule_label($item->get_vat_rule())); |
|
598 | 598 | break; |
599 | 599 | |
600 | 600 | case 'vat_class': |
601 | - echo wp_kses_post( getpaid_get_tax_class_label( $item->get_vat_class() ) ); |
|
601 | + echo wp_kses_post(getpaid_get_tax_class_label($item->get_vat_class())); |
|
602 | 602 | break; |
603 | 603 | |
604 | 604 | case 'shortcode': |
605 | - if ( $item->is_type( array( '', 'fee', 'custom' ) ) ) { |
|
606 | - echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr( $item->get_id() ) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>'; |
|
605 | + if ($item->is_type(array('', 'fee', 'custom'))) { |
|
606 | + echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr($item->get_id()) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>'; |
|
607 | 607 | } else { |
608 | 608 | echo '—'; |
609 | 609 | } |
@@ -611,7 +611,7 @@ discard block |
||
611 | 611 | break; |
612 | 612 | |
613 | 613 | case 'type': |
614 | - echo wp_kses_post( wpinv_item_type( $item->get_id() ) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>' ); |
|
614 | + echo wp_kses_post(wpinv_item_type($item->get_id()) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>'); |
|
615 | 615 | break; |
616 | 616 | |
617 | 617 | } |
@@ -621,21 +621,21 @@ discard block |
||
621 | 621 | /** |
622 | 622 | * Lets users filter items using taxes. |
623 | 623 | */ |
624 | - public static function add_item_filters( $post_type ) { |
|
624 | + public static function add_item_filters($post_type) { |
|
625 | 625 | |
626 | 626 | // Abort if we're not dealing with items. |
627 | - if ( $post_type != 'wpi_item' ) { |
|
627 | + if ($post_type != 'wpi_item') { |
|
628 | 628 | return; |
629 | 629 | } |
630 | 630 | |
631 | 631 | // Filter by vat rules. |
632 | - if ( wpinv_use_taxes() ) { |
|
632 | + if (wpinv_use_taxes()) { |
|
633 | 633 | |
634 | 634 | // Sanitize selected vat rule. |
635 | 635 | $vat_rule = ''; |
636 | 636 | $vat_rules = getpaid_get_tax_rules(); |
637 | - if ( isset( $_GET['vat_rule'] ) ) { |
|
638 | - $vat_rule = sanitize_text_field( $_GET['vat_rule'] ); |
|
637 | + if (isset($_GET['vat_rule'])) { |
|
638 | + $vat_rule = sanitize_text_field($_GET['vat_rule']); |
|
639 | 639 | } |
640 | 640 | |
641 | 641 | // Filter by VAT rule. |
@@ -643,13 +643,13 @@ discard block |
||
643 | 643 | array( |
644 | 644 | 'options' => array_merge( |
645 | 645 | array( |
646 | - '' => __( 'All Tax Rules', 'invoicing' ), |
|
646 | + '' => __('All Tax Rules', 'invoicing'), |
|
647 | 647 | ), |
648 | 648 | $vat_rules |
649 | 649 | ), |
650 | 650 | 'name' => 'vat_rule', |
651 | 651 | 'id' => 'vat_rule', |
652 | - 'selected' => in_array( $vat_rule, array_keys( $vat_rules ) ) ? $vat_rule : '', |
|
652 | + 'selected' => in_array($vat_rule, array_keys($vat_rules)) ? $vat_rule : '', |
|
653 | 653 | 'show_option_all' => false, |
654 | 654 | 'show_option_none' => false, |
655 | 655 | ) |
@@ -660,21 +660,21 @@ discard block |
||
660 | 660 | // Sanitize selected vat rule. |
661 | 661 | $vat_class = ''; |
662 | 662 | $vat_classes = getpaid_get_tax_classes(); |
663 | - if ( isset( $_GET['vat_class'] ) ) { |
|
664 | - $vat_class = sanitize_text_field( $_GET['vat_class'] ); |
|
663 | + if (isset($_GET['vat_class'])) { |
|
664 | + $vat_class = sanitize_text_field($_GET['vat_class']); |
|
665 | 665 | } |
666 | 666 | |
667 | 667 | wpinv_html_select( |
668 | 668 | array( |
669 | 669 | 'options' => array_merge( |
670 | 670 | array( |
671 | - '' => __( 'All Tax Classes', 'invoicing' ), |
|
671 | + '' => __('All Tax Classes', 'invoicing'), |
|
672 | 672 | ), |
673 | 673 | $vat_classes |
674 | 674 | ), |
675 | 675 | 'name' => 'vat_class', |
676 | 676 | 'id' => 'vat_class', |
677 | - 'selected' => in_array( $vat_class, array_keys( $vat_classes ) ) ? $vat_class : '', |
|
677 | + 'selected' => in_array($vat_class, array_keys($vat_classes)) ? $vat_class : '', |
|
678 | 678 | 'show_option_all' => false, |
679 | 679 | 'show_option_none' => false, |
680 | 680 | ) |
@@ -683,22 +683,22 @@ discard block |
||
683 | 683 | } |
684 | 684 | |
685 | 685 | // Filter by item type. |
686 | - $type = ''; |
|
687 | - if ( isset( $_GET['type'] ) ) { |
|
688 | - $type = sanitize_text_field( $_GET['type'] ); |
|
686 | + $type = ''; |
|
687 | + if (isset($_GET['type'])) { |
|
688 | + $type = sanitize_text_field($_GET['type']); |
|
689 | 689 | } |
690 | 690 | |
691 | 691 | wpinv_html_select( |
692 | 692 | array( |
693 | 693 | 'options' => array_merge( |
694 | 694 | array( |
695 | - '' => __( 'All item types', 'invoicing' ), |
|
695 | + '' => __('All item types', 'invoicing'), |
|
696 | 696 | ), |
697 | 697 | wpinv_get_item_types() |
698 | 698 | ), |
699 | 699 | 'name' => 'type', |
700 | 700 | 'id' => 'type', |
701 | - 'selected' => in_array( $type, wpinv_item_types() ) ? $type : '', |
|
701 | + 'selected' => in_array($type, wpinv_item_types()) ? $type : '', |
|
702 | 702 | 'show_option_all' => false, |
703 | 703 | 'show_option_none' => false, |
704 | 704 | ) |
@@ -709,45 +709,45 @@ discard block |
||
709 | 709 | /** |
710 | 710 | * Filters the item query. |
711 | 711 | */ |
712 | - public static function filter_item_query( $query ) { |
|
712 | + public static function filter_item_query($query) { |
|
713 | 713 | |
714 | 714 | // modify the query only if it admin and main query. |
715 | - if ( ! ( is_admin() && $query->is_main_query() ) ) { |
|
715 | + if (!(is_admin() && $query->is_main_query())) { |
|
716 | 716 | return $query; |
717 | 717 | } |
718 | 718 | |
719 | 719 | // we want to modify the query for our items. |
720 | - if ( empty( $query->query['post_type'] ) || 'wpi_item' != $query->query['post_type'] ) { |
|
720 | + if (empty($query->query['post_type']) || 'wpi_item' != $query->query['post_type']) { |
|
721 | 721 | return $query; |
722 | 722 | } |
723 | 723 | |
724 | - if ( empty( $query->query_vars['meta_query'] ) ) { |
|
724 | + if (empty($query->query_vars['meta_query'])) { |
|
725 | 725 | $query->query_vars['meta_query'] = array(); |
726 | 726 | } |
727 | 727 | |
728 | 728 | // Filter vat rule type |
729 | - if ( ! empty( $_GET['vat_rule'] ) ) { |
|
729 | + if (!empty($_GET['vat_rule'])) { |
|
730 | 730 | $query->query_vars['meta_query'][] = array( |
731 | 731 | 'key' => '_wpinv_vat_rule', |
732 | - 'value' => sanitize_text_field( $_GET['vat_rule'] ), |
|
732 | + 'value' => sanitize_text_field($_GET['vat_rule']), |
|
733 | 733 | 'compare' => '=', |
734 | 734 | ); |
735 | 735 | } |
736 | 736 | |
737 | 737 | // Filter vat class |
738 | - if ( ! empty( $_GET['vat_class'] ) ) { |
|
738 | + if (!empty($_GET['vat_class'])) { |
|
739 | 739 | $query->query_vars['meta_query'][] = array( |
740 | 740 | 'key' => '_wpinv_vat_class', |
741 | - 'value' => sanitize_text_field( $_GET['vat_class'] ), |
|
741 | + 'value' => sanitize_text_field($_GET['vat_class']), |
|
742 | 742 | 'compare' => '=', |
743 | 743 | ); |
744 | 744 | } |
745 | 745 | |
746 | 746 | // Filter item type |
747 | - if ( ! empty( $_GET['type'] ) ) { |
|
747 | + if (!empty($_GET['type'])) { |
|
748 | 748 | $query->query_vars['meta_query'][] = array( |
749 | 749 | 'key' => '_wpinv_type', |
750 | - 'value' => sanitize_text_field( $_GET['type'] ), |
|
750 | + 'value' => sanitize_text_field($_GET['type']), |
|
751 | 751 | 'compare' => '=', |
752 | 752 | ); |
753 | 753 | } |
@@ -757,15 +757,15 @@ discard block |
||
757 | 757 | /** |
758 | 758 | * Reorders items. |
759 | 759 | */ |
760 | - public static function reorder_items( $vars ) { |
|
760 | + public static function reorder_items($vars) { |
|
761 | 761 | global $typenow; |
762 | 762 | |
763 | - if ( 'wpi_item' !== $typenow || empty( $vars['orderby'] ) ) { |
|
763 | + if ('wpi_item' !== $typenow || empty($vars['orderby'])) { |
|
764 | 764 | return $vars; |
765 | 765 | } |
766 | 766 | |
767 | 767 | // By item type. |
768 | - if ( 'type' == $vars['orderby'] ) { |
|
768 | + if ('type' == $vars['orderby']) { |
|
769 | 769 | return array_merge( |
770 | 770 | $vars, |
771 | 771 | array( |
@@ -776,7 +776,7 @@ discard block |
||
776 | 776 | } |
777 | 777 | |
778 | 778 | // By vat class. |
779 | - if ( 'vat_class' == $vars['orderby'] ) { |
|
779 | + if ('vat_class' == $vars['orderby']) { |
|
780 | 780 | return array_merge( |
781 | 781 | $vars, |
782 | 782 | array( |
@@ -787,7 +787,7 @@ discard block |
||
787 | 787 | } |
788 | 788 | |
789 | 789 | // By vat rule. |
790 | - if ( 'vat_rule' == $vars['orderby'] ) { |
|
790 | + if ('vat_rule' == $vars['orderby']) { |
|
791 | 791 | return array_merge( |
792 | 792 | $vars, |
793 | 793 | array( |
@@ -798,7 +798,7 @@ discard block |
||
798 | 798 | } |
799 | 799 | |
800 | 800 | // By price. |
801 | - if ( 'price' == $vars['orderby'] ) { |
|
801 | + if ('price' == $vars['orderby']) { |
|
802 | 802 | return array_merge( |
803 | 803 | $vars, |
804 | 804 | array( |
@@ -815,27 +815,27 @@ discard block |
||
815 | 815 | /** |
816 | 816 | * Fired when deleting a post. |
817 | 817 | */ |
818 | - public static function delete_post( $post_id ) { |
|
818 | + public static function delete_post($post_id) { |
|
819 | 819 | |
820 | - switch ( get_post_type( $post_id ) ) { |
|
820 | + switch (get_post_type($post_id)) { |
|
821 | 821 | |
822 | 822 | case 'wpi_item': |
823 | - do_action( 'getpaid_before_delete_item', new WPInv_Item( $post_id ) ); |
|
823 | + do_action('getpaid_before_delete_item', new WPInv_Item($post_id)); |
|
824 | 824 | break; |
825 | 825 | |
826 | 826 | case 'wpi_payment_form': |
827 | - do_action( 'getpaid_before_delete_payment_form', new GetPaid_Payment_Form( $post_id ) ); |
|
827 | + do_action('getpaid_before_delete_payment_form', new GetPaid_Payment_Form($post_id)); |
|
828 | 828 | break; |
829 | 829 | |
830 | 830 | case 'wpi_discount': |
831 | - do_action( 'getpaid_before_delete_discount', new WPInv_Discount( $post_id ) ); |
|
831 | + do_action('getpaid_before_delete_discount', new WPInv_Discount($post_id)); |
|
832 | 832 | break; |
833 | 833 | |
834 | 834 | case 'wpi_invoice': |
835 | - $invoice = new WPInv_Invoice( $post_id ); |
|
836 | - do_action( 'getpaid_before_delete_invoice', $invoice ); |
|
837 | - $invoice->get_data_store()->delete_items( $invoice ); |
|
838 | - $invoice->get_data_store()->delete_special_fields( $invoice ); |
|
835 | + $invoice = new WPInv_Invoice($post_id); |
|
836 | + do_action('getpaid_before_delete_invoice', $invoice); |
|
837 | + $invoice->get_data_store()->delete_items($invoice); |
|
838 | + $invoice->get_data_store()->delete_special_fields($invoice); |
|
839 | 839 | break; |
840 | 840 | } |
841 | 841 | } |
@@ -848,28 +848,28 @@ discard block |
||
848 | 848 | * |
849 | 849 | * @return mixed |
850 | 850 | */ |
851 | - public static function add_display_post_states( $post_states, $post ) { |
|
851 | + public static function add_display_post_states($post_states, $post) { |
|
852 | 852 | |
853 | - if ( wpinv_get_option( 'success_page', 0 ) == $post->ID ) { |
|
854 | - $post_states['getpaid_success_page'] = __( 'GetPaid Receipt Page', 'invoicing' ); |
|
853 | + if (wpinv_get_option('success_page', 0) == $post->ID) { |
|
854 | + $post_states['getpaid_success_page'] = __('GetPaid Receipt Page', 'invoicing'); |
|
855 | 855 | } |
856 | 856 | |
857 | - foreach ( getpaid_get_invoice_post_types() as $post_type => $label ) { |
|
857 | + foreach (getpaid_get_invoice_post_types() as $post_type => $label) { |
|
858 | 858 | |
859 | - if ( wpinv_get_option( "{$post_type}_history_page", 0 ) == $post->ID ) { |
|
860 | - $post_states[ "getpaid_{$post_type}_history_page" ] = sprintf( |
|
861 | - __( 'GetPaid %s History Page', 'invoicing' ), |
|
859 | + if (wpinv_get_option("{$post_type}_history_page", 0) == $post->ID) { |
|
860 | + $post_states["getpaid_{$post_type}_history_page"] = sprintf( |
|
861 | + __('GetPaid %s History Page', 'invoicing'), |
|
862 | 862 | $label |
863 | 863 | ); |
864 | 864 | } |
865 | 865 | } |
866 | 866 | |
867 | - if ( wpinv_get_option( 'invoice_subscription_page', 0 ) == $post->ID ) { |
|
868 | - $post_states['getpaid_invoice_subscription_page'] = __( 'GetPaid Subscription Page', 'invoicing' ); |
|
867 | + if (wpinv_get_option('invoice_subscription_page', 0) == $post->ID) { |
|
868 | + $post_states['getpaid_invoice_subscription_page'] = __('GetPaid Subscription Page', 'invoicing'); |
|
869 | 869 | } |
870 | 870 | |
871 | - if ( wpinv_get_option( 'checkout_page', 0 ) == $post->ID ) { |
|
872 | - $post_states['getpaid_checkout_page'] = __( 'GetPaid Checkout Page', 'invoicing' ); |
|
871 | + if (wpinv_get_option('checkout_page', 0) == $post->ID) { |
|
872 | + $post_states['getpaid_checkout_page'] = __('GetPaid Checkout Page', 'invoicing'); |
|
873 | 873 | } |
874 | 874 | |
875 | 875 | return $post_states; |
@@ -192,13 +192,13 @@ discard block |
||
192 | 192 | $name = isset( $option['name'] ) ? $option['name'] : ''; |
193 | 193 | $cb = "wpinv_{$option['type']}_callback"; |
194 | 194 | $section = "wpinv_settings_{$tab}_$section"; |
195 | - $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page']; |
|
195 | + $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page']; |
|
196 | 196 | |
197 | - if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) { |
|
198 | - $tip = wpinv_clean( $option['desc'] ); |
|
199 | - $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>"; |
|
200 | - unset( $option['desc'] ); |
|
201 | - } |
|
197 | + if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) { |
|
198 | + $tip = wpinv_clean( $option['desc'] ); |
|
199 | + $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>"; |
|
200 | + unset( $option['desc'] ); |
|
201 | + } |
|
202 | 202 | |
203 | 203 | // Loop through all tabs. |
204 | 204 | add_settings_field( |
@@ -225,9 +225,9 @@ discard block |
||
225 | 225 | 'faux' => isset( $option['faux'] ) ? $option['faux'] : false, |
226 | 226 | 'onchange' => isset( $option['onchange'] ) ? $option['onchange'] : '', |
227 | 227 | 'custom' => isset( $option['custom'] ) ? $option['custom'] : '', |
228 | - 'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '', |
|
229 | - 'class' => isset( $option['class'] ) ? $option['class'] : '', |
|
230 | - 'style' => isset( $option['style'] ) ? $option['style'] : '', |
|
228 | + 'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '', |
|
229 | + 'class' => isset( $option['class'] ) ? $option['class'] : '', |
|
230 | + 'style' => isset( $option['style'] ) ? $option['style'] : '', |
|
231 | 231 | 'cols' => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
232 | 232 | 'rows' => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5, |
233 | 233 | ) |
@@ -241,7 +241,7 @@ discard block |
||
241 | 241 | * @return array |
242 | 242 | */ |
243 | 243 | function wpinv_get_registered_settings() { |
244 | - return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) ); |
|
244 | + return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) ); |
|
245 | 245 | } |
246 | 246 | |
247 | 247 | /** |
@@ -260,18 +260,18 @@ discard block |
||
260 | 260 | */ |
261 | 261 | function wpinv_settings_sanitize( $input = array() ) { |
262 | 262 | |
263 | - $wpinv_options = wpinv_get_options(); |
|
264 | - $raw_referrer = wp_get_raw_referer(); |
|
263 | + $wpinv_options = wpinv_get_options(); |
|
264 | + $raw_referrer = wp_get_raw_referer(); |
|
265 | 265 | |
266 | 266 | if ( empty( $raw_referrer ) ) { |
267 | - return array_merge( $wpinv_options, $input ); |
|
267 | + return array_merge( $wpinv_options, $input ); |
|
268 | 268 | } |
269 | 269 | |
270 | 270 | wp_parse_str( $raw_referrer, $referrer ); |
271 | 271 | |
272 | - if ( in_array( 'gp-setup', $referrer ) ) { |
|
273 | - return array_merge( $wpinv_options, $input ); |
|
274 | - } |
|
272 | + if ( in_array( 'gp-setup', $referrer ) ) { |
|
273 | + return array_merge( $wpinv_options, $input ); |
|
274 | + } |
|
275 | 275 | |
276 | 276 | $settings = wpinv_get_registered_settings(); |
277 | 277 | $tab = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general'; |
@@ -293,10 +293,10 @@ discard block |
||
293 | 293 | } |
294 | 294 | |
295 | 295 | // General filter |
296 | - $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
296 | + $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
297 | 297 | |
298 | - // Key specific filter. |
|
299 | - $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] ); |
|
298 | + // Key specific filter. |
|
299 | + $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] ); |
|
300 | 300 | } |
301 | 301 | |
302 | 302 | // Loop through the whitelist and unset any that are empty for the tab being saved |
@@ -339,14 +339,14 @@ discard block |
||
339 | 339 | |
340 | 340 | foreach ( $new_rates as $rate ) { |
341 | 341 | |
342 | - $rate['rate'] = wpinv_sanitize_amount( $rate['rate'] ); |
|
343 | - $rate['name'] = sanitize_text_field( $rate['name'] ); |
|
344 | - $rate['state'] = sanitize_text_field( $rate['state'] ); |
|
345 | - $rate['country'] = sanitize_text_field( $rate['country'] ); |
|
346 | - $rate['global'] = empty( $rate['state'] ); |
|
347 | - $tax_rates[] = $rate; |
|
342 | + $rate['rate'] = wpinv_sanitize_amount( $rate['rate'] ); |
|
343 | + $rate['name'] = sanitize_text_field( $rate['name'] ); |
|
344 | + $rate['state'] = sanitize_text_field( $rate['state'] ); |
|
345 | + $rate['country'] = sanitize_text_field( $rate['country'] ); |
|
346 | + $rate['global'] = empty( $rate['state'] ); |
|
347 | + $tax_rates[] = $rate; |
|
348 | 348 | |
349 | - } |
|
349 | + } |
|
350 | 350 | |
351 | 351 | update_option( 'wpinv_tax_rates', $tax_rates ); |
352 | 352 | |
@@ -359,21 +359,21 @@ discard block |
||
359 | 359 | return $input; |
360 | 360 | } |
361 | 361 | |
362 | - if ( empty( $_POST['wpinv_tax_rules_nonce'] ) || ! wp_verify_nonce( $_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules' ) ) { |
|
363 | - return $input; |
|
364 | - } |
|
362 | + if ( empty( $_POST['wpinv_tax_rules_nonce'] ) || ! wp_verify_nonce( $_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules' ) ) { |
|
363 | + return $input; |
|
364 | + } |
|
365 | 365 | |
366 | 366 | $new_rules = ! empty( $_POST['tax_rules'] ) ? wp_kses_post_deep( array_values( $_POST['tax_rules'] ) ) : array(); |
367 | 367 | $tax_rules = array(); |
368 | 368 | |
369 | 369 | foreach ( $new_rules as $rule ) { |
370 | 370 | |
371 | - $rule['key'] = sanitize_title_with_dashes( $rule['key'] ); |
|
372 | - $rule['label'] = sanitize_text_field( $rule['label'] ); |
|
373 | - $rule['tax_base'] = sanitize_text_field( $rule['tax_base'] ); |
|
374 | - $tax_rules[] = $rule; |
|
371 | + $rule['key'] = sanitize_title_with_dashes( $rule['key'] ); |
|
372 | + $rule['label'] = sanitize_text_field( $rule['label'] ); |
|
373 | + $rule['tax_base'] = sanitize_text_field( $rule['tax_base'] ); |
|
374 | + $tax_rules[] = $rule; |
|
375 | 375 | |
376 | - } |
|
376 | + } |
|
377 | 377 | |
378 | 378 | update_option( 'wpinv_tax_rules', $tax_rules ); |
379 | 379 | |
@@ -386,11 +386,11 @@ discard block |
||
386 | 386 | $tabs['general'] = __( 'General', 'invoicing' ); |
387 | 387 | $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' ); |
388 | 388 | $tabs['taxes'] = __( 'Taxes', 'invoicing' ); |
389 | - $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
389 | + $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
390 | 390 | |
391 | - if ( count( getpaid_get_integration_settings() ) > 0 ) { |
|
392 | - $tabs['integrations'] = __( 'Integrations', 'invoicing' ); |
|
393 | - } |
|
391 | + if ( count( getpaid_get_integration_settings() ) > 0 ) { |
|
392 | + $tabs['integrations'] = __( 'Integrations', 'invoicing' ); |
|
393 | + } |
|
394 | 394 | |
395 | 395 | $tabs['privacy'] = __( 'Privacy', 'invoicing' ); |
396 | 396 | $tabs['misc'] = __( 'Misc', 'invoicing' ); |
@@ -421,53 +421,53 @@ discard block |
||
421 | 421 | 'general' => apply_filters( |
422 | 422 | 'wpinv_settings_sections_general', |
423 | 423 | array( |
424 | - 'main' => __( 'General Settings', 'invoicing' ), |
|
425 | - 'page_section' => __( 'Page Settings', 'invoicing' ), |
|
426 | - 'currency_section' => __( 'Currency Settings', 'invoicing' ), |
|
427 | - 'labels' => __( 'Label Texts', 'invoicing' ), |
|
424 | + 'main' => __( 'General Settings', 'invoicing' ), |
|
425 | + 'page_section' => __( 'Page Settings', 'invoicing' ), |
|
426 | + 'currency_section' => __( 'Currency Settings', 'invoicing' ), |
|
427 | + 'labels' => __( 'Label Texts', 'invoicing' ), |
|
428 | 428 | ) |
429 | 429 | ), |
430 | 430 | 'gateways' => apply_filters( |
431 | 431 | 'wpinv_settings_sections_gateways', |
432 | 432 | array( |
433 | - 'main' => __( 'Gateway Settings', 'invoicing' ), |
|
433 | + 'main' => __( 'Gateway Settings', 'invoicing' ), |
|
434 | 434 | ) |
435 | 435 | ), |
436 | 436 | 'taxes' => apply_filters( |
437 | 437 | 'wpinv_settings_sections_taxes', |
438 | 438 | array( |
439 | - 'main' => __( 'Tax Settings', 'invoicing' ), |
|
440 | - 'rules' => __( 'Tax Rules', 'invoicing' ), |
|
441 | - 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
442 | - 'vat' => __( 'EU VAT Settings', 'invoicing' ), |
|
439 | + 'main' => __( 'Tax Settings', 'invoicing' ), |
|
440 | + 'rules' => __( 'Tax Rules', 'invoicing' ), |
|
441 | + 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
442 | + 'vat' => __( 'EU VAT Settings', 'invoicing' ), |
|
443 | 443 | ) |
444 | 444 | ), |
445 | 445 | 'emails' => apply_filters( |
446 | 446 | 'wpinv_settings_sections_emails', |
447 | 447 | array( |
448 | - 'main' => __( 'Email Settings', 'invoicing' ), |
|
448 | + 'main' => __( 'Email Settings', 'invoicing' ), |
|
449 | 449 | ) |
450 | 450 | ), |
451 | 451 | |
452 | - 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ), |
|
452 | + 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ), |
|
453 | 453 | |
454 | 454 | 'privacy' => apply_filters( |
455 | 455 | 'wpinv_settings_sections_privacy', |
456 | 456 | array( |
457 | - 'main' => __( 'Privacy policy', 'invoicing' ), |
|
457 | + 'main' => __( 'Privacy policy', 'invoicing' ), |
|
458 | 458 | ) |
459 | 459 | ), |
460 | 460 | 'misc' => apply_filters( |
461 | 461 | 'wpinv_settings_sections_misc', |
462 | 462 | array( |
463 | - 'main' => __( 'Miscellaneous', 'invoicing' ), |
|
464 | - 'custom-css' => __( 'Custom CSS', 'invoicing' ), |
|
463 | + 'main' => __( 'Miscellaneous', 'invoicing' ), |
|
464 | + 'custom-css' => __( 'Custom CSS', 'invoicing' ), |
|
465 | 465 | ) |
466 | 466 | ), |
467 | 467 | 'tools' => apply_filters( |
468 | 468 | 'wpinv_settings_sections_tools', |
469 | 469 | array( |
470 | - 'main' => __( 'Diagnostic Tools', 'invoicing' ), |
|
470 | + 'main' => __( 'Diagnostic Tools', 'invoicing' ), |
|
471 | 471 | ) |
472 | 472 | ), |
473 | 473 | ); |
@@ -478,46 +478,46 @@ discard block |
||
478 | 478 | } |
479 | 479 | |
480 | 480 | function wpinv_get_pages( $with_slug = false, $default_label = null ) { |
481 | - $pages_options = array(); |
|
481 | + $pages_options = array(); |
|
482 | 482 | |
483 | - if ( $default_label !== null && $default_label !== false ) { |
|
484 | - $pages_options = array( '' => $default_label ); // Blank option |
|
485 | - } |
|
483 | + if ( $default_label !== null && $default_label !== false ) { |
|
484 | + $pages_options = array( '' => $default_label ); // Blank option |
|
485 | + } |
|
486 | 486 | |
487 | - $pages = get_pages(); |
|
488 | - if ( $pages ) { |
|
489 | - foreach ( $pages as $page ) { |
|
490 | - $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
|
487 | + $pages = get_pages(); |
|
488 | + if ( $pages ) { |
|
489 | + foreach ( $pages as $page ) { |
|
490 | + $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
|
491 | 491 | $pages_options[ $page->ID ] = $title; |
492 | - } |
|
493 | - } |
|
492 | + } |
|
493 | + } |
|
494 | 494 | |
495 | - return $pages_options; |
|
495 | + return $pages_options; |
|
496 | 496 | } |
497 | 497 | |
498 | 498 | function wpinv_header_callback( $args ) { |
499 | - if ( ! empty( $args['desc'] ) ) { |
|
499 | + if ( ! empty( $args['desc'] ) ) { |
|
500 | 500 | echo wp_kses_post( $args['desc'] ); |
501 | 501 | } |
502 | 502 | } |
503 | 503 | |
504 | 504 | function wpinv_hidden_callback( $args ) { |
505 | 505 | |
506 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
507 | - $value = wpinv_get_option( $args['id'], $std ); |
|
506 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
507 | + $value = wpinv_get_option( $args['id'], $std ); |
|
508 | 508 | |
509 | - if ( isset( $args['set_value'] ) ) { |
|
510 | - $value = $args['set_value']; |
|
511 | - } |
|
509 | + if ( isset( $args['set_value'] ) ) { |
|
510 | + $value = $args['set_value']; |
|
511 | + } |
|
512 | 512 | |
513 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
514 | - $args['readonly'] = true; |
|
515 | - $name = ''; |
|
516 | - } else { |
|
517 | - $name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']'; |
|
518 | - } |
|
513 | + if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
514 | + $args['readonly'] = true; |
|
515 | + $name = ''; |
|
516 | + } else { |
|
517 | + $name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']'; |
|
518 | + } |
|
519 | 519 | |
520 | - echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
520 | + echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
521 | 521 | |
522 | 522 | } |
523 | 523 | |
@@ -526,12 +526,12 @@ discard block |
||
526 | 526 | */ |
527 | 527 | function wpinv_checkbox_callback( $args ) { |
528 | 528 | |
529 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
530 | - $std = wpinv_get_option( $args['id'], $std ); |
|
531 | - $id = esc_attr( $args['id'] ); |
|
529 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
530 | + $std = wpinv_get_option( $args['id'], $std ); |
|
531 | + $id = esc_attr( $args['id'] ); |
|
532 | 532 | |
533 | - getpaid_hidden_field( "wpinv_settings[$id]", '0' ); |
|
534 | - ?> |
|
533 | + getpaid_hidden_field( "wpinv_settings[$id]", '0' ); |
|
534 | + ?> |
|
535 | 535 | <fieldset> |
536 | 536 | <label> |
537 | 537 | <input id="wpinv-settings-<?php echo esc_attr( $id ); ?>" name="wpinv_settings[<?php echo esc_attr( $id ); ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox" /> |
@@ -543,75 +543,75 @@ discard block |
||
543 | 543 | |
544 | 544 | function wpinv_multicheck_callback( $args ) { |
545 | 545 | |
546 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
547 | - $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
546 | + $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
547 | + $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
548 | 548 | |
549 | - if ( ! empty( $args['options'] ) ) { |
|
549 | + if ( ! empty( $args['options'] ) ) { |
|
550 | 550 | |
551 | - $std = isset( $args['std'] ) ? $args['std'] : array(); |
|
552 | - $value = wpinv_get_option( $args['id'], $std ); |
|
551 | + $std = isset( $args['std'] ) ? $args['std'] : array(); |
|
552 | + $value = wpinv_get_option( $args['id'], $std ); |
|
553 | 553 | |
554 | - echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">'; |
|
554 | + echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">'; |
|
555 | 555 | foreach ( $args['options'] as $key => $option ) : |
556 | - $sanitize_key = esc_attr( wpinv_sanitize_key( $key ) ); |
|
557 | - if ( in_array( $sanitize_key, $value ) ) { |
|
558 | - $enabled = $sanitize_key; |
|
559 | - } else { |
|
560 | - $enabled = null; |
|
561 | - } |
|
562 | - echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/> '; |
|
563 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
564 | - endforeach; |
|
565 | - echo '</div>'; |
|
566 | - echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
567 | - } |
|
556 | + $sanitize_key = esc_attr( wpinv_sanitize_key( $key ) ); |
|
557 | + if ( in_array( $sanitize_key, $value ) ) { |
|
558 | + $enabled = $sanitize_key; |
|
559 | + } else { |
|
560 | + $enabled = null; |
|
561 | + } |
|
562 | + echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/> '; |
|
563 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
564 | + endforeach; |
|
565 | + echo '</div>'; |
|
566 | + echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
567 | + } |
|
568 | 568 | } |
569 | 569 | |
570 | 570 | function wpinv_payment_icons_callback( $args ) { |
571 | 571 | |
572 | 572 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
573 | - $value = wpinv_get_option( $args['id'], false ); |
|
573 | + $value = wpinv_get_option( $args['id'], false ); |
|
574 | 574 | |
575 | - if ( ! empty( $args['options'] ) ) { |
|
576 | - foreach ( $args['options'] as $key => $option ) { |
|
575 | + if ( ! empty( $args['options'] ) ) { |
|
576 | + foreach ( $args['options'] as $key => $option ) { |
|
577 | 577 | $sanitize_key = wpinv_sanitize_key( $key ); |
578 | 578 | |
579 | - if ( empty( $value ) ) { |
|
580 | - $enabled = $option; |
|
581 | - } else { |
|
582 | - $enabled = null; |
|
583 | - } |
|
584 | - |
|
585 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
|
586 | - |
|
587 | - echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/> '; |
|
588 | - |
|
589 | - if ( wpinv_string_is_image_url( $key ) ) { |
|
590 | - echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
591 | - } else { |
|
592 | - $card = strtolower( str_replace( ' ', '', $option ) ); |
|
593 | - |
|
594 | - if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
595 | - $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
596 | - } else { |
|
597 | - $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
598 | - $content_dir = WP_CONTENT_DIR; |
|
599 | - |
|
600 | - if ( function_exists( 'wp_normalize_path' ) ) { |
|
601 | - // Replaces backslashes with forward slashes for Windows systems |
|
602 | - $image = wp_normalize_path( $image ); |
|
603 | - $content_dir = wp_normalize_path( $content_dir ); |
|
604 | - } |
|
605 | - |
|
606 | - $image = str_replace( $content_dir, content_url(), $image ); |
|
607 | - } |
|
608 | - |
|
609 | - echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
610 | - } |
|
611 | - echo wp_kses_post( $option ) . '</label>'; |
|
612 | - } |
|
613 | - echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
614 | - } |
|
579 | + if ( empty( $value ) ) { |
|
580 | + $enabled = $option; |
|
581 | + } else { |
|
582 | + $enabled = null; |
|
583 | + } |
|
584 | + |
|
585 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
|
586 | + |
|
587 | + echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/> '; |
|
588 | + |
|
589 | + if ( wpinv_string_is_image_url( $key ) ) { |
|
590 | + echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
591 | + } else { |
|
592 | + $card = strtolower( str_replace( ' ', '', $option ) ); |
|
593 | + |
|
594 | + if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
595 | + $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
596 | + } else { |
|
597 | + $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
598 | + $content_dir = WP_CONTENT_DIR; |
|
599 | + |
|
600 | + if ( function_exists( 'wp_normalize_path' ) ) { |
|
601 | + // Replaces backslashes with forward slashes for Windows systems |
|
602 | + $image = wp_normalize_path( $image ); |
|
603 | + $content_dir = wp_normalize_path( $content_dir ); |
|
604 | + } |
|
605 | + |
|
606 | + $image = str_replace( $content_dir, content_url(), $image ); |
|
607 | + } |
|
608 | + |
|
609 | + echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
610 | + } |
|
611 | + echo wp_kses_post( $option ) . '</label>'; |
|
612 | + } |
|
613 | + echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
614 | + } |
|
615 | 615 | } |
616 | 616 | |
617 | 617 | /** |
@@ -619,9 +619,9 @@ discard block |
||
619 | 619 | */ |
620 | 620 | function wpinv_radio_callback( $args ) { |
621 | 621 | |
622 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
623 | - $std = wpinv_get_option( $args['id'], $std ); |
|
624 | - ?> |
|
622 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
623 | + $std = wpinv_get_option( $args['id'], $std ); |
|
624 | + ?> |
|
625 | 625 | <fieldset> |
626 | 626 | <ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;"> |
627 | 627 | <?php foreach ( $args['options'] as $key => $option ) : ?> |
@@ -635,7 +635,7 @@ discard block |
||
635 | 635 | </ul> |
636 | 636 | </fieldset> |
637 | 637 | <?php |
638 | - getpaid_settings_description_callback( $args ); |
|
638 | + getpaid_settings_description_callback( $args ); |
|
639 | 639 | } |
640 | 640 | |
641 | 641 | /** |
@@ -643,10 +643,10 @@ discard block |
||
643 | 643 | */ |
644 | 644 | function getpaid_settings_description_callback( $args ) { |
645 | 645 | |
646 | - if ( ! empty( $args['desc'] ) ) { |
|
647 | - $description = $args['desc']; |
|
648 | - echo wp_kses_post( "<p class='description'>$description</p>" ); |
|
649 | - } |
|
646 | + if ( ! empty( $args['desc'] ) ) { |
|
647 | + $description = $args['desc']; |
|
648 | + echo wp_kses_post( "<p class='description'>$description</p>" ); |
|
649 | + } |
|
650 | 650 | |
651 | 651 | } |
652 | 652 | |
@@ -655,7 +655,7 @@ discard block |
||
655 | 655 | */ |
656 | 656 | function wpinv_gateways_callback() { |
657 | 657 | |
658 | - ?> |
|
658 | + ?> |
|
659 | 659 | </td> |
660 | 660 | </tr> |
661 | 661 | <tr class="bsui"> |
@@ -669,26 +669,26 @@ discard block |
||
669 | 669 | |
670 | 670 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
671 | 671 | $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
672 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
673 | - $value = wpinv_get_option( $args['id'], $std ); |
|
672 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
673 | + $value = wpinv_get_option( $args['id'], $std ); |
|
674 | 674 | |
675 | - echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >'; |
|
675 | + echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >'; |
|
676 | 676 | |
677 | - foreach ( $args['options'] as $key => $option ) : |
|
677 | + foreach ( $args['options'] as $key => $option ) : |
|
678 | 678 | |
679 | - echo '<option value="' . esc_attr( $key ) . '" '; |
|
679 | + echo '<option value="' . esc_attr( $key ) . '" '; |
|
680 | 680 | |
681 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
681 | + if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
682 | 682 | selected( $key, $args['selected'] ); |
683 | 683 | } else { |
684 | 684 | selected( $key, $value ); |
685 | 685 | } |
686 | 686 | |
687 | - echo '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
688 | - endforeach; |
|
687 | + echo '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
688 | + endforeach; |
|
689 | 689 | |
690 | - echo '</select>'; |
|
691 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
690 | + echo '</select>'; |
|
691 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
692 | 692 | } |
693 | 693 | |
694 | 694 | /** |
@@ -699,38 +699,38 @@ discard block |
||
699 | 699 | */ |
700 | 700 | function wpinv_settings_attrs_helper( $args ) { |
701 | 701 | |
702 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
703 | - $id = esc_attr( $args['id'] ); |
|
704 | - $value = is_scalar( $value ) ? $value : ''; |
|
705 | - |
|
706 | - $attrs = array( |
|
707 | - 'name' => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]", |
|
708 | - 'readonly' => ! empty( $args['faux'] ), |
|
709 | - 'value' => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ), |
|
710 | - 'id' => 'wpinv-settings-' . $args['id'], |
|
711 | - 'style' => $args['style'], |
|
712 | - 'class' => $args['class'], |
|
713 | - 'placeholder' => $args['placeholder'], |
|
714 | - 'data-placeholder' => $args['placeholder'], |
|
715 | - ); |
|
702 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
703 | + $id = esc_attr( $args['id'] ); |
|
704 | + $value = is_scalar( $value ) ? $value : ''; |
|
705 | + |
|
706 | + $attrs = array( |
|
707 | + 'name' => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]", |
|
708 | + 'readonly' => ! empty( $args['faux'] ), |
|
709 | + 'value' => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ), |
|
710 | + 'id' => 'wpinv-settings-' . $args['id'], |
|
711 | + 'style' => $args['style'], |
|
712 | + 'class' => $args['class'], |
|
713 | + 'placeholder' => $args['placeholder'], |
|
714 | + 'data-placeholder' => $args['placeholder'], |
|
715 | + ); |
|
716 | 716 | |
717 | - if ( ! empty( $args['onchange'] ) ) { |
|
718 | - $attrs['onchange'] = $args['onchange']; |
|
719 | - } |
|
717 | + if ( ! empty( $args['onchange'] ) ) { |
|
718 | + $attrs['onchange'] = $args['onchange']; |
|
719 | + } |
|
720 | 720 | |
721 | - foreach ( $attrs as $key => $value ) { |
|
721 | + foreach ( $attrs as $key => $value ) { |
|
722 | 722 | |
723 | - if ( false === $value ) { |
|
724 | - continue; |
|
725 | - } |
|
723 | + if ( false === $value ) { |
|
724 | + continue; |
|
725 | + } |
|
726 | 726 | |
727 | - if ( true === $value ) { |
|
728 | - echo ' ' . esc_attr( $key ); |
|
729 | - } else { |
|
730 | - echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"'; |
|
731 | - } |
|
727 | + if ( true === $value ) { |
|
728 | + echo ' ' . esc_attr( $key ); |
|
729 | + } else { |
|
730 | + echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"'; |
|
731 | + } |
|
732 | 732 | |
733 | - } |
|
733 | + } |
|
734 | 734 | |
735 | 735 | } |
736 | 736 | |
@@ -739,9 +739,9 @@ discard block |
||
739 | 739 | */ |
740 | 740 | function wpinv_text_callback( $args ) { |
741 | 741 | |
742 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
742 | + $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
743 | 743 | |
744 | - ?> |
|
744 | + ?> |
|
745 | 745 | <label style="width: 100%;"> |
746 | 746 | <input type="text" <?php wpinv_settings_attrs_helper( $args ); ?>> |
747 | 747 | <?php echo wp_kses_post( $desc ); ?> |
@@ -755,9 +755,9 @@ discard block |
||
755 | 755 | */ |
756 | 756 | function wpinv_number_callback( $args ) { |
757 | 757 | |
758 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
758 | + $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
759 | 759 | |
760 | - ?> |
|
760 | + ?> |
|
761 | 761 | <label style="width: 100%;"> |
762 | 762 | <input type="number" step="<?php echo floatval( $args['step'] ); ?>" max="<?php echo intval( $args['max'] ); ?>" min="<?php echo intval( $args['min'] ); ?>" <?php wpinv_settings_attrs_helper( $args ); ?>> |
763 | 763 | <?php echo wp_kses_post( $desc ); ?> |
@@ -769,34 +769,34 @@ discard block |
||
769 | 769 | function wpinv_textarea_callback( $args ) { |
770 | 770 | |
771 | 771 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
772 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
773 | - $value = wpinv_get_option( $args['id'], $std ); |
|
772 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
773 | + $value = wpinv_get_option( $args['id'], $std ); |
|
774 | 774 | |
775 | 775 | $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
776 | 776 | $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text'; |
777 | 777 | |
778 | - echo '<textarea class="' . esc_attr( $class ) . ' txtarea-' . esc_attr( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . esc_attr( $args['cols'] ) . '" rows="' . esc_attr( $args['rows'] ) . '" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
779 | - echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
778 | + echo '<textarea class="' . esc_attr( $class ) . ' txtarea-' . esc_attr( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . esc_attr( $args['cols'] ) . '" rows="' . esc_attr( $args['rows'] ) . '" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
779 | + echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
780 | 780 | |
781 | 781 | } |
782 | 782 | |
783 | 783 | function wpinv_password_callback( $args ) { |
784 | 784 | |
785 | 785 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
786 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
787 | - $value = wpinv_get_option( $args['id'], $std ); |
|
786 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
787 | + $value = wpinv_get_option( $args['id'], $std ); |
|
788 | 788 | |
789 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
790 | - echo '<input type="password" class="' . esc_attr( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>'; |
|
791 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
789 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
790 | + echo '<input type="password" class="' . esc_attr( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>'; |
|
791 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
792 | 792 | |
793 | 793 | } |
794 | 794 | |
795 | 795 | function wpinv_missing_callback( $args ) { |
796 | - printf( |
|
797 | - esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
798 | - '<strong>' . esc_html( $args['id'] ) . '</strong>' |
|
799 | - ); |
|
796 | + printf( |
|
797 | + esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
798 | + '<strong>' . esc_html( $args['id'] ) . '</strong>' |
|
799 | + ); |
|
800 | 800 | } |
801 | 801 | |
802 | 802 | /** |
@@ -804,13 +804,13 @@ discard block |
||
804 | 804 | */ |
805 | 805 | function wpinv_select_callback( $args ) { |
806 | 806 | |
807 | - $desc = wp_kses_post( $args['desc'] ); |
|
808 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
809 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
810 | - $value = wpinv_get_option( $args['id'], $value ); |
|
811 | - $rand = uniqid( 'random_id' ); |
|
807 | + $desc = wp_kses_post( $args['desc'] ); |
|
808 | + $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
809 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
810 | + $value = wpinv_get_option( $args['id'], $value ); |
|
811 | + $rand = uniqid( 'random_id' ); |
|
812 | 812 | |
813 | - ?> |
|
813 | + ?> |
|
814 | 814 | <label style="width: 100%;"> |
815 | 815 | <select <?php wpinv_settings_attrs_helper( $args ); ?> data-allow-clear="true"> |
816 | 816 | <?php foreach ( $args['options'] as $option => $name ) : ?> |
@@ -843,50 +843,50 @@ discard block |
||
843 | 843 | function wpinv_color_select_callback( $args ) { |
844 | 844 | |
845 | 845 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
846 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
847 | - $value = wpinv_get_option( $args['id'], $std ); |
|
846 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
847 | + $value = wpinv_get_option( $args['id'], $std ); |
|
848 | 848 | |
849 | - echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
849 | + echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
850 | 850 | |
851 | - foreach ( $args['options'] as $option => $color ) { |
|
852 | - echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>'; |
|
853 | - } |
|
851 | + foreach ( $args['options'] as $option => $color ) { |
|
852 | + echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>'; |
|
853 | + } |
|
854 | 854 | |
855 | - echo '</select>'; |
|
856 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
855 | + echo '</select>'; |
|
856 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
857 | 857 | |
858 | 858 | } |
859 | 859 | |
860 | 860 | function wpinv_rich_editor_callback( $args ) { |
861 | - global $wp_version; |
|
861 | + global $wp_version; |
|
862 | 862 | |
863 | 863 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
864 | 864 | |
865 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
866 | - $value = wpinv_get_option( $args['id'], $std ); |
|
865 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
866 | + $value = wpinv_get_option( $args['id'], $std ); |
|
867 | 867 | |
868 | - if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
869 | - $value = $std; |
|
870 | - } |
|
868 | + if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
869 | + $value = $std; |
|
870 | + } |
|
871 | 871 | |
872 | - $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
872 | + $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
873 | 873 | |
874 | - echo '<div class="getpaid-settings-editor-input">'; |
|
875 | - if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
876 | - wp_editor( |
|
874 | + echo '<div class="getpaid-settings-editor-input">'; |
|
875 | + if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
876 | + wp_editor( |
|
877 | 877 | stripslashes( $value ), |
878 | 878 | 'wpinv_settings_' . esc_attr( $args['id'] ), |
879 | 879 | array( |
880 | - 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', |
|
881 | - 'textarea_rows' => absint( $rows ), |
|
882 | - 'media_buttons' => false, |
|
880 | + 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', |
|
881 | + 'textarea_rows' => absint( $rows ), |
|
882 | + 'media_buttons' => false, |
|
883 | 883 | ) |
884 | 884 | ); |
885 | - } else { |
|
886 | - echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
887 | - } |
|
885 | + } else { |
|
886 | + echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
887 | + } |
|
888 | 888 | |
889 | - echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
889 | + echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
890 | 890 | |
891 | 891 | } |
892 | 892 | |
@@ -894,51 +894,51 @@ discard block |
||
894 | 894 | |
895 | 895 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
896 | 896 | |
897 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
898 | - $value = wpinv_get_option( $args['id'], $std ); |
|
897 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
898 | + $value = wpinv_get_option( $args['id'], $std ); |
|
899 | 899 | |
900 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
901 | - echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
902 | - echo '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
903 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
900 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
901 | + echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
902 | + echo '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
903 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
904 | 904 | |
905 | 905 | } |
906 | 906 | |
907 | 907 | function wpinv_color_callback( $args ) { |
908 | 908 | |
909 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
910 | - $value = wpinv_get_option( $args['id'], $std ); |
|
909 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
910 | + $value = wpinv_get_option( $args['id'], $std ); |
|
911 | 911 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
912 | 912 | |
913 | - echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />'; |
|
914 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
913 | + echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />'; |
|
914 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
915 | 915 | |
916 | 916 | } |
917 | 917 | |
918 | 918 | function wpinv_country_states_callback( $args ) { |
919 | 919 | |
920 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
921 | - $value = wpinv_get_option( $args['id'], $std ); |
|
920 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
921 | + $value = wpinv_get_option( $args['id'], $std ); |
|
922 | 922 | |
923 | 923 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
924 | 924 | |
925 | - if ( isset( $args['placeholder'] ) ) { |
|
926 | - $placeholder = $args['placeholder']; |
|
927 | - } else { |
|
928 | - $placeholder = ''; |
|
929 | - } |
|
925 | + if ( isset( $args['placeholder'] ) ) { |
|
926 | + $placeholder = $args['placeholder']; |
|
927 | + } else { |
|
928 | + $placeholder = ''; |
|
929 | + } |
|
930 | 930 | |
931 | - $states = wpinv_get_country_states(); |
|
931 | + $states = wpinv_get_country_states(); |
|
932 | 932 | |
933 | - $class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2'; |
|
934 | - echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="' . esc_attr( $class ) . '" data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
933 | + $class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2'; |
|
934 | + echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="' . esc_attr( $class ) . '" data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
935 | 935 | |
936 | - foreach ( $states as $option => $name ) { |
|
937 | - echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>'; |
|
938 | - } |
|
936 | + foreach ( $states as $option => $name ) { |
|
937 | + echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>'; |
|
938 | + } |
|
939 | 939 | |
940 | - echo '</select>'; |
|
941 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
940 | + echo '</select>'; |
|
941 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
942 | 942 | |
943 | 943 | } |
944 | 944 | |
@@ -947,7 +947,7 @@ discard block |
||
947 | 947 | */ |
948 | 948 | function wpinv_tax_rates_callback() { |
949 | 949 | |
950 | - ?> |
|
950 | + ?> |
|
951 | 951 | </td> |
952 | 952 | </tr> |
953 | 953 | <tr class="bsui"> |
@@ -963,9 +963,9 @@ discard block |
||
963 | 963 | */ |
964 | 964 | function wpinv_tax_rate_callback( $tax_rate, $key ) { |
965 | 965 | |
966 | - $key = sanitize_key( $key ); |
|
967 | - $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate']; |
|
968 | - include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php'; |
|
966 | + $key = sanitize_key( $key ); |
|
967 | + $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate']; |
|
968 | + include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php'; |
|
969 | 969 | |
970 | 970 | } |
971 | 971 | |
@@ -974,7 +974,7 @@ discard block |
||
974 | 974 | */ |
975 | 975 | function wpinv_tax_rules_callback() { |
976 | 976 | |
977 | - ?> |
|
977 | + ?> |
|
978 | 978 | </td> |
979 | 979 | </tr> |
980 | 980 | <tr class="bsui"> |
@@ -1012,14 +1012,14 @@ discard block |
||
1012 | 1012 | <td> |
1013 | 1013 | <a href=" |
1014 | 1014 | <?php |
1015 | - echo esc_url( |
|
1016 | - wp_nonce_url( |
|
1017 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
1018 | - 'getpaid-nonce', |
|
1019 | - 'getpaid-nonce' |
|
1020 | - ) |
|
1021 | - ); |
|
1022 | - ?> |
|
1015 | + echo esc_url( |
|
1016 | + wp_nonce_url( |
|
1017 | + add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
1018 | + 'getpaid-nonce', |
|
1019 | + 'getpaid-nonce' |
|
1020 | + ) |
|
1021 | + ); |
|
1022 | + ?> |
|
1023 | 1023 | " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
1024 | 1024 | </td> |
1025 | 1025 | </tr> |
@@ -1031,14 +1031,14 @@ discard block |
||
1031 | 1031 | <td> |
1032 | 1032 | <a href=" |
1033 | 1033 | <?php |
1034 | - echo esc_url( |
|
1035 | - wp_nonce_url( |
|
1036 | - add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ), |
|
1037 | - 'getpaid-nonce', |
|
1038 | - 'getpaid-nonce' |
|
1039 | - ) |
|
1040 | - ); |
|
1041 | - ?> |
|
1034 | + echo esc_url( |
|
1035 | + wp_nonce_url( |
|
1036 | + add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ), |
|
1037 | + 'getpaid-nonce', |
|
1038 | + 'getpaid-nonce' |
|
1039 | + ) |
|
1040 | + ); |
|
1041 | + ?> |
|
1042 | 1042 | " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
1043 | 1043 | </td> |
1044 | 1044 | </tr> |
@@ -1050,14 +1050,14 @@ discard block |
||
1050 | 1050 | <td> |
1051 | 1051 | <a href=" |
1052 | 1052 | <?php |
1053 | - echo esc_url( |
|
1054 | - wp_nonce_url( |
|
1055 | - add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ), |
|
1056 | - 'getpaid-nonce', |
|
1057 | - 'getpaid-nonce' |
|
1058 | - ) |
|
1059 | - ); |
|
1060 | - ?> |
|
1053 | + echo esc_url( |
|
1054 | + wp_nonce_url( |
|
1055 | + add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ), |
|
1056 | + 'getpaid-nonce', |
|
1057 | + 'getpaid-nonce' |
|
1058 | + ) |
|
1059 | + ); |
|
1060 | + ?> |
|
1061 | 1061 | " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
1062 | 1062 | </td> |
1063 | 1063 | </tr> |
@@ -1070,14 +1070,14 @@ discard block |
||
1070 | 1070 | <td> |
1071 | 1071 | <a href=" |
1072 | 1072 | <?php |
1073 | - echo esc_url( |
|
1074 | - wp_nonce_url( |
|
1075 | - add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ), |
|
1076 | - 'getpaid-nonce', |
|
1077 | - 'getpaid-nonce' |
|
1078 | - ) |
|
1079 | - ); |
|
1080 | - ?> |
|
1073 | + echo esc_url( |
|
1074 | + wp_nonce_url( |
|
1075 | + add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ), |
|
1076 | + 'getpaid-nonce', |
|
1077 | + 'getpaid-nonce' |
|
1078 | + ) |
|
1079 | + ); |
|
1080 | + ?> |
|
1081 | 1081 | " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
1082 | 1082 | </td> |
1083 | 1083 | </tr> |
@@ -1090,8 +1090,8 @@ discard block |
||
1090 | 1090 | <td> |
1091 | 1091 | <a href=" |
1092 | 1092 | <?php |
1093 | - echo esc_url( admin_url( 'index.php?page=gp-setup' ) ); |
|
1094 | - ?> |
|
1093 | + echo esc_url( admin_url( 'index.php?page=gp-setup' ) ); |
|
1094 | + ?> |
|
1095 | 1095 | " class="button button-primary"><?php esc_html_e( 'Launch', 'invoicing' ); ?></a> |
1096 | 1096 | </td> |
1097 | 1097 | </tr> |
@@ -1105,19 +1105,19 @@ discard block |
||
1105 | 1105 | |
1106 | 1106 | |
1107 | 1107 | function wpinv_descriptive_text_callback( $args ) { |
1108 | - echo wp_kses_post( $args['desc'] ); |
|
1108 | + echo wp_kses_post( $args['desc'] ); |
|
1109 | 1109 | } |
1110 | 1110 | |
1111 | 1111 | function wpinv_raw_html_callback( $args ) { |
1112 | - echo wp_kses( $args['desc'], getpaid_allowed_html() ); |
|
1112 | + echo wp_kses( $args['desc'], getpaid_allowed_html() ); |
|
1113 | 1113 | } |
1114 | 1114 | |
1115 | 1115 | function wpinv_hook_callback( $args ) { |
1116 | - do_action( 'wpinv_' . $args['id'], $args ); |
|
1116 | + do_action( 'wpinv_' . $args['id'], $args ); |
|
1117 | 1117 | } |
1118 | 1118 | |
1119 | 1119 | function wpinv_set_settings_cap() { |
1120 | - return wpinv_get_capability(); |
|
1120 | + return wpinv_get_capability(); |
|
1121 | 1121 | } |
1122 | 1122 | add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' ); |
1123 | 1123 | |
@@ -1141,15 +1141,15 @@ discard block |
||
1141 | 1141 | */ |
1142 | 1142 | function wpinv_get_merge_tags_help_text( $subscription = false ) { |
1143 | 1143 | |
1144 | - $url = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f'; |
|
1145 | - $link = sprintf( |
|
1146 | - '<strong><a href="%s" target="_blank">%s</a></strong>', |
|
1147 | - $url, |
|
1148 | - esc_html__( 'View available merge tags.', 'wpinv-quotes' ) |
|
1149 | - ); |
|
1144 | + $url = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f'; |
|
1145 | + $link = sprintf( |
|
1146 | + '<strong><a href="%s" target="_blank">%s</a></strong>', |
|
1147 | + $url, |
|
1148 | + esc_html__( 'View available merge tags.', 'wpinv-quotes' ) |
|
1149 | + ); |
|
1150 | 1150 | |
1151 | - $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' ); |
|
1151 | + $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' ); |
|
1152 | 1152 | |
1153 | - return "$description $link"; |
|
1153 | + return "$description $link"; |
|
1154 | 1154 | |
1155 | 1155 | } |
@@ -6,7 +6,7 @@ discard block |
||
6 | 6 | * @since 1.0.0 |
7 | 7 | */ |
8 | 8 | |
9 | -defined( 'ABSPATH' ) || exit; |
|
9 | +defined('ABSPATH') || exit; |
|
10 | 10 | |
11 | 11 | /** |
12 | 12 | * Retrieves all default settings. |
@@ -16,13 +16,13 @@ discard block |
||
16 | 16 | function wpinv_get_settings() { |
17 | 17 | $defaults = array(); |
18 | 18 | |
19 | - foreach ( array_values( wpinv_get_registered_settings() ) as $tab_settings ) { |
|
19 | + foreach (array_values(wpinv_get_registered_settings()) as $tab_settings) { |
|
20 | 20 | |
21 | - foreach ( array_values( $tab_settings ) as $section_settings ) { |
|
21 | + foreach (array_values($tab_settings) as $section_settings) { |
|
22 | 22 | |
23 | - foreach ( $section_settings as $key => $setting ) { |
|
24 | - if ( isset( $setting['std'] ) ) { |
|
25 | - $defaults[ $key ] = $setting['std']; |
|
23 | + foreach ($section_settings as $key => $setting) { |
|
24 | + if (isset($setting['std'])) { |
|
25 | + $defaults[$key] = $setting['std']; |
|
26 | 26 | } |
27 | 27 | } |
28 | 28 | } |
@@ -41,12 +41,12 @@ discard block |
||
41 | 41 | global $wpinv_options; |
42 | 42 | |
43 | 43 | // Try fetching the saved options. |
44 | - if ( empty( $wpinv_options ) ) { |
|
45 | - $wpinv_options = get_option( 'wpinv_settings' ); |
|
44 | + if (empty($wpinv_options)) { |
|
45 | + $wpinv_options = get_option('wpinv_settings'); |
|
46 | 46 | } |
47 | 47 | |
48 | 48 | // If that fails, don't fetch the default settings to prevent a loop. |
49 | - if ( ! is_array( $wpinv_options ) ) { |
|
49 | + if (!is_array($wpinv_options)) { |
|
50 | 50 | $wpinv_options = array(); |
51 | 51 | } |
52 | 52 | |
@@ -60,13 +60,13 @@ discard block |
||
60 | 60 | * @param mixed $default The default value to use if the setting has not been set. |
61 | 61 | * @return mixed |
62 | 62 | */ |
63 | -function wpinv_get_option( $key = '', $default = false ) { |
|
63 | +function wpinv_get_option($key = '', $default = false) { |
|
64 | 64 | |
65 | 65 | $options = wpinv_get_options(); |
66 | - $value = isset( $options[ $key ] ) ? $options[ $key ] : $default; |
|
67 | - $value = apply_filters( 'wpinv_get_option', $value, $key, $default ); |
|
66 | + $value = isset($options[$key]) ? $options[$key] : $default; |
|
67 | + $value = apply_filters('wpinv_get_option', $value, $key, $default); |
|
68 | 68 | |
69 | - return apply_filters( 'wpinv_get_option_' . $key, $value, $key, $default ); |
|
69 | + return apply_filters('wpinv_get_option_' . $key, $value, $key, $default); |
|
70 | 70 | } |
71 | 71 | |
72 | 72 | /** |
@@ -75,11 +75,11 @@ discard block |
||
75 | 75 | * @param array $options the new options. |
76 | 76 | * @return bool |
77 | 77 | */ |
78 | -function wpinv_update_options( $options ) { |
|
78 | +function wpinv_update_options($options) { |
|
79 | 79 | global $wpinv_options; |
80 | 80 | |
81 | 81 | // update the option. |
82 | - if ( is_array( $options ) && update_option( 'wpinv_settings', $options ) ) { |
|
82 | + if (is_array($options) && update_option('wpinv_settings', $options)) { |
|
83 | 83 | $wpinv_options = $options; |
84 | 84 | return true; |
85 | 85 | } |
@@ -94,24 +94,24 @@ discard block |
||
94 | 94 | * @param mixed $value The setting value. |
95 | 95 | * @return bool |
96 | 96 | */ |
97 | -function wpinv_update_option( $key = '', $value = false ) { |
|
97 | +function wpinv_update_option($key = '', $value = false) { |
|
98 | 98 | |
99 | 99 | // If no key, exit. |
100 | - if ( empty( $key ) ) { |
|
100 | + if (empty($key)) { |
|
101 | 101 | return false; |
102 | 102 | } |
103 | 103 | |
104 | 104 | // Maybe delete the option instead. |
105 | - if ( is_null( $value ) ) { |
|
106 | - return wpinv_delete_option( $key ); |
|
105 | + if (is_null($value)) { |
|
106 | + return wpinv_delete_option($key); |
|
107 | 107 | } |
108 | 108 | |
109 | 109 | // Prepare the new options. |
110 | 110 | $options = wpinv_get_options(); |
111 | - $options[ $key ] = apply_filters( 'wpinv_update_option', $value, $key ); |
|
111 | + $options[$key] = apply_filters('wpinv_update_option', $value, $key); |
|
112 | 112 | |
113 | 113 | // Save the new options. |
114 | - return wpinv_update_options( $options ); |
|
114 | + return wpinv_update_options($options); |
|
115 | 115 | |
116 | 116 | } |
117 | 117 | |
@@ -121,18 +121,18 @@ discard block |
||
121 | 121 | * @param string $key the setting key. |
122 | 122 | * @return bool |
123 | 123 | */ |
124 | -function wpinv_delete_option( $key = '' ) { |
|
124 | +function wpinv_delete_option($key = '') { |
|
125 | 125 | |
126 | 126 | // If no key, exit |
127 | - if ( empty( $key ) ) { |
|
127 | + if (empty($key)) { |
|
128 | 128 | return false; |
129 | 129 | } |
130 | 130 | |
131 | 131 | $options = wpinv_get_options(); |
132 | 132 | |
133 | - if ( isset( $options[ $key ] ) ) { |
|
134 | - unset( $options[ $key ] ); |
|
135 | - return wpinv_update_options( $options ); |
|
133 | + if (isset($options[$key])) { |
|
134 | + unset($options[$key]); |
|
135 | + return wpinv_update_options($options); |
|
136 | 136 | } |
137 | 137 | |
138 | 138 | return true; |
@@ -146,14 +146,14 @@ discard block |
||
146 | 146 | function wpinv_register_settings() { |
147 | 147 | |
148 | 148 | // Loop through all tabs. |
149 | - foreach ( wpinv_get_registered_settings() as $tab => $sections ) { |
|
149 | + foreach (wpinv_get_registered_settings() as $tab => $sections) { |
|
150 | 150 | |
151 | 151 | // In each tab, loop through sections. |
152 | - foreach ( $sections as $section => $settings ) { |
|
152 | + foreach ($sections as $section => $settings) { |
|
153 | 153 | |
154 | 154 | // Check for backwards compatibility |
155 | - $section_tabs = wpinv_get_settings_tab_sections( $tab ); |
|
156 | - if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) { |
|
155 | + $section_tabs = wpinv_get_settings_tab_sections($tab); |
|
156 | + if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) { |
|
157 | 157 | $section = 'main'; |
158 | 158 | $settings = $sections; |
159 | 159 | } |
@@ -166,18 +166,18 @@ discard block |
||
166 | 166 | 'wpinv_settings_' . $tab . '_' . $section |
167 | 167 | ); |
168 | 168 | |
169 | - foreach ( $settings as $option ) { |
|
170 | - if ( ! empty( $option['id'] ) ) { |
|
171 | - wpinv_register_settings_option( $tab, $section, $option ); |
|
169 | + foreach ($settings as $option) { |
|
170 | + if (!empty($option['id'])) { |
|
171 | + wpinv_register_settings_option($tab, $section, $option); |
|
172 | 172 | } |
173 | 173 | } |
174 | 174 | } |
175 | 175 | } |
176 | 176 | |
177 | 177 | // Creates our settings in the options table. |
178 | - register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' ); |
|
178 | + register_setting('wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize'); |
|
179 | 179 | } |
180 | -add_action( 'admin_init', 'wpinv_register_settings' ); |
|
180 | +add_action('admin_init', 'wpinv_register_settings'); |
|
181 | 181 | |
182 | 182 | /** |
183 | 183 | * Register a single settings option. |
@@ -187,49 +187,49 @@ discard block |
||
187 | 187 | * @param string $option |
188 | 188 | * |
189 | 189 | */ |
190 | -function wpinv_register_settings_option( $tab, $section, $option ) { |
|
190 | +function wpinv_register_settings_option($tab, $section, $option) { |
|
191 | 191 | |
192 | - $name = isset( $option['name'] ) ? $option['name'] : ''; |
|
192 | + $name = isset($option['name']) ? $option['name'] : ''; |
|
193 | 193 | $cb = "wpinv_{$option['type']}_callback"; |
194 | 194 | $section = "wpinv_settings_{$tab}_$section"; |
195 | - $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page']; |
|
195 | + $is_wizzard = is_admin() && isset($_GET['page']) && 'gp-setup' == $_GET['page']; |
|
196 | 196 | |
197 | - if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) { |
|
198 | - $tip = wpinv_clean( $option['desc'] ); |
|
197 | + if (isset($option['desc']) && (!$is_wizzard && !empty($option['help-tip']))) { |
|
198 | + $tip = wpinv_clean($option['desc']); |
|
199 | 199 | $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>"; |
200 | - unset( $option['desc'] ); |
|
200 | + unset($option['desc']); |
|
201 | 201 | } |
202 | 202 | |
203 | 203 | // Loop through all tabs. |
204 | 204 | add_settings_field( |
205 | 205 | 'wpinv_settings[' . $option['id'] . ']', |
206 | 206 | $name, |
207 | - function_exists( $cb ) ? $cb : 'wpinv_missing_callback', |
|
207 | + function_exists($cb) ? $cb : 'wpinv_missing_callback', |
|
208 | 208 | $section, |
209 | 209 | $section, |
210 | 210 | array( |
211 | 211 | 'section' => $section, |
212 | - 'id' => isset( $option['id'] ) ? $option['id'] : uniqid( 'wpinv-' ), |
|
213 | - 'desc' => isset( $option['desc'] ) ? $option['desc'] : '', |
|
212 | + 'id' => isset($option['id']) ? $option['id'] : uniqid('wpinv-'), |
|
213 | + 'desc' => isset($option['desc']) ? $option['desc'] : '', |
|
214 | 214 | 'name' => $name, |
215 | - 'size' => isset( $option['size'] ) ? $option['size'] : null, |
|
216 | - 'options' => isset( $option['options'] ) ? $option['options'] : '', |
|
217 | - 'selected' => isset( $option['selected'] ) ? $option['selected'] : null, |
|
218 | - 'std' => isset( $option['std'] ) ? $option['std'] : '', |
|
219 | - 'min' => isset( $option['min'] ) ? $option['min'] : 0, |
|
220 | - 'max' => isset( $option['max'] ) ? $option['max'] : 999999, |
|
221 | - 'step' => isset( $option['step'] ) ? $option['step'] : 1, |
|
222 | - 'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null, |
|
223 | - 'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true, |
|
224 | - 'readonly' => isset( $option['readonly'] ) ? $option['readonly'] : false, |
|
225 | - 'faux' => isset( $option['faux'] ) ? $option['faux'] : false, |
|
226 | - 'onchange' => isset( $option['onchange'] ) ? $option['onchange'] : '', |
|
227 | - 'custom' => isset( $option['custom'] ) ? $option['custom'] : '', |
|
228 | - 'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '', |
|
229 | - 'class' => isset( $option['class'] ) ? $option['class'] : '', |
|
230 | - 'style' => isset( $option['style'] ) ? $option['style'] : '', |
|
231 | - 'cols' => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
|
232 | - 'rows' => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5, |
|
215 | + 'size' => isset($option['size']) ? $option['size'] : null, |
|
216 | + 'options' => isset($option['options']) ? $option['options'] : '', |
|
217 | + 'selected' => isset($option['selected']) ? $option['selected'] : null, |
|
218 | + 'std' => isset($option['std']) ? $option['std'] : '', |
|
219 | + 'min' => isset($option['min']) ? $option['min'] : 0, |
|
220 | + 'max' => isset($option['max']) ? $option['max'] : 999999, |
|
221 | + 'step' => isset($option['step']) ? $option['step'] : 1, |
|
222 | + 'placeholder' => isset($option['placeholder']) ? $option['placeholder'] : null, |
|
223 | + 'allow_blank' => isset($option['allow_blank']) ? $option['allow_blank'] : true, |
|
224 | + 'readonly' => isset($option['readonly']) ? $option['readonly'] : false, |
|
225 | + 'faux' => isset($option['faux']) ? $option['faux'] : false, |
|
226 | + 'onchange' => isset($option['onchange']) ? $option['onchange'] : '', |
|
227 | + 'custom' => isset($option['custom']) ? $option['custom'] : '', |
|
228 | + 'default_content' => isset($option['default_content']) ? $option['default_content'] : '', |
|
229 | + 'class' => isset($option['class']) ? $option['class'] : '', |
|
230 | + 'style' => isset($option['style']) ? $option['style'] : '', |
|
231 | + 'cols' => isset($option['cols']) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
|
232 | + 'rows' => isset($option['rows']) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5, |
|
233 | 233 | ) |
234 | 234 | ); |
235 | 235 | |
@@ -241,7 +241,7 @@ discard block |
||
241 | 241 | * @return array |
242 | 242 | */ |
243 | 243 | function wpinv_get_registered_settings() { |
244 | - return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) ); |
|
244 | + return array_filter(apply_filters('wpinv_registered_settings', wpinv_get_data('admin-settings'))); |
|
245 | 245 | } |
246 | 246 | |
247 | 247 | /** |
@@ -250,7 +250,7 @@ discard block |
||
250 | 250 | * @return array |
251 | 251 | */ |
252 | 252 | function getpaid_get_integration_settings() { |
253 | - return apply_filters( 'getpaid_integration_settings', array() ); |
|
253 | + return apply_filters('getpaid_integration_settings', array()); |
|
254 | 254 | } |
255 | 255 | |
256 | 256 | /** |
@@ -258,153 +258,153 @@ discard block |
||
258 | 258 | * |
259 | 259 | * @return array |
260 | 260 | */ |
261 | -function wpinv_settings_sanitize( $input = array() ) { |
|
261 | +function wpinv_settings_sanitize($input = array()) { |
|
262 | 262 | |
263 | 263 | $wpinv_options = wpinv_get_options(); |
264 | 264 | $raw_referrer = wp_get_raw_referer(); |
265 | 265 | |
266 | - if ( empty( $raw_referrer ) ) { |
|
267 | - return array_merge( $wpinv_options, $input ); |
|
266 | + if (empty($raw_referrer)) { |
|
267 | + return array_merge($wpinv_options, $input); |
|
268 | 268 | } |
269 | 269 | |
270 | - wp_parse_str( $raw_referrer, $referrer ); |
|
270 | + wp_parse_str($raw_referrer, $referrer); |
|
271 | 271 | |
272 | - if ( in_array( 'gp-setup', $referrer ) ) { |
|
273 | - return array_merge( $wpinv_options, $input ); |
|
272 | + if (in_array('gp-setup', $referrer)) { |
|
273 | + return array_merge($wpinv_options, $input); |
|
274 | 274 | } |
275 | 275 | |
276 | 276 | $settings = wpinv_get_registered_settings(); |
277 | - $tab = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general'; |
|
278 | - $section = isset( $referrer['section'] ) ? $referrer['section'] : 'main'; |
|
277 | + $tab = isset($referrer['tab']) ? $referrer['tab'] : 'general'; |
|
278 | + $section = isset($referrer['section']) ? $referrer['section'] : 'main'; |
|
279 | 279 | |
280 | 280 | $input = $input ? $input : array(); |
281 | - $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input ); |
|
282 | - $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input ); |
|
281 | + $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input); |
|
282 | + $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input); |
|
283 | 283 | |
284 | 284 | // Loop through each setting being saved and pass it through a sanitization filter |
285 | - foreach ( $input as $key => $value ) { |
|
285 | + foreach ($input as $key => $value) { |
|
286 | 286 | |
287 | 287 | // Get the setting type (checkbox, select, etc) |
288 | - $type = isset( $settings[ $tab ][ $section ][ $key ]['type'] ) ? $settings[ $tab ][ $section ][ $key ]['type'] : false; |
|
288 | + $type = isset($settings[$tab][$section][$key]['type']) ? $settings[$tab][$section][$key]['type'] : false; |
|
289 | 289 | |
290 | - if ( $type ) { |
|
290 | + if ($type) { |
|
291 | 291 | // Field type specific filter |
292 | - $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$type", $value, $key ); |
|
292 | + $input[$key] = apply_filters("wpinv_settings_sanitize_$type", $value, $key); |
|
293 | 293 | } |
294 | 294 | |
295 | 295 | // General filter |
296 | - $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
296 | + $input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key); |
|
297 | 297 | |
298 | 298 | // Key specific filter. |
299 | - $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] ); |
|
299 | + $input[$key] = apply_filters("wpinv_settings_sanitize_$key", $input[$key]); |
|
300 | 300 | } |
301 | 301 | |
302 | 302 | // Loop through the whitelist and unset any that are empty for the tab being saved |
303 | - $main_settings = isset( $settings[ $tab ] ) ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections |
|
304 | - $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array(); |
|
303 | + $main_settings = isset($settings[$tab]) ? $settings[$tab] : array(); // Check for extensions that aren't using new sections |
|
304 | + $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array(); |
|
305 | 305 | |
306 | - $found_settings = array_merge( $main_settings, $section_settings ); |
|
306 | + $found_settings = array_merge($main_settings, $section_settings); |
|
307 | 307 | |
308 | - if ( ! empty( $found_settings ) ) { |
|
309 | - foreach ( $found_settings as $key => $value ) { |
|
308 | + if (!empty($found_settings)) { |
|
309 | + foreach ($found_settings as $key => $value) { |
|
310 | 310 | |
311 | 311 | // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work |
312 | - if ( is_numeric( $key ) ) { |
|
312 | + if (is_numeric($key)) { |
|
313 | 313 | $key = $value['id']; |
314 | 314 | } |
315 | 315 | |
316 | - if ( ! isset( $input[ $key ] ) && isset( $wpinv_options[ $key ] ) ) { |
|
317 | - unset( $wpinv_options[ $key ] ); |
|
316 | + if (!isset($input[$key]) && isset($wpinv_options[$key])) { |
|
317 | + unset($wpinv_options[$key]); |
|
318 | 318 | } |
319 | 319 | } |
320 | 320 | } |
321 | 321 | |
322 | 322 | // Merge our new settings with the existing |
323 | - $output = array_merge( $wpinv_options, $input ); |
|
323 | + $output = array_merge($wpinv_options, $input); |
|
324 | 324 | |
325 | - add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' ); |
|
325 | + add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated'); |
|
326 | 326 | |
327 | 327 | return $output; |
328 | 328 | } |
329 | -add_filter( 'wpinv_settings_sanitize_text', 'trim', 10, 1 ); |
|
330 | -add_filter( 'wpinv_settings_sanitize_tax_rate', 'wpinv_sanitize_amount' ); |
|
329 | +add_filter('wpinv_settings_sanitize_text', 'trim', 10, 1); |
|
330 | +add_filter('wpinv_settings_sanitize_tax_rate', 'wpinv_sanitize_amount'); |
|
331 | 331 | |
332 | -function wpinv_settings_sanitize_tax_rates( $input ) { |
|
333 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
332 | +function wpinv_settings_sanitize_tax_rates($input) { |
|
333 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
334 | 334 | return $input; |
335 | 335 | } |
336 | 336 | |
337 | - $new_rates = ! empty( $_POST['tax_rates'] ) ? wp_kses_post_deep( array_values( $_POST['tax_rates'] ) ) : array(); |
|
337 | + $new_rates = !empty($_POST['tax_rates']) ? wp_kses_post_deep(array_values($_POST['tax_rates'])) : array(); |
|
338 | 338 | $tax_rates = array(); |
339 | 339 | |
340 | - foreach ( $new_rates as $rate ) { |
|
340 | + foreach ($new_rates as $rate) { |
|
341 | 341 | |
342 | - $rate['rate'] = wpinv_sanitize_amount( $rate['rate'] ); |
|
343 | - $rate['name'] = sanitize_text_field( $rate['name'] ); |
|
344 | - $rate['state'] = sanitize_text_field( $rate['state'] ); |
|
345 | - $rate['country'] = sanitize_text_field( $rate['country'] ); |
|
346 | - $rate['global'] = empty( $rate['state'] ); |
|
342 | + $rate['rate'] = wpinv_sanitize_amount($rate['rate']); |
|
343 | + $rate['name'] = sanitize_text_field($rate['name']); |
|
344 | + $rate['state'] = sanitize_text_field($rate['state']); |
|
345 | + $rate['country'] = sanitize_text_field($rate['country']); |
|
346 | + $rate['global'] = empty($rate['state']); |
|
347 | 347 | $tax_rates[] = $rate; |
348 | 348 | |
349 | 349 | } |
350 | 350 | |
351 | - update_option( 'wpinv_tax_rates', $tax_rates ); |
|
351 | + update_option('wpinv_tax_rates', $tax_rates); |
|
352 | 352 | |
353 | 353 | return $input; |
354 | 354 | } |
355 | -add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' ); |
|
355 | +add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates'); |
|
356 | 356 | |
357 | -function wpinv_settings_sanitize_tax_rules( $input ) { |
|
358 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
357 | +function wpinv_settings_sanitize_tax_rules($input) { |
|
358 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
359 | 359 | return $input; |
360 | 360 | } |
361 | 361 | |
362 | - if ( empty( $_POST['wpinv_tax_rules_nonce'] ) || ! wp_verify_nonce( $_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules' ) ) { |
|
362 | + if (empty($_POST['wpinv_tax_rules_nonce']) || !wp_verify_nonce($_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules')) { |
|
363 | 363 | return $input; |
364 | 364 | } |
365 | 365 | |
366 | - $new_rules = ! empty( $_POST['tax_rules'] ) ? wp_kses_post_deep( array_values( $_POST['tax_rules'] ) ) : array(); |
|
366 | + $new_rules = !empty($_POST['tax_rules']) ? wp_kses_post_deep(array_values($_POST['tax_rules'])) : array(); |
|
367 | 367 | $tax_rules = array(); |
368 | 368 | |
369 | - foreach ( $new_rules as $rule ) { |
|
369 | + foreach ($new_rules as $rule) { |
|
370 | 370 | |
371 | - $rule['key'] = sanitize_title_with_dashes( $rule['key'] ); |
|
372 | - $rule['label'] = sanitize_text_field( $rule['label'] ); |
|
373 | - $rule['tax_base'] = sanitize_text_field( $rule['tax_base'] ); |
|
371 | + $rule['key'] = sanitize_title_with_dashes($rule['key']); |
|
372 | + $rule['label'] = sanitize_text_field($rule['label']); |
|
373 | + $rule['tax_base'] = sanitize_text_field($rule['tax_base']); |
|
374 | 374 | $tax_rules[] = $rule; |
375 | 375 | |
376 | 376 | } |
377 | 377 | |
378 | - update_option( 'wpinv_tax_rules', $tax_rules ); |
|
378 | + update_option('wpinv_tax_rules', $tax_rules); |
|
379 | 379 | |
380 | 380 | return $input; |
381 | 381 | } |
382 | -add_filter( 'wpinv_settings_taxes-rules_sanitize', 'wpinv_settings_sanitize_tax_rules' ); |
|
382 | +add_filter('wpinv_settings_taxes-rules_sanitize', 'wpinv_settings_sanitize_tax_rules'); |
|
383 | 383 | |
384 | 384 | function wpinv_get_settings_tabs() { |
385 | 385 | $tabs = array(); |
386 | - $tabs['general'] = __( 'General', 'invoicing' ); |
|
387 | - $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' ); |
|
388 | - $tabs['taxes'] = __( 'Taxes', 'invoicing' ); |
|
389 | - $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
386 | + $tabs['general'] = __('General', 'invoicing'); |
|
387 | + $tabs['gateways'] = __('Payment Gateways', 'invoicing'); |
|
388 | + $tabs['taxes'] = __('Taxes', 'invoicing'); |
|
389 | + $tabs['emails'] = __('Emails', 'invoicing'); |
|
390 | 390 | |
391 | - if ( count( getpaid_get_integration_settings() ) > 0 ) { |
|
392 | - $tabs['integrations'] = __( 'Integrations', 'invoicing' ); |
|
391 | + if (count(getpaid_get_integration_settings()) > 0) { |
|
392 | + $tabs['integrations'] = __('Integrations', 'invoicing'); |
|
393 | 393 | } |
394 | 394 | |
395 | - $tabs['privacy'] = __( 'Privacy', 'invoicing' ); |
|
396 | - $tabs['misc'] = __( 'Misc', 'invoicing' ); |
|
397 | - $tabs['tools'] = __( 'Tools', 'invoicing' ); |
|
395 | + $tabs['privacy'] = __('Privacy', 'invoicing'); |
|
396 | + $tabs['misc'] = __('Misc', 'invoicing'); |
|
397 | + $tabs['tools'] = __('Tools', 'invoicing'); |
|
398 | 398 | |
399 | - return apply_filters( 'wpinv_settings_tabs', $tabs ); |
|
399 | + return apply_filters('wpinv_settings_tabs', $tabs); |
|
400 | 400 | } |
401 | 401 | |
402 | -function wpinv_get_settings_tab_sections( $tab = false ) { |
|
402 | +function wpinv_get_settings_tab_sections($tab = false) { |
|
403 | 403 | $tabs = false; |
404 | 404 | $sections = wpinv_get_registered_settings_sections(); |
405 | 405 | |
406 | - if ( $tab && ! empty( $sections[ $tab ] ) ) { |
|
407 | - $tabs = $sections[ $tab ]; |
|
406 | + if ($tab && !empty($sections[$tab])) { |
|
407 | + $tabs = $sections[$tab]; |
|
408 | 408 | } |
409 | 409 | |
410 | 410 | return $tabs; |
@@ -413,7 +413,7 @@ discard block |
||
413 | 413 | function wpinv_get_registered_settings_sections() { |
414 | 414 | static $sections = false; |
415 | 415 | |
416 | - if ( false !== $sections ) { |
|
416 | + if (false !== $sections) { |
|
417 | 417 | return $sections; |
418 | 418 | } |
419 | 419 | |
@@ -421,231 +421,231 @@ discard block |
||
421 | 421 | 'general' => apply_filters( |
422 | 422 | 'wpinv_settings_sections_general', |
423 | 423 | array( |
424 | - 'main' => __( 'General Settings', 'invoicing' ), |
|
425 | - 'page_section' => __( 'Page Settings', 'invoicing' ), |
|
426 | - 'currency_section' => __( 'Currency Settings', 'invoicing' ), |
|
427 | - 'labels' => __( 'Label Texts', 'invoicing' ), |
|
424 | + 'main' => __('General Settings', 'invoicing'), |
|
425 | + 'page_section' => __('Page Settings', 'invoicing'), |
|
426 | + 'currency_section' => __('Currency Settings', 'invoicing'), |
|
427 | + 'labels' => __('Label Texts', 'invoicing'), |
|
428 | 428 | ) |
429 | 429 | ), |
430 | 430 | 'gateways' => apply_filters( |
431 | 431 | 'wpinv_settings_sections_gateways', |
432 | 432 | array( |
433 | - 'main' => __( 'Gateway Settings', 'invoicing' ), |
|
433 | + 'main' => __('Gateway Settings', 'invoicing'), |
|
434 | 434 | ) |
435 | 435 | ), |
436 | 436 | 'taxes' => apply_filters( |
437 | 437 | 'wpinv_settings_sections_taxes', |
438 | 438 | array( |
439 | - 'main' => __( 'Tax Settings', 'invoicing' ), |
|
440 | - 'rules' => __( 'Tax Rules', 'invoicing' ), |
|
441 | - 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
442 | - 'vat' => __( 'EU VAT Settings', 'invoicing' ), |
|
439 | + 'main' => __('Tax Settings', 'invoicing'), |
|
440 | + 'rules' => __('Tax Rules', 'invoicing'), |
|
441 | + 'rates' => __('Tax Rates', 'invoicing'), |
|
442 | + 'vat' => __('EU VAT Settings', 'invoicing'), |
|
443 | 443 | ) |
444 | 444 | ), |
445 | 445 | 'emails' => apply_filters( |
446 | 446 | 'wpinv_settings_sections_emails', |
447 | 447 | array( |
448 | - 'main' => __( 'Email Settings', 'invoicing' ), |
|
448 | + 'main' => __('Email Settings', 'invoicing'), |
|
449 | 449 | ) |
450 | 450 | ), |
451 | 451 | |
452 | - 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ), |
|
452 | + 'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'label', 'id'), |
|
453 | 453 | |
454 | 454 | 'privacy' => apply_filters( |
455 | 455 | 'wpinv_settings_sections_privacy', |
456 | 456 | array( |
457 | - 'main' => __( 'Privacy policy', 'invoicing' ), |
|
457 | + 'main' => __('Privacy policy', 'invoicing'), |
|
458 | 458 | ) |
459 | 459 | ), |
460 | 460 | 'misc' => apply_filters( |
461 | 461 | 'wpinv_settings_sections_misc', |
462 | 462 | array( |
463 | - 'main' => __( 'Miscellaneous', 'invoicing' ), |
|
464 | - 'custom-css' => __( 'Custom CSS', 'invoicing' ), |
|
463 | + 'main' => __('Miscellaneous', 'invoicing'), |
|
464 | + 'custom-css' => __('Custom CSS', 'invoicing'), |
|
465 | 465 | ) |
466 | 466 | ), |
467 | 467 | 'tools' => apply_filters( |
468 | 468 | 'wpinv_settings_sections_tools', |
469 | 469 | array( |
470 | - 'main' => __( 'Diagnostic Tools', 'invoicing' ), |
|
470 | + 'main' => __('Diagnostic Tools', 'invoicing'), |
|
471 | 471 | ) |
472 | 472 | ), |
473 | 473 | ); |
474 | 474 | |
475 | - $sections = apply_filters( 'wpinv_settings_sections', $sections ); |
|
475 | + $sections = apply_filters('wpinv_settings_sections', $sections); |
|
476 | 476 | |
477 | 477 | return $sections; |
478 | 478 | } |
479 | 479 | |
480 | -function wpinv_get_pages( $with_slug = false, $default_label = null ) { |
|
480 | +function wpinv_get_pages($with_slug = false, $default_label = null) { |
|
481 | 481 | $pages_options = array(); |
482 | 482 | |
483 | - if ( $default_label !== null && $default_label !== false ) { |
|
484 | - $pages_options = array( '' => $default_label ); // Blank option |
|
483 | + if ($default_label !== null && $default_label !== false) { |
|
484 | + $pages_options = array('' => $default_label); // Blank option |
|
485 | 485 | } |
486 | 486 | |
487 | 487 | $pages = get_pages(); |
488 | - if ( $pages ) { |
|
489 | - foreach ( $pages as $page ) { |
|
488 | + if ($pages) { |
|
489 | + foreach ($pages as $page) { |
|
490 | 490 | $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
491 | - $pages_options[ $page->ID ] = $title; |
|
491 | + $pages_options[$page->ID] = $title; |
|
492 | 492 | } |
493 | 493 | } |
494 | 494 | |
495 | 495 | return $pages_options; |
496 | 496 | } |
497 | 497 | |
498 | -function wpinv_header_callback( $args ) { |
|
499 | - if ( ! empty( $args['desc'] ) ) { |
|
500 | - echo wp_kses_post( $args['desc'] ); |
|
498 | +function wpinv_header_callback($args) { |
|
499 | + if (!empty($args['desc'])) { |
|
500 | + echo wp_kses_post($args['desc']); |
|
501 | 501 | } |
502 | 502 | } |
503 | 503 | |
504 | -function wpinv_hidden_callback( $args ) { |
|
504 | +function wpinv_hidden_callback($args) { |
|
505 | 505 | |
506 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
507 | - $value = wpinv_get_option( $args['id'], $std ); |
|
506 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
507 | + $value = wpinv_get_option($args['id'], $std); |
|
508 | 508 | |
509 | - if ( isset( $args['set_value'] ) ) { |
|
509 | + if (isset($args['set_value'])) { |
|
510 | 510 | $value = $args['set_value']; |
511 | 511 | } |
512 | 512 | |
513 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
513 | + if (isset($args['faux']) && true === $args['faux']) { |
|
514 | 514 | $args['readonly'] = true; |
515 | - $name = ''; |
|
515 | + $name = ''; |
|
516 | 516 | } else { |
517 | - $name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']'; |
|
517 | + $name = 'wpinv_settings[' . esc_attr($args['id']) . ']'; |
|
518 | 518 | } |
519 | 519 | |
520 | - echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
520 | + echo '<input type="hidden" id="wpinv_settings[' . esc_attr($args['id']) . ']" name="' . esc_attr($name) . '" value="' . esc_attr(stripslashes($value)) . '" />'; |
|
521 | 521 | |
522 | 522 | } |
523 | 523 | |
524 | 524 | /** |
525 | 525 | * Displays a checkbox settings callback. |
526 | 526 | */ |
527 | -function wpinv_checkbox_callback( $args ) { |
|
527 | +function wpinv_checkbox_callback($args) { |
|
528 | 528 | |
529 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
530 | - $std = wpinv_get_option( $args['id'], $std ); |
|
531 | - $id = esc_attr( $args['id'] ); |
|
529 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
530 | + $std = wpinv_get_option($args['id'], $std); |
|
531 | + $id = esc_attr($args['id']); |
|
532 | 532 | |
533 | - getpaid_hidden_field( "wpinv_settings[$id]", '0' ); |
|
533 | + getpaid_hidden_field("wpinv_settings[$id]", '0'); |
|
534 | 534 | ?> |
535 | 535 | <fieldset> |
536 | 536 | <label> |
537 | - <input id="wpinv-settings-<?php echo esc_attr( $id ); ?>" name="wpinv_settings[<?php echo esc_attr( $id ); ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox" /> |
|
538 | - <?php echo wp_kses_post( $args['desc'] ); ?> |
|
537 | + <input id="wpinv-settings-<?php echo esc_attr($id); ?>" name="wpinv_settings[<?php echo esc_attr($id); ?>]" <?php checked(empty($std), false); ?> value="1" type="checkbox" /> |
|
538 | + <?php echo wp_kses_post($args['desc']); ?> |
|
539 | 539 | </label> |
540 | 540 | </fieldset> |
541 | 541 | <?php |
542 | 542 | } |
543 | 543 | |
544 | -function wpinv_multicheck_callback( $args ) { |
|
544 | +function wpinv_multicheck_callback($args) { |
|
545 | 545 | |
546 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
547 | - $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
546 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
547 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
548 | 548 | |
549 | - if ( ! empty( $args['options'] ) ) { |
|
549 | + if (!empty($args['options'])) { |
|
550 | 550 | |
551 | - $std = isset( $args['std'] ) ? $args['std'] : array(); |
|
552 | - $value = wpinv_get_option( $args['id'], $std ); |
|
551 | + $std = isset($args['std']) ? $args['std'] : array(); |
|
552 | + $value = wpinv_get_option($args['id'], $std); |
|
553 | 553 | |
554 | - echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">'; |
|
555 | - foreach ( $args['options'] as $key => $option ) : |
|
556 | - $sanitize_key = esc_attr( wpinv_sanitize_key( $key ) ); |
|
557 | - if ( in_array( $sanitize_key, $value ) ) { |
|
554 | + echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr($sanitize_id . $class) . '">'; |
|
555 | + foreach ($args['options'] as $key => $option) : |
|
556 | + $sanitize_key = esc_attr(wpinv_sanitize_key($key)); |
|
557 | + if (in_array($sanitize_key, $value)) { |
|
558 | 558 | $enabled = $sanitize_key; |
559 | 559 | } else { |
560 | 560 | $enabled = null; |
561 | 561 | } |
562 | - echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/> '; |
|
563 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
562 | + echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" id="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" type="checkbox" value="' . esc_attr($sanitize_key) . '" ' . checked($sanitize_key, $enabled, false) . '/> '; |
|
563 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']">' . wp_kses_post($option) . '</label></div>'; |
|
564 | 564 | endforeach; |
565 | 565 | echo '</div>'; |
566 | - echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
566 | + echo '<p class="description">' . wp_kses_post($args['desc']) . '</p>'; |
|
567 | 567 | } |
568 | 568 | } |
569 | 569 | |
570 | -function wpinv_payment_icons_callback( $args ) { |
|
570 | +function wpinv_payment_icons_callback($args) { |
|
571 | 571 | |
572 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
573 | - $value = wpinv_get_option( $args['id'], false ); |
|
572 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
573 | + $value = wpinv_get_option($args['id'], false); |
|
574 | 574 | |
575 | - if ( ! empty( $args['options'] ) ) { |
|
576 | - foreach ( $args['options'] as $key => $option ) { |
|
577 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
575 | + if (!empty($args['options'])) { |
|
576 | + foreach ($args['options'] as $key => $option) { |
|
577 | + $sanitize_key = wpinv_sanitize_key($key); |
|
578 | 578 | |
579 | - if ( empty( $value ) ) { |
|
579 | + if (empty($value)) { |
|
580 | 580 | $enabled = $option; |
581 | 581 | } else { |
582 | 582 | $enabled = null; |
583 | 583 | } |
584 | 584 | |
585 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
|
585 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
|
586 | 586 | |
587 | - echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/> '; |
|
587 | + echo '<input name="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" id="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']" type="checkbox" value="' . esc_attr($option) . '" ' . checked($option, $enabled, false) . '/> '; |
|
588 | 588 | |
589 | - if ( wpinv_string_is_image_url( $key ) ) { |
|
590 | - echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
589 | + if (wpinv_string_is_image_url($key)) { |
|
590 | + echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
591 | 591 | } else { |
592 | - $card = strtolower( str_replace( ' ', '', $option ) ); |
|
592 | + $card = strtolower(str_replace(' ', '', $option)); |
|
593 | 593 | |
594 | - if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
595 | - $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
594 | + if (has_filter('wpinv_accepted_payment_' . $card . '_image')) { |
|
595 | + $image = apply_filters('wpinv_accepted_payment_' . $card . '_image', ''); |
|
596 | 596 | } else { |
597 | - $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
597 | + $image = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false); |
|
598 | 598 | $content_dir = WP_CONTENT_DIR; |
599 | 599 | |
600 | - if ( function_exists( 'wp_normalize_path' ) ) { |
|
600 | + if (function_exists('wp_normalize_path')) { |
|
601 | 601 | // Replaces backslashes with forward slashes for Windows systems |
602 | - $image = wp_normalize_path( $image ); |
|
603 | - $content_dir = wp_normalize_path( $content_dir ); |
|
602 | + $image = wp_normalize_path($image); |
|
603 | + $content_dir = wp_normalize_path($content_dir); |
|
604 | 604 | } |
605 | 605 | |
606 | - $image = str_replace( $content_dir, content_url(), $image ); |
|
606 | + $image = str_replace($content_dir, content_url(), $image); |
|
607 | 607 | } |
608 | 608 | |
609 | - echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
609 | + echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
610 | 610 | } |
611 | - echo wp_kses_post( $option ) . '</label>'; |
|
611 | + echo wp_kses_post($option) . '</label>'; |
|
612 | 612 | } |
613 | - echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
613 | + echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>'; |
|
614 | 614 | } |
615 | 615 | } |
616 | 616 | |
617 | 617 | /** |
618 | 618 | * Displays a radio settings field. |
619 | 619 | */ |
620 | -function wpinv_radio_callback( $args ) { |
|
620 | +function wpinv_radio_callback($args) { |
|
621 | 621 | |
622 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
623 | - $std = wpinv_get_option( $args['id'], $std ); |
|
622 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
623 | + $std = wpinv_get_option($args['id'], $std); |
|
624 | 624 | ?> |
625 | 625 | <fieldset> |
626 | - <ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;"> |
|
627 | - <?php foreach ( $args['options'] as $key => $option ) : ?> |
|
626 | + <ul id="wpinv-settings-<?php echo esc_attr($args['id']); ?>" style="margin-top: 0;"> |
|
627 | + <?php foreach ($args['options'] as $key => $option) : ?> |
|
628 | 628 | <li> |
629 | 629 | <label> |
630 | - <input name="wpinv_settings[<?php echo esc_attr( $args['id'] ); ?>]" <?php checked( $std, $key ); ?> value="<?php echo esc_attr( $key ); ?>" type="radio"> |
|
631 | - <?php echo wp_kses_post( $option ); ?> |
|
630 | + <input name="wpinv_settings[<?php echo esc_attr($args['id']); ?>]" <?php checked($std, $key); ?> value="<?php echo esc_attr($key); ?>" type="radio"> |
|
631 | + <?php echo wp_kses_post($option); ?> |
|
632 | 632 | </label> |
633 | 633 | </li> |
634 | 634 | <?php endforeach; ?> |
635 | 635 | </ul> |
636 | 636 | </fieldset> |
637 | 637 | <?php |
638 | - getpaid_settings_description_callback( $args ); |
|
638 | + getpaid_settings_description_callback($args); |
|
639 | 639 | } |
640 | 640 | |
641 | 641 | /** |
642 | 642 | * Displays a description if available. |
643 | 643 | */ |
644 | -function getpaid_settings_description_callback( $args ) { |
|
644 | +function getpaid_settings_description_callback($args) { |
|
645 | 645 | |
646 | - if ( ! empty( $args['desc'] ) ) { |
|
646 | + if (!empty($args['desc'])) { |
|
647 | 647 | $description = $args['desc']; |
648 | - echo wp_kses_post( "<p class='description'>$description</p>" ); |
|
648 | + echo wp_kses_post("<p class='description'>$description</p>"); |
|
649 | 649 | } |
650 | 650 | |
651 | 651 | } |
@@ -660,35 +660,35 @@ discard block |
||
660 | 660 | </tr> |
661 | 661 | <tr class="bsui"> |
662 | 662 | <td colspan="2" class="p-0"> |
663 | - <?php include plugin_dir_path( __FILE__ ) . 'views/html-gateways-edit.php'; ?> |
|
663 | + <?php include plugin_dir_path(__FILE__) . 'views/html-gateways-edit.php'; ?> |
|
664 | 664 | |
665 | 665 | <?php |
666 | 666 | } |
667 | 667 | |
668 | -function wpinv_gateway_select_callback( $args ) { |
|
668 | +function wpinv_gateway_select_callback($args) { |
|
669 | 669 | |
670 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
671 | - $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
672 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
673 | - $value = wpinv_get_option( $args['id'], $std ); |
|
670 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
671 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
672 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
673 | + $value = wpinv_get_option($args['id'], $std); |
|
674 | 674 | |
675 | - echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >'; |
|
675 | + echo '<select name="wpinv_settings[' . esc_attr($sanitize_id) . ']"" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" class="' . esc_attr($class) . '" >'; |
|
676 | 676 | |
677 | - foreach ( $args['options'] as $key => $option ) : |
|
677 | + foreach ($args['options'] as $key => $option) : |
|
678 | 678 | |
679 | - echo '<option value="' . esc_attr( $key ) . '" '; |
|
679 | + echo '<option value="' . esc_attr($key) . '" '; |
|
680 | 680 | |
681 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
682 | - selected( $key, $args['selected'] ); |
|
681 | + if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) { |
|
682 | + selected($key, $args['selected']); |
|
683 | 683 | } else { |
684 | - selected( $key, $value ); |
|
684 | + selected($key, $value); |
|
685 | 685 | } |
686 | 686 | |
687 | - echo '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
687 | + echo '>' . esc_html($option['admin_label']) . '</option>'; |
|
688 | 688 | endforeach; |
689 | 689 | |
690 | 690 | echo '</select>'; |
691 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
691 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
692 | 692 | } |
693 | 693 | |
694 | 694 | /** |
@@ -697,16 +697,16 @@ discard block |
||
697 | 697 | * @param array $args |
698 | 698 | * @return string |
699 | 699 | */ |
700 | -function wpinv_settings_attrs_helper( $args ) { |
|
700 | +function wpinv_settings_attrs_helper($args) { |
|
701 | 701 | |
702 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
703 | - $id = esc_attr( $args['id'] ); |
|
704 | - $value = is_scalar( $value ) ? $value : ''; |
|
702 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
703 | + $id = esc_attr($args['id']); |
|
704 | + $value = is_scalar($value) ? $value : ''; |
|
705 | 705 | |
706 | 706 | $attrs = array( |
707 | - 'name' => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]", |
|
708 | - 'readonly' => ! empty( $args['faux'] ), |
|
709 | - 'value' => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ), |
|
707 | + 'name' => !empty($args['faux']) ? false : "wpinv_settings[$id]", |
|
708 | + 'readonly' => !empty($args['faux']), |
|
709 | + 'value' => !empty($args['faux']) ? $value : wpinv_get_option($args['id'], $value), |
|
710 | 710 | 'id' => 'wpinv-settings-' . $args['id'], |
711 | 711 | 'style' => $args['style'], |
712 | 712 | 'class' => $args['class'], |
@@ -714,20 +714,20 @@ discard block |
||
714 | 714 | 'data-placeholder' => $args['placeholder'], |
715 | 715 | ); |
716 | 716 | |
717 | - if ( ! empty( $args['onchange'] ) ) { |
|
717 | + if (!empty($args['onchange'])) { |
|
718 | 718 | $attrs['onchange'] = $args['onchange']; |
719 | 719 | } |
720 | 720 | |
721 | - foreach ( $attrs as $key => $value ) { |
|
721 | + foreach ($attrs as $key => $value) { |
|
722 | 722 | |
723 | - if ( false === $value ) { |
|
723 | + if (false === $value) { |
|
724 | 724 | continue; |
725 | 725 | } |
726 | 726 | |
727 | - if ( true === $value ) { |
|
728 | - echo ' ' . esc_attr( $key ); |
|
727 | + if (true === $value) { |
|
728 | + echo ' ' . esc_attr($key); |
|
729 | 729 | } else { |
730 | - echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"'; |
|
730 | + echo ' ' . esc_attr($key) . '="' . esc_attr($value) . '"'; |
|
731 | 731 | } |
732 | 732 | |
733 | 733 | } |
@@ -737,14 +737,14 @@ discard block |
||
737 | 737 | /** |
738 | 738 | * Displays a text input settings callback. |
739 | 739 | */ |
740 | -function wpinv_text_callback( $args ) { |
|
740 | +function wpinv_text_callback($args) { |
|
741 | 741 | |
742 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
742 | + $desc = empty($desc) ? '' : "<p class='description'>$desc</p>"; |
|
743 | 743 | |
744 | 744 | ?> |
745 | 745 | <label style="width: 100%;"> |
746 | - <input type="text" <?php wpinv_settings_attrs_helper( $args ); ?>> |
|
747 | - <?php echo wp_kses_post( $desc ); ?> |
|
746 | + <input type="text" <?php wpinv_settings_attrs_helper($args); ?>> |
|
747 | + <?php echo wp_kses_post($desc); ?> |
|
748 | 748 | </label> |
749 | 749 | <?php |
750 | 750 | |
@@ -753,176 +753,176 @@ discard block |
||
753 | 753 | /** |
754 | 754 | * Displays a number input settings callback. |
755 | 755 | */ |
756 | -function wpinv_number_callback( $args ) { |
|
756 | +function wpinv_number_callback($args) { |
|
757 | 757 | |
758 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
758 | + $desc = empty($desc) ? '' : "<p class='description'>$desc</p>"; |
|
759 | 759 | |
760 | 760 | ?> |
761 | 761 | <label style="width: 100%;"> |
762 | - <input type="number" step="<?php echo floatval( $args['step'] ); ?>" max="<?php echo intval( $args['max'] ); ?>" min="<?php echo intval( $args['min'] ); ?>" <?php wpinv_settings_attrs_helper( $args ); ?>> |
|
763 | - <?php echo wp_kses_post( $desc ); ?> |
|
762 | + <input type="number" step="<?php echo floatval($args['step']); ?>" max="<?php echo intval($args['max']); ?>" min="<?php echo intval($args['min']); ?>" <?php wpinv_settings_attrs_helper($args); ?>> |
|
763 | + <?php echo wp_kses_post($desc); ?> |
|
764 | 764 | </label> |
765 | 765 | <?php |
766 | 766 | |
767 | 767 | } |
768 | 768 | |
769 | -function wpinv_textarea_callback( $args ) { |
|
769 | +function wpinv_textarea_callback($args) { |
|
770 | 770 | |
771 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
772 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
773 | - $value = wpinv_get_option( $args['id'], $std ); |
|
771 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
772 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
773 | + $value = wpinv_get_option($args['id'], $std); |
|
774 | 774 | |
775 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
776 | - $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text'; |
|
775 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
776 | + $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text'; |
|
777 | 777 | |
778 | - echo '<textarea class="' . esc_attr( $class ) . ' txtarea-' . esc_attr( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . esc_attr( $args['cols'] ) . '" rows="' . esc_attr( $args['rows'] ) . '" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
779 | - echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
778 | + echo '<textarea class="' . esc_attr($class) . ' txtarea-' . esc_attr($size) . ' wpi-' . esc_attr(sanitize_html_class($sanitize_id)) . ' " cols="' . esc_attr($args['cols']) . '" rows="' . esc_attr($args['rows']) . '" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']">' . esc_textarea(stripslashes($value)) . '</textarea>'; |
|
779 | + echo '<br /><label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
780 | 780 | |
781 | 781 | } |
782 | 782 | |
783 | -function wpinv_password_callback( $args ) { |
|
783 | +function wpinv_password_callback($args) { |
|
784 | 784 | |
785 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
786 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
787 | - $value = wpinv_get_option( $args['id'], $std ); |
|
785 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
786 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
787 | + $value = wpinv_get_option($args['id'], $std); |
|
788 | 788 | |
789 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
790 | - echo '<input type="password" class="' . esc_attr( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>'; |
|
791 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
789 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
790 | + echo '<input type="password" class="' . esc_attr($size) . '-text" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '"/>'; |
|
791 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
792 | 792 | |
793 | 793 | } |
794 | 794 | |
795 | -function wpinv_missing_callback( $args ) { |
|
795 | +function wpinv_missing_callback($args) { |
|
796 | 796 | printf( |
797 | - esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
798 | - '<strong>' . esc_html( $args['id'] ) . '</strong>' |
|
797 | + esc_html__('The callback function used for the %s setting is missing.', 'invoicing'), |
|
798 | + '<strong>' . esc_html($args['id']) . '</strong>' |
|
799 | 799 | ); |
800 | 800 | } |
801 | 801 | |
802 | 802 | /** |
803 | 803 | * Displays a number input settings callback. |
804 | 804 | */ |
805 | -function wpinv_select_callback( $args ) { |
|
805 | +function wpinv_select_callback($args) { |
|
806 | 806 | |
807 | - $desc = wp_kses_post( $args['desc'] ); |
|
808 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
809 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
810 | - $value = wpinv_get_option( $args['id'], $value ); |
|
811 | - $rand = uniqid( 'random_id' ); |
|
807 | + $desc = wp_kses_post($args['desc']); |
|
808 | + $desc = empty($desc) ? '' : "<p class='description'>$desc</p>"; |
|
809 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
810 | + $value = wpinv_get_option($args['id'], $value); |
|
811 | + $rand = uniqid('random_id'); |
|
812 | 812 | |
813 | 813 | ?> |
814 | 814 | <label style="width: 100%;"> |
815 | - <select <?php wpinv_settings_attrs_helper( $args ); ?> data-allow-clear="true"> |
|
816 | - <?php foreach ( $args['options'] as $option => $name ) : ?> |
|
817 | - <option value="<?php echo esc_attr( $option ); ?>" <?php echo selected( $option, $value ); ?>><?php echo esc_html( $name ); ?></option> |
|
815 | + <select <?php wpinv_settings_attrs_helper($args); ?> data-allow-clear="true"> |
|
816 | + <?php foreach ($args['options'] as $option => $name) : ?> |
|
817 | + <option value="<?php echo esc_attr($option); ?>" <?php echo selected($option, $value); ?>><?php echo esc_html($name); ?></option> |
|
818 | 818 | <?php endforeach; ?> |
819 | 819 | </select> |
820 | 820 | |
821 | - <?php if ( substr( $args['id'], -5 ) === '_page' && is_numeric( $value ) ) : ?> |
|
822 | - <a href="<?php echo esc_url( get_edit_post_link( $value ) ); ?>" target="_blank" class="button getpaid-page-setting-edit"><?php esc_html_e( 'Edit Page', 'invoicing' ); ?></a> |
|
821 | + <?php if (substr($args['id'], -5) === '_page' && is_numeric($value)) : ?> |
|
822 | + <a href="<?php echo esc_url(get_edit_post_link($value)); ?>" target="_blank" class="button getpaid-page-setting-edit"><?php esc_html_e('Edit Page', 'invoicing'); ?></a> |
|
823 | 823 | <?php endif; ?> |
824 | 824 | |
825 | - <?php if ( substr( $args['id'], -5 ) === '_page' && ! empty( $args['default_content'] ) ) : ?> |
|
826 | - <a href="#TB_inline?&width=400&height=550&inlineId=<?php echo esc_attr( $rand ); ?>" class="button thickbox getpaid-page-setting-view-default"><?php esc_html_e( 'View Default Content', 'invoicing' ); ?></a> |
|
827 | - <div id='<?php echo esc_attr( $rand ); ?>' style='display:none;'> |
|
825 | + <?php if (substr($args['id'], -5) === '_page' && !empty($args['default_content'])) : ?> |
|
826 | + <a href="#TB_inline?&width=400&height=550&inlineId=<?php echo esc_attr($rand); ?>" class="button thickbox getpaid-page-setting-view-default"><?php esc_html_e('View Default Content', 'invoicing'); ?></a> |
|
827 | + <div id='<?php echo esc_attr($rand); ?>' style='display:none;'> |
|
828 | 828 | <div> |
829 | - <h3><?php esc_html_e( 'Original Content', 'invoicing' ); ?></h3> |
|
830 | - <textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php echo wp_kses_post( gepaid_trim_lines( $args['default_content'] ) ); ?></textarea> |
|
831 | - <h3><?php esc_html_e( 'Current Content', 'invoicing' ); ?></h3> |
|
832 | - <textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php $_post = get_post( $value ); echo empty( $_post ) ? '' : wp_kses_post( gepaid_trim_lines( $_post->post_content ) ); ?></textarea> |
|
829 | + <h3><?php esc_html_e('Original Content', 'invoicing'); ?></h3> |
|
830 | + <textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php echo wp_kses_post(gepaid_trim_lines($args['default_content'])); ?></textarea> |
|
831 | + <h3><?php esc_html_e('Current Content', 'invoicing'); ?></h3> |
|
832 | + <textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php $_post = get_post($value); echo empty($_post) ? '' : wp_kses_post(gepaid_trim_lines($_post->post_content)); ?></textarea> |
|
833 | 833 | </div> |
834 | 834 | </div> |
835 | 835 | <?php endif; ?> |
836 | 836 | |
837 | - <?php echo wp_kses_post( $desc ); ?> |
|
837 | + <?php echo wp_kses_post($desc); ?> |
|
838 | 838 | </label> |
839 | 839 | <?php |
840 | 840 | |
841 | 841 | } |
842 | 842 | |
843 | -function wpinv_color_select_callback( $args ) { |
|
843 | +function wpinv_color_select_callback($args) { |
|
844 | 844 | |
845 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
846 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
847 | - $value = wpinv_get_option( $args['id'], $std ); |
|
845 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
846 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
847 | + $value = wpinv_get_option($args['id'], $std); |
|
848 | 848 | |
849 | - echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
849 | + echo '<select id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>'; |
|
850 | 850 | |
851 | - foreach ( $args['options'] as $option => $color ) { |
|
852 | - echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>'; |
|
851 | + foreach ($args['options'] as $option => $color) { |
|
852 | + echo '<option value="' . esc_attr($option) . '" ' . selected($option, $value) . '>' . esc_html($color['label']) . '</option>'; |
|
853 | 853 | } |
854 | 854 | |
855 | 855 | echo '</select>'; |
856 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
856 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
857 | 857 | |
858 | 858 | } |
859 | 859 | |
860 | -function wpinv_rich_editor_callback( $args ) { |
|
860 | +function wpinv_rich_editor_callback($args) { |
|
861 | 861 | global $wp_version; |
862 | 862 | |
863 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
863 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
864 | 864 | |
865 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
866 | - $value = wpinv_get_option( $args['id'], $std ); |
|
865 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
866 | + $value = wpinv_get_option($args['id'], $std); |
|
867 | 867 | |
868 | - if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
868 | + if (!empty($args['allow_blank']) && empty($value)) { |
|
869 | 869 | $value = $std; |
870 | 870 | } |
871 | 871 | |
872 | - $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
872 | + $rows = isset($args['size']) ? $args['size'] : 20; |
|
873 | 873 | |
874 | 874 | echo '<div class="getpaid-settings-editor-input">'; |
875 | - if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
875 | + if ($wp_version >= 3.3 && function_exists('wp_editor')) { |
|
876 | 876 | wp_editor( |
877 | - stripslashes( $value ), |
|
878 | - 'wpinv_settings_' . esc_attr( $args['id'] ), |
|
877 | + stripslashes($value), |
|
878 | + 'wpinv_settings_' . esc_attr($args['id']), |
|
879 | 879 | array( |
880 | - 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', |
|
881 | - 'textarea_rows' => absint( $rows ), |
|
880 | + 'textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']', |
|
881 | + 'textarea_rows' => absint($rows), |
|
882 | 882 | 'media_buttons' => false, |
883 | 883 | ) |
884 | 884 | ); |
885 | 885 | } else { |
886 | - echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
886 | + echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="wpi-' . esc_attr(sanitize_html_class($args['id'])) . '">' . esc_textarea(stripslashes($value)) . '</textarea>'; |
|
887 | 887 | } |
888 | 888 | |
889 | - echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
889 | + echo '</div><br/><label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
890 | 890 | |
891 | 891 | } |
892 | 892 | |
893 | -function wpinv_upload_callback( $args ) { |
|
893 | +function wpinv_upload_callback($args) { |
|
894 | 894 | |
895 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
895 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
896 | 896 | |
897 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
898 | - $value = wpinv_get_option( $args['id'], $std ); |
|
897 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
898 | + $value = wpinv_get_option($args['id'], $std); |
|
899 | 899 | |
900 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
901 | - echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
902 | - echo '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
903 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
900 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
901 | + echo '<input type="text" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr(stripslashes($value)) . '"/>'; |
|
902 | + echo '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__('Upload File', 'invoicing') . '"/></span>'; |
|
903 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
904 | 904 | |
905 | 905 | } |
906 | 906 | |
907 | -function wpinv_color_callback( $args ) { |
|
907 | +function wpinv_color_callback($args) { |
|
908 | 908 | |
909 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
910 | - $value = wpinv_get_option( $args['id'], $std ); |
|
911 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
909 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
910 | + $value = wpinv_get_option($args['id'], $std); |
|
911 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
912 | 912 | |
913 | - echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />'; |
|
914 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
913 | + echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '" data-default-color="' . esc_attr($std) . '" />'; |
|
914 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
915 | 915 | |
916 | 916 | } |
917 | 917 | |
918 | -function wpinv_country_states_callback( $args ) { |
|
918 | +function wpinv_country_states_callback($args) { |
|
919 | 919 | |
920 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
921 | - $value = wpinv_get_option( $args['id'], $std ); |
|
920 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
921 | + $value = wpinv_get_option($args['id'], $std); |
|
922 | 922 | |
923 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
923 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
924 | 924 | |
925 | - if ( isset( $args['placeholder'] ) ) { |
|
925 | + if (isset($args['placeholder'])) { |
|
926 | 926 | $placeholder = $args['placeholder']; |
927 | 927 | } else { |
928 | 928 | $placeholder = ''; |
@@ -930,15 +930,15 @@ discard block |
||
930 | 930 | |
931 | 931 | $states = wpinv_get_country_states(); |
932 | 932 | |
933 | - $class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2'; |
|
934 | - echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="' . esc_attr( $class ) . '" data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
933 | + $class = empty($states) ? 'wpinv-no-states' : 'wpi_select2'; |
|
934 | + echo '<select id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="' . esc_attr($class) . '" data-placeholder="' . esc_html($placeholder) . '"/>'; |
|
935 | 935 | |
936 | - foreach ( $states as $option => $name ) { |
|
937 | - echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>'; |
|
936 | + foreach ($states as $option => $name) { |
|
937 | + echo '<option value="' . esc_attr($option) . '" ' . selected($option, $value) . '>' . esc_html($name) . '</option>'; |
|
938 | 938 | } |
939 | 939 | |
940 | 940 | echo '</select>'; |
941 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
941 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
942 | 942 | |
943 | 943 | } |
944 | 944 | |
@@ -952,7 +952,7 @@ discard block |
||
952 | 952 | </tr> |
953 | 953 | <tr class="bsui"> |
954 | 954 | <td colspan="2" class="p-0"> |
955 | - <?php include plugin_dir_path( __FILE__ ) . 'views/html-tax-rates-edit.php'; ?> |
|
955 | + <?php include plugin_dir_path(__FILE__) . 'views/html-tax-rates-edit.php'; ?> |
|
956 | 956 | |
957 | 957 | <?php |
958 | 958 | |
@@ -961,11 +961,11 @@ discard block |
||
961 | 961 | /** |
962 | 962 | * Displays a tax rate' edit row. |
963 | 963 | */ |
964 | -function wpinv_tax_rate_callback( $tax_rate, $key ) { |
|
964 | +function wpinv_tax_rate_callback($tax_rate, $key) { |
|
965 | 965 | |
966 | - $key = sanitize_key( $key ); |
|
967 | - $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate']; |
|
968 | - include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php'; |
|
966 | + $key = sanitize_key($key); |
|
967 | + $tax_rate['reduced_rate'] = empty($tax_rate['reduced_rate']) ? 0 : $tax_rate['reduced_rate']; |
|
968 | + include plugin_dir_path(__FILE__) . 'views/html-tax-rate-edit.php'; |
|
969 | 969 | |
970 | 970 | } |
971 | 971 | |
@@ -979,158 +979,158 @@ discard block |
||
979 | 979 | </tr> |
980 | 980 | <tr class="bsui"> |
981 | 981 | <td colspan="2" class="p-0"> |
982 | - <?php include plugin_dir_path( __FILE__ ) . 'views/html-tax-rules-edit.php'; ?> |
|
982 | + <?php include plugin_dir_path(__FILE__) . 'views/html-tax-rules-edit.php'; ?> |
|
983 | 983 | |
984 | 984 | <?php |
985 | 985 | |
986 | 986 | } |
987 | 987 | |
988 | -function wpinv_tools_callback( $args ) { |
|
988 | +function wpinv_tools_callback($args) { |
|
989 | 989 | ?> |
990 | 990 | </td><tr> |
991 | 991 | <td colspan="2" class="wpinv_tools_tdbox"> |
992 | 992 | <?php |
993 | - if ( $args['desc'] ) { |
|
993 | + if ($args['desc']) { |
|
994 | 994 | ?> |
995 | -<p><?php echo wp_kses_post( $args['desc'] ); ?></p><?php } ?> |
|
996 | - <?php do_action( 'wpinv_tools_before' ); ?> |
|
995 | +<p><?php echo wp_kses_post($args['desc']); ?></p><?php } ?> |
|
996 | + <?php do_action('wpinv_tools_before'); ?> |
|
997 | 997 | <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts"> |
998 | 998 | <thead> |
999 | 999 | <tr> |
1000 | - <th scope="col" class="wpinv-th-tool"><?php esc_html_e( 'Tool', 'invoicing' ); ?></th> |
|
1001 | - <th scope="col" class="wpinv-th-desc"><?php esc_html_e( 'Description', 'invoicing' ); ?></th> |
|
1002 | - <th scope="col" class="wpinv-th-action"><?php esc_html_e( 'Action', 'invoicing' ); ?></th> |
|
1000 | + <th scope="col" class="wpinv-th-tool"><?php esc_html_e('Tool', 'invoicing'); ?></th> |
|
1001 | + <th scope="col" class="wpinv-th-desc"><?php esc_html_e('Description', 'invoicing'); ?></th> |
|
1002 | + <th scope="col" class="wpinv-th-action"><?php esc_html_e('Action', 'invoicing'); ?></th> |
|
1003 | 1003 | </tr> |
1004 | 1004 | </thead> |
1005 | 1005 | |
1006 | 1006 | <tbody> |
1007 | 1007 | <tr> |
1008 | - <td><?php esc_html_e( 'Check Pages', 'invoicing' ); ?></td> |
|
1008 | + <td><?php esc_html_e('Check Pages', 'invoicing'); ?></td> |
|
1009 | 1009 | <td> |
1010 | - <small><?php esc_html_e( 'Creates any missing GetPaid pages.', 'invoicing' ); ?></small> |
|
1010 | + <small><?php esc_html_e('Creates any missing GetPaid pages.', 'invoicing'); ?></small> |
|
1011 | 1011 | </td> |
1012 | 1012 | <td> |
1013 | 1013 | <a href=" |
1014 | 1014 | <?php |
1015 | 1015 | echo esc_url( |
1016 | 1016 | wp_nonce_url( |
1017 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
1017 | + add_query_arg('getpaid-admin-action', 'create_missing_pages'), |
|
1018 | 1018 | 'getpaid-nonce', |
1019 | 1019 | 'getpaid-nonce' |
1020 | 1020 | ) |
1021 | 1021 | ); |
1022 | 1022 | ?> |
1023 | - " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
|
1023 | + " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a> |
|
1024 | 1024 | </td> |
1025 | 1025 | </tr> |
1026 | 1026 | <tr> |
1027 | - <td><?php esc_html_e( 'Create Database Tables', 'invoicing' ); ?></td> |
|
1027 | + <td><?php esc_html_e('Create Database Tables', 'invoicing'); ?></td> |
|
1028 | 1028 | <td> |
1029 | - <small><?php esc_html_e( 'Run this tool to create any missing database tables.', 'invoicing' ); ?></small> |
|
1029 | + <small><?php esc_html_e('Run this tool to create any missing database tables.', 'invoicing'); ?></small> |
|
1030 | 1030 | </td> |
1031 | 1031 | <td> |
1032 | 1032 | <a href=" |
1033 | 1033 | <?php |
1034 | 1034 | echo esc_url( |
1035 | 1035 | wp_nonce_url( |
1036 | - add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ), |
|
1036 | + add_query_arg('getpaid-admin-action', 'create_missing_tables'), |
|
1037 | 1037 | 'getpaid-nonce', |
1038 | 1038 | 'getpaid-nonce' |
1039 | 1039 | ) |
1040 | 1040 | ); |
1041 | 1041 | ?> |
1042 | - " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
|
1042 | + " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a> |
|
1043 | 1043 | </td> |
1044 | 1044 | </tr> |
1045 | 1045 | <tr> |
1046 | - <td><?php esc_html_e( 'Migrate old invoices', 'invoicing' ); ?></td> |
|
1046 | + <td><?php esc_html_e('Migrate old invoices', 'invoicing'); ?></td> |
|
1047 | 1047 | <td> |
1048 | - <small><?php esc_html_e( 'If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing' ); ?></small> |
|
1048 | + <small><?php esc_html_e('If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing'); ?></small> |
|
1049 | 1049 | </td> |
1050 | 1050 | <td> |
1051 | 1051 | <a href=" |
1052 | 1052 | <?php |
1053 | 1053 | echo esc_url( |
1054 | 1054 | wp_nonce_url( |
1055 | - add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ), |
|
1055 | + add_query_arg('getpaid-admin-action', 'migrate_old_invoices'), |
|
1056 | 1056 | 'getpaid-nonce', |
1057 | 1057 | 'getpaid-nonce' |
1058 | 1058 | ) |
1059 | 1059 | ); |
1060 | 1060 | ?> |
1061 | - " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
|
1061 | + " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a> |
|
1062 | 1062 | </td> |
1063 | 1063 | </tr> |
1064 | 1064 | |
1065 | 1065 | <tr> |
1066 | - <td><?php esc_html_e( 'Recalculate Discounts', 'invoicing' ); ?></td> |
|
1066 | + <td><?php esc_html_e('Recalculate Discounts', 'invoicing'); ?></td> |
|
1067 | 1067 | <td> |
1068 | - <small><?php esc_html_e( 'Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing' ); ?></small> |
|
1068 | + <small><?php esc_html_e('Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing'); ?></small> |
|
1069 | 1069 | </td> |
1070 | 1070 | <td> |
1071 | 1071 | <a href=" |
1072 | 1072 | <?php |
1073 | 1073 | echo esc_url( |
1074 | 1074 | wp_nonce_url( |
1075 | - add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ), |
|
1075 | + add_query_arg('getpaid-admin-action', 'recalculate_discounts'), |
|
1076 | 1076 | 'getpaid-nonce', |
1077 | 1077 | 'getpaid-nonce' |
1078 | 1078 | ) |
1079 | 1079 | ); |
1080 | 1080 | ?> |
1081 | - " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
|
1081 | + " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a> |
|
1082 | 1082 | </td> |
1083 | 1083 | </tr> |
1084 | 1084 | |
1085 | 1085 | <tr> |
1086 | - <td><?php esc_html_e( 'Set-up Wizard', 'invoicing' ); ?></td> |
|
1086 | + <td><?php esc_html_e('Set-up Wizard', 'invoicing'); ?></td> |
|
1087 | 1087 | <td> |
1088 | - <small><?php esc_html_e( 'Launch the quick set-up wizard.', 'invoicing' ); ?></small> |
|
1088 | + <small><?php esc_html_e('Launch the quick set-up wizard.', 'invoicing'); ?></small> |
|
1089 | 1089 | </td> |
1090 | 1090 | <td> |
1091 | 1091 | <a href=" |
1092 | 1092 | <?php |
1093 | - echo esc_url( admin_url( 'index.php?page=gp-setup' ) ); |
|
1093 | + echo esc_url(admin_url('index.php?page=gp-setup')); |
|
1094 | 1094 | ?> |
1095 | - " class="button button-primary"><?php esc_html_e( 'Launch', 'invoicing' ); ?></a> |
|
1095 | + " class="button button-primary"><?php esc_html_e('Launch', 'invoicing'); ?></a> |
|
1096 | 1096 | </td> |
1097 | 1097 | </tr> |
1098 | 1098 | |
1099 | - <?php do_action( 'wpinv_tools_row' ); ?> |
|
1099 | + <?php do_action('wpinv_tools_row'); ?> |
|
1100 | 1100 | </tbody> |
1101 | 1101 | </table> |
1102 | - <?php do_action( 'wpinv_tools_after' ); ?> |
|
1102 | + <?php do_action('wpinv_tools_after'); ?> |
|
1103 | 1103 | <?php |
1104 | 1104 | } |
1105 | 1105 | |
1106 | 1106 | |
1107 | -function wpinv_descriptive_text_callback( $args ) { |
|
1108 | - echo wp_kses_post( $args['desc'] ); |
|
1107 | +function wpinv_descriptive_text_callback($args) { |
|
1108 | + echo wp_kses_post($args['desc']); |
|
1109 | 1109 | } |
1110 | 1110 | |
1111 | -function wpinv_raw_html_callback( $args ) { |
|
1112 | - echo wp_kses( $args['desc'], getpaid_allowed_html() ); |
|
1111 | +function wpinv_raw_html_callback($args) { |
|
1112 | + echo wp_kses($args['desc'], getpaid_allowed_html()); |
|
1113 | 1113 | } |
1114 | 1114 | |
1115 | -function wpinv_hook_callback( $args ) { |
|
1116 | - do_action( 'wpinv_' . $args['id'], $args ); |
|
1115 | +function wpinv_hook_callback($args) { |
|
1116 | + do_action('wpinv_' . $args['id'], $args); |
|
1117 | 1117 | } |
1118 | 1118 | |
1119 | 1119 | function wpinv_set_settings_cap() { |
1120 | 1120 | return wpinv_get_capability(); |
1121 | 1121 | } |
1122 | -add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' ); |
|
1122 | +add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap'); |
|
1123 | 1123 | |
1124 | 1124 | |
1125 | -function wpinv_on_update_settings( $old_value, $value, $option ) { |
|
1126 | - $old = ! empty( $old_value['remove_data_on_unistall'] ) ? 1 : ''; |
|
1127 | - $new = ! empty( $value['remove_data_on_unistall'] ) ? 1 : ''; |
|
1125 | +function wpinv_on_update_settings($old_value, $value, $option) { |
|
1126 | + $old = !empty($old_value['remove_data_on_unistall']) ? 1 : ''; |
|
1127 | + $new = !empty($value['remove_data_on_unistall']) ? 1 : ''; |
|
1128 | 1128 | |
1129 | - if ( $old != $new ) { |
|
1130 | - update_option( 'wpinv_remove_data_on_invoice_unistall', $new ); |
|
1129 | + if ($old != $new) { |
|
1130 | + update_option('wpinv_remove_data_on_invoice_unistall', $new); |
|
1131 | 1131 | } |
1132 | 1132 | } |
1133 | -add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 ); |
|
1133 | +add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3); |
|
1134 | 1134 | |
1135 | 1135 | /** |
1136 | 1136 | * Returns the merge tags help text. |
@@ -1139,16 +1139,16 @@ discard block |
||
1139 | 1139 | * |
1140 | 1140 | * @return string |
1141 | 1141 | */ |
1142 | -function wpinv_get_merge_tags_help_text( $subscription = false ) { |
|
1142 | +function wpinv_get_merge_tags_help_text($subscription = false) { |
|
1143 | 1143 | |
1144 | 1144 | $url = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f'; |
1145 | 1145 | $link = sprintf( |
1146 | 1146 | '<strong><a href="%s" target="_blank">%s</a></strong>', |
1147 | 1147 | $url, |
1148 | - esc_html__( 'View available merge tags.', 'wpinv-quotes' ) |
|
1148 | + esc_html__('View available merge tags.', 'wpinv-quotes') |
|
1149 | 1149 | ); |
1150 | 1150 | |
1151 | - $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' ); |
|
1151 | + $description = esc_html__('The content of the email (Merge Tags and HTML are allowed).', 'invoicing'); |
|
1152 | 1152 | |
1153 | 1153 | return "$description $link"; |
1154 | 1154 |
@@ -8,8 +8,8 @@ |
||
8 | 8 | |
9 | 9 | $dummy_rule = array( |
10 | 10 | 'key' => 'TAX_RULE_KEY', |
11 | - 'label' => __( 'New Tax Rule', 'invoicing' ), |
|
12 | - 'tax_base' => wpinv_get_option( 'tax_base', 'billing' ), |
|
11 | + 'label' => __( 'New Tax Rule', 'invoicing' ), |
|
12 | + 'tax_base' => wpinv_get_option( 'tax_base', 'billing' ), |
|
13 | 13 | ); |
14 | 14 | |
15 | 15 | wp_nonce_field( 'wpinv_tax_rules', 'wpinv_tax_rules_nonce' ); |
@@ -4,34 +4,34 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | $dummy_rule = array( |
10 | 10 | 'key' => 'TAX_RULE_KEY', |
11 | - 'label' => __( 'New Tax Rule', 'invoicing' ), |
|
12 | - 'tax_base' => wpinv_get_option( 'tax_base', 'billing' ), |
|
11 | + 'label' => __('New Tax Rule', 'invoicing'), |
|
12 | + 'tax_base' => wpinv_get_option('tax_base', 'billing'), |
|
13 | 13 | ); |
14 | 14 | |
15 | -wp_nonce_field( 'wpinv_tax_rules', 'wpinv_tax_rules_nonce' ); |
|
15 | +wp_nonce_field('wpinv_tax_rules', 'wpinv_tax_rules_nonce'); |
|
16 | 16 | |
17 | 17 | ?> |
18 | 18 | <div class="table-responsive"> |
19 | 19 | <table id="wpinv-tax-rules" class="widefat fixed table"> |
20 | - <caption><?php echo esc_html_e( 'You can use this section to create or edit your tax rules', 'invoicing' ); ?></caption> |
|
20 | + <caption><?php echo esc_html_e('You can use this section to create or edit your tax rules', 'invoicing'); ?></caption> |
|
21 | 21 | |
22 | 22 | <thead> |
23 | 23 | <tr class="table-light"> |
24 | 24 | |
25 | 25 | <th scope="col" class="border-bottom border-top"> |
26 | - <?php esc_html_e( 'Unique Key', 'invoicing' ); ?> |
|
26 | + <?php esc_html_e('Unique Key', 'invoicing'); ?> |
|
27 | 27 | </th> |
28 | 28 | |
29 | 29 | <th scope="col" class="border-bottom border-top"> |
30 | - <?php esc_html_e( 'Label', 'invoicing' ); ?> |
|
30 | + <?php esc_html_e('Label', 'invoicing'); ?> |
|
31 | 31 | </th> |
32 | 32 | |
33 | 33 | <th scope="col" class="border-bottom border-top"> |
34 | - <?php esc_html_e( 'Calculate tax based on', 'invoicing' ); ?> |
|
34 | + <?php esc_html_e('Calculate tax based on', 'invoicing'); ?> |
|
35 | 35 | </th> |
36 | 36 | |
37 | 37 | <th scope="col" class="border-bottom border-top" style="width:32px"> </th> |
@@ -40,8 +40,8 @@ discard block |
||
40 | 40 | </thead> |
41 | 41 | |
42 | 42 | <tbody> |
43 | - <?php foreach ( GetPaid_Tax::get_all_tax_rules() as $tax_rule ) : ?> |
|
44 | - <?php include plugin_dir_path( __FILE__ ) . 'html-tax-rule-edit.php'; ?> |
|
43 | + <?php foreach (GetPaid_Tax::get_all_tax_rules() as $tax_rule) : ?> |
|
44 | + <?php include plugin_dir_path(__FILE__) . 'html-tax-rule-edit.php'; ?> |
|
45 | 45 | <?php endforeach; ?> |
46 | 46 | </tbody> |
47 | 47 | |
@@ -49,8 +49,8 @@ discard block |
||
49 | 49 | <tr class="table-light"> |
50 | 50 | <td colspan="4" class="border-top"> |
51 | 51 | |
52 | - <button type="button" class="button button-secondary wpinv_add_tax_rule" aria-label="<?php esc_attr_e( 'Add Tax Rule', 'invoicing' ); ?>"> |
|
53 | - <span><?php esc_html_e( 'Add Tax Rule', 'invoicing' ); ?></span> |
|
52 | + <button type="button" class="button button-secondary wpinv_add_tax_rule" aria-label="<?php esc_attr_e('Add Tax Rule', 'invoicing'); ?>"> |
|
53 | + <span><?php esc_html_e('Add Tax Rule', 'invoicing'); ?></span> |
|
54 | 54 | </button> |
55 | 55 | |
56 | 56 | </td> |
@@ -61,6 +61,6 @@ discard block |
||
61 | 61 | |
62 | 62 | <script type="text/html" id="tmpl-wpinv-tax-rule-row"> |
63 | 63 | <?php $tax_rule = $dummy_rule; ?> |
64 | - <?php include plugin_dir_path( __FILE__ ) . 'html-tax-rule-edit.php'; ?> |
|
64 | + <?php include plugin_dir_path(__FILE__) . 'html-tax-rule-edit.php'; ?> |
|
65 | 65 | </script> |
66 | 66 |
@@ -5,29 +5,29 @@ |
||
5 | 5 | * @var array $tax_rule |
6 | 6 | */ |
7 | 7 | |
8 | -defined( 'ABSPATH' ) || exit; |
|
8 | +defined('ABSPATH') || exit; |
|
9 | 9 | |
10 | 10 | ?> |
11 | 11 | |
12 | 12 | <tr> |
13 | 13 | |
14 | 14 | <td class="wpinv-tax-rule-key"> |
15 | - <input type="text" name="tax_rules[<?php echo esc_attr( $tax_rule['key'] ); ?>][key]" value="<?php echo esc_attr( $tax_rule['key'] ); ?>" required/> |
|
15 | + <input type="text" name="tax_rules[<?php echo esc_attr($tax_rule['key']); ?>][key]" value="<?php echo esc_attr($tax_rule['key']); ?>" required/> |
|
16 | 16 | </td> |
17 | 17 | |
18 | 18 | <td class="wpinv-tax-rule-label"> |
19 | - <input type="text" name="tax_rules[<?php echo esc_attr( $tax_rule['key'] ); ?>][label]" value="<?php echo esc_attr( $tax_rule['label'] ); ?>" required/> |
|
19 | + <input type="text" name="tax_rules[<?php echo esc_attr($tax_rule['key']); ?>][label]" value="<?php echo esc_attr($tax_rule['label']); ?>" required/> |
|
20 | 20 | </td> |
21 | 21 | |
22 | 22 | <td class="wpinv-tax-rule-base-address"> |
23 | - <select name="tax_rules[<?php echo esc_attr( $tax_rule['key'] ); ?>][tax_base]" class="getpaid-tax-rule-base-address" required> |
|
24 | - <option value="billing" <?php selected( $tax_rule['tax_base'], 'billing' ); ?>><?php esc_html_e( 'Customer billing address', 'invoicing' ); ?></option> |
|
25 | - <option value="base" <?php selected( $tax_rule['tax_base'], 'base' ); ?>><?php esc_html_e( 'Shop base address', 'invoicing' ); ?></option> |
|
23 | + <select name="tax_rules[<?php echo esc_attr($tax_rule['key']); ?>][tax_base]" class="getpaid-tax-rule-base-address" required> |
|
24 | + <option value="billing" <?php selected($tax_rule['tax_base'], 'billing'); ?>><?php esc_html_e('Customer billing address', 'invoicing'); ?></option> |
|
25 | + <option value="base" <?php selected($tax_rule['tax_base'], 'base'); ?>><?php esc_html_e('Shop base address', 'invoicing'); ?></option> |
|
26 | 26 | </select> |
27 | 27 | </td> |
28 | 28 | |
29 | 29 | <td class="wpinv_tax_remove"> |
30 | - <button type="button" class="close wpinv_remove_tax_rule" aria-label="<?php esc_attr_e( 'Delete', 'invoicing' ); ?>" title="<?php esc_attr_e( 'Delete', 'invoicing' ); ?>"> |
|
30 | + <button type="button" class="close wpinv_remove_tax_rule" aria-label="<?php esc_attr_e('Delete', 'invoicing'); ?>" title="<?php esc_attr_e('Delete', 'invoicing'); ?>"> |
|
31 | 31 | <span aria-hidden="true">×</span> |
32 | 32 | </button> |
33 | 33 | </td> |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Returns an array of eu states. |
@@ -12,7 +12,7 @@ discard block |
||
12 | 12 | * @return array |
13 | 13 | */ |
14 | 14 | function getpaid_get_eu_states() { |
15 | - return wpinv_get_data( 'eu-states' ); |
|
15 | + return wpinv_get_data('eu-states'); |
|
16 | 16 | } |
17 | 17 | |
18 | 18 | /** |
@@ -20,8 +20,8 @@ discard block |
||
20 | 20 | * |
21 | 21 | * @return bool |
22 | 22 | */ |
23 | -function getpaid_is_eu_state( $country ) { |
|
24 | - return ! empty( $country ) && in_array( strtoupper( $country ), getpaid_get_eu_states() ) ? true : false; |
|
23 | +function getpaid_is_eu_state($country) { |
|
24 | + return !empty($country) && in_array(strtoupper($country), getpaid_get_eu_states()) ? true : false; |
|
25 | 25 | } |
26 | 26 | |
27 | 27 | /** |
@@ -30,7 +30,7 @@ discard block |
||
30 | 30 | * @return array |
31 | 31 | */ |
32 | 32 | function getpaid_get_gst_states() { |
33 | - return array( 'AU', 'NZ', 'CA', 'CN' ); |
|
33 | + return array('AU', 'NZ', 'CA', 'CN'); |
|
34 | 34 | } |
35 | 35 | |
36 | 36 | /** |
@@ -38,8 +38,8 @@ discard block |
||
38 | 38 | * |
39 | 39 | * @return bool |
40 | 40 | */ |
41 | -function getpaid_is_gst_country( $country ) { |
|
42 | - return ! empty( $country ) && in_array( strtoupper( $country ), getpaid_get_gst_states() ) ? true : false; |
|
41 | +function getpaid_is_gst_country($country) { |
|
42 | + return !empty($country) && in_array(strtoupper($country), getpaid_get_gst_states()) ? true : false; |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | /** |
@@ -49,8 +49,8 @@ discard block |
||
49 | 49 | */ |
50 | 50 | function wpinv_use_taxes() { |
51 | 51 | |
52 | - $ret = wpinv_get_option( 'enable_taxes', false ); |
|
53 | - return (bool) apply_filters( 'wpinv_use_taxes', ! empty( $ret ) ); |
|
52 | + $ret = wpinv_get_option('enable_taxes', false); |
|
53 | + return (bool) apply_filters('wpinv_use_taxes', !empty($ret)); |
|
54 | 54 | |
55 | 55 | } |
56 | 56 | |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | * @param WPInv_Invoice $invoice |
61 | 61 | * @return bool |
62 | 62 | */ |
63 | -function wpinv_is_invoice_taxable( $invoice ) { |
|
63 | +function wpinv_is_invoice_taxable($invoice) { |
|
64 | 64 | return $invoice->is_taxable(); |
65 | 65 | } |
66 | 66 | |
@@ -70,11 +70,11 @@ discard block |
||
70 | 70 | * @param string $country |
71 | 71 | * @return bool |
72 | 72 | */ |
73 | -function wpinv_is_country_taxable( $country ) { |
|
74 | - $is_eu = getpaid_is_eu_state( $country ); |
|
75 | - $is_exempt = ! $is_eu && wpinv_is_base_country( $country ) && wpinv_same_country_exempt_vat(); |
|
73 | +function wpinv_is_country_taxable($country) { |
|
74 | + $is_eu = getpaid_is_eu_state($country); |
|
75 | + $is_exempt = !$is_eu && wpinv_is_base_country($country) && wpinv_same_country_exempt_vat(); |
|
76 | 76 | |
77 | - return (bool) apply_filters( 'wpinv_is_country_taxable', ! $is_exempt, $country ); |
|
77 | + return (bool) apply_filters('wpinv_is_country_taxable', !$is_exempt, $country); |
|
78 | 78 | |
79 | 79 | } |
80 | 80 | |
@@ -84,7 +84,7 @@ discard block |
||
84 | 84 | * @param WPInv_Item|GetPaid_Form_Item $item |
85 | 85 | * @return bool |
86 | 86 | */ |
87 | -function wpinv_is_item_taxable( $item ) { |
|
87 | +function wpinv_is_item_taxable($item) { |
|
88 | 88 | return '_exempt' != $item->get_vat_rule(); |
89 | 89 | } |
90 | 90 | |
@@ -93,15 +93,15 @@ discard block |
||
93 | 93 | * |
94 | 94 | * @return bool |
95 | 95 | */ |
96 | -function wpinv_use_store_address_as_tax_base( $tax_rule = false ) { |
|
97 | - $use_base = wpinv_get_option( 'tax_base', 'billing' ) === 'base'; |
|
96 | +function wpinv_use_store_address_as_tax_base($tax_rule = false) { |
|
97 | + $use_base = wpinv_get_option('tax_base', 'billing') === 'base'; |
|
98 | 98 | |
99 | - if ( $tax_rule ) { |
|
100 | - $rules = getpaid_get_tax_rules( 'tax_base' ); |
|
101 | - $use_base = isset( $rules[ $tax_rule ] ) ? 'base' === $rules[ $tax_rule ] : $use_base; |
|
99 | + if ($tax_rule) { |
|
100 | + $rules = getpaid_get_tax_rules('tax_base'); |
|
101 | + $use_base = isset($rules[$tax_rule]) ? 'base' === $rules[$tax_rule] : $use_base; |
|
102 | 102 | } |
103 | 103 | |
104 | - return (bool) apply_filters( 'wpinv_use_store_address_as_tax_base', $use_base ); |
|
104 | + return (bool) apply_filters('wpinv_use_store_address_as_tax_base', $use_base); |
|
105 | 105 | } |
106 | 106 | |
107 | 107 | /** |
@@ -110,8 +110,8 @@ discard block |
||
110 | 110 | * @return bool |
111 | 111 | */ |
112 | 112 | function wpinv_prices_include_tax() { |
113 | - $is_inclusive = wpinv_get_option( 'prices_include_tax', 'no' ) == 'yes'; |
|
114 | - return (bool) apply_filters( 'wpinv_prices_include_tax', $is_inclusive ); |
|
113 | + $is_inclusive = wpinv_get_option('prices_include_tax', 'no') == 'yes'; |
|
114 | + return (bool) apply_filters('wpinv_prices_include_tax', $is_inclusive); |
|
115 | 115 | } |
116 | 116 | |
117 | 117 | /** |
@@ -120,8 +120,8 @@ discard block |
||
120 | 120 | * @return bool |
121 | 121 | */ |
122 | 122 | function wpinv_round_tax_per_tax_rate() { |
123 | - $subtotal_rounding = wpinv_get_option( 'tax_subtotal_rounding', 1 ); |
|
124 | - return (bool) apply_filters( 'wpinv_round_tax_per_tax_rate', empty( $subtotal_rounding ) ); |
|
123 | + $subtotal_rounding = wpinv_get_option('tax_subtotal_rounding', 1); |
|
124 | + return (bool) apply_filters('wpinv_round_tax_per_tax_rate', empty($subtotal_rounding)); |
|
125 | 125 | } |
126 | 126 | |
127 | 127 | /** |
@@ -130,8 +130,8 @@ discard block |
||
130 | 130 | * @return bool |
131 | 131 | */ |
132 | 132 | function wpinv_display_individual_tax_rates() { |
133 | - $individual = wpinv_get_option( 'tax_display_totals', 'single' ) == 'individual'; |
|
134 | - return (bool) apply_filters( 'wpinv_display_individual_tax_rates', $individual ); |
|
133 | + $individual = wpinv_get_option('tax_display_totals', 'single') == 'individual'; |
|
134 | + return (bool) apply_filters('wpinv_display_individual_tax_rates', $individual); |
|
135 | 135 | } |
136 | 136 | |
137 | 137 | /** |
@@ -140,8 +140,8 @@ discard block |
||
140 | 140 | * @return float |
141 | 141 | */ |
142 | 142 | function wpinv_get_default_tax_rate() { |
143 | - $rate = wpinv_get_option( 'tax_rate', 0 ); |
|
144 | - return (float) apply_filters( 'wpinv_get_default_tax_rate', floatval( $rate ) ); |
|
143 | + $rate = wpinv_get_option('tax_rate', 0); |
|
144 | + return (float) apply_filters('wpinv_get_default_tax_rate', floatval($rate)); |
|
145 | 145 | } |
146 | 146 | |
147 | 147 | /** |
@@ -150,7 +150,7 @@ discard block |
||
150 | 150 | * @return bool |
151 | 151 | */ |
152 | 152 | function wpinv_same_country_exempt_vat() { |
153 | - return 'no' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ); |
|
153 | + return 'no' == wpinv_get_option('vat_same_country_rule', 'vat_too'); |
|
154 | 154 | } |
155 | 155 | |
156 | 156 | /** |
@@ -170,28 +170,28 @@ discard block |
||
170 | 170 | * @param string $state |
171 | 171 | * @return array |
172 | 172 | */ |
173 | -function getpaid_get_item_tax_rates( $item, $country = '', $state = '' ) { |
|
173 | +function getpaid_get_item_tax_rates($item, $country = '', $state = '') { |
|
174 | 174 | |
175 | 175 | // Abort if the item is not taxable. |
176 | - if ( ! wpinv_is_item_taxable( $item ) ) { |
|
176 | + if (!wpinv_is_item_taxable($item)) { |
|
177 | 177 | return array(); |
178 | 178 | } |
179 | 179 | |
180 | 180 | // Maybe use the store address. |
181 | - if ( wpinv_use_store_address_as_tax_base( $item->get_vat_rule() ) ) { |
|
181 | + if (wpinv_use_store_address_as_tax_base($item->get_vat_rule())) { |
|
182 | 182 | $country = wpinv_get_default_country(); |
183 | 183 | $state = wpinv_get_default_state(); |
184 | 184 | } |
185 | 185 | |
186 | 186 | // Retrieve tax rates. |
187 | - $tax_rates = GetPaid_Tax::get_address_tax_rates( $country, $state ); |
|
187 | + $tax_rates = GetPaid_Tax::get_address_tax_rates($country, $state); |
|
188 | 188 | |
189 | 189 | // Fallback to the default tax rates if non were found. |
190 | - if ( empty( $tax_rates ) ) { |
|
190 | + if (empty($tax_rates)) { |
|
191 | 191 | $tax_rates = GetPaid_Tax::get_default_tax_rates(); |
192 | 192 | } |
193 | 193 | |
194 | - return apply_filters( 'getpaid_get_item_tax_rates', $tax_rates, $item, $country, $state ); |
|
194 | + return apply_filters('getpaid_get_item_tax_rates', $tax_rates, $item, $country, $state); |
|
195 | 195 | } |
196 | 196 | |
197 | 197 | /** |
@@ -201,22 +201,22 @@ discard block |
||
201 | 201 | * @param array $rates |
202 | 202 | * @return array |
203 | 203 | */ |
204 | -function getpaid_filter_item_tax_rates( $item, $rates ) { |
|
204 | +function getpaid_filter_item_tax_rates($item, $rates) { |
|
205 | 205 | |
206 | 206 | $tax_class = $item->get_vat_class(); |
207 | 207 | |
208 | - foreach ( $rates as $i => $rate ) { |
|
208 | + foreach ($rates as $i => $rate) { |
|
209 | 209 | |
210 | - if ( $tax_class == '_reduced' ) { |
|
211 | - $rates[ $i ]['rate'] = empty( $rate['reduced_rate'] ) ? 0 : $rate['reduced_rate']; |
|
210 | + if ($tax_class == '_reduced') { |
|
211 | + $rates[$i]['rate'] = empty($rate['reduced_rate']) ? 0 : $rate['reduced_rate']; |
|
212 | 212 | } |
213 | 213 | |
214 | - if ( $tax_class == '_exempt' ) { |
|
215 | - $rates[ $i ]['rate'] = 0; |
|
214 | + if ($tax_class == '_exempt') { |
|
215 | + $rates[$i]['rate'] = 0; |
|
216 | 216 | } |
217 | 217 | } |
218 | 218 | |
219 | - return apply_filters( 'getpaid_filter_item_tax_rates', $rates, $item ); |
|
219 | + return apply_filters('getpaid_filter_item_tax_rates', $rates, $item); |
|
220 | 220 | } |
221 | 221 | |
222 | 222 | /** |
@@ -226,12 +226,12 @@ discard block |
||
226 | 226 | * @param array $rates |
227 | 227 | * @return array |
228 | 228 | */ |
229 | -function getpaid_calculate_item_taxes( $amount, $rates ) { |
|
229 | +function getpaid_calculate_item_taxes($amount, $rates) { |
|
230 | 230 | |
231 | 231 | $is_inclusive = wpinv_prices_include_tax(); |
232 | - $taxes = GetPaid_Tax::calc_tax( $amount, $rates, $is_inclusive ); |
|
232 | + $taxes = GetPaid_Tax::calc_tax($amount, $rates, $is_inclusive); |
|
233 | 233 | |
234 | - return apply_filters( 'getpaid_calculate_taxes', $taxes, $amount, $rates ); |
|
234 | + return apply_filters('getpaid_calculate_taxes', $taxes, $amount, $rates); |
|
235 | 235 | } |
236 | 236 | |
237 | 237 | /** |
@@ -243,17 +243,17 @@ discard block |
||
243 | 243 | * @param float $recurring_tax_amount |
244 | 244 | * @return array |
245 | 245 | */ |
246 | -function getpaid_prepare_item_tax( $item, $tax_name, $tax_amount, $recurring_tax_amount ) { |
|
246 | +function getpaid_prepare_item_tax($item, $tax_name, $tax_amount, $recurring_tax_amount) { |
|
247 | 247 | |
248 | - $initial_tax = $tax_amount; |
|
248 | + $initial_tax = $tax_amount; |
|
249 | 249 | $recurring_tax = 0; |
250 | 250 | |
251 | - if ( $item->is_recurring() ) { |
|
251 | + if ($item->is_recurring()) { |
|
252 | 252 | $recurring_tax = $recurring_tax_amount; |
253 | 253 | } |
254 | 254 | |
255 | 255 | return array( |
256 | - 'name' => sanitize_text_field( $tax_name ), |
|
256 | + 'name' => sanitize_text_field($tax_name), |
|
257 | 257 | 'initial_tax' => $initial_tax, |
258 | 258 | 'recurring_tax' => $recurring_tax, |
259 | 259 | ); |
@@ -266,8 +266,8 @@ discard block |
||
266 | 266 | * @param string $vat_number |
267 | 267 | * @return string |
268 | 268 | */ |
269 | -function wpinv_sanitize_vat_number( $vat_number ) { |
|
270 | - return str_replace( array( ' ', '.', '-', '_', ',' ), '', strtoupper( trim( $vat_number ) ) ); |
|
269 | +function wpinv_sanitize_vat_number($vat_number) { |
|
270 | + return str_replace(array(' ', '.', '-', '_', ','), '', strtoupper(trim($vat_number))); |
|
271 | 271 | } |
272 | 272 | |
273 | 273 | /** |
@@ -276,22 +276,22 @@ discard block |
||
276 | 276 | * @param string $vat_number |
277 | 277 | * @return bool |
278 | 278 | */ |
279 | -function wpinv_regex_validate_vat_number( $vat_number ) { |
|
279 | +function wpinv_regex_validate_vat_number($vat_number) { |
|
280 | 280 | |
281 | - $country = substr( $vat_number, 0, 2 ); |
|
282 | - $vatin = substr( $vat_number, 2 ); |
|
283 | - $regexes = wpinv_get_data( 'vat-number-regexes' ); |
|
281 | + $country = substr($vat_number, 0, 2); |
|
282 | + $vatin = substr($vat_number, 2); |
|
283 | + $regexes = wpinv_get_data('vat-number-regexes'); |
|
284 | 284 | |
285 | - if ( isset( $regexes[ $country ] ) ) { |
|
285 | + if (isset($regexes[$country])) { |
|
286 | 286 | |
287 | - $regex = $regexes[ $country ]; |
|
287 | + $regex = $regexes[$country]; |
|
288 | 288 | $regex = '/^(?:' . $regex . ')$/'; |
289 | - return 1 === preg_match( $regex, $vatin ); |
|
289 | + return 1 === preg_match($regex, $vatin); |
|
290 | 290 | |
291 | 291 | } |
292 | 292 | |
293 | 293 | // Not an EU state, use filters to validate the number. |
294 | - return apply_filters( 'wpinv_regex_validate_vat_number', true, $vat_number ); |
|
294 | + return apply_filters('wpinv_regex_validate_vat_number', true, $vat_number); |
|
295 | 295 | } |
296 | 296 | |
297 | 297 | /** |
@@ -300,29 +300,29 @@ discard block |
||
300 | 300 | * @param string $vat_number |
301 | 301 | * @return bool |
302 | 302 | */ |
303 | -function wpinv_vies_validate_vat_number( $vat_number ) { |
|
303 | +function wpinv_vies_validate_vat_number($vat_number) { |
|
304 | 304 | |
305 | - $country = substr( $vat_number, 0, 2 ); |
|
306 | - $vatin = substr( $vat_number, 2 ); |
|
305 | + $country = substr($vat_number, 0, 2); |
|
306 | + $vatin = substr($vat_number, 2); |
|
307 | 307 | |
308 | 308 | $url = add_query_arg( |
309 | 309 | array( |
310 | - 'ms' => urlencode( $country ), |
|
311 | - 'iso' => urlencode( $country ), |
|
312 | - 'vat' => urlencode( $vatin ), |
|
310 | + 'ms' => urlencode($country), |
|
311 | + 'iso' => urlencode($country), |
|
312 | + 'vat' => urlencode($vatin), |
|
313 | 313 | ), |
314 | 314 | 'http://ec.europa.eu/taxation_customs/vies/viesquer.do' |
315 | 315 | ); |
316 | 316 | |
317 | - $response = wp_remote_get( $url ); |
|
318 | - $response = wp_remote_retrieve_body( $response ); |
|
317 | + $response = wp_remote_get($url); |
|
318 | + $response = wp_remote_retrieve_body($response); |
|
319 | 319 | |
320 | 320 | // Fallback gracefully if the VIES website is down. |
321 | - if ( empty( $response ) ) { |
|
321 | + if (empty($response)) { |
|
322 | 322 | return true; |
323 | 323 | } |
324 | 324 | |
325 | - return 1 !== preg_match( '/invalid VAT number/i', $response ); |
|
325 | + return 1 !== preg_match('/invalid VAT number/i', $response); |
|
326 | 326 | |
327 | 327 | } |
328 | 328 | |
@@ -333,18 +333,18 @@ discard block |
||
333 | 333 | * @param string $country |
334 | 334 | * @return bool |
335 | 335 | */ |
336 | -function wpinv_validate_vat_number( $vat_number, $country ) { |
|
336 | +function wpinv_validate_vat_number($vat_number, $country) { |
|
337 | 337 | |
338 | 338 | // In case the vat number does not have a country code... |
339 | - $vat_number = wpinv_sanitize_vat_number( $vat_number ); |
|
340 | - $_country = substr( $vat_number, 0, 2 ); |
|
341 | - $_country = $_country == wpinv_country_name( $_country ); |
|
339 | + $vat_number = wpinv_sanitize_vat_number($vat_number); |
|
340 | + $_country = substr($vat_number, 0, 2); |
|
341 | + $_country = $_country == wpinv_country_name($_country); |
|
342 | 342 | |
343 | - if ( $_country ) { |
|
344 | - $vat_number = strtoupper( $country ) . $vat_number; |
|
343 | + if ($_country) { |
|
344 | + $vat_number = strtoupper($country) . $vat_number; |
|
345 | 345 | } |
346 | 346 | |
347 | - return wpinv_regex_validate_vat_number( $vat_number ) && wpinv_vies_validate_vat_number( $vat_number ); |
|
347 | + return wpinv_regex_validate_vat_number($vat_number) && wpinv_vies_validate_vat_number($vat_number); |
|
348 | 348 | } |
349 | 349 | |
350 | 350 | /** |
@@ -353,39 +353,39 @@ discard block |
||
353 | 353 | * @return bool |
354 | 354 | */ |
355 | 355 | function wpinv_should_validate_vat_number() { |
356 | - $validate = wpinv_get_option( 'validate_vat_number' ); |
|
357 | - return ! empty( $validate ); |
|
356 | + $validate = wpinv_get_option('validate_vat_number'); |
|
357 | + return !empty($validate); |
|
358 | 358 | } |
359 | 359 | |
360 | -function wpinv_sales_tax_for_year( $year = null ) { |
|
361 | - return wpinv_price( wpinv_get_sales_tax_for_year( $year ) ); |
|
360 | +function wpinv_sales_tax_for_year($year = null) { |
|
361 | + return wpinv_price(wpinv_get_sales_tax_for_year($year)); |
|
362 | 362 | } |
363 | 363 | |
364 | -function wpinv_get_sales_tax_for_year( $year = null ) { |
|
364 | +function wpinv_get_sales_tax_for_year($year = null) { |
|
365 | 365 | global $wpdb; |
366 | 366 | |
367 | 367 | // Start at zero |
368 | 368 | $tax = 0; |
369 | 369 | |
370 | - if ( ! empty( $year ) ) { |
|
370 | + if (!empty($year)) { |
|
371 | 371 | $args = array( |
372 | 372 | 'post_type' => 'wpi_invoice', |
373 | - 'post_status' => array( 'publish' ), |
|
373 | + 'post_status' => array('publish'), |
|
374 | 374 | 'posts_per_page' => -1, |
375 | 375 | 'year' => $year, |
376 | 376 | 'fields' => 'ids', |
377 | 377 | ); |
378 | 378 | |
379 | - $payments = get_posts( $args ); |
|
380 | - $payment_ids = implode( ',', $payments ); |
|
379 | + $payments = get_posts($args); |
|
380 | + $payment_ids = implode(',', $payments); |
|
381 | 381 | |
382 | - if ( count( $payments ) > 0 ) { |
|
382 | + if (count($payments) > 0) { |
|
383 | 383 | $sql = "SELECT SUM( meta_value ) FROM $wpdb->postmeta WHERE meta_key = '_wpinv_tax' AND post_id IN( $payment_ids )"; |
384 | - $tax = $wpdb->get_var( $sql ); |
|
384 | + $tax = $wpdb->get_var($sql); |
|
385 | 385 | } |
386 | 386 | } |
387 | 387 | |
388 | - return apply_filters( 'wpinv_get_sales_tax_for_year', $tax, $year ); |
|
388 | + return apply_filters('wpinv_get_sales_tax_for_year', $tax, $year); |
|
389 | 389 | } |
390 | 390 | |
391 | 391 | function wpinv_is_cart_taxed() { |
@@ -394,34 +394,34 @@ discard block |
||
394 | 394 | |
395 | 395 | function wpinv_prices_show_tax_on_checkout() { |
396 | 396 | return false; // TODO |
397 | - $ret = ( wpinv_get_option( 'checkout_include_tax', false ) == 'yes' && wpinv_use_taxes() ); |
|
397 | + $ret = (wpinv_get_option('checkout_include_tax', false) == 'yes' && wpinv_use_taxes()); |
|
398 | 398 | |
399 | - return apply_filters( 'wpinv_taxes_on_prices_on_checkout', $ret ); |
|
399 | + return apply_filters('wpinv_taxes_on_prices_on_checkout', $ret); |
|
400 | 400 | } |
401 | 401 | |
402 | 402 | function wpinv_display_tax_rate() { |
403 | - $ret = wpinv_use_taxes() && wpinv_get_option( 'display_tax_rate', false ); |
|
403 | + $ret = wpinv_use_taxes() && wpinv_get_option('display_tax_rate', false); |
|
404 | 404 | |
405 | - return apply_filters( 'wpinv_display_tax_rate', $ret ); |
|
405 | + return apply_filters('wpinv_display_tax_rate', $ret); |
|
406 | 406 | } |
407 | 407 | |
408 | 408 | function wpinv_cart_needs_tax_address_fields() { |
409 | - if ( ! wpinv_is_cart_taxed() ) { |
|
409 | + if (!wpinv_is_cart_taxed()) { |
|
410 | 410 | return false; |
411 | 411 | } |
412 | 412 | |
413 | - return ! did_action( 'wpinv_after_cc_fields', 'wpinv_default_cc_address_fields' ); |
|
413 | + return !did_action('wpinv_after_cc_fields', 'wpinv_default_cc_address_fields'); |
|
414 | 414 | } |
415 | 415 | |
416 | -function wpinv_item_is_tax_exclusive( $item_id = 0 ) { |
|
417 | - $ret = (bool)get_post_meta( $item_id, '_wpinv_tax_exclusive', false ); |
|
418 | - return apply_filters( 'wpinv_is_tax_exclusive', $ret, $item_id ); |
|
416 | +function wpinv_item_is_tax_exclusive($item_id = 0) { |
|
417 | + $ret = (bool) get_post_meta($item_id, '_wpinv_tax_exclusive', false); |
|
418 | + return apply_filters('wpinv_is_tax_exclusive', $ret, $item_id); |
|
419 | 419 | } |
420 | 420 | |
421 | -function wpinv_currency_decimal_filter( $decimals = 2 ) { |
|
421 | +function wpinv_currency_decimal_filter($decimals = 2) { |
|
422 | 422 | $currency = wpinv_get_currency(); |
423 | 423 | |
424 | - switch ( $currency ) { |
|
424 | + switch ($currency) { |
|
425 | 425 | case 'RIAL': |
426 | 426 | case 'JPY': |
427 | 427 | case 'TWD': |
@@ -430,13 +430,13 @@ discard block |
||
430 | 430 | break; |
431 | 431 | } |
432 | 432 | |
433 | - return apply_filters( 'wpinv_currency_decimal_count', $decimals, $currency ); |
|
433 | + return apply_filters('wpinv_currency_decimal_count', $decimals, $currency); |
|
434 | 434 | } |
435 | 435 | |
436 | 436 | function wpinv_tax_amount() { |
437 | 437 | $output = 0.00; |
438 | 438 | |
439 | - return apply_filters( 'wpinv_tax_amount', $output ); |
|
439 | + return apply_filters('wpinv_tax_amount', $output); |
|
440 | 440 | } |
441 | 441 | |
442 | 442 | /** |
@@ -444,25 +444,25 @@ discard block |
||
444 | 444 | * |
445 | 445 | * @param string|bool|null $vat_rule |
446 | 446 | */ |
447 | -function getpaid_filter_vat_rule( $vat_rule ) { |
|
447 | +function getpaid_filter_vat_rule($vat_rule) { |
|
448 | 448 | |
449 | - if ( empty( $vat_rule ) ) { |
|
449 | + if (empty($vat_rule)) { |
|
450 | 450 | return 'digital'; |
451 | 451 | } |
452 | 452 | |
453 | 453 | return $vat_rule; |
454 | 454 | } |
455 | -add_filter( 'wpinv_get_item_vat_rule', 'getpaid_filter_vat_rule' ); |
|
455 | +add_filter('wpinv_get_item_vat_rule', 'getpaid_filter_vat_rule'); |
|
456 | 456 | |
457 | 457 | /** |
458 | 458 | * Filters the VAT class to ensure that each item has a VAT class. |
459 | 459 | * |
460 | 460 | * @param string|bool|null $vat_rule |
461 | 461 | */ |
462 | -function getpaid_filter_vat_class( $vat_class ) { |
|
463 | - return empty( $vat_class ) ? '_standard' : $vat_class; |
|
462 | +function getpaid_filter_vat_class($vat_class) { |
|
463 | + return empty($vat_class) ? '_standard' : $vat_class; |
|
464 | 464 | } |
465 | -add_filter( 'wpinv_get_item_vat_class', 'getpaid_filter_vat_class' ); |
|
465 | +add_filter('wpinv_get_item_vat_class', 'getpaid_filter_vat_class'); |
|
466 | 466 | |
467 | 467 | /** |
468 | 468 | * Returns a list of all tax classes. |
@@ -474,9 +474,9 @@ discard block |
||
474 | 474 | return apply_filters( |
475 | 475 | 'getpaid_tax_classes', |
476 | 476 | array( |
477 | - '_standard' => __( 'Standard Tax Rate', 'invoicing' ), |
|
478 | - '_reduced' => __( 'Reduced Tax Rate', 'invoicing' ), |
|
479 | - '_exempt' => __( 'Tax Exempt', 'invoicing' ), |
|
477 | + '_standard' => __('Standard Tax Rate', 'invoicing'), |
|
478 | + '_reduced' => __('Reduced Tax Rate', 'invoicing'), |
|
479 | + '_exempt' => __('Tax Exempt', 'invoicing'), |
|
480 | 480 | ) |
481 | 481 | ); |
482 | 482 | |
@@ -487,8 +487,8 @@ discard block |
||
487 | 487 | * |
488 | 488 | * @return array |
489 | 489 | */ |
490 | -function getpaid_get_tax_rules( $return = 'label' ) { |
|
491 | - return wp_list_pluck( GetPaid_Tax::get_all_tax_rules(), $return, 'key' ); |
|
490 | +function getpaid_get_tax_rules($return = 'label') { |
|
491 | + return wp_list_pluck(GetPaid_Tax::get_all_tax_rules(), $return, 'key'); |
|
492 | 492 | } |
493 | 493 | |
494 | 494 | /** |
@@ -497,15 +497,15 @@ discard block |
||
497 | 497 | * @param string $tax_class |
498 | 498 | * @return string |
499 | 499 | */ |
500 | -function getpaid_get_tax_class_label( $tax_class ) { |
|
500 | +function getpaid_get_tax_class_label($tax_class) { |
|
501 | 501 | |
502 | 502 | $classes = getpaid_get_tax_classes(); |
503 | 503 | |
504 | - if ( isset( $classes[ $tax_class ] ) ) { |
|
505 | - return sanitize_text_field( $classes[ $tax_class ] ); |
|
504 | + if (isset($classes[$tax_class])) { |
|
505 | + return sanitize_text_field($classes[$tax_class]); |
|
506 | 506 | } |
507 | 507 | |
508 | - return sanitize_text_field( $tax_class ); |
|
508 | + return sanitize_text_field($tax_class); |
|
509 | 509 | |
510 | 510 | } |
511 | 511 | |
@@ -515,15 +515,15 @@ discard block |
||
515 | 515 | * @param string $tax_rule |
516 | 516 | * @return string |
517 | 517 | */ |
518 | -function getpaid_get_tax_rule_label( $tax_rule ) { |
|
518 | +function getpaid_get_tax_rule_label($tax_rule) { |
|
519 | 519 | |
520 | 520 | $rules = getpaid_get_tax_rules(); |
521 | 521 | |
522 | - if ( isset( $rules[ $tax_rule ] ) ) { |
|
523 | - return sanitize_text_field( $rules[ $tax_rule ] ); |
|
522 | + if (isset($rules[$tax_rule])) { |
|
523 | + return sanitize_text_field($rules[$tax_rule]); |
|
524 | 524 | } |
525 | 525 | |
526 | - return sanitize_text_field( $tax_rule ); |
|
526 | + return sanitize_text_field($tax_rule); |
|
527 | 527 | |
528 | 528 | } |
529 | 529 | |
@@ -534,11 +534,11 @@ discard block |
||
534 | 534 | * @param string $recurring |
535 | 535 | * @return string |
536 | 536 | */ |
537 | -function getpaid_get_taxable_amount( $item, $recurring = false ) { |
|
537 | +function getpaid_get_taxable_amount($item, $recurring = false) { |
|
538 | 538 | |
539 | 539 | $taxable_amount = $recurring ? $item->get_recurring_sub_total() : $item->get_sub_total(); |
540 | 540 | $taxable_amount -= $recurring ? $item->recurring_item_discount : $item->item_discount; |
541 | - $taxable_amount = max( 0, $taxable_amount ); |
|
542 | - return apply_filters( 'getpaid_taxable_amount', $taxable_amount, $item, $recurring ); |
|
541 | + $taxable_amount = max(0, $taxable_amount); |
|
542 | + return apply_filters('getpaid_taxable_amount', $taxable_amount, $item, $recurring); |
|
543 | 543 | |
544 | 544 | } |
@@ -13,197 +13,197 @@ |
||
13 | 13 | */ |
14 | 14 | class GetPaid_Tax { |
15 | 15 | |
16 | - /** |
|
17 | - * Calculates tax for a line item. |
|
18 | - * |
|
19 | - * @param float $price The price to calc tax on. |
|
20 | - * @param array $rates The rates to apply. |
|
21 | - * @param boolean $price_includes_tax Whether the passed price has taxes included. |
|
22 | - * @return array Array of tax name => tax amount. |
|
23 | - */ |
|
24 | - public static function calc_tax( $price, $rates, $price_includes_tax = false ) { |
|
25 | - |
|
26 | - if ( $price_includes_tax ) { |
|
27 | - $taxes = self::calc_inclusive_tax( $price, $rates ); |
|
28 | - } else { |
|
29 | - $taxes = self::calc_exclusive_tax( $price, $rates ); |
|
30 | - } |
|
31 | - |
|
32 | - return apply_filters( 'getpaid_calc_tax', $taxes, $price, $rates, $price_includes_tax ); |
|
33 | - |
|
34 | - } |
|
35 | - |
|
36 | - /** |
|
37 | - * Calc tax from inclusive price. |
|
38 | - * |
|
39 | - * @param float $price Price to calculate tax for. |
|
40 | - * @param array $rates Array of tax rates. |
|
41 | - * @return array |
|
42 | - */ |
|
43 | - public static function calc_inclusive_tax( $price, $rates ) { |
|
44 | - $taxes = array(); |
|
45 | - $tax_rates = wp_list_pluck( $rates, 'rate', 'name' ); |
|
46 | - |
|
47 | - // Add tax rates. |
|
48 | - $tax_rate = 1 + ( array_sum( $tax_rates ) / 100 ); |
|
49 | - |
|
50 | - foreach ( $tax_rates as $name => $rate ) { |
|
51 | - $the_rate = ( $rate / 100 ) / $tax_rate; |
|
52 | - $net_price = $price - ( $the_rate * $price ); |
|
53 | - $tax_amount = apply_filters( 'getpaid_price_inc_tax_amount', $price - $net_price, $name, $rate, $price ); |
|
54 | - $taxes[ $name ] = $tax_amount; |
|
55 | - } |
|
56 | - |
|
57 | - // Round all taxes to precision (4DP) before passing them back. |
|
58 | - $taxes = array_map( array( __CLASS__, 'round' ), $taxes ); |
|
59 | - |
|
60 | - return $taxes; |
|
61 | - } |
|
62 | - |
|
63 | - /** |
|
64 | - * Calc tax from exclusive price. |
|
65 | - * |
|
66 | - * @param float $price Price to calculate tax for. |
|
67 | - * @param array $rates Array of tax rates. |
|
68 | - * @return array |
|
69 | - */ |
|
70 | - public static function calc_exclusive_tax( $price, $rates ) { |
|
71 | - $taxes = array(); |
|
72 | - $tax_rates = wp_list_pluck( $rates, 'rate', 'name' ); |
|
73 | - |
|
74 | - foreach ( $tax_rates as $name => $rate ) { |
|
75 | - |
|
76 | - $tax_amount = $price * ( $rate / 100 ); |
|
77 | - $taxes[ $name ] = apply_filters( 'getpaid_price_ex_tax_amount', $tax_amount, $name, $rate, $price ); |
|
78 | - |
|
79 | - } |
|
80 | - |
|
81 | - // Round all taxes to precision (4DP) before passing them back. |
|
82 | - $taxes = array_map( array( __CLASS__, 'round' ), $taxes ); |
|
83 | - |
|
84 | - return $taxes; |
|
85 | - } |
|
86 | - |
|
87 | - /** |
|
88 | - * Get's an array of all tax rates. |
|
89 | - * |
|
90 | - * @return array |
|
91 | - */ |
|
92 | - public static function get_all_tax_rates() { |
|
93 | - |
|
94 | - $rates = get_option( 'wpinv_tax_rates', array() ); |
|
95 | - |
|
96 | - return apply_filters( |
|
97 | - 'getpaid_get_all_tax_rates', |
|
98 | - array_filter( wpinv_parse_list( $rates ) ) |
|
99 | - ); |
|
100 | - |
|
101 | - } |
|
102 | - |
|
103 | - /** |
|
104 | - * Get's an array of default tax rates. |
|
105 | - * |
|
106 | - * @return array |
|
107 | - */ |
|
108 | - public static function get_default_tax_rates() { |
|
109 | - |
|
110 | - return apply_filters( |
|
111 | - 'getpaid_get_default_tax_rates', |
|
112 | - array( |
|
113 | - array( |
|
114 | - 'country' => wpinv_get_default_country(), |
|
115 | - 'state' => wpinv_get_default_state(), |
|
116 | - 'global' => true, |
|
117 | - 'rate' => wpinv_get_default_tax_rate(), |
|
118 | - 'name' => __( 'Base Tax', 'invoicing' ), |
|
119 | - ), |
|
120 | - ) |
|
121 | - ); |
|
122 | - |
|
123 | - } |
|
124 | - |
|
125 | - /** |
|
126 | - * Get's an array of all tax rules. |
|
127 | - * |
|
128 | - * @return array |
|
129 | - */ |
|
130 | - public static function get_all_tax_rules() { |
|
131 | - |
|
132 | - $rules = get_option( |
|
133 | - 'wpinv_tax_rules', |
|
134 | - array( |
|
135 | - array( |
|
136 | - 'key' => 'physical', |
|
137 | - 'label' => __( 'Physical Item', 'invoicing' ), |
|
138 | - 'tax_base' => wpinv_get_option( 'tax_base', 'billing' ), |
|
139 | - ), |
|
140 | - array( |
|
141 | - 'key' => 'digital', |
|
142 | - 'label' => __( 'Digital Item', 'invoicing' ), |
|
143 | - 'tax_base' => wpinv_get_option( 'tax_base', 'billing' ), |
|
144 | - ), |
|
145 | - ) |
|
146 | - ); |
|
147 | - |
|
148 | - return apply_filters( |
|
149 | - 'getpaid_tax_rules', |
|
150 | - array_filter( array_values( wpinv_parse_list( $rules ) ) ) |
|
151 | - ); |
|
152 | - |
|
153 | - } |
|
154 | - |
|
155 | - /** |
|
156 | - * Get's an array of tax rates for a given address. |
|
157 | - * |
|
158 | - * @param string $country |
|
159 | - * @param string $state |
|
160 | - * @return array |
|
161 | - */ |
|
162 | - public static function get_address_tax_rates( $country, $state ) { |
|
163 | - |
|
164 | - $all_tax_rates = self::get_all_tax_rates(); |
|
165 | - $matching_rates = array_merge( |
|
166 | - wp_list_filter( $all_tax_rates, array( 'country' => $country ) ), |
|
167 | - wp_list_filter( $all_tax_rates, array( 'country' => '' ) ) |
|
168 | - ); |
|
169 | - |
|
170 | - foreach ( $matching_rates as $i => $rate ) { |
|
171 | - |
|
172 | - $states = array_filter( wpinv_clean( explode( ',', strtolower( $rate['state'] ) ) ) ); |
|
173 | - if ( empty( $rate['global'] ) && ! in_array( strtolower( $state ), $states ) ) { |
|
174 | - unset( $matching_rates[ $i ] ); |
|
175 | - } |
|
16 | + /** |
|
17 | + * Calculates tax for a line item. |
|
18 | + * |
|
19 | + * @param float $price The price to calc tax on. |
|
20 | + * @param array $rates The rates to apply. |
|
21 | + * @param boolean $price_includes_tax Whether the passed price has taxes included. |
|
22 | + * @return array Array of tax name => tax amount. |
|
23 | + */ |
|
24 | + public static function calc_tax( $price, $rates, $price_includes_tax = false ) { |
|
25 | + |
|
26 | + if ( $price_includes_tax ) { |
|
27 | + $taxes = self::calc_inclusive_tax( $price, $rates ); |
|
28 | + } else { |
|
29 | + $taxes = self::calc_exclusive_tax( $price, $rates ); |
|
30 | + } |
|
31 | + |
|
32 | + return apply_filters( 'getpaid_calc_tax', $taxes, $price, $rates, $price_includes_tax ); |
|
33 | + |
|
34 | + } |
|
35 | + |
|
36 | + /** |
|
37 | + * Calc tax from inclusive price. |
|
38 | + * |
|
39 | + * @param float $price Price to calculate tax for. |
|
40 | + * @param array $rates Array of tax rates. |
|
41 | + * @return array |
|
42 | + */ |
|
43 | + public static function calc_inclusive_tax( $price, $rates ) { |
|
44 | + $taxes = array(); |
|
45 | + $tax_rates = wp_list_pluck( $rates, 'rate', 'name' ); |
|
46 | + |
|
47 | + // Add tax rates. |
|
48 | + $tax_rate = 1 + ( array_sum( $tax_rates ) / 100 ); |
|
49 | + |
|
50 | + foreach ( $tax_rates as $name => $rate ) { |
|
51 | + $the_rate = ( $rate / 100 ) / $tax_rate; |
|
52 | + $net_price = $price - ( $the_rate * $price ); |
|
53 | + $tax_amount = apply_filters( 'getpaid_price_inc_tax_amount', $price - $net_price, $name, $rate, $price ); |
|
54 | + $taxes[ $name ] = $tax_amount; |
|
55 | + } |
|
56 | + |
|
57 | + // Round all taxes to precision (4DP) before passing them back. |
|
58 | + $taxes = array_map( array( __CLASS__, 'round' ), $taxes ); |
|
59 | + |
|
60 | + return $taxes; |
|
61 | + } |
|
62 | + |
|
63 | + /** |
|
64 | + * Calc tax from exclusive price. |
|
65 | + * |
|
66 | + * @param float $price Price to calculate tax for. |
|
67 | + * @param array $rates Array of tax rates. |
|
68 | + * @return array |
|
69 | + */ |
|
70 | + public static function calc_exclusive_tax( $price, $rates ) { |
|
71 | + $taxes = array(); |
|
72 | + $tax_rates = wp_list_pluck( $rates, 'rate', 'name' ); |
|
73 | + |
|
74 | + foreach ( $tax_rates as $name => $rate ) { |
|
75 | + |
|
76 | + $tax_amount = $price * ( $rate / 100 ); |
|
77 | + $taxes[ $name ] = apply_filters( 'getpaid_price_ex_tax_amount', $tax_amount, $name, $rate, $price ); |
|
78 | + |
|
79 | + } |
|
80 | + |
|
81 | + // Round all taxes to precision (4DP) before passing them back. |
|
82 | + $taxes = array_map( array( __CLASS__, 'round' ), $taxes ); |
|
83 | + |
|
84 | + return $taxes; |
|
85 | + } |
|
86 | + |
|
87 | + /** |
|
88 | + * Get's an array of all tax rates. |
|
89 | + * |
|
90 | + * @return array |
|
91 | + */ |
|
92 | + public static function get_all_tax_rates() { |
|
93 | + |
|
94 | + $rates = get_option( 'wpinv_tax_rates', array() ); |
|
95 | + |
|
96 | + return apply_filters( |
|
97 | + 'getpaid_get_all_tax_rates', |
|
98 | + array_filter( wpinv_parse_list( $rates ) ) |
|
99 | + ); |
|
100 | + |
|
101 | + } |
|
102 | + |
|
103 | + /** |
|
104 | + * Get's an array of default tax rates. |
|
105 | + * |
|
106 | + * @return array |
|
107 | + */ |
|
108 | + public static function get_default_tax_rates() { |
|
109 | + |
|
110 | + return apply_filters( |
|
111 | + 'getpaid_get_default_tax_rates', |
|
112 | + array( |
|
113 | + array( |
|
114 | + 'country' => wpinv_get_default_country(), |
|
115 | + 'state' => wpinv_get_default_state(), |
|
116 | + 'global' => true, |
|
117 | + 'rate' => wpinv_get_default_tax_rate(), |
|
118 | + 'name' => __( 'Base Tax', 'invoicing' ), |
|
119 | + ), |
|
120 | + ) |
|
121 | + ); |
|
122 | + |
|
123 | + } |
|
124 | + |
|
125 | + /** |
|
126 | + * Get's an array of all tax rules. |
|
127 | + * |
|
128 | + * @return array |
|
129 | + */ |
|
130 | + public static function get_all_tax_rules() { |
|
131 | + |
|
132 | + $rules = get_option( |
|
133 | + 'wpinv_tax_rules', |
|
134 | + array( |
|
135 | + array( |
|
136 | + 'key' => 'physical', |
|
137 | + 'label' => __( 'Physical Item', 'invoicing' ), |
|
138 | + 'tax_base' => wpinv_get_option( 'tax_base', 'billing' ), |
|
139 | + ), |
|
140 | + array( |
|
141 | + 'key' => 'digital', |
|
142 | + 'label' => __( 'Digital Item', 'invoicing' ), |
|
143 | + 'tax_base' => wpinv_get_option( 'tax_base', 'billing' ), |
|
144 | + ), |
|
145 | + ) |
|
146 | + ); |
|
147 | + |
|
148 | + return apply_filters( |
|
149 | + 'getpaid_tax_rules', |
|
150 | + array_filter( array_values( wpinv_parse_list( $rules ) ) ) |
|
151 | + ); |
|
152 | + |
|
153 | + } |
|
154 | + |
|
155 | + /** |
|
156 | + * Get's an array of tax rates for a given address. |
|
157 | + * |
|
158 | + * @param string $country |
|
159 | + * @param string $state |
|
160 | + * @return array |
|
161 | + */ |
|
162 | + public static function get_address_tax_rates( $country, $state ) { |
|
163 | + |
|
164 | + $all_tax_rates = self::get_all_tax_rates(); |
|
165 | + $matching_rates = array_merge( |
|
166 | + wp_list_filter( $all_tax_rates, array( 'country' => $country ) ), |
|
167 | + wp_list_filter( $all_tax_rates, array( 'country' => '' ) ) |
|
168 | + ); |
|
169 | + |
|
170 | + foreach ( $matching_rates as $i => $rate ) { |
|
171 | + |
|
172 | + $states = array_filter( wpinv_clean( explode( ',', strtolower( $rate['state'] ) ) ) ); |
|
173 | + if ( empty( $rate['global'] ) && ! in_array( strtolower( $state ), $states ) ) { |
|
174 | + unset( $matching_rates[ $i ] ); |
|
175 | + } |
|
176 | 176 | } |
177 | 177 | |
178 | - return apply_filters( 'getpaid_get_address_tax_rates', $matching_rates, $country, $state ); |
|
179 | - |
|
180 | - } |
|
181 | - |
|
182 | - /** |
|
183 | - * Sums a set of taxes to form a single total. Result is rounded to precision. |
|
184 | - * |
|
185 | - * @param array $taxes Array of taxes. |
|
186 | - * @return float |
|
187 | - */ |
|
188 | - public static function get_tax_total( $taxes ) { |
|
189 | - return self::round( array_sum( $taxes ) ); |
|
190 | - } |
|
191 | - |
|
192 | - /** |
|
193 | - * Round to precision. |
|
194 | - * |
|
195 | - * Filter example: to return rounding to .5 cents you'd use: |
|
196 | - * |
|
197 | - * function euro_5cent_rounding( $in ) { |
|
198 | - * return round( $in / 5, 2 ) * 5; |
|
199 | - * } |
|
200 | - * add_filter( 'getpaid_tax_round', 'euro_5cent_rounding' ); |
|
201 | - * |
|
202 | - * @param float|int $in Value to round. |
|
203 | - * @return float |
|
204 | - */ |
|
205 | - public static function round( $in ) { |
|
206 | - return apply_filters( 'getpaid_tax_round', round( $in, 4 ), $in ); |
|
207 | - } |
|
178 | + return apply_filters( 'getpaid_get_address_tax_rates', $matching_rates, $country, $state ); |
|
179 | + |
|
180 | + } |
|
181 | + |
|
182 | + /** |
|
183 | + * Sums a set of taxes to form a single total. Result is rounded to precision. |
|
184 | + * |
|
185 | + * @param array $taxes Array of taxes. |
|
186 | + * @return float |
|
187 | + */ |
|
188 | + public static function get_tax_total( $taxes ) { |
|
189 | + return self::round( array_sum( $taxes ) ); |
|
190 | + } |
|
191 | + |
|
192 | + /** |
|
193 | + * Round to precision. |
|
194 | + * |
|
195 | + * Filter example: to return rounding to .5 cents you'd use: |
|
196 | + * |
|
197 | + * function euro_5cent_rounding( $in ) { |
|
198 | + * return round( $in / 5, 2 ) * 5; |
|
199 | + * } |
|
200 | + * add_filter( 'getpaid_tax_round', 'euro_5cent_rounding' ); |
|
201 | + * |
|
202 | + * @param float|int $in Value to round. |
|
203 | + * @return float |
|
204 | + */ |
|
205 | + public static function round( $in ) { |
|
206 | + return apply_filters( 'getpaid_tax_round', round( $in, 4 ), $in ); |
|
207 | + } |
|
208 | 208 | |
209 | 209 | } |
@@ -5,7 +5,7 @@ discard block |
||
5 | 5 | * |
6 | 6 | */ |
7 | 7 | |
8 | -defined( 'ABSPATH' ) || exit; |
|
8 | +defined('ABSPATH') || exit; |
|
9 | 9 | |
10 | 10 | /** |
11 | 11 | * Class GetPaid_Tax |
@@ -21,15 +21,15 @@ discard block |
||
21 | 21 | * @param boolean $price_includes_tax Whether the passed price has taxes included. |
22 | 22 | * @return array Array of tax name => tax amount. |
23 | 23 | */ |
24 | - public static function calc_tax( $price, $rates, $price_includes_tax = false ) { |
|
24 | + public static function calc_tax($price, $rates, $price_includes_tax = false) { |
|
25 | 25 | |
26 | - if ( $price_includes_tax ) { |
|
27 | - $taxes = self::calc_inclusive_tax( $price, $rates ); |
|
26 | + if ($price_includes_tax) { |
|
27 | + $taxes = self::calc_inclusive_tax($price, $rates); |
|
28 | 28 | } else { |
29 | - $taxes = self::calc_exclusive_tax( $price, $rates ); |
|
29 | + $taxes = self::calc_exclusive_tax($price, $rates); |
|
30 | 30 | } |
31 | 31 | |
32 | - return apply_filters( 'getpaid_calc_tax', $taxes, $price, $rates, $price_includes_tax ); |
|
32 | + return apply_filters('getpaid_calc_tax', $taxes, $price, $rates, $price_includes_tax); |
|
33 | 33 | |
34 | 34 | } |
35 | 35 | |
@@ -40,22 +40,22 @@ discard block |
||
40 | 40 | * @param array $rates Array of tax rates. |
41 | 41 | * @return array |
42 | 42 | */ |
43 | - public static function calc_inclusive_tax( $price, $rates ) { |
|
43 | + public static function calc_inclusive_tax($price, $rates) { |
|
44 | 44 | $taxes = array(); |
45 | - $tax_rates = wp_list_pluck( $rates, 'rate', 'name' ); |
|
45 | + $tax_rates = wp_list_pluck($rates, 'rate', 'name'); |
|
46 | 46 | |
47 | 47 | // Add tax rates. |
48 | - $tax_rate = 1 + ( array_sum( $tax_rates ) / 100 ); |
|
48 | + $tax_rate = 1 + (array_sum($tax_rates) / 100); |
|
49 | 49 | |
50 | - foreach ( $tax_rates as $name => $rate ) { |
|
51 | - $the_rate = ( $rate / 100 ) / $tax_rate; |
|
52 | - $net_price = $price - ( $the_rate * $price ); |
|
53 | - $tax_amount = apply_filters( 'getpaid_price_inc_tax_amount', $price - $net_price, $name, $rate, $price ); |
|
54 | - $taxes[ $name ] = $tax_amount; |
|
50 | + foreach ($tax_rates as $name => $rate) { |
|
51 | + $the_rate = ($rate / 100) / $tax_rate; |
|
52 | + $net_price = $price - ($the_rate * $price); |
|
53 | + $tax_amount = apply_filters('getpaid_price_inc_tax_amount', $price - $net_price, $name, $rate, $price); |
|
54 | + $taxes[$name] = $tax_amount; |
|
55 | 55 | } |
56 | 56 | |
57 | 57 | // Round all taxes to precision (4DP) before passing them back. |
58 | - $taxes = array_map( array( __CLASS__, 'round' ), $taxes ); |
|
58 | + $taxes = array_map(array(__CLASS__, 'round'), $taxes); |
|
59 | 59 | |
60 | 60 | return $taxes; |
61 | 61 | } |
@@ -67,19 +67,19 @@ discard block |
||
67 | 67 | * @param array $rates Array of tax rates. |
68 | 68 | * @return array |
69 | 69 | */ |
70 | - public static function calc_exclusive_tax( $price, $rates ) { |
|
70 | + public static function calc_exclusive_tax($price, $rates) { |
|
71 | 71 | $taxes = array(); |
72 | - $tax_rates = wp_list_pluck( $rates, 'rate', 'name' ); |
|
72 | + $tax_rates = wp_list_pluck($rates, 'rate', 'name'); |
|
73 | 73 | |
74 | - foreach ( $tax_rates as $name => $rate ) { |
|
74 | + foreach ($tax_rates as $name => $rate) { |
|
75 | 75 | |
76 | - $tax_amount = $price * ( $rate / 100 ); |
|
77 | - $taxes[ $name ] = apply_filters( 'getpaid_price_ex_tax_amount', $tax_amount, $name, $rate, $price ); |
|
76 | + $tax_amount = $price * ($rate / 100); |
|
77 | + $taxes[$name] = apply_filters('getpaid_price_ex_tax_amount', $tax_amount, $name, $rate, $price); |
|
78 | 78 | |
79 | 79 | } |
80 | 80 | |
81 | 81 | // Round all taxes to precision (4DP) before passing them back. |
82 | - $taxes = array_map( array( __CLASS__, 'round' ), $taxes ); |
|
82 | + $taxes = array_map(array(__CLASS__, 'round'), $taxes); |
|
83 | 83 | |
84 | 84 | return $taxes; |
85 | 85 | } |
@@ -91,11 +91,11 @@ discard block |
||
91 | 91 | */ |
92 | 92 | public static function get_all_tax_rates() { |
93 | 93 | |
94 | - $rates = get_option( 'wpinv_tax_rates', array() ); |
|
94 | + $rates = get_option('wpinv_tax_rates', array()); |
|
95 | 95 | |
96 | 96 | return apply_filters( |
97 | 97 | 'getpaid_get_all_tax_rates', |
98 | - array_filter( wpinv_parse_list( $rates ) ) |
|
98 | + array_filter(wpinv_parse_list($rates)) |
|
99 | 99 | ); |
100 | 100 | |
101 | 101 | } |
@@ -115,7 +115,7 @@ discard block |
||
115 | 115 | 'state' => wpinv_get_default_state(), |
116 | 116 | 'global' => true, |
117 | 117 | 'rate' => wpinv_get_default_tax_rate(), |
118 | - 'name' => __( 'Base Tax', 'invoicing' ), |
|
118 | + 'name' => __('Base Tax', 'invoicing'), |
|
119 | 119 | ), |
120 | 120 | ) |
121 | 121 | ); |
@@ -134,20 +134,20 @@ discard block |
||
134 | 134 | array( |
135 | 135 | array( |
136 | 136 | 'key' => 'physical', |
137 | - 'label' => __( 'Physical Item', 'invoicing' ), |
|
138 | - 'tax_base' => wpinv_get_option( 'tax_base', 'billing' ), |
|
137 | + 'label' => __('Physical Item', 'invoicing'), |
|
138 | + 'tax_base' => wpinv_get_option('tax_base', 'billing'), |
|
139 | 139 | ), |
140 | 140 | array( |
141 | 141 | 'key' => 'digital', |
142 | - 'label' => __( 'Digital Item', 'invoicing' ), |
|
143 | - 'tax_base' => wpinv_get_option( 'tax_base', 'billing' ), |
|
142 | + 'label' => __('Digital Item', 'invoicing'), |
|
143 | + 'tax_base' => wpinv_get_option('tax_base', 'billing'), |
|
144 | 144 | ), |
145 | 145 | ) |
146 | 146 | ); |
147 | 147 | |
148 | 148 | return apply_filters( |
149 | 149 | 'getpaid_tax_rules', |
150 | - array_filter( array_values( wpinv_parse_list( $rules ) ) ) |
|
150 | + array_filter(array_values(wpinv_parse_list($rules))) |
|
151 | 151 | ); |
152 | 152 | |
153 | 153 | } |
@@ -159,23 +159,23 @@ discard block |
||
159 | 159 | * @param string $state |
160 | 160 | * @return array |
161 | 161 | */ |
162 | - public static function get_address_tax_rates( $country, $state ) { |
|
162 | + public static function get_address_tax_rates($country, $state) { |
|
163 | 163 | |
164 | 164 | $all_tax_rates = self::get_all_tax_rates(); |
165 | 165 | $matching_rates = array_merge( |
166 | - wp_list_filter( $all_tax_rates, array( 'country' => $country ) ), |
|
167 | - wp_list_filter( $all_tax_rates, array( 'country' => '' ) ) |
|
166 | + wp_list_filter($all_tax_rates, array('country' => $country)), |
|
167 | + wp_list_filter($all_tax_rates, array('country' => '')) |
|
168 | 168 | ); |
169 | 169 | |
170 | - foreach ( $matching_rates as $i => $rate ) { |
|
170 | + foreach ($matching_rates as $i => $rate) { |
|
171 | 171 | |
172 | - $states = array_filter( wpinv_clean( explode( ',', strtolower( $rate['state'] ) ) ) ); |
|
173 | - if ( empty( $rate['global'] ) && ! in_array( strtolower( $state ), $states ) ) { |
|
174 | - unset( $matching_rates[ $i ] ); |
|
172 | + $states = array_filter(wpinv_clean(explode(',', strtolower($rate['state'])))); |
|
173 | + if (empty($rate['global']) && !in_array(strtolower($state), $states)) { |
|
174 | + unset($matching_rates[$i]); |
|
175 | 175 | } |
176 | 176 | } |
177 | 177 | |
178 | - return apply_filters( 'getpaid_get_address_tax_rates', $matching_rates, $country, $state ); |
|
178 | + return apply_filters('getpaid_get_address_tax_rates', $matching_rates, $country, $state); |
|
179 | 179 | |
180 | 180 | } |
181 | 181 | |
@@ -185,8 +185,8 @@ discard block |
||
185 | 185 | * @param array $taxes Array of taxes. |
186 | 186 | * @return float |
187 | 187 | */ |
188 | - public static function get_tax_total( $taxes ) { |
|
189 | - return self::round( array_sum( $taxes ) ); |
|
188 | + public static function get_tax_total($taxes) { |
|
189 | + return self::round(array_sum($taxes)); |
|
190 | 190 | } |
191 | 191 | |
192 | 192 | /** |
@@ -202,8 +202,8 @@ discard block |
||
202 | 202 | * @param float|int $in Value to round. |
203 | 203 | * @return float |
204 | 204 | */ |
205 | - public static function round( $in ) { |
|
206 | - return apply_filters( 'getpaid_tax_round', round( $in, 4 ), $in ); |
|
205 | + public static function round($in) { |
|
206 | + return apply_filters('getpaid_tax_round', round($in, 4), $in); |
|
207 | 207 | } |
208 | 208 | |
209 | 209 | } |