@@ -13,47 +13,47 @@ discard block |
||
13 | 13 | class GetPaid_Bank_Transfer_Gateway extends GetPaid_Payment_Gateway { |
14 | 14 | |
15 | 15 | /** |
16 | - * Payment method id. |
|
17 | - * |
|
18 | - * @var string |
|
19 | - */ |
|
16 | + * Payment method id. |
|
17 | + * |
|
18 | + * @var string |
|
19 | + */ |
|
20 | 20 | public $id = 'bank_transfer'; |
21 | 21 | |
22 | - /** |
|
23 | - * An array of features that this gateway supports. |
|
24 | - * |
|
25 | - * @var array |
|
26 | - */ |
|
27 | - protected $supports = array( |
|
28 | - 'subscription', |
|
29 | - 'addons', |
|
30 | - 'single_subscription_group', |
|
31 | - 'multiple_subscription_groups', |
|
32 | - 'subscription_date_change', |
|
33 | - 'subscription_bill_times_change', |
|
34 | - ); |
|
22 | + /** |
|
23 | + * An array of features that this gateway supports. |
|
24 | + * |
|
25 | + * @var array |
|
26 | + */ |
|
27 | + protected $supports = array( |
|
28 | + 'subscription', |
|
29 | + 'addons', |
|
30 | + 'single_subscription_group', |
|
31 | + 'multiple_subscription_groups', |
|
32 | + 'subscription_date_change', |
|
33 | + 'subscription_bill_times_change', |
|
34 | + ); |
|
35 | + |
|
36 | + /** |
|
37 | + * Payment method order. |
|
38 | + * |
|
39 | + * @var int |
|
40 | + */ |
|
41 | + public $order = 8; |
|
35 | 42 | |
36 | 43 | /** |
37 | - * Payment method order. |
|
38 | - * |
|
39 | - * @var int |
|
40 | - */ |
|
41 | - public $order = 8; |
|
42 | - |
|
43 | - /** |
|
44 | - * Bank transfer instructions. |
|
45 | - */ |
|
46 | - public $instructions; |
|
47 | - |
|
48 | - /** |
|
49 | - * Locale array. |
|
50 | - */ |
|
51 | - public $locale; |
|
44 | + * Bank transfer instructions. |
|
45 | + */ |
|
46 | + public $instructions; |
|
52 | 47 | |
53 | 48 | /** |
54 | - * Class constructor. |
|
55 | - */ |
|
56 | - public function __construct() { |
|
49 | + * Locale array. |
|
50 | + */ |
|
51 | + public $locale; |
|
52 | + |
|
53 | + /** |
|
54 | + * Class constructor. |
|
55 | + */ |
|
56 | + public function __construct() { |
|
57 | 57 | parent::__construct(); |
58 | 58 | |
59 | 59 | $this->title = __( 'Direct bank transfer', 'invoicing' ); |
@@ -61,24 +61,24 @@ discard block |
||
61 | 61 | $this->checkout_button_text = __( 'Proceed', 'invoicing' ); |
62 | 62 | $this->instructions = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) ); |
63 | 63 | |
64 | - add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
65 | - add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
66 | - add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
67 | - add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
68 | - add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) ); |
|
69 | - add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 ); |
|
64 | + add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
65 | + add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
66 | + add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
67 | + add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
68 | + add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) ); |
|
69 | + add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 ); |
|
70 | 70 | |
71 | 71 | } |
72 | 72 | |
73 | 73 | /** |
74 | - * Process Payment. |
|
75 | - * |
|
76 | - * @param WPInv_Invoice $invoice Invoice. |
|
77 | - * @param array $submission_data Posted checkout fields. |
|
78 | - * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
79 | - * @return array |
|
80 | - */ |
|
81 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
74 | + * Process Payment. |
|
75 | + * |
|
76 | + * @param WPInv_Invoice $invoice Invoice. |
|
77 | + * @param array $submission_data Posted checkout fields. |
|
78 | + * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
79 | + * @return array |
|
80 | + */ |
|
81 | + public function process_payment( $invoice, $submission_data, $submission ) { |
|
82 | 82 | |
83 | 83 | // Add a transaction id. |
84 | 84 | $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) ); |
@@ -99,66 +99,66 @@ discard block |
||
99 | 99 | } |
100 | 100 | |
101 | 101 | /** |
102 | - * Output for the order received page. |
|
103 | - * |
|
104 | - * @param WPInv_Invoice $invoice Invoice. |
|
105 | - */ |
|
106 | - public function thankyou_page( $invoice ) { |
|
102 | + * Output for the order received page. |
|
103 | + * |
|
104 | + * @param WPInv_Invoice $invoice Invoice. |
|
105 | + */ |
|
106 | + public function thankyou_page( $invoice ) { |
|
107 | 107 | |
108 | 108 | if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
109 | 109 | |
110 | - echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
110 | + echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
111 | 111 | |
112 | 112 | if ( ! empty( $this->instructions ) ) { |
113 | 113 | echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) ); |
114 | - } |
|
114 | + } |
|
115 | 115 | |
116 | - $this->bank_details( $invoice ); |
|
116 | + $this->bank_details( $invoice ); |
|
117 | 117 | |
118 | - echo '</div>'; |
|
118 | + echo '</div>'; |
|
119 | 119 | |
120 | 120 | } |
121 | 121 | |
122 | - } |
|
122 | + } |
|
123 | 123 | |
124 | 124 | /** |
125 | - * Add content to the WPI emails. |
|
126 | - * |
|
127 | - * @param WPInv_Invoice $invoice Invoice. |
|
128 | - * @param string $email_type Email format: plain text or HTML. |
|
129 | - * @param bool $sent_to_admin Sent to admin. |
|
130 | - */ |
|
131 | - public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
125 | + * Add content to the WPI emails. |
|
126 | + * |
|
127 | + * @param WPInv_Invoice $invoice Invoice. |
|
128 | + * @param string $email_type Email format: plain text or HTML. |
|
129 | + * @param bool $sent_to_admin Sent to admin. |
|
130 | + */ |
|
131 | + public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
132 | 132 | |
133 | - if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
133 | + if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
134 | 134 | |
135 | - echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
135 | + echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
136 | 136 | |
137 | - if ( $this->instructions ) { |
|
138 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
137 | + if ( $this->instructions ) { |
|
138 | + echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
139 | 139 | } |
140 | 140 | |
141 | - $this->bank_details( $invoice ); |
|
141 | + $this->bank_details( $invoice ); |
|
142 | 142 | |
143 | - echo '</div>'; |
|
143 | + echo '</div>'; |
|
144 | 144 | |
145 | - } |
|
145 | + } |
|
146 | 146 | |
147 | 147 | } |
148 | 148 | |
149 | 149 | /** |
150 | - * Get bank details and place into a list format. |
|
151 | - * |
|
152 | - * @param WPInv_Invoice $invoice Invoice. |
|
153 | - */ |
|
154 | - protected function bank_details( $invoice ) { |
|
150 | + * Get bank details and place into a list format. |
|
151 | + * |
|
152 | + * @param WPInv_Invoice $invoice Invoice. |
|
153 | + */ |
|
154 | + protected function bank_details( $invoice ) { |
|
155 | 155 | |
156 | - // Get the invoice country and country $locale. |
|
157 | - $country = $invoice->get_country(); |
|
158 | - $locale = $this->get_country_locale(); |
|
156 | + // Get the invoice country and country $locale. |
|
157 | + $country = $invoice->get_country(); |
|
158 | + $locale = $this->get_country_locale(); |
|
159 | 159 | |
160 | - // Get shortcode label in the $locale array and use appropriate one. |
|
161 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
160 | + // Get shortcode label in the $locale array and use appropriate one. |
|
161 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
162 | 162 | |
163 | 163 | $bank_fields = array( |
164 | 164 | 'ac_name' => __( 'Account Name', 'invoicing' ), |
@@ -177,11 +177,11 @@ discard block |
||
177 | 177 | |
178 | 178 | if ( ! empty( $value ) ) { |
179 | 179 | $bank_info[ $field ] = array( |
180 | - 'label' => $label, |
|
181 | - 'value' => $value, |
|
182 | - ); |
|
180 | + 'label' => $label, |
|
181 | + 'value' => $value, |
|
182 | + ); |
|
183 | 183 | } |
184 | - } |
|
184 | + } |
|
185 | 185 | |
186 | 186 | $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice ); |
187 | 187 | |
@@ -189,139 +189,139 @@ discard block |
||
189 | 189 | return; |
190 | 190 | } |
191 | 191 | |
192 | - echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL; |
|
192 | + echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL; |
|
193 | 193 | |
194 | - echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
194 | + echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
195 | 195 | |
196 | - foreach ( $bank_info as $key => $data ) { |
|
197 | - echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL; |
|
198 | - } |
|
196 | + foreach ( $bank_info as $key => $data ) { |
|
197 | + echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL; |
|
198 | + } |
|
199 | 199 | |
200 | - echo '</table>'; |
|
200 | + echo '</table>'; |
|
201 | 201 | |
202 | 202 | } |
203 | 203 | |
204 | 204 | /** |
205 | - * Get country locale if localized. |
|
206 | - * |
|
207 | - * @return array |
|
208 | - */ |
|
209 | - public function get_country_locale() { |
|
210 | - |
|
211 | - if ( empty( $this->locale ) ) { |
|
212 | - |
|
213 | - // Locale information to be used - only those that are not 'Sort Code'. |
|
214 | - $this->locale = apply_filters( |
|
215 | - 'getpaid_get_bank_transfer_locale', |
|
216 | - array( |
|
217 | - 'AU' => array( |
|
218 | - 'sortcode' => array( |
|
219 | - 'label' => __( 'BSB', 'invoicing' ), |
|
220 | - ), |
|
221 | - ), |
|
222 | - 'CA' => array( |
|
223 | - 'sortcode' => array( |
|
224 | - 'label' => __( 'Bank transit number', 'invoicing' ), |
|
225 | - ), |
|
226 | - ), |
|
227 | - 'IN' => array( |
|
228 | - 'sortcode' => array( |
|
229 | - 'label' => __( 'IFSC', 'invoicing' ), |
|
230 | - ), |
|
231 | - ), |
|
232 | - 'IT' => array( |
|
233 | - 'sortcode' => array( |
|
234 | - 'label' => __( 'Branch sort', 'invoicing' ), |
|
235 | - ), |
|
236 | - ), |
|
237 | - 'NZ' => array( |
|
238 | - 'sortcode' => array( |
|
239 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
240 | - ), |
|
241 | - ), |
|
242 | - 'SE' => array( |
|
243 | - 'sortcode' => array( |
|
244 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
245 | - ), |
|
246 | - ), |
|
247 | - 'US' => array( |
|
248 | - 'sortcode' => array( |
|
249 | - 'label' => __( 'Routing number', 'invoicing' ), |
|
250 | - ), |
|
251 | - ), |
|
252 | - 'ZA' => array( |
|
253 | - 'sortcode' => array( |
|
254 | - 'label' => __( 'Branch code', 'invoicing' ), |
|
255 | - ), |
|
256 | - ), |
|
257 | - ) |
|
258 | - ); |
|
259 | - |
|
260 | - } |
|
261 | - |
|
262 | - return $this->locale; |
|
263 | - |
|
264 | - } |
|
265 | - |
|
266 | - /** |
|
267 | - * Filters the gateway settings. |
|
268 | - * |
|
269 | - * @param array $admin_settings |
|
270 | - */ |
|
271 | - public function admin_settings( $admin_settings ) { |
|
205 | + * Get country locale if localized. |
|
206 | + * |
|
207 | + * @return array |
|
208 | + */ |
|
209 | + public function get_country_locale() { |
|
210 | + |
|
211 | + if ( empty( $this->locale ) ) { |
|
212 | + |
|
213 | + // Locale information to be used - only those that are not 'Sort Code'. |
|
214 | + $this->locale = apply_filters( |
|
215 | + 'getpaid_get_bank_transfer_locale', |
|
216 | + array( |
|
217 | + 'AU' => array( |
|
218 | + 'sortcode' => array( |
|
219 | + 'label' => __( 'BSB', 'invoicing' ), |
|
220 | + ), |
|
221 | + ), |
|
222 | + 'CA' => array( |
|
223 | + 'sortcode' => array( |
|
224 | + 'label' => __( 'Bank transit number', 'invoicing' ), |
|
225 | + ), |
|
226 | + ), |
|
227 | + 'IN' => array( |
|
228 | + 'sortcode' => array( |
|
229 | + 'label' => __( 'IFSC', 'invoicing' ), |
|
230 | + ), |
|
231 | + ), |
|
232 | + 'IT' => array( |
|
233 | + 'sortcode' => array( |
|
234 | + 'label' => __( 'Branch sort', 'invoicing' ), |
|
235 | + ), |
|
236 | + ), |
|
237 | + 'NZ' => array( |
|
238 | + 'sortcode' => array( |
|
239 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
240 | + ), |
|
241 | + ), |
|
242 | + 'SE' => array( |
|
243 | + 'sortcode' => array( |
|
244 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
245 | + ), |
|
246 | + ), |
|
247 | + 'US' => array( |
|
248 | + 'sortcode' => array( |
|
249 | + 'label' => __( 'Routing number', 'invoicing' ), |
|
250 | + ), |
|
251 | + ), |
|
252 | + 'ZA' => array( |
|
253 | + 'sortcode' => array( |
|
254 | + 'label' => __( 'Branch code', 'invoicing' ), |
|
255 | + ), |
|
256 | + ), |
|
257 | + ) |
|
258 | + ); |
|
259 | + |
|
260 | + } |
|
261 | + |
|
262 | + return $this->locale; |
|
263 | + |
|
264 | + } |
|
265 | + |
|
266 | + /** |
|
267 | + * Filters the gateway settings. |
|
268 | + * |
|
269 | + * @param array $admin_settings |
|
270 | + */ |
|
271 | + public function admin_settings( $admin_settings ) { |
|
272 | 272 | |
273 | 273 | $admin_settings['bank_transfer_desc']['std'] = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ); |
274 | - $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
274 | + $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
275 | 275 | |
276 | - $locale = $this->get_country_locale(); |
|
276 | + $locale = $this->get_country_locale(); |
|
277 | 277 | |
278 | - // Get sortcode label in the $locale array and use appropriate one. |
|
279 | - $country = wpinv_default_billing_country(); |
|
280 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
278 | + // Get sortcode label in the $locale array and use appropriate one. |
|
279 | + $country = wpinv_default_billing_country(); |
|
280 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
281 | 281 | |
282 | - $admin_settings['bank_transfer_ac_name'] = array( |
|
282 | + $admin_settings['bank_transfer_ac_name'] = array( |
|
283 | 283 | 'type' => 'text', |
284 | 284 | 'id' => 'bank_transfer_ac_name', |
285 | 285 | 'name' => __( 'Account Name', 'invoicing' ), |
286 | - ); |
|
286 | + ); |
|
287 | 287 | |
288 | - $admin_settings['bank_transfer_ac_no'] = array( |
|
288 | + $admin_settings['bank_transfer_ac_no'] = array( |
|
289 | 289 | 'type' => 'text', |
290 | 290 | 'id' => 'bank_transfer_ac_no', |
291 | 291 | 'name' => __( 'Account Number', 'invoicing' ), |
292 | - ); |
|
292 | + ); |
|
293 | 293 | |
294 | - $admin_settings['bank_transfer_bank_name'] = array( |
|
294 | + $admin_settings['bank_transfer_bank_name'] = array( |
|
295 | 295 | 'type' => 'text', |
296 | 296 | 'id' => 'bank_transfer_bank_name', |
297 | 297 | 'name' => __( 'Bank Name', 'invoicing' ), |
298 | - ); |
|
298 | + ); |
|
299 | 299 | |
300 | - $admin_settings['bank_transfer_ifsc'] = array( |
|
300 | + $admin_settings['bank_transfer_ifsc'] = array( |
|
301 | 301 | 'type' => 'text', |
302 | 302 | 'id' => 'bank_transfer_ifsc', |
303 | 303 | 'name' => __( 'IFSC Code', 'invoicing' ), |
304 | - ); |
|
304 | + ); |
|
305 | 305 | |
306 | - $admin_settings['bank_transfer_iban'] = array( |
|
306 | + $admin_settings['bank_transfer_iban'] = array( |
|
307 | 307 | 'type' => 'text', |
308 | 308 | 'id' => 'bank_transfer_iban', |
309 | 309 | 'name' => __( 'IBAN', 'invoicing' ), |
310 | - ); |
|
310 | + ); |
|
311 | 311 | |
312 | - $admin_settings['bank_transfer_bic'] = array( |
|
312 | + $admin_settings['bank_transfer_bic'] = array( |
|
313 | 313 | 'type' => 'text', |
314 | 314 | 'id' => 'bank_transfer_bic', |
315 | 315 | 'name' => __( 'BIC/Swift Code', 'invoicing' ), |
316 | - ); |
|
316 | + ); |
|
317 | 317 | |
318 | - $admin_settings['bank_transfer_sort_code'] = array( |
|
319 | - 'type' => 'text', |
|
320 | - 'id' => 'bank_transfer_sort_code', |
|
321 | - 'name' => $sortcode, |
|
322 | - ); |
|
318 | + $admin_settings['bank_transfer_sort_code'] = array( |
|
319 | + 'type' => 'text', |
|
320 | + 'id' => 'bank_transfer_sort_code', |
|
321 | + 'name' => $sortcode, |
|
322 | + ); |
|
323 | 323 | |
324 | - $admin_settings['bank_transfer_info'] = array( |
|
324 | + $admin_settings['bank_transfer_info'] = array( |
|
325 | 325 | 'id' => 'bank_transfer_info', |
326 | 326 | 'name' => __( 'Instructions', 'invoicing' ), |
327 | 327 | 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
@@ -331,17 +331,17 @@ discard block |
||
331 | 331 | 'rows' => 5, |
332 | 332 | ); |
333 | 333 | |
334 | - return $admin_settings; |
|
335 | - } |
|
334 | + return $admin_settings; |
|
335 | + } |
|
336 | 336 | |
337 | - /** |
|
338 | - * Processes invoice addons. |
|
339 | - * |
|
340 | - * @param WPInv_Invoice $invoice |
|
341 | - * @param GetPaid_Form_Item[] $items |
|
342 | - * @return WPInv_Invoice |
|
343 | - */ |
|
344 | - public function process_addons( $invoice, $items ) { |
|
337 | + /** |
|
338 | + * Processes invoice addons. |
|
339 | + * |
|
340 | + * @param WPInv_Invoice $invoice |
|
341 | + * @param GetPaid_Form_Item[] $items |
|
342 | + * @return WPInv_Invoice |
|
343 | + */ |
|
344 | + public function process_addons( $invoice, $items ) { |
|
345 | 345 | |
346 | 346 | foreach ( $items as $item ) { |
347 | 347 | $invoice->add_item( $item ); |
@@ -349,98 +349,98 @@ discard block |
||
349 | 349 | |
350 | 350 | $invoice->recalculate_total(); |
351 | 351 | $invoice->save(); |
352 | - } |
|
353 | - |
|
354 | - /** |
|
355 | - * (Maybe) renews a bank transfer subscription profile. |
|
356 | - * |
|
357 | - * |
|
358 | - * @param WPInv_Subscription $subscription |
|
359 | - */ |
|
360 | - public function maybe_renew_subscription( $subscription ) { |
|
361 | - // Ensure its our subscription && it's active. |
|
362 | - if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) { |
|
363 | - add_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 ); |
|
364 | - |
|
365 | - $invoice = $subscription->create_payment(); |
|
366 | - |
|
367 | - if ( ! empty( $invoice ) ) { |
|
368 | - $is_logged_in = is_user_logged_in(); |
|
369 | - |
|
370 | - // Cron run. |
|
371 | - if ( ! $is_logged_in ) { |
|
372 | - $note = wp_sprintf( __( 'Renewal %1$s created with the status "%2$s".', 'invoicing' ), $invoice->get_invoice_quote_type(), wpinv_status_nicename( $invoice->get_status(), $invoice ) ); |
|
373 | - |
|
374 | - $invoice->add_note( $note, false, $is_logged_in, ! $is_logged_in ); |
|
375 | - } |
|
376 | - } |
|
377 | - |
|
378 | - remove_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 ); |
|
379 | - } |
|
380 | - } |
|
381 | - |
|
382 | - /** |
|
383 | - * Process a bank transfer payment. |
|
384 | - * |
|
385 | - * |
|
352 | + } |
|
353 | + |
|
354 | + /** |
|
355 | + * (Maybe) renews a bank transfer subscription profile. |
|
356 | + * |
|
357 | + * |
|
358 | + * @param WPInv_Subscription $subscription |
|
359 | + */ |
|
360 | + public function maybe_renew_subscription( $subscription ) { |
|
361 | + // Ensure its our subscription && it's active. |
|
362 | + if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) { |
|
363 | + add_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 ); |
|
364 | + |
|
365 | + $invoice = $subscription->create_payment(); |
|
366 | + |
|
367 | + if ( ! empty( $invoice ) ) { |
|
368 | + $is_logged_in = is_user_logged_in(); |
|
369 | + |
|
370 | + // Cron run. |
|
371 | + if ( ! $is_logged_in ) { |
|
372 | + $note = wp_sprintf( __( 'Renewal %1$s created with the status "%2$s".', 'invoicing' ), $invoice->get_invoice_quote_type(), wpinv_status_nicename( $invoice->get_status(), $invoice ) ); |
|
373 | + |
|
374 | + $invoice->add_note( $note, false, $is_logged_in, ! $is_logged_in ); |
|
375 | + } |
|
376 | + } |
|
377 | + |
|
378 | + remove_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 ); |
|
379 | + } |
|
380 | + } |
|
381 | + |
|
382 | + /** |
|
383 | + * Process a bank transfer payment. |
|
384 | + * |
|
385 | + * |
|
386 | 386 | * @param WPInv_Invoice $invoice |
387 | - */ |
|
388 | - public function invoice_paid( $invoice ) { |
|
389 | - |
|
390 | - // Abort if not paid by bank transfer. |
|
391 | - if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) { |
|
392 | - return; |
|
393 | - } |
|
394 | - |
|
395 | - // Is it a parent payment? |
|
396 | - if ( 0 == $invoice->get_parent_id() ) { |
|
397 | - |
|
398 | - // (Maybe) activate subscriptions. |
|
399 | - $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
400 | - |
|
401 | - if ( ! empty( $subscriptions ) ) { |
|
402 | - $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions ); |
|
403 | - |
|
404 | - foreach ( $subscriptions as $subscription ) { |
|
405 | - if ( $subscription->exists() ) { |
|
406 | - $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
|
407 | - $expiry = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
|
408 | - |
|
409 | - $subscription->set_next_renewal_date( $expiry ); |
|
410 | - $subscription->set_date_created( current_time( 'mysql' ) ); |
|
411 | - $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ); |
|
412 | - $subscription->activate(); |
|
413 | - } |
|
414 | - } |
|
415 | - } |
|
416 | - } else { |
|
417 | - |
|
418 | - $subscription = getpaid_get_subscription( $invoice->get_subscription_id() ); |
|
419 | - |
|
420 | - // Renew the subscription. |
|
421 | - if ( $subscription && $subscription->exists() ) { |
|
422 | - $subscription->add_payment( array(), $invoice ); |
|
423 | - $subscription->renew( strtotime( $invoice->get_date_created() ) ); |
|
424 | - } |
|
425 | - } |
|
387 | + */ |
|
388 | + public function invoice_paid( $invoice ) { |
|
389 | + |
|
390 | + // Abort if not paid by bank transfer. |
|
391 | + if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) { |
|
392 | + return; |
|
393 | + } |
|
394 | + |
|
395 | + // Is it a parent payment? |
|
396 | + if ( 0 == $invoice->get_parent_id() ) { |
|
397 | + |
|
398 | + // (Maybe) activate subscriptions. |
|
399 | + $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
400 | + |
|
401 | + if ( ! empty( $subscriptions ) ) { |
|
402 | + $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions ); |
|
403 | + |
|
404 | + foreach ( $subscriptions as $subscription ) { |
|
405 | + if ( $subscription->exists() ) { |
|
406 | + $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
|
407 | + $expiry = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
|
408 | + |
|
409 | + $subscription->set_next_renewal_date( $expiry ); |
|
410 | + $subscription->set_date_created( current_time( 'mysql' ) ); |
|
411 | + $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ); |
|
412 | + $subscription->activate(); |
|
413 | + } |
|
414 | + } |
|
415 | + } |
|
416 | + } else { |
|
417 | + |
|
418 | + $subscription = getpaid_get_subscription( $invoice->get_subscription_id() ); |
|
419 | + |
|
420 | + // Renew the subscription. |
|
421 | + if ( $subscription && $subscription->exists() ) { |
|
422 | + $subscription->add_payment( array(), $invoice ); |
|
423 | + $subscription->renew( strtotime( $invoice->get_date_created() ) ); |
|
424 | + } |
|
425 | + } |
|
426 | 426 | |
427 | 427 | } |
428 | 428 | |
429 | - /** |
|
430 | - * Force created from payment false to allow email for auto renewal generation invoice. |
|
431 | - * |
|
432 | - * @since 2.8.11 |
|
433 | - * |
|
434 | - * @param bool $is_payment_form_invoice True when invoice created via payment form else false. |
|
435 | - * @param int $invoice Invoice ID. |
|
436 | - * @return bool True when invoice created via payment form else false. |
|
437 | - */ |
|
438 | - public function force_is_payment_form_invoice( $is_payment_form_invoice, $invoice ) { |
|
439 | - if ( $is_payment_form_invoice ) { |
|
440 | - $is_payment_form_invoice = false; |
|
441 | - } |
|
442 | - |
|
443 | - return $is_payment_form_invoice; |
|
444 | - } |
|
429 | + /** |
|
430 | + * Force created from payment false to allow email for auto renewal generation invoice. |
|
431 | + * |
|
432 | + * @since 2.8.11 |
|
433 | + * |
|
434 | + * @param bool $is_payment_form_invoice True when invoice created via payment form else false. |
|
435 | + * @param int $invoice Invoice ID. |
|
436 | + * @return bool True when invoice created via payment form else false. |
|
437 | + */ |
|
438 | + public function force_is_payment_form_invoice( $is_payment_form_invoice, $invoice ) { |
|
439 | + if ( $is_payment_form_invoice ) { |
|
440 | + $is_payment_form_invoice = false; |
|
441 | + } |
|
442 | + |
|
443 | + return $is_payment_form_invoice; |
|
444 | + } |
|
445 | 445 | |
446 | 446 | } |
@@ -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 | * Bank transfer Payment Gateway class. |
@@ -56,17 +56,17 @@ discard block |
||
56 | 56 | public function __construct() { |
57 | 57 | parent::__construct(); |
58 | 58 | |
59 | - $this->title = __( 'Direct bank transfer', 'invoicing' ); |
|
60 | - $this->method_title = __( 'Bank transfer', 'invoicing' ); |
|
61 | - $this->checkout_button_text = __( 'Proceed', 'invoicing' ); |
|
62 | - $this->instructions = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) ); |
|
59 | + $this->title = __('Direct bank transfer', 'invoicing'); |
|
60 | + $this->method_title = __('Bank transfer', 'invoicing'); |
|
61 | + $this->checkout_button_text = __('Proceed', 'invoicing'); |
|
62 | + $this->instructions = apply_filters('wpinv_bank_instructions', $this->get_option('info')); |
|
63 | 63 | |
64 | - add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
65 | - add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
66 | - add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
67 | - add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
68 | - add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) ); |
|
69 | - add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 ); |
|
64 | + add_action('wpinv_receipt_end', array($this, 'thankyou_page')); |
|
65 | + add_action('getpaid_invoice_line_items', array($this, 'thankyou_page'), 40); |
|
66 | + add_action('wpinv_pdf_content_billing', array($this, 'thankyou_page'), 11); |
|
67 | + add_action('wpinv_email_invoice_details', array($this, 'email_instructions'), 10, 3); |
|
68 | + add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription')); |
|
69 | + add_action('getpaid_invoice_status_publish', array($this, 'invoice_paid'), 20); |
|
70 | 70 | |
71 | 71 | } |
72 | 72 | |
@@ -78,23 +78,23 @@ discard block |
||
78 | 78 | * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
79 | 79 | * @return array |
80 | 80 | */ |
81 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
81 | + public function process_payment($invoice, $submission_data, $submission) { |
|
82 | 82 | |
83 | 83 | // Add a transaction id. |
84 | - $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) ); |
|
84 | + $invoice->set_transaction_id($invoice->generate_key('bt_')); |
|
85 | 85 | |
86 | 86 | // Set it as pending payment. |
87 | - if ( ! $invoice->needs_payment() ) { |
|
87 | + if (!$invoice->needs_payment()) { |
|
88 | 88 | $invoice->mark_paid(); |
89 | - } elseif ( ! $invoice->is_paid() ) { |
|
90 | - $invoice->set_status( 'wpi-onhold' ); |
|
89 | + } elseif (!$invoice->is_paid()) { |
|
90 | + $invoice->set_status('wpi-onhold'); |
|
91 | 91 | } |
92 | 92 | |
93 | 93 | // Save it. |
94 | 94 | $invoice->save(); |
95 | 95 | |
96 | 96 | // Send to the success page. |
97 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
97 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
98 | 98 | |
99 | 99 | } |
100 | 100 | |
@@ -103,17 +103,17 @@ discard block |
||
103 | 103 | * |
104 | 104 | * @param WPInv_Invoice $invoice Invoice. |
105 | 105 | */ |
106 | - public function thankyou_page( $invoice ) { |
|
106 | + public function thankyou_page($invoice) { |
|
107 | 107 | |
108 | - if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
108 | + if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) { |
|
109 | 109 | |
110 | 110 | echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
111 | 111 | |
112 | - if ( ! empty( $this->instructions ) ) { |
|
113 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) ); |
|
112 | + if (!empty($this->instructions)) { |
|
113 | + echo wp_kses_post(wpautop(wptexturize($this->instructions))); |
|
114 | 114 | } |
115 | 115 | |
116 | - $this->bank_details( $invoice ); |
|
116 | + $this->bank_details($invoice); |
|
117 | 117 | |
118 | 118 | echo '</div>'; |
119 | 119 | |
@@ -128,17 +128,17 @@ discard block |
||
128 | 128 | * @param string $email_type Email format: plain text or HTML. |
129 | 129 | * @param bool $sent_to_admin Sent to admin. |
130 | 130 | */ |
131 | - public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
131 | + public function email_instructions($invoice, $email_type, $sent_to_admin) { |
|
132 | 132 | |
133 | - if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
133 | + if (!$sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) { |
|
134 | 134 | |
135 | 135 | echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
136 | 136 | |
137 | - if ( $this->instructions ) { |
|
138 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
137 | + if ($this->instructions) { |
|
138 | + echo wp_kses_post(wpautop(wptexturize($this->instructions)) . PHP_EOL); |
|
139 | 139 | } |
140 | 140 | |
141 | - $this->bank_details( $invoice ); |
|
141 | + $this->bank_details($invoice); |
|
142 | 142 | |
143 | 143 | echo '</div>'; |
144 | 144 | |
@@ -151,50 +151,50 @@ discard block |
||
151 | 151 | * |
152 | 152 | * @param WPInv_Invoice $invoice Invoice. |
153 | 153 | */ |
154 | - protected function bank_details( $invoice ) { |
|
154 | + protected function bank_details($invoice) { |
|
155 | 155 | |
156 | 156 | // Get the invoice country and country $locale. |
157 | 157 | $country = $invoice->get_country(); |
158 | 158 | $locale = $this->get_country_locale(); |
159 | 159 | |
160 | 160 | // Get shortcode label in the $locale array and use appropriate one. |
161 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
161 | + $sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing'); |
|
162 | 162 | |
163 | 163 | $bank_fields = array( |
164 | - 'ac_name' => __( 'Account Name', 'invoicing' ), |
|
165 | - 'ac_no' => __( 'Account Number', 'invoicing' ), |
|
166 | - 'bank_name' => __( 'Bank Name', 'invoicing' ), |
|
167 | - 'ifsc' => __( 'IFSC code', 'invoicing' ), |
|
168 | - 'iban' => __( 'IBAN', 'invoicing' ), |
|
169 | - 'bic' => __( 'BIC/Swift code', 'invoicing' ), |
|
164 | + 'ac_name' => __('Account Name', 'invoicing'), |
|
165 | + 'ac_no' => __('Account Number', 'invoicing'), |
|
166 | + 'bank_name' => __('Bank Name', 'invoicing'), |
|
167 | + 'ifsc' => __('IFSC code', 'invoicing'), |
|
168 | + 'iban' => __('IBAN', 'invoicing'), |
|
169 | + 'bic' => __('BIC/Swift code', 'invoicing'), |
|
170 | 170 | 'sort_code' => $sortcode, |
171 | 171 | ); |
172 | 172 | |
173 | 173 | $bank_info = array(); |
174 | 174 | |
175 | - foreach ( $bank_fields as $field => $label ) { |
|
176 | - $value = $this->get_option( $field ); |
|
175 | + foreach ($bank_fields as $field => $label) { |
|
176 | + $value = $this->get_option($field); |
|
177 | 177 | |
178 | - if ( ! empty( $value ) ) { |
|
179 | - $bank_info[ $field ] = array( |
|
178 | + if (!empty($value)) { |
|
179 | + $bank_info[$field] = array( |
|
180 | 180 | 'label' => $label, |
181 | 181 | 'value' => $value, |
182 | 182 | ); |
183 | 183 | } |
184 | 184 | } |
185 | 185 | |
186 | - $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice ); |
|
186 | + $bank_info = apply_filters('wpinv_bank_info', $bank_info, $invoice); |
|
187 | 187 | |
188 | - if ( empty( $bank_info ) ) { |
|
188 | + if (empty($bank_info)) { |
|
189 | 189 | return; |
190 | 190 | } |
191 | 191 | |
192 | - echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL; |
|
192 | + echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html(apply_filters('wpinv_receipt_bank_details_title', __('Bank Details', 'invoicing'), $invoice)) . '</h3>' . PHP_EOL; |
|
193 | 193 | |
194 | 194 | echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
195 | 195 | |
196 | - foreach ( $bank_info as $key => $data ) { |
|
197 | - echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL; |
|
196 | + foreach ($bank_info as $key => $data) { |
|
197 | + echo "<tr class='getpaid-bank-transfer-" . esc_attr($key) . "'><th class='font-weight-bold'>" . wp_kses_post($data['label']) . "</th><td class='w-75'>" . wp_kses_post(wptexturize($data['value'])) . '</td></tr>' . PHP_EOL; |
|
198 | 198 | } |
199 | 199 | |
200 | 200 | echo '</table>'; |
@@ -208,7 +208,7 @@ discard block |
||
208 | 208 | */ |
209 | 209 | public function get_country_locale() { |
210 | 210 | |
211 | - if ( empty( $this->locale ) ) { |
|
211 | + if (empty($this->locale)) { |
|
212 | 212 | |
213 | 213 | // Locale information to be used - only those that are not 'Sort Code'. |
214 | 214 | $this->locale = apply_filters( |
@@ -216,42 +216,42 @@ discard block |
||
216 | 216 | array( |
217 | 217 | 'AU' => array( |
218 | 218 | 'sortcode' => array( |
219 | - 'label' => __( 'BSB', 'invoicing' ), |
|
219 | + 'label' => __('BSB', 'invoicing'), |
|
220 | 220 | ), |
221 | 221 | ), |
222 | 222 | 'CA' => array( |
223 | 223 | 'sortcode' => array( |
224 | - 'label' => __( 'Bank transit number', 'invoicing' ), |
|
224 | + 'label' => __('Bank transit number', 'invoicing'), |
|
225 | 225 | ), |
226 | 226 | ), |
227 | 227 | 'IN' => array( |
228 | 228 | 'sortcode' => array( |
229 | - 'label' => __( 'IFSC', 'invoicing' ), |
|
229 | + 'label' => __('IFSC', 'invoicing'), |
|
230 | 230 | ), |
231 | 231 | ), |
232 | 232 | 'IT' => array( |
233 | 233 | 'sortcode' => array( |
234 | - 'label' => __( 'Branch sort', 'invoicing' ), |
|
234 | + 'label' => __('Branch sort', 'invoicing'), |
|
235 | 235 | ), |
236 | 236 | ), |
237 | 237 | 'NZ' => array( |
238 | 238 | 'sortcode' => array( |
239 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
239 | + 'label' => __('Bank code', 'invoicing'), |
|
240 | 240 | ), |
241 | 241 | ), |
242 | 242 | 'SE' => array( |
243 | 243 | 'sortcode' => array( |
244 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
244 | + 'label' => __('Bank code', 'invoicing'), |
|
245 | 245 | ), |
246 | 246 | ), |
247 | 247 | 'US' => array( |
248 | 248 | 'sortcode' => array( |
249 | - 'label' => __( 'Routing number', 'invoicing' ), |
|
249 | + 'label' => __('Routing number', 'invoicing'), |
|
250 | 250 | ), |
251 | 251 | ), |
252 | 252 | 'ZA' => array( |
253 | 253 | 'sortcode' => array( |
254 | - 'label' => __( 'Branch code', 'invoicing' ), |
|
254 | + 'label' => __('Branch code', 'invoicing'), |
|
255 | 255 | ), |
256 | 256 | ), |
257 | 257 | ) |
@@ -268,51 +268,51 @@ discard block |
||
268 | 268 | * |
269 | 269 | * @param array $admin_settings |
270 | 270 | */ |
271 | - public function admin_settings( $admin_settings ) { |
|
271 | + public function admin_settings($admin_settings) { |
|
272 | 272 | |
273 | - $admin_settings['bank_transfer_desc']['std'] = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ); |
|
274 | - $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
273 | + $admin_settings['bank_transfer_desc']['std'] = __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'); |
|
274 | + $admin_settings['bank_transfer_active']['desc'] = __('Enable bank transfer', 'invoicing'); |
|
275 | 275 | |
276 | - $locale = $this->get_country_locale(); |
|
276 | + $locale = $this->get_country_locale(); |
|
277 | 277 | |
278 | 278 | // Get sortcode label in the $locale array and use appropriate one. |
279 | 279 | $country = wpinv_default_billing_country(); |
280 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
280 | + $sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing'); |
|
281 | 281 | |
282 | 282 | $admin_settings['bank_transfer_ac_name'] = array( |
283 | 283 | 'type' => 'text', |
284 | 284 | 'id' => 'bank_transfer_ac_name', |
285 | - 'name' => __( 'Account Name', 'invoicing' ), |
|
285 | + 'name' => __('Account Name', 'invoicing'), |
|
286 | 286 | ); |
287 | 287 | |
288 | 288 | $admin_settings['bank_transfer_ac_no'] = array( |
289 | 289 | 'type' => 'text', |
290 | 290 | 'id' => 'bank_transfer_ac_no', |
291 | - 'name' => __( 'Account Number', 'invoicing' ), |
|
291 | + 'name' => __('Account Number', 'invoicing'), |
|
292 | 292 | ); |
293 | 293 | |
294 | 294 | $admin_settings['bank_transfer_bank_name'] = array( |
295 | 295 | 'type' => 'text', |
296 | 296 | 'id' => 'bank_transfer_bank_name', |
297 | - 'name' => __( 'Bank Name', 'invoicing' ), |
|
297 | + 'name' => __('Bank Name', 'invoicing'), |
|
298 | 298 | ); |
299 | 299 | |
300 | 300 | $admin_settings['bank_transfer_ifsc'] = array( |
301 | 301 | 'type' => 'text', |
302 | 302 | 'id' => 'bank_transfer_ifsc', |
303 | - 'name' => __( 'IFSC Code', 'invoicing' ), |
|
303 | + 'name' => __('IFSC Code', 'invoicing'), |
|
304 | 304 | ); |
305 | 305 | |
306 | 306 | $admin_settings['bank_transfer_iban'] = array( |
307 | 307 | 'type' => 'text', |
308 | 308 | 'id' => 'bank_transfer_iban', |
309 | - 'name' => __( 'IBAN', 'invoicing' ), |
|
309 | + 'name' => __('IBAN', 'invoicing'), |
|
310 | 310 | ); |
311 | 311 | |
312 | 312 | $admin_settings['bank_transfer_bic'] = array( |
313 | 313 | 'type' => 'text', |
314 | 314 | 'id' => 'bank_transfer_bic', |
315 | - 'name' => __( 'BIC/Swift Code', 'invoicing' ), |
|
315 | + 'name' => __('BIC/Swift Code', 'invoicing'), |
|
316 | 316 | ); |
317 | 317 | |
318 | 318 | $admin_settings['bank_transfer_sort_code'] = array( |
@@ -323,10 +323,10 @@ discard block |
||
323 | 323 | |
324 | 324 | $admin_settings['bank_transfer_info'] = array( |
325 | 325 | 'id' => 'bank_transfer_info', |
326 | - 'name' => __( 'Instructions', 'invoicing' ), |
|
327 | - 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
|
326 | + 'name' => __('Instructions', 'invoicing'), |
|
327 | + 'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'), |
|
328 | 328 | 'type' => 'textarea', |
329 | - 'std' => __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ), |
|
329 | + 'std' => __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'), |
|
330 | 330 | 'cols' => 50, |
331 | 331 | 'rows' => 5, |
332 | 332 | ); |
@@ -341,10 +341,10 @@ discard block |
||
341 | 341 | * @param GetPaid_Form_Item[] $items |
342 | 342 | * @return WPInv_Invoice |
343 | 343 | */ |
344 | - public function process_addons( $invoice, $items ) { |
|
344 | + public function process_addons($invoice, $items) { |
|
345 | 345 | |
346 | - foreach ( $items as $item ) { |
|
347 | - $invoice->add_item( $item ); |
|
346 | + foreach ($items as $item) { |
|
347 | + $invoice->add_item($item); |
|
348 | 348 | } |
349 | 349 | |
350 | 350 | $invoice->recalculate_total(); |
@@ -357,25 +357,25 @@ discard block |
||
357 | 357 | * |
358 | 358 | * @param WPInv_Subscription $subscription |
359 | 359 | */ |
360 | - public function maybe_renew_subscription( $subscription ) { |
|
360 | + public function maybe_renew_subscription($subscription) { |
|
361 | 361 | // Ensure its our subscription && it's active. |
362 | - if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) { |
|
363 | - add_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 ); |
|
362 | + if ($this->id === $subscription->get_gateway() && $subscription->has_status('active trialling')) { |
|
363 | + add_filter('getpaid_invoice_notifications_is_payment_form_invoice', array($this, 'force_is_payment_form_invoice'), 10, 2); |
|
364 | 364 | |
365 | 365 | $invoice = $subscription->create_payment(); |
366 | 366 | |
367 | - if ( ! empty( $invoice ) ) { |
|
367 | + if (!empty($invoice)) { |
|
368 | 368 | $is_logged_in = is_user_logged_in(); |
369 | 369 | |
370 | 370 | // Cron run. |
371 | - if ( ! $is_logged_in ) { |
|
372 | - $note = wp_sprintf( __( 'Renewal %1$s created with the status "%2$s".', 'invoicing' ), $invoice->get_invoice_quote_type(), wpinv_status_nicename( $invoice->get_status(), $invoice ) ); |
|
371 | + if (!$is_logged_in) { |
|
372 | + $note = wp_sprintf(__('Renewal %1$s created with the status "%2$s".', 'invoicing'), $invoice->get_invoice_quote_type(), wpinv_status_nicename($invoice->get_status(), $invoice)); |
|
373 | 373 | |
374 | - $invoice->add_note( $note, false, $is_logged_in, ! $is_logged_in ); |
|
374 | + $invoice->add_note($note, false, $is_logged_in, !$is_logged_in); |
|
375 | 375 | } |
376 | 376 | } |
377 | 377 | |
378 | - remove_filter( 'getpaid_invoice_notifications_is_payment_form_invoice', array( $this, 'force_is_payment_form_invoice' ), 10, 2 ); |
|
378 | + remove_filter('getpaid_invoice_notifications_is_payment_form_invoice', array($this, 'force_is_payment_form_invoice'), 10, 2); |
|
379 | 379 | } |
380 | 380 | } |
381 | 381 | |
@@ -385,42 +385,42 @@ discard block |
||
385 | 385 | * |
386 | 386 | * @param WPInv_Invoice $invoice |
387 | 387 | */ |
388 | - public function invoice_paid( $invoice ) { |
|
388 | + public function invoice_paid($invoice) { |
|
389 | 389 | |
390 | 390 | // Abort if not paid by bank transfer. |
391 | - if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) { |
|
391 | + if ($this->id !== $invoice->get_gateway() || !$invoice->is_recurring()) { |
|
392 | 392 | return; |
393 | 393 | } |
394 | 394 | |
395 | 395 | // Is it a parent payment? |
396 | - if ( 0 == $invoice->get_parent_id() ) { |
|
396 | + if (0 == $invoice->get_parent_id()) { |
|
397 | 397 | |
398 | 398 | // (Maybe) activate subscriptions. |
399 | - $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
399 | + $subscriptions = getpaid_get_invoice_subscriptions($invoice); |
|
400 | 400 | |
401 | - if ( ! empty( $subscriptions ) ) { |
|
402 | - $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions ); |
|
401 | + if (!empty($subscriptions)) { |
|
402 | + $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions); |
|
403 | 403 | |
404 | - foreach ( $subscriptions as $subscription ) { |
|
405 | - if ( $subscription->exists() ) { |
|
406 | - $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
|
407 | - $expiry = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
|
404 | + foreach ($subscriptions as $subscription) { |
|
405 | + if ($subscription->exists()) { |
|
406 | + $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created()); |
|
407 | + $expiry = gmdate('Y-m-d H:i:s', (current_time('timestamp') + $duration)); |
|
408 | 408 | |
409 | - $subscription->set_next_renewal_date( $expiry ); |
|
410 | - $subscription->set_date_created( current_time( 'mysql' ) ); |
|
411 | - $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ); |
|
409 | + $subscription->set_next_renewal_date($expiry); |
|
410 | + $subscription->set_date_created(current_time('mysql')); |
|
411 | + $subscription->set_profile_id('bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id()); |
|
412 | 412 | $subscription->activate(); |
413 | 413 | } |
414 | 414 | } |
415 | 415 | } |
416 | 416 | } else { |
417 | 417 | |
418 | - $subscription = getpaid_get_subscription( $invoice->get_subscription_id() ); |
|
418 | + $subscription = getpaid_get_subscription($invoice->get_subscription_id()); |
|
419 | 419 | |
420 | 420 | // Renew the subscription. |
421 | - if ( $subscription && $subscription->exists() ) { |
|
422 | - $subscription->add_payment( array(), $invoice ); |
|
423 | - $subscription->renew( strtotime( $invoice->get_date_created() ) ); |
|
421 | + if ($subscription && $subscription->exists()) { |
|
422 | + $subscription->add_payment(array(), $invoice); |
|
423 | + $subscription->renew(strtotime($invoice->get_date_created())); |
|
424 | 424 | } |
425 | 425 | } |
426 | 426 | |
@@ -435,8 +435,8 @@ discard block |
||
435 | 435 | * @param int $invoice Invoice ID. |
436 | 436 | * @return bool True when invoice created via payment form else false. |
437 | 437 | */ |
438 | - public function force_is_payment_form_invoice( $is_payment_form_invoice, $invoice ) { |
|
439 | - if ( $is_payment_form_invoice ) { |
|
438 | + public function force_is_payment_form_invoice($is_payment_form_invoice, $invoice) { |
|
439 | + if ($is_payment_form_invoice) { |
|
440 | 440 | $is_payment_form_invoice = false; |
441 | 441 | } |
442 | 442 |
@@ -15,321 +15,321 @@ |
||
15 | 15 | class GetPaid_Post_Types { |
16 | 16 | |
17 | 17 | /** |
18 | - * Hook in methods. |
|
19 | - */ |
|
20 | - public function __construct() { |
|
21 | - add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 ); |
|
22 | - add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 ); |
|
23 | - add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) ); |
|
24 | - add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) ); |
|
25 | - } |
|
18 | + * Hook in methods. |
|
19 | + */ |
|
20 | + public function __construct() { |
|
21 | + add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 ); |
|
22 | + add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 ); |
|
23 | + add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) ); |
|
24 | + add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) ); |
|
25 | + } |
|
26 | 26 | |
27 | - /** |
|
28 | - * Register core post types. |
|
29 | - */ |
|
30 | - public static function register_post_types() { |
|
27 | + /** |
|
28 | + * Register core post types. |
|
29 | + */ |
|
30 | + public static function register_post_types() { |
|
31 | 31 | |
32 | - if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) { |
|
33 | - return; |
|
34 | - } |
|
32 | + if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) { |
|
33 | + return; |
|
34 | + } |
|
35 | 35 | |
36 | - $capabilities = wpinv_current_user_can_manage_invoicing(); |
|
36 | + $capabilities = wpinv_current_user_can_manage_invoicing(); |
|
37 | 37 | |
38 | - // Fires before registering post types. |
|
39 | - do_action( 'getpaid_register_post_types' ); |
|
38 | + // Fires before registering post types. |
|
39 | + do_action( 'getpaid_register_post_types' ); |
|
40 | 40 | |
41 | - // Register item post type. |
|
42 | - register_post_type( |
|
43 | - 'wpi_item', |
|
44 | - apply_filters( |
|
45 | - 'wpinv_register_post_type_invoice_item', |
|
46 | - array( |
|
47 | - 'labels' => array( |
|
48 | - 'name' => _x( 'Items', 'post type general name', 'invoicing' ), |
|
49 | - 'singular_name' => _x( 'Item', 'post type singular name', 'invoicing' ), |
|
50 | - 'menu_name' => _x( 'Items', 'admin menu', 'invoicing' ), |
|
51 | - 'name_admin_bar' => _x( 'Item', 'add new on admin bar', 'invoicing' ), |
|
52 | - 'add_new' => _x( 'Add New', 'Item', 'invoicing' ), |
|
53 | - 'add_new_item' => __( 'Add New Item', 'invoicing' ), |
|
54 | - 'new_item' => __( 'New Item', 'invoicing' ), |
|
55 | - 'edit_item' => __( 'Edit Item', 'invoicing' ), |
|
56 | - 'view_item' => __( 'View Item', 'invoicing' ), |
|
57 | - 'all_items' => __( 'Items', 'invoicing' ), |
|
58 | - 'search_items' => __( 'Search items', 'invoicing' ), |
|
59 | - 'parent_item_colon' => __( 'Parent item:', 'invoicing' ), |
|
60 | - 'not_found' => __( 'No items found.', 'invoicing' ), |
|
61 | - 'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' ), |
|
62 | - ), |
|
63 | - 'description' => __( 'This is where you can add new invoice items.', 'invoicing' ), |
|
64 | - 'public' => false, |
|
65 | - 'has_archive' => false, |
|
66 | - '_builtin' => false, |
|
67 | - 'show_ui' => $capabilities ? true : false, |
|
68 | - 'show_in_menu' => $capabilities ? 'wpinv' : false, |
|
69 | - 'show_in_nav_menus' => false, |
|
70 | - 'supports' => array( 'title', 'excerpt', 'thumbnail' ), |
|
71 | - 'rewrite' => false, |
|
72 | - 'query_var' => false, |
|
73 | - 'map_meta_cap' => true, |
|
74 | - 'show_in_admin_bar' => $capabilities ? true : false, |
|
75 | - 'can_export' => $capabilities ? true : false |
|
76 | - ) |
|
77 | - ) |
|
78 | - ); |
|
41 | + // Register item post type. |
|
42 | + register_post_type( |
|
43 | + 'wpi_item', |
|
44 | + apply_filters( |
|
45 | + 'wpinv_register_post_type_invoice_item', |
|
46 | + array( |
|
47 | + 'labels' => array( |
|
48 | + 'name' => _x( 'Items', 'post type general name', 'invoicing' ), |
|
49 | + 'singular_name' => _x( 'Item', 'post type singular name', 'invoicing' ), |
|
50 | + 'menu_name' => _x( 'Items', 'admin menu', 'invoicing' ), |
|
51 | + 'name_admin_bar' => _x( 'Item', 'add new on admin bar', 'invoicing' ), |
|
52 | + 'add_new' => _x( 'Add New', 'Item', 'invoicing' ), |
|
53 | + 'add_new_item' => __( 'Add New Item', 'invoicing' ), |
|
54 | + 'new_item' => __( 'New Item', 'invoicing' ), |
|
55 | + 'edit_item' => __( 'Edit Item', 'invoicing' ), |
|
56 | + 'view_item' => __( 'View Item', 'invoicing' ), |
|
57 | + 'all_items' => __( 'Items', 'invoicing' ), |
|
58 | + 'search_items' => __( 'Search items', 'invoicing' ), |
|
59 | + 'parent_item_colon' => __( 'Parent item:', 'invoicing' ), |
|
60 | + 'not_found' => __( 'No items found.', 'invoicing' ), |
|
61 | + 'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' ), |
|
62 | + ), |
|
63 | + 'description' => __( 'This is where you can add new invoice items.', 'invoicing' ), |
|
64 | + 'public' => false, |
|
65 | + 'has_archive' => false, |
|
66 | + '_builtin' => false, |
|
67 | + 'show_ui' => $capabilities ? true : false, |
|
68 | + 'show_in_menu' => $capabilities ? 'wpinv' : false, |
|
69 | + 'show_in_nav_menus' => false, |
|
70 | + 'supports' => array( 'title', 'excerpt', 'thumbnail' ), |
|
71 | + 'rewrite' => false, |
|
72 | + 'query_var' => false, |
|
73 | + 'map_meta_cap' => true, |
|
74 | + 'show_in_admin_bar' => $capabilities ? true : false, |
|
75 | + 'can_export' => $capabilities ? true : false |
|
76 | + ) |
|
77 | + ) |
|
78 | + ); |
|
79 | 79 | |
80 | - // Register payment form post type. |
|
81 | - register_post_type( |
|
82 | - 'wpi_payment_form', |
|
83 | - apply_filters( |
|
84 | - 'wpinv_register_post_type_payment_form', |
|
85 | - array( |
|
86 | - 'labels' => array( |
|
87 | - 'name' => _x( 'Payment Forms', 'post type general name', 'invoicing' ), |
|
88 | - 'singular_name' => _x( 'Payment Form', 'post type singular name', 'invoicing' ), |
|
89 | - 'menu_name' => _x( 'Payment Forms', 'admin menu', 'invoicing' ), |
|
90 | - 'name_admin_bar' => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ), |
|
91 | - 'add_new' => _x( 'Add New', 'Payment Form', 'invoicing' ), |
|
92 | - 'add_new_item' => __( 'Add New Payment Form', 'invoicing' ), |
|
93 | - 'new_item' => __( 'New Payment Form', 'invoicing' ), |
|
94 | - 'edit_item' => __( 'Edit Payment Form', 'invoicing' ), |
|
95 | - 'view_item' => __( 'View Payment Form', 'invoicing' ), |
|
96 | - 'all_items' => __( 'Payment Forms', 'invoicing' ), |
|
97 | - 'search_items' => __( 'Search Payment Forms', 'invoicing' ), |
|
98 | - 'parent_item_colon' => __( 'Parent Payment Forms:', 'invoicing' ), |
|
99 | - 'not_found' => __( 'No payment forms found.', 'invoicing' ), |
|
100 | - 'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' ), |
|
101 | - ), |
|
102 | - 'description' => __( 'Add new payment forms.', 'invoicing' ), |
|
103 | - 'public' => false, |
|
104 | - 'show_ui' => $capabilities ? true : false, |
|
105 | - 'show_in_menu' => $capabilities ? 'wpinv' : false, |
|
106 | - 'show_in_nav_menus' => false, |
|
107 | - 'query_var' => false, |
|
108 | - 'rewrite' => true, |
|
109 | - 'map_meta_cap' => true, |
|
110 | - 'has_archive' => false, |
|
111 | - 'hierarchical' => false, |
|
112 | - 'menu_position' => null, |
|
113 | - 'supports' => array( 'title' ), |
|
114 | - 'menu_icon' => 'dashicons-media-form', |
|
115 | - ) |
|
116 | - ) |
|
117 | - ); |
|
80 | + // Register payment form post type. |
|
81 | + register_post_type( |
|
82 | + 'wpi_payment_form', |
|
83 | + apply_filters( |
|
84 | + 'wpinv_register_post_type_payment_form', |
|
85 | + array( |
|
86 | + 'labels' => array( |
|
87 | + 'name' => _x( 'Payment Forms', 'post type general name', 'invoicing' ), |
|
88 | + 'singular_name' => _x( 'Payment Form', 'post type singular name', 'invoicing' ), |
|
89 | + 'menu_name' => _x( 'Payment Forms', 'admin menu', 'invoicing' ), |
|
90 | + 'name_admin_bar' => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ), |
|
91 | + 'add_new' => _x( 'Add New', 'Payment Form', 'invoicing' ), |
|
92 | + 'add_new_item' => __( 'Add New Payment Form', 'invoicing' ), |
|
93 | + 'new_item' => __( 'New Payment Form', 'invoicing' ), |
|
94 | + 'edit_item' => __( 'Edit Payment Form', 'invoicing' ), |
|
95 | + 'view_item' => __( 'View Payment Form', 'invoicing' ), |
|
96 | + 'all_items' => __( 'Payment Forms', 'invoicing' ), |
|
97 | + 'search_items' => __( 'Search Payment Forms', 'invoicing' ), |
|
98 | + 'parent_item_colon' => __( 'Parent Payment Forms:', 'invoicing' ), |
|
99 | + 'not_found' => __( 'No payment forms found.', 'invoicing' ), |
|
100 | + 'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' ), |
|
101 | + ), |
|
102 | + 'description' => __( 'Add new payment forms.', 'invoicing' ), |
|
103 | + 'public' => false, |
|
104 | + 'show_ui' => $capabilities ? true : false, |
|
105 | + 'show_in_menu' => $capabilities ? 'wpinv' : false, |
|
106 | + 'show_in_nav_menus' => false, |
|
107 | + 'query_var' => false, |
|
108 | + 'rewrite' => true, |
|
109 | + 'map_meta_cap' => true, |
|
110 | + 'has_archive' => false, |
|
111 | + 'hierarchical' => false, |
|
112 | + 'menu_position' => null, |
|
113 | + 'supports' => array( 'title' ), |
|
114 | + 'menu_icon' => 'dashicons-media-form', |
|
115 | + ) |
|
116 | + ) |
|
117 | + ); |
|
118 | 118 | |
119 | - // Register invoice post type. |
|
120 | - register_post_type( |
|
121 | - 'wpi_invoice', |
|
122 | - apply_filters( |
|
123 | - 'wpinv_register_post_type_invoice', |
|
124 | - array( |
|
125 | - 'labels' => array( |
|
126 | - 'name' => __( 'Invoices', 'invoicing' ), |
|
127 | - 'singular_name' => __( 'Invoice', 'invoicing' ), |
|
128 | - 'all_items' => __( 'Invoices', 'invoicing' ), |
|
129 | - 'menu_name' => _x( 'Invoices', 'Admin menu name', 'invoicing' ), |
|
130 | - 'add_new' => __( 'Add New', 'invoicing' ), |
|
131 | - 'add_new_item' => __( 'Add new invoice', 'invoicing' ), |
|
132 | - 'edit' => __( 'Edit', 'invoicing' ), |
|
133 | - 'edit_item' => __( 'Edit invoice', 'invoicing' ), |
|
134 | - 'new_item' => __( 'New invoice', 'invoicing' ), |
|
135 | - 'view_item' => __( 'View invoice', 'invoicing' ), |
|
136 | - 'view_items' => __( 'View Invoices', 'invoicing' ), |
|
137 | - 'search_items' => __( 'Search invoices', 'invoicing' ), |
|
138 | - 'not_found' => __( 'No invoices found', 'invoicing' ), |
|
139 | - 'not_found_in_trash' => __( 'No invoices found in trash', 'invoicing' ), |
|
140 | - 'parent' => __( 'Parent invoice', 'invoicing' ), |
|
141 | - 'featured_image' => __( 'Invoice image', 'invoicing' ), |
|
142 | - 'set_featured_image' => __( 'Set invoice image', 'invoicing' ), |
|
143 | - 'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ), |
|
144 | - 'use_featured_image' => __( 'Use as invoice image', 'invoicing' ), |
|
145 | - 'insert_into_item' => __( 'Insert into invoice', 'invoicing' ), |
|
146 | - 'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ), |
|
147 | - 'filter_items_list' => __( 'Filter invoices', 'invoicing' ), |
|
148 | - 'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ), |
|
149 | - 'items_list' => __( 'Invoices list', 'invoicing' ), |
|
150 | - ), |
|
151 | - 'description' => __( 'This is where invoices are stored.', 'invoicing' ), |
|
152 | - 'public' => true, |
|
153 | - 'has_archive' => false, |
|
154 | - 'publicly_queryable' => true, |
|
155 | - 'exclude_from_search' => true, |
|
156 | - 'show_ui' => $capabilities ? true : false, |
|
157 | - 'show_in_menu' => $capabilities ? 'wpinv' : false, |
|
158 | - 'show_in_nav_menus' => false, |
|
159 | - 'supports' => array( 'title', 'author', 'excerpt' ), |
|
160 | - 'rewrite' => array( |
|
161 | - 'slug' => 'invoice', |
|
162 | - 'with_front' => false, |
|
163 | - ), |
|
164 | - 'query_var' => false, |
|
165 | - 'map_meta_cap' => true, |
|
166 | - 'show_in_admin_bar' => $capabilities ? true : false, |
|
167 | - 'can_export' => $capabilities ? true : false, |
|
168 | - 'hierarchical' => false, |
|
169 | - 'menu_position' => null, |
|
170 | - 'menu_icon' => 'dashicons-media-spreadsheet', |
|
171 | - ) |
|
172 | - ) |
|
173 | - ); |
|
119 | + // Register invoice post type. |
|
120 | + register_post_type( |
|
121 | + 'wpi_invoice', |
|
122 | + apply_filters( |
|
123 | + 'wpinv_register_post_type_invoice', |
|
124 | + array( |
|
125 | + 'labels' => array( |
|
126 | + 'name' => __( 'Invoices', 'invoicing' ), |
|
127 | + 'singular_name' => __( 'Invoice', 'invoicing' ), |
|
128 | + 'all_items' => __( 'Invoices', 'invoicing' ), |
|
129 | + 'menu_name' => _x( 'Invoices', 'Admin menu name', 'invoicing' ), |
|
130 | + 'add_new' => __( 'Add New', 'invoicing' ), |
|
131 | + 'add_new_item' => __( 'Add new invoice', 'invoicing' ), |
|
132 | + 'edit' => __( 'Edit', 'invoicing' ), |
|
133 | + 'edit_item' => __( 'Edit invoice', 'invoicing' ), |
|
134 | + 'new_item' => __( 'New invoice', 'invoicing' ), |
|
135 | + 'view_item' => __( 'View invoice', 'invoicing' ), |
|
136 | + 'view_items' => __( 'View Invoices', 'invoicing' ), |
|
137 | + 'search_items' => __( 'Search invoices', 'invoicing' ), |
|
138 | + 'not_found' => __( 'No invoices found', 'invoicing' ), |
|
139 | + 'not_found_in_trash' => __( 'No invoices found in trash', 'invoicing' ), |
|
140 | + 'parent' => __( 'Parent invoice', 'invoicing' ), |
|
141 | + 'featured_image' => __( 'Invoice image', 'invoicing' ), |
|
142 | + 'set_featured_image' => __( 'Set invoice image', 'invoicing' ), |
|
143 | + 'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ), |
|
144 | + 'use_featured_image' => __( 'Use as invoice image', 'invoicing' ), |
|
145 | + 'insert_into_item' => __( 'Insert into invoice', 'invoicing' ), |
|
146 | + 'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ), |
|
147 | + 'filter_items_list' => __( 'Filter invoices', 'invoicing' ), |
|
148 | + 'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ), |
|
149 | + 'items_list' => __( 'Invoices list', 'invoicing' ), |
|
150 | + ), |
|
151 | + 'description' => __( 'This is where invoices are stored.', 'invoicing' ), |
|
152 | + 'public' => true, |
|
153 | + 'has_archive' => false, |
|
154 | + 'publicly_queryable' => true, |
|
155 | + 'exclude_from_search' => true, |
|
156 | + 'show_ui' => $capabilities ? true : false, |
|
157 | + 'show_in_menu' => $capabilities ? 'wpinv' : false, |
|
158 | + 'show_in_nav_menus' => false, |
|
159 | + 'supports' => array( 'title', 'author', 'excerpt' ), |
|
160 | + 'rewrite' => array( |
|
161 | + 'slug' => 'invoice', |
|
162 | + 'with_front' => false, |
|
163 | + ), |
|
164 | + 'query_var' => false, |
|
165 | + 'map_meta_cap' => true, |
|
166 | + 'show_in_admin_bar' => $capabilities ? true : false, |
|
167 | + 'can_export' => $capabilities ? true : false, |
|
168 | + 'hierarchical' => false, |
|
169 | + 'menu_position' => null, |
|
170 | + 'menu_icon' => 'dashicons-media-spreadsheet', |
|
171 | + ) |
|
172 | + ) |
|
173 | + ); |
|
174 | 174 | |
175 | - // Register discount post type. |
|
176 | - register_post_type( |
|
177 | - 'wpi_discount', |
|
178 | - apply_filters( |
|
179 | - 'wpinv_register_post_type_discount', |
|
180 | - array( |
|
181 | - 'labels' => array( |
|
182 | - 'name' => __( 'Discounts', 'invoicing' ), |
|
183 | - 'singular_name' => __( 'Discount', 'invoicing' ), |
|
184 | - 'all_items' => __( 'Discounts', 'invoicing' ), |
|
185 | - 'menu_name' => _x( 'Discounts', 'Admin menu name', 'invoicing' ), |
|
186 | - 'add_new' => __( 'Add New', 'invoicing' ), |
|
187 | - 'add_new_item' => __( 'Add new discount', 'invoicing' ), |
|
188 | - 'edit' => __( 'Edit', 'invoicing' ), |
|
189 | - 'edit_item' => __( 'Edit discount', 'invoicing' ), |
|
190 | - 'new_item' => __( 'New discount', 'invoicing' ), |
|
191 | - 'view_item' => __( 'View discount', 'invoicing' ), |
|
192 | - 'view_items' => __( 'View Discounts', 'invoicing' ), |
|
193 | - 'search_items' => __( 'Search discounts', 'invoicing' ), |
|
194 | - 'not_found' => __( 'No discounts found', 'invoicing' ), |
|
195 | - 'not_found_in_trash' => __( 'No discounts found in trash', 'invoicing' ), |
|
196 | - 'parent' => __( 'Parent discount', 'invoicing' ), |
|
197 | - 'featured_image' => __( 'Discount image', 'invoicing' ), |
|
198 | - 'set_featured_image' => __( 'Set discount image', 'invoicing' ), |
|
199 | - 'remove_featured_image' => __( 'Remove discount image', 'invoicing' ), |
|
200 | - 'use_featured_image' => __( 'Use as discount image', 'invoicing' ), |
|
201 | - 'insert_into_item' => __( 'Insert into discount', 'invoicing' ), |
|
202 | - 'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ), |
|
203 | - 'filter_items_list' => __( 'Filter discounts', 'invoicing' ), |
|
204 | - 'items_list_navigation' => __( 'Discount navigation', 'invoicing' ), |
|
205 | - 'items_list' => __( 'Discounts list', 'invoicing' ), |
|
206 | - ), |
|
207 | - 'description' => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ), |
|
208 | - 'public' => false, |
|
209 | - 'can_export' => $capabilities ? true : false, |
|
210 | - '_builtin' => false, |
|
211 | - 'publicly_queryable' => false, |
|
212 | - 'exclude_from_search' => true, |
|
213 | - 'show_ui' => $capabilities ? true : false, |
|
214 | - 'show_in_menu' => $capabilities ? 'wpinv' : false, |
|
215 | - 'query_var' => false, |
|
216 | - 'rewrite' => false, |
|
217 | - 'map_meta_cap' => true, |
|
218 | - 'has_archive' => false, |
|
219 | - 'hierarchical' => false, |
|
220 | - 'supports' => array( 'title', 'excerpt' ), |
|
221 | - 'show_in_nav_menus' => false, |
|
222 | - 'show_in_admin_bar' => $capabilities ? true : false, |
|
223 | - 'menu_position' => null, |
|
224 | - ) |
|
225 | - ) |
|
226 | - ); |
|
175 | + // Register discount post type. |
|
176 | + register_post_type( |
|
177 | + 'wpi_discount', |
|
178 | + apply_filters( |
|
179 | + 'wpinv_register_post_type_discount', |
|
180 | + array( |
|
181 | + 'labels' => array( |
|
182 | + 'name' => __( 'Discounts', 'invoicing' ), |
|
183 | + 'singular_name' => __( 'Discount', 'invoicing' ), |
|
184 | + 'all_items' => __( 'Discounts', 'invoicing' ), |
|
185 | + 'menu_name' => _x( 'Discounts', 'Admin menu name', 'invoicing' ), |
|
186 | + 'add_new' => __( 'Add New', 'invoicing' ), |
|
187 | + 'add_new_item' => __( 'Add new discount', 'invoicing' ), |
|
188 | + 'edit' => __( 'Edit', 'invoicing' ), |
|
189 | + 'edit_item' => __( 'Edit discount', 'invoicing' ), |
|
190 | + 'new_item' => __( 'New discount', 'invoicing' ), |
|
191 | + 'view_item' => __( 'View discount', 'invoicing' ), |
|
192 | + 'view_items' => __( 'View Discounts', 'invoicing' ), |
|
193 | + 'search_items' => __( 'Search discounts', 'invoicing' ), |
|
194 | + 'not_found' => __( 'No discounts found', 'invoicing' ), |
|
195 | + 'not_found_in_trash' => __( 'No discounts found in trash', 'invoicing' ), |
|
196 | + 'parent' => __( 'Parent discount', 'invoicing' ), |
|
197 | + 'featured_image' => __( 'Discount image', 'invoicing' ), |
|
198 | + 'set_featured_image' => __( 'Set discount image', 'invoicing' ), |
|
199 | + 'remove_featured_image' => __( 'Remove discount image', 'invoicing' ), |
|
200 | + 'use_featured_image' => __( 'Use as discount image', 'invoicing' ), |
|
201 | + 'insert_into_item' => __( 'Insert into discount', 'invoicing' ), |
|
202 | + 'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ), |
|
203 | + 'filter_items_list' => __( 'Filter discounts', 'invoicing' ), |
|
204 | + 'items_list_navigation' => __( 'Discount navigation', 'invoicing' ), |
|
205 | + 'items_list' => __( 'Discounts list', 'invoicing' ), |
|
206 | + ), |
|
207 | + 'description' => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ), |
|
208 | + 'public' => false, |
|
209 | + 'can_export' => $capabilities ? true : false, |
|
210 | + '_builtin' => false, |
|
211 | + 'publicly_queryable' => false, |
|
212 | + 'exclude_from_search' => true, |
|
213 | + 'show_ui' => $capabilities ? true : false, |
|
214 | + 'show_in_menu' => $capabilities ? 'wpinv' : false, |
|
215 | + 'query_var' => false, |
|
216 | + 'rewrite' => false, |
|
217 | + 'map_meta_cap' => true, |
|
218 | + 'has_archive' => false, |
|
219 | + 'hierarchical' => false, |
|
220 | + 'supports' => array( 'title', 'excerpt' ), |
|
221 | + 'show_in_nav_menus' => false, |
|
222 | + 'show_in_admin_bar' => $capabilities ? true : false, |
|
223 | + 'menu_position' => null, |
|
224 | + ) |
|
225 | + ) |
|
226 | + ); |
|
227 | 227 | |
228 | - do_action( 'getpaid_after_register_post_types' ); |
|
229 | - } |
|
228 | + do_action( 'getpaid_after_register_post_types' ); |
|
229 | + } |
|
230 | 230 | |
231 | - /** |
|
232 | - * Register our custom post statuses. |
|
233 | - */ |
|
234 | - public static function register_post_status() { |
|
231 | + /** |
|
232 | + * Register our custom post statuses. |
|
233 | + */ |
|
234 | + public static function register_post_status() { |
|
235 | 235 | |
236 | - $invoice_statuses = apply_filters( |
|
237 | - 'getpaid_register_invoice_post_statuses', |
|
238 | - array( |
|
236 | + $invoice_statuses = apply_filters( |
|
237 | + 'getpaid_register_invoice_post_statuses', |
|
238 | + array( |
|
239 | 239 | |
240 | - 'wpi-pending' => array( |
|
241 | - 'label' => _x( 'Pending Payment', 'Invoice status', 'invoicing' ), |
|
242 | - 'public' => true, |
|
243 | - 'exclude_from_search' => true, |
|
244 | - 'show_in_admin_all_list' => true, |
|
245 | - 'show_in_admin_status_list' => true, |
|
246 | - /* translators: %s: number of invoices */ |
|
247 | - 'label_count' => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' ), |
|
248 | - ), |
|
240 | + 'wpi-pending' => array( |
|
241 | + 'label' => _x( 'Pending Payment', 'Invoice status', 'invoicing' ), |
|
242 | + 'public' => true, |
|
243 | + 'exclude_from_search' => true, |
|
244 | + 'show_in_admin_all_list' => true, |
|
245 | + 'show_in_admin_status_list' => true, |
|
246 | + /* translators: %s: number of invoices */ |
|
247 | + 'label_count' => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' ), |
|
248 | + ), |
|
249 | 249 | |
250 | - 'wpi-processing' => array( |
|
251 | - 'label' => _x( 'Processing', 'Invoice status', 'invoicing' ), |
|
252 | - 'public' => true, |
|
253 | - 'exclude_from_search' => true, |
|
254 | - 'show_in_admin_all_list' => true, |
|
255 | - 'show_in_admin_status_list' => true, |
|
256 | - /* translators: %s: number of invoices */ |
|
257 | - 'label_count' => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' ), |
|
258 | - ), |
|
250 | + 'wpi-processing' => array( |
|
251 | + 'label' => _x( 'Processing', 'Invoice status', 'invoicing' ), |
|
252 | + 'public' => true, |
|
253 | + 'exclude_from_search' => true, |
|
254 | + 'show_in_admin_all_list' => true, |
|
255 | + 'show_in_admin_status_list' => true, |
|
256 | + /* translators: %s: number of invoices */ |
|
257 | + 'label_count' => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' ), |
|
258 | + ), |
|
259 | 259 | |
260 | - 'wpi-onhold' => array( |
|
261 | - 'label' => _x( 'On Hold', 'Invoice status', 'invoicing' ), |
|
262 | - 'public' => true, |
|
263 | - 'exclude_from_search' => true, |
|
264 | - 'show_in_admin_all_list' => true, |
|
265 | - 'show_in_admin_status_list' => true, |
|
266 | - /* translators: %s: number of invoices */ |
|
267 | - 'label_count' => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' ), |
|
268 | - ), |
|
260 | + 'wpi-onhold' => array( |
|
261 | + 'label' => _x( 'On Hold', 'Invoice status', 'invoicing' ), |
|
262 | + 'public' => true, |
|
263 | + 'exclude_from_search' => true, |
|
264 | + 'show_in_admin_all_list' => true, |
|
265 | + 'show_in_admin_status_list' => true, |
|
266 | + /* translators: %s: number of invoices */ |
|
267 | + 'label_count' => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' ), |
|
268 | + ), |
|
269 | 269 | |
270 | - 'wpi-cancelled' => array( |
|
271 | - 'label' => _x( 'Cancelled', 'Invoice status', 'invoicing' ), |
|
272 | - 'public' => true, |
|
273 | - 'exclude_from_search' => true, |
|
274 | - 'show_in_admin_all_list' => true, |
|
275 | - 'show_in_admin_status_list' => true, |
|
276 | - /* translators: %s: number of invoices */ |
|
277 | - 'label_count' => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' ), |
|
278 | - ), |
|
270 | + 'wpi-cancelled' => array( |
|
271 | + 'label' => _x( 'Cancelled', 'Invoice status', 'invoicing' ), |
|
272 | + 'public' => true, |
|
273 | + 'exclude_from_search' => true, |
|
274 | + 'show_in_admin_all_list' => true, |
|
275 | + 'show_in_admin_status_list' => true, |
|
276 | + /* translators: %s: number of invoices */ |
|
277 | + 'label_count' => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' ), |
|
278 | + ), |
|
279 | 279 | |
280 | - 'wpi-refunded' => array( |
|
281 | - 'label' => _x( 'Refunded', 'Invoice status', 'invoicing' ), |
|
282 | - 'public' => true, |
|
283 | - 'exclude_from_search' => true, |
|
284 | - 'show_in_admin_all_list' => true, |
|
285 | - 'show_in_admin_status_list' => true, |
|
286 | - /* translators: %s: number of invoices */ |
|
287 | - 'label_count' => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' ), |
|
288 | - ), |
|
280 | + 'wpi-refunded' => array( |
|
281 | + 'label' => _x( 'Refunded', 'Invoice status', 'invoicing' ), |
|
282 | + 'public' => true, |
|
283 | + 'exclude_from_search' => true, |
|
284 | + 'show_in_admin_all_list' => true, |
|
285 | + 'show_in_admin_status_list' => true, |
|
286 | + /* translators: %s: number of invoices */ |
|
287 | + 'label_count' => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' ), |
|
288 | + ), |
|
289 | 289 | |
290 | - 'wpi-failed' => array( |
|
291 | - 'label' => _x( 'Failed', 'Invoice status', 'invoicing' ), |
|
292 | - 'public' => true, |
|
293 | - 'exclude_from_search' => true, |
|
294 | - 'show_in_admin_all_list' => true, |
|
295 | - 'show_in_admin_status_list' => true, |
|
296 | - /* translators: %s: number of invoices */ |
|
297 | - 'label_count' => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' ), |
|
298 | - ), |
|
290 | + 'wpi-failed' => array( |
|
291 | + 'label' => _x( 'Failed', 'Invoice status', 'invoicing' ), |
|
292 | + 'public' => true, |
|
293 | + 'exclude_from_search' => true, |
|
294 | + 'show_in_admin_all_list' => true, |
|
295 | + 'show_in_admin_status_list' => true, |
|
296 | + /* translators: %s: number of invoices */ |
|
297 | + 'label_count' => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' ), |
|
298 | + ), |
|
299 | 299 | |
300 | - 'wpi-renewal' => array( |
|
301 | - 'label' => _x( 'Renewal', 'Invoice status', 'invoicing' ), |
|
302 | - 'public' => true, |
|
303 | - 'exclude_from_search' => true, |
|
304 | - 'show_in_admin_all_list' => true, |
|
305 | - 'show_in_admin_status_list' => true, |
|
306 | - /* translators: %s: number of invoices */ |
|
307 | - 'label_count' => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' ), |
|
308 | - ), |
|
309 | - ) |
|
310 | - ); |
|
300 | + 'wpi-renewal' => array( |
|
301 | + 'label' => _x( 'Renewal', 'Invoice status', 'invoicing' ), |
|
302 | + 'public' => true, |
|
303 | + 'exclude_from_search' => true, |
|
304 | + 'show_in_admin_all_list' => true, |
|
305 | + 'show_in_admin_status_list' => true, |
|
306 | + /* translators: %s: number of invoices */ |
|
307 | + 'label_count' => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' ), |
|
308 | + ), |
|
309 | + ) |
|
310 | + ); |
|
311 | 311 | |
312 | - foreach ( $invoice_statuses as $invoice_statuse => $args ) { |
|
313 | - register_post_status( $invoice_statuse, $args ); |
|
314 | - } |
|
315 | - } |
|
312 | + foreach ( $invoice_statuses as $invoice_statuse => $args ) { |
|
313 | + register_post_status( $invoice_statuse, $args ); |
|
314 | + } |
|
315 | + } |
|
316 | 316 | |
317 | - /** |
|
318 | - * Flush rewrite rules. |
|
319 | - */ |
|
320 | - public static function flush_rewrite_rules() { |
|
321 | - flush_rewrite_rules(); |
|
322 | - } |
|
317 | + /** |
|
318 | + * Flush rewrite rules. |
|
319 | + */ |
|
320 | + public static function flush_rewrite_rules() { |
|
321 | + flush_rewrite_rules(); |
|
322 | + } |
|
323 | 323 | |
324 | - /** |
|
325 | - * Flush rules to prevent 404. |
|
326 | - * |
|
327 | - */ |
|
328 | - public static function maybe_flush_rewrite_rules() { |
|
329 | - if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) { |
|
330 | - update_option( 'getpaid_flushed_rewrite_rules', '1' ); |
|
331 | - self::flush_rewrite_rules(); |
|
332 | - } |
|
333 | - } |
|
324 | + /** |
|
325 | + * Flush rules to prevent 404. |
|
326 | + * |
|
327 | + */ |
|
328 | + public static function maybe_flush_rewrite_rules() { |
|
329 | + if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) { |
|
330 | + update_option( 'getpaid_flushed_rewrite_rules', '1' ); |
|
331 | + self::flush_rewrite_rules(); |
|
332 | + } |
|
333 | + } |
|
334 | 334 | |
335 | 335 | } |
@@ -6,7 +6,7 @@ discard block |
||
6 | 6 | * |
7 | 7 | */ |
8 | 8 | |
9 | -defined( 'ABSPATH' ) || exit; |
|
9 | +defined('ABSPATH') || exit; |
|
10 | 10 | |
11 | 11 | /** |
12 | 12 | * Post types Class |
@@ -18,10 +18,10 @@ discard block |
||
18 | 18 | * Hook in methods. |
19 | 19 | */ |
20 | 20 | public function __construct() { |
21 | - add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 ); |
|
22 | - add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 ); |
|
23 | - add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) ); |
|
24 | - add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) ); |
|
21 | + add_action('init', array(__CLASS__, 'register_post_types'), 1); |
|
22 | + add_action('init', array(__CLASS__, 'register_post_status'), 4); |
|
23 | + add_action('getpaid_flush_rewrite_rules', array(__CLASS__, 'flush_rewrite_rules')); |
|
24 | + add_action('getpaid_after_register_post_types', array(__CLASS__, 'maybe_flush_rewrite_rules')); |
|
25 | 25 | } |
26 | 26 | |
27 | 27 | /** |
@@ -29,14 +29,14 @@ discard block |
||
29 | 29 | */ |
30 | 30 | public static function register_post_types() { |
31 | 31 | |
32 | - if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) { |
|
32 | + if (!is_blog_installed() || post_type_exists('wpi_item')) { |
|
33 | 33 | return; |
34 | 34 | } |
35 | 35 | |
36 | 36 | $capabilities = wpinv_current_user_can_manage_invoicing(); |
37 | 37 | |
38 | 38 | // Fires before registering post types. |
39 | - do_action( 'getpaid_register_post_types' ); |
|
39 | + do_action('getpaid_register_post_types'); |
|
40 | 40 | |
41 | 41 | // Register item post type. |
42 | 42 | register_post_type( |
@@ -45,29 +45,29 @@ discard block |
||
45 | 45 | 'wpinv_register_post_type_invoice_item', |
46 | 46 | array( |
47 | 47 | 'labels' => array( |
48 | - 'name' => _x( 'Items', 'post type general name', 'invoicing' ), |
|
49 | - 'singular_name' => _x( 'Item', 'post type singular name', 'invoicing' ), |
|
50 | - 'menu_name' => _x( 'Items', 'admin menu', 'invoicing' ), |
|
51 | - 'name_admin_bar' => _x( 'Item', 'add new on admin bar', 'invoicing' ), |
|
52 | - 'add_new' => _x( 'Add New', 'Item', 'invoicing' ), |
|
53 | - 'add_new_item' => __( 'Add New Item', 'invoicing' ), |
|
54 | - 'new_item' => __( 'New Item', 'invoicing' ), |
|
55 | - 'edit_item' => __( 'Edit Item', 'invoicing' ), |
|
56 | - 'view_item' => __( 'View Item', 'invoicing' ), |
|
57 | - 'all_items' => __( 'Items', 'invoicing' ), |
|
58 | - 'search_items' => __( 'Search items', 'invoicing' ), |
|
59 | - 'parent_item_colon' => __( 'Parent item:', 'invoicing' ), |
|
60 | - 'not_found' => __( 'No items found.', 'invoicing' ), |
|
61 | - 'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' ), |
|
48 | + 'name' => _x('Items', 'post type general name', 'invoicing'), |
|
49 | + 'singular_name' => _x('Item', 'post type singular name', 'invoicing'), |
|
50 | + 'menu_name' => _x('Items', 'admin menu', 'invoicing'), |
|
51 | + 'name_admin_bar' => _x('Item', 'add new on admin bar', 'invoicing'), |
|
52 | + 'add_new' => _x('Add New', 'Item', 'invoicing'), |
|
53 | + 'add_new_item' => __('Add New Item', 'invoicing'), |
|
54 | + 'new_item' => __('New Item', 'invoicing'), |
|
55 | + 'edit_item' => __('Edit Item', 'invoicing'), |
|
56 | + 'view_item' => __('View Item', 'invoicing'), |
|
57 | + 'all_items' => __('Items', 'invoicing'), |
|
58 | + 'search_items' => __('Search items', 'invoicing'), |
|
59 | + 'parent_item_colon' => __('Parent item:', 'invoicing'), |
|
60 | + 'not_found' => __('No items found.', 'invoicing'), |
|
61 | + 'not_found_in_trash' => __('No items found in trash.', 'invoicing'), |
|
62 | 62 | ), |
63 | - 'description' => __( 'This is where you can add new invoice items.', 'invoicing' ), |
|
63 | + 'description' => __('This is where you can add new invoice items.', 'invoicing'), |
|
64 | 64 | 'public' => false, |
65 | 65 | 'has_archive' => false, |
66 | 66 | '_builtin' => false, |
67 | 67 | 'show_ui' => $capabilities ? true : false, |
68 | 68 | 'show_in_menu' => $capabilities ? 'wpinv' : false, |
69 | 69 | 'show_in_nav_menus' => false, |
70 | - 'supports' => array( 'title', 'excerpt', 'thumbnail' ), |
|
70 | + 'supports' => array('title', 'excerpt', 'thumbnail'), |
|
71 | 71 | 'rewrite' => false, |
72 | 72 | 'query_var' => false, |
73 | 73 | 'map_meta_cap' => true, |
@@ -84,22 +84,22 @@ discard block |
||
84 | 84 | 'wpinv_register_post_type_payment_form', |
85 | 85 | array( |
86 | 86 | 'labels' => array( |
87 | - 'name' => _x( 'Payment Forms', 'post type general name', 'invoicing' ), |
|
88 | - 'singular_name' => _x( 'Payment Form', 'post type singular name', 'invoicing' ), |
|
89 | - 'menu_name' => _x( 'Payment Forms', 'admin menu', 'invoicing' ), |
|
90 | - 'name_admin_bar' => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ), |
|
91 | - 'add_new' => _x( 'Add New', 'Payment Form', 'invoicing' ), |
|
92 | - 'add_new_item' => __( 'Add New Payment Form', 'invoicing' ), |
|
93 | - 'new_item' => __( 'New Payment Form', 'invoicing' ), |
|
94 | - 'edit_item' => __( 'Edit Payment Form', 'invoicing' ), |
|
95 | - 'view_item' => __( 'View Payment Form', 'invoicing' ), |
|
96 | - 'all_items' => __( 'Payment Forms', 'invoicing' ), |
|
97 | - 'search_items' => __( 'Search Payment Forms', 'invoicing' ), |
|
98 | - 'parent_item_colon' => __( 'Parent Payment Forms:', 'invoicing' ), |
|
99 | - 'not_found' => __( 'No payment forms found.', 'invoicing' ), |
|
100 | - 'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' ), |
|
87 | + 'name' => _x('Payment Forms', 'post type general name', 'invoicing'), |
|
88 | + 'singular_name' => _x('Payment Form', 'post type singular name', 'invoicing'), |
|
89 | + 'menu_name' => _x('Payment Forms', 'admin menu', 'invoicing'), |
|
90 | + 'name_admin_bar' => _x('Payment Form', 'add new on admin bar', 'invoicing'), |
|
91 | + 'add_new' => _x('Add New', 'Payment Form', 'invoicing'), |
|
92 | + 'add_new_item' => __('Add New Payment Form', 'invoicing'), |
|
93 | + 'new_item' => __('New Payment Form', 'invoicing'), |
|
94 | + 'edit_item' => __('Edit Payment Form', 'invoicing'), |
|
95 | + 'view_item' => __('View Payment Form', 'invoicing'), |
|
96 | + 'all_items' => __('Payment Forms', 'invoicing'), |
|
97 | + 'search_items' => __('Search Payment Forms', 'invoicing'), |
|
98 | + 'parent_item_colon' => __('Parent Payment Forms:', 'invoicing'), |
|
99 | + 'not_found' => __('No payment forms found.', 'invoicing'), |
|
100 | + 'not_found_in_trash' => __('No payment forms found in trash.', 'invoicing'), |
|
101 | 101 | ), |
102 | - 'description' => __( 'Add new payment forms.', 'invoicing' ), |
|
102 | + 'description' => __('Add new payment forms.', 'invoicing'), |
|
103 | 103 | 'public' => false, |
104 | 104 | 'show_ui' => $capabilities ? true : false, |
105 | 105 | 'show_in_menu' => $capabilities ? 'wpinv' : false, |
@@ -110,7 +110,7 @@ discard block |
||
110 | 110 | 'has_archive' => false, |
111 | 111 | 'hierarchical' => false, |
112 | 112 | 'menu_position' => null, |
113 | - 'supports' => array( 'title' ), |
|
113 | + 'supports' => array('title'), |
|
114 | 114 | 'menu_icon' => 'dashicons-media-form', |
115 | 115 | ) |
116 | 116 | ) |
@@ -123,32 +123,32 @@ discard block |
||
123 | 123 | 'wpinv_register_post_type_invoice', |
124 | 124 | array( |
125 | 125 | 'labels' => array( |
126 | - 'name' => __( 'Invoices', 'invoicing' ), |
|
127 | - 'singular_name' => __( 'Invoice', 'invoicing' ), |
|
128 | - 'all_items' => __( 'Invoices', 'invoicing' ), |
|
129 | - 'menu_name' => _x( 'Invoices', 'Admin menu name', 'invoicing' ), |
|
130 | - 'add_new' => __( 'Add New', 'invoicing' ), |
|
131 | - 'add_new_item' => __( 'Add new invoice', 'invoicing' ), |
|
132 | - 'edit' => __( 'Edit', 'invoicing' ), |
|
133 | - 'edit_item' => __( 'Edit invoice', 'invoicing' ), |
|
134 | - 'new_item' => __( 'New invoice', 'invoicing' ), |
|
135 | - 'view_item' => __( 'View invoice', 'invoicing' ), |
|
136 | - 'view_items' => __( 'View Invoices', 'invoicing' ), |
|
137 | - 'search_items' => __( 'Search invoices', 'invoicing' ), |
|
138 | - 'not_found' => __( 'No invoices found', 'invoicing' ), |
|
139 | - 'not_found_in_trash' => __( 'No invoices found in trash', 'invoicing' ), |
|
140 | - 'parent' => __( 'Parent invoice', 'invoicing' ), |
|
141 | - 'featured_image' => __( 'Invoice image', 'invoicing' ), |
|
142 | - 'set_featured_image' => __( 'Set invoice image', 'invoicing' ), |
|
143 | - 'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ), |
|
144 | - 'use_featured_image' => __( 'Use as invoice image', 'invoicing' ), |
|
145 | - 'insert_into_item' => __( 'Insert into invoice', 'invoicing' ), |
|
146 | - 'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ), |
|
147 | - 'filter_items_list' => __( 'Filter invoices', 'invoicing' ), |
|
148 | - 'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ), |
|
149 | - 'items_list' => __( 'Invoices list', 'invoicing' ), |
|
126 | + 'name' => __('Invoices', 'invoicing'), |
|
127 | + 'singular_name' => __('Invoice', 'invoicing'), |
|
128 | + 'all_items' => __('Invoices', 'invoicing'), |
|
129 | + 'menu_name' => _x('Invoices', 'Admin menu name', 'invoicing'), |
|
130 | + 'add_new' => __('Add New', 'invoicing'), |
|
131 | + 'add_new_item' => __('Add new invoice', 'invoicing'), |
|
132 | + 'edit' => __('Edit', 'invoicing'), |
|
133 | + 'edit_item' => __('Edit invoice', 'invoicing'), |
|
134 | + 'new_item' => __('New invoice', 'invoicing'), |
|
135 | + 'view_item' => __('View invoice', 'invoicing'), |
|
136 | + 'view_items' => __('View Invoices', 'invoicing'), |
|
137 | + 'search_items' => __('Search invoices', 'invoicing'), |
|
138 | + 'not_found' => __('No invoices found', 'invoicing'), |
|
139 | + 'not_found_in_trash' => __('No invoices found in trash', 'invoicing'), |
|
140 | + 'parent' => __('Parent invoice', 'invoicing'), |
|
141 | + 'featured_image' => __('Invoice image', 'invoicing'), |
|
142 | + 'set_featured_image' => __('Set invoice image', 'invoicing'), |
|
143 | + 'remove_featured_image' => __('Remove invoice image', 'invoicing'), |
|
144 | + 'use_featured_image' => __('Use as invoice image', 'invoicing'), |
|
145 | + 'insert_into_item' => __('Insert into invoice', 'invoicing'), |
|
146 | + 'uploaded_to_this_item' => __('Uploaded to this invoice', 'invoicing'), |
|
147 | + 'filter_items_list' => __('Filter invoices', 'invoicing'), |
|
148 | + 'items_list_navigation' => __('Invoices navigation', 'invoicing'), |
|
149 | + 'items_list' => __('Invoices list', 'invoicing'), |
|
150 | 150 | ), |
151 | - 'description' => __( 'This is where invoices are stored.', 'invoicing' ), |
|
151 | + 'description' => __('This is where invoices are stored.', 'invoicing'), |
|
152 | 152 | 'public' => true, |
153 | 153 | 'has_archive' => false, |
154 | 154 | 'publicly_queryable' => true, |
@@ -156,7 +156,7 @@ discard block |
||
156 | 156 | 'show_ui' => $capabilities ? true : false, |
157 | 157 | 'show_in_menu' => $capabilities ? 'wpinv' : false, |
158 | 158 | 'show_in_nav_menus' => false, |
159 | - 'supports' => array( 'title', 'author', 'excerpt' ), |
|
159 | + 'supports' => array('title', 'author', 'excerpt'), |
|
160 | 160 | 'rewrite' => array( |
161 | 161 | 'slug' => 'invoice', |
162 | 162 | 'with_front' => false, |
@@ -179,32 +179,32 @@ discard block |
||
179 | 179 | 'wpinv_register_post_type_discount', |
180 | 180 | array( |
181 | 181 | 'labels' => array( |
182 | - 'name' => __( 'Discounts', 'invoicing' ), |
|
183 | - 'singular_name' => __( 'Discount', 'invoicing' ), |
|
184 | - 'all_items' => __( 'Discounts', 'invoicing' ), |
|
185 | - 'menu_name' => _x( 'Discounts', 'Admin menu name', 'invoicing' ), |
|
186 | - 'add_new' => __( 'Add New', 'invoicing' ), |
|
187 | - 'add_new_item' => __( 'Add new discount', 'invoicing' ), |
|
188 | - 'edit' => __( 'Edit', 'invoicing' ), |
|
189 | - 'edit_item' => __( 'Edit discount', 'invoicing' ), |
|
190 | - 'new_item' => __( 'New discount', 'invoicing' ), |
|
191 | - 'view_item' => __( 'View discount', 'invoicing' ), |
|
192 | - 'view_items' => __( 'View Discounts', 'invoicing' ), |
|
193 | - 'search_items' => __( 'Search discounts', 'invoicing' ), |
|
194 | - 'not_found' => __( 'No discounts found', 'invoicing' ), |
|
195 | - 'not_found_in_trash' => __( 'No discounts found in trash', 'invoicing' ), |
|
196 | - 'parent' => __( 'Parent discount', 'invoicing' ), |
|
197 | - 'featured_image' => __( 'Discount image', 'invoicing' ), |
|
198 | - 'set_featured_image' => __( 'Set discount image', 'invoicing' ), |
|
199 | - 'remove_featured_image' => __( 'Remove discount image', 'invoicing' ), |
|
200 | - 'use_featured_image' => __( 'Use as discount image', 'invoicing' ), |
|
201 | - 'insert_into_item' => __( 'Insert into discount', 'invoicing' ), |
|
202 | - 'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ), |
|
203 | - 'filter_items_list' => __( 'Filter discounts', 'invoicing' ), |
|
204 | - 'items_list_navigation' => __( 'Discount navigation', 'invoicing' ), |
|
205 | - 'items_list' => __( 'Discounts list', 'invoicing' ), |
|
182 | + 'name' => __('Discounts', 'invoicing'), |
|
183 | + 'singular_name' => __('Discount', 'invoicing'), |
|
184 | + 'all_items' => __('Discounts', 'invoicing'), |
|
185 | + 'menu_name' => _x('Discounts', 'Admin menu name', 'invoicing'), |
|
186 | + 'add_new' => __('Add New', 'invoicing'), |
|
187 | + 'add_new_item' => __('Add new discount', 'invoicing'), |
|
188 | + 'edit' => __('Edit', 'invoicing'), |
|
189 | + 'edit_item' => __('Edit discount', 'invoicing'), |
|
190 | + 'new_item' => __('New discount', 'invoicing'), |
|
191 | + 'view_item' => __('View discount', 'invoicing'), |
|
192 | + 'view_items' => __('View Discounts', 'invoicing'), |
|
193 | + 'search_items' => __('Search discounts', 'invoicing'), |
|
194 | + 'not_found' => __('No discounts found', 'invoicing'), |
|
195 | + 'not_found_in_trash' => __('No discounts found in trash', 'invoicing'), |
|
196 | + 'parent' => __('Parent discount', 'invoicing'), |
|
197 | + 'featured_image' => __('Discount image', 'invoicing'), |
|
198 | + 'set_featured_image' => __('Set discount image', 'invoicing'), |
|
199 | + 'remove_featured_image' => __('Remove discount image', 'invoicing'), |
|
200 | + 'use_featured_image' => __('Use as discount image', 'invoicing'), |
|
201 | + 'insert_into_item' => __('Insert into discount', 'invoicing'), |
|
202 | + 'uploaded_to_this_item' => __('Uploaded to this discount', 'invoicing'), |
|
203 | + 'filter_items_list' => __('Filter discounts', 'invoicing'), |
|
204 | + 'items_list_navigation' => __('Discount navigation', 'invoicing'), |
|
205 | + 'items_list' => __('Discounts list', 'invoicing'), |
|
206 | 206 | ), |
207 | - 'description' => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ), |
|
207 | + 'description' => __('This is where you can add new discounts that users can use in invoices.', 'invoicing'), |
|
208 | 208 | 'public' => false, |
209 | 209 | 'can_export' => $capabilities ? true : false, |
210 | 210 | '_builtin' => false, |
@@ -217,7 +217,7 @@ discard block |
||
217 | 217 | 'map_meta_cap' => true, |
218 | 218 | 'has_archive' => false, |
219 | 219 | 'hierarchical' => false, |
220 | - 'supports' => array( 'title', 'excerpt' ), |
|
220 | + 'supports' => array('title', 'excerpt'), |
|
221 | 221 | 'show_in_nav_menus' => false, |
222 | 222 | 'show_in_admin_bar' => $capabilities ? true : false, |
223 | 223 | 'menu_position' => null, |
@@ -225,7 +225,7 @@ discard block |
||
225 | 225 | ) |
226 | 226 | ); |
227 | 227 | |
228 | - do_action( 'getpaid_after_register_post_types' ); |
|
228 | + do_action('getpaid_after_register_post_types'); |
|
229 | 229 | } |
230 | 230 | |
231 | 231 | /** |
@@ -238,79 +238,79 @@ discard block |
||
238 | 238 | array( |
239 | 239 | |
240 | 240 | 'wpi-pending' => array( |
241 | - 'label' => _x( 'Pending Payment', 'Invoice status', 'invoicing' ), |
|
241 | + 'label' => _x('Pending Payment', 'Invoice status', 'invoicing'), |
|
242 | 242 | 'public' => true, |
243 | 243 | 'exclude_from_search' => true, |
244 | 244 | 'show_in_admin_all_list' => true, |
245 | 245 | 'show_in_admin_status_list' => true, |
246 | 246 | /* translators: %s: number of invoices */ |
247 | - 'label_count' => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' ), |
|
247 | + 'label_count' => _n_noop('Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing'), |
|
248 | 248 | ), |
249 | 249 | |
250 | 250 | 'wpi-processing' => array( |
251 | - 'label' => _x( 'Processing', 'Invoice status', 'invoicing' ), |
|
251 | + 'label' => _x('Processing', 'Invoice status', 'invoicing'), |
|
252 | 252 | 'public' => true, |
253 | 253 | 'exclude_from_search' => true, |
254 | 254 | 'show_in_admin_all_list' => true, |
255 | 255 | 'show_in_admin_status_list' => true, |
256 | 256 | /* translators: %s: number of invoices */ |
257 | - 'label_count' => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' ), |
|
257 | + 'label_count' => _n_noop('Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing'), |
|
258 | 258 | ), |
259 | 259 | |
260 | 260 | 'wpi-onhold' => array( |
261 | - 'label' => _x( 'On Hold', 'Invoice status', 'invoicing' ), |
|
261 | + 'label' => _x('On Hold', 'Invoice status', 'invoicing'), |
|
262 | 262 | 'public' => true, |
263 | 263 | 'exclude_from_search' => true, |
264 | 264 | 'show_in_admin_all_list' => true, |
265 | 265 | 'show_in_admin_status_list' => true, |
266 | 266 | /* translators: %s: number of invoices */ |
267 | - 'label_count' => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' ), |
|
267 | + 'label_count' => _n_noop('On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing'), |
|
268 | 268 | ), |
269 | 269 | |
270 | 270 | 'wpi-cancelled' => array( |
271 | - 'label' => _x( 'Cancelled', 'Invoice status', 'invoicing' ), |
|
271 | + 'label' => _x('Cancelled', 'Invoice status', 'invoicing'), |
|
272 | 272 | 'public' => true, |
273 | 273 | 'exclude_from_search' => true, |
274 | 274 | 'show_in_admin_all_list' => true, |
275 | 275 | 'show_in_admin_status_list' => true, |
276 | 276 | /* translators: %s: number of invoices */ |
277 | - 'label_count' => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' ), |
|
277 | + 'label_count' => _n_noop('Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing'), |
|
278 | 278 | ), |
279 | 279 | |
280 | 280 | 'wpi-refunded' => array( |
281 | - 'label' => _x( 'Refunded', 'Invoice status', 'invoicing' ), |
|
281 | + 'label' => _x('Refunded', 'Invoice status', 'invoicing'), |
|
282 | 282 | 'public' => true, |
283 | 283 | 'exclude_from_search' => true, |
284 | 284 | 'show_in_admin_all_list' => true, |
285 | 285 | 'show_in_admin_status_list' => true, |
286 | 286 | /* translators: %s: number of invoices */ |
287 | - 'label_count' => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' ), |
|
287 | + 'label_count' => _n_noop('Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing'), |
|
288 | 288 | ), |
289 | 289 | |
290 | 290 | 'wpi-failed' => array( |
291 | - 'label' => _x( 'Failed', 'Invoice status', 'invoicing' ), |
|
291 | + 'label' => _x('Failed', 'Invoice status', 'invoicing'), |
|
292 | 292 | 'public' => true, |
293 | 293 | 'exclude_from_search' => true, |
294 | 294 | 'show_in_admin_all_list' => true, |
295 | 295 | 'show_in_admin_status_list' => true, |
296 | 296 | /* translators: %s: number of invoices */ |
297 | - 'label_count' => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' ), |
|
297 | + 'label_count' => _n_noop('Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing'), |
|
298 | 298 | ), |
299 | 299 | |
300 | 300 | 'wpi-renewal' => array( |
301 | - 'label' => _x( 'Renewal', 'Invoice status', 'invoicing' ), |
|
301 | + 'label' => _x('Renewal', 'Invoice status', 'invoicing'), |
|
302 | 302 | 'public' => true, |
303 | 303 | 'exclude_from_search' => true, |
304 | 304 | 'show_in_admin_all_list' => true, |
305 | 305 | 'show_in_admin_status_list' => true, |
306 | 306 | /* translators: %s: number of invoices */ |
307 | - 'label_count' => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' ), |
|
307 | + 'label_count' => _n_noop('Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing'), |
|
308 | 308 | ), |
309 | 309 | ) |
310 | 310 | ); |
311 | 311 | |
312 | - foreach ( $invoice_statuses as $invoice_statuse => $args ) { |
|
313 | - register_post_status( $invoice_statuse, $args ); |
|
312 | + foreach ($invoice_statuses as $invoice_statuse => $args) { |
|
313 | + register_post_status($invoice_statuse, $args); |
|
314 | 314 | } |
315 | 315 | } |
316 | 316 | |
@@ -326,8 +326,8 @@ discard block |
||
326 | 326 | * |
327 | 327 | */ |
328 | 328 | public static function maybe_flush_rewrite_rules() { |
329 | - if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) { |
|
330 | - update_option( 'getpaid_flushed_rewrite_rules', '1' ); |
|
329 | + if (!get_option('getpaid_flushed_rewrite_rules')) { |
|
330 | + update_option('getpaid_flushed_rewrite_rules', '1'); |
|
331 | 331 | self::flush_rewrite_rules(); |
332 | 332 | } |
333 | 333 | } |
@@ -8,7 +8,7 @@ discard block |
||
8 | 8 | } |
9 | 9 | |
10 | 10 | if ( ! class_exists( 'WP_List_Table' ) ) { |
11 | - include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php'; |
|
11 | + include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php'; |
|
12 | 12 | } |
13 | 13 | |
14 | 14 | /** |
@@ -16,472 +16,472 @@ discard block |
||
16 | 16 | */ |
17 | 17 | class WPInv_Subscriptions_List_Table extends WP_List_Table { |
18 | 18 | |
19 | - /** |
|
20 | - * URL of this page |
|
21 | - * |
|
22 | - * @var string |
|
23 | - * @since 1.0.19 |
|
24 | - */ |
|
25 | - public $base_url; |
|
26 | - |
|
27 | - /** |
|
28 | - * Query |
|
29 | - * |
|
30 | - * @var GetPaid_Subscriptions_Query |
|
31 | - * @since 1.0.19 |
|
32 | - */ |
|
33 | - public $query; |
|
34 | - |
|
35 | - /** |
|
36 | - * Total subscriptions |
|
37 | - * |
|
38 | - * @var string |
|
39 | - * @since 1.0.0 |
|
40 | - */ |
|
41 | - public $total_count; |
|
42 | - |
|
43 | - /** |
|
44 | - * Current status subscriptions |
|
45 | - * |
|
46 | - * @var string |
|
47 | - * @since 1.0.0 |
|
48 | - */ |
|
49 | - public $current_total_count; |
|
50 | - |
|
51 | - /** |
|
52 | - * Status counts |
|
53 | - * |
|
54 | - * @var array |
|
55 | - * @since 1.0.19 |
|
56 | - */ |
|
57 | - public $status_counts; |
|
58 | - |
|
59 | - /** |
|
60 | - * Number of results to show per page |
|
61 | - * |
|
62 | - * @var int |
|
63 | - * @since 1.0.0 |
|
64 | - */ |
|
65 | - public $per_page = 10; |
|
66 | - |
|
67 | - /** |
|
68 | - * Constructor function. |
|
69 | - */ |
|
70 | - public function __construct() { |
|
71 | - |
|
72 | - parent::__construct( |
|
73 | - array( |
|
74 | - 'singular' => 'subscription', |
|
75 | - 'plural' => 'subscriptions', |
|
76 | - ) |
|
77 | - ); |
|
78 | - |
|
79 | - $this->process_bulk_action(); |
|
80 | - |
|
81 | - $this->prepare_query(); |
|
82 | - |
|
83 | - $this->base_url = remove_query_arg( 'status' ); |
|
84 | - |
|
85 | - } |
|
86 | - |
|
87 | - /** |
|
88 | - * Prepares the display query |
|
89 | - */ |
|
90 | - public function prepare_query() { |
|
91 | - |
|
92 | - // Prepare query args. |
|
93 | - $query = array( |
|
94 | - 'number' => $this->per_page, |
|
95 | - 'paged' => $this->get_paged(), |
|
96 | - 'status' => ( isset( $_GET['status'] ) && array_key_exists( $_GET['status'], getpaid_get_subscription_statuses() ) ) ? sanitize_text_field( $_GET['status'] ) : 'all', |
|
97 | - 'orderby' => ( isset( $_GET['orderby'] ) ) ? sanitize_text_field( $_GET['orderby'] ) : 'id', |
|
98 | - 'order' => ( isset( $_GET['order'] ) ) ? sanitize_text_field( $_GET['order'] ) : 'DESC', |
|
99 | - 'customer_in' => $this->get_user_in(), |
|
100 | - ); |
|
101 | - |
|
102 | - if ( is_array( $query['customer_in'] ) && empty( $query['customer_in'] ) ) { |
|
103 | - $this->total_count = 0; |
|
104 | - $this->current_total_count = 0; |
|
105 | - $this->items = array(); |
|
106 | - $this->status_counts = array(); |
|
107 | - return; |
|
108 | - } |
|
109 | - |
|
110 | - // Prepare class properties. |
|
111 | - $this->query = new GetPaid_Subscriptions_Query( $query ); |
|
112 | - $this->total_count = $this->query->get_total(); |
|
113 | - $this->current_total_count = $this->query->get_total(); |
|
114 | - $this->items = $this->query->get_results(); |
|
115 | - $this->status_counts = getpaid_get_subscription_status_counts( $query ); |
|
116 | - |
|
117 | - if ( 'all' != $query['status'] ) { |
|
118 | - unset( $query['status'] ); |
|
119 | - $this->total_count = getpaid_get_subscriptions( $query, 'count' ); |
|
120 | - } |
|
121 | - |
|
122 | - } |
|
123 | - |
|
124 | - /** |
|
125 | - * Get user in. |
|
126 | - * |
|
127 | - */ |
|
128 | - public function get_user_in() { |
|
129 | - |
|
130 | - // Abort if no user. |
|
131 | - if ( empty( $_GET['s'] ) ) { |
|
132 | - return null; |
|
133 | - } |
|
134 | - |
|
135 | - // Or invalid user. |
|
136 | - $user = wp_unslash( sanitize_text_field( $_REQUEST['s'] ) ); |
|
137 | - |
|
138 | - if ( empty( $user ) ) { |
|
139 | - return null; |
|
140 | - } |
|
141 | - |
|
142 | - // Search matching users. |
|
143 | - $user = '*' . $user . '*'; |
|
144 | - $users = new WP_User_Query( |
|
145 | - array( |
|
146 | - 'fields' => 'ID', |
|
147 | - 'search' => $user, |
|
148 | - 'count_total' => false, |
|
149 | - ) |
|
150 | - ); |
|
151 | - |
|
152 | - return $users->get_results(); |
|
153 | - } |
|
154 | - |
|
155 | - /** |
|
156 | - * Gets the list of views available on this table. |
|
157 | - * |
|
158 | - * The format is an associative array: |
|
159 | - * - `'id' => 'link'` |
|
160 | - * |
|
161 | - * @since 1.0.0 |
|
162 | - * |
|
163 | - * @return array |
|
164 | - */ |
|
165 | - public function get_views() { |
|
166 | - |
|
167 | - $current = isset( $_GET['status'] ) ? sanitize_text_field( $_GET['status'] ) : 'all'; |
|
168 | - $views = array( |
|
169 | - |
|
170 | - 'all' => sprintf( |
|
171 | - '<a href="%s" %s>%s <span class="count">(%d)</span></a>', |
|
172 | - esc_url( add_query_arg( 'status', false, $this->base_url ) ), |
|
173 | - $current === 'all' ? ' class="current"' : '', |
|
174 | - __( 'All', 'invoicing' ), |
|
175 | - $this->total_count |
|
176 | - ), |
|
177 | - |
|
178 | - ); |
|
179 | - |
|
180 | - foreach ( array_filter( $this->status_counts ) as $status => $count ) { |
|
181 | - |
|
182 | - $views[ $status ] = sprintf( |
|
183 | - '<a href="%s" %s>%s <span class="count">(%d)</span></a>', |
|
184 | - esc_url( add_query_arg( 'status', urlencode( $status ), $this->base_url ) ), |
|
185 | - $current === $status ? ' class="current"' : '', |
|
186 | - esc_html( getpaid_get_subscription_status_label( $status ) ), |
|
187 | - $count |
|
188 | - ); |
|
189 | - |
|
190 | - } |
|
191 | - |
|
192 | - return $views; |
|
193 | - |
|
194 | - } |
|
195 | - |
|
196 | - /** |
|
197 | - * Render most columns |
|
198 | - * |
|
199 | - * @access private |
|
200 | - * @since 1.0.0 |
|
201 | - * @return string |
|
202 | - */ |
|
203 | - public function column_default( $item, $column_name ) { |
|
204 | - return apply_filters( "getpaid_subscriptions_table_column_$column_name", $item->$column_name ); |
|
205 | - } |
|
206 | - |
|
207 | - /** |
|
208 | - * This is how checkbox column renders. |
|
209 | - * |
|
210 | - * @param WPInv_Subscription $item |
|
211 | - * @return string |
|
212 | - */ |
|
213 | - public function column_cb( $item ) { |
|
214 | - return sprintf( '<input type="checkbox" name="id[]" value="%s" />', esc_html( $item->get_id() ) ); |
|
215 | - } |
|
216 | - |
|
217 | - /** |
|
218 | - * Status column |
|
219 | - * |
|
220 | - * @param WPInv_Subscription $item |
|
221 | - * @since 1.0.0 |
|
222 | - * @return string |
|
223 | - */ |
|
224 | - public function column_status( $item ) { |
|
225 | - return $item->get_status_label_html(); |
|
226 | - } |
|
227 | - |
|
228 | - /** |
|
229 | - * Subscription column |
|
230 | - * |
|
231 | - * @param WPInv_Subscription $item |
|
232 | - * @since 1.0.0 |
|
233 | - * @return string |
|
234 | - */ |
|
235 | - public function column_subscription( $item ) { |
|
236 | - |
|
237 | - $username = __( '(Missing User)', 'invoicing' ); |
|
238 | - |
|
239 | - $user = get_userdata( $item->get_customer_id() ); |
|
240 | - $capabilities = wpinv_current_user_can_manage_invoicing(); |
|
241 | - |
|
242 | - if ( $user ) { |
|
243 | - $username = sprintf( |
|
244 | - '<a href="user-edit.php?user_id=%s">%s</a>', |
|
245 | - absint( $user->ID ), |
|
246 | - ! empty( $user->display_name ) ? esc_html( $user->display_name ) : sanitize_email( $user->user_email ) |
|
247 | - ); |
|
248 | - } |
|
249 | - |
|
250 | - // translators: $1: is opening link, $2: is subscription id number, $3: is closing link tag, $4: is user's name |
|
251 | - $column_content = sprintf( |
|
252 | - _x( '%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing' ), |
|
253 | - '<a href="' . esc_url( admin_url( 'admin.php?page=wpinv-subscriptions&id=' . absint( $item->get_id() ) ) ) . '">', |
|
254 | - '<strong>' . esc_attr( $item->get_id() ) . '</strong>', |
|
255 | - '</a>', |
|
256 | - $username |
|
257 | - ); |
|
258 | - |
|
259 | - $row_actions = array(); |
|
260 | - |
|
261 | - // View subscription. |
|
262 | - $view_url = esc_url( add_query_arg( 'id', $item->get_id(), admin_url( 'admin.php?page=wpinv-subscriptions' ) ) ); |
|
263 | - $row_actions['view'] = '<a href="' . $view_url . '">' . __( 'View Subscription', 'invoicing' ) . '</a>'; |
|
264 | - |
|
265 | - // View invoice. |
|
266 | - $invoice = get_post( $item->get_parent_invoice_id() ); |
|
267 | - |
|
268 | - if ( ! empty( $invoice ) ) { |
|
269 | - $invoice_url = get_edit_post_link( $invoice ); |
|
270 | - $row_actions['invoice'] = '<a href="' . $invoice_url . '">' . __( 'View Invoice', 'invoicing' ) . '</a>'; |
|
271 | - } |
|
272 | - |
|
273 | - $delete_url = esc_url( |
|
274 | - wp_nonce_url( |
|
275 | - add_query_arg( |
|
276 | - array( |
|
277 | - 'getpaid-admin-action' => 'subscription_manual_delete', |
|
278 | - 'id' => $item->get_id(), |
|
279 | - ) |
|
280 | - ), |
|
281 | - 'getpaid-nonce', |
|
282 | - 'getpaid-nonce' |
|
283 | - ) |
|
284 | - ); |
|
285 | - $row_actions['delete'] = '<a class="text-danger" href="' . $delete_url . '">' . __( 'Delete Subscription', 'invoicing' ) . '</a>'; |
|
286 | - |
|
287 | - if ( ! $capabilities ) { |
|
288 | - $row_actions = array(); |
|
289 | - } |
|
290 | - |
|
291 | - $row_actions = $this->row_actions( apply_filters( 'getpaid_subscription_table_row_actions', $row_actions, $item ) ); |
|
292 | - |
|
293 | - return "<strong>$column_content</strong>" . $this->column_amount( $item ) . $row_actions; |
|
294 | - } |
|
295 | - |
|
296 | - /** |
|
297 | - * Renewal date column |
|
298 | - * |
|
299 | - * @param WPInv_Subscription $item |
|
300 | - * @since 1.0.0 |
|
301 | - * @return string |
|
302 | - */ |
|
303 | - public function column_renewal_date( $item ) { |
|
304 | - return getpaid_format_date_value( $item->get_expiration() ); |
|
305 | - } |
|
306 | - |
|
307 | - /** |
|
308 | - * Start date column |
|
309 | - * |
|
310 | - * @param WPInv_Subscription $item |
|
311 | - * @since 1.0.0 |
|
312 | - * @return string |
|
313 | - */ |
|
314 | - public function column_start_date( $item ) { |
|
315 | - |
|
316 | - $gateway = $item->get_parent_invoice()->get_gateway_title(); |
|
317 | - |
|
318 | - if ( empty( $gateway ) ) { |
|
319 | - return getpaid_format_date_value( $item->get_date_created() ); |
|
320 | - } |
|
321 | - |
|
322 | - $url = apply_filters( 'getpaid_remote_subscription_profile_url', '', $item ); |
|
323 | - if ( ! empty( $url ) ) { |
|
324 | - |
|
325 | - return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf( |
|
326 | - __( 'Via %s', 'invoicing' ), |
|
327 | - '<strong><a href="' . esc_url( $url ) . '" target="_blank">' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</a></strong>' |
|
328 | - ); |
|
329 | - |
|
330 | - } |
|
331 | - |
|
332 | - return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf( |
|
333 | - __( 'Via %s', 'invoicing' ), |
|
334 | - '<strong>' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</strong>' |
|
335 | - ); |
|
336 | - |
|
337 | - } |
|
338 | - |
|
339 | - /** |
|
340 | - * Amount column |
|
341 | - * |
|
342 | - * @param WPInv_Subscription $item |
|
343 | - * @since 1.0.19 |
|
344 | - * @return string |
|
345 | - */ |
|
346 | - public static function column_amount( $item ) { |
|
347 | - $amount = getpaid_get_formatted_subscription_amount( $item ); |
|
348 | - return "<span class='text-muted form-text mt-2 mb-2'>$amount</span>"; |
|
349 | - } |
|
350 | - |
|
351 | - /** |
|
352 | - * Billing Times column |
|
353 | - * |
|
354 | - * @param WPInv_Subscription $item |
|
355 | - * @since 1.0.0 |
|
356 | - * @return string |
|
357 | - */ |
|
358 | - public function column_renewals( $item ) { |
|
359 | - $max_bills = $item->get_bill_times(); |
|
360 | - return $item->get_times_billed() . ' / ' . ( empty( $max_bills ) ? '∞' : $max_bills ); |
|
361 | - } |
|
362 | - |
|
363 | - /** |
|
364 | - * Product ID column |
|
365 | - * |
|
366 | - * @param WPInv_Subscription $item |
|
367 | - * @since 1.0.0 |
|
368 | - * @return string |
|
369 | - */ |
|
370 | - public function column_item( $item ) { |
|
371 | - $subscription_group = getpaid_get_invoice_subscription_group( $item->get_parent_invoice_id(), $item->get_id() ); |
|
372 | - |
|
373 | - if ( empty( $subscription_group ) ) { |
|
374 | - return $this->generate_item_markup( $item->get_product_id() ); |
|
375 | - } |
|
376 | - |
|
377 | - $markup = array_map( array( $this, 'generate_item_markup' ), array_keys( $subscription_group['items'] ) ); |
|
378 | - return implode( ' | ', $markup ); |
|
379 | - |
|
380 | - } |
|
381 | - |
|
382 | - /** |
|
383 | - * Generates the items markup. |
|
384 | - * |
|
385 | - * @param int $item_id |
|
386 | - * @since 1.0.0 |
|
387 | - * @return string |
|
388 | - */ |
|
389 | - public static function generate_item_markup( $item_id ) { |
|
390 | - $item = get_post( $item_id ); |
|
391 | - |
|
392 | - if ( ! empty( $item ) ) { |
|
393 | - $link = get_edit_post_link( $item ); |
|
394 | - $link = esc_url( $link ); |
|
395 | - $name = esc_html( get_the_title( $item ) ); |
|
396 | - return wpinv_current_user_can_manage_invoicing() ? "<a href='$link'>$name</a>" : $name; |
|
397 | - } else { |
|
398 | - return sprintf( __( 'Item #%s', 'invoicing' ), $item_id ); |
|
399 | - } |
|
400 | - |
|
401 | - } |
|
402 | - |
|
403 | - /** |
|
404 | - * Retrieve the current page number |
|
405 | - * |
|
406 | - * @return int |
|
407 | - */ |
|
408 | - public function get_paged() { |
|
409 | - return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1; |
|
410 | - } |
|
411 | - |
|
412 | - /** |
|
413 | - * Setup the final data for the table |
|
414 | - * |
|
415 | - */ |
|
416 | - public function prepare_items() { |
|
417 | - |
|
418 | - $columns = $this->get_columns(); |
|
419 | - $hidden = array(); |
|
420 | - $sortable = $this->get_sortable_columns(); |
|
421 | - |
|
422 | - $this->_column_headers = array( $columns, $hidden, $sortable ); |
|
423 | - |
|
424 | - $this->set_pagination_args( |
|
425 | - array( |
|
426 | - 'total_items' => $this->current_total_count, |
|
427 | - 'per_page' => $this->per_page, |
|
428 | - 'total_pages' => ceil( $this->current_total_count / $this->per_page ), |
|
429 | - ) |
|
430 | - ); |
|
431 | - } |
|
432 | - |
|
433 | - /** |
|
434 | - * Table columns |
|
435 | - * |
|
436 | - * @return array |
|
437 | - */ |
|
438 | - public function get_columns() { |
|
439 | - $columns = array( |
|
440 | - 'cb' => '<input type="checkbox" />', |
|
441 | - 'subscription' => __( 'Subscription', 'invoicing' ), |
|
442 | - 'start_date' => __( 'Start Date', 'invoicing' ), |
|
443 | - 'renewal_date' => __( 'Next Payment', 'invoicing' ), |
|
444 | - 'renewals' => __( 'Payments', 'invoicing' ), |
|
445 | - 'item' => __( 'Items', 'invoicing' ), |
|
446 | - 'status' => __( 'Status', 'invoicing' ), |
|
447 | - ); |
|
448 | - |
|
449 | - return apply_filters( 'manage_getpaid_subscriptions_table_columns', $columns ); |
|
450 | - } |
|
451 | - |
|
452 | - /** |
|
453 | - * Sortable table columns. |
|
454 | - * |
|
455 | - * @return array |
|
456 | - */ |
|
457 | - public function get_sortable_columns() { |
|
458 | - $sortable = array( |
|
459 | - 'subscription' => array( 'id', true ), |
|
460 | - 'start_date' => array( 'created', true ), |
|
461 | - 'renewal_date' => array( 'expiration', true ), |
|
462 | - 'renewals' => array( 'bill_times', true ), |
|
463 | - 'item' => array( 'product_id', true ), |
|
464 | - 'status' => array( 'status', true ), |
|
465 | - ); |
|
466 | - |
|
467 | - return apply_filters( 'manage_getpaid_subscriptions_sortable_table_columns', $sortable ); |
|
468 | - } |
|
469 | - |
|
470 | - /** |
|
471 | - * Whether the table has items to display or not |
|
472 | - * |
|
473 | - * @return bool |
|
474 | - */ |
|
475 | - public function has_items() { |
|
476 | - return ! empty( $this->current_total_count ); |
|
477 | - } |
|
478 | - |
|
479 | - /** |
|
480 | - * Processes bulk actions. |
|
481 | - * |
|
482 | - */ |
|
483 | - public function process_bulk_action() { |
|
484 | - |
|
485 | - } |
|
19 | + /** |
|
20 | + * URL of this page |
|
21 | + * |
|
22 | + * @var string |
|
23 | + * @since 1.0.19 |
|
24 | + */ |
|
25 | + public $base_url; |
|
26 | + |
|
27 | + /** |
|
28 | + * Query |
|
29 | + * |
|
30 | + * @var GetPaid_Subscriptions_Query |
|
31 | + * @since 1.0.19 |
|
32 | + */ |
|
33 | + public $query; |
|
34 | + |
|
35 | + /** |
|
36 | + * Total subscriptions |
|
37 | + * |
|
38 | + * @var string |
|
39 | + * @since 1.0.0 |
|
40 | + */ |
|
41 | + public $total_count; |
|
42 | + |
|
43 | + /** |
|
44 | + * Current status subscriptions |
|
45 | + * |
|
46 | + * @var string |
|
47 | + * @since 1.0.0 |
|
48 | + */ |
|
49 | + public $current_total_count; |
|
50 | + |
|
51 | + /** |
|
52 | + * Status counts |
|
53 | + * |
|
54 | + * @var array |
|
55 | + * @since 1.0.19 |
|
56 | + */ |
|
57 | + public $status_counts; |
|
58 | + |
|
59 | + /** |
|
60 | + * Number of results to show per page |
|
61 | + * |
|
62 | + * @var int |
|
63 | + * @since 1.0.0 |
|
64 | + */ |
|
65 | + public $per_page = 10; |
|
66 | + |
|
67 | + /** |
|
68 | + * Constructor function. |
|
69 | + */ |
|
70 | + public function __construct() { |
|
71 | + |
|
72 | + parent::__construct( |
|
73 | + array( |
|
74 | + 'singular' => 'subscription', |
|
75 | + 'plural' => 'subscriptions', |
|
76 | + ) |
|
77 | + ); |
|
78 | + |
|
79 | + $this->process_bulk_action(); |
|
80 | + |
|
81 | + $this->prepare_query(); |
|
82 | + |
|
83 | + $this->base_url = remove_query_arg( 'status' ); |
|
84 | + |
|
85 | + } |
|
86 | + |
|
87 | + /** |
|
88 | + * Prepares the display query |
|
89 | + */ |
|
90 | + public function prepare_query() { |
|
91 | + |
|
92 | + // Prepare query args. |
|
93 | + $query = array( |
|
94 | + 'number' => $this->per_page, |
|
95 | + 'paged' => $this->get_paged(), |
|
96 | + 'status' => ( isset( $_GET['status'] ) && array_key_exists( $_GET['status'], getpaid_get_subscription_statuses() ) ) ? sanitize_text_field( $_GET['status'] ) : 'all', |
|
97 | + 'orderby' => ( isset( $_GET['orderby'] ) ) ? sanitize_text_field( $_GET['orderby'] ) : 'id', |
|
98 | + 'order' => ( isset( $_GET['order'] ) ) ? sanitize_text_field( $_GET['order'] ) : 'DESC', |
|
99 | + 'customer_in' => $this->get_user_in(), |
|
100 | + ); |
|
101 | + |
|
102 | + if ( is_array( $query['customer_in'] ) && empty( $query['customer_in'] ) ) { |
|
103 | + $this->total_count = 0; |
|
104 | + $this->current_total_count = 0; |
|
105 | + $this->items = array(); |
|
106 | + $this->status_counts = array(); |
|
107 | + return; |
|
108 | + } |
|
109 | + |
|
110 | + // Prepare class properties. |
|
111 | + $this->query = new GetPaid_Subscriptions_Query( $query ); |
|
112 | + $this->total_count = $this->query->get_total(); |
|
113 | + $this->current_total_count = $this->query->get_total(); |
|
114 | + $this->items = $this->query->get_results(); |
|
115 | + $this->status_counts = getpaid_get_subscription_status_counts( $query ); |
|
116 | + |
|
117 | + if ( 'all' != $query['status'] ) { |
|
118 | + unset( $query['status'] ); |
|
119 | + $this->total_count = getpaid_get_subscriptions( $query, 'count' ); |
|
120 | + } |
|
121 | + |
|
122 | + } |
|
123 | + |
|
124 | + /** |
|
125 | + * Get user in. |
|
126 | + * |
|
127 | + */ |
|
128 | + public function get_user_in() { |
|
129 | + |
|
130 | + // Abort if no user. |
|
131 | + if ( empty( $_GET['s'] ) ) { |
|
132 | + return null; |
|
133 | + } |
|
134 | + |
|
135 | + // Or invalid user. |
|
136 | + $user = wp_unslash( sanitize_text_field( $_REQUEST['s'] ) ); |
|
137 | + |
|
138 | + if ( empty( $user ) ) { |
|
139 | + return null; |
|
140 | + } |
|
141 | + |
|
142 | + // Search matching users. |
|
143 | + $user = '*' . $user . '*'; |
|
144 | + $users = new WP_User_Query( |
|
145 | + array( |
|
146 | + 'fields' => 'ID', |
|
147 | + 'search' => $user, |
|
148 | + 'count_total' => false, |
|
149 | + ) |
|
150 | + ); |
|
151 | + |
|
152 | + return $users->get_results(); |
|
153 | + } |
|
154 | + |
|
155 | + /** |
|
156 | + * Gets the list of views available on this table. |
|
157 | + * |
|
158 | + * The format is an associative array: |
|
159 | + * - `'id' => 'link'` |
|
160 | + * |
|
161 | + * @since 1.0.0 |
|
162 | + * |
|
163 | + * @return array |
|
164 | + */ |
|
165 | + public function get_views() { |
|
166 | + |
|
167 | + $current = isset( $_GET['status'] ) ? sanitize_text_field( $_GET['status'] ) : 'all'; |
|
168 | + $views = array( |
|
169 | + |
|
170 | + 'all' => sprintf( |
|
171 | + '<a href="%s" %s>%s <span class="count">(%d)</span></a>', |
|
172 | + esc_url( add_query_arg( 'status', false, $this->base_url ) ), |
|
173 | + $current === 'all' ? ' class="current"' : '', |
|
174 | + __( 'All', 'invoicing' ), |
|
175 | + $this->total_count |
|
176 | + ), |
|
177 | + |
|
178 | + ); |
|
179 | + |
|
180 | + foreach ( array_filter( $this->status_counts ) as $status => $count ) { |
|
181 | + |
|
182 | + $views[ $status ] = sprintf( |
|
183 | + '<a href="%s" %s>%s <span class="count">(%d)</span></a>', |
|
184 | + esc_url( add_query_arg( 'status', urlencode( $status ), $this->base_url ) ), |
|
185 | + $current === $status ? ' class="current"' : '', |
|
186 | + esc_html( getpaid_get_subscription_status_label( $status ) ), |
|
187 | + $count |
|
188 | + ); |
|
189 | + |
|
190 | + } |
|
191 | + |
|
192 | + return $views; |
|
193 | + |
|
194 | + } |
|
195 | + |
|
196 | + /** |
|
197 | + * Render most columns |
|
198 | + * |
|
199 | + * @access private |
|
200 | + * @since 1.0.0 |
|
201 | + * @return string |
|
202 | + */ |
|
203 | + public function column_default( $item, $column_name ) { |
|
204 | + return apply_filters( "getpaid_subscriptions_table_column_$column_name", $item->$column_name ); |
|
205 | + } |
|
206 | + |
|
207 | + /** |
|
208 | + * This is how checkbox column renders. |
|
209 | + * |
|
210 | + * @param WPInv_Subscription $item |
|
211 | + * @return string |
|
212 | + */ |
|
213 | + public function column_cb( $item ) { |
|
214 | + return sprintf( '<input type="checkbox" name="id[]" value="%s" />', esc_html( $item->get_id() ) ); |
|
215 | + } |
|
216 | + |
|
217 | + /** |
|
218 | + * Status column |
|
219 | + * |
|
220 | + * @param WPInv_Subscription $item |
|
221 | + * @since 1.0.0 |
|
222 | + * @return string |
|
223 | + */ |
|
224 | + public function column_status( $item ) { |
|
225 | + return $item->get_status_label_html(); |
|
226 | + } |
|
227 | + |
|
228 | + /** |
|
229 | + * Subscription column |
|
230 | + * |
|
231 | + * @param WPInv_Subscription $item |
|
232 | + * @since 1.0.0 |
|
233 | + * @return string |
|
234 | + */ |
|
235 | + public function column_subscription( $item ) { |
|
236 | + |
|
237 | + $username = __( '(Missing User)', 'invoicing' ); |
|
238 | + |
|
239 | + $user = get_userdata( $item->get_customer_id() ); |
|
240 | + $capabilities = wpinv_current_user_can_manage_invoicing(); |
|
241 | + |
|
242 | + if ( $user ) { |
|
243 | + $username = sprintf( |
|
244 | + '<a href="user-edit.php?user_id=%s">%s</a>', |
|
245 | + absint( $user->ID ), |
|
246 | + ! empty( $user->display_name ) ? esc_html( $user->display_name ) : sanitize_email( $user->user_email ) |
|
247 | + ); |
|
248 | + } |
|
249 | + |
|
250 | + // translators: $1: is opening link, $2: is subscription id number, $3: is closing link tag, $4: is user's name |
|
251 | + $column_content = sprintf( |
|
252 | + _x( '%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing' ), |
|
253 | + '<a href="' . esc_url( admin_url( 'admin.php?page=wpinv-subscriptions&id=' . absint( $item->get_id() ) ) ) . '">', |
|
254 | + '<strong>' . esc_attr( $item->get_id() ) . '</strong>', |
|
255 | + '</a>', |
|
256 | + $username |
|
257 | + ); |
|
258 | + |
|
259 | + $row_actions = array(); |
|
260 | + |
|
261 | + // View subscription. |
|
262 | + $view_url = esc_url( add_query_arg( 'id', $item->get_id(), admin_url( 'admin.php?page=wpinv-subscriptions' ) ) ); |
|
263 | + $row_actions['view'] = '<a href="' . $view_url . '">' . __( 'View Subscription', 'invoicing' ) . '</a>'; |
|
264 | + |
|
265 | + // View invoice. |
|
266 | + $invoice = get_post( $item->get_parent_invoice_id() ); |
|
267 | + |
|
268 | + if ( ! empty( $invoice ) ) { |
|
269 | + $invoice_url = get_edit_post_link( $invoice ); |
|
270 | + $row_actions['invoice'] = '<a href="' . $invoice_url . '">' . __( 'View Invoice', 'invoicing' ) . '</a>'; |
|
271 | + } |
|
272 | + |
|
273 | + $delete_url = esc_url( |
|
274 | + wp_nonce_url( |
|
275 | + add_query_arg( |
|
276 | + array( |
|
277 | + 'getpaid-admin-action' => 'subscription_manual_delete', |
|
278 | + 'id' => $item->get_id(), |
|
279 | + ) |
|
280 | + ), |
|
281 | + 'getpaid-nonce', |
|
282 | + 'getpaid-nonce' |
|
283 | + ) |
|
284 | + ); |
|
285 | + $row_actions['delete'] = '<a class="text-danger" href="' . $delete_url . '">' . __( 'Delete Subscription', 'invoicing' ) . '</a>'; |
|
286 | + |
|
287 | + if ( ! $capabilities ) { |
|
288 | + $row_actions = array(); |
|
289 | + } |
|
290 | + |
|
291 | + $row_actions = $this->row_actions( apply_filters( 'getpaid_subscription_table_row_actions', $row_actions, $item ) ); |
|
292 | + |
|
293 | + return "<strong>$column_content</strong>" . $this->column_amount( $item ) . $row_actions; |
|
294 | + } |
|
295 | + |
|
296 | + /** |
|
297 | + * Renewal date column |
|
298 | + * |
|
299 | + * @param WPInv_Subscription $item |
|
300 | + * @since 1.0.0 |
|
301 | + * @return string |
|
302 | + */ |
|
303 | + public function column_renewal_date( $item ) { |
|
304 | + return getpaid_format_date_value( $item->get_expiration() ); |
|
305 | + } |
|
306 | + |
|
307 | + /** |
|
308 | + * Start date column |
|
309 | + * |
|
310 | + * @param WPInv_Subscription $item |
|
311 | + * @since 1.0.0 |
|
312 | + * @return string |
|
313 | + */ |
|
314 | + public function column_start_date( $item ) { |
|
315 | + |
|
316 | + $gateway = $item->get_parent_invoice()->get_gateway_title(); |
|
317 | + |
|
318 | + if ( empty( $gateway ) ) { |
|
319 | + return getpaid_format_date_value( $item->get_date_created() ); |
|
320 | + } |
|
321 | + |
|
322 | + $url = apply_filters( 'getpaid_remote_subscription_profile_url', '', $item ); |
|
323 | + if ( ! empty( $url ) ) { |
|
324 | + |
|
325 | + return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf( |
|
326 | + __( 'Via %s', 'invoicing' ), |
|
327 | + '<strong><a href="' . esc_url( $url ) . '" target="_blank">' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</a></strong>' |
|
328 | + ); |
|
329 | + |
|
330 | + } |
|
331 | + |
|
332 | + return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf( |
|
333 | + __( 'Via %s', 'invoicing' ), |
|
334 | + '<strong>' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</strong>' |
|
335 | + ); |
|
336 | + |
|
337 | + } |
|
338 | + |
|
339 | + /** |
|
340 | + * Amount column |
|
341 | + * |
|
342 | + * @param WPInv_Subscription $item |
|
343 | + * @since 1.0.19 |
|
344 | + * @return string |
|
345 | + */ |
|
346 | + public static function column_amount( $item ) { |
|
347 | + $amount = getpaid_get_formatted_subscription_amount( $item ); |
|
348 | + return "<span class='text-muted form-text mt-2 mb-2'>$amount</span>"; |
|
349 | + } |
|
350 | + |
|
351 | + /** |
|
352 | + * Billing Times column |
|
353 | + * |
|
354 | + * @param WPInv_Subscription $item |
|
355 | + * @since 1.0.0 |
|
356 | + * @return string |
|
357 | + */ |
|
358 | + public function column_renewals( $item ) { |
|
359 | + $max_bills = $item->get_bill_times(); |
|
360 | + return $item->get_times_billed() . ' / ' . ( empty( $max_bills ) ? '∞' : $max_bills ); |
|
361 | + } |
|
362 | + |
|
363 | + /** |
|
364 | + * Product ID column |
|
365 | + * |
|
366 | + * @param WPInv_Subscription $item |
|
367 | + * @since 1.0.0 |
|
368 | + * @return string |
|
369 | + */ |
|
370 | + public function column_item( $item ) { |
|
371 | + $subscription_group = getpaid_get_invoice_subscription_group( $item->get_parent_invoice_id(), $item->get_id() ); |
|
372 | + |
|
373 | + if ( empty( $subscription_group ) ) { |
|
374 | + return $this->generate_item_markup( $item->get_product_id() ); |
|
375 | + } |
|
376 | + |
|
377 | + $markup = array_map( array( $this, 'generate_item_markup' ), array_keys( $subscription_group['items'] ) ); |
|
378 | + return implode( ' | ', $markup ); |
|
379 | + |
|
380 | + } |
|
381 | + |
|
382 | + /** |
|
383 | + * Generates the items markup. |
|
384 | + * |
|
385 | + * @param int $item_id |
|
386 | + * @since 1.0.0 |
|
387 | + * @return string |
|
388 | + */ |
|
389 | + public static function generate_item_markup( $item_id ) { |
|
390 | + $item = get_post( $item_id ); |
|
391 | + |
|
392 | + if ( ! empty( $item ) ) { |
|
393 | + $link = get_edit_post_link( $item ); |
|
394 | + $link = esc_url( $link ); |
|
395 | + $name = esc_html( get_the_title( $item ) ); |
|
396 | + return wpinv_current_user_can_manage_invoicing() ? "<a href='$link'>$name</a>" : $name; |
|
397 | + } else { |
|
398 | + return sprintf( __( 'Item #%s', 'invoicing' ), $item_id ); |
|
399 | + } |
|
400 | + |
|
401 | + } |
|
402 | + |
|
403 | + /** |
|
404 | + * Retrieve the current page number |
|
405 | + * |
|
406 | + * @return int |
|
407 | + */ |
|
408 | + public function get_paged() { |
|
409 | + return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1; |
|
410 | + } |
|
411 | + |
|
412 | + /** |
|
413 | + * Setup the final data for the table |
|
414 | + * |
|
415 | + */ |
|
416 | + public function prepare_items() { |
|
417 | + |
|
418 | + $columns = $this->get_columns(); |
|
419 | + $hidden = array(); |
|
420 | + $sortable = $this->get_sortable_columns(); |
|
421 | + |
|
422 | + $this->_column_headers = array( $columns, $hidden, $sortable ); |
|
423 | + |
|
424 | + $this->set_pagination_args( |
|
425 | + array( |
|
426 | + 'total_items' => $this->current_total_count, |
|
427 | + 'per_page' => $this->per_page, |
|
428 | + 'total_pages' => ceil( $this->current_total_count / $this->per_page ), |
|
429 | + ) |
|
430 | + ); |
|
431 | + } |
|
432 | + |
|
433 | + /** |
|
434 | + * Table columns |
|
435 | + * |
|
436 | + * @return array |
|
437 | + */ |
|
438 | + public function get_columns() { |
|
439 | + $columns = array( |
|
440 | + 'cb' => '<input type="checkbox" />', |
|
441 | + 'subscription' => __( 'Subscription', 'invoicing' ), |
|
442 | + 'start_date' => __( 'Start Date', 'invoicing' ), |
|
443 | + 'renewal_date' => __( 'Next Payment', 'invoicing' ), |
|
444 | + 'renewals' => __( 'Payments', 'invoicing' ), |
|
445 | + 'item' => __( 'Items', 'invoicing' ), |
|
446 | + 'status' => __( 'Status', 'invoicing' ), |
|
447 | + ); |
|
448 | + |
|
449 | + return apply_filters( 'manage_getpaid_subscriptions_table_columns', $columns ); |
|
450 | + } |
|
451 | + |
|
452 | + /** |
|
453 | + * Sortable table columns. |
|
454 | + * |
|
455 | + * @return array |
|
456 | + */ |
|
457 | + public function get_sortable_columns() { |
|
458 | + $sortable = array( |
|
459 | + 'subscription' => array( 'id', true ), |
|
460 | + 'start_date' => array( 'created', true ), |
|
461 | + 'renewal_date' => array( 'expiration', true ), |
|
462 | + 'renewals' => array( 'bill_times', true ), |
|
463 | + 'item' => array( 'product_id', true ), |
|
464 | + 'status' => array( 'status', true ), |
|
465 | + ); |
|
466 | + |
|
467 | + return apply_filters( 'manage_getpaid_subscriptions_sortable_table_columns', $sortable ); |
|
468 | + } |
|
469 | + |
|
470 | + /** |
|
471 | + * Whether the table has items to display or not |
|
472 | + * |
|
473 | + * @return bool |
|
474 | + */ |
|
475 | + public function has_items() { |
|
476 | + return ! empty( $this->current_total_count ); |
|
477 | + } |
|
478 | + |
|
479 | + /** |
|
480 | + * Processes bulk actions. |
|
481 | + * |
|
482 | + */ |
|
483 | + public function process_bulk_action() { |
|
484 | + |
|
485 | + } |
|
486 | 486 | |
487 | 487 | } |
@@ -3,11 +3,11 @@ discard block |
||
3 | 3 | * Displays a list of all subscriptions rules |
4 | 4 | */ |
5 | 5 | |
6 | -if ( ! defined( 'ABSPATH' ) ) { |
|
6 | +if (!defined('ABSPATH')) { |
|
7 | 7 | exit; |
8 | 8 | } |
9 | 9 | |
10 | -if ( ! class_exists( 'WP_List_Table' ) ) { |
|
10 | +if (!class_exists('WP_List_Table')) { |
|
11 | 11 | include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php'; |
12 | 12 | } |
13 | 13 | |
@@ -80,7 +80,7 @@ discard block |
||
80 | 80 | |
81 | 81 | $this->prepare_query(); |
82 | 82 | |
83 | - $this->base_url = remove_query_arg( 'status' ); |
|
83 | + $this->base_url = remove_query_arg('status'); |
|
84 | 84 | |
85 | 85 | } |
86 | 86 | |
@@ -93,13 +93,13 @@ discard block |
||
93 | 93 | $query = array( |
94 | 94 | 'number' => $this->per_page, |
95 | 95 | 'paged' => $this->get_paged(), |
96 | - 'status' => ( isset( $_GET['status'] ) && array_key_exists( $_GET['status'], getpaid_get_subscription_statuses() ) ) ? sanitize_text_field( $_GET['status'] ) : 'all', |
|
97 | - 'orderby' => ( isset( $_GET['orderby'] ) ) ? sanitize_text_field( $_GET['orderby'] ) : 'id', |
|
98 | - 'order' => ( isset( $_GET['order'] ) ) ? sanitize_text_field( $_GET['order'] ) : 'DESC', |
|
96 | + 'status' => (isset($_GET['status']) && array_key_exists($_GET['status'], getpaid_get_subscription_statuses())) ? sanitize_text_field($_GET['status']) : 'all', |
|
97 | + 'orderby' => (isset($_GET['orderby'])) ? sanitize_text_field($_GET['orderby']) : 'id', |
|
98 | + 'order' => (isset($_GET['order'])) ? sanitize_text_field($_GET['order']) : 'DESC', |
|
99 | 99 | 'customer_in' => $this->get_user_in(), |
100 | 100 | ); |
101 | 101 | |
102 | - if ( is_array( $query['customer_in'] ) && empty( $query['customer_in'] ) ) { |
|
102 | + if (is_array($query['customer_in']) && empty($query['customer_in'])) { |
|
103 | 103 | $this->total_count = 0; |
104 | 104 | $this->current_total_count = 0; |
105 | 105 | $this->items = array(); |
@@ -108,15 +108,15 @@ discard block |
||
108 | 108 | } |
109 | 109 | |
110 | 110 | // Prepare class properties. |
111 | - $this->query = new GetPaid_Subscriptions_Query( $query ); |
|
111 | + $this->query = new GetPaid_Subscriptions_Query($query); |
|
112 | 112 | $this->total_count = $this->query->get_total(); |
113 | 113 | $this->current_total_count = $this->query->get_total(); |
114 | 114 | $this->items = $this->query->get_results(); |
115 | - $this->status_counts = getpaid_get_subscription_status_counts( $query ); |
|
115 | + $this->status_counts = getpaid_get_subscription_status_counts($query); |
|
116 | 116 | |
117 | - if ( 'all' != $query['status'] ) { |
|
118 | - unset( $query['status'] ); |
|
119 | - $this->total_count = getpaid_get_subscriptions( $query, 'count' ); |
|
117 | + if ('all' != $query['status']) { |
|
118 | + unset($query['status']); |
|
119 | + $this->total_count = getpaid_get_subscriptions($query, 'count'); |
|
120 | 120 | } |
121 | 121 | |
122 | 122 | } |
@@ -128,14 +128,14 @@ discard block |
||
128 | 128 | public function get_user_in() { |
129 | 129 | |
130 | 130 | // Abort if no user. |
131 | - if ( empty( $_GET['s'] ) ) { |
|
131 | + if (empty($_GET['s'])) { |
|
132 | 132 | return null; |
133 | 133 | } |
134 | 134 | |
135 | 135 | // Or invalid user. |
136 | - $user = wp_unslash( sanitize_text_field( $_REQUEST['s'] ) ); |
|
136 | + $user = wp_unslash(sanitize_text_field($_REQUEST['s'])); |
|
137 | 137 | |
138 | - if ( empty( $user ) ) { |
|
138 | + if (empty($user)) { |
|
139 | 139 | return null; |
140 | 140 | } |
141 | 141 | |
@@ -164,26 +164,26 @@ discard block |
||
164 | 164 | */ |
165 | 165 | public function get_views() { |
166 | 166 | |
167 | - $current = isset( $_GET['status'] ) ? sanitize_text_field( $_GET['status'] ) : 'all'; |
|
167 | + $current = isset($_GET['status']) ? sanitize_text_field($_GET['status']) : 'all'; |
|
168 | 168 | $views = array( |
169 | 169 | |
170 | 170 | 'all' => sprintf( |
171 | 171 | '<a href="%s" %s>%s <span class="count">(%d)</span></a>', |
172 | - esc_url( add_query_arg( 'status', false, $this->base_url ) ), |
|
172 | + esc_url(add_query_arg('status', false, $this->base_url)), |
|
173 | 173 | $current === 'all' ? ' class="current"' : '', |
174 | - __( 'All', 'invoicing' ), |
|
174 | + __('All', 'invoicing'), |
|
175 | 175 | $this->total_count |
176 | 176 | ), |
177 | 177 | |
178 | 178 | ); |
179 | 179 | |
180 | - foreach ( array_filter( $this->status_counts ) as $status => $count ) { |
|
180 | + foreach (array_filter($this->status_counts) as $status => $count) { |
|
181 | 181 | |
182 | - $views[ $status ] = sprintf( |
|
182 | + $views[$status] = sprintf( |
|
183 | 183 | '<a href="%s" %s>%s <span class="count">(%d)</span></a>', |
184 | - esc_url( add_query_arg( 'status', urlencode( $status ), $this->base_url ) ), |
|
184 | + esc_url(add_query_arg('status', urlencode($status), $this->base_url)), |
|
185 | 185 | $current === $status ? ' class="current"' : '', |
186 | - esc_html( getpaid_get_subscription_status_label( $status ) ), |
|
186 | + esc_html(getpaid_get_subscription_status_label($status)), |
|
187 | 187 | $count |
188 | 188 | ); |
189 | 189 | |
@@ -200,8 +200,8 @@ discard block |
||
200 | 200 | * @since 1.0.0 |
201 | 201 | * @return string |
202 | 202 | */ |
203 | - public function column_default( $item, $column_name ) { |
|
204 | - return apply_filters( "getpaid_subscriptions_table_column_$column_name", $item->$column_name ); |
|
203 | + public function column_default($item, $column_name) { |
|
204 | + return apply_filters("getpaid_subscriptions_table_column_$column_name", $item->$column_name); |
|
205 | 205 | } |
206 | 206 | |
207 | 207 | /** |
@@ -210,8 +210,8 @@ discard block |
||
210 | 210 | * @param WPInv_Subscription $item |
211 | 211 | * @return string |
212 | 212 | */ |
213 | - public function column_cb( $item ) { |
|
214 | - return sprintf( '<input type="checkbox" name="id[]" value="%s" />', esc_html( $item->get_id() ) ); |
|
213 | + public function column_cb($item) { |
|
214 | + return sprintf('<input type="checkbox" name="id[]" value="%s" />', esc_html($item->get_id())); |
|
215 | 215 | } |
216 | 216 | |
217 | 217 | /** |
@@ -221,7 +221,7 @@ discard block |
||
221 | 221 | * @since 1.0.0 |
222 | 222 | * @return string |
223 | 223 | */ |
224 | - public function column_status( $item ) { |
|
224 | + public function column_status($item) { |
|
225 | 225 | return $item->get_status_label_html(); |
226 | 226 | } |
227 | 227 | |
@@ -232,26 +232,26 @@ discard block |
||
232 | 232 | * @since 1.0.0 |
233 | 233 | * @return string |
234 | 234 | */ |
235 | - public function column_subscription( $item ) { |
|
235 | + public function column_subscription($item) { |
|
236 | 236 | |
237 | - $username = __( '(Missing User)', 'invoicing' ); |
|
237 | + $username = __('(Missing User)', 'invoicing'); |
|
238 | 238 | |
239 | - $user = get_userdata( $item->get_customer_id() ); |
|
239 | + $user = get_userdata($item->get_customer_id()); |
|
240 | 240 | $capabilities = wpinv_current_user_can_manage_invoicing(); |
241 | 241 | |
242 | - if ( $user ) { |
|
242 | + if ($user) { |
|
243 | 243 | $username = sprintf( |
244 | 244 | '<a href="user-edit.php?user_id=%s">%s</a>', |
245 | - absint( $user->ID ), |
|
246 | - ! empty( $user->display_name ) ? esc_html( $user->display_name ) : sanitize_email( $user->user_email ) |
|
245 | + absint($user->ID), |
|
246 | + !empty($user->display_name) ? esc_html($user->display_name) : sanitize_email($user->user_email) |
|
247 | 247 | ); |
248 | 248 | } |
249 | 249 | |
250 | 250 | // translators: $1: is opening link, $2: is subscription id number, $3: is closing link tag, $4: is user's name |
251 | 251 | $column_content = sprintf( |
252 | - _x( '%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing' ), |
|
253 | - '<a href="' . esc_url( admin_url( 'admin.php?page=wpinv-subscriptions&id=' . absint( $item->get_id() ) ) ) . '">', |
|
254 | - '<strong>' . esc_attr( $item->get_id() ) . '</strong>', |
|
252 | + _x('%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing'), |
|
253 | + '<a href="' . esc_url(admin_url('admin.php?page=wpinv-subscriptions&id=' . absint($item->get_id()))) . '">', |
|
254 | + '<strong>' . esc_attr($item->get_id()) . '</strong>', |
|
255 | 255 | '</a>', |
256 | 256 | $username |
257 | 257 | ); |
@@ -259,18 +259,18 @@ discard block |
||
259 | 259 | $row_actions = array(); |
260 | 260 | |
261 | 261 | // View subscription. |
262 | - $view_url = esc_url( add_query_arg( 'id', $item->get_id(), admin_url( 'admin.php?page=wpinv-subscriptions' ) ) ); |
|
263 | - $row_actions['view'] = '<a href="' . $view_url . '">' . __( 'View Subscription', 'invoicing' ) . '</a>'; |
|
262 | + $view_url = esc_url(add_query_arg('id', $item->get_id(), admin_url('admin.php?page=wpinv-subscriptions'))); |
|
263 | + $row_actions['view'] = '<a href="' . $view_url . '">' . __('View Subscription', 'invoicing') . '</a>'; |
|
264 | 264 | |
265 | 265 | // View invoice. |
266 | - $invoice = get_post( $item->get_parent_invoice_id() ); |
|
266 | + $invoice = get_post($item->get_parent_invoice_id()); |
|
267 | 267 | |
268 | - if ( ! empty( $invoice ) ) { |
|
269 | - $invoice_url = get_edit_post_link( $invoice ); |
|
270 | - $row_actions['invoice'] = '<a href="' . $invoice_url . '">' . __( 'View Invoice', 'invoicing' ) . '</a>'; |
|
268 | + if (!empty($invoice)) { |
|
269 | + $invoice_url = get_edit_post_link($invoice); |
|
270 | + $row_actions['invoice'] = '<a href="' . $invoice_url . '">' . __('View Invoice', 'invoicing') . '</a>'; |
|
271 | 271 | } |
272 | 272 | |
273 | - $delete_url = esc_url( |
|
273 | + $delete_url = esc_url( |
|
274 | 274 | wp_nonce_url( |
275 | 275 | add_query_arg( |
276 | 276 | array( |
@@ -282,15 +282,15 @@ discard block |
||
282 | 282 | 'getpaid-nonce' |
283 | 283 | ) |
284 | 284 | ); |
285 | - $row_actions['delete'] = '<a class="text-danger" href="' . $delete_url . '">' . __( 'Delete Subscription', 'invoicing' ) . '</a>'; |
|
285 | + $row_actions['delete'] = '<a class="text-danger" href="' . $delete_url . '">' . __('Delete Subscription', 'invoicing') . '</a>'; |
|
286 | 286 | |
287 | - if ( ! $capabilities ) { |
|
287 | + if (!$capabilities) { |
|
288 | 288 | $row_actions = array(); |
289 | 289 | } |
290 | 290 | |
291 | - $row_actions = $this->row_actions( apply_filters( 'getpaid_subscription_table_row_actions', $row_actions, $item ) ); |
|
291 | + $row_actions = $this->row_actions(apply_filters('getpaid_subscription_table_row_actions', $row_actions, $item)); |
|
292 | 292 | |
293 | - return "<strong>$column_content</strong>" . $this->column_amount( $item ) . $row_actions; |
|
293 | + return "<strong>$column_content</strong>" . $this->column_amount($item) . $row_actions; |
|
294 | 294 | } |
295 | 295 | |
296 | 296 | /** |
@@ -300,8 +300,8 @@ discard block |
||
300 | 300 | * @since 1.0.0 |
301 | 301 | * @return string |
302 | 302 | */ |
303 | - public function column_renewal_date( $item ) { |
|
304 | - return getpaid_format_date_value( $item->get_expiration() ); |
|
303 | + public function column_renewal_date($item) { |
|
304 | + return getpaid_format_date_value($item->get_expiration()); |
|
305 | 305 | } |
306 | 306 | |
307 | 307 | /** |
@@ -311,27 +311,27 @@ discard block |
||
311 | 311 | * @since 1.0.0 |
312 | 312 | * @return string |
313 | 313 | */ |
314 | - public function column_start_date( $item ) { |
|
314 | + public function column_start_date($item) { |
|
315 | 315 | |
316 | 316 | $gateway = $item->get_parent_invoice()->get_gateway_title(); |
317 | 317 | |
318 | - if ( empty( $gateway ) ) { |
|
319 | - return getpaid_format_date_value( $item->get_date_created() ); |
|
318 | + if (empty($gateway)) { |
|
319 | + return getpaid_format_date_value($item->get_date_created()); |
|
320 | 320 | } |
321 | 321 | |
322 | - $url = apply_filters( 'getpaid_remote_subscription_profile_url', '', $item ); |
|
323 | - if ( ! empty( $url ) ) { |
|
322 | + $url = apply_filters('getpaid_remote_subscription_profile_url', '', $item); |
|
323 | + if (!empty($url)) { |
|
324 | 324 | |
325 | - return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf( |
|
326 | - __( 'Via %s', 'invoicing' ), |
|
327 | - '<strong><a href="' . esc_url( $url ) . '" target="_blank">' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</a></strong>' |
|
325 | + return getpaid_format_date_value($item->get_date_created()) . '<br>' . sprintf( |
|
326 | + __('Via %s', 'invoicing'), |
|
327 | + '<strong><a href="' . esc_url($url) . '" target="_blank">' . esc_html($item->get_parent_invoice()->get_gateway_title()) . '</a></strong>' |
|
328 | 328 | ); |
329 | 329 | |
330 | 330 | } |
331 | 331 | |
332 | - return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf( |
|
333 | - __( 'Via %s', 'invoicing' ), |
|
334 | - '<strong>' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</strong>' |
|
332 | + return getpaid_format_date_value($item->get_date_created()) . '<br>' . sprintf( |
|
333 | + __('Via %s', 'invoicing'), |
|
334 | + '<strong>' . esc_html($item->get_parent_invoice()->get_gateway_title()) . '</strong>' |
|
335 | 335 | ); |
336 | 336 | |
337 | 337 | } |
@@ -343,8 +343,8 @@ discard block |
||
343 | 343 | * @since 1.0.19 |
344 | 344 | * @return string |
345 | 345 | */ |
346 | - public static function column_amount( $item ) { |
|
347 | - $amount = getpaid_get_formatted_subscription_amount( $item ); |
|
346 | + public static function column_amount($item) { |
|
347 | + $amount = getpaid_get_formatted_subscription_amount($item); |
|
348 | 348 | return "<span class='text-muted form-text mt-2 mb-2'>$amount</span>"; |
349 | 349 | } |
350 | 350 | |
@@ -355,9 +355,9 @@ discard block |
||
355 | 355 | * @since 1.0.0 |
356 | 356 | * @return string |
357 | 357 | */ |
358 | - public function column_renewals( $item ) { |
|
358 | + public function column_renewals($item) { |
|
359 | 359 | $max_bills = $item->get_bill_times(); |
360 | - return $item->get_times_billed() . ' / ' . ( empty( $max_bills ) ? '∞' : $max_bills ); |
|
360 | + return $item->get_times_billed() . ' / ' . (empty($max_bills) ? '∞' : $max_bills); |
|
361 | 361 | } |
362 | 362 | |
363 | 363 | /** |
@@ -367,15 +367,15 @@ discard block |
||
367 | 367 | * @since 1.0.0 |
368 | 368 | * @return string |
369 | 369 | */ |
370 | - public function column_item( $item ) { |
|
371 | - $subscription_group = getpaid_get_invoice_subscription_group( $item->get_parent_invoice_id(), $item->get_id() ); |
|
370 | + public function column_item($item) { |
|
371 | + $subscription_group = getpaid_get_invoice_subscription_group($item->get_parent_invoice_id(), $item->get_id()); |
|
372 | 372 | |
373 | - if ( empty( $subscription_group ) ) { |
|
374 | - return $this->generate_item_markup( $item->get_product_id() ); |
|
373 | + if (empty($subscription_group)) { |
|
374 | + return $this->generate_item_markup($item->get_product_id()); |
|
375 | 375 | } |
376 | 376 | |
377 | - $markup = array_map( array( $this, 'generate_item_markup' ), array_keys( $subscription_group['items'] ) ); |
|
378 | - return implode( ' | ', $markup ); |
|
377 | + $markup = array_map(array($this, 'generate_item_markup'), array_keys($subscription_group['items'])); |
|
378 | + return implode(' | ', $markup); |
|
379 | 379 | |
380 | 380 | } |
381 | 381 | |
@@ -386,16 +386,16 @@ discard block |
||
386 | 386 | * @since 1.0.0 |
387 | 387 | * @return string |
388 | 388 | */ |
389 | - public static function generate_item_markup( $item_id ) { |
|
390 | - $item = get_post( $item_id ); |
|
389 | + public static function generate_item_markup($item_id) { |
|
390 | + $item = get_post($item_id); |
|
391 | 391 | |
392 | - if ( ! empty( $item ) ) { |
|
393 | - $link = get_edit_post_link( $item ); |
|
394 | - $link = esc_url( $link ); |
|
395 | - $name = esc_html( get_the_title( $item ) ); |
|
392 | + if (!empty($item)) { |
|
393 | + $link = get_edit_post_link($item); |
|
394 | + $link = esc_url($link); |
|
395 | + $name = esc_html(get_the_title($item)); |
|
396 | 396 | return wpinv_current_user_can_manage_invoicing() ? "<a href='$link'>$name</a>" : $name; |
397 | 397 | } else { |
398 | - return sprintf( __( 'Item #%s', 'invoicing' ), $item_id ); |
|
398 | + return sprintf(__('Item #%s', 'invoicing'), $item_id); |
|
399 | 399 | } |
400 | 400 | |
401 | 401 | } |
@@ -406,7 +406,7 @@ discard block |
||
406 | 406 | * @return int |
407 | 407 | */ |
408 | 408 | public function get_paged() { |
409 | - return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1; |
|
409 | + return isset($_GET['paged']) ? absint($_GET['paged']) : 1; |
|
410 | 410 | } |
411 | 411 | |
412 | 412 | /** |
@@ -419,13 +419,13 @@ discard block |
||
419 | 419 | $hidden = array(); |
420 | 420 | $sortable = $this->get_sortable_columns(); |
421 | 421 | |
422 | - $this->_column_headers = array( $columns, $hidden, $sortable ); |
|
422 | + $this->_column_headers = array($columns, $hidden, $sortable); |
|
423 | 423 | |
424 | 424 | $this->set_pagination_args( |
425 | 425 | array( |
426 | 426 | 'total_items' => $this->current_total_count, |
427 | 427 | 'per_page' => $this->per_page, |
428 | - 'total_pages' => ceil( $this->current_total_count / $this->per_page ), |
|
428 | + 'total_pages' => ceil($this->current_total_count / $this->per_page), |
|
429 | 429 | ) |
430 | 430 | ); |
431 | 431 | } |
@@ -438,15 +438,15 @@ discard block |
||
438 | 438 | public function get_columns() { |
439 | 439 | $columns = array( |
440 | 440 | 'cb' => '<input type="checkbox" />', |
441 | - 'subscription' => __( 'Subscription', 'invoicing' ), |
|
442 | - 'start_date' => __( 'Start Date', 'invoicing' ), |
|
443 | - 'renewal_date' => __( 'Next Payment', 'invoicing' ), |
|
444 | - 'renewals' => __( 'Payments', 'invoicing' ), |
|
445 | - 'item' => __( 'Items', 'invoicing' ), |
|
446 | - 'status' => __( 'Status', 'invoicing' ), |
|
441 | + 'subscription' => __('Subscription', 'invoicing'), |
|
442 | + 'start_date' => __('Start Date', 'invoicing'), |
|
443 | + 'renewal_date' => __('Next Payment', 'invoicing'), |
|
444 | + 'renewals' => __('Payments', 'invoicing'), |
|
445 | + 'item' => __('Items', 'invoicing'), |
|
446 | + 'status' => __('Status', 'invoicing'), |
|
447 | 447 | ); |
448 | 448 | |
449 | - return apply_filters( 'manage_getpaid_subscriptions_table_columns', $columns ); |
|
449 | + return apply_filters('manage_getpaid_subscriptions_table_columns', $columns); |
|
450 | 450 | } |
451 | 451 | |
452 | 452 | /** |
@@ -456,15 +456,15 @@ discard block |
||
456 | 456 | */ |
457 | 457 | public function get_sortable_columns() { |
458 | 458 | $sortable = array( |
459 | - 'subscription' => array( 'id', true ), |
|
460 | - 'start_date' => array( 'created', true ), |
|
461 | - 'renewal_date' => array( 'expiration', true ), |
|
462 | - 'renewals' => array( 'bill_times', true ), |
|
463 | - 'item' => array( 'product_id', true ), |
|
464 | - 'status' => array( 'status', true ), |
|
459 | + 'subscription' => array('id', true), |
|
460 | + 'start_date' => array('created', true), |
|
461 | + 'renewal_date' => array('expiration', true), |
|
462 | + 'renewals' => array('bill_times', true), |
|
463 | + 'item' => array('product_id', true), |
|
464 | + 'status' => array('status', true), |
|
465 | 465 | ); |
466 | 466 | |
467 | - return apply_filters( 'manage_getpaid_subscriptions_sortable_table_columns', $sortable ); |
|
467 | + return apply_filters('manage_getpaid_subscriptions_sortable_table_columns', $sortable); |
|
468 | 468 | } |
469 | 469 | |
470 | 470 | /** |
@@ -473,7 +473,7 @@ discard block |
||
473 | 473 | * @return bool |
474 | 474 | */ |
475 | 475 | public function has_items() { |
476 | - return ! empty( $this->current_total_count ); |
|
476 | + return !empty($this->current_total_count); |
|
477 | 477 | } |
478 | 478 | |
479 | 479 | /** |
@@ -1,2 +1,2 @@ |
||
1 | -<?php |
|
1 | + <?php |
|
2 | 2 | # Silence is golden. |
3 | 3 | \ No newline at end of file |
@@ -5,30 +5,30 @@ |
||
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 btn-close wpinv_remove_tax_rule" aria-label="<?php esc_attr_e( 'Delete', 'invoicing' ); ?>" title="<?php esc_attr_e( 'Delete', 'invoicing' ); ?>"> |
|
31 | - <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?> |
|
30 | + <button type="button" class="close btn-close wpinv_remove_tax_rule" aria-label="<?php esc_attr_e('Delete', 'invoicing'); ?>" title="<?php esc_attr_e('Delete', 'invoicing'); ?>"> |
|
31 | + <?php if (empty($GLOBALS['aui_bs5'])) : ?> |
|
32 | 32 | <span aria-hidden="true">×</span> |
33 | 33 | <?php endif; ?> |
34 | 34 | </button> |
@@ -7,40 +7,40 @@ |
||
7 | 7 | * Bail if we are not in WP. |
8 | 8 | */ |
9 | 9 | if ( ! defined( 'ABSPATH' ) ) { |
10 | - exit; |
|
10 | + exit; |
|
11 | 11 | } |
12 | 12 | |
13 | 13 | /** |
14 | 14 | * Set the version only if its the current newest while loading. |
15 | 15 | */ |
16 | 16 | add_action('after_setup_theme', function () { |
17 | - global $ayecode_ui_version,$ayecode_ui_file_key; |
|
18 | - $this_version = "0.2.26"; |
|
19 | - if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
20 | - $ayecode_ui_version = $this_version ; |
|
21 | - $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
22 | - } |
|
17 | + global $ayecode_ui_version,$ayecode_ui_file_key; |
|
18 | + $this_version = "0.2.26"; |
|
19 | + if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
20 | + $ayecode_ui_version = $this_version ; |
|
21 | + $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
22 | + } |
|
23 | 23 | },0); |
24 | 24 | |
25 | 25 | /** |
26 | 26 | * Load this version of WP Bootstrap Settings only if the file hash is the current one. |
27 | 27 | */ |
28 | 28 | add_action('after_setup_theme', function () { |
29 | - global $ayecode_ui_file_key; |
|
30 | - if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
31 | - include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
32 | - include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
33 | - } |
|
29 | + global $ayecode_ui_file_key; |
|
30 | + if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
31 | + include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
32 | + include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
33 | + } |
|
34 | 34 | },1); |
35 | 35 | |
36 | 36 | /** |
37 | 37 | * Add the function that calls the class. |
38 | 38 | */ |
39 | 39 | if(!function_exists('aui')){ |
40 | - function aui(){ |
|
41 | - if(!class_exists("AUI",false)){ |
|
42 | - return false; |
|
43 | - } |
|
44 | - return AUI::instance(); |
|
45 | - } |
|
40 | + function aui(){ |
|
41 | + if(!class_exists("AUI",false)){ |
|
42 | + return false; |
|
43 | + } |
|
44 | + return AUI::instance(); |
|
45 | + } |
|
46 | 46 | } |
@@ -6,39 +6,39 @@ |
||
6 | 6 | /** |
7 | 7 | * Bail if we are not in WP. |
8 | 8 | */ |
9 | -if ( ! defined( 'ABSPATH' ) ) { |
|
9 | +if (!defined('ABSPATH')) { |
|
10 | 10 | exit; |
11 | 11 | } |
12 | 12 | |
13 | 13 | /** |
14 | 14 | * Set the version only if its the current newest while loading. |
15 | 15 | */ |
16 | -add_action('after_setup_theme', function () { |
|
17 | - global $ayecode_ui_version,$ayecode_ui_file_key; |
|
16 | +add_action('after_setup_theme', function() { |
|
17 | + global $ayecode_ui_version, $ayecode_ui_file_key; |
|
18 | 18 | $this_version = "0.2.26"; |
19 | - if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
20 | - $ayecode_ui_version = $this_version ; |
|
21 | - $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
19 | + if (empty($ayecode_ui_version) || version_compare($this_version, $ayecode_ui_version, '>')) { |
|
20 | + $ayecode_ui_version = $this_version; |
|
21 | + $ayecode_ui_file_key = wp_hash(__FILE__); |
|
22 | 22 | } |
23 | 23 | },0); |
24 | 24 | |
25 | 25 | /** |
26 | 26 | * Load this version of WP Bootstrap Settings only if the file hash is the current one. |
27 | 27 | */ |
28 | -add_action('after_setup_theme', function () { |
|
28 | +add_action('after_setup_theme', function() { |
|
29 | 29 | global $ayecode_ui_file_key; |
30 | - if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
31 | - include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
32 | - include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
30 | + if ($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash(__FILE__)) { |
|
31 | + include_once(dirname(__FILE__) . '/includes/class-aui.php'); |
|
32 | + include_once(dirname(__FILE__) . '/includes/ayecode-ui-settings.php'); |
|
33 | 33 | } |
34 | 34 | },1); |
35 | 35 | |
36 | 36 | /** |
37 | 37 | * Add the function that calls the class. |
38 | 38 | */ |
39 | -if(!function_exists('aui')){ |
|
40 | - function aui(){ |
|
41 | - if(!class_exists("AUI",false)){ |
|
39 | +if (!function_exists('aui')) { |
|
40 | + function aui() { |
|
41 | + if (!class_exists("AUI", false)) { |
|
42 | 42 | return false; |
43 | 43 | } |
44 | 44 | return AUI::instance(); |
@@ -1,4 +1,4 @@ discard block |
||
1 | -<?php |
|
1 | + <?php |
|
2 | 2 | /** |
3 | 3 | * This is a file takes advantage of anonymous functions to to load the latest version of the AyeCode UI Settings. |
4 | 4 | */ |
@@ -6,41 +6,41 @@ discard block |
||
6 | 6 | /** |
7 | 7 | * Bail if we are not in WP. |
8 | 8 | */ |
9 | -if ( ! defined( 'ABSPATH' ) ) { |
|
10 | - exit; |
|
9 | + if ( ! defined( 'ABSPATH' ) ) { |
|
10 | + exit; |
|
11 | 11 | } |
12 | 12 | |
13 | 13 | /** |
14 | 14 | * Set the version only if its the current newest while loading. |
15 | 15 | */ |
16 | -add_action('after_setup_theme', function () { |
|
17 | - global $ayecode_ui_version,$ayecode_ui_file_key; |
|
18 | - $this_version = "0.2.26"; |
|
19 | - if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
20 | - $ayecode_ui_version = $this_version ; |
|
21 | - $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
22 | - } |
|
16 | + add_action('after_setup_theme', function () { |
|
17 | + global $ayecode_ui_version,$ayecode_ui_file_key; |
|
18 | + $this_version = "0.2.26"; |
|
19 | + if(empty($ayecode_ui_version) || version_compare($this_version , $ayecode_ui_version, '>')){ |
|
20 | + $ayecode_ui_version = $this_version ; |
|
21 | + $ayecode_ui_file_key = wp_hash( __FILE__ ); |
|
22 | + } |
|
23 | 23 | },0); |
24 | 24 | |
25 | 25 | /** |
26 | 26 | * Load this version of WP Bootstrap Settings only if the file hash is the current one. |
27 | 27 | */ |
28 | -add_action('after_setup_theme', function () { |
|
29 | - global $ayecode_ui_file_key; |
|
30 | - if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
31 | - include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
32 | - include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
33 | - } |
|
28 | + add_action('after_setup_theme', function () { |
|
29 | + global $ayecode_ui_file_key; |
|
30 | + if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){ |
|
31 | + include_once( dirname( __FILE__ ) . '/includes/class-aui.php' ); |
|
32 | + include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' ); |
|
33 | + } |
|
34 | 34 | },1); |
35 | 35 | |
36 | 36 | /** |
37 | 37 | * Add the function that calls the class. |
38 | 38 | */ |
39 | -if(!function_exists('aui')){ |
|
40 | - function aui(){ |
|
41 | - if(!class_exists("AUI",false)){ |
|
42 | - return false; |
|
43 | - } |
|
44 | - return AUI::instance(); |
|
45 | - } |
|
39 | + if(!function_exists('aui')){ |
|
40 | + function aui(){ |
|
41 | + if(!class_exists("AUI",false)){ |
|
42 | + return false; |
|
43 | + } |
|
44 | + return AUI::instance(); |
|
45 | + } |
|
46 | 46 | } |
@@ -25,8 +25,8 @@ discard block |
||
25 | 25 | $defaults[ $key ] = $setting['std']; |
26 | 26 | } |
27 | 27 | } |
28 | - } |
|
29 | - } |
|
28 | + } |
|
29 | + } |
|
30 | 30 | |
31 | 31 | return $defaults; |
32 | 32 | |
@@ -144,7 +144,7 @@ discard block |
||
144 | 144 | * |
145 | 145 | */ |
146 | 146 | function wpinv_register_settings() { |
147 | - do_action( 'getpaid_before_register_settings' ); |
|
147 | + do_action( 'getpaid_before_register_settings' ); |
|
148 | 148 | |
149 | 149 | // Loop through all tabs. |
150 | 150 | foreach ( wpinv_get_registered_settings() as $tab => $sections ) { |
@@ -159,7 +159,7 @@ discard block |
||
159 | 159 | $settings = $sections; |
160 | 160 | } |
161 | 161 | |
162 | - do_action( "getpaid_register_{$tab}_{$section}" ); |
|
162 | + do_action( "getpaid_register_{$tab}_{$section}" ); |
|
163 | 163 | |
164 | 164 | // Register the setting section. |
165 | 165 | add_settings_section( |
@@ -180,7 +180,7 @@ discard block |
||
180 | 180 | // Creates our settings in the options table. |
181 | 181 | register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' ); |
182 | 182 | |
183 | - do_action( 'getpaid_after_register_settings' ); |
|
183 | + do_action( 'getpaid_after_register_settings' ); |
|
184 | 184 | } |
185 | 185 | add_action( 'admin_init', 'wpinv_register_settings' ); |
186 | 186 | |
@@ -197,13 +197,13 @@ discard block |
||
197 | 197 | $name = isset( $option['name'] ) ? $option['name'] : ''; |
198 | 198 | $cb = "wpinv_{$option['type']}_callback"; |
199 | 199 | $section = "wpinv_settings_{$tab}_$section"; |
200 | - $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page']; |
|
200 | + $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page']; |
|
201 | 201 | |
202 | - if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) { |
|
203 | - $tip = wpinv_clean( $option['desc'] ); |
|
204 | - $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>"; |
|
205 | - unset( $option['desc'] ); |
|
206 | - } |
|
202 | + if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) { |
|
203 | + $tip = wpinv_clean( $option['desc'] ); |
|
204 | + $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>"; |
|
205 | + unset( $option['desc'] ); |
|
206 | + } |
|
207 | 207 | |
208 | 208 | // Loop through all tabs. |
209 | 209 | add_settings_field( |
@@ -230,9 +230,9 @@ discard block |
||
230 | 230 | 'faux' => isset( $option['faux'] ) ? $option['faux'] : false, |
231 | 231 | 'onchange' => isset( $option['onchange'] ) ? $option['onchange'] : '', |
232 | 232 | 'custom' => isset( $option['custom'] ) ? $option['custom'] : '', |
233 | - 'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '', |
|
234 | - 'class' => isset( $option['class'] ) ? $option['class'] : '', |
|
235 | - 'style' => isset( $option['style'] ) ? $option['style'] : '', |
|
233 | + 'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '', |
|
234 | + 'class' => isset( $option['class'] ) ? $option['class'] : '', |
|
235 | + 'style' => isset( $option['style'] ) ? $option['style'] : '', |
|
236 | 236 | 'cols' => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
237 | 237 | 'rows' => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5, |
238 | 238 | ) |
@@ -246,7 +246,7 @@ discard block |
||
246 | 246 | * @return array |
247 | 247 | */ |
248 | 248 | function wpinv_get_registered_settings() { |
249 | - return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) ); |
|
249 | + return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) ); |
|
250 | 250 | } |
251 | 251 | |
252 | 252 | /** |
@@ -265,18 +265,18 @@ discard block |
||
265 | 265 | */ |
266 | 266 | function wpinv_settings_sanitize( $input = array() ) { |
267 | 267 | |
268 | - $wpinv_options = wpinv_get_options(); |
|
269 | - $raw_referrer = wp_get_raw_referer(); |
|
268 | + $wpinv_options = wpinv_get_options(); |
|
269 | + $raw_referrer = wp_get_raw_referer(); |
|
270 | 270 | |
271 | 271 | if ( empty( $raw_referrer ) ) { |
272 | - return array_merge( $wpinv_options, $input ); |
|
272 | + return array_merge( $wpinv_options, $input ); |
|
273 | 273 | } |
274 | 274 | |
275 | 275 | wp_parse_str( $raw_referrer, $referrer ); |
276 | 276 | |
277 | - if ( in_array( 'gp-setup', $referrer ) ) { |
|
278 | - return array_merge( $wpinv_options, $input ); |
|
279 | - } |
|
277 | + if ( in_array( 'gp-setup', $referrer ) ) { |
|
278 | + return array_merge( $wpinv_options, $input ); |
|
279 | + } |
|
280 | 280 | |
281 | 281 | $settings = wpinv_get_registered_settings(); |
282 | 282 | $tab = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general'; |
@@ -298,10 +298,10 @@ discard block |
||
298 | 298 | } |
299 | 299 | |
300 | 300 | // General filter |
301 | - $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
301 | + $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
302 | 302 | |
303 | - // Key specific filter. |
|
304 | - $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] ); |
|
303 | + // Key specific filter. |
|
304 | + $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] ); |
|
305 | 305 | } |
306 | 306 | |
307 | 307 | // Loop through the whitelist and unset any that are empty for the tab being saved |
@@ -344,14 +344,14 @@ discard block |
||
344 | 344 | |
345 | 345 | foreach ( $new_rates as $rate ) { |
346 | 346 | |
347 | - $rate['rate'] = wpinv_sanitize_amount( $rate['rate'] ); |
|
348 | - $rate['name'] = sanitize_text_field( $rate['name'] ); |
|
349 | - $rate['state'] = sanitize_text_field( $rate['state'] ); |
|
350 | - $rate['country'] = sanitize_text_field( $rate['country'] ); |
|
351 | - $rate['global'] = empty( $rate['state'] ); |
|
352 | - $tax_rates[] = $rate; |
|
347 | + $rate['rate'] = wpinv_sanitize_amount( $rate['rate'] ); |
|
348 | + $rate['name'] = sanitize_text_field( $rate['name'] ); |
|
349 | + $rate['state'] = sanitize_text_field( $rate['state'] ); |
|
350 | + $rate['country'] = sanitize_text_field( $rate['country'] ); |
|
351 | + $rate['global'] = empty( $rate['state'] ); |
|
352 | + $tax_rates[] = $rate; |
|
353 | 353 | |
354 | - } |
|
354 | + } |
|
355 | 355 | |
356 | 356 | update_option( 'wpinv_tax_rates', $tax_rates ); |
357 | 357 | |
@@ -364,21 +364,21 @@ discard block |
||
364 | 364 | return $input; |
365 | 365 | } |
366 | 366 | |
367 | - if ( empty( $_POST['wpinv_tax_rules_nonce'] ) || ! wp_verify_nonce( $_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules' ) ) { |
|
368 | - return $input; |
|
369 | - } |
|
367 | + if ( empty( $_POST['wpinv_tax_rules_nonce'] ) || ! wp_verify_nonce( $_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules' ) ) { |
|
368 | + return $input; |
|
369 | + } |
|
370 | 370 | |
371 | 371 | $new_rules = ! empty( $_POST['tax_rules'] ) ? wp_kses_post_deep( array_values( $_POST['tax_rules'] ) ) : array(); |
372 | 372 | $tax_rules = array(); |
373 | 373 | |
374 | 374 | foreach ( $new_rules as $rule ) { |
375 | 375 | |
376 | - $rule['key'] = sanitize_title_with_dashes( $rule['key'] ); |
|
377 | - $rule['label'] = sanitize_text_field( $rule['label'] ); |
|
378 | - $rule['tax_base'] = sanitize_text_field( $rule['tax_base'] ); |
|
379 | - $tax_rules[] = $rule; |
|
376 | + $rule['key'] = sanitize_title_with_dashes( $rule['key'] ); |
|
377 | + $rule['label'] = sanitize_text_field( $rule['label'] ); |
|
378 | + $rule['tax_base'] = sanitize_text_field( $rule['tax_base'] ); |
|
379 | + $tax_rules[] = $rule; |
|
380 | 380 | |
381 | - } |
|
381 | + } |
|
382 | 382 | |
383 | 383 | update_option( 'wpinv_tax_rules', $tax_rules ); |
384 | 384 | |
@@ -391,11 +391,11 @@ discard block |
||
391 | 391 | $tabs['general'] = __( 'General', 'invoicing' ); |
392 | 392 | $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' ); |
393 | 393 | $tabs['taxes'] = __( 'Taxes', 'invoicing' ); |
394 | - $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
394 | + $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
395 | 395 | |
396 | - if ( count( getpaid_get_integration_settings() ) > 0 ) { |
|
397 | - $tabs['integrations'] = __( 'Integrations', 'invoicing' ); |
|
398 | - } |
|
396 | + if ( count( getpaid_get_integration_settings() ) > 0 ) { |
|
397 | + $tabs['integrations'] = __( 'Integrations', 'invoicing' ); |
|
398 | + } |
|
399 | 399 | |
400 | 400 | $tabs['privacy'] = __( 'Privacy', 'invoicing' ); |
401 | 401 | $tabs['misc'] = __( 'Misc', 'invoicing' ); |
@@ -426,53 +426,53 @@ discard block |
||
426 | 426 | 'general' => apply_filters( |
427 | 427 | 'wpinv_settings_sections_general', |
428 | 428 | array( |
429 | - 'main' => __( 'General Settings', 'invoicing' ), |
|
430 | - 'page_section' => __( 'Page Settings', 'invoicing' ), |
|
431 | - 'currency_section' => __( 'Currency Settings', 'invoicing' ), |
|
432 | - 'labels' => __( 'Label Texts', 'invoicing' ), |
|
429 | + 'main' => __( 'General Settings', 'invoicing' ), |
|
430 | + 'page_section' => __( 'Page Settings', 'invoicing' ), |
|
431 | + 'currency_section' => __( 'Currency Settings', 'invoicing' ), |
|
432 | + 'labels' => __( 'Label Texts', 'invoicing' ), |
|
433 | 433 | ) |
434 | 434 | ), |
435 | 435 | 'gateways' => apply_filters( |
436 | 436 | 'wpinv_settings_sections_gateways', |
437 | 437 | array( |
438 | - 'main' => __( 'Gateway Settings', 'invoicing' ), |
|
438 | + 'main' => __( 'Gateway Settings', 'invoicing' ), |
|
439 | 439 | ) |
440 | 440 | ), |
441 | 441 | 'taxes' => apply_filters( |
442 | 442 | 'wpinv_settings_sections_taxes', |
443 | 443 | array( |
444 | - 'main' => __( 'Tax Settings', 'invoicing' ), |
|
445 | - 'rules' => __( 'Tax Rules', 'invoicing' ), |
|
446 | - 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
447 | - 'vat' => __( 'EU VAT Settings', 'invoicing' ), |
|
444 | + 'main' => __( 'Tax Settings', 'invoicing' ), |
|
445 | + 'rules' => __( 'Tax Rules', 'invoicing' ), |
|
446 | + 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
447 | + 'vat' => __( 'EU VAT Settings', 'invoicing' ), |
|
448 | 448 | ) |
449 | 449 | ), |
450 | 450 | 'emails' => apply_filters( |
451 | 451 | 'wpinv_settings_sections_emails', |
452 | 452 | array( |
453 | - 'main' => __( 'Email Settings', 'invoicing' ), |
|
453 | + 'main' => __( 'Email Settings', 'invoicing' ), |
|
454 | 454 | ) |
455 | 455 | ), |
456 | 456 | |
457 | - 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ), |
|
457 | + 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ), |
|
458 | 458 | |
459 | 459 | 'privacy' => apply_filters( |
460 | 460 | 'wpinv_settings_sections_privacy', |
461 | 461 | array( |
462 | - 'main' => __( 'Privacy policy', 'invoicing' ), |
|
462 | + 'main' => __( 'Privacy policy', 'invoicing' ), |
|
463 | 463 | ) |
464 | 464 | ), |
465 | 465 | 'misc' => apply_filters( |
466 | 466 | 'wpinv_settings_sections_misc', |
467 | 467 | array( |
468 | - 'main' => __( 'Miscellaneous', 'invoicing' ), |
|
469 | - 'custom-css' => __( 'Custom CSS', 'invoicing' ), |
|
468 | + 'main' => __( 'Miscellaneous', 'invoicing' ), |
|
469 | + 'custom-css' => __( 'Custom CSS', 'invoicing' ), |
|
470 | 470 | ) |
471 | 471 | ), |
472 | 472 | 'tools' => apply_filters( |
473 | 473 | 'wpinv_settings_sections_tools', |
474 | 474 | array( |
475 | - 'main' => __( 'Diagnostic Tools', 'invoicing' ), |
|
475 | + 'main' => __( 'Diagnostic Tools', 'invoicing' ), |
|
476 | 476 | ) |
477 | 477 | ), |
478 | 478 | ); |
@@ -525,7 +525,7 @@ discard block |
||
525 | 525 | // Prepare the SQL query to include the excluded pages only if we have placeholders |
526 | 526 | $pages = $exclude_pages_placeholders ? $wpdb->get_results( $wpdb->prepare( $sql, ...$exclude_pages ) ) : $wpdb->get_results( $sql ); |
527 | 527 | |
528 | - $pages_options = array(); |
|
528 | + $pages_options = array(); |
|
529 | 529 | |
530 | 530 | if ( $pages ) { |
531 | 531 | foreach ( $pages as $page ) { |
@@ -542,32 +542,32 @@ discard block |
||
542 | 542 | $pages_options = array( '' => $default_label ) + $pages_options; // Blank option |
543 | 543 | } |
544 | 544 | |
545 | - return $pages_options; |
|
545 | + return $pages_options; |
|
546 | 546 | } |
547 | 547 | |
548 | 548 | function wpinv_header_callback( $args ) { |
549 | - if ( ! empty( $args['desc'] ) ) { |
|
549 | + if ( ! empty( $args['desc'] ) ) { |
|
550 | 550 | echo wp_kses_post( $args['desc'] ); |
551 | 551 | } |
552 | 552 | } |
553 | 553 | |
554 | 554 | function wpinv_hidden_callback( $args ) { |
555 | 555 | |
556 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
557 | - $value = wpinv_get_option( $args['id'], $std ); |
|
556 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
557 | + $value = wpinv_get_option( $args['id'], $std ); |
|
558 | 558 | |
559 | - if ( isset( $args['set_value'] ) ) { |
|
560 | - $value = $args['set_value']; |
|
561 | - } |
|
559 | + if ( isset( $args['set_value'] ) ) { |
|
560 | + $value = $args['set_value']; |
|
561 | + } |
|
562 | 562 | |
563 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
564 | - $args['readonly'] = true; |
|
565 | - $name = ''; |
|
566 | - } else { |
|
567 | - $name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']'; |
|
568 | - } |
|
563 | + if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
564 | + $args['readonly'] = true; |
|
565 | + $name = ''; |
|
566 | + } else { |
|
567 | + $name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']'; |
|
568 | + } |
|
569 | 569 | |
570 | - echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
570 | + echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
571 | 571 | |
572 | 572 | } |
573 | 573 | |
@@ -576,12 +576,12 @@ discard block |
||
576 | 576 | */ |
577 | 577 | function wpinv_checkbox_callback( $args ) { |
578 | 578 | |
579 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
580 | - $std = wpinv_get_option( $args['id'], $std ); |
|
581 | - $id = esc_attr( $args['id'] ); |
|
579 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
580 | + $std = wpinv_get_option( $args['id'], $std ); |
|
581 | + $id = esc_attr( $args['id'] ); |
|
582 | 582 | |
583 | - getpaid_hidden_field( "wpinv_settings[$id]", '0' ); |
|
584 | - ?> |
|
583 | + getpaid_hidden_field( "wpinv_settings[$id]", '0' ); |
|
584 | + ?> |
|
585 | 585 | <label> |
586 | 586 | <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" /> |
587 | 587 | <?php echo wp_kses_post( $args['desc'] ); ?> |
@@ -591,75 +591,75 @@ discard block |
||
591 | 591 | |
592 | 592 | function wpinv_multicheck_callback( $args ) { |
593 | 593 | |
594 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
595 | - $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
594 | + $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
595 | + $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
596 | 596 | |
597 | - if ( ! empty( $args['options'] ) ) { |
|
597 | + if ( ! empty( $args['options'] ) ) { |
|
598 | 598 | |
599 | - $std = isset( $args['std'] ) ? $args['std'] : array(); |
|
600 | - $value = wpinv_get_option( $args['id'], $std ); |
|
599 | + $std = isset( $args['std'] ) ? $args['std'] : array(); |
|
600 | + $value = wpinv_get_option( $args['id'], $std ); |
|
601 | 601 | |
602 | - echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">'; |
|
602 | + echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">'; |
|
603 | 603 | foreach ( $args['options'] as $key => $option ) : |
604 | - $sanitize_key = esc_attr( wpinv_sanitize_key( $key ) ); |
|
605 | - if ( in_array( $sanitize_key, $value ) ) { |
|
606 | - $enabled = $sanitize_key; |
|
607 | - } else { |
|
608 | - $enabled = null; |
|
609 | - } |
|
610 | - 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 ) . '/> '; |
|
611 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
612 | - endforeach; |
|
613 | - echo '</div>'; |
|
614 | - echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
615 | - } |
|
604 | + $sanitize_key = esc_attr( wpinv_sanitize_key( $key ) ); |
|
605 | + if ( in_array( $sanitize_key, $value ) ) { |
|
606 | + $enabled = $sanitize_key; |
|
607 | + } else { |
|
608 | + $enabled = null; |
|
609 | + } |
|
610 | + 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 ) . '/> '; |
|
611 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
612 | + endforeach; |
|
613 | + echo '</div>'; |
|
614 | + echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
615 | + } |
|
616 | 616 | } |
617 | 617 | |
618 | 618 | function wpinv_payment_icons_callback( $args ) { |
619 | 619 | |
620 | 620 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
621 | - $value = wpinv_get_option( $args['id'], false ); |
|
621 | + $value = wpinv_get_option( $args['id'], false ); |
|
622 | 622 | |
623 | - if ( ! empty( $args['options'] ) ) { |
|
624 | - foreach ( $args['options'] as $key => $option ) { |
|
623 | + if ( ! empty( $args['options'] ) ) { |
|
624 | + foreach ( $args['options'] as $key => $option ) { |
|
625 | 625 | $sanitize_key = wpinv_sanitize_key( $key ); |
626 | 626 | |
627 | - if ( empty( $value ) ) { |
|
628 | - $enabled = $option; |
|
629 | - } else { |
|
630 | - $enabled = null; |
|
631 | - } |
|
632 | - |
|
633 | - 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;">'; |
|
634 | - |
|
635 | - 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 ) . '/> '; |
|
636 | - |
|
637 | - if ( wpinv_string_is_image_url( $key ) ) { |
|
638 | - echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
639 | - } else { |
|
640 | - $card = strtolower( str_replace( ' ', '', $option ) ); |
|
641 | - |
|
642 | - if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
643 | - $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
644 | - } else { |
|
645 | - $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
646 | - $content_dir = WP_CONTENT_DIR; |
|
647 | - |
|
648 | - if ( function_exists( 'wp_normalize_path' ) ) { |
|
649 | - // Replaces backslashes with forward slashes for Windows systems |
|
650 | - $image = wp_normalize_path( $image ); |
|
651 | - $content_dir = wp_normalize_path( $content_dir ); |
|
652 | - } |
|
653 | - |
|
654 | - $image = str_replace( $content_dir, content_url(), $image ); |
|
655 | - } |
|
656 | - |
|
657 | - echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
658 | - } |
|
659 | - echo wp_kses_post( $option ) . '</label>'; |
|
660 | - } |
|
661 | - echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
662 | - } |
|
627 | + if ( empty( $value ) ) { |
|
628 | + $enabled = $option; |
|
629 | + } else { |
|
630 | + $enabled = null; |
|
631 | + } |
|
632 | + |
|
633 | + 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;">'; |
|
634 | + |
|
635 | + 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 ) . '/> '; |
|
636 | + |
|
637 | + if ( wpinv_string_is_image_url( $key ) ) { |
|
638 | + echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
639 | + } else { |
|
640 | + $card = strtolower( str_replace( ' ', '', $option ) ); |
|
641 | + |
|
642 | + if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
643 | + $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
644 | + } else { |
|
645 | + $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
646 | + $content_dir = WP_CONTENT_DIR; |
|
647 | + |
|
648 | + if ( function_exists( 'wp_normalize_path' ) ) { |
|
649 | + // Replaces backslashes with forward slashes for Windows systems |
|
650 | + $image = wp_normalize_path( $image ); |
|
651 | + $content_dir = wp_normalize_path( $content_dir ); |
|
652 | + } |
|
653 | + |
|
654 | + $image = str_replace( $content_dir, content_url(), $image ); |
|
655 | + } |
|
656 | + |
|
657 | + echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
658 | + } |
|
659 | + echo wp_kses_post( $option ) . '</label>'; |
|
660 | + } |
|
661 | + echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
662 | + } |
|
663 | 663 | } |
664 | 664 | |
665 | 665 | /** |
@@ -667,9 +667,9 @@ discard block |
||
667 | 667 | */ |
668 | 668 | function wpinv_radio_callback( $args ) { |
669 | 669 | |
670 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
671 | - $std = wpinv_get_option( $args['id'], $std ); |
|
672 | - ?> |
|
670 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
671 | + $std = wpinv_get_option( $args['id'], $std ); |
|
672 | + ?> |
|
673 | 673 | <fieldset> |
674 | 674 | <ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;"> |
675 | 675 | <?php foreach ( $args['options'] as $key => $option ) : ?> |
@@ -683,7 +683,7 @@ discard block |
||
683 | 683 | </ul> |
684 | 684 | </fieldset> |
685 | 685 | <?php |
686 | - getpaid_settings_description_callback( $args ); |
|
686 | + getpaid_settings_description_callback( $args ); |
|
687 | 687 | } |
688 | 688 | |
689 | 689 | /** |
@@ -691,10 +691,10 @@ discard block |
||
691 | 691 | */ |
692 | 692 | function getpaid_settings_description_callback( $args ) { |
693 | 693 | |
694 | - if ( ! empty( $args['desc'] ) ) { |
|
695 | - $description = $args['desc']; |
|
696 | - echo wp_kses_post( "<p class='description'>$description</p>" ); |
|
697 | - } |
|
694 | + if ( ! empty( $args['desc'] ) ) { |
|
695 | + $description = $args['desc']; |
|
696 | + echo wp_kses_post( "<p class='description'>$description</p>" ); |
|
697 | + } |
|
698 | 698 | |
699 | 699 | } |
700 | 700 | |
@@ -703,7 +703,7 @@ discard block |
||
703 | 703 | */ |
704 | 704 | function wpinv_gateways_callback() { |
705 | 705 | |
706 | - ?> |
|
706 | + ?> |
|
707 | 707 | </td> |
708 | 708 | </tr> |
709 | 709 | <tr class="bsui"> |
@@ -717,26 +717,26 @@ discard block |
||
717 | 717 | |
718 | 718 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
719 | 719 | $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
720 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
721 | - $value = wpinv_get_option( $args['id'], $std ); |
|
720 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
721 | + $value = wpinv_get_option( $args['id'], $std ); |
|
722 | 722 | |
723 | - echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >'; |
|
723 | + echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >'; |
|
724 | 724 | |
725 | - foreach ( $args['options'] as $key => $option ) : |
|
725 | + foreach ( $args['options'] as $key => $option ) : |
|
726 | 726 | |
727 | - echo '<option value="' . esc_attr( $key ) . '" '; |
|
727 | + echo '<option value="' . esc_attr( $key ) . '" '; |
|
728 | 728 | |
729 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
729 | + if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
730 | 730 | selected( $key, $args['selected'] ); |
731 | 731 | } else { |
732 | 732 | selected( $key, $value ); |
733 | 733 | } |
734 | 734 | |
735 | - echo '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
736 | - endforeach; |
|
735 | + echo '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
736 | + endforeach; |
|
737 | 737 | |
738 | - echo '</select>'; |
|
739 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
738 | + echo '</select>'; |
|
739 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
740 | 740 | } |
741 | 741 | |
742 | 742 | /** |
@@ -747,38 +747,38 @@ discard block |
||
747 | 747 | */ |
748 | 748 | function wpinv_settings_attrs_helper( $args ) { |
749 | 749 | |
750 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
751 | - $id = esc_attr( $args['id'] ); |
|
752 | - $value = is_scalar( $value ) ? $value : ''; |
|
753 | - |
|
754 | - $attrs = array( |
|
755 | - 'name' => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]", |
|
756 | - 'readonly' => ! empty( $args['faux'] ), |
|
757 | - 'value' => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ), |
|
758 | - 'id' => 'wpinv-settings-' . $args['id'], |
|
759 | - 'style' => $args['style'], |
|
760 | - 'class' => $args['class'], |
|
761 | - 'placeholder' => $args['placeholder'], |
|
762 | - 'data-placeholder' => $args['placeholder'], |
|
763 | - ); |
|
750 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
751 | + $id = esc_attr( $args['id'] ); |
|
752 | + $value = is_scalar( $value ) ? $value : ''; |
|
753 | + |
|
754 | + $attrs = array( |
|
755 | + 'name' => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]", |
|
756 | + 'readonly' => ! empty( $args['faux'] ), |
|
757 | + 'value' => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ), |
|
758 | + 'id' => 'wpinv-settings-' . $args['id'], |
|
759 | + 'style' => $args['style'], |
|
760 | + 'class' => $args['class'], |
|
761 | + 'placeholder' => $args['placeholder'], |
|
762 | + 'data-placeholder' => $args['placeholder'], |
|
763 | + ); |
|
764 | 764 | |
765 | - if ( ! empty( $args['onchange'] ) ) { |
|
766 | - $attrs['onchange'] = $args['onchange']; |
|
767 | - } |
|
765 | + if ( ! empty( $args['onchange'] ) ) { |
|
766 | + $attrs['onchange'] = $args['onchange']; |
|
767 | + } |
|
768 | 768 | |
769 | - foreach ( $attrs as $key => $value ) { |
|
769 | + foreach ( $attrs as $key => $value ) { |
|
770 | 770 | |
771 | - if ( false === $value ) { |
|
772 | - continue; |
|
773 | - } |
|
771 | + if ( false === $value ) { |
|
772 | + continue; |
|
773 | + } |
|
774 | 774 | |
775 | - if ( true === $value ) { |
|
776 | - echo ' ' . esc_attr( $key ); |
|
777 | - } else { |
|
778 | - echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"'; |
|
779 | - } |
|
775 | + if ( true === $value ) { |
|
776 | + echo ' ' . esc_attr( $key ); |
|
777 | + } else { |
|
778 | + echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"'; |
|
779 | + } |
|
780 | 780 | |
781 | - } |
|
781 | + } |
|
782 | 782 | |
783 | 783 | } |
784 | 784 | |
@@ -787,7 +787,7 @@ discard block |
||
787 | 787 | */ |
788 | 788 | function wpinv_text_callback( $args ) { |
789 | 789 | |
790 | - ?> |
|
790 | + ?> |
|
791 | 791 | <label style="width: 100%;"> |
792 | 792 | <input type="text" <?php wpinv_settings_attrs_helper( $args ); ?>> |
793 | 793 | <?php getpaid_settings_description_callback( $args ); ?> |
@@ -801,7 +801,7 @@ discard block |
||
801 | 801 | */ |
802 | 802 | function wpinv_number_callback( $args ) { |
803 | 803 | |
804 | - ?> |
|
804 | + ?> |
|
805 | 805 | <label style="width: 100%;"> |
806 | 806 | <input type="number" step="<?php echo esc_attr( $args['step'] ); ?>" max="<?php echo intval( $args['max'] ); ?>" min="<?php echo intval( $args['min'] ); ?>" <?php wpinv_settings_attrs_helper( $args ); ?>> |
807 | 807 | <?php getpaid_settings_description_callback( $args ); ?> |
@@ -813,34 +813,34 @@ discard block |
||
813 | 813 | function wpinv_textarea_callback( $args ) { |
814 | 814 | |
815 | 815 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
816 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
817 | - $value = wpinv_get_option( $args['id'], $std ); |
|
816 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
817 | + $value = wpinv_get_option( $args['id'], $std ); |
|
818 | 818 | |
819 | 819 | $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
820 | 820 | $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text'; |
821 | 821 | |
822 | - 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>'; |
|
823 | - echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
822 | + 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>'; |
|
823 | + echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
824 | 824 | |
825 | 825 | } |
826 | 826 | |
827 | 827 | function wpinv_password_callback( $args ) { |
828 | 828 | |
829 | 829 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
830 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
831 | - $value = wpinv_get_option( $args['id'], $std ); |
|
830 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
831 | + $value = wpinv_get_option( $args['id'], $std ); |
|
832 | 832 | |
833 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
834 | - 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 ) . '"/>'; |
|
835 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
833 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
834 | + 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 ) . '"/>'; |
|
835 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
836 | 836 | |
837 | 837 | } |
838 | 838 | |
839 | 839 | function wpinv_missing_callback( $args ) { |
840 | - printf( |
|
841 | - esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
842 | - '<strong>' . esc_html( $args['id'] ) . '</strong>' |
|
843 | - ); |
|
840 | + printf( |
|
841 | + esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
842 | + '<strong>' . esc_html( $args['id'] ) . '</strong>' |
|
843 | + ); |
|
844 | 844 | } |
845 | 845 | |
846 | 846 | /** |
@@ -848,13 +848,13 @@ discard block |
||
848 | 848 | */ |
849 | 849 | function wpinv_select_callback( $args ) { |
850 | 850 | |
851 | - $desc = wp_kses_post( $args['desc'] ); |
|
852 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
853 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
854 | - $value = wpinv_get_option( $args['id'], $value ); |
|
855 | - $rand = uniqid( 'random_id' ); |
|
851 | + $desc = wp_kses_post( $args['desc'] ); |
|
852 | + $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
853 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
854 | + $value = wpinv_get_option( $args['id'], $value ); |
|
855 | + $rand = uniqid( 'random_id' ); |
|
856 | 856 | |
857 | - ?> |
|
857 | + ?> |
|
858 | 858 | <label style="width: 100%;"> |
859 | 859 | <select <?php wpinv_settings_attrs_helper( $args ); ?> data-allow-clear="true"> |
860 | 860 | <?php foreach ( $args['options'] as $option => $name ) : ?> |
@@ -887,50 +887,50 @@ discard block |
||
887 | 887 | function wpinv_color_select_callback( $args ) { |
888 | 888 | |
889 | 889 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
890 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
891 | - $value = wpinv_get_option( $args['id'], $std ); |
|
890 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
891 | + $value = wpinv_get_option( $args['id'], $std ); |
|
892 | 892 | |
893 | - echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
893 | + echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
894 | 894 | |
895 | - foreach ( $args['options'] as $option => $color ) { |
|
896 | - echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>'; |
|
897 | - } |
|
895 | + foreach ( $args['options'] as $option => $color ) { |
|
896 | + echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>'; |
|
897 | + } |
|
898 | 898 | |
899 | - echo '</select>'; |
|
900 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
899 | + echo '</select>'; |
|
900 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
901 | 901 | |
902 | 902 | } |
903 | 903 | |
904 | 904 | function wpinv_rich_editor_callback( $args ) { |
905 | - global $wp_version; |
|
905 | + global $wp_version; |
|
906 | 906 | |
907 | 907 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
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 | |
912 | - if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
913 | - $value = $std; |
|
914 | - } |
|
912 | + if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
913 | + $value = $std; |
|
914 | + } |
|
915 | 915 | |
916 | - $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
916 | + $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
917 | 917 | |
918 | - echo '<div class="getpaid-settings-editor-input">'; |
|
919 | - if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
920 | - wp_editor( |
|
918 | + echo '<div class="getpaid-settings-editor-input">'; |
|
919 | + if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
920 | + wp_editor( |
|
921 | 921 | stripslashes( $value ), |
922 | 922 | 'wpinv_settings_' . esc_attr( $args['id'] ), |
923 | 923 | array( |
924 | - 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', |
|
925 | - 'textarea_rows' => absint( $rows ), |
|
926 | - 'media_buttons' => false, |
|
924 | + 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', |
|
925 | + 'textarea_rows' => absint( $rows ), |
|
926 | + 'media_buttons' => false, |
|
927 | 927 | ) |
928 | 928 | ); |
929 | - } else { |
|
930 | - 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>'; |
|
931 | - } |
|
929 | + } else { |
|
930 | + 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>'; |
|
931 | + } |
|
932 | 932 | |
933 | - echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
933 | + echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
934 | 934 | |
935 | 935 | } |
936 | 936 | |
@@ -938,51 +938,51 @@ discard block |
||
938 | 938 | |
939 | 939 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
940 | 940 | |
941 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
942 | - $value = wpinv_get_option( $args['id'], $std ); |
|
941 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
942 | + $value = wpinv_get_option( $args['id'], $std ); |
|
943 | 943 | |
944 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
945 | - 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 ) ) . '"/>'; |
|
946 | - echo '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
947 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
944 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
945 | + 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 ) ) . '"/>'; |
|
946 | + echo '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
947 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
948 | 948 | |
949 | 949 | } |
950 | 950 | |
951 | 951 | function wpinv_color_callback( $args ) { |
952 | 952 | |
953 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
954 | - $value = wpinv_get_option( $args['id'], $std ); |
|
953 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
954 | + $value = wpinv_get_option( $args['id'], $std ); |
|
955 | 955 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
956 | 956 | |
957 | - 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 ) . '" />'; |
|
958 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
957 | + 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 ) . '" />'; |
|
958 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
959 | 959 | |
960 | 960 | } |
961 | 961 | |
962 | 962 | function wpinv_country_states_callback( $args ) { |
963 | 963 | |
964 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
965 | - $value = wpinv_get_option( $args['id'], $std ); |
|
964 | + $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
965 | + $value = wpinv_get_option( $args['id'], $std ); |
|
966 | 966 | |
967 | 967 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
968 | 968 | |
969 | - if ( isset( $args['placeholder'] ) ) { |
|
970 | - $placeholder = $args['placeholder']; |
|
971 | - } else { |
|
972 | - $placeholder = ''; |
|
973 | - } |
|
969 | + if ( isset( $args['placeholder'] ) ) { |
|
970 | + $placeholder = $args['placeholder']; |
|
971 | + } else { |
|
972 | + $placeholder = ''; |
|
973 | + } |
|
974 | 974 | |
975 | - $states = wpinv_get_country_states(); |
|
975 | + $states = wpinv_get_country_states(); |
|
976 | 976 | |
977 | - $class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2'; |
|
978 | - 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 ) . '"/>'; |
|
977 | + $class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2'; |
|
978 | + 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 ) . '"/>'; |
|
979 | 979 | |
980 | - foreach ( $states as $option => $name ) { |
|
981 | - echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>'; |
|
982 | - } |
|
980 | + foreach ( $states as $option => $name ) { |
|
981 | + echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>'; |
|
982 | + } |
|
983 | 983 | |
984 | - echo '</select>'; |
|
985 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
984 | + echo '</select>'; |
|
985 | + echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
986 | 986 | |
987 | 987 | } |
988 | 988 | |
@@ -991,7 +991,7 @@ discard block |
||
991 | 991 | */ |
992 | 992 | function wpinv_tax_rates_callback() { |
993 | 993 | |
994 | - ?> |
|
994 | + ?> |
|
995 | 995 | </td> |
996 | 996 | </tr> |
997 | 997 | <tr class="bsui"> |
@@ -1007,9 +1007,9 @@ discard block |
||
1007 | 1007 | */ |
1008 | 1008 | function wpinv_tax_rate_callback( $tax_rate, $key ) { |
1009 | 1009 | |
1010 | - $key = sanitize_key( $key ); |
|
1011 | - $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate']; |
|
1012 | - include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php'; |
|
1010 | + $key = sanitize_key( $key ); |
|
1011 | + $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate']; |
|
1012 | + include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php'; |
|
1013 | 1013 | |
1014 | 1014 | } |
1015 | 1015 | |
@@ -1018,7 +1018,7 @@ discard block |
||
1018 | 1018 | */ |
1019 | 1019 | function wpinv_tax_rules_callback() { |
1020 | 1020 | |
1021 | - ?> |
|
1021 | + ?> |
|
1022 | 1022 | </td> |
1023 | 1023 | </tr> |
1024 | 1024 | <tr class="bsui"> |
@@ -1056,14 +1056,14 @@ discard block |
||
1056 | 1056 | <td> |
1057 | 1057 | <a href=" |
1058 | 1058 | <?php |
1059 | - echo esc_url( |
|
1060 | - wp_nonce_url( |
|
1061 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
1062 | - 'getpaid-nonce', |
|
1063 | - 'getpaid-nonce' |
|
1064 | - ) |
|
1065 | - ); |
|
1066 | - ?> |
|
1059 | + echo esc_url( |
|
1060 | + wp_nonce_url( |
|
1061 | + add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
1062 | + 'getpaid-nonce', |
|
1063 | + 'getpaid-nonce' |
|
1064 | + ) |
|
1065 | + ); |
|
1066 | + ?> |
|
1067 | 1067 | " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
1068 | 1068 | </td> |
1069 | 1069 | </tr> |
@@ -1075,14 +1075,14 @@ discard block |
||
1075 | 1075 | <td> |
1076 | 1076 | <a href=" |
1077 | 1077 | <?php |
1078 | - echo esc_url( |
|
1079 | - wp_nonce_url( |
|
1080 | - add_query_arg( 'getpaid-admin-action', 'refresh_permalinks' ), |
|
1081 | - 'getpaid-nonce', |
|
1082 | - 'getpaid-nonce' |
|
1083 | - ) |
|
1084 | - ); |
|
1085 | - ?> |
|
1078 | + echo esc_url( |
|
1079 | + wp_nonce_url( |
|
1080 | + add_query_arg( 'getpaid-admin-action', 'refresh_permalinks' ), |
|
1081 | + 'getpaid-nonce', |
|
1082 | + 'getpaid-nonce' |
|
1083 | + ) |
|
1084 | + ); |
|
1085 | + ?> |
|
1086 | 1086 | " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
1087 | 1087 | </td> |
1088 | 1088 | </tr> |
@@ -1094,14 +1094,14 @@ discard block |
||
1094 | 1094 | <td> |
1095 | 1095 | <a href=" |
1096 | 1096 | <?php |
1097 | - echo esc_url( |
|
1098 | - wp_nonce_url( |
|
1099 | - add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ), |
|
1100 | - 'getpaid-nonce', |
|
1101 | - 'getpaid-nonce' |
|
1102 | - ) |
|
1103 | - ); |
|
1104 | - ?> |
|
1097 | + echo esc_url( |
|
1098 | + wp_nonce_url( |
|
1099 | + add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ), |
|
1100 | + 'getpaid-nonce', |
|
1101 | + 'getpaid-nonce' |
|
1102 | + ) |
|
1103 | + ); |
|
1104 | + ?> |
|
1105 | 1105 | " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
1106 | 1106 | </td> |
1107 | 1107 | </tr> |
@@ -1113,14 +1113,14 @@ discard block |
||
1113 | 1113 | <td> |
1114 | 1114 | <a href=" |
1115 | 1115 | <?php |
1116 | - echo esc_url( |
|
1117 | - wp_nonce_url( |
|
1118 | - add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ), |
|
1119 | - 'getpaid-nonce', |
|
1120 | - 'getpaid-nonce' |
|
1121 | - ) |
|
1122 | - ); |
|
1123 | - ?> |
|
1116 | + echo esc_url( |
|
1117 | + wp_nonce_url( |
|
1118 | + add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ), |
|
1119 | + 'getpaid-nonce', |
|
1120 | + 'getpaid-nonce' |
|
1121 | + ) |
|
1122 | + ); |
|
1123 | + ?> |
|
1124 | 1124 | " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
1125 | 1125 | </td> |
1126 | 1126 | </tr> |
@@ -1133,14 +1133,14 @@ discard block |
||
1133 | 1133 | <td> |
1134 | 1134 | <a href=" |
1135 | 1135 | <?php |
1136 | - echo esc_url( |
|
1137 | - wp_nonce_url( |
|
1138 | - add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ), |
|
1139 | - 'getpaid-nonce', |
|
1140 | - 'getpaid-nonce' |
|
1141 | - ) |
|
1142 | - ); |
|
1143 | - ?> |
|
1136 | + echo esc_url( |
|
1137 | + wp_nonce_url( |
|
1138 | + add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ), |
|
1139 | + 'getpaid-nonce', |
|
1140 | + 'getpaid-nonce' |
|
1141 | + ) |
|
1142 | + ); |
|
1143 | + ?> |
|
1144 | 1144 | " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
1145 | 1145 | </td> |
1146 | 1146 | </tr> |
@@ -1153,8 +1153,8 @@ discard block |
||
1153 | 1153 | <td> |
1154 | 1154 | <a href=" |
1155 | 1155 | <?php |
1156 | - echo esc_url( admin_url( 'index.php?page=gp-setup' ) ); |
|
1157 | - ?> |
|
1156 | + echo esc_url( admin_url( 'index.php?page=gp-setup' ) ); |
|
1157 | + ?> |
|
1158 | 1158 | " class="button button-primary"><?php esc_html_e( 'Launch', 'invoicing' ); ?></a> |
1159 | 1159 | </td> |
1160 | 1160 | </tr> |
@@ -1168,19 +1168,19 @@ discard block |
||
1168 | 1168 | |
1169 | 1169 | |
1170 | 1170 | function wpinv_descriptive_text_callback( $args ) { |
1171 | - echo wp_kses_post( $args['desc'] ); |
|
1171 | + echo wp_kses_post( $args['desc'] ); |
|
1172 | 1172 | } |
1173 | 1173 | |
1174 | 1174 | function wpinv_raw_html_callback( $args ) { |
1175 | - echo wp_kses( $args['desc'], getpaid_allowed_html() ); |
|
1175 | + echo wp_kses( $args['desc'], getpaid_allowed_html() ); |
|
1176 | 1176 | } |
1177 | 1177 | |
1178 | 1178 | function wpinv_hook_callback( $args ) { |
1179 | - do_action( 'wpinv_' . $args['id'], $args ); |
|
1179 | + do_action( 'wpinv_' . $args['id'], $args ); |
|
1180 | 1180 | } |
1181 | 1181 | |
1182 | 1182 | function wpinv_set_settings_cap() { |
1183 | - return wpinv_get_capability(); |
|
1183 | + return wpinv_get_capability(); |
|
1184 | 1184 | } |
1185 | 1185 | add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' ); |
1186 | 1186 | |
@@ -1206,47 +1206,47 @@ discard block |
||
1206 | 1206 | * @return array |
1207 | 1207 | */ |
1208 | 1208 | function wpinv_get_email_merge_tags( $subscription = false ) { |
1209 | - $merge_tags = array( |
|
1210 | - '{site_title}' => __( 'Site Title', 'invoicing' ), |
|
1211 | - '{name}' => __( "Customer's full name", 'invoicing' ), |
|
1212 | - '{first_name}' => __( "Customer's first name", 'invoicing' ), |
|
1213 | - '{last_name}' => __( "Customer's last name", 'invoicing' ), |
|
1214 | - '{email}' => __( "Customer's email address", 'invoicing' ), |
|
1215 | - '{invoice_number}' => __( 'The invoice number', 'invoicing' ), |
|
1216 | - '{invoice_currency}' => __( 'The invoice currency', 'invoicing' ), |
|
1217 | - '{invoice_total}' => __( 'The invoice total', 'invoicing' ), |
|
1218 | - '{invoice_link}' => __( 'The invoice link', 'invoicing' ), |
|
1219 | - '{invoice_pay_link}' => __( 'The payment link', 'invoicing' ), |
|
1220 | - '{invoice_receipt_link}' => __( 'The receipt link', 'invoicing' ), |
|
1221 | - '{invoice_date}' => __( 'The date the invoice was created', 'invoicing' ), |
|
1222 | - '{invoice_due_date}' => __( 'The date the invoice is due', 'invoicing' ), |
|
1223 | - '{date}' => __( "Today's date", 'invoicing' ), |
|
1224 | - '{is_was}' => __( 'If due date of invoice is past, displays "was" otherwise displays "is"', 'invoicing' ), |
|
1225 | - '{invoice_label}' => __( 'Invoices/quotes singular name. Ex: Invoice/Quote', 'invoicing' ), |
|
1226 | - '{invoice_quote}' => __( 'Invoices/quotes singular name in small letters. Ex: invoice/quote', 'invoicing' ), |
|
1227 | - '{invoice_description}' => __( 'The description of the invoice', 'invoicing' ), |
|
1228 | - ); |
|
1229 | - |
|
1230 | - if ( $subscription ) { |
|
1231 | - $merge_tags = array_merge( |
|
1232 | - $merge_tags, |
|
1233 | - array( |
|
1234 | - '{subscription_renewal_date}' => __( 'The next renewal date of the subscription', 'invoicing' ), |
|
1235 | - '{subscription_created}' => __( "The subscription's creation date", 'invoicing' ), |
|
1236 | - '{subscription_status}' => __( "The subscription's status", 'invoicing' ), |
|
1237 | - '{subscription_profile_id}' => __( "The subscription's remote profile id", 'invoicing' ), |
|
1238 | - '{subscription_id}' => __( "The subscription's id", 'invoicing' ), |
|
1239 | - '{subscription_recurring_amount}' => __( 'The renewal amount of the subscription', 'invoicing' ), |
|
1240 | - '{subscription_initial_amount}' => __( 'The initial amount of the subscription', 'invoicing' ), |
|
1241 | - '{subscription_recurring_period}' => __( 'The recurring period of the subscription (e.g 1 year)', 'invoicing' ), |
|
1242 | - '{subscription_bill_times}' => __( 'The maximum number of times the subscription can be renewed', 'invoicing' ), |
|
1243 | - '{subscription_url}' => __( 'The URL to manage a subscription', 'invoicing' ), |
|
1244 | - '{subscription_name}' => __( 'The name of the recurring item', 'invoicing' ), |
|
1245 | - ) |
|
1246 | - ); |
|
1247 | - } |
|
1248 | - |
|
1249 | - return $merge_tags; |
|
1209 | + $merge_tags = array( |
|
1210 | + '{site_title}' => __( 'Site Title', 'invoicing' ), |
|
1211 | + '{name}' => __( "Customer's full name", 'invoicing' ), |
|
1212 | + '{first_name}' => __( "Customer's first name", 'invoicing' ), |
|
1213 | + '{last_name}' => __( "Customer's last name", 'invoicing' ), |
|
1214 | + '{email}' => __( "Customer's email address", 'invoicing' ), |
|
1215 | + '{invoice_number}' => __( 'The invoice number', 'invoicing' ), |
|
1216 | + '{invoice_currency}' => __( 'The invoice currency', 'invoicing' ), |
|
1217 | + '{invoice_total}' => __( 'The invoice total', 'invoicing' ), |
|
1218 | + '{invoice_link}' => __( 'The invoice link', 'invoicing' ), |
|
1219 | + '{invoice_pay_link}' => __( 'The payment link', 'invoicing' ), |
|
1220 | + '{invoice_receipt_link}' => __( 'The receipt link', 'invoicing' ), |
|
1221 | + '{invoice_date}' => __( 'The date the invoice was created', 'invoicing' ), |
|
1222 | + '{invoice_due_date}' => __( 'The date the invoice is due', 'invoicing' ), |
|
1223 | + '{date}' => __( "Today's date", 'invoicing' ), |
|
1224 | + '{is_was}' => __( 'If due date of invoice is past, displays "was" otherwise displays "is"', 'invoicing' ), |
|
1225 | + '{invoice_label}' => __( 'Invoices/quotes singular name. Ex: Invoice/Quote', 'invoicing' ), |
|
1226 | + '{invoice_quote}' => __( 'Invoices/quotes singular name in small letters. Ex: invoice/quote', 'invoicing' ), |
|
1227 | + '{invoice_description}' => __( 'The description of the invoice', 'invoicing' ), |
|
1228 | + ); |
|
1229 | + |
|
1230 | + if ( $subscription ) { |
|
1231 | + $merge_tags = array_merge( |
|
1232 | + $merge_tags, |
|
1233 | + array( |
|
1234 | + '{subscription_renewal_date}' => __( 'The next renewal date of the subscription', 'invoicing' ), |
|
1235 | + '{subscription_created}' => __( "The subscription's creation date", 'invoicing' ), |
|
1236 | + '{subscription_status}' => __( "The subscription's status", 'invoicing' ), |
|
1237 | + '{subscription_profile_id}' => __( "The subscription's remote profile id", 'invoicing' ), |
|
1238 | + '{subscription_id}' => __( "The subscription's id", 'invoicing' ), |
|
1239 | + '{subscription_recurring_amount}' => __( 'The renewal amount of the subscription', 'invoicing' ), |
|
1240 | + '{subscription_initial_amount}' => __( 'The initial amount of the subscription', 'invoicing' ), |
|
1241 | + '{subscription_recurring_period}' => __( 'The recurring period of the subscription (e.g 1 year)', 'invoicing' ), |
|
1242 | + '{subscription_bill_times}' => __( 'The maximum number of times the subscription can be renewed', 'invoicing' ), |
|
1243 | + '{subscription_url}' => __( 'The URL to manage a subscription', 'invoicing' ), |
|
1244 | + '{subscription_name}' => __( 'The name of the recurring item', 'invoicing' ), |
|
1245 | + ) |
|
1246 | + ); |
|
1247 | + } |
|
1248 | + |
|
1249 | + return $merge_tags; |
|
1250 | 1250 | } |
1251 | 1251 | |
1252 | 1252 | |
@@ -1258,28 +1258,28 @@ discard block |
||
1258 | 1258 | * @return string |
1259 | 1259 | */ |
1260 | 1260 | function wpinv_get_merge_tags_help_text( $subscription = false ) { |
1261 | - $merge_tags = wpinv_get_email_merge_tags( $subscription ); |
|
1261 | + $merge_tags = wpinv_get_email_merge_tags( $subscription ); |
|
1262 | 1262 | |
1263 | - $output = '<div class="bsui">'; |
|
1263 | + $output = '<div class="bsui">'; |
|
1264 | 1264 | |
1265 | - $link = sprintf( |
|
1266 | - '<strong class="getpaid-merge-tags text-primary" role="button">%s</strong>', |
|
1267 | - esc_html__( 'View available merge tags.', 'invoicing' ) |
|
1268 | - ); |
|
1265 | + $link = sprintf( |
|
1266 | + '<strong class="getpaid-merge-tags text-primary" role="button">%s</strong>', |
|
1267 | + esc_html__( 'View available merge tags.', 'invoicing' ) |
|
1268 | + ); |
|
1269 | 1269 | |
1270 | - $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' ); |
|
1270 | + $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' ); |
|
1271 | 1271 | |
1272 | - $output .= "$description $link"; |
|
1272 | + $output .= "$description $link"; |
|
1273 | 1273 | |
1274 | - $output .= '<div class="getpaid-merge-tags-content mt-2 p-1 d-none">'; |
|
1275 | - $output .= '<p class="mb-2">' . esc_html__( 'The following wildcards can be used in email subjects, heading and content:', 'invoicing' ) . '</p>'; |
|
1274 | + $output .= '<div class="getpaid-merge-tags-content mt-2 p-1 d-none">'; |
|
1275 | + $output .= '<p class="mb-2">' . esc_html__( 'The following wildcards can be used in email subjects, heading and content:', 'invoicing' ) . '</p>'; |
|
1276 | 1276 | |
1277 | - $output .= '<ul class="p-0 m-0">'; |
|
1278 | - foreach($merge_tags as $tag => $tag_description) { |
|
1279 | - $output .= "<li class='mb-2'><strong class='text-dark'>$tag</strong> — $tag_description</li>"; |
|
1280 | - } |
|
1277 | + $output .= '<ul class="p-0 m-0">'; |
|
1278 | + foreach($merge_tags as $tag => $tag_description) { |
|
1279 | + $output .= "<li class='mb-2'><strong class='text-dark'>$tag</strong> — $tag_description</li>"; |
|
1280 | + } |
|
1281 | 1281 | |
1282 | - $output .= '</ul></div></div>'; |
|
1282 | + $output .= '</ul></div></div>'; |
|
1283 | 1283 | |
1284 | - return $output; |
|
1284 | + return $output; |
|
1285 | 1285 | } |
@@ -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; |
@@ -144,22 +144,22 @@ discard block |
||
144 | 144 | * |
145 | 145 | */ |
146 | 146 | function wpinv_register_settings() { |
147 | - do_action( 'getpaid_before_register_settings' ); |
|
147 | + do_action('getpaid_before_register_settings'); |
|
148 | 148 | |
149 | 149 | // Loop through all tabs. |
150 | - foreach ( wpinv_get_registered_settings() as $tab => $sections ) { |
|
150 | + foreach (wpinv_get_registered_settings() as $tab => $sections) { |
|
151 | 151 | |
152 | 152 | // In each tab, loop through sections. |
153 | - foreach ( $sections as $section => $settings ) { |
|
153 | + foreach ($sections as $section => $settings) { |
|
154 | 154 | |
155 | 155 | // Check for backwards compatibility |
156 | - $section_tabs = wpinv_get_settings_tab_sections( $tab ); |
|
157 | - if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) { |
|
156 | + $section_tabs = wpinv_get_settings_tab_sections($tab); |
|
157 | + if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) { |
|
158 | 158 | $section = 'main'; |
159 | 159 | $settings = $sections; |
160 | 160 | } |
161 | 161 | |
162 | - do_action( "getpaid_register_{$tab}_{$section}" ); |
|
162 | + do_action("getpaid_register_{$tab}_{$section}"); |
|
163 | 163 | |
164 | 164 | // Register the setting section. |
165 | 165 | add_settings_section( |
@@ -169,20 +169,20 @@ discard block |
||
169 | 169 | 'wpinv_settings_' . $tab . '_' . $section |
170 | 170 | ); |
171 | 171 | |
172 | - foreach ( $settings as $option ) { |
|
173 | - if ( ! empty( $option['id'] ) ) { |
|
174 | - wpinv_register_settings_option( $tab, $section, $option ); |
|
172 | + foreach ($settings as $option) { |
|
173 | + if (!empty($option['id'])) { |
|
174 | + wpinv_register_settings_option($tab, $section, $option); |
|
175 | 175 | } |
176 | 176 | } |
177 | 177 | } |
178 | 178 | } |
179 | 179 | |
180 | 180 | // Creates our settings in the options table. |
181 | - register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' ); |
|
181 | + register_setting('wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize'); |
|
182 | 182 | |
183 | - do_action( 'getpaid_after_register_settings' ); |
|
183 | + do_action('getpaid_after_register_settings'); |
|
184 | 184 | } |
185 | -add_action( 'admin_init', 'wpinv_register_settings' ); |
|
185 | +add_action('admin_init', 'wpinv_register_settings'); |
|
186 | 186 | |
187 | 187 | /** |
188 | 188 | * Register a single settings option. |
@@ -192,49 +192,49 @@ discard block |
||
192 | 192 | * @param string $option |
193 | 193 | * |
194 | 194 | */ |
195 | -function wpinv_register_settings_option( $tab, $section, $option ) { |
|
195 | +function wpinv_register_settings_option($tab, $section, $option) { |
|
196 | 196 | |
197 | - $name = isset( $option['name'] ) ? $option['name'] : ''; |
|
197 | + $name = isset($option['name']) ? $option['name'] : ''; |
|
198 | 198 | $cb = "wpinv_{$option['type']}_callback"; |
199 | 199 | $section = "wpinv_settings_{$tab}_$section"; |
200 | - $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page']; |
|
200 | + $is_wizzard = is_admin() && isset($_GET['page']) && 'gp-setup' == $_GET['page']; |
|
201 | 201 | |
202 | - if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) { |
|
203 | - $tip = wpinv_clean( $option['desc'] ); |
|
202 | + if (isset($option['desc']) && (!$is_wizzard && !empty($option['help-tip']))) { |
|
203 | + $tip = wpinv_clean($option['desc']); |
|
204 | 204 | $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>"; |
205 | - unset( $option['desc'] ); |
|
205 | + unset($option['desc']); |
|
206 | 206 | } |
207 | 207 | |
208 | 208 | // Loop through all tabs. |
209 | 209 | add_settings_field( |
210 | 210 | 'wpinv_settings[' . $option['id'] . ']', |
211 | 211 | $name, |
212 | - function_exists( $cb ) ? $cb : 'wpinv_missing_callback', |
|
212 | + function_exists($cb) ? $cb : 'wpinv_missing_callback', |
|
213 | 213 | $section, |
214 | 214 | $section, |
215 | 215 | array( |
216 | 216 | 'section' => $section, |
217 | - 'id' => isset( $option['id'] ) ? $option['id'] : uniqid( 'wpinv-' ), |
|
218 | - 'desc' => isset( $option['desc'] ) ? $option['desc'] : '', |
|
217 | + 'id' => isset($option['id']) ? $option['id'] : uniqid('wpinv-'), |
|
218 | + 'desc' => isset($option['desc']) ? $option['desc'] : '', |
|
219 | 219 | 'name' => $name, |
220 | - 'size' => isset( $option['size'] ) ? $option['size'] : null, |
|
221 | - 'options' => isset( $option['options'] ) ? $option['options'] : '', |
|
222 | - 'selected' => isset( $option['selected'] ) ? $option['selected'] : null, |
|
223 | - 'std' => isset( $option['std'] ) ? $option['std'] : '', |
|
224 | - 'min' => isset( $option['min'] ) ? $option['min'] : 0, |
|
225 | - 'max' => isset( $option['max'] ) ? $option['max'] : 999999, |
|
226 | - 'step' => isset( $option['step'] ) ? $option['step'] : 1, |
|
227 | - 'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null, |
|
228 | - 'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true, |
|
229 | - 'readonly' => isset( $option['readonly'] ) ? $option['readonly'] : false, |
|
230 | - 'faux' => isset( $option['faux'] ) ? $option['faux'] : false, |
|
231 | - 'onchange' => isset( $option['onchange'] ) ? $option['onchange'] : '', |
|
232 | - 'custom' => isset( $option['custom'] ) ? $option['custom'] : '', |
|
233 | - 'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '', |
|
234 | - 'class' => isset( $option['class'] ) ? $option['class'] : '', |
|
235 | - 'style' => isset( $option['style'] ) ? $option['style'] : '', |
|
236 | - 'cols' => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
|
237 | - 'rows' => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5, |
|
220 | + 'size' => isset($option['size']) ? $option['size'] : null, |
|
221 | + 'options' => isset($option['options']) ? $option['options'] : '', |
|
222 | + 'selected' => isset($option['selected']) ? $option['selected'] : null, |
|
223 | + 'std' => isset($option['std']) ? $option['std'] : '', |
|
224 | + 'min' => isset($option['min']) ? $option['min'] : 0, |
|
225 | + 'max' => isset($option['max']) ? $option['max'] : 999999, |
|
226 | + 'step' => isset($option['step']) ? $option['step'] : 1, |
|
227 | + 'placeholder' => isset($option['placeholder']) ? $option['placeholder'] : null, |
|
228 | + 'allow_blank' => isset($option['allow_blank']) ? $option['allow_blank'] : true, |
|
229 | + 'readonly' => isset($option['readonly']) ? $option['readonly'] : false, |
|
230 | + 'faux' => isset($option['faux']) ? $option['faux'] : false, |
|
231 | + 'onchange' => isset($option['onchange']) ? $option['onchange'] : '', |
|
232 | + 'custom' => isset($option['custom']) ? $option['custom'] : '', |
|
233 | + 'default_content' => isset($option['default_content']) ? $option['default_content'] : '', |
|
234 | + 'class' => isset($option['class']) ? $option['class'] : '', |
|
235 | + 'style' => isset($option['style']) ? $option['style'] : '', |
|
236 | + 'cols' => isset($option['cols']) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50, |
|
237 | + 'rows' => isset($option['rows']) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5, |
|
238 | 238 | ) |
239 | 239 | ); |
240 | 240 | |
@@ -246,7 +246,7 @@ discard block |
||
246 | 246 | * @return array |
247 | 247 | */ |
248 | 248 | function wpinv_get_registered_settings() { |
249 | - return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) ); |
|
249 | + return array_filter(apply_filters('wpinv_registered_settings', wpinv_get_data('admin-settings'))); |
|
250 | 250 | } |
251 | 251 | |
252 | 252 | /** |
@@ -255,7 +255,7 @@ discard block |
||
255 | 255 | * @return array |
256 | 256 | */ |
257 | 257 | function getpaid_get_integration_settings() { |
258 | - return apply_filters( 'getpaid_integration_settings', array() ); |
|
258 | + return apply_filters('getpaid_integration_settings', array()); |
|
259 | 259 | } |
260 | 260 | |
261 | 261 | /** |
@@ -263,153 +263,153 @@ discard block |
||
263 | 263 | * |
264 | 264 | * @return array |
265 | 265 | */ |
266 | -function wpinv_settings_sanitize( $input = array() ) { |
|
266 | +function wpinv_settings_sanitize($input = array()) { |
|
267 | 267 | |
268 | 268 | $wpinv_options = wpinv_get_options(); |
269 | 269 | $raw_referrer = wp_get_raw_referer(); |
270 | 270 | |
271 | - if ( empty( $raw_referrer ) ) { |
|
272 | - return array_merge( $wpinv_options, $input ); |
|
271 | + if (empty($raw_referrer)) { |
|
272 | + return array_merge($wpinv_options, $input); |
|
273 | 273 | } |
274 | 274 | |
275 | - wp_parse_str( $raw_referrer, $referrer ); |
|
275 | + wp_parse_str($raw_referrer, $referrer); |
|
276 | 276 | |
277 | - if ( in_array( 'gp-setup', $referrer ) ) { |
|
278 | - return array_merge( $wpinv_options, $input ); |
|
277 | + if (in_array('gp-setup', $referrer)) { |
|
278 | + return array_merge($wpinv_options, $input); |
|
279 | 279 | } |
280 | 280 | |
281 | 281 | $settings = wpinv_get_registered_settings(); |
282 | - $tab = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general'; |
|
283 | - $section = isset( $referrer['section'] ) ? $referrer['section'] : 'main'; |
|
282 | + $tab = isset($referrer['tab']) ? $referrer['tab'] : 'general'; |
|
283 | + $section = isset($referrer['section']) ? $referrer['section'] : 'main'; |
|
284 | 284 | |
285 | 285 | $input = $input ? $input : array(); |
286 | - $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input ); |
|
287 | - $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input ); |
|
286 | + $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input); |
|
287 | + $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input); |
|
288 | 288 | |
289 | 289 | // Loop through each setting being saved and pass it through a sanitization filter |
290 | - foreach ( $input as $key => $value ) { |
|
290 | + foreach ($input as $key => $value) { |
|
291 | 291 | |
292 | 292 | // Get the setting type (checkbox, select, etc) |
293 | - $type = isset( $settings[ $tab ][ $section ][ $key ]['type'] ) ? $settings[ $tab ][ $section ][ $key ]['type'] : false; |
|
293 | + $type = isset($settings[$tab][$section][$key]['type']) ? $settings[$tab][$section][$key]['type'] : false; |
|
294 | 294 | |
295 | - if ( $type ) { |
|
295 | + if ($type) { |
|
296 | 296 | // Field type specific filter |
297 | - $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$type", $value, $key ); |
|
297 | + $input[$key] = apply_filters("wpinv_settings_sanitize_$type", $value, $key); |
|
298 | 298 | } |
299 | 299 | |
300 | 300 | // General filter |
301 | - $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
301 | + $input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key); |
|
302 | 302 | |
303 | 303 | // Key specific filter. |
304 | - $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] ); |
|
304 | + $input[$key] = apply_filters("wpinv_settings_sanitize_$key", $input[$key]); |
|
305 | 305 | } |
306 | 306 | |
307 | 307 | // Loop through the whitelist and unset any that are empty for the tab being saved |
308 | - $main_settings = isset( $settings[ $tab ] ) ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections |
|
309 | - $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array(); |
|
308 | + $main_settings = isset($settings[$tab]) ? $settings[$tab] : array(); // Check for extensions that aren't using new sections |
|
309 | + $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array(); |
|
310 | 310 | |
311 | - $found_settings = array_merge( $main_settings, $section_settings ); |
|
311 | + $found_settings = array_merge($main_settings, $section_settings); |
|
312 | 312 | |
313 | - if ( ! empty( $found_settings ) ) { |
|
314 | - foreach ( $found_settings as $key => $value ) { |
|
313 | + if (!empty($found_settings)) { |
|
314 | + foreach ($found_settings as $key => $value) { |
|
315 | 315 | |
316 | 316 | // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work |
317 | - if ( is_numeric( $key ) ) { |
|
317 | + if (is_numeric($key)) { |
|
318 | 318 | $key = $value['id']; |
319 | 319 | } |
320 | 320 | |
321 | - if ( ! isset( $input[ $key ] ) && isset( $wpinv_options[ $key ] ) ) { |
|
322 | - unset( $wpinv_options[ $key ] ); |
|
321 | + if (!isset($input[$key]) && isset($wpinv_options[$key])) { |
|
322 | + unset($wpinv_options[$key]); |
|
323 | 323 | } |
324 | 324 | } |
325 | 325 | } |
326 | 326 | |
327 | 327 | // Merge our new settings with the existing |
328 | - $output = array_merge( $wpinv_options, $input ); |
|
328 | + $output = array_merge($wpinv_options, $input); |
|
329 | 329 | |
330 | - add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' ); |
|
330 | + add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated'); |
|
331 | 331 | |
332 | 332 | return $output; |
333 | 333 | } |
334 | -add_filter( 'wpinv_settings_sanitize_text', 'trim', 10, 1 ); |
|
335 | -add_filter( 'wpinv_settings_sanitize_tax_rate', 'wpinv_sanitize_amount' ); |
|
334 | +add_filter('wpinv_settings_sanitize_text', 'trim', 10, 1); |
|
335 | +add_filter('wpinv_settings_sanitize_tax_rate', 'wpinv_sanitize_amount'); |
|
336 | 336 | |
337 | -function wpinv_settings_sanitize_tax_rates( $input ) { |
|
338 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
337 | +function wpinv_settings_sanitize_tax_rates($input) { |
|
338 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
339 | 339 | return $input; |
340 | 340 | } |
341 | 341 | |
342 | - $new_rates = ! empty( $_POST['tax_rates'] ) ? wp_kses_post_deep( array_values( $_POST['tax_rates'] ) ) : array(); |
|
342 | + $new_rates = !empty($_POST['tax_rates']) ? wp_kses_post_deep(array_values($_POST['tax_rates'])) : array(); |
|
343 | 343 | $tax_rates = array(); |
344 | 344 | |
345 | - foreach ( $new_rates as $rate ) { |
|
345 | + foreach ($new_rates as $rate) { |
|
346 | 346 | |
347 | - $rate['rate'] = wpinv_sanitize_amount( $rate['rate'] ); |
|
348 | - $rate['name'] = sanitize_text_field( $rate['name'] ); |
|
349 | - $rate['state'] = sanitize_text_field( $rate['state'] ); |
|
350 | - $rate['country'] = sanitize_text_field( $rate['country'] ); |
|
351 | - $rate['global'] = empty( $rate['state'] ); |
|
347 | + $rate['rate'] = wpinv_sanitize_amount($rate['rate']); |
|
348 | + $rate['name'] = sanitize_text_field($rate['name']); |
|
349 | + $rate['state'] = sanitize_text_field($rate['state']); |
|
350 | + $rate['country'] = sanitize_text_field($rate['country']); |
|
351 | + $rate['global'] = empty($rate['state']); |
|
352 | 352 | $tax_rates[] = $rate; |
353 | 353 | |
354 | 354 | } |
355 | 355 | |
356 | - update_option( 'wpinv_tax_rates', $tax_rates ); |
|
356 | + update_option('wpinv_tax_rates', $tax_rates); |
|
357 | 357 | |
358 | 358 | return $input; |
359 | 359 | } |
360 | -add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' ); |
|
360 | +add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates'); |
|
361 | 361 | |
362 | -function wpinv_settings_sanitize_tax_rules( $input ) { |
|
363 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
362 | +function wpinv_settings_sanitize_tax_rules($input) { |
|
363 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
364 | 364 | return $input; |
365 | 365 | } |
366 | 366 | |
367 | - if ( empty( $_POST['wpinv_tax_rules_nonce'] ) || ! wp_verify_nonce( $_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules' ) ) { |
|
367 | + if (empty($_POST['wpinv_tax_rules_nonce']) || !wp_verify_nonce($_POST['wpinv_tax_rules_nonce'], 'wpinv_tax_rules')) { |
|
368 | 368 | return $input; |
369 | 369 | } |
370 | 370 | |
371 | - $new_rules = ! empty( $_POST['tax_rules'] ) ? wp_kses_post_deep( array_values( $_POST['tax_rules'] ) ) : array(); |
|
371 | + $new_rules = !empty($_POST['tax_rules']) ? wp_kses_post_deep(array_values($_POST['tax_rules'])) : array(); |
|
372 | 372 | $tax_rules = array(); |
373 | 373 | |
374 | - foreach ( $new_rules as $rule ) { |
|
374 | + foreach ($new_rules as $rule) { |
|
375 | 375 | |
376 | - $rule['key'] = sanitize_title_with_dashes( $rule['key'] ); |
|
377 | - $rule['label'] = sanitize_text_field( $rule['label'] ); |
|
378 | - $rule['tax_base'] = sanitize_text_field( $rule['tax_base'] ); |
|
376 | + $rule['key'] = sanitize_title_with_dashes($rule['key']); |
|
377 | + $rule['label'] = sanitize_text_field($rule['label']); |
|
378 | + $rule['tax_base'] = sanitize_text_field($rule['tax_base']); |
|
379 | 379 | $tax_rules[] = $rule; |
380 | 380 | |
381 | 381 | } |
382 | 382 | |
383 | - update_option( 'wpinv_tax_rules', $tax_rules ); |
|
383 | + update_option('wpinv_tax_rules', $tax_rules); |
|
384 | 384 | |
385 | 385 | return $input; |
386 | 386 | } |
387 | -add_filter( 'wpinv_settings_taxes-rules_sanitize', 'wpinv_settings_sanitize_tax_rules' ); |
|
387 | +add_filter('wpinv_settings_taxes-rules_sanitize', 'wpinv_settings_sanitize_tax_rules'); |
|
388 | 388 | |
389 | 389 | function wpinv_get_settings_tabs() { |
390 | 390 | $tabs = array(); |
391 | - $tabs['general'] = __( 'General', 'invoicing' ); |
|
392 | - $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' ); |
|
393 | - $tabs['taxes'] = __( 'Taxes', 'invoicing' ); |
|
394 | - $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
391 | + $tabs['general'] = __('General', 'invoicing'); |
|
392 | + $tabs['gateways'] = __('Payment Gateways', 'invoicing'); |
|
393 | + $tabs['taxes'] = __('Taxes', 'invoicing'); |
|
394 | + $tabs['emails'] = __('Emails', 'invoicing'); |
|
395 | 395 | |
396 | - if ( count( getpaid_get_integration_settings() ) > 0 ) { |
|
397 | - $tabs['integrations'] = __( 'Integrations', 'invoicing' ); |
|
396 | + if (count(getpaid_get_integration_settings()) > 0) { |
|
397 | + $tabs['integrations'] = __('Integrations', 'invoicing'); |
|
398 | 398 | } |
399 | 399 | |
400 | - $tabs['privacy'] = __( 'Privacy', 'invoicing' ); |
|
401 | - $tabs['misc'] = __( 'Misc', 'invoicing' ); |
|
402 | - $tabs['tools'] = __( 'Tools', 'invoicing' ); |
|
400 | + $tabs['privacy'] = __('Privacy', 'invoicing'); |
|
401 | + $tabs['misc'] = __('Misc', 'invoicing'); |
|
402 | + $tabs['tools'] = __('Tools', 'invoicing'); |
|
403 | 403 | |
404 | - return apply_filters( 'wpinv_settings_tabs', $tabs ); |
|
404 | + return apply_filters('wpinv_settings_tabs', $tabs); |
|
405 | 405 | } |
406 | 406 | |
407 | -function wpinv_get_settings_tab_sections( $tab = false ) { |
|
407 | +function wpinv_get_settings_tab_sections($tab = false) { |
|
408 | 408 | $tabs = false; |
409 | 409 | $sections = wpinv_get_registered_settings_sections(); |
410 | 410 | |
411 | - if ( $tab && ! empty( $sections[ $tab ] ) ) { |
|
412 | - $tabs = $sections[ $tab ]; |
|
411 | + if ($tab && !empty($sections[$tab])) { |
|
412 | + $tabs = $sections[$tab]; |
|
413 | 413 | } |
414 | 414 | |
415 | 415 | return $tabs; |
@@ -418,7 +418,7 @@ discard block |
||
418 | 418 | function wpinv_get_registered_settings_sections() { |
419 | 419 | static $sections = false; |
420 | 420 | |
421 | - if ( false !== $sections ) { |
|
421 | + if (false !== $sections) { |
|
422 | 422 | return $sections; |
423 | 423 | } |
424 | 424 | |
@@ -426,81 +426,81 @@ discard block |
||
426 | 426 | 'general' => apply_filters( |
427 | 427 | 'wpinv_settings_sections_general', |
428 | 428 | array( |
429 | - 'main' => __( 'General Settings', 'invoicing' ), |
|
430 | - 'page_section' => __( 'Page Settings', 'invoicing' ), |
|
431 | - 'currency_section' => __( 'Currency Settings', 'invoicing' ), |
|
432 | - 'labels' => __( 'Label Texts', 'invoicing' ), |
|
429 | + 'main' => __('General Settings', 'invoicing'), |
|
430 | + 'page_section' => __('Page Settings', 'invoicing'), |
|
431 | + 'currency_section' => __('Currency Settings', 'invoicing'), |
|
432 | + 'labels' => __('Label Texts', 'invoicing'), |
|
433 | 433 | ) |
434 | 434 | ), |
435 | 435 | 'gateways' => apply_filters( |
436 | 436 | 'wpinv_settings_sections_gateways', |
437 | 437 | array( |
438 | - 'main' => __( 'Gateway Settings', 'invoicing' ), |
|
438 | + 'main' => __('Gateway Settings', 'invoicing'), |
|
439 | 439 | ) |
440 | 440 | ), |
441 | 441 | 'taxes' => apply_filters( |
442 | 442 | 'wpinv_settings_sections_taxes', |
443 | 443 | array( |
444 | - 'main' => __( 'Tax Settings', 'invoicing' ), |
|
445 | - 'rules' => __( 'Tax Rules', 'invoicing' ), |
|
446 | - 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
447 | - 'vat' => __( 'EU VAT Settings', 'invoicing' ), |
|
444 | + 'main' => __('Tax Settings', 'invoicing'), |
|
445 | + 'rules' => __('Tax Rules', 'invoicing'), |
|
446 | + 'rates' => __('Tax Rates', 'invoicing'), |
|
447 | + 'vat' => __('EU VAT Settings', 'invoicing'), |
|
448 | 448 | ) |
449 | 449 | ), |
450 | 450 | 'emails' => apply_filters( |
451 | 451 | 'wpinv_settings_sections_emails', |
452 | 452 | array( |
453 | - 'main' => __( 'Email Settings', 'invoicing' ), |
|
453 | + 'main' => __('Email Settings', 'invoicing'), |
|
454 | 454 | ) |
455 | 455 | ), |
456 | 456 | |
457 | - 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ), |
|
457 | + 'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'label', 'id'), |
|
458 | 458 | |
459 | 459 | 'privacy' => apply_filters( |
460 | 460 | 'wpinv_settings_sections_privacy', |
461 | 461 | array( |
462 | - 'main' => __( 'Privacy policy', 'invoicing' ), |
|
462 | + 'main' => __('Privacy policy', 'invoicing'), |
|
463 | 463 | ) |
464 | 464 | ), |
465 | 465 | 'misc' => apply_filters( |
466 | 466 | 'wpinv_settings_sections_misc', |
467 | 467 | array( |
468 | - 'main' => __( 'Miscellaneous', 'invoicing' ), |
|
469 | - 'custom-css' => __( 'Custom CSS', 'invoicing' ), |
|
468 | + 'main' => __('Miscellaneous', 'invoicing'), |
|
469 | + 'custom-css' => __('Custom CSS', 'invoicing'), |
|
470 | 470 | ) |
471 | 471 | ), |
472 | 472 | 'tools' => apply_filters( |
473 | 473 | 'wpinv_settings_sections_tools', |
474 | 474 | array( |
475 | - 'main' => __( 'Diagnostic Tools', 'invoicing' ), |
|
475 | + 'main' => __('Diagnostic Tools', 'invoicing'), |
|
476 | 476 | ) |
477 | 477 | ), |
478 | 478 | ); |
479 | 479 | |
480 | - $sections = apply_filters( 'wpinv_settings_sections', $sections ); |
|
480 | + $sections = apply_filters('wpinv_settings_sections', $sections); |
|
481 | 481 | |
482 | 482 | return $sections; |
483 | 483 | } |
484 | 484 | |
485 | -function wpinv_get_pages( $with_slug = false, $default_label = null ) { |
|
485 | +function wpinv_get_pages($with_slug = false, $default_label = null) { |
|
486 | 486 | |
487 | - global $gp_tmpl_page_options,$wpdb; |
|
487 | + global $gp_tmpl_page_options, $wpdb; |
|
488 | 488 | |
489 | - if ( ! empty( $gp_tmpl_page_options ) ) { |
|
489 | + if (!empty($gp_tmpl_page_options)) { |
|
490 | 490 | return $gp_tmpl_page_options; |
491 | 491 | } |
492 | 492 | |
493 | 493 | $exclude_pages = array(); |
494 | - if ( $page_on_front = get_option( 'page_on_front' ) ) { |
|
494 | + if ($page_on_front = get_option('page_on_front')) { |
|
495 | 495 | $exclude_pages[] = $page_on_front; |
496 | 496 | } |
497 | 497 | |
498 | - if ( $page_for_posts = get_option( 'page_for_posts' ) ) { |
|
498 | + if ($page_for_posts = get_option('page_for_posts')) { |
|
499 | 499 | $exclude_pages[] = $page_for_posts; |
500 | 500 | } |
501 | 501 | |
502 | 502 | $exclude_pages_placeholders = ''; |
503 | - if ( ! empty( $exclude_pages ) ) { |
|
503 | + if (!empty($exclude_pages)) { |
|
504 | 504 | // Sanitize the array of excluded pages and implode it for the SQL query |
505 | 505 | $exclude_pages_placeholders = implode(',', array_fill(0, count($exclude_pages), '%d')); |
506 | 506 | } |
@@ -514,7 +514,7 @@ discard block |
||
514 | 514 | "; |
515 | 515 | |
516 | 516 | // Add the exclusion if there are pages to exclude |
517 | - if ( ! empty( $exclude_pages ) ) { |
|
517 | + if (!empty($exclude_pages)) { |
|
518 | 518 | $sql .= " AND ID NOT IN ($exclude_pages_placeholders)"; |
519 | 519 | } |
520 | 520 | |
@@ -522,18 +522,18 @@ discard block |
||
522 | 522 | $sql .= " ORDER BY post_title ASC"; |
523 | 523 | |
524 | 524 | // Add a sanity limit |
525 | - $limit = absint( apply_filters('wpinv_get_pages_limit',500) ); |
|
525 | + $limit = absint(apply_filters('wpinv_get_pages_limit', 500)); |
|
526 | 526 | $sql .= " LIMIT " . absint($limit); |
527 | 527 | |
528 | 528 | // Prepare the SQL query to include the excluded pages only if we have placeholders |
529 | - $pages = $exclude_pages_placeholders ? $wpdb->get_results( $wpdb->prepare( $sql, ...$exclude_pages ) ) : $wpdb->get_results( $sql ); |
|
529 | + $pages = $exclude_pages_placeholders ? $wpdb->get_results($wpdb->prepare($sql, ...$exclude_pages)) : $wpdb->get_results($sql); |
|
530 | 530 | |
531 | 531 | $pages_options = array(); |
532 | 532 | |
533 | - if ( $pages ) { |
|
534 | - foreach ( $pages as $page ) { |
|
533 | + if ($pages) { |
|
534 | + foreach ($pages as $page) { |
|
535 | 535 | $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
536 | - $pages_options[ $page->ID ] = $title; |
|
536 | + $pages_options[$page->ID] = $title; |
|
537 | 537 | } |
538 | 538 | } |
539 | 539 | |
@@ -541,162 +541,162 @@ discard block |
||
541 | 541 | |
542 | 542 | $gp_tmpl_page_options = $pages_options; |
543 | 543 | |
544 | - if ( $default_label !== null && $default_label !== false ) { |
|
545 | - $pages_options = array( '' => $default_label ) + $pages_options; // Blank option |
|
544 | + if ($default_label !== null && $default_label !== false) { |
|
545 | + $pages_options = array('' => $default_label) + $pages_options; // Blank option |
|
546 | 546 | } |
547 | 547 | |
548 | 548 | return $pages_options; |
549 | 549 | } |
550 | 550 | |
551 | -function wpinv_header_callback( $args ) { |
|
552 | - if ( ! empty( $args['desc'] ) ) { |
|
553 | - echo wp_kses_post( $args['desc'] ); |
|
551 | +function wpinv_header_callback($args) { |
|
552 | + if (!empty($args['desc'])) { |
|
553 | + echo wp_kses_post($args['desc']); |
|
554 | 554 | } |
555 | 555 | } |
556 | 556 | |
557 | -function wpinv_hidden_callback( $args ) { |
|
557 | +function wpinv_hidden_callback($args) { |
|
558 | 558 | |
559 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
560 | - $value = wpinv_get_option( $args['id'], $std ); |
|
559 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
560 | + $value = wpinv_get_option($args['id'], $std); |
|
561 | 561 | |
562 | - if ( isset( $args['set_value'] ) ) { |
|
562 | + if (isset($args['set_value'])) { |
|
563 | 563 | $value = $args['set_value']; |
564 | 564 | } |
565 | 565 | |
566 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
566 | + if (isset($args['faux']) && true === $args['faux']) { |
|
567 | 567 | $args['readonly'] = true; |
568 | - $name = ''; |
|
568 | + $name = ''; |
|
569 | 569 | } else { |
570 | - $name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']'; |
|
570 | + $name = 'wpinv_settings[' . esc_attr($args['id']) . ']'; |
|
571 | 571 | } |
572 | 572 | |
573 | - echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
573 | + echo '<input type="hidden" id="wpinv_settings[' . esc_attr($args['id']) . ']" name="' . esc_attr($name) . '" value="' . esc_attr(stripslashes($value)) . '" />'; |
|
574 | 574 | |
575 | 575 | } |
576 | 576 | |
577 | 577 | /** |
578 | 578 | * Displays a checkbox settings callback. |
579 | 579 | */ |
580 | -function wpinv_checkbox_callback( $args ) { |
|
580 | +function wpinv_checkbox_callback($args) { |
|
581 | 581 | |
582 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
583 | - $std = wpinv_get_option( $args['id'], $std ); |
|
584 | - $id = esc_attr( $args['id'] ); |
|
582 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
583 | + $std = wpinv_get_option($args['id'], $std); |
|
584 | + $id = esc_attr($args['id']); |
|
585 | 585 | |
586 | - getpaid_hidden_field( "wpinv_settings[$id]", '0' ); |
|
586 | + getpaid_hidden_field("wpinv_settings[$id]", '0'); |
|
587 | 587 | ?> |
588 | 588 | <label> |
589 | - <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" /> |
|
590 | - <?php echo wp_kses_post( $args['desc'] ); ?> |
|
589 | + <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" /> |
|
590 | + <?php echo wp_kses_post($args['desc']); ?> |
|
591 | 591 | </label> |
592 | 592 | <?php |
593 | 593 | } |
594 | 594 | |
595 | -function wpinv_multicheck_callback( $args ) { |
|
595 | +function wpinv_multicheck_callback($args) { |
|
596 | 596 | |
597 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
598 | - $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
597 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
598 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
599 | 599 | |
600 | - if ( ! empty( $args['options'] ) ) { |
|
600 | + if (!empty($args['options'])) { |
|
601 | 601 | |
602 | - $std = isset( $args['std'] ) ? $args['std'] : array(); |
|
603 | - $value = wpinv_get_option( $args['id'], $std ); |
|
602 | + $std = isset($args['std']) ? $args['std'] : array(); |
|
603 | + $value = wpinv_get_option($args['id'], $std); |
|
604 | 604 | |
605 | - echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">'; |
|
606 | - foreach ( $args['options'] as $key => $option ) : |
|
607 | - $sanitize_key = esc_attr( wpinv_sanitize_key( $key ) ); |
|
608 | - if ( in_array( $sanitize_key, $value ) ) { |
|
605 | + echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr($sanitize_id . $class) . '">'; |
|
606 | + foreach ($args['options'] as $key => $option) : |
|
607 | + $sanitize_key = esc_attr(wpinv_sanitize_key($key)); |
|
608 | + if (in_array($sanitize_key, $value)) { |
|
609 | 609 | $enabled = $sanitize_key; |
610 | 610 | } else { |
611 | 611 | $enabled = null; |
612 | 612 | } |
613 | - 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 ) . '/> '; |
|
614 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
613 | + 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) . '/> '; |
|
614 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . '][' . esc_attr($sanitize_key) . ']">' . wp_kses_post($option) . '</label></div>'; |
|
615 | 615 | endforeach; |
616 | 616 | echo '</div>'; |
617 | - echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
617 | + echo '<p class="description">' . wp_kses_post($args['desc']) . '</p>'; |
|
618 | 618 | } |
619 | 619 | } |
620 | 620 | |
621 | -function wpinv_payment_icons_callback( $args ) { |
|
621 | +function wpinv_payment_icons_callback($args) { |
|
622 | 622 | |
623 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
624 | - $value = wpinv_get_option( $args['id'], false ); |
|
623 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
624 | + $value = wpinv_get_option($args['id'], false); |
|
625 | 625 | |
626 | - if ( ! empty( $args['options'] ) ) { |
|
627 | - foreach ( $args['options'] as $key => $option ) { |
|
628 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
626 | + if (!empty($args['options'])) { |
|
627 | + foreach ($args['options'] as $key => $option) { |
|
628 | + $sanitize_key = wpinv_sanitize_key($key); |
|
629 | 629 | |
630 | - if ( empty( $value ) ) { |
|
630 | + if (empty($value)) { |
|
631 | 631 | $enabled = $option; |
632 | 632 | } else { |
633 | 633 | $enabled = null; |
634 | 634 | } |
635 | 635 | |
636 | - 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;">'; |
|
636 | + 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;">'; |
|
637 | 637 | |
638 | - 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 ) . '/> '; |
|
638 | + 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) . '/> '; |
|
639 | 639 | |
640 | - if ( wpinv_string_is_image_url( $key ) ) { |
|
641 | - echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
640 | + if (wpinv_string_is_image_url($key)) { |
|
641 | + echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
642 | 642 | } else { |
643 | - $card = strtolower( str_replace( ' ', '', $option ) ); |
|
643 | + $card = strtolower(str_replace(' ', '', $option)); |
|
644 | 644 | |
645 | - if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
646 | - $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
645 | + if (has_filter('wpinv_accepted_payment_' . $card . '_image')) { |
|
646 | + $image = apply_filters('wpinv_accepted_payment_' . $card . '_image', ''); |
|
647 | 647 | } else { |
648 | - $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
648 | + $image = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false); |
|
649 | 649 | $content_dir = WP_CONTENT_DIR; |
650 | 650 | |
651 | - if ( function_exists( 'wp_normalize_path' ) ) { |
|
651 | + if (function_exists('wp_normalize_path')) { |
|
652 | 652 | // Replaces backslashes with forward slashes for Windows systems |
653 | - $image = wp_normalize_path( $image ); |
|
654 | - $content_dir = wp_normalize_path( $content_dir ); |
|
653 | + $image = wp_normalize_path($image); |
|
654 | + $content_dir = wp_normalize_path($content_dir); |
|
655 | 655 | } |
656 | 656 | |
657 | - $image = str_replace( $content_dir, content_url(), $image ); |
|
657 | + $image = str_replace($content_dir, content_url(), $image); |
|
658 | 658 | } |
659 | 659 | |
660 | - echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
660 | + echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
661 | 661 | } |
662 | - echo wp_kses_post( $option ) . '</label>'; |
|
662 | + echo wp_kses_post($option) . '</label>'; |
|
663 | 663 | } |
664 | - echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
664 | + echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>'; |
|
665 | 665 | } |
666 | 666 | } |
667 | 667 | |
668 | 668 | /** |
669 | 669 | * Displays a radio settings field. |
670 | 670 | */ |
671 | -function wpinv_radio_callback( $args ) { |
|
671 | +function wpinv_radio_callback($args) { |
|
672 | 672 | |
673 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
674 | - $std = wpinv_get_option( $args['id'], $std ); |
|
673 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
674 | + $std = wpinv_get_option($args['id'], $std); |
|
675 | 675 | ?> |
676 | 676 | <fieldset> |
677 | - <ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;"> |
|
678 | - <?php foreach ( $args['options'] as $key => $option ) : ?> |
|
677 | + <ul id="wpinv-settings-<?php echo esc_attr($args['id']); ?>" style="margin-top: 0;"> |
|
678 | + <?php foreach ($args['options'] as $key => $option) : ?> |
|
679 | 679 | <li> |
680 | 680 | <label> |
681 | - <input name="wpinv_settings[<?php echo esc_attr( $args['id'] ); ?>]" <?php checked( $std, $key ); ?> value="<?php echo esc_attr( $key ); ?>" type="radio"> |
|
682 | - <?php echo wp_kses_post( $option ); ?> |
|
681 | + <input name="wpinv_settings[<?php echo esc_attr($args['id']); ?>]" <?php checked($std, $key); ?> value="<?php echo esc_attr($key); ?>" type="radio"> |
|
682 | + <?php echo wp_kses_post($option); ?> |
|
683 | 683 | </label> |
684 | 684 | </li> |
685 | 685 | <?php endforeach; ?> |
686 | 686 | </ul> |
687 | 687 | </fieldset> |
688 | 688 | <?php |
689 | - getpaid_settings_description_callback( $args ); |
|
689 | + getpaid_settings_description_callback($args); |
|
690 | 690 | } |
691 | 691 | |
692 | 692 | /** |
693 | 693 | * Displays a description if available. |
694 | 694 | */ |
695 | -function getpaid_settings_description_callback( $args ) { |
|
695 | +function getpaid_settings_description_callback($args) { |
|
696 | 696 | |
697 | - if ( ! empty( $args['desc'] ) ) { |
|
697 | + if (!empty($args['desc'])) { |
|
698 | 698 | $description = $args['desc']; |
699 | - echo wp_kses_post( "<p class='description'>$description</p>" ); |
|
699 | + echo wp_kses_post("<p class='description'>$description</p>"); |
|
700 | 700 | } |
701 | 701 | |
702 | 702 | } |
@@ -711,35 +711,35 @@ discard block |
||
711 | 711 | </tr> |
712 | 712 | <tr class="bsui"> |
713 | 713 | <td colspan="2" class="p-0"> |
714 | - <?php include plugin_dir_path( __FILE__ ) . 'views/html-gateways-edit.php'; ?> |
|
714 | + <?php include plugin_dir_path(__FILE__) . 'views/html-gateways-edit.php'; ?> |
|
715 | 715 | |
716 | 716 | <?php |
717 | 717 | } |
718 | 718 | |
719 | -function wpinv_gateway_select_callback( $args ) { |
|
719 | +function wpinv_gateway_select_callback($args) { |
|
720 | 720 | |
721 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
722 | - $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
723 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
724 | - $value = wpinv_get_option( $args['id'], $std ); |
|
721 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
722 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
723 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
724 | + $value = wpinv_get_option($args['id'], $std); |
|
725 | 725 | |
726 | - echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >'; |
|
726 | + echo '<select name="wpinv_settings[' . esc_attr($sanitize_id) . ']"" id="wpinv_settings[' . esc_attr($sanitize_id) . ']" class="' . esc_attr($class) . '" >'; |
|
727 | 727 | |
728 | - foreach ( $args['options'] as $key => $option ) : |
|
728 | + foreach ($args['options'] as $key => $option) : |
|
729 | 729 | |
730 | - echo '<option value="' . esc_attr( $key ) . '" '; |
|
730 | + echo '<option value="' . esc_attr($key) . '" '; |
|
731 | 731 | |
732 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
733 | - selected( $key, $args['selected'] ); |
|
732 | + if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) { |
|
733 | + selected($key, $args['selected']); |
|
734 | 734 | } else { |
735 | - selected( $key, $value ); |
|
735 | + selected($key, $value); |
|
736 | 736 | } |
737 | 737 | |
738 | - echo '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
738 | + echo '>' . esc_html($option['admin_label']) . '</option>'; |
|
739 | 739 | endforeach; |
740 | 740 | |
741 | 741 | echo '</select>'; |
742 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
742 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
743 | 743 | } |
744 | 744 | |
745 | 745 | /** |
@@ -748,16 +748,16 @@ discard block |
||
748 | 748 | * @param array $args |
749 | 749 | * @return string |
750 | 750 | */ |
751 | -function wpinv_settings_attrs_helper( $args ) { |
|
751 | +function wpinv_settings_attrs_helper($args) { |
|
752 | 752 | |
753 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
754 | - $id = esc_attr( $args['id'] ); |
|
755 | - $value = is_scalar( $value ) ? $value : ''; |
|
753 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
754 | + $id = esc_attr($args['id']); |
|
755 | + $value = is_scalar($value) ? $value : ''; |
|
756 | 756 | |
757 | 757 | $attrs = array( |
758 | - 'name' => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]", |
|
759 | - 'readonly' => ! empty( $args['faux'] ), |
|
760 | - 'value' => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ), |
|
758 | + 'name' => !empty($args['faux']) ? false : "wpinv_settings[$id]", |
|
759 | + 'readonly' => !empty($args['faux']), |
|
760 | + 'value' => !empty($args['faux']) ? $value : wpinv_get_option($args['id'], $value), |
|
761 | 761 | 'id' => 'wpinv-settings-' . $args['id'], |
762 | 762 | 'style' => $args['style'], |
763 | 763 | 'class' => $args['class'], |
@@ -765,20 +765,20 @@ discard block |
||
765 | 765 | 'data-placeholder' => $args['placeholder'], |
766 | 766 | ); |
767 | 767 | |
768 | - if ( ! empty( $args['onchange'] ) ) { |
|
768 | + if (!empty($args['onchange'])) { |
|
769 | 769 | $attrs['onchange'] = $args['onchange']; |
770 | 770 | } |
771 | 771 | |
772 | - foreach ( $attrs as $key => $value ) { |
|
772 | + foreach ($attrs as $key => $value) { |
|
773 | 773 | |
774 | - if ( false === $value ) { |
|
774 | + if (false === $value) { |
|
775 | 775 | continue; |
776 | 776 | } |
777 | 777 | |
778 | - if ( true === $value ) { |
|
779 | - echo ' ' . esc_attr( $key ); |
|
778 | + if (true === $value) { |
|
779 | + echo ' ' . esc_attr($key); |
|
780 | 780 | } else { |
781 | - echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"'; |
|
781 | + echo ' ' . esc_attr($key) . '="' . esc_attr($value) . '"'; |
|
782 | 782 | } |
783 | 783 | |
784 | 784 | } |
@@ -788,12 +788,12 @@ discard block |
||
788 | 788 | /** |
789 | 789 | * Displays a text input settings callback. |
790 | 790 | */ |
791 | -function wpinv_text_callback( $args ) { |
|
791 | +function wpinv_text_callback($args) { |
|
792 | 792 | |
793 | 793 | ?> |
794 | 794 | <label style="width: 100%;"> |
795 | - <input type="text" <?php wpinv_settings_attrs_helper( $args ); ?>> |
|
796 | - <?php getpaid_settings_description_callback( $args ); ?> |
|
795 | + <input type="text" <?php wpinv_settings_attrs_helper($args); ?>> |
|
796 | + <?php getpaid_settings_description_callback($args); ?> |
|
797 | 797 | </label> |
798 | 798 | <?php |
799 | 799 | |
@@ -802,174 +802,174 @@ discard block |
||
802 | 802 | /** |
803 | 803 | * Displays a number input settings callback. |
804 | 804 | */ |
805 | -function wpinv_number_callback( $args ) { |
|
805 | +function wpinv_number_callback($args) { |
|
806 | 806 | |
807 | 807 | ?> |
808 | 808 | <label style="width: 100%;"> |
809 | - <input type="number" step="<?php echo esc_attr( $args['step'] ); ?>" max="<?php echo intval( $args['max'] ); ?>" min="<?php echo intval( $args['min'] ); ?>" <?php wpinv_settings_attrs_helper( $args ); ?>> |
|
810 | - <?php getpaid_settings_description_callback( $args ); ?> |
|
809 | + <input type="number" step="<?php echo esc_attr($args['step']); ?>" max="<?php echo intval($args['max']); ?>" min="<?php echo intval($args['min']); ?>" <?php wpinv_settings_attrs_helper($args); ?>> |
|
810 | + <?php getpaid_settings_description_callback($args); ?> |
|
811 | 811 | </label> |
812 | 812 | <?php |
813 | 813 | |
814 | 814 | } |
815 | 815 | |
816 | -function wpinv_textarea_callback( $args ) { |
|
816 | +function wpinv_textarea_callback($args) { |
|
817 | 817 | |
818 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
819 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
820 | - $value = wpinv_get_option( $args['id'], $std ); |
|
818 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
819 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
820 | + $value = wpinv_get_option($args['id'], $std); |
|
821 | 821 | |
822 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
823 | - $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text'; |
|
822 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
823 | + $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text'; |
|
824 | 824 | |
825 | - 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>'; |
|
826 | - echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
825 | + 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>'; |
|
826 | + echo '<br /><label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
827 | 827 | |
828 | 828 | } |
829 | 829 | |
830 | -function wpinv_password_callback( $args ) { |
|
830 | +function wpinv_password_callback($args) { |
|
831 | 831 | |
832 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
833 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
834 | - $value = wpinv_get_option( $args['id'], $std ); |
|
832 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
833 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
834 | + $value = wpinv_get_option($args['id'], $std); |
|
835 | 835 | |
836 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
837 | - 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 ) . '"/>'; |
|
838 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
836 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
837 | + 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) . '"/>'; |
|
838 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
839 | 839 | |
840 | 840 | } |
841 | 841 | |
842 | -function wpinv_missing_callback( $args ) { |
|
842 | +function wpinv_missing_callback($args) { |
|
843 | 843 | printf( |
844 | - esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
845 | - '<strong>' . esc_html( $args['id'] ) . '</strong>' |
|
844 | + esc_html__('The callback function used for the %s setting is missing.', 'invoicing'), |
|
845 | + '<strong>' . esc_html($args['id']) . '</strong>' |
|
846 | 846 | ); |
847 | 847 | } |
848 | 848 | |
849 | 849 | /** |
850 | 850 | * Displays a number input settings callback. |
851 | 851 | */ |
852 | -function wpinv_select_callback( $args ) { |
|
852 | +function wpinv_select_callback($args) { |
|
853 | 853 | |
854 | - $desc = wp_kses_post( $args['desc'] ); |
|
855 | - $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>"; |
|
856 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
857 | - $value = wpinv_get_option( $args['id'], $value ); |
|
858 | - $rand = uniqid( 'random_id' ); |
|
854 | + $desc = wp_kses_post($args['desc']); |
|
855 | + $desc = empty($desc) ? '' : "<p class='description'>$desc</p>"; |
|
856 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
857 | + $value = wpinv_get_option($args['id'], $value); |
|
858 | + $rand = uniqid('random_id'); |
|
859 | 859 | |
860 | 860 | ?> |
861 | 861 | <label style="width: 100%;"> |
862 | - <select <?php wpinv_settings_attrs_helper( $args ); ?> data-allow-clear="true"> |
|
863 | - <?php foreach ( $args['options'] as $option => $name ) : ?> |
|
864 | - <option value="<?php echo esc_attr( $option ); ?>" <?php echo selected( $option, $value ); ?>><?php echo esc_html( $name ); ?></option> |
|
862 | + <select <?php wpinv_settings_attrs_helper($args); ?> data-allow-clear="true"> |
|
863 | + <?php foreach ($args['options'] as $option => $name) : ?> |
|
864 | + <option value="<?php echo esc_attr($option); ?>" <?php echo selected($option, $value); ?>><?php echo esc_html($name); ?></option> |
|
865 | 865 | <?php endforeach; ?> |
866 | 866 | </select> |
867 | 867 | |
868 | - <?php if ( substr( $args['id'], -5 ) === '_page' && is_numeric( $value ) ) : ?> |
|
869 | - <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> |
|
868 | + <?php if (substr($args['id'], -5) === '_page' && is_numeric($value)) : ?> |
|
869 | + <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> |
|
870 | 870 | <?php endif; ?> |
871 | 871 | |
872 | - <?php if ( substr( $args['id'], -5 ) === '_page' && ! empty( $args['default_content'] ) ) : ?> |
|
873 | - <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> |
|
874 | - <div id='<?php echo esc_attr( $rand ); ?>' style='display:none;'> |
|
872 | + <?php if (substr($args['id'], -5) === '_page' && !empty($args['default_content'])) : ?> |
|
873 | + <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> |
|
874 | + <div id='<?php echo esc_attr($rand); ?>' style='display:none;'> |
|
875 | 875 | <div> |
876 | - <h3><?php esc_html_e( 'Original Content', 'invoicing' ); ?></h3> |
|
877 | - <textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php echo wp_kses_post( gepaid_trim_lines( $args['default_content'] ) ); ?></textarea> |
|
878 | - <h3><?php esc_html_e( 'Current Content', 'invoicing' ); ?></h3> |
|
879 | - <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> |
|
876 | + <h3><?php esc_html_e('Original Content', 'invoicing'); ?></h3> |
|
877 | + <textarea readonly onclick="this.select()" rows="8" style="width: 100%;"><?php echo wp_kses_post(gepaid_trim_lines($args['default_content'])); ?></textarea> |
|
878 | + <h3><?php esc_html_e('Current Content', 'invoicing'); ?></h3> |
|
879 | + <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> |
|
880 | 880 | </div> |
881 | 881 | </div> |
882 | 882 | <?php endif; ?> |
883 | 883 | |
884 | - <?php echo wp_kses_post( $desc ); ?> |
|
884 | + <?php echo wp_kses_post($desc); ?> |
|
885 | 885 | </label> |
886 | 886 | <?php |
887 | 887 | |
888 | 888 | } |
889 | 889 | |
890 | -function wpinv_color_select_callback( $args ) { |
|
890 | +function wpinv_color_select_callback($args) { |
|
891 | 891 | |
892 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
893 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
894 | - $value = wpinv_get_option( $args['id'], $std ); |
|
892 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
893 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
894 | + $value = wpinv_get_option($args['id'], $std); |
|
895 | 895 | |
896 | - echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
896 | + echo '<select id="wpinv_settings[' . esc_attr($sanitize_id) . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>'; |
|
897 | 897 | |
898 | - foreach ( $args['options'] as $option => $color ) { |
|
899 | - echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>'; |
|
898 | + foreach ($args['options'] as $option => $color) { |
|
899 | + echo '<option value="' . esc_attr($option) . '" ' . selected($option, $value) . '>' . esc_html($color['label']) . '</option>'; |
|
900 | 900 | } |
901 | 901 | |
902 | 902 | echo '</select>'; |
903 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
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_rich_editor_callback( $args ) { |
|
907 | +function wpinv_rich_editor_callback($args) { |
|
908 | 908 | global $wp_version; |
909 | 909 | |
910 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
910 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
911 | 911 | |
912 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
913 | - $value = wpinv_get_option( $args['id'], $std ); |
|
912 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
913 | + $value = wpinv_get_option($args['id'], $std); |
|
914 | 914 | |
915 | - if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
915 | + if (!empty($args['allow_blank']) && empty($value)) { |
|
916 | 916 | $value = $std; |
917 | 917 | } |
918 | 918 | |
919 | - $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
919 | + $rows = isset($args['size']) ? $args['size'] : 20; |
|
920 | 920 | |
921 | 921 | echo '<div class="getpaid-settings-editor-input">'; |
922 | - if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
922 | + if ($wp_version >= 3.3 && function_exists('wp_editor')) { |
|
923 | 923 | wp_editor( |
924 | - stripslashes( $value ), |
|
925 | - 'wpinv_settings_' . esc_attr( $args['id'] ), |
|
924 | + stripslashes($value), |
|
925 | + 'wpinv_settings_' . esc_attr($args['id']), |
|
926 | 926 | array( |
927 | - 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', |
|
928 | - 'textarea_rows' => absint( $rows ), |
|
927 | + 'textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']', |
|
928 | + 'textarea_rows' => absint($rows), |
|
929 | 929 | 'media_buttons' => false, |
930 | 930 | ) |
931 | 931 | ); |
932 | 932 | } else { |
933 | - 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>'; |
|
933 | + 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>'; |
|
934 | 934 | } |
935 | 935 | |
936 | - echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
936 | + echo '</div><br/><label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
937 | 937 | |
938 | 938 | } |
939 | 939 | |
940 | -function wpinv_upload_callback( $args ) { |
|
940 | +function wpinv_upload_callback($args) { |
|
941 | 941 | |
942 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
942 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
943 | 943 | |
944 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
945 | - $value = wpinv_get_option( $args['id'], $std ); |
|
944 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
945 | + $value = wpinv_get_option($args['id'], $std); |
|
946 | 946 | |
947 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
948 | - 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 ) ) . '"/>'; |
|
949 | - echo '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
950 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
947 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
948 | + 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)) . '"/>'; |
|
949 | + echo '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__('Upload File', 'invoicing') . '"/></span>'; |
|
950 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
951 | 951 | |
952 | 952 | } |
953 | 953 | |
954 | -function wpinv_color_callback( $args ) { |
|
954 | +function wpinv_color_callback($args) { |
|
955 | 955 | |
956 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
957 | - $value = wpinv_get_option( $args['id'], $std ); |
|
958 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
956 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
957 | + $value = wpinv_get_option($args['id'], $std); |
|
958 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
959 | 959 | |
960 | - 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 ) . '" />'; |
|
961 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
960 | + 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) . '" />'; |
|
961 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
962 | 962 | |
963 | 963 | } |
964 | 964 | |
965 | -function wpinv_country_states_callback( $args ) { |
|
965 | +function wpinv_country_states_callback($args) { |
|
966 | 966 | |
967 | - $std = isset( $args['std'] ) ? $args['std'] : ''; |
|
968 | - $value = wpinv_get_option( $args['id'], $std ); |
|
967 | + $std = isset($args['std']) ? $args['std'] : ''; |
|
968 | + $value = wpinv_get_option($args['id'], $std); |
|
969 | 969 | |
970 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
970 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
971 | 971 | |
972 | - if ( isset( $args['placeholder'] ) ) { |
|
972 | + if (isset($args['placeholder'])) { |
|
973 | 973 | $placeholder = $args['placeholder']; |
974 | 974 | } else { |
975 | 975 | $placeholder = ''; |
@@ -977,15 +977,15 @@ discard block |
||
977 | 977 | |
978 | 978 | $states = wpinv_get_country_states(); |
979 | 979 | |
980 | - $class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2'; |
|
981 | - 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 ) . '"/>'; |
|
980 | + $class = empty($states) ? 'wpinv-no-states' : 'wpi_select2'; |
|
981 | + 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) . '"/>'; |
|
982 | 982 | |
983 | - foreach ( $states as $option => $name ) { |
|
984 | - echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>'; |
|
983 | + foreach ($states as $option => $name) { |
|
984 | + echo '<option value="' . esc_attr($option) . '" ' . selected($option, $value) . '>' . esc_html($name) . '</option>'; |
|
985 | 985 | } |
986 | 986 | |
987 | 987 | echo '</select>'; |
988 | - echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
988 | + echo '<label for="wpinv_settings[' . esc_attr($sanitize_id) . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
989 | 989 | |
990 | 990 | } |
991 | 991 | |
@@ -999,7 +999,7 @@ discard block |
||
999 | 999 | </tr> |
1000 | 1000 | <tr class="bsui"> |
1001 | 1001 | <td colspan="2" class="p-0"> |
1002 | - <?php include plugin_dir_path( __FILE__ ) . 'views/html-tax-rates-edit.php'; ?> |
|
1002 | + <?php include plugin_dir_path(__FILE__) . 'views/html-tax-rates-edit.php'; ?> |
|
1003 | 1003 | |
1004 | 1004 | <?php |
1005 | 1005 | |
@@ -1008,11 +1008,11 @@ discard block |
||
1008 | 1008 | /** |
1009 | 1009 | * Displays a tax rate' edit row. |
1010 | 1010 | */ |
1011 | -function wpinv_tax_rate_callback( $tax_rate, $key ) { |
|
1011 | +function wpinv_tax_rate_callback($tax_rate, $key) { |
|
1012 | 1012 | |
1013 | - $key = sanitize_key( $key ); |
|
1014 | - $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate']; |
|
1015 | - include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php'; |
|
1013 | + $key = sanitize_key($key); |
|
1014 | + $tax_rate['reduced_rate'] = empty($tax_rate['reduced_rate']) ? 0 : $tax_rate['reduced_rate']; |
|
1015 | + include plugin_dir_path(__FILE__) . 'views/html-tax-rate-edit.php'; |
|
1016 | 1016 | |
1017 | 1017 | } |
1018 | 1018 | |
@@ -1026,177 +1026,177 @@ discard block |
||
1026 | 1026 | </tr> |
1027 | 1027 | <tr class="bsui"> |
1028 | 1028 | <td colspan="2" class="p-0"> |
1029 | - <?php include plugin_dir_path( __FILE__ ) . 'views/html-tax-rules-edit.php'; ?> |
|
1029 | + <?php include plugin_dir_path(__FILE__) . 'views/html-tax-rules-edit.php'; ?> |
|
1030 | 1030 | |
1031 | 1031 | <?php |
1032 | 1032 | |
1033 | 1033 | } |
1034 | 1034 | |
1035 | -function wpinv_tools_callback( $args ) { |
|
1035 | +function wpinv_tools_callback($args) { |
|
1036 | 1036 | ?> |
1037 | 1037 | </td><tr> |
1038 | 1038 | <td colspan="2" class="wpinv_tools_tdbox"> |
1039 | 1039 | <?php |
1040 | - if ( $args['desc'] ) { |
|
1040 | + if ($args['desc']) { |
|
1041 | 1041 | ?> |
1042 | -<p><?php echo wp_kses_post( $args['desc'] ); ?></p><?php } ?> |
|
1043 | - <?php do_action( 'wpinv_tools_before' ); ?> |
|
1042 | +<p><?php echo wp_kses_post($args['desc']); ?></p><?php } ?> |
|
1043 | + <?php do_action('wpinv_tools_before'); ?> |
|
1044 | 1044 | <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts"> |
1045 | 1045 | <thead> |
1046 | 1046 | <tr> |
1047 | - <th scope="col" class="wpinv-th-tool"><?php esc_html_e( 'Tool', 'invoicing' ); ?></th> |
|
1048 | - <th scope="col" class="wpinv-th-desc"><?php esc_html_e( 'Description', 'invoicing' ); ?></th> |
|
1049 | - <th scope="col" class="wpinv-th-action"><?php esc_html_e( 'Action', 'invoicing' ); ?></th> |
|
1047 | + <th scope="col" class="wpinv-th-tool"><?php esc_html_e('Tool', 'invoicing'); ?></th> |
|
1048 | + <th scope="col" class="wpinv-th-desc"><?php esc_html_e('Description', 'invoicing'); ?></th> |
|
1049 | + <th scope="col" class="wpinv-th-action"><?php esc_html_e('Action', 'invoicing'); ?></th> |
|
1050 | 1050 | </tr> |
1051 | 1051 | </thead> |
1052 | 1052 | |
1053 | 1053 | <tbody> |
1054 | 1054 | <tr> |
1055 | - <td><?php esc_html_e( 'Check Pages', 'invoicing' ); ?></td> |
|
1055 | + <td><?php esc_html_e('Check Pages', 'invoicing'); ?></td> |
|
1056 | 1056 | <td> |
1057 | - <small><?php esc_html_e( 'Creates any missing GetPaid pages.', 'invoicing' ); ?></small> |
|
1057 | + <small><?php esc_html_e('Creates any missing GetPaid pages.', 'invoicing'); ?></small> |
|
1058 | 1058 | </td> |
1059 | 1059 | <td> |
1060 | 1060 | <a href=" |
1061 | 1061 | <?php |
1062 | 1062 | echo esc_url( |
1063 | 1063 | wp_nonce_url( |
1064 | - add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ), |
|
1064 | + add_query_arg('getpaid-admin-action', 'create_missing_pages'), |
|
1065 | 1065 | 'getpaid-nonce', |
1066 | 1066 | 'getpaid-nonce' |
1067 | 1067 | ) |
1068 | 1068 | ); |
1069 | 1069 | ?> |
1070 | - " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
|
1070 | + " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a> |
|
1071 | 1071 | </td> |
1072 | 1072 | </tr> |
1073 | 1073 | <tr> |
1074 | - <td><?php esc_html_e( 'Refresh Permalinks', 'invoicing' ); ?></td> |
|
1074 | + <td><?php esc_html_e('Refresh Permalinks', 'invoicing'); ?></td> |
|
1075 | 1075 | <td> |
1076 | - <small><?php esc_html_e( 'Might fix the page not found error when viewing an invoice.', 'invoicing' ); ?></small> |
|
1076 | + <small><?php esc_html_e('Might fix the page not found error when viewing an invoice.', 'invoicing'); ?></small> |
|
1077 | 1077 | </td> |
1078 | 1078 | <td> |
1079 | 1079 | <a href=" |
1080 | 1080 | <?php |
1081 | 1081 | echo esc_url( |
1082 | 1082 | wp_nonce_url( |
1083 | - add_query_arg( 'getpaid-admin-action', 'refresh_permalinks' ), |
|
1083 | + add_query_arg('getpaid-admin-action', 'refresh_permalinks'), |
|
1084 | 1084 | 'getpaid-nonce', |
1085 | 1085 | 'getpaid-nonce' |
1086 | 1086 | ) |
1087 | 1087 | ); |
1088 | 1088 | ?> |
1089 | - " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
|
1089 | + " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a> |
|
1090 | 1090 | </td> |
1091 | 1091 | </tr> |
1092 | 1092 | <tr> |
1093 | - <td><?php esc_html_e( 'Repair Database Tables', 'invoicing' ); ?></td> |
|
1093 | + <td><?php esc_html_e('Repair Database Tables', 'invoicing'); ?></td> |
|
1094 | 1094 | <td> |
1095 | - <small><?php esc_html_e( 'Run this tool to create any missing database tables.', 'invoicing' ); ?></small> |
|
1095 | + <small><?php esc_html_e('Run this tool to create any missing database tables.', 'invoicing'); ?></small> |
|
1096 | 1096 | </td> |
1097 | 1097 | <td> |
1098 | 1098 | <a href=" |
1099 | 1099 | <?php |
1100 | 1100 | echo esc_url( |
1101 | 1101 | wp_nonce_url( |
1102 | - add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ), |
|
1102 | + add_query_arg('getpaid-admin-action', 'create_missing_tables'), |
|
1103 | 1103 | 'getpaid-nonce', |
1104 | 1104 | 'getpaid-nonce' |
1105 | 1105 | ) |
1106 | 1106 | ); |
1107 | 1107 | ?> |
1108 | - " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
|
1108 | + " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a> |
|
1109 | 1109 | </td> |
1110 | 1110 | </tr> |
1111 | 1111 | <tr> |
1112 | - <td><?php esc_html_e( 'Migrate old invoices', 'invoicing' ); ?></td> |
|
1112 | + <td><?php esc_html_e('Migrate old invoices', 'invoicing'); ?></td> |
|
1113 | 1113 | <td> |
1114 | - <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> |
|
1114 | + <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> |
|
1115 | 1115 | </td> |
1116 | 1116 | <td> |
1117 | 1117 | <a href=" |
1118 | 1118 | <?php |
1119 | 1119 | echo esc_url( |
1120 | 1120 | wp_nonce_url( |
1121 | - add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ), |
|
1121 | + add_query_arg('getpaid-admin-action', 'migrate_old_invoices'), |
|
1122 | 1122 | 'getpaid-nonce', |
1123 | 1123 | 'getpaid-nonce' |
1124 | 1124 | ) |
1125 | 1125 | ); |
1126 | 1126 | ?> |
1127 | - " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
|
1127 | + " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a> |
|
1128 | 1128 | </td> |
1129 | 1129 | </tr> |
1130 | 1130 | |
1131 | 1131 | <tr> |
1132 | - <td><?php esc_html_e( 'Recalculate Discounts', 'invoicing' ); ?></td> |
|
1132 | + <td><?php esc_html_e('Recalculate Discounts', 'invoicing'); ?></td> |
|
1133 | 1133 | <td> |
1134 | - <small><?php esc_html_e( 'Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing' ); ?></small> |
|
1134 | + <small><?php esc_html_e('Recalculate discounts for existing invoices that have discount codes but are not discounted.', 'invoicing'); ?></small> |
|
1135 | 1135 | </td> |
1136 | 1136 | <td> |
1137 | 1137 | <a href=" |
1138 | 1138 | <?php |
1139 | 1139 | echo esc_url( |
1140 | 1140 | wp_nonce_url( |
1141 | - add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ), |
|
1141 | + add_query_arg('getpaid-admin-action', 'recalculate_discounts'), |
|
1142 | 1142 | 'getpaid-nonce', |
1143 | 1143 | 'getpaid-nonce' |
1144 | 1144 | ) |
1145 | 1145 | ); |
1146 | 1146 | ?> |
1147 | - " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a> |
|
1147 | + " class="button button-primary"><?php esc_html_e('Run', 'invoicing'); ?></a> |
|
1148 | 1148 | </td> |
1149 | 1149 | </tr> |
1150 | 1150 | |
1151 | 1151 | <tr> |
1152 | - <td><?php esc_html_e( 'Set-up Wizard', 'invoicing' ); ?></td> |
|
1152 | + <td><?php esc_html_e('Set-up Wizard', 'invoicing'); ?></td> |
|
1153 | 1153 | <td> |
1154 | - <small><?php esc_html_e( 'Launch the quick set-up wizard.', 'invoicing' ); ?></small> |
|
1154 | + <small><?php esc_html_e('Launch the quick set-up wizard.', 'invoicing'); ?></small> |
|
1155 | 1155 | </td> |
1156 | 1156 | <td> |
1157 | 1157 | <a href=" |
1158 | 1158 | <?php |
1159 | - echo esc_url( admin_url( 'index.php?page=gp-setup' ) ); |
|
1159 | + echo esc_url(admin_url('index.php?page=gp-setup')); |
|
1160 | 1160 | ?> |
1161 | - " class="button button-primary"><?php esc_html_e( 'Launch', 'invoicing' ); ?></a> |
|
1161 | + " class="button button-primary"><?php esc_html_e('Launch', 'invoicing'); ?></a> |
|
1162 | 1162 | </td> |
1163 | 1163 | </tr> |
1164 | 1164 | |
1165 | - <?php do_action( 'wpinv_tools_row' ); ?> |
|
1165 | + <?php do_action('wpinv_tools_row'); ?> |
|
1166 | 1166 | </tbody> |
1167 | 1167 | </table> |
1168 | - <?php do_action( 'wpinv_tools_after' ); ?> |
|
1168 | + <?php do_action('wpinv_tools_after'); ?> |
|
1169 | 1169 | <?php |
1170 | 1170 | } |
1171 | 1171 | |
1172 | 1172 | |
1173 | -function wpinv_descriptive_text_callback( $args ) { |
|
1174 | - echo wp_kses_post( $args['desc'] ); |
|
1173 | +function wpinv_descriptive_text_callback($args) { |
|
1174 | + echo wp_kses_post($args['desc']); |
|
1175 | 1175 | } |
1176 | 1176 | |
1177 | -function wpinv_raw_html_callback( $args ) { |
|
1178 | - echo wp_kses( $args['desc'], getpaid_allowed_html() ); |
|
1177 | +function wpinv_raw_html_callback($args) { |
|
1178 | + echo wp_kses($args['desc'], getpaid_allowed_html()); |
|
1179 | 1179 | } |
1180 | 1180 | |
1181 | -function wpinv_hook_callback( $args ) { |
|
1182 | - do_action( 'wpinv_' . $args['id'], $args ); |
|
1181 | +function wpinv_hook_callback($args) { |
|
1182 | + do_action('wpinv_' . $args['id'], $args); |
|
1183 | 1183 | } |
1184 | 1184 | |
1185 | 1185 | function wpinv_set_settings_cap() { |
1186 | 1186 | return wpinv_get_capability(); |
1187 | 1187 | } |
1188 | -add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' ); |
|
1188 | +add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap'); |
|
1189 | 1189 | |
1190 | 1190 | |
1191 | -function wpinv_on_update_settings( $old_value, $value, $option ) { |
|
1192 | - $old = ! empty( $old_value['remove_data_on_unistall'] ) ? 1 : ''; |
|
1193 | - $new = ! empty( $value['remove_data_on_unistall'] ) ? 1 : ''; |
|
1191 | +function wpinv_on_update_settings($old_value, $value, $option) { |
|
1192 | + $old = !empty($old_value['remove_data_on_unistall']) ? 1 : ''; |
|
1193 | + $new = !empty($value['remove_data_on_unistall']) ? 1 : ''; |
|
1194 | 1194 | |
1195 | - if ( $old != $new ) { |
|
1196 | - update_option( 'wpinv_remove_data_on_invoice_unistall', $new ); |
|
1195 | + if ($old != $new) { |
|
1196 | + update_option('wpinv_remove_data_on_invoice_unistall', $new); |
|
1197 | 1197 | } |
1198 | 1198 | } |
1199 | -add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 ); |
|
1199 | +add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3); |
|
1200 | 1200 | |
1201 | 1201 | |
1202 | 1202 | /** |
@@ -1208,43 +1208,43 @@ discard block |
||
1208 | 1208 | * |
1209 | 1209 | * @return array |
1210 | 1210 | */ |
1211 | -function wpinv_get_email_merge_tags( $subscription = false ) { |
|
1211 | +function wpinv_get_email_merge_tags($subscription = false) { |
|
1212 | 1212 | $merge_tags = array( |
1213 | - '{site_title}' => __( 'Site Title', 'invoicing' ), |
|
1214 | - '{name}' => __( "Customer's full name", 'invoicing' ), |
|
1215 | - '{first_name}' => __( "Customer's first name", 'invoicing' ), |
|
1216 | - '{last_name}' => __( "Customer's last name", 'invoicing' ), |
|
1217 | - '{email}' => __( "Customer's email address", 'invoicing' ), |
|
1218 | - '{invoice_number}' => __( 'The invoice number', 'invoicing' ), |
|
1219 | - '{invoice_currency}' => __( 'The invoice currency', 'invoicing' ), |
|
1220 | - '{invoice_total}' => __( 'The invoice total', 'invoicing' ), |
|
1221 | - '{invoice_link}' => __( 'The invoice link', 'invoicing' ), |
|
1222 | - '{invoice_pay_link}' => __( 'The payment link', 'invoicing' ), |
|
1223 | - '{invoice_receipt_link}' => __( 'The receipt link', 'invoicing' ), |
|
1224 | - '{invoice_date}' => __( 'The date the invoice was created', 'invoicing' ), |
|
1225 | - '{invoice_due_date}' => __( 'The date the invoice is due', 'invoicing' ), |
|
1226 | - '{date}' => __( "Today's date", 'invoicing' ), |
|
1227 | - '{is_was}' => __( 'If due date of invoice is past, displays "was" otherwise displays "is"', 'invoicing' ), |
|
1228 | - '{invoice_label}' => __( 'Invoices/quotes singular name. Ex: Invoice/Quote', 'invoicing' ), |
|
1229 | - '{invoice_quote}' => __( 'Invoices/quotes singular name in small letters. Ex: invoice/quote', 'invoicing' ), |
|
1230 | - '{invoice_description}' => __( 'The description of the invoice', 'invoicing' ), |
|
1213 | + '{site_title}' => __('Site Title', 'invoicing'), |
|
1214 | + '{name}' => __("Customer's full name", 'invoicing'), |
|
1215 | + '{first_name}' => __("Customer's first name", 'invoicing'), |
|
1216 | + '{last_name}' => __("Customer's last name", 'invoicing'), |
|
1217 | + '{email}' => __("Customer's email address", 'invoicing'), |
|
1218 | + '{invoice_number}' => __('The invoice number', 'invoicing'), |
|
1219 | + '{invoice_currency}' => __('The invoice currency', 'invoicing'), |
|
1220 | + '{invoice_total}' => __('The invoice total', 'invoicing'), |
|
1221 | + '{invoice_link}' => __('The invoice link', 'invoicing'), |
|
1222 | + '{invoice_pay_link}' => __('The payment link', 'invoicing'), |
|
1223 | + '{invoice_receipt_link}' => __('The receipt link', 'invoicing'), |
|
1224 | + '{invoice_date}' => __('The date the invoice was created', 'invoicing'), |
|
1225 | + '{invoice_due_date}' => __('The date the invoice is due', 'invoicing'), |
|
1226 | + '{date}' => __("Today's date", 'invoicing'), |
|
1227 | + '{is_was}' => __('If due date of invoice is past, displays "was" otherwise displays "is"', 'invoicing'), |
|
1228 | + '{invoice_label}' => __('Invoices/quotes singular name. Ex: Invoice/Quote', 'invoicing'), |
|
1229 | + '{invoice_quote}' => __('Invoices/quotes singular name in small letters. Ex: invoice/quote', 'invoicing'), |
|
1230 | + '{invoice_description}' => __('The description of the invoice', 'invoicing'), |
|
1231 | 1231 | ); |
1232 | 1232 | |
1233 | - if ( $subscription ) { |
|
1233 | + if ($subscription) { |
|
1234 | 1234 | $merge_tags = array_merge( |
1235 | 1235 | $merge_tags, |
1236 | 1236 | array( |
1237 | - '{subscription_renewal_date}' => __( 'The next renewal date of the subscription', 'invoicing' ), |
|
1238 | - '{subscription_created}' => __( "The subscription's creation date", 'invoicing' ), |
|
1239 | - '{subscription_status}' => __( "The subscription's status", 'invoicing' ), |
|
1240 | - '{subscription_profile_id}' => __( "The subscription's remote profile id", 'invoicing' ), |
|
1241 | - '{subscription_id}' => __( "The subscription's id", 'invoicing' ), |
|
1242 | - '{subscription_recurring_amount}' => __( 'The renewal amount of the subscription', 'invoicing' ), |
|
1243 | - '{subscription_initial_amount}' => __( 'The initial amount of the subscription', 'invoicing' ), |
|
1244 | - '{subscription_recurring_period}' => __( 'The recurring period of the subscription (e.g 1 year)', 'invoicing' ), |
|
1245 | - '{subscription_bill_times}' => __( 'The maximum number of times the subscription can be renewed', 'invoicing' ), |
|
1246 | - '{subscription_url}' => __( 'The URL to manage a subscription', 'invoicing' ), |
|
1247 | - '{subscription_name}' => __( 'The name of the recurring item', 'invoicing' ), |
|
1237 | + '{subscription_renewal_date}' => __('The next renewal date of the subscription', 'invoicing'), |
|
1238 | + '{subscription_created}' => __("The subscription's creation date", 'invoicing'), |
|
1239 | + '{subscription_status}' => __("The subscription's status", 'invoicing'), |
|
1240 | + '{subscription_profile_id}' => __("The subscription's remote profile id", 'invoicing'), |
|
1241 | + '{subscription_id}' => __("The subscription's id", 'invoicing'), |
|
1242 | + '{subscription_recurring_amount}' => __('The renewal amount of the subscription', 'invoicing'), |
|
1243 | + '{subscription_initial_amount}' => __('The initial amount of the subscription', 'invoicing'), |
|
1244 | + '{subscription_recurring_period}' => __('The recurring period of the subscription (e.g 1 year)', 'invoicing'), |
|
1245 | + '{subscription_bill_times}' => __('The maximum number of times the subscription can be renewed', 'invoicing'), |
|
1246 | + '{subscription_url}' => __('The URL to manage a subscription', 'invoicing'), |
|
1247 | + '{subscription_name}' => __('The name of the recurring item', 'invoicing'), |
|
1248 | 1248 | ) |
1249 | 1249 | ); |
1250 | 1250 | } |
@@ -1260,25 +1260,25 @@ discard block |
||
1260 | 1260 | * |
1261 | 1261 | * @return string |
1262 | 1262 | */ |
1263 | -function wpinv_get_merge_tags_help_text( $subscription = false ) { |
|
1264 | - $merge_tags = wpinv_get_email_merge_tags( $subscription ); |
|
1263 | +function wpinv_get_merge_tags_help_text($subscription = false) { |
|
1264 | + $merge_tags = wpinv_get_email_merge_tags($subscription); |
|
1265 | 1265 | |
1266 | 1266 | $output = '<div class="bsui">'; |
1267 | 1267 | |
1268 | 1268 | $link = sprintf( |
1269 | 1269 | '<strong class="getpaid-merge-tags text-primary" role="button">%s</strong>', |
1270 | - esc_html__( 'View available merge tags.', 'invoicing' ) |
|
1270 | + esc_html__('View available merge tags.', 'invoicing') |
|
1271 | 1271 | ); |
1272 | 1272 | |
1273 | - $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' ); |
|
1273 | + $description = esc_html__('The content of the email (Merge Tags and HTML are allowed).', 'invoicing'); |
|
1274 | 1274 | |
1275 | 1275 | $output .= "$description $link"; |
1276 | 1276 | |
1277 | 1277 | $output .= '<div class="getpaid-merge-tags-content mt-2 p-1 d-none">'; |
1278 | - $output .= '<p class="mb-2">' . esc_html__( 'The following wildcards can be used in email subjects, heading and content:', 'invoicing' ) . '</p>'; |
|
1278 | + $output .= '<p class="mb-2">' . esc_html__('The following wildcards can be used in email subjects, heading and content:', 'invoicing') . '</p>'; |
|
1279 | 1279 | |
1280 | 1280 | $output .= '<ul class="p-0 m-0">'; |
1281 | - foreach($merge_tags as $tag => $tag_description) { |
|
1281 | + foreach ($merge_tags as $tag => $tag_description) { |
|
1282 | 1282 | $output .= "<li class='mb-2'><strong class='text-dark'>$tag</strong> — $tag_description</li>"; |
1283 | 1283 | } |
1284 | 1284 |
@@ -19,16 +19,16 @@ discard block |
||
19 | 19 | |
20 | 20 | // Define constants. |
21 | 21 | if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) { |
22 | - define( 'WPINV_PLUGIN_FILE', __FILE__ ); |
|
22 | + define( 'WPINV_PLUGIN_FILE', __FILE__ ); |
|
23 | 23 | } |
24 | 24 | |
25 | 25 | if ( ! defined( 'WPINV_VERSION' ) ) { |
26 | - define( 'WPINV_VERSION', '2.8.15' ); |
|
26 | + define( 'WPINV_VERSION', '2.8.15' ); |
|
27 | 27 | } |
28 | 28 | |
29 | 29 | // Include the main Invoicing class. |
30 | 30 | if ( ! class_exists( 'WPInv_Plugin', false ) ) { |
31 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php'; |
|
31 | + require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php'; |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | /** |
@@ -43,7 +43,7 @@ discard block |
||
43 | 43 | $GLOBALS['invoicing'] = new WPInv_Plugin(); |
44 | 44 | } |
45 | 45 | |
46 | - return $GLOBALS['invoicing']; |
|
46 | + return $GLOBALS['invoicing']; |
|
47 | 47 | } |
48 | 48 | |
49 | 49 | /** |
@@ -15,20 +15,20 @@ discard block |
||
15 | 15 | * @package GetPaid |
16 | 16 | */ |
17 | 17 | |
18 | -defined( 'ABSPATH' ) || exit; |
|
18 | +defined('ABSPATH') || exit; |
|
19 | 19 | |
20 | 20 | // Define constants. |
21 | -if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) { |
|
22 | - define( 'WPINV_PLUGIN_FILE', __FILE__ ); |
|
21 | +if (!defined('WPINV_PLUGIN_FILE')) { |
|
22 | + define('WPINV_PLUGIN_FILE', __FILE__); |
|
23 | 23 | } |
24 | 24 | |
25 | -if ( ! defined( 'WPINV_VERSION' ) ) { |
|
26 | - define( 'WPINV_VERSION', '2.8.15' ); |
|
25 | +if (!defined('WPINV_VERSION')) { |
|
26 | + define('WPINV_VERSION', '2.8.15'); |
|
27 | 27 | } |
28 | 28 | |
29 | 29 | // Include the main Invoicing class. |
30 | -if ( ! class_exists( 'WPInv_Plugin', false ) ) { |
|
31 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php'; |
|
30 | +if (!class_exists('WPInv_Plugin', false)) { |
|
31 | + require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/class-wpinv.php'; |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | /** |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | */ |
40 | 40 | function getpaid() { |
41 | 41 | |
42 | - if ( empty( $GLOBALS['invoicing'] ) ) { |
|
42 | + if (empty($GLOBALS['invoicing'])) { |
|
43 | 43 | $GLOBALS['invoicing'] = new WPInv_Plugin(); |
44 | 44 | } |
45 | 45 | |
@@ -52,9 +52,9 @@ discard block |
||
52 | 52 | * @since 2.0.8 |
53 | 53 | */ |
54 | 54 | function getpaid_deactivation_hook() { |
55 | - update_option( 'wpinv_flush_permalinks', 1 ); |
|
55 | + update_option('wpinv_flush_permalinks', 1); |
|
56 | 56 | } |
57 | -register_deactivation_hook( __FILE__, 'getpaid_deactivation_hook' ); |
|
57 | +register_deactivation_hook(__FILE__, 'getpaid_deactivation_hook'); |
|
58 | 58 | |
59 | 59 | /** |
60 | 60 | * @deprecated |
@@ -64,4 +64,4 @@ discard block |
||
64 | 64 | } |
65 | 65 | |
66 | 66 | // Kickstart the plugin. |
67 | -add_action( 'plugins_loaded', 'getpaid', -100 ); |
|
67 | +add_action('plugins_loaded', 'getpaid', -100); |
@@ -8,7 +8,7 @@ discard block |
||
8 | 8 | */ |
9 | 9 | |
10 | 10 | if ( ! defined( 'ABSPATH' ) ) { |
11 | - exit; // Exit if accessed directly |
|
11 | + exit; // Exit if accessed directly |
|
12 | 12 | } |
13 | 13 | |
14 | 14 | /** |
@@ -17,12 +17,12 @@ discard block |
||
17 | 17 | class GetPaid_Meta_Box_Item_Details { |
18 | 18 | |
19 | 19 | /** |
20 | - * Output the metabox. |
|
21 | - * |
|
22 | - * @param WP_Post $post |
|
23 | - */ |
|
20 | + * Output the metabox. |
|
21 | + * |
|
22 | + * @param WP_Post $post |
|
23 | + */ |
|
24 | 24 | public static function output( $post ) { |
25 | - global $aui_bs5; |
|
25 | + global $aui_bs5; |
|
26 | 26 | |
27 | 27 | // Prepare the item. |
28 | 28 | $item = new WPInv_Item( $post ); |
@@ -119,24 +119,24 @@ discard block |
||
119 | 119 | // Dynamic pricing. |
120 | 120 | if ( $item->supports_dynamic_pricing() ) { |
121 | 121 | |
122 | - do_action( 'wpinv_item_details_metabox_before_dynamic_pricing_checkbox', $item ); |
|
122 | + do_action( 'wpinv_item_details_metabox_before_dynamic_pricing_checkbox', $item ); |
|
123 | 123 | |
124 | - // NYP toggle. |
|
125 | - aui()->input( |
|
124 | + // NYP toggle. |
|
125 | + aui()->input( |
|
126 | 126 | array( |
127 | - 'id' => 'wpinv_name_your_price', |
|
128 | - 'name' => 'wpinv_name_your_price', |
|
129 | - 'type' => 'checkbox', |
|
130 | - 'label' => apply_filters( 'wpinv_name_your_price_toggle_text', __( 'Let customers name their price', 'invoicing' ) ), |
|
131 | - 'value' => '1', |
|
132 | - 'checked' => $item->user_can_set_their_price(), |
|
133 | - 'no_wrap' => true, |
|
134 | - 'switch' => 'sm', |
|
127 | + 'id' => 'wpinv_name_your_price', |
|
128 | + 'name' => 'wpinv_name_your_price', |
|
129 | + 'type' => 'checkbox', |
|
130 | + 'label' => apply_filters( 'wpinv_name_your_price_toggle_text', __( 'Let customers name their price', 'invoicing' ) ), |
|
131 | + 'value' => '1', |
|
132 | + 'checked' => $item->user_can_set_their_price(), |
|
133 | + 'no_wrap' => true, |
|
134 | + 'switch' => 'sm', |
|
135 | 135 | ), |
136 | 136 | true |
137 | 137 | ); |
138 | 138 | |
139 | - do_action( 'wpinv_item_details_metabox_dynamic_pricing_checkbox', $item ); |
|
139 | + do_action( 'wpinv_item_details_metabox_dynamic_pricing_checkbox', $item ); |
|
140 | 140 | |
141 | 141 | } |
142 | 142 | |
@@ -151,7 +151,7 @@ discard block |
||
151 | 151 | 'value' => '1', |
152 | 152 | 'checked' => $item->is_recurring(), |
153 | 153 | 'no_wrap' => true, |
154 | - 'switch' => 'sm', |
|
154 | + 'switch' => 'sm', |
|
155 | 155 | ), |
156 | 156 | true |
157 | 157 | ); |
@@ -293,35 +293,35 @@ discard block |
||
293 | 293 | } |
294 | 294 | |
295 | 295 | /** |
296 | - * Save meta box data. |
|
297 | - * |
|
298 | - * @param int $post_id |
|
299 | - */ |
|
300 | - public static function save( $post_id ) { |
|
296 | + * Save meta box data. |
|
297 | + * |
|
298 | + * @param int $post_id |
|
299 | + */ |
|
300 | + public static function save( $post_id ) { |
|
301 | 301 | |
302 | 302 | // Prepare the item. |
303 | 303 | $item = new WPInv_Item( $post_id ); |
304 | 304 | |
305 | 305 | // Load new data. |
306 | 306 | $item->set_props( |
307 | - array( |
|
308 | - 'price' => isset( $_POST['wpinv_item_price'] ) ? getpaid_standardize_amount( $_POST['wpinv_item_price'] ) : null, |
|
309 | - 'vat_rule' => isset( $_POST['wpinv_vat_rules'] ) ? wpinv_clean( $_POST['wpinv_vat_rules'] ) : null, |
|
310 | - 'vat_class' => isset( $_POST['wpinv_vat_class'] ) ? wpinv_clean( $_POST['wpinv_vat_class'] ) : null, |
|
311 | - 'type' => isset( $_POST['wpinv_item_type'] ) ? wpinv_clean( $_POST['wpinv_item_type'] ) : null, |
|
312 | - 'is_dynamic_pricing' => ! empty( $_POST['wpinv_name_your_price'] ), |
|
307 | + array( |
|
308 | + 'price' => isset( $_POST['wpinv_item_price'] ) ? getpaid_standardize_amount( $_POST['wpinv_item_price'] ) : null, |
|
309 | + 'vat_rule' => isset( $_POST['wpinv_vat_rules'] ) ? wpinv_clean( $_POST['wpinv_vat_rules'] ) : null, |
|
310 | + 'vat_class' => isset( $_POST['wpinv_vat_class'] ) ? wpinv_clean( $_POST['wpinv_vat_class'] ) : null, |
|
311 | + 'type' => isset( $_POST['wpinv_item_type'] ) ? wpinv_clean( $_POST['wpinv_item_type'] ) : null, |
|
312 | + 'is_dynamic_pricing' => ! empty( $_POST['wpinv_name_your_price'] ), |
|
313 | 313 | 'minimum_price' => isset( $_POST['wpinv_minimum_price'] ) ? getpaid_standardize_amount( $_POST['wpinv_minimum_price'] ) : null, |
314 | - 'is_recurring' => ! empty( $_POST['wpinv_is_recurring'] ), |
|
315 | - 'recurring_period' => isset( $_POST['wpinv_recurring_period'] ) ? wpinv_clean( $_POST['wpinv_recurring_period'] ) : null, |
|
316 | - 'recurring_interval' => isset( $_POST['wpinv_recurring_interval'] ) ? (int) $_POST['wpinv_recurring_interval'] : 1, |
|
317 | - 'recurring_limit' => isset( $_POST['wpinv_recurring_limit'] ) ? (int) $_POST['wpinv_recurring_limit'] : null, |
|
318 | - 'is_free_trial' => isset( $_POST['wpinv_trial_interval'] ) ? ( 0 != (int) $_POST['wpinv_trial_interval'] ) : null, |
|
319 | - 'trial_period' => isset( $_POST['wpinv_trial_period'] ) ? wpinv_clean( $_POST['wpinv_trial_period'] ) : null, |
|
320 | - 'trial_interval' => isset( $_POST['wpinv_trial_interval'] ) ? (int) $_POST['wpinv_trial_interval'] : null, |
|
321 | - ) |
|
314 | + 'is_recurring' => ! empty( $_POST['wpinv_is_recurring'] ), |
|
315 | + 'recurring_period' => isset( $_POST['wpinv_recurring_period'] ) ? wpinv_clean( $_POST['wpinv_recurring_period'] ) : null, |
|
316 | + 'recurring_interval' => isset( $_POST['wpinv_recurring_interval'] ) ? (int) $_POST['wpinv_recurring_interval'] : 1, |
|
317 | + 'recurring_limit' => isset( $_POST['wpinv_recurring_limit'] ) ? (int) $_POST['wpinv_recurring_limit'] : null, |
|
318 | + 'is_free_trial' => isset( $_POST['wpinv_trial_interval'] ) ? ( 0 != (int) $_POST['wpinv_trial_interval'] ) : null, |
|
319 | + 'trial_period' => isset( $_POST['wpinv_trial_period'] ) ? wpinv_clean( $_POST['wpinv_trial_period'] ) : null, |
|
320 | + 'trial_interval' => isset( $_POST['wpinv_trial_interval'] ) ? (int) $_POST['wpinv_trial_interval'] : null, |
|
321 | + ) |
|
322 | 322 | ); |
323 | 323 | |
324 | - $item->save(); |
|
325 | - do_action( 'getpaid_item_metabox_save', $post_id, $item ); |
|
326 | - } |
|
324 | + $item->save(); |
|
325 | + do_action( 'getpaid_item_metabox_save', $post_id, $item ); |
|
326 | + } |
|
327 | 327 | } |
@@ -7,7 +7,7 @@ discard block |
||
7 | 7 | * |
8 | 8 | */ |
9 | 9 | |
10 | -if ( ! defined( 'ABSPATH' ) ) { |
|
10 | +if (!defined('ABSPATH')) { |
|
11 | 11 | exit; // Exit if accessed directly |
12 | 12 | } |
13 | 13 | |
@@ -21,59 +21,59 @@ discard block |
||
21 | 21 | * |
22 | 22 | * @param WP_Post $post |
23 | 23 | */ |
24 | - public static function output( $post ) { |
|
24 | + public static function output($post) { |
|
25 | 25 | global $aui_bs5; |
26 | 26 | |
27 | 27 | // Prepare the item. |
28 | - $item = new WPInv_Item( $post ); |
|
28 | + $item = new WPInv_Item($post); |
|
29 | 29 | |
30 | 30 | // Nonce field. |
31 | - wp_nonce_field( 'getpaid_meta_nonce', 'getpaid_meta_nonce' ); |
|
31 | + wp_nonce_field('getpaid_meta_nonce', 'getpaid_meta_nonce'); |
|
32 | 32 | |
33 | 33 | // Set the currency position. |
34 | 34 | $position = wpinv_currency_position(); |
35 | 35 | |
36 | - if ( $position == 'left_space' ) { |
|
36 | + if ($position == 'left_space') { |
|
37 | 37 | $position = 'left'; |
38 | 38 | } |
39 | 39 | |
40 | - if ( $position == 'right_space' ) { |
|
40 | + if ($position == 'right_space') { |
|
41 | 41 | $position = 'right'; |
42 | 42 | } |
43 | 43 | |
44 | 44 | ?> |
45 | - <input type="hidden" id="_wpi_current_type" value="<?php echo esc_attr( $item->get_type( 'edit' ) ); ?>" /> |
|
45 | + <input type="hidden" id="_wpi_current_type" value="<?php echo esc_attr($item->get_type('edit')); ?>" /> |
|
46 | 46 | <style>#poststuff .input-group-text,#poststuff .form-control{border-color:#7e8993}.bsui label.col-sm-3.col-form-label{font-weight:600}.form-check input[type="checkbox"]:checked::before{content:none}</style> |
47 | 47 | <div class='bsui' style='max-width:650px;'><div class="pt-3"> |
48 | - <?php do_action( 'wpinv_item_details_metabox_before_price', $item ); ?> |
|
48 | + <?php do_action('wpinv_item_details_metabox_before_price', $item); ?> |
|
49 | 49 | <div class="form-group mb-3 row"> |
50 | - <label class="col-sm-3 col-form-label" for="wpinv_item_price"><span><?php esc_html_e( 'Item Price', 'invoicing' ); ?></span></label> |
|
50 | + <label class="col-sm-3 col-form-label" for="wpinv_item_price"><span><?php esc_html_e('Item Price', 'invoicing'); ?></span></label> |
|
51 | 51 | <div class="col-sm-8"> |
52 | 52 | <div class="row"> |
53 | 53 | <div class="col-sm-4 getpaid-price-input"> |
54 | 54 | <div class="mb-3 input-group input-group-sm"> |
55 | - <?php if ( 'left' == $position ) : ?> |
|
56 | - <?php if ( empty( $aui_bs5 ) ) : ?> |
|
55 | + <?php if ('left' == $position) : ?> |
|
56 | + <?php if (empty($aui_bs5)) : ?> |
|
57 | 57 | <div class="input-group-prepend"> |
58 | - <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span> |
|
58 | + <span class="input-group-text"><?php echo wp_kses_post(wpinv_currency_symbol()); ?></span> |
|
59 | 59 | </div> |
60 | 60 | <?php else : ?> |
61 | 61 | <span class="input-group-text"> |
62 | - <?php echo wp_kses_post( wpinv_currency_symbol() ); ?> |
|
62 | + <?php echo wp_kses_post(wpinv_currency_symbol()); ?> |
|
63 | 63 | </span> |
64 | 64 | <?php endif; ?> |
65 | 65 | <?php endif; ?> |
66 | 66 | |
67 | - <input type="text" name="wpinv_item_price" id="wpinv_item_price" value="<?php echo esc_attr( getpaid_unstandardize_amount( $item->get_price( 'edit' ) ) ); ?>" placeholder="<?php echo esc_attr( wpinv_sanitize_amount( 0 ) ); ?>" class="form-control"> |
|
67 | + <input type="text" name="wpinv_item_price" id="wpinv_item_price" value="<?php echo esc_attr(getpaid_unstandardize_amount($item->get_price('edit'))); ?>" placeholder="<?php echo esc_attr(wpinv_sanitize_amount(0)); ?>" class="form-control"> |
|
68 | 68 | |
69 | - <?php if ( 'left' != $position ) : ?> |
|
70 | - <?php if ( empty( $aui_bs5 ) ) : ?> |
|
69 | + <?php if ('left' != $position) : ?> |
|
70 | + <?php if (empty($aui_bs5)) : ?> |
|
71 | 71 | <div class="input-group-append"> |
72 | - <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span> |
|
72 | + <span class="input-group-text"><?php echo wp_kses_post(wpinv_currency_symbol()); ?></span> |
|
73 | 73 | </div> |
74 | 74 | <?php else : ?> |
75 | 75 | <span class="input-group-text"> |
76 | - <?php echo wp_kses_post( wpinv_currency_symbol() ); ?> |
|
76 | + <?php echo wp_kses_post(wpinv_currency_symbol()); ?> |
|
77 | 77 | </span> |
78 | 78 | <?php endif; ?> |
79 | 79 | <?php endif; ?> |
@@ -81,12 +81,12 @@ discard block |
||
81 | 81 | </div> |
82 | 82 | <div class="col-sm-4 wpinv_show_if_recurring"> |
83 | 83 | <div class="mb-3 input-group input-group-sm"> |
84 | - <?php if ( empty( $aui_bs5 ) ) : ?> |
|
85 | - <div class="input-group-prepend"><span class="input-group-text pl-0 pr-2 border-0 bg-transparent"><?php esc_html_e( 'every' ); ?></span></div> |
|
84 | + <?php if (empty($aui_bs5)) : ?> |
|
85 | + <div class="input-group-prepend"><span class="input-group-text pl-0 pr-2 border-0 bg-transparent"><?php esc_html_e('every'); ?></span></div> |
|
86 | 86 | <?php else : ?> |
87 | - <span class="input-group-text ps-0 pe-2 border-0"><?php esc_html_e( 'every' ); ?></span> |
|
87 | + <span class="input-group-text ps-0 pe-2 border-0"><?php esc_html_e('every'); ?></span> |
|
88 | 88 | <?php endif; ?> |
89 | - <input type="number" name="wpinv_recurring_interval" id="wpinv_recurring_interval" value="<?php echo esc_attr( $item->get_recurring_interval( 'edit' ) ); ?>" placeholder="1" class="form-control rounded-1 rounded-sm"> |
|
89 | + <input type="number" name="wpinv_recurring_interval" id="wpinv_recurring_interval" value="<?php echo esc_attr($item->get_recurring_interval('edit')); ?>" placeholder="1" class="form-control rounded-1 rounded-sm"> |
|
90 | 90 | </div> |
91 | 91 | </div> |
92 | 92 | <div class="col-sm-4 wpinv_show_if_recurring"> |
@@ -95,16 +95,16 @@ discard block |
||
95 | 95 | array( |
96 | 96 | 'id' => 'wpinv_recurring_period', |
97 | 97 | 'name' => 'wpinv_recurring_period', |
98 | - 'label' => __( 'Period', 'invoicing' ), |
|
99 | - 'placeholder' => __( 'Select Period', 'invoicing' ), |
|
100 | - 'value' => $item->get_recurring_period( 'edit' ), |
|
98 | + 'label' => __('Period', 'invoicing'), |
|
99 | + 'placeholder' => __('Select Period', 'invoicing'), |
|
100 | + 'value' => $item->get_recurring_period('edit'), |
|
101 | 101 | 'data-allow-clear' => 'false', |
102 | - 'class' => ( $aui_bs5 ? 'form-select-sm' : 'custom-select-sm' ), |
|
102 | + 'class' => ($aui_bs5 ? 'form-select-sm' : 'custom-select-sm'), |
|
103 | 103 | 'options' => array( |
104 | - 'D' => __( 'day(s)', 'invoicing' ), |
|
105 | - 'W' => __( 'week(s)', 'invoicing' ), |
|
106 | - 'M' => __( 'month(s)', 'invoicing' ), |
|
107 | - 'Y' => __( 'year(s)', 'invoicing' ), |
|
104 | + 'D' => __('day(s)', 'invoicing'), |
|
105 | + 'W' => __('week(s)', 'invoicing'), |
|
106 | + 'M' => __('month(s)', 'invoicing'), |
|
107 | + 'Y' => __('year(s)', 'invoicing'), |
|
108 | 108 | ), |
109 | 109 | ), |
110 | 110 | true |
@@ -117,9 +117,9 @@ discard block |
||
117 | 117 | <?php |
118 | 118 | |
119 | 119 | // Dynamic pricing. |
120 | - if ( $item->supports_dynamic_pricing() ) { |
|
120 | + if ($item->supports_dynamic_pricing()) { |
|
121 | 121 | |
122 | - do_action( 'wpinv_item_details_metabox_before_dynamic_pricing_checkbox', $item ); |
|
122 | + do_action('wpinv_item_details_metabox_before_dynamic_pricing_checkbox', $item); |
|
123 | 123 | |
124 | 124 | // NYP toggle. |
125 | 125 | aui()->input( |
@@ -127,7 +127,7 @@ discard block |
||
127 | 127 | 'id' => 'wpinv_name_your_price', |
128 | 128 | 'name' => 'wpinv_name_your_price', |
129 | 129 | 'type' => 'checkbox', |
130 | - 'label' => apply_filters( 'wpinv_name_your_price_toggle_text', __( 'Let customers name their price', 'invoicing' ) ), |
|
130 | + 'label' => apply_filters('wpinv_name_your_price_toggle_text', __('Let customers name their price', 'invoicing')), |
|
131 | 131 | 'value' => '1', |
132 | 132 | 'checked' => $item->user_can_set_their_price(), |
133 | 133 | 'no_wrap' => true, |
@@ -136,18 +136,18 @@ discard block |
||
136 | 136 | true |
137 | 137 | ); |
138 | 138 | |
139 | - do_action( 'wpinv_item_details_metabox_dynamic_pricing_checkbox', $item ); |
|
139 | + do_action('wpinv_item_details_metabox_dynamic_pricing_checkbox', $item); |
|
140 | 140 | |
141 | 141 | } |
142 | 142 | |
143 | 143 | // Subscriptions. |
144 | - do_action( 'wpinv_item_details_metabox_before_subscription_checkbox', $item ); |
|
144 | + do_action('wpinv_item_details_metabox_before_subscription_checkbox', $item); |
|
145 | 145 | aui()->input( |
146 | 146 | array( |
147 | 147 | 'id' => 'wpinv_is_recurring', |
148 | 148 | 'name' => 'wpinv_is_recurring', |
149 | 149 | 'type' => 'checkbox', |
150 | - 'label' => apply_filters( 'wpinv_is_recurring_toggle_text', __( 'Charge customers a recurring amount for this item', 'invoicing' ) ), |
|
150 | + 'label' => apply_filters('wpinv_is_recurring_toggle_text', __('Charge customers a recurring amount for this item', 'invoicing')), |
|
151 | 151 | 'value' => '1', |
152 | 152 | 'checked' => $item->is_recurring(), |
153 | 153 | 'no_wrap' => true, |
@@ -155,53 +155,53 @@ discard block |
||
155 | 155 | ), |
156 | 156 | true |
157 | 157 | ); |
158 | - do_action( 'wpinv_item_details_metabox_subscription_checkbox', $item ); |
|
158 | + do_action('wpinv_item_details_metabox_subscription_checkbox', $item); |
|
159 | 159 | |
160 | 160 | ?> |
161 | 161 | <div class="wpinv_show_if_recurring"> |
162 | - <em><?php echo wp_kses_post( wpinv_get_recurring_gateways_text() ); ?></em> |
|
162 | + <em><?php echo wp_kses_post(wpinv_get_recurring_gateways_text()); ?></em> |
|
163 | 163 | </div> |
164 | 164 | </div> |
165 | 165 | </div> |
166 | 166 | </div> |
167 | 167 | <div class="col-sm-1 pt-2 pl-0"> |
168 | - <span class="wpi-help-tip dashicons dashicons-editor-help wpinv_show_if_recurring" title="<?php esc_attr_e( 'Set the subscription price, billing interval and period.', 'invoicing' ); ?>"></span> |
|
168 | + <span class="wpi-help-tip dashicons dashicons-editor-help wpinv_show_if_recurring" title="<?php esc_attr_e('Set the subscription price, billing interval and period.', 'invoicing'); ?>"></span> |
|
169 | 169 | </div> |
170 | 170 | </div> |
171 | - <?php do_action( 'wpinv_item_details_metabox_after_price', $item ); ?> |
|
171 | + <?php do_action('wpinv_item_details_metabox_after_price', $item); ?> |
|
172 | 172 | |
173 | - <?php if ( $item->supports_dynamic_pricing() ) : ?> |
|
174 | - <?php do_action( 'wpinv_item_details_metabox_before_minimum_price', $item ); ?> |
|
173 | + <?php if ($item->supports_dynamic_pricing()) : ?> |
|
174 | + <?php do_action('wpinv_item_details_metabox_before_minimum_price', $item); ?> |
|
175 | 175 | <div class="wpinv_show_if_dynamic wpinv_minimum_price"> |
176 | 176 | |
177 | 177 | <div class="form-group mb-3 row"> |
178 | 178 | <label for="wpinv_minimum_price" class="col-sm-3 col-form-label"> |
179 | - <?php esc_html_e( 'Minimum Price', 'invoicing' ); ?> |
|
179 | + <?php esc_html_e('Minimum Price', 'invoicing'); ?> |
|
180 | 180 | </label> |
181 | 181 | <div class="col-sm-8"> |
182 | 182 | <div class="input-group input-group-sm"> |
183 | - <?php if ( 'left' == $position ) : ?> |
|
184 | - <?php if ( empty( $aui_bs5 ) ) : ?> |
|
183 | + <?php if ('left' == $position) : ?> |
|
184 | + <?php if (empty($aui_bs5)) : ?> |
|
185 | 185 | <div class="input-group-prepend"> |
186 | - <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span> |
|
186 | + <span class="input-group-text"><?php echo wp_kses_post(wpinv_currency_symbol()); ?></span> |
|
187 | 187 | </div> |
188 | 188 | <?php else : ?> |
189 | 189 | <span class="input-group-text"> |
190 | - <?php echo wp_kses_post( wpinv_currency_symbol() ); ?> |
|
190 | + <?php echo wp_kses_post(wpinv_currency_symbol()); ?> |
|
191 | 191 | </span> |
192 | 192 | <?php endif; ?> |
193 | 193 | <?php endif; ?> |
194 | 194 | |
195 | - <input type="text" name="wpinv_minimum_price" id="wpinv_minimum_price" value="<?php echo esc_attr( getpaid_unstandardize_amount( $item->get_minimum_price( 'edit' ) ) ); ?>" placeholder="<?php echo esc_attr( wpinv_sanitize_amount( 0 ) ); ?>" class="form-control"> |
|
195 | + <input type="text" name="wpinv_minimum_price" id="wpinv_minimum_price" value="<?php echo esc_attr(getpaid_unstandardize_amount($item->get_minimum_price('edit'))); ?>" placeholder="<?php echo esc_attr(wpinv_sanitize_amount(0)); ?>" class="form-control"> |
|
196 | 196 | |
197 | - <?php if ( 'left' != $position ) : ?> |
|
198 | - <?php if ( empty( $aui_bs5 ) ) : ?> |
|
197 | + <?php if ('left' != $position) : ?> |
|
198 | + <?php if (empty($aui_bs5)) : ?> |
|
199 | 199 | <div class="input-group-append"> |
200 | - <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span> |
|
200 | + <span class="input-group-text"><?php echo wp_kses_post(wpinv_currency_symbol()); ?></span> |
|
201 | 201 | </div> |
202 | 202 | <?php else : ?> |
203 | 203 | <span class="input-group-text"> |
204 | - <?php echo wp_kses_post( wpinv_currency_symbol() ); ?> |
|
204 | + <?php echo wp_kses_post(wpinv_currency_symbol()); ?> |
|
205 | 205 | </span> |
206 | 206 | <?php endif; ?> |
207 | 207 | <?php endif; ?> |
@@ -209,45 +209,45 @@ discard block |
||
209 | 209 | </div> |
210 | 210 | |
211 | 211 | <div class="col-sm-1 pt-2 pl-0"> |
212 | - <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Enter the minimum amount that users are allowed to set', 'invoicing' ); ?>"></span> |
|
212 | + <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Enter the minimum amount that users are allowed to set', 'invoicing'); ?>"></span> |
|
213 | 213 | </div> |
214 | 214 | </div> |
215 | 215 | |
216 | 216 | </div> |
217 | - <?php do_action( 'wpinv_item_details_metabox_minimum_price', $item ); ?> |
|
217 | + <?php do_action('wpinv_item_details_metabox_minimum_price', $item); ?> |
|
218 | 218 | <?php endif; ?> |
219 | 219 | |
220 | - <?php do_action( 'wpinv_item_details_metabox_before_maximum_renewals', $item ); ?> |
|
220 | + <?php do_action('wpinv_item_details_metabox_before_maximum_renewals', $item); ?> |
|
221 | 221 | <div class="wpinv_show_if_recurring wpinv_maximum_renewals"> |
222 | 222 | |
223 | 223 | <div class="form-group mb-3 row"> |
224 | 224 | <label for="wpinv_recurring_limit" class="col-sm-3 col-form-label"> |
225 | - <?php esc_html_e( 'Maximum Renewals', 'invoicing' ); ?> |
|
225 | + <?php esc_html_e('Maximum Renewals', 'invoicing'); ?> |
|
226 | 226 | </label> |
227 | 227 | <div class="col-sm-8"> |
228 | - <input type="number" value="<?php echo esc_attr( $item->get_recurring_limit( 'edit' ) ); ?>" placeholder="0" name="wpinv_recurring_limit" id="wpinv_recurring_limit" class="form-control form-control-sm" /> |
|
228 | + <input type="number" value="<?php echo esc_attr($item->get_recurring_limit('edit')); ?>" placeholder="0" name="wpinv_recurring_limit" id="wpinv_recurring_limit" class="form-control form-control-sm" /> |
|
229 | 229 | </div> |
230 | 230 | <div class="col-sm-1 pt-2 pl-0"> |
231 | - <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Leave empty if you want the subscription to renew until it is cancelled.', 'invoicing' ); ?>"></span> |
|
231 | + <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Leave empty if you want the subscription to renew until it is cancelled.', 'invoicing'); ?>"></span> |
|
232 | 232 | </div> |
233 | 233 | </div> |
234 | 234 | |
235 | 235 | </div> |
236 | - <?php do_action( 'wpinv_item_details_metabox_maximum_renewals', $item ); ?> |
|
236 | + <?php do_action('wpinv_item_details_metabox_maximum_renewals', $item); ?> |
|
237 | 237 | |
238 | - <?php do_action( 'wpinv_item_details_metabox_before_free_trial', $item ); ?> |
|
238 | + <?php do_action('wpinv_item_details_metabox_before_free_trial', $item); ?> |
|
239 | 239 | <div class="wpinv_show_if_recurring wpinv_free_trial"> |
240 | 240 | |
241 | 241 | <div class="form-group mb-3 row"> |
242 | - <label class="col-sm-3 col-form-label" for="wpinv_trial_interval"><?php defined( 'GETPAID_PAID_TRIALS_VERSION' ) ? esc_html_e( 'Free/Paid Trial', 'invoicing' ) : esc_html_e( 'Free Trial', 'invoicing' ); ?></label> |
|
242 | + <label class="col-sm-3 col-form-label" for="wpinv_trial_interval"><?php defined('GETPAID_PAID_TRIALS_VERSION') ? esc_html_e('Free/Paid Trial', 'invoicing') : esc_html_e('Free Trial', 'invoicing'); ?></label> |
|
243 | 243 | |
244 | 244 | <div class="col-sm-8"> |
245 | 245 | <div class="row"> |
246 | 246 | <div class="col-sm-6"> |
247 | - <?php $value = $item->has_free_trial() ? $item->get_trial_interval( 'edit' ) : 0; ?> |
|
247 | + <?php $value = $item->has_free_trial() ? $item->get_trial_interval('edit') : 0; ?> |
|
248 | 248 | |
249 | 249 | <div> |
250 | - <input type="number" name="wpinv_trial_interval" placeholder="0" id="wpinv_trial_interval" value="<?php echo esc_attr( $value ); ?>" class="form-control form-control-sm"> |
|
250 | + <input type="number" name="wpinv_trial_interval" placeholder="0" id="wpinv_trial_interval" value="<?php echo esc_attr($value); ?>" class="form-control form-control-sm"> |
|
251 | 251 | </div> |
252 | 252 | </div> |
253 | 253 | <div class="col-sm-6"> |
@@ -256,17 +256,17 @@ discard block |
||
256 | 256 | array( |
257 | 257 | 'id' => 'wpinv_trial_period', |
258 | 258 | 'name' => 'wpinv_trial_period', |
259 | - 'label' => __( 'Trial Period', 'invoicing' ), |
|
260 | - 'placeholder' => __( 'Trial Period', 'invoicing' ), |
|
261 | - 'value' => $item->get_trial_period( 'edit' ), |
|
259 | + 'label' => __('Trial Period', 'invoicing'), |
|
260 | + 'placeholder' => __('Trial Period', 'invoicing'), |
|
261 | + 'value' => $item->get_trial_period('edit'), |
|
262 | 262 | 'data-allow-clear' => 'false', |
263 | 263 | 'no_wrap' => true, |
264 | - 'class' => ( $aui_bs5 ? 'form-select-sm' : 'custom-select-sm' ), |
|
264 | + 'class' => ($aui_bs5 ? 'form-select-sm' : 'custom-select-sm'), |
|
265 | 265 | 'options' => array( |
266 | - 'D' => __( 'day(s)', 'invoicing' ), |
|
267 | - 'W' => __( 'week(s)', 'invoicing' ), |
|
268 | - 'M' => __( 'month(s)', 'invoicing' ), |
|
269 | - 'Y' => __( 'year(s)', 'invoicing' ), |
|
266 | + 'D' => __('day(s)', 'invoicing'), |
|
267 | + 'W' => __('week(s)', 'invoicing'), |
|
268 | + 'M' => __('month(s)', 'invoicing'), |
|
269 | + 'Y' => __('year(s)', 'invoicing'), |
|
270 | 270 | ), |
271 | 271 | ), |
272 | 272 | true |
@@ -278,15 +278,15 @@ discard block |
||
278 | 278 | </div> |
279 | 279 | |
280 | 280 | <div class="col-sm-1 pt-2 pl-0"> |
281 | - <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'An optional period of time to wait before charging the first recurring payment.', 'invoicing' ); ?>"></span> |
|
281 | + <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('An optional period of time to wait before charging the first recurring payment.', 'invoicing'); ?>"></span> |
|
282 | 282 | </div> |
283 | 283 | |
284 | 284 | </div> |
285 | 285 | |
286 | 286 | </div> |
287 | - <?php do_action( 'wpinv_item_details_metabox__free_trial', $item ); ?> |
|
287 | + <?php do_action('wpinv_item_details_metabox__free_trial', $item); ?> |
|
288 | 288 | |
289 | - <?php do_action( 'wpinv_item_details_metabox_item_details', $item ); ?> |
|
289 | + <?php do_action('wpinv_item_details_metabox_item_details', $item); ?> |
|
290 | 290 | </div> |
291 | 291 | </div> |
292 | 292 | <?php |
@@ -297,31 +297,31 @@ discard block |
||
297 | 297 | * |
298 | 298 | * @param int $post_id |
299 | 299 | */ |
300 | - public static function save( $post_id ) { |
|
300 | + public static function save($post_id) { |
|
301 | 301 | |
302 | 302 | // Prepare the item. |
303 | - $item = new WPInv_Item( $post_id ); |
|
303 | + $item = new WPInv_Item($post_id); |
|
304 | 304 | |
305 | 305 | // Load new data. |
306 | 306 | $item->set_props( |
307 | 307 | array( |
308 | - 'price' => isset( $_POST['wpinv_item_price'] ) ? getpaid_standardize_amount( $_POST['wpinv_item_price'] ) : null, |
|
309 | - 'vat_rule' => isset( $_POST['wpinv_vat_rules'] ) ? wpinv_clean( $_POST['wpinv_vat_rules'] ) : null, |
|
310 | - 'vat_class' => isset( $_POST['wpinv_vat_class'] ) ? wpinv_clean( $_POST['wpinv_vat_class'] ) : null, |
|
311 | - 'type' => isset( $_POST['wpinv_item_type'] ) ? wpinv_clean( $_POST['wpinv_item_type'] ) : null, |
|
312 | - 'is_dynamic_pricing' => ! empty( $_POST['wpinv_name_your_price'] ), |
|
313 | - 'minimum_price' => isset( $_POST['wpinv_minimum_price'] ) ? getpaid_standardize_amount( $_POST['wpinv_minimum_price'] ) : null, |
|
314 | - 'is_recurring' => ! empty( $_POST['wpinv_is_recurring'] ), |
|
315 | - 'recurring_period' => isset( $_POST['wpinv_recurring_period'] ) ? wpinv_clean( $_POST['wpinv_recurring_period'] ) : null, |
|
316 | - 'recurring_interval' => isset( $_POST['wpinv_recurring_interval'] ) ? (int) $_POST['wpinv_recurring_interval'] : 1, |
|
317 | - 'recurring_limit' => isset( $_POST['wpinv_recurring_limit'] ) ? (int) $_POST['wpinv_recurring_limit'] : null, |
|
318 | - 'is_free_trial' => isset( $_POST['wpinv_trial_interval'] ) ? ( 0 != (int) $_POST['wpinv_trial_interval'] ) : null, |
|
319 | - 'trial_period' => isset( $_POST['wpinv_trial_period'] ) ? wpinv_clean( $_POST['wpinv_trial_period'] ) : null, |
|
320 | - 'trial_interval' => isset( $_POST['wpinv_trial_interval'] ) ? (int) $_POST['wpinv_trial_interval'] : null, |
|
308 | + 'price' => isset($_POST['wpinv_item_price']) ? getpaid_standardize_amount($_POST['wpinv_item_price']) : null, |
|
309 | + 'vat_rule' => isset($_POST['wpinv_vat_rules']) ? wpinv_clean($_POST['wpinv_vat_rules']) : null, |
|
310 | + 'vat_class' => isset($_POST['wpinv_vat_class']) ? wpinv_clean($_POST['wpinv_vat_class']) : null, |
|
311 | + 'type' => isset($_POST['wpinv_item_type']) ? wpinv_clean($_POST['wpinv_item_type']) : null, |
|
312 | + 'is_dynamic_pricing' => !empty($_POST['wpinv_name_your_price']), |
|
313 | + 'minimum_price' => isset($_POST['wpinv_minimum_price']) ? getpaid_standardize_amount($_POST['wpinv_minimum_price']) : null, |
|
314 | + 'is_recurring' => !empty($_POST['wpinv_is_recurring']), |
|
315 | + 'recurring_period' => isset($_POST['wpinv_recurring_period']) ? wpinv_clean($_POST['wpinv_recurring_period']) : null, |
|
316 | + 'recurring_interval' => isset($_POST['wpinv_recurring_interval']) ? (int) $_POST['wpinv_recurring_interval'] : 1, |
|
317 | + 'recurring_limit' => isset($_POST['wpinv_recurring_limit']) ? (int) $_POST['wpinv_recurring_limit'] : null, |
|
318 | + 'is_free_trial' => isset($_POST['wpinv_trial_interval']) ? (0 != (int) $_POST['wpinv_trial_interval']) : null, |
|
319 | + 'trial_period' => isset($_POST['wpinv_trial_period']) ? wpinv_clean($_POST['wpinv_trial_period']) : null, |
|
320 | + 'trial_interval' => isset($_POST['wpinv_trial_interval']) ? (int) $_POST['wpinv_trial_interval'] : null, |
|
321 | 321 | ) |
322 | 322 | ); |
323 | 323 | |
324 | 324 | $item->save(); |
325 | - do_action( 'getpaid_item_metabox_save', $post_id, $item ); |
|
325 | + do_action('getpaid_item_metabox_save', $post_id, $item); |
|
326 | 326 | } |
327 | 327 | } |
@@ -57,9 +57,12 @@ discard block |
||
57 | 57 | <div class="input-group-prepend"> |
58 | 58 | <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span> |
59 | 59 | </div> |
60 | - <?php else : ?> |
|
60 | + <?php else { |
|
61 | + : ?> |
|
61 | 62 | <span class="input-group-text"> |
62 | - <?php echo wp_kses_post( wpinv_currency_symbol() ); ?> |
|
63 | + <?php echo wp_kses_post( wpinv_currency_symbol() ); |
|
64 | +} |
|
65 | +?> |
|
63 | 66 | </span> |
64 | 67 | <?php endif; ?> |
65 | 68 | <?php endif; ?> |
@@ -71,9 +74,12 @@ discard block |
||
71 | 74 | <div class="input-group-append"> |
72 | 75 | <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span> |
73 | 76 | </div> |
74 | - <?php else : ?> |
|
77 | + <?php else { |
|
78 | + : ?> |
|
75 | 79 | <span class="input-group-text"> |
76 | - <?php echo wp_kses_post( wpinv_currency_symbol() ); ?> |
|
80 | + <?php echo wp_kses_post( wpinv_currency_symbol() ); |
|
81 | +} |
|
82 | +?> |
|
77 | 83 | </span> |
78 | 84 | <?php endif; ?> |
79 | 85 | <?php endif; ?> |
@@ -83,8 +89,11 @@ discard block |
||
83 | 89 | <div class="mb-3 input-group input-group-sm"> |
84 | 90 | <?php if ( empty( $aui_bs5 ) ) : ?> |
85 | 91 | <div class="input-group-prepend"><span class="input-group-text pl-0 pr-2 border-0 bg-transparent"><?php esc_html_e( 'every' ); ?></span></div> |
86 | - <?php else : ?> |
|
87 | - <span class="input-group-text ps-0 pe-2 border-0"><?php esc_html_e( 'every' ); ?></span> |
|
92 | + <?php else { |
|
93 | + : ?> |
|
94 | + <span class="input-group-text ps-0 pe-2 border-0"><?php esc_html_e( 'every' ); |
|
95 | +} |
|
96 | +?></span> |
|
88 | 97 | <?php endif; ?> |
89 | 98 | <input type="number" name="wpinv_recurring_interval" id="wpinv_recurring_interval" value="<?php echo esc_attr( $item->get_recurring_interval( 'edit' ) ); ?>" placeholder="1" class="form-control rounded-1 rounded-sm"> |
90 | 99 | </div> |
@@ -185,9 +194,12 @@ discard block |
||
185 | 194 | <div class="input-group-prepend"> |
186 | 195 | <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span> |
187 | 196 | </div> |
188 | - <?php else : ?> |
|
197 | + <?php else { |
|
198 | + : ?> |
|
189 | 199 | <span class="input-group-text"> |
190 | - <?php echo wp_kses_post( wpinv_currency_symbol() ); ?> |
|
200 | + <?php echo wp_kses_post( wpinv_currency_symbol() ); |
|
201 | +} |
|
202 | +?> |
|
191 | 203 | </span> |
192 | 204 | <?php endif; ?> |
193 | 205 | <?php endif; ?> |
@@ -199,9 +211,12 @@ discard block |
||
199 | 211 | <div class="input-group-append"> |
200 | 212 | <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span> |
201 | 213 | </div> |
202 | - <?php else : ?> |
|
214 | + <?php else { |
|
215 | + : ?> |
|
203 | 216 | <span class="input-group-text"> |
204 | - <?php echo wp_kses_post( wpinv_currency_symbol() ); ?> |
|
217 | + <?php echo wp_kses_post( wpinv_currency_symbol() ); |
|
218 | +} |
|
219 | +?> |
|
205 | 220 | </span> |
206 | 221 | <?php endif; ?> |
207 | 222 | <?php endif; ?> |