@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * Privacy/GDPR related functionality which ties into WordPress functionality. |
4 | 4 | */ |
5 | 5 | |
6 | -defined( 'ABSPATH' ) || exit; |
|
6 | +defined('ABSPATH') || exit; |
|
7 | 7 | |
8 | 8 | /** |
9 | 9 | * WPInv_Privacy Class. |
@@ -14,13 +14,13 @@ discard block |
||
14 | 14 | * Init - hook into events. |
15 | 15 | */ |
16 | 16 | public function __construct() { |
17 | - parent::__construct( __( 'Invoicing', 'invoicing' ) ); |
|
17 | + parent::__construct(__('Invoicing', 'invoicing')); |
|
18 | 18 | |
19 | 19 | // Include supporting classes. |
20 | 20 | include_once 'class-wpinv-privacy-exporters.php'; |
21 | 21 | |
22 | 22 | // This hook registers Invoicing data exporters. |
23 | - $this->add_exporter( 'wpinv-customer-invoices', __( 'Customer Invoices', 'invoicing' ), array( 'WPInv_Privacy_Exporters', 'customer_invoice_data_exporter' ) ); |
|
23 | + $this->add_exporter('wpinv-customer-invoices', __('Customer Invoices', 'invoicing'), array('WPInv_Privacy_Exporters', 'customer_invoice_data_exporter')); |
|
24 | 24 | } |
25 | 25 | |
26 | 26 | /** |
@@ -31,27 +31,27 @@ discard block |
||
31 | 31 | public function get_privacy_message() { |
32 | 32 | |
33 | 33 | $content = '<div class="wp-suggested-text">' . |
34 | - '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' . |
|
35 | - '<p class="privacy-policy-tutorial">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' . |
|
36 | - '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' . |
|
37 | - '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' . |
|
34 | + '<h2>' . __('Invoices and checkout', 'invoicing') . '</h2>' . |
|
35 | + '<p class="privacy-policy-tutorial">' . __('Example privacy texts.', 'invoicing') . '</p>' . |
|
36 | + '<p>' . __('We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing') . '</p>' . |
|
37 | + '<p>' . __('Handling this data also allows us to:', 'invoicing') . '</p>' . |
|
38 | 38 | '<ul>' . |
39 | - '<li>' . __( '- Send you important account/order/service information.', 'invoicing' ) . '</li>' . |
|
40 | - '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' . |
|
41 | - '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' . |
|
42 | - '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' . |
|
43 | - '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' . |
|
44 | - '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' . |
|
39 | + '<li>' . __('- Send you important account/order/service information.', 'invoicing') . '</li>' . |
|
40 | + '<li>' . __('- Estimate taxes based on your location.', 'invoicing') . '</li>' . |
|
41 | + '<li>' . __('- Respond to your queries or complaints.', 'invoicing') . '</li>' . |
|
42 | + '<li>' . __('- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing') . '</li>' . |
|
43 | + '<li>' . __('- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing') . '</li>' . |
|
44 | + '<li>' . __('- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing') . '</li>' . |
|
45 | 45 | '</ul>' . |
46 | - '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' . |
|
47 | - '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' . |
|
48 | - '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' . |
|
49 | - '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' . |
|
50 | - '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' . |
|
51 | - '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>' . |
|
46 | + '<p>' . __('In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing') . '</p>' . |
|
47 | + '<h2>' . __('What we share with others', 'invoicing') . '</h2>' . |
|
48 | + '<p>' . __('We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing') . '</p>' . |
|
49 | + '<p class="privacy-policy-tutorial">' . __('In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing') . '</p>' . |
|
50 | + '<p>' . __('We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing') . '</p>' . |
|
51 | + '<p>' . __('Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing') . '</p>' . |
|
52 | 52 | '</div>'; |
53 | 53 | |
54 | - return apply_filters( 'wpinv_privacy_policy_content', $content ); |
|
54 | + return apply_filters('wpinv_privacy_policy_content', $content); |
|
55 | 55 | } |
56 | 56 | |
57 | 57 | } |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * Personal data exporters. |
4 | 4 | */ |
5 | 5 | |
6 | -defined( 'ABSPATH' ) || exit; |
|
6 | +defined('ABSPATH') || exit; |
|
7 | 7 | |
8 | 8 | /** |
9 | 9 | * WPInv_Privacy_Exporters Class. |
@@ -17,38 +17,38 @@ discard block |
||
17 | 17 | * @param int $page Page. |
18 | 18 | * @return array An array of invoice data in name value pairs |
19 | 19 | */ |
20 | - public static function customer_invoice_data_exporter( $email_address, $page ) { |
|
20 | + public static function customer_invoice_data_exporter($email_address, $page) { |
|
21 | 21 | $done = false; |
22 | 22 | $page = (int) $page; |
23 | 23 | $data_to_export = array(); |
24 | 24 | |
25 | - $user = get_user_by( 'email', $email_address ); |
|
26 | - if ( ! $user instanceof WP_User ) { |
|
25 | + $user = get_user_by('email', $email_address); |
|
26 | + if (!$user instanceof WP_User) { |
|
27 | 27 | return array( |
28 | 28 | 'data' => $data_to_export, |
29 | 29 | 'done' => true, |
30 | 30 | ); |
31 | 31 | } |
32 | 32 | |
33 | - $args = array( |
|
33 | + $args = array( |
|
34 | 34 | 'limit' => 30, |
35 | 35 | 'page' => $page, |
36 | 36 | 'user' => $user->ID, |
37 | 37 | ); |
38 | 38 | |
39 | - $invoices = wpinv_get_invoices( $args ); |
|
39 | + $invoices = wpinv_get_invoices($args); |
|
40 | 40 | |
41 | - if ( 0 < count( $invoices ) ) { |
|
42 | - foreach ( $invoices as $invoice ) { |
|
41 | + if (0 < count($invoices)) { |
|
42 | + foreach ($invoices as $invoice) { |
|
43 | 43 | $data_to_export[] = array( |
44 | 44 | 'group_id' => 'customer_invoices', |
45 | - 'group_label' => __( 'Invoicing Data', 'invoicing' ), |
|
46 | - 'group_description' => __( 'Customer invoicing data.', 'invoicing' ), |
|
45 | + 'group_label' => __('Invoicing Data', 'invoicing'), |
|
46 | + 'group_description' => __('Customer invoicing data.', 'invoicing'), |
|
47 | 47 | 'item_id' => "wpinv-{$invoice->ID}", |
48 | - 'data' => self::get_customer_invoice_data( $invoice ), |
|
48 | + 'data' => self::get_customer_invoice_data($invoice), |
|
49 | 49 | ); |
50 | 50 | } |
51 | - $done = 30 > count( $invoices ); |
|
51 | + $done = 30 > count($invoices); |
|
52 | 52 | } else { |
53 | 53 | $done = true; |
54 | 54 | } |
@@ -66,59 +66,59 @@ discard block |
||
66 | 66 | * @param WPInv_Invoice $invoice invoice object. |
67 | 67 | * @return array |
68 | 68 | */ |
69 | - public static function get_customer_invoice_data( $invoice ) { |
|
69 | + public static function get_customer_invoice_data($invoice) { |
|
70 | 70 | $personal_data = array(); |
71 | 71 | |
72 | 72 | $props_to_export = array( |
73 | - 'number' => __( 'Invoice Number', 'invoicing' ), |
|
74 | - 'created_date' => __( 'Invoice Date', 'invoicing' ), |
|
75 | - 'status' => __( 'Invoice Status', 'invoicing' ), |
|
76 | - 'total' => __( 'Invoice Total', 'invoicing' ), |
|
77 | - 'items' => __( 'Invoice Items', 'invoicing' ), |
|
78 | - 'first_name' => __( 'First Name', 'invoicing' ), |
|
79 | - 'last_name' => __( 'Last Name', 'invoicing' ), |
|
80 | - 'email' => __( 'Email Address', 'invoicing' ), |
|
81 | - '_wpinv_company' => __( 'Company', 'invoicing' ), |
|
82 | - 'phone' => __( 'Phone Number', 'invoicing' ), |
|
83 | - 'address' => __( 'Address', 'invoicing' ), |
|
84 | - '_wpinv_city' => __( 'City', 'invoicing' ), |
|
85 | - '_wpinv_country' => __( 'Country', 'invoicing' ), |
|
86 | - '_wpinv_state' => __( 'State', 'invoicing' ), |
|
87 | - '_wpinv_zip' => __( 'Zip Code', 'invoicing' ), |
|
73 | + 'number' => __('Invoice Number', 'invoicing'), |
|
74 | + 'created_date' => __('Invoice Date', 'invoicing'), |
|
75 | + 'status' => __('Invoice Status', 'invoicing'), |
|
76 | + 'total' => __('Invoice Total', 'invoicing'), |
|
77 | + 'items' => __('Invoice Items', 'invoicing'), |
|
78 | + 'first_name' => __('First Name', 'invoicing'), |
|
79 | + 'last_name' => __('Last Name', 'invoicing'), |
|
80 | + 'email' => __('Email Address', 'invoicing'), |
|
81 | + '_wpinv_company' => __('Company', 'invoicing'), |
|
82 | + 'phone' => __('Phone Number', 'invoicing'), |
|
83 | + 'address' => __('Address', 'invoicing'), |
|
84 | + '_wpinv_city' => __('City', 'invoicing'), |
|
85 | + '_wpinv_country' => __('Country', 'invoicing'), |
|
86 | + '_wpinv_state' => __('State', 'invoicing'), |
|
87 | + '_wpinv_zip' => __('Zip Code', 'invoicing'), |
|
88 | 88 | ); |
89 | 89 | |
90 | - $subscription = wpinv_get_subscription( $invoice ); |
|
90 | + $subscription = wpinv_get_subscription($invoice); |
|
91 | 91 | $period = $initial_amt = $bill_times = $billed = $renewal_date = ''; |
92 | 92 | |
93 | - if ( $invoice->is_recurring() && !empty( $subscription ) ) { |
|
94 | - $frequency = WPInv_Subscriptions::wpinv_get_pretty_subscription_frequency( $subscription->period,$subscription->frequency ); |
|
95 | - $period = wpinv_price( wpinv_format_amount( $subscription->recurring_amount ), wpinv_get_invoice_currency_code( $subscription->parent_payment_id ) ) . ' / ' . $frequency; |
|
96 | - $initial_amt = wpinv_price( wpinv_format_amount( $subscription->initial_amount ), wpinv_get_invoice_currency_code( $subscription->parent_payment_id ) ); |
|
97 | - $bill_times = $subscription->get_times_billed() . ' / ' . ( ( $subscription->bill_times == 0 ) ? 'Until Cancelled' : $subscription->bill_times ); |
|
98 | - $renewal_date = ! empty( $subscription->expiration ) ? date_i18n( get_option( 'date_format' ), strtotime( $subscription->expiration ) ) : __( 'N/A', 'invoicing' ); |
|
99 | - |
|
100 | - $props_to_export['period'] = __( 'Billing Cycle', 'invoicing' ); |
|
101 | - $props_to_export['initial_amount'] = __( 'Initial Amount', 'invoicing' ); |
|
102 | - $props_to_export['bill_times'] = __( 'Times Billed', 'invoicing' ); |
|
103 | - $props_to_export['renewal_date'] = __( 'Renewal Date', 'invoicing' ); |
|
93 | + if ($invoice->is_recurring() && !empty($subscription)) { |
|
94 | + $frequency = WPInv_Subscriptions::wpinv_get_pretty_subscription_frequency($subscription->period, $subscription->frequency); |
|
95 | + $period = wpinv_price(wpinv_format_amount($subscription->recurring_amount), wpinv_get_invoice_currency_code($subscription->parent_payment_id)) . ' / ' . $frequency; |
|
96 | + $initial_amt = wpinv_price(wpinv_format_amount($subscription->initial_amount), wpinv_get_invoice_currency_code($subscription->parent_payment_id)); |
|
97 | + $bill_times = $subscription->get_times_billed() . ' / ' . (($subscription->bill_times == 0) ? 'Until Cancelled' : $subscription->bill_times); |
|
98 | + $renewal_date = !empty($subscription->expiration) ? date_i18n(get_option('date_format'), strtotime($subscription->expiration)) : __('N/A', 'invoicing'); |
|
99 | + |
|
100 | + $props_to_export['period'] = __('Billing Cycle', 'invoicing'); |
|
101 | + $props_to_export['initial_amount'] = __('Initial Amount', 'invoicing'); |
|
102 | + $props_to_export['bill_times'] = __('Times Billed', 'invoicing'); |
|
103 | + $props_to_export['renewal_date'] = __('Renewal Date', 'invoicing'); |
|
104 | 104 | } |
105 | 105 | |
106 | - $props_to_export['ip'] = __( 'IP Address', 'invoicing' ); |
|
107 | - $props_to_export['view_url'] = __( 'Invoice Link', 'invoicing' ); |
|
106 | + $props_to_export['ip'] = __('IP Address', 'invoicing'); |
|
107 | + $props_to_export['view_url'] = __('Invoice Link', 'invoicing'); |
|
108 | 108 | |
109 | - $props_to_export = apply_filters( 'wpinv_privacy_export_invoice_personal_data_props', $props_to_export, $invoice, $subscription); |
|
109 | + $props_to_export = apply_filters('wpinv_privacy_export_invoice_personal_data_props', $props_to_export, $invoice, $subscription); |
|
110 | 110 | |
111 | - foreach ( $props_to_export as $prop => $name ) { |
|
111 | + foreach ($props_to_export as $prop => $name) { |
|
112 | 112 | $value = ''; |
113 | 113 | |
114 | - switch ( $prop ) { |
|
114 | + switch ($prop) { |
|
115 | 115 | case 'items': |
116 | 116 | $item_names = array(); |
117 | - foreach ( $invoice->get_cart_details() as $key => $cart_item ) { |
|
118 | - $item_quantity = $cart_item['quantity'] > 0 ? absint( $cart_item['quantity'] ) : 1; |
|
117 | + foreach ($invoice->get_cart_details() as $key => $cart_item) { |
|
118 | + $item_quantity = $cart_item['quantity'] > 0 ? absint($cart_item['quantity']) : 1; |
|
119 | 119 | $item_names[] = $cart_item['name'] . ' x ' . $item_quantity; |
120 | 120 | } |
121 | - $value = implode( ', ', $item_names ); |
|
121 | + $value = implode(', ', $item_names); |
|
122 | 122 | break; |
123 | 123 | case 'status': |
124 | 124 | $value = $invoice->get_status(true); |
@@ -139,7 +139,7 @@ discard block |
||
139 | 139 | $value = $renewal_date; |
140 | 140 | break; |
141 | 141 | default: |
142 | - if ( is_callable( array( $invoice, 'get_' . $prop ) ) ) { |
|
142 | + if (is_callable(array($invoice, 'get_' . $prop))) { |
|
143 | 143 | $value = $invoice->{"get_$prop"}(); |
144 | 144 | } else { |
145 | 145 | $value = $invoice->get_meta($prop); |
@@ -147,9 +147,9 @@ discard block |
||
147 | 147 | break; |
148 | 148 | } |
149 | 149 | |
150 | - $value = apply_filters( 'wpi_privacy_export_invoice_personal_data_prop', $value, $prop, $invoice ); |
|
150 | + $value = apply_filters('wpi_privacy_export_invoice_personal_data_prop', $value, $prop, $invoice); |
|
151 | 151 | |
152 | - if ( $value ) { |
|
152 | + if ($value) { |
|
153 | 153 | $personal_data[] = array( |
154 | 154 | 'name' => $name, |
155 | 155 | 'value' => $value, |
@@ -158,7 +158,7 @@ discard block |
||
158 | 158 | |
159 | 159 | } |
160 | 160 | |
161 | - $personal_data = apply_filters( 'wpinv_privacy_export_invoice_personal_data', $personal_data, $invoice ); |
|
161 | + $personal_data = apply_filters('wpinv_privacy_export_invoice_personal_data', $personal_data, $invoice); |
|
162 | 162 | |
163 | 163 | return $personal_data; |
164 | 164 |
@@ -1,67 +1,67 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // MUST have WordPress. |
3 | -if ( !defined( 'WPINC' ) ) { |
|
4 | - exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) ); |
|
3 | +if (!defined('WPINC')) { |
|
4 | + exit('Do NOT access this file directly: ' . basename(__FILE__)); |
|
5 | 5 | } |
6 | 6 | |
7 | -function wpinv_add_meta_boxes( $post_type, $post ) { |
|
7 | +function wpinv_add_meta_boxes($post_type, $post) { |
|
8 | 8 | global $wpi_mb_invoice; |
9 | - if ( $post_type == 'wpi_invoice' && !empty( $post->ID ) ) { |
|
10 | - $wpi_mb_invoice = wpinv_get_invoice( $post->ID ); |
|
9 | + if ($post_type == 'wpi_invoice' && !empty($post->ID)) { |
|
10 | + $wpi_mb_invoice = wpinv_get_invoice($post->ID); |
|
11 | 11 | } |
12 | 12 | |
13 | - if ( !empty( $wpi_mb_invoice ) && !$wpi_mb_invoice->has_status( array( 'draft', 'auto-draft' ) ) ) { |
|
14 | - add_meta_box( 'wpinv-mb-resend-invoice', __( 'Resend Invoice', 'invoicing' ), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high' ); |
|
13 | + if (!empty($wpi_mb_invoice) && !$wpi_mb_invoice->has_status(array('draft', 'auto-draft'))) { |
|
14 | + add_meta_box('wpinv-mb-resend-invoice', __('Resend Invoice', 'invoicing'), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high'); |
|
15 | 15 | } |
16 | 16 | |
17 | - if ( !empty( $wpi_mb_invoice ) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent() ) { |
|
18 | - add_meta_box( 'wpinv-mb-subscriptions', __( 'Subscriptions', 'invoicing' ), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high' ); |
|
17 | + if (!empty($wpi_mb_invoice) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent()) { |
|
18 | + add_meta_box('wpinv-mb-subscriptions', __('Subscriptions', 'invoicing'), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high'); |
|
19 | 19 | } |
20 | 20 | |
21 | - if ( wpinv_is_subscription_payment( $wpi_mb_invoice ) ) { |
|
22 | - add_meta_box( 'wpinv-mb-renewals', __( 'Renewal Payment', 'invoicing' ), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high' ); |
|
21 | + if (wpinv_is_subscription_payment($wpi_mb_invoice)) { |
|
22 | + add_meta_box('wpinv-mb-renewals', __('Renewal Payment', 'invoicing'), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high'); |
|
23 | 23 | } |
24 | 24 | |
25 | - add_meta_box( 'wpinv-details', __( 'Invoice Details', 'invoicing' ), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default' ); |
|
26 | - add_meta_box( 'wpinv-payment-meta', __( 'Payment Meta', 'invoicing' ), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default' ); |
|
25 | + add_meta_box('wpinv-details', __('Invoice Details', 'invoicing'), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default'); |
|
26 | + add_meta_box('wpinv-payment-meta', __('Payment Meta', 'invoicing'), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default'); |
|
27 | 27 | |
28 | - add_meta_box( 'wpinv-address', __( 'Billing Details', 'invoicing' ), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high' ); |
|
29 | - add_meta_box( 'wpinv-items', __( 'Invoice Items', 'invoicing' ), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high' ); |
|
30 | - add_meta_box( 'wpinv-notes', __( 'Invoice Notes', 'invoicing' ), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high' ); |
|
28 | + add_meta_box('wpinv-address', __('Billing Details', 'invoicing'), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high'); |
|
29 | + add_meta_box('wpinv-items', __('Invoice Items', 'invoicing'), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high'); |
|
30 | + add_meta_box('wpinv-notes', __('Invoice Notes', 'invoicing'), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high'); |
|
31 | 31 | |
32 | 32 | remove_meta_box('wpseo_meta', 'wpi_invoice', 'normal'); |
33 | 33 | } |
34 | -add_action( 'add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2 ); |
|
34 | +add_action('add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2); |
|
35 | 35 | |
36 | -function wpinv_save_meta_boxes( $post_id, $post, $update = false ) { |
|
37 | - remove_action( 'save_post', __FUNCTION__ ); |
|
36 | +function wpinv_save_meta_boxes($post_id, $post, $update = false) { |
|
37 | + remove_action('save_post', __FUNCTION__); |
|
38 | 38 | |
39 | 39 | // $post_id and $post are required |
40 | - if ( empty( $post_id ) || empty( $post ) ) { |
|
40 | + if (empty($post_id) || empty($post)) { |
|
41 | 41 | return; |
42 | 42 | } |
43 | 43 | |
44 | - if ( !current_user_can( 'edit_post', $post_id ) || empty( $post->post_type ) ) { |
|
44 | + if (!current_user_can('edit_post', $post_id) || empty($post->post_type)) { |
|
45 | 45 | return; |
46 | 46 | } |
47 | 47 | |
48 | 48 | // Dont' save meta boxes for revisions or autosaves |
49 | - if ( defined( 'DOING_AUTOSAVE' ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) { |
|
49 | + if (defined('DOING_AUTOSAVE') || is_int(wp_is_post_revision($post)) || is_int(wp_is_post_autosave($post))) { |
|
50 | 50 | return; |
51 | 51 | } |
52 | 52 | |
53 | - if ( $post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote' ) { |
|
54 | - if ( ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) { |
|
53 | + if ($post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote') { |
|
54 | + if ((defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) { |
|
55 | 55 | return; |
56 | 56 | } |
57 | 57 | |
58 | - if ( isset( $_POST['wpinv_save_invoice'] ) && wp_verify_nonce( $_POST['wpinv_save_invoice'], 'wpinv_save_invoice' ) ) { |
|
59 | - WPInv_Meta_Box_Items::save( $post_id, $_POST, $post ); |
|
58 | + if (isset($_POST['wpinv_save_invoice']) && wp_verify_nonce($_POST['wpinv_save_invoice'], 'wpinv_save_invoice')) { |
|
59 | + WPInv_Meta_Box_Items::save($post_id, $_POST, $post); |
|
60 | 60 | } |
61 | - } else if ( $post->post_type == 'wpi_item' ) { |
|
61 | + } else if ($post->post_type == 'wpi_item') { |
|
62 | 62 | // verify nonce |
63 | - if ( isset( $_POST['wpinv_vat_meta_box_nonce'] ) && wp_verify_nonce( $_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save' ) ) { |
|
64 | - $fields = array(); |
|
63 | + if (isset($_POST['wpinv_vat_meta_box_nonce']) && wp_verify_nonce($_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save')) { |
|
64 | + $fields = array(); |
|
65 | 65 | $fields['_wpinv_price'] = 'wpinv_item_price'; |
66 | 66 | $fields['_wpinv_vat_class'] = 'wpinv_vat_class'; |
67 | 67 | $fields['_wpinv_vat_rule'] = 'wpinv_vat_rules'; |
@@ -76,96 +76,96 @@ discard block |
||
76 | 76 | $fields['_wpinv_dynamic_pricing'] = 'wpinv_name_your_price'; |
77 | 77 | $fields['_minimum_price'] = 'wpinv_minimum_price'; |
78 | 78 | |
79 | - if ( !isset( $_POST['wpinv_is_recurring'] ) ) { |
|
79 | + if (!isset($_POST['wpinv_is_recurring'])) { |
|
80 | 80 | $_POST['wpinv_is_recurring'] = 0; |
81 | 81 | } |
82 | 82 | |
83 | - if ( !isset( $_POST['wpinv_name_your_price'] ) ) { |
|
83 | + if (!isset($_POST['wpinv_name_your_price'])) { |
|
84 | 84 | $_POST['wpinv_name_your_price'] = 0; |
85 | 85 | } |
86 | 86 | |
87 | - if ( !isset( $_POST['wpinv_free_trial'] ) || empty( $_POST['wpinv_is_recurring'] ) ) { |
|
87 | + if (!isset($_POST['wpinv_free_trial']) || empty($_POST['wpinv_is_recurring'])) { |
|
88 | 88 | $_POST['wpinv_free_trial'] = 0; |
89 | 89 | } |
90 | 90 | |
91 | - foreach ( $fields as $field => $name ) { |
|
92 | - if ( isset( $_POST[ $name ] ) ) { |
|
93 | - $allowed = apply_filters( 'wpinv_item_allowed_save_meta_value', true, $field, $post_id ); |
|
91 | + foreach ($fields as $field => $name) { |
|
92 | + if (isset($_POST[$name])) { |
|
93 | + $allowed = apply_filters('wpinv_item_allowed_save_meta_value', true, $field, $post_id); |
|
94 | 94 | |
95 | - if ( !$allowed ) { |
|
95 | + if (!$allowed) { |
|
96 | 96 | continue; |
97 | 97 | } |
98 | 98 | |
99 | - if ( $field == '_wpinv_price' ) { |
|
100 | - $value = wpinv_sanitize_amount( $_POST[ $name ] ); |
|
99 | + if ($field == '_wpinv_price') { |
|
100 | + $value = wpinv_sanitize_amount($_POST[$name]); |
|
101 | 101 | } else { |
102 | - $value = is_string( $_POST[ $name ] ) ? sanitize_text_field( $_POST[ $name ] ) : $_POST[ $name ]; |
|
102 | + $value = is_string($_POST[$name]) ? sanitize_text_field($_POST[$name]) : $_POST[$name]; |
|
103 | 103 | } |
104 | 104 | |
105 | - $value = apply_filters( 'wpinv_item_metabox_save_' . $field, $value, $name ); |
|
106 | - update_post_meta( $post_id, $field, $value ); |
|
105 | + $value = apply_filters('wpinv_item_metabox_save_' . $field, $value, $name); |
|
106 | + update_post_meta($post_id, $field, $value); |
|
107 | 107 | } |
108 | 108 | } |
109 | 109 | |
110 | - if ( !get_post_meta( $post_id, '_wpinv_custom_id', true ) ) { |
|
111 | - update_post_meta( $post_id, '_wpinv_custom_id', $post_id ); |
|
110 | + if (!get_post_meta($post_id, '_wpinv_custom_id', true)) { |
|
111 | + update_post_meta($post_id, '_wpinv_custom_id', $post_id); |
|
112 | 112 | } |
113 | 113 | } |
114 | 114 | } |
115 | 115 | } |
116 | -add_action( 'save_post', 'wpinv_save_meta_boxes', 10, 3 ); |
|
116 | +add_action('save_post', 'wpinv_save_meta_boxes', 10, 3); |
|
117 | 117 | |
118 | 118 | function wpinv_register_item_meta_boxes() { |
119 | 119 | global $wpinv_euvat; |
120 | 120 | |
121 | - add_meta_box( 'wpinv_field_prices', __( 'Item Price', 'invoicing' ), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high' ); |
|
121 | + add_meta_box('wpinv_field_prices', __('Item Price', 'invoicing'), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high'); |
|
122 | 122 | |
123 | - if ( $wpinv_euvat->allow_vat_rules() ) { |
|
124 | - add_meta_box( 'wpinv_field_vat_rules', __( 'VAT rules type to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high' ); |
|
123 | + if ($wpinv_euvat->allow_vat_rules()) { |
|
124 | + add_meta_box('wpinv_field_vat_rules', __('VAT rules type to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high'); |
|
125 | 125 | } |
126 | 126 | |
127 | - if ( $wpinv_euvat->allow_vat_classes() ) { |
|
128 | - add_meta_box( 'wpinv_field_vat_classes', __( 'VAT rates class to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high' ); |
|
127 | + if ($wpinv_euvat->allow_vat_classes()) { |
|
128 | + add_meta_box('wpinv_field_vat_classes', __('VAT rates class to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high'); |
|
129 | 129 | } |
130 | 130 | |
131 | - add_meta_box( 'wpinv_field_item_info', __( 'Item info', 'invoicing' ), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core' ); |
|
132 | - add_meta_box( 'wpinv_field_meta_values', __( 'Item Meta Values', 'invoicing' ), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core' ); |
|
131 | + add_meta_box('wpinv_field_item_info', __('Item info', 'invoicing'), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core'); |
|
132 | + add_meta_box('wpinv_field_meta_values', __('Item Meta Values', 'invoicing'), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core'); |
|
133 | 133 | } |
134 | 134 | |
135 | 135 | function wpinv_register_discount_meta_boxes() { |
136 | - add_meta_box( 'wpinv_discount_fields', __( 'Discount Details', 'invoicing' ), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high' ); |
|
136 | + add_meta_box('wpinv_discount_fields', __('Discount Details', 'invoicing'), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high'); |
|
137 | 137 | } |
138 | 138 | |
139 | -function wpinv_discount_metabox_details( $post ) { |
|
139 | +function wpinv_discount_metabox_details($post) { |
|
140 | 140 | $discount_id = $post->ID; |
141 | - $discount = wpinv_get_discount( $discount_id ); |
|
141 | + $discount = wpinv_get_discount($discount_id); |
|
142 | 142 | |
143 | - $type = wpinv_get_discount_type( $discount_id ); |
|
144 | - $item_reqs = wpinv_get_discount_item_reqs( $discount_id ); |
|
145 | - $excluded_items = wpinv_get_discount_excluded_items( $discount_id ); |
|
146 | - $min_total = wpinv_get_discount_min_total( $discount_id ); |
|
147 | - $max_total = wpinv_get_discount_max_total( $discount_id ); |
|
148 | - $max_uses = wpinv_get_discount_max_uses( $discount_id ); |
|
149 | - $single_use = wpinv_discount_is_single_use( $discount_id ); |
|
150 | - $recurring = (bool)wpinv_discount_is_recurring( $discount_id ); |
|
151 | - $start_date = wpinv_get_discount_start_date( $discount_id ); |
|
152 | - $expiration_date = wpinv_get_discount_expiration( $discount_id ); |
|
143 | + $type = wpinv_get_discount_type($discount_id); |
|
144 | + $item_reqs = wpinv_get_discount_item_reqs($discount_id); |
|
145 | + $excluded_items = wpinv_get_discount_excluded_items($discount_id); |
|
146 | + $min_total = wpinv_get_discount_min_total($discount_id); |
|
147 | + $max_total = wpinv_get_discount_max_total($discount_id); |
|
148 | + $max_uses = wpinv_get_discount_max_uses($discount_id); |
|
149 | + $single_use = wpinv_discount_is_single_use($discount_id); |
|
150 | + $recurring = (bool) wpinv_discount_is_recurring($discount_id); |
|
151 | + $start_date = wpinv_get_discount_start_date($discount_id); |
|
152 | + $expiration_date = wpinv_get_discount_expiration($discount_id); |
|
153 | 153 | |
154 | - if ( ! empty( $start_date ) && strpos( $start_date, '0000' ) === false ) { |
|
155 | - $start_time = strtotime( $start_date ); |
|
156 | - $start_h = date_i18n( 'H', $start_time ); |
|
157 | - $start_m = date_i18n( 'i', $start_time ); |
|
158 | - $start_date = date_i18n( 'Y-m-d', $start_time ); |
|
154 | + if (!empty($start_date) && strpos($start_date, '0000') === false) { |
|
155 | + $start_time = strtotime($start_date); |
|
156 | + $start_h = date_i18n('H', $start_time); |
|
157 | + $start_m = date_i18n('i', $start_time); |
|
158 | + $start_date = date_i18n('Y-m-d', $start_time); |
|
159 | 159 | } else { |
160 | 160 | $start_h = '00'; |
161 | 161 | $start_m = '00'; |
162 | 162 | } |
163 | 163 | |
164 | - if ( ! empty( $expiration_date ) && strpos( $expiration_date, '0000' ) === false ) { |
|
165 | - $expiration_time = strtotime( $expiration_date ); |
|
166 | - $expiration_h = date_i18n( 'H', $expiration_time ); |
|
167 | - $expiration_m = date_i18n( 'i', $expiration_time ); |
|
168 | - $expiration_date = date_i18n( 'Y-m-d', $expiration_time ); |
|
164 | + if (!empty($expiration_date) && strpos($expiration_date, '0000') === false) { |
|
165 | + $expiration_time = strtotime($expiration_date); |
|
166 | + $expiration_h = date_i18n('H', $expiration_time); |
|
167 | + $expiration_m = date_i18n('i', $expiration_time); |
|
168 | + $expiration_date = date_i18n('Y-m-d', $expiration_time); |
|
169 | 169 | } else { |
170 | 170 | $expiration_h = '23'; |
171 | 171 | $expiration_m = '59'; |
@@ -175,207 +175,207 @@ discard block |
||
175 | 175 | $max_total = $max_total > 0 ? $max_total : ''; |
176 | 176 | $max_uses = $max_uses > 0 ? $max_uses : ''; |
177 | 177 | ?> |
178 | -<?php do_action( 'wpinv_discount_form_top', $post ); ?> |
|
179 | -<?php wp_nonce_field( 'wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce' ); ;?> |
|
178 | +<?php do_action('wpinv_discount_form_top', $post); ?> |
|
179 | +<?php wp_nonce_field('wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce'); ;?> |
|
180 | 180 | <table class="form-table wpi-form-table"> |
181 | 181 | <tbody> |
182 | - <?php do_action( 'wpinv_discount_form_first', $post ); ?> |
|
183 | - <?php do_action( 'wpinv_discount_form_before_code', $post ); ?> |
|
182 | + <?php do_action('wpinv_discount_form_first', $post); ?> |
|
183 | + <?php do_action('wpinv_discount_form_before_code', $post); ?> |
|
184 | 184 | <tr> |
185 | 185 | <th valign="top" scope="row"> |
186 | - <label for="wpinv_discount_code"><?php _e( 'Discount Code', 'invoicing' ); ?></label> |
|
186 | + <label for="wpinv_discount_code"><?php _e('Discount Code', 'invoicing'); ?></label> |
|
187 | 187 | </th> |
188 | 188 | <td> |
189 | - <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr( wpinv_get_discount_code( $discount_id ) ); ?>" required> |
|
190 | - <p class="description"><?php _e( 'Enter a code for this discount, such as 10OFF', 'invoicing' ); ?></p> |
|
189 | + <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr(wpinv_get_discount_code($discount_id)); ?>" required> |
|
190 | + <p class="description"><?php _e('Enter a code for this discount, such as 10OFF', 'invoicing'); ?></p> |
|
191 | 191 | </td> |
192 | 192 | </tr> |
193 | - <?php do_action( 'wpinv_discount_form_before_type', $post ); ?> |
|
193 | + <?php do_action('wpinv_discount_form_before_type', $post); ?> |
|
194 | 194 | <tr> |
195 | 195 | <th valign="top" scope="row"> |
196 | - <label for="wpinv_discount_type"><?php _e( 'Discount Type', 'invoicing' ); ?></label> |
|
196 | + <label for="wpinv_discount_type"><?php _e('Discount Type', 'invoicing'); ?></label> |
|
197 | 197 | </th> |
198 | 198 | <td> |
199 | 199 | <select id="wpinv_discount_type" name="type" class="medium-text wpi_select2"> |
200 | - <?php foreach ( wpinv_get_discount_types() as $value => $label ) { ?> |
|
201 | - <option value="<?php echo $value ;?>" <?php selected( $type, $value ); ?>><?php echo $label; ?></option> |
|
200 | + <?php foreach (wpinv_get_discount_types() as $value => $label) { ?> |
|
201 | + <option value="<?php echo $value; ?>" <?php selected($type, $value); ?>><?php echo $label; ?></option> |
|
202 | 202 | <?php } ?> |
203 | 203 | </select> |
204 | - <p class="description"><?php _e( 'The kind of discount to apply for this discount.', 'invoicing' ); ?></p> |
|
204 | + <p class="description"><?php _e('The kind of discount to apply for this discount.', 'invoicing'); ?></p> |
|
205 | 205 | </td> |
206 | 206 | </tr> |
207 | - <?php do_action( 'wpinv_discount_form_before_amount', $post ); ?> |
|
207 | + <?php do_action('wpinv_discount_form_before_amount', $post); ?> |
|
208 | 208 | <tr> |
209 | 209 | <th valign="top" scope="row"> |
210 | - <label for="wpinv_discount_amount"><?php _e( 'Amount', 'invoicing' ); ?></label> |
|
210 | + <label for="wpinv_discount_amount"><?php _e('Amount', 'invoicing'); ?></label> |
|
211 | 211 | </th> |
212 | 212 | <td> |
213 | - <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr( wpinv_get_discount_amount( $discount_id ) ); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol() ;?></font> |
|
214 | - <p style="display:none;" class="description"><?php _e( 'Enter the discount amount in USD', 'invoicing' ); ?></p> |
|
215 | - <p class="description"><?php _e( 'Enter the discount value. Ex: 10', 'invoicing' ); ?></p> |
|
213 | + <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr(wpinv_get_discount_amount($discount_id)); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol(); ?></font> |
|
214 | + <p style="display:none;" class="description"><?php _e('Enter the discount amount in USD', 'invoicing'); ?></p> |
|
215 | + <p class="description"><?php _e('Enter the discount value. Ex: 10', 'invoicing'); ?></p> |
|
216 | 216 | </td> |
217 | 217 | </tr> |
218 | - <?php do_action( 'wpinv_discount_form_before_items', $post ); ?> |
|
218 | + <?php do_action('wpinv_discount_form_before_items', $post); ?> |
|
219 | 219 | <tr> |
220 | 220 | <th valign="top" scope="row"> |
221 | - <label for="wpinv_discount_items"><?php _e( 'Items', 'invoicing' ); ?></label> |
|
221 | + <label for="wpinv_discount_items"><?php _e('Items', 'invoicing'); ?></label> |
|
222 | 222 | </th> |
223 | 223 | <td> |
224 | - <p><?php echo wpinv_item_dropdown( array( |
|
224 | + <p><?php echo wpinv_item_dropdown(array( |
|
225 | 225 | 'name' => 'items[]', |
226 | 226 | 'id' => 'items', |
227 | 227 | 'selected' => $item_reqs, |
228 | 228 | 'multiple' => true, |
229 | 229 | 'class' => 'medium-text wpi_select2', |
230 | - 'placeholder' => __( 'Select one or more Items', 'invoicing' ), |
|
230 | + 'placeholder' => __('Select one or more Items', 'invoicing'), |
|
231 | 231 | 'show_recurring' => true, |
232 | - ) ); ?> |
|
232 | + )); ?> |
|
233 | 233 | </p> |
234 | - <p class="description"><?php _e( 'Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing' ); ?></p> |
|
234 | + <p class="description"><?php _e('Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing'); ?></p> |
|
235 | 235 | </td> |
236 | 236 | </tr> |
237 | - <?php do_action( 'wpinv_discount_form_before_excluded_items', $post ); ?> |
|
237 | + <?php do_action('wpinv_discount_form_before_excluded_items', $post); ?> |
|
238 | 238 | <tr> |
239 | 239 | <th valign="top" scope="row"> |
240 | - <label for="wpinv_discount_excluded_items"><?php _e( 'Excluded Items', 'invoicing' ); ?></label> |
|
240 | + <label for="wpinv_discount_excluded_items"><?php _e('Excluded Items', 'invoicing'); ?></label> |
|
241 | 241 | </th> |
242 | 242 | <td> |
243 | - <p><?php echo wpinv_item_dropdown( array( |
|
243 | + <p><?php echo wpinv_item_dropdown(array( |
|
244 | 244 | 'name' => 'excluded_items[]', |
245 | 245 | 'id' => 'excluded_items', |
246 | 246 | 'selected' => $excluded_items, |
247 | 247 | 'multiple' => true, |
248 | 248 | 'class' => 'medium-text wpi_select2', |
249 | - 'placeholder' => __( 'Select one or more Items', 'invoicing' ), |
|
249 | + 'placeholder' => __('Select one or more Items', 'invoicing'), |
|
250 | 250 | 'show_recurring' => true, |
251 | - ) ); ?> |
|
251 | + )); ?> |
|
252 | 252 | </p> |
253 | - <p class="description"><?php _e( 'Items which are NOT allowed to use this discount.', 'invoicing' ); ?></p> |
|
253 | + <p class="description"><?php _e('Items which are NOT allowed to use this discount.', 'invoicing'); ?></p> |
|
254 | 254 | </td> |
255 | 255 | </tr> |
256 | - <?php do_action( 'wpinv_discount_form_before_start', $post ); ?> |
|
256 | + <?php do_action('wpinv_discount_form_before_start', $post); ?> |
|
257 | 257 | <tr> |
258 | 258 | <th valign="top" scope="row"> |
259 | - <label for="wpinv_discount_start"><?php _e( 'Start Date', 'invoicing' ); ?></label> |
|
259 | + <label for="wpinv_discount_start"><?php _e('Start Date', 'invoicing'); ?></label> |
|
260 | 260 | </th> |
261 | 261 | <td> |
262 | - <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr( $start_date ); ?>"> @ <select id="wpinv_discount_start_h" name="start_h"> |
|
263 | - <?php for ( $i = 0; $i <= 23; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
264 | - <option value="<?php echo $value;?>" <?php selected( $value, $start_h ); ?>><?php echo $value;?></option> |
|
262 | + <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr($start_date); ?>"> @ <select id="wpinv_discount_start_h" name="start_h"> |
|
263 | + <?php for ($i = 0; $i <= 23; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
264 | + <option value="<?php echo $value; ?>" <?php selected($value, $start_h); ?>><?php echo $value; ?></option> |
|
265 | 265 | <?php } ?> |
266 | 266 | </select> : <select id="wpinv_discount_start_m" name="start_m"> |
267 | - <?php for ( $i = 0; $i <= 59; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
268 | - <option value="<?php echo $value;?>" <?php selected( $value, $start_m ); ?>><?php echo $value;?></option> |
|
267 | + <?php for ($i = 0; $i <= 59; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
268 | + <option value="<?php echo $value; ?>" <?php selected($value, $start_m); ?>><?php echo $value; ?></option> |
|
269 | 269 | <?php } ?> |
270 | 270 | </select> |
271 | - <p class="description"><?php _e( 'Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing' ); ?></p> |
|
271 | + <p class="description"><?php _e('Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing'); ?></p> |
|
272 | 272 | </td> |
273 | 273 | </tr> |
274 | - <?php do_action( 'wpinv_discount_form_before_expiration', $post ); ?> |
|
274 | + <?php do_action('wpinv_discount_form_before_expiration', $post); ?> |
|
275 | 275 | <tr> |
276 | 276 | <th valign="top" scope="row"> |
277 | - <label for="wpinv_discount_expiration"><?php _e( 'Expiration Date', 'invoicing' ); ?></label> |
|
277 | + <label for="wpinv_discount_expiration"><?php _e('Expiration Date', 'invoicing'); ?></label> |
|
278 | 278 | </th> |
279 | 279 | <td> |
280 | - <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr( $expiration_date ); ?>"> @ <select id="wpinv_discount_expiration_h" name="expiration_h"> |
|
281 | - <?php for ( $i = 0; $i <= 23; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
282 | - <option value="<?php echo $value;?>" <?php selected( $value, $expiration_h ); ?>><?php echo $value;?></option> |
|
280 | + <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr($expiration_date); ?>"> @ <select id="wpinv_discount_expiration_h" name="expiration_h"> |
|
281 | + <?php for ($i = 0; $i <= 23; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
282 | + <option value="<?php echo $value; ?>" <?php selected($value, $expiration_h); ?>><?php echo $value; ?></option> |
|
283 | 283 | <?php } ?> |
284 | 284 | </select> : <select id="wpinv_discount_expiration_m" name="expiration_m"> |
285 | - <?php for ( $i = 0; $i <= 59; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
286 | - <option value="<?php echo $value;?>" <?php selected( $value, $expiration_m ); ?>><?php echo $value;?></option> |
|
285 | + <?php for ($i = 0; $i <= 59; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
286 | + <option value="<?php echo $value; ?>" <?php selected($value, $expiration_m); ?>><?php echo $value; ?></option> |
|
287 | 287 | <?php } ?> |
288 | 288 | </select> |
289 | - <p class="description"><?php _e( 'Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing' ); ?></p> |
|
289 | + <p class="description"><?php _e('Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing'); ?></p> |
|
290 | 290 | </td> |
291 | 291 | </tr> |
292 | - <?php do_action( 'wpinv_discount_form_before_min_total', $post ); ?> |
|
292 | + <?php do_action('wpinv_discount_form_before_min_total', $post); ?> |
|
293 | 293 | <tr> |
294 | 294 | <th valign="top" scope="row"> |
295 | - <label for="wpinv_discount_min_total"><?php _e( 'Minimum Amount', 'invoicing' ); ?></label> |
|
295 | + <label for="wpinv_discount_min_total"><?php _e('Minimum Amount', 'invoicing'); ?></label> |
|
296 | 296 | </th> |
297 | 297 | <td> |
298 | 298 | <input type="text" name="min_total" id="wpinv_discount_min_total" class="wpi-field-price wpi-price" value="<?php echo $min_total; ?>"> |
299 | - <p class="description"><?php _e( 'This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p> |
|
299 | + <p class="description"><?php _e('This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p> |
|
300 | 300 | </td> |
301 | 301 | </tr> |
302 | - <?php do_action( 'wpinv_discount_form_before_max_total', $post ); ?> |
|
302 | + <?php do_action('wpinv_discount_form_before_max_total', $post); ?> |
|
303 | 303 | <tr> |
304 | 304 | <th valign="top" scope="row"> |
305 | - <label for="wpinv_discount_max_total"><?php _e( 'Maximum Amount', 'invoicing' ); ?></label> |
|
305 | + <label for="wpinv_discount_max_total"><?php _e('Maximum Amount', 'invoicing'); ?></label> |
|
306 | 306 | </th> |
307 | 307 | <td> |
308 | 308 | <input type="text" name="max_total" id="wpinv_discount_max_total" class="wpi-field-price wpi-price" value="<?php echo $max_total; ?>"> |
309 | - <p class="description"><?php _e( 'This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p> |
|
309 | + <p class="description"><?php _e('This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p> |
|
310 | 310 | </td> |
311 | 311 | </tr> |
312 | - <?php do_action( 'wpinv_discount_form_before_recurring', $post ); ?> |
|
312 | + <?php do_action('wpinv_discount_form_before_recurring', $post); ?> |
|
313 | 313 | <tr> |
314 | 314 | <th valign="top" scope="row"> |
315 | - <label for="wpinv_discount_recurring"><?php _e( 'For recurring apply to', 'invoicing' ); ?></label> |
|
315 | + <label for="wpinv_discount_recurring"><?php _e('For recurring apply to', 'invoicing'); ?></label> |
|
316 | 316 | </th> |
317 | 317 | <td> |
318 | 318 | <select id="wpinv_discount_recurring" name="recurring" class="medium-text wpi_select2"> |
319 | - <option value="0" <?php selected( false, $recurring ); ?>><?php _e( 'First payment only', 'invoicing' ); ?></option> |
|
320 | - <option value="1" <?php selected( true, $recurring ); ?>><?php _e( 'All payments', 'invoicing' ); ?></option> |
|
319 | + <option value="0" <?php selected(false, $recurring); ?>><?php _e('First payment only', 'invoicing'); ?></option> |
|
320 | + <option value="1" <?php selected(true, $recurring); ?>><?php _e('All payments', 'invoicing'); ?></option> |
|
321 | 321 | </select> |
322 | - <p class="description"><?php _e( '<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing' ); ?></p> |
|
322 | + <p class="description"><?php _e('<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing'); ?></p> |
|
323 | 323 | </td> |
324 | 324 | </tr> |
325 | - <?php do_action( 'wpinv_discount_form_before_max_uses', $post ); ?> |
|
325 | + <?php do_action('wpinv_discount_form_before_max_uses', $post); ?> |
|
326 | 326 | <tr> |
327 | 327 | <th valign="top" scope="row"> |
328 | - <label for="wpinv_discount_max_uses"><?php _e( 'Max Uses', 'invoicing' ); ?></label> |
|
328 | + <label for="wpinv_discount_max_uses"><?php _e('Max Uses', 'invoicing'); ?></label> |
|
329 | 329 | </th> |
330 | 330 | <td> |
331 | 331 | <input type="number" min="0" step="1" id="wpinv_discount_max_uses" name="max_uses" class="medium-text" value="<?php echo $max_uses; ?>"> |
332 | - <p class="description"><?php _e( 'The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing' ); ?></p> |
|
332 | + <p class="description"><?php _e('The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing'); ?></p> |
|
333 | 333 | </td> |
334 | 334 | </tr> |
335 | - <?php do_action( 'wpinv_discount_form_before_single_use', $post ); ?> |
|
335 | + <?php do_action('wpinv_discount_form_before_single_use', $post); ?> |
|
336 | 336 | <tr> |
337 | 337 | <th valign="top" scope="row"> |
338 | - <label for="wpinv_discount_single_use"><?php _e( 'Use Once Per User', 'invoicing' ); ?></label> |
|
338 | + <label for="wpinv_discount_single_use"><?php _e('Use Once Per User', 'invoicing'); ?></label> |
|
339 | 339 | </th> |
340 | 340 | <td> |
341 | - <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked( true, $single_use ); ?>> |
|
342 | - <span class="description"><?php _e( 'Limit this discount to a single use per user?', 'invoicing' ); ?></span> |
|
341 | + <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked(true, $single_use); ?>> |
|
342 | + <span class="description"><?php _e('Limit this discount to a single use per user?', 'invoicing'); ?></span> |
|
343 | 343 | </td> |
344 | 344 | </tr> |
345 | - <?php do_action( 'wpinv_discount_form_last', $post ); ?> |
|
345 | + <?php do_action('wpinv_discount_form_last', $post); ?> |
|
346 | 346 | </tbody> |
347 | 347 | </table> |
348 | -<?php do_action( 'wpinv_discount_form_bottom', $post ); ?> |
|
348 | +<?php do_action('wpinv_discount_form_bottom', $post); ?> |
|
349 | 349 | <?php |
350 | 350 | } |
351 | 351 | |
352 | -function wpinv_discount_metabox_save( $post_id, $post, $update = false ) { |
|
353 | - $post_type = !empty( $post ) ? $post->post_type : ''; |
|
352 | +function wpinv_discount_metabox_save($post_id, $post, $update = false) { |
|
353 | + $post_type = !empty($post) ? $post->post_type : ''; |
|
354 | 354 | |
355 | - if ( $post_type != 'wpi_discount' ) { |
|
355 | + if ($post_type != 'wpi_discount') { |
|
356 | 356 | return; |
357 | 357 | } |
358 | 358 | |
359 | - if ( !isset( $_POST['wpinv_discount_metabox_nonce'] ) || ( isset( $_POST['wpinv_discount_metabox_nonce'] ) && !wp_verify_nonce( $_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce' ) ) ) { |
|
359 | + if (!isset($_POST['wpinv_discount_metabox_nonce']) || (isset($_POST['wpinv_discount_metabox_nonce']) && !wp_verify_nonce($_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce'))) { |
|
360 | 360 | return; |
361 | 361 | } |
362 | 362 | |
363 | - if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) { |
|
363 | + if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) || (defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) { |
|
364 | 364 | return; |
365 | 365 | } |
366 | 366 | |
367 | - if ( !current_user_can( wpinv_get_capability(), $post_id ) ) { |
|
367 | + if (!current_user_can(wpinv_get_capability(), $post_id)) { |
|
368 | 368 | return; |
369 | 369 | } |
370 | 370 | |
371 | - if ( !empty( $_POST['start'] ) && isset( $_POST['start_h'] ) && isset( $_POST['start_m'] ) && $_POST['start_h'] !== '' && $_POST['start_m'] !== '' ) { |
|
371 | + if (!empty($_POST['start']) && isset($_POST['start_h']) && isset($_POST['start_m']) && $_POST['start_h'] !== '' && $_POST['start_m'] !== '') { |
|
372 | 372 | $_POST['start'] = $_POST['start'] . ' ' . $_POST['start_h'] . ':' . $_POST['start_m']; |
373 | 373 | } |
374 | 374 | |
375 | - if ( !empty( $_POST['expiration'] ) && isset( $_POST['expiration_h'] ) && isset( $_POST['expiration_m'] ) ) { |
|
375 | + if (!empty($_POST['expiration']) && isset($_POST['expiration_h']) && isset($_POST['expiration_m'])) { |
|
376 | 376 | $_POST['expiration'] = $_POST['expiration'] . ' ' . $_POST['expiration_h'] . ':' . $_POST['expiration_m']; |
377 | 377 | } |
378 | 378 | |
379 | - return /** @scrutinizer ignore-call */ wpinv_store_discount( $post_id, $_POST, $post, $update ); |
|
379 | + return /** @scrutinizer ignore-call */ wpinv_store_discount($post_id, $_POST, $post, $update); |
|
380 | 380 | } |
381 | -add_action( 'save_post', 'wpinv_discount_metabox_save', 10, 3 ); |
|
382 | 381 | \ No newline at end of file |
382 | +add_action('save_post', 'wpinv_discount_metabox_save', 10, 3); |
|
383 | 383 | \ No newline at end of file |
@@ -7,38 +7,38 @@ discard block |
||
7 | 7 | */ |
8 | 8 | |
9 | 9 | // MUST have WordPress. |
10 | -if ( !defined( 'WPINC' ) ) { |
|
11 | - exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) ); |
|
10 | +if (!defined('WPINC')) { |
|
11 | + exit('Do NOT access this file directly: ' . basename(__FILE__)); |
|
12 | 12 | } |
13 | 13 | |
14 | -add_action( 'init', 'wpinv_register_post_types', 1 ); |
|
14 | +add_action('init', 'wpinv_register_post_types', 1); |
|
15 | 15 | function wpinv_register_post_types() { |
16 | 16 | |
17 | 17 | $labels = array( |
18 | - 'name' => _x( 'Invoices', 'post type general name', 'invoicing' ), |
|
19 | - 'singular_name' => _x( 'Invoice', 'post type singular name', 'invoicing' ), |
|
20 | - 'menu_name' => _x( 'Invoices', 'admin menu', 'invoicing' ), |
|
21 | - 'name_admin_bar' => _x( 'Invoice', 'add new on admin bar', 'invoicing' ), |
|
22 | - 'add_new' => _x( 'Add New', 'book', 'invoicing' ), |
|
23 | - 'add_new_item' => __( 'Add New Invoice', 'invoicing' ), |
|
24 | - 'new_item' => __( 'New Invoice', 'invoicing' ), |
|
25 | - 'edit_item' => __( 'Edit Invoice', 'invoicing' ), |
|
26 | - 'view_item' => __( 'View Invoice', 'invoicing' ), |
|
27 | - 'all_items' => __( 'Invoices', 'invoicing' ), |
|
28 | - 'search_items' => __( 'Search Invoices', 'invoicing' ), |
|
29 | - 'parent_item_colon' => __( 'Parent Invoices:', 'invoicing' ), |
|
30 | - 'not_found' => __( 'No invoices found.', 'invoicing' ), |
|
31 | - 'not_found_in_trash' => __( 'No invoices found in trash.', 'invoicing' ) |
|
18 | + 'name' => _x('Invoices', 'post type general name', 'invoicing'), |
|
19 | + 'singular_name' => _x('Invoice', 'post type singular name', 'invoicing'), |
|
20 | + 'menu_name' => _x('Invoices', 'admin menu', 'invoicing'), |
|
21 | + 'name_admin_bar' => _x('Invoice', 'add new on admin bar', 'invoicing'), |
|
22 | + 'add_new' => _x('Add New', 'book', 'invoicing'), |
|
23 | + 'add_new_item' => __('Add New Invoice', 'invoicing'), |
|
24 | + 'new_item' => __('New Invoice', 'invoicing'), |
|
25 | + 'edit_item' => __('Edit Invoice', 'invoicing'), |
|
26 | + 'view_item' => __('View Invoice', 'invoicing'), |
|
27 | + 'all_items' => __('Invoices', 'invoicing'), |
|
28 | + 'search_items' => __('Search Invoices', 'invoicing'), |
|
29 | + 'parent_item_colon' => __('Parent Invoices:', 'invoicing'), |
|
30 | + 'not_found' => __('No invoices found.', 'invoicing'), |
|
31 | + 'not_found_in_trash' => __('No invoices found in trash.', 'invoicing') |
|
32 | 32 | ); |
33 | - $labels = apply_filters( 'wpinv_labels', $labels ); |
|
33 | + $labels = apply_filters('wpinv_labels', $labels); |
|
34 | 34 | |
35 | 35 | $menu_icon = WPINV_PLUGIN_URL . '/assets/images/favicon.ico'; |
36 | - $menu_icon = apply_filters( 'wpinv_menu_icon_invoice', $menu_icon ); |
|
36 | + $menu_icon = apply_filters('wpinv_menu_icon_invoice', $menu_icon); |
|
37 | 37 | |
38 | 38 | $cap_type = 'wpi_invoice'; |
39 | 39 | $args = array( |
40 | 40 | 'labels' => $labels, |
41 | - 'description' => __( 'This is where invoices are stored.', 'invoicing' ), |
|
41 | + 'description' => __('This is where invoices are stored.', 'invoicing'), |
|
42 | 42 | 'public' => true, |
43 | 43 | 'can_export' => true, |
44 | 44 | '_builtin' => false, |
@@ -71,42 +71,42 @@ discard block |
||
71 | 71 | 'has_archive' => false, |
72 | 72 | 'hierarchical' => false, |
73 | 73 | 'menu_position' => null, |
74 | - 'supports' => array( 'title', 'author' ), |
|
74 | + 'supports' => array('title', 'author'), |
|
75 | 75 | 'menu_icon' => 'dashicons-media-spreadsheet', |
76 | 76 | ); |
77 | 77 | |
78 | - $args = apply_filters( 'wpinv_register_post_type_invoice', $args ); |
|
78 | + $args = apply_filters('wpinv_register_post_type_invoice', $args); |
|
79 | 79 | |
80 | - register_post_type( 'wpi_invoice', $args ); |
|
80 | + register_post_type('wpi_invoice', $args); |
|
81 | 81 | |
82 | 82 | $items_labels = array( |
83 | - 'name' => _x( 'Items', 'post type general name', 'invoicing' ), |
|
84 | - 'singular_name' => _x( 'Item', 'post type singular name', 'invoicing' ), |
|
85 | - 'menu_name' => _x( 'Items', 'admin menu', 'invoicing' ), |
|
86 | - 'add_new' => _x( 'Add New', 'wpi_item', 'invoicing' ), |
|
87 | - 'add_new_item' => __( 'Add New Item', 'invoicing' ), |
|
88 | - 'new_item' => __( 'New Item', 'invoicing' ), |
|
89 | - 'edit_item' => __( 'Edit Item', 'invoicing' ), |
|
90 | - 'view_item' => __( 'View Item', 'invoicing' ), |
|
91 | - 'all_items' => __( 'Items', 'invoicing' ), |
|
92 | - 'search_items' => __( 'Search Items', 'invoicing' ), |
|
83 | + 'name' => _x('Items', 'post type general name', 'invoicing'), |
|
84 | + 'singular_name' => _x('Item', 'post type singular name', 'invoicing'), |
|
85 | + 'menu_name' => _x('Items', 'admin menu', 'invoicing'), |
|
86 | + 'add_new' => _x('Add New', 'wpi_item', 'invoicing'), |
|
87 | + 'add_new_item' => __('Add New Item', 'invoicing'), |
|
88 | + 'new_item' => __('New Item', 'invoicing'), |
|
89 | + 'edit_item' => __('Edit Item', 'invoicing'), |
|
90 | + 'view_item' => __('View Item', 'invoicing'), |
|
91 | + 'all_items' => __('Items', 'invoicing'), |
|
92 | + 'search_items' => __('Search Items', 'invoicing'), |
|
93 | 93 | 'parent_item_colon' => '', |
94 | - 'not_found' => __( 'No items found.', 'invoicing' ), |
|
95 | - 'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' ) |
|
94 | + 'not_found' => __('No items found.', 'invoicing'), |
|
95 | + 'not_found_in_trash' => __('No items found in trash.', 'invoicing') |
|
96 | 96 | ); |
97 | - $items_labels = apply_filters( 'wpinv_items_labels', $items_labels ); |
|
97 | + $items_labels = apply_filters('wpinv_items_labels', $items_labels); |
|
98 | 98 | |
99 | 99 | $cap_type = 'wpi_item'; |
100 | 100 | $invoice_item_args = array( |
101 | 101 | 'labels' => $items_labels, |
102 | - 'description' => __( 'This is where you can add new invoice items.', 'invoicing' ), |
|
102 | + 'description' => __('This is where you can add new invoice items.', 'invoicing'), |
|
103 | 103 | 'public' => false, |
104 | 104 | 'has_archive' => false, |
105 | 105 | '_builtin' => false, |
106 | 106 | 'show_ui' => true, |
107 | 107 | 'show_in_menu' => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false, |
108 | 108 | 'show_in_nav_menus' => false, |
109 | - 'supports' => array( 'title', 'excerpt' ), |
|
109 | + 'supports' => array('title', 'excerpt'), |
|
110 | 110 | 'register_meta_box_cb' => 'wpinv_register_item_meta_boxes', |
111 | 111 | 'rewrite' => false, |
112 | 112 | 'query_var' => false, |
@@ -133,33 +133,33 @@ discard block |
||
133 | 133 | ), |
134 | 134 | 'can_export' => true, |
135 | 135 | ); |
136 | - $invoice_item_args = apply_filters( 'wpinv_register_post_type_invoice_item', $invoice_item_args ); |
|
136 | + $invoice_item_args = apply_filters('wpinv_register_post_type_invoice_item', $invoice_item_args); |
|
137 | 137 | |
138 | - register_post_type( 'wpi_item', $invoice_item_args ); |
|
138 | + register_post_type('wpi_item', $invoice_item_args); |
|
139 | 139 | |
140 | 140 | $labels = array( |
141 | - 'name' => _x( 'Discounts', 'post type general name', 'invoicing' ), |
|
142 | - 'singular_name' => _x( 'Discount', 'post type singular name', 'invoicing' ), |
|
143 | - 'menu_name' => _x( 'Discounts', 'admin menu', 'invoicing' ), |
|
144 | - 'name_admin_bar' => _x( 'Discount', 'add new on admin bar', 'invoicing' ), |
|
145 | - 'add_new' => _x( 'Add New', 'book', 'invoicing' ), |
|
146 | - 'add_new_item' => __( 'Add New Discount', 'invoicing' ), |
|
147 | - 'new_item' => __( 'New Discount', 'invoicing' ), |
|
148 | - 'edit_item' => __( 'Edit Discount', 'invoicing' ), |
|
149 | - 'view_item' => __( 'View Discount', 'invoicing' ), |
|
150 | - 'all_items' => __( 'Discounts', 'invoicing' ), |
|
151 | - 'search_items' => __( 'Search Discounts', 'invoicing' ), |
|
152 | - 'parent_item_colon' => __( 'Parent Discounts:', 'invoicing' ), |
|
153 | - 'not_found' => __( 'No discounts found.', 'invoicing' ), |
|
154 | - 'not_found_in_trash' => __( 'No discounts found in trash.', 'invoicing' ) |
|
141 | + 'name' => _x('Discounts', 'post type general name', 'invoicing'), |
|
142 | + 'singular_name' => _x('Discount', 'post type singular name', 'invoicing'), |
|
143 | + 'menu_name' => _x('Discounts', 'admin menu', 'invoicing'), |
|
144 | + 'name_admin_bar' => _x('Discount', 'add new on admin bar', 'invoicing'), |
|
145 | + 'add_new' => _x('Add New', 'book', 'invoicing'), |
|
146 | + 'add_new_item' => __('Add New Discount', 'invoicing'), |
|
147 | + 'new_item' => __('New Discount', 'invoicing'), |
|
148 | + 'edit_item' => __('Edit Discount', 'invoicing'), |
|
149 | + 'view_item' => __('View Discount', 'invoicing'), |
|
150 | + 'all_items' => __('Discounts', 'invoicing'), |
|
151 | + 'search_items' => __('Search Discounts', 'invoicing'), |
|
152 | + 'parent_item_colon' => __('Parent Discounts:', 'invoicing'), |
|
153 | + 'not_found' => __('No discounts found.', 'invoicing'), |
|
154 | + 'not_found_in_trash' => __('No discounts found in trash.', 'invoicing') |
|
155 | 155 | ); |
156 | - $labels = apply_filters( 'wpinv_discounts_labels', $labels ); |
|
156 | + $labels = apply_filters('wpinv_discounts_labels', $labels); |
|
157 | 157 | |
158 | 158 | $cap_type = 'wpi_discount'; |
159 | 159 | |
160 | 160 | $args = array( |
161 | 161 | 'labels' => $labels, |
162 | - 'description' => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ), |
|
162 | + 'description' => __('This is where you can add new discounts that users can use in invoices.', 'invoicing'), |
|
163 | 163 | 'public' => false, |
164 | 164 | 'can_export' => true, |
165 | 165 | '_builtin' => false, |
@@ -190,7 +190,7 @@ discard block |
||
190 | 190 | ), |
191 | 191 | 'has_archive' => false, |
192 | 192 | 'hierarchical' => false, |
193 | - 'supports' => array( 'title', 'excerpt' ), |
|
193 | + 'supports' => array('title', 'excerpt'), |
|
194 | 194 | 'register_meta_box_cb' => 'wpinv_register_discount_meta_boxes', |
195 | 195 | 'show_in_nav_menus' => false, |
196 | 196 | 'show_in_admin_bar' => true, |
@@ -198,106 +198,106 @@ discard block |
||
198 | 198 | 'menu_position' => null, |
199 | 199 | ); |
200 | 200 | |
201 | - $args = apply_filters( 'wpinv_register_post_type_discount', $args ); |
|
201 | + $args = apply_filters('wpinv_register_post_type_discount', $args); |
|
202 | 202 | |
203 | - register_post_type( 'wpi_discount', $args ); |
|
203 | + register_post_type('wpi_discount', $args); |
|
204 | 204 | } |
205 | 205 | |
206 | 206 | function wpinv_get_default_labels() { |
207 | 207 | $defaults = array( |
208 | - 'singular' => __( 'Invoice', 'invoicing' ), |
|
209 | - 'plural' => __( 'Invoices', 'invoicing' ) |
|
208 | + 'singular' => __('Invoice', 'invoicing'), |
|
209 | + 'plural' => __('Invoices', 'invoicing') |
|
210 | 210 | ); |
211 | 211 | |
212 | - return apply_filters( 'wpinv_default_invoices_name', $defaults ); |
|
212 | + return apply_filters('wpinv_default_invoices_name', $defaults); |
|
213 | 213 | } |
214 | 214 | |
215 | -function wpinv_get_label_singular( $lowercase = false ) { |
|
215 | +function wpinv_get_label_singular($lowercase = false) { |
|
216 | 216 | $defaults = wpinv_get_default_labels(); |
217 | 217 | |
218 | - return ($lowercase) ? strtolower( $defaults['singular'] ) : $defaults['singular']; |
|
218 | + return ($lowercase) ? strtolower($defaults['singular']) : $defaults['singular']; |
|
219 | 219 | } |
220 | 220 | |
221 | -function wpinv_get_label_plural( $lowercase = false ) { |
|
221 | +function wpinv_get_label_plural($lowercase = false) { |
|
222 | 222 | $defaults = wpinv_get_default_labels(); |
223 | 223 | |
224 | - return ( $lowercase ) ? strtolower( $defaults['plural'] ) : $defaults['plural']; |
|
224 | + return ($lowercase) ? strtolower($defaults['plural']) : $defaults['plural']; |
|
225 | 225 | } |
226 | 226 | |
227 | -function wpinv_change_default_title( $title ) { |
|
228 | - if ( !is_admin() ) { |
|
227 | +function wpinv_change_default_title($title) { |
|
228 | + if (!is_admin()) { |
|
229 | 229 | $label = wpinv_get_label_singular(); |
230 | - $title = sprintf( __( 'Enter %s name here', 'invoicing' ), $label ); |
|
230 | + $title = sprintf(__('Enter %s name here', 'invoicing'), $label); |
|
231 | 231 | return $title; |
232 | 232 | } |
233 | 233 | |
234 | 234 | $screen = get_current_screen(); |
235 | 235 | |
236 | - if ( 'wpi_invoice' == $screen->post_type ) { |
|
236 | + if ('wpi_invoice' == $screen->post_type) { |
|
237 | 237 | $label = wpinv_get_label_singular(); |
238 | - $title = sprintf( __( 'Enter %s name here', 'invoicing' ), $label ); |
|
238 | + $title = sprintf(__('Enter %s name here', 'invoicing'), $label); |
|
239 | 239 | } |
240 | 240 | |
241 | 241 | return $title; |
242 | 242 | } |
243 | -add_filter( 'enter_title_here', 'wpinv_change_default_title' ); |
|
243 | +add_filter('enter_title_here', 'wpinv_change_default_title'); |
|
244 | 244 | |
245 | 245 | function wpinv_register_post_status() { |
246 | - register_post_status( 'wpi-pending', array( |
|
247 | - 'label' => _x( 'Pending', 'Invoice status', 'invoicing' ), |
|
246 | + register_post_status('wpi-pending', array( |
|
247 | + 'label' => _x('Pending', 'Invoice status', 'invoicing'), |
|
248 | 248 | 'public' => true, |
249 | 249 | 'exclude_from_search' => true, |
250 | 250 | 'show_in_admin_all_list' => true, |
251 | 251 | 'show_in_admin_status_list' => true, |
252 | - 'label_count' => _n_noop( 'Pending <span class="count">(%s)</span>', 'Pending <span class="count">(%s)</span>', 'invoicing' ) |
|
253 | - ) ); |
|
254 | - register_post_status( 'wpi-processing', array( |
|
255 | - 'label' => _x( 'Processing', 'Invoice status', 'invoicing' ), |
|
252 | + 'label_count' => _n_noop('Pending <span class="count">(%s)</span>', 'Pending <span class="count">(%s)</span>', 'invoicing') |
|
253 | + )); |
|
254 | + register_post_status('wpi-processing', array( |
|
255 | + 'label' => _x('Processing', 'Invoice status', 'invoicing'), |
|
256 | 256 | 'public' => true, |
257 | 257 | 'exclude_from_search' => true, |
258 | 258 | 'show_in_admin_all_list' => true, |
259 | 259 | 'show_in_admin_status_list' => true, |
260 | - 'label_count' => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' ) |
|
261 | - ) ); |
|
262 | - register_post_status( 'wpi-onhold', array( |
|
263 | - 'label' => _x( 'On Hold', 'Invoice status', 'invoicing' ), |
|
260 | + 'label_count' => _n_noop('Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing') |
|
261 | + )); |
|
262 | + register_post_status('wpi-onhold', array( |
|
263 | + 'label' => _x('On Hold', 'Invoice status', 'invoicing'), |
|
264 | 264 | 'public' => true, |
265 | 265 | 'exclude_from_search' => true, |
266 | 266 | 'show_in_admin_all_list' => true, |
267 | 267 | 'show_in_admin_status_list' => true, |
268 | - 'label_count' => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' ) |
|
269 | - ) ); |
|
270 | - register_post_status( 'wpi-cancelled', array( |
|
271 | - 'label' => _x( 'Cancelled', 'Invoice status', 'invoicing' ), |
|
268 | + 'label_count' => _n_noop('On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing') |
|
269 | + )); |
|
270 | + register_post_status('wpi-cancelled', array( |
|
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 | - 'label_count' => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' ) |
|
277 | - ) ); |
|
278 | - register_post_status( 'wpi-refunded', array( |
|
279 | - 'label' => _x( 'Refunded', 'Invoice status', 'invoicing' ), |
|
276 | + 'label_count' => _n_noop('Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing') |
|
277 | + )); |
|
278 | + register_post_status('wpi-refunded', array( |
|
279 | + 'label' => _x('Refunded', 'Invoice status', 'invoicing'), |
|
280 | 280 | 'public' => true, |
281 | 281 | 'exclude_from_search' => true, |
282 | 282 | 'show_in_admin_all_list' => true, |
283 | 283 | 'show_in_admin_status_list' => true, |
284 | - 'label_count' => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' ) |
|
285 | - ) ); |
|
286 | - register_post_status( 'wpi-failed', array( |
|
287 | - 'label' => _x( 'Failed', 'Invoice status', 'invoicing' ), |
|
284 | + 'label_count' => _n_noop('Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing') |
|
285 | + )); |
|
286 | + register_post_status('wpi-failed', array( |
|
287 | + 'label' => _x('Failed', 'Invoice status', 'invoicing'), |
|
288 | 288 | 'public' => true, |
289 | 289 | 'exclude_from_search' => true, |
290 | 290 | 'show_in_admin_all_list' => true, |
291 | 291 | 'show_in_admin_status_list' => true, |
292 | - 'label_count' => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' ) |
|
293 | - ) ); |
|
294 | - register_post_status( 'wpi-renewal', array( |
|
295 | - 'label' => _x( 'Renewal', 'Invoice status', 'invoicing' ), |
|
292 | + 'label_count' => _n_noop('Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing') |
|
293 | + )); |
|
294 | + register_post_status('wpi-renewal', array( |
|
295 | + 'label' => _x('Renewal', 'Invoice status', 'invoicing'), |
|
296 | 296 | 'public' => true, |
297 | 297 | 'exclude_from_search' => true, |
298 | 298 | 'show_in_admin_all_list' => true, |
299 | 299 | 'show_in_admin_status_list' => true, |
300 | - 'label_count' => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' ) |
|
301 | - ) ); |
|
300 | + 'label_count' => _n_noop('Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing') |
|
301 | + )); |
|
302 | 302 | } |
303 | -add_action( 'init', 'wpinv_register_post_status', 10 ); |
|
303 | +add_action('init', 'wpinv_register_post_status', 10); |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | * Setup menus in WP admin. |
4 | 4 | */ |
5 | 5 | |
6 | -defined( 'ABSPATH' ) || exit; |
|
6 | +defined('ABSPATH') || exit; |
|
7 | 7 | |
8 | 8 | /** |
9 | 9 | * WC_Admin_Menus Class. |
@@ -13,40 +13,40 @@ discard block |
||
13 | 13 | * Hook in tabs. |
14 | 14 | */ |
15 | 15 | public function __construct() { |
16 | - add_action( 'admin_menu', array( $this, 'admin_menu' ), 10 ); |
|
17 | - add_action( 'admin_menu', array( $this, 'add_addons_menu' ), 99 ); |
|
18 | - add_action( 'admin_menu', array( $this, 'remove_admin_submenus' ), 10 ); |
|
19 | - add_action( 'admin_head-nav-menus.php', array( $this, 'add_nav_menu_meta_boxes' ) ); |
|
16 | + add_action('admin_menu', array($this, 'admin_menu'), 10); |
|
17 | + add_action('admin_menu', array($this, 'add_addons_menu'), 99); |
|
18 | + add_action('admin_menu', array($this, 'remove_admin_submenus'), 10); |
|
19 | + add_action('admin_head-nav-menus.php', array($this, 'add_nav_menu_meta_boxes')); |
|
20 | 20 | } |
21 | 21 | |
22 | 22 | public function admin_menu() { |
23 | 23 | global $menu, $submenu; |
24 | 24 | |
25 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
25 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
26 | 26 | return; |
27 | 27 | } |
28 | 28 | |
29 | - $capability = apply_filters( 'invoicing_capability', wpinv_get_capability() ); |
|
29 | + $capability = apply_filters('invoicing_capability', wpinv_get_capability()); |
|
30 | 30 | |
31 | - if ( wpinv_current_user_can_manage_invoicing() ) { |
|
32 | - $menu[] = array( '', 'read', 'separator-wpinv', '', 'wp-menu-separator wpinv' ); |
|
31 | + if (wpinv_current_user_can_manage_invoicing()) { |
|
32 | + $menu[] = array('', 'read', 'separator-wpinv', '', 'wp-menu-separator wpinv'); |
|
33 | 33 | |
34 | 34 | // Allow users with 'manage_invocing' capability to create new invoices |
35 | - $submenu['post-new.php?post_type=wpi_invoice'][] = array( '', '', 'post-new.php?post_type=wpi_invoice', '' ); |
|
36 | - $submenu['post-new.php?post_type=wpi_item'][] = array( '', '', 'post-new.php?post_type=wpi_item', '' ); |
|
37 | - $submenu['post-new.php?post_type=wpi_discount'][] = array( '', '', 'post-new.php?post_type=wpi_discount', '' ); |
|
35 | + $submenu['post-new.php?post_type=wpi_invoice'][] = array('', '', 'post-new.php?post_type=wpi_invoice', ''); |
|
36 | + $submenu['post-new.php?post_type=wpi_item'][] = array('', '', 'post-new.php?post_type=wpi_item', ''); |
|
37 | + $submenu['post-new.php?post_type=wpi_discount'][] = array('', '', 'post-new.php?post_type=wpi_discount', ''); |
|
38 | 38 | |
39 | 39 | } |
40 | 40 | |
41 | - $wpi_invoice = get_post_type_object( 'wpi_invoice' ); |
|
41 | + $wpi_invoice = get_post_type_object('wpi_invoice'); |
|
42 | 42 | |
43 | - add_menu_page( __( 'Invoicing', 'invoicing' ), __( 'Invoicing', 'invoicing' ), $capability, 'wpinv', null, $wpi_invoice->menu_icon, '54.123460' ); |
|
43 | + add_menu_page(__('Invoicing', 'invoicing'), __('Invoicing', 'invoicing'), $capability, 'wpinv', null, $wpi_invoice->menu_icon, '54.123460'); |
|
44 | 44 | |
45 | - add_submenu_page( 'wpinv', __( 'Invoice Settings', 'invoicing' ), __( 'Settings', 'invoicing' ), $capability, 'wpinv-settings', array( $this, 'options_page' )); |
|
45 | + add_submenu_page('wpinv', __('Invoice Settings', 'invoicing'), __('Settings', 'invoicing'), $capability, 'wpinv-settings', array($this, 'options_page')); |
|
46 | 46 | } |
47 | 47 | |
48 | - public function add_addons_menu(){ |
|
49 | - if ( !apply_filters( 'wpi_show_addons_page', true ) ) { |
|
48 | + public function add_addons_menu() { |
|
49 | + if (!apply_filters('wpi_show_addons_page', true)) { |
|
50 | 50 | return; |
51 | 51 | } |
52 | 52 | |
@@ -56,78 +56,78 @@ discard block |
||
56 | 56 | __('Extensions', 'invoicing'), |
57 | 57 | 'manage_options', |
58 | 58 | 'wpi-addons', |
59 | - array( $this, 'addons_page' ) |
|
59 | + array($this, 'addons_page') |
|
60 | 60 | ); |
61 | 61 | } |
62 | 62 | |
63 | - public function addons_page(){ |
|
63 | + public function addons_page() { |
|
64 | 64 | $addon_obj = new WPInv_Admin_Addons(); |
65 | 65 | $addon_obj->output(); |
66 | 66 | } |
67 | 67 | |
68 | 68 | function options_page() { |
69 | - $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : false; |
|
69 | + $page = isset($_GET['page']) ? strtolower($_GET['page']) : false; |
|
70 | 70 | |
71 | - if ( $page !== 'wpinv-settings' ) { |
|
71 | + if ($page !== 'wpinv-settings') { |
|
72 | 72 | return; |
73 | 73 | } |
74 | 74 | |
75 | 75 | $settings_tabs = wpinv_get_settings_tabs(); |
76 | 76 | $settings_tabs = empty($settings_tabs) ? array() : $settings_tabs; |
77 | - $active_tab = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $settings_tabs ) ? sanitize_text_field( $_GET['tab'] ) : 'general'; |
|
78 | - $sections = wpinv_get_settings_tab_sections( $active_tab ); |
|
77 | + $active_tab = isset($_GET['tab']) && array_key_exists($_GET['tab'], $settings_tabs) ? sanitize_text_field($_GET['tab']) : 'general'; |
|
78 | + $sections = wpinv_get_settings_tab_sections($active_tab); |
|
79 | 79 | $key = 'main'; |
80 | 80 | |
81 | - if ( is_array( $sections ) ) { |
|
82 | - $key = key( $sections ); |
|
81 | + if (is_array($sections)) { |
|
82 | + $key = key($sections); |
|
83 | 83 | } |
84 | 84 | |
85 | - $registered_sections = wpinv_get_settings_tab_sections( $active_tab ); |
|
86 | - $section = isset( $_GET['section'] ) && ! empty( $registered_sections ) && array_key_exists( $_GET['section'], $registered_sections ) ? $_GET['section'] : $key; |
|
85 | + $registered_sections = wpinv_get_settings_tab_sections($active_tab); |
|
86 | + $section = isset($_GET['section']) && !empty($registered_sections) && array_key_exists($_GET['section'], $registered_sections) ? $_GET['section'] : $key; |
|
87 | 87 | ob_start(); |
88 | 88 | ?> |
89 | 89 | <div class="wrap"> |
90 | 90 | <h1 class="nav-tab-wrapper"> |
91 | 91 | <?php |
92 | - foreach( wpinv_get_settings_tabs() as $tab_id => $tab_name ) { |
|
93 | - $tab_url = add_query_arg( array( |
|
92 | + foreach (wpinv_get_settings_tabs() as $tab_id => $tab_name) { |
|
93 | + $tab_url = add_query_arg(array( |
|
94 | 94 | 'settings-updated' => false, |
95 | 95 | 'tab' => $tab_id, |
96 | - ) ); |
|
96 | + )); |
|
97 | 97 | |
98 | 98 | // Remove the section from the tabs so we always end up at the main section |
99 | - $tab_url = remove_query_arg( 'section', $tab_url ); |
|
100 | - $tab_url = remove_query_arg( 'wpi_sub', $tab_url ); |
|
99 | + $tab_url = remove_query_arg('section', $tab_url); |
|
100 | + $tab_url = remove_query_arg('wpi_sub', $tab_url); |
|
101 | 101 | |
102 | 102 | $active = $active_tab == $tab_id ? ' nav-tab-active' : ''; |
103 | 103 | |
104 | - echo '<a href="' . esc_url( $tab_url ) . '" title="' . esc_attr( $tab_name ) . '" class="nav-tab' . $active . '">'; |
|
105 | - echo esc_html( $tab_name ); |
|
104 | + echo '<a href="' . esc_url($tab_url) . '" title="' . esc_attr($tab_name) . '" class="nav-tab' . $active . '">'; |
|
105 | + echo esc_html($tab_name); |
|
106 | 106 | echo '</a>'; |
107 | 107 | } |
108 | 108 | ?> |
109 | 109 | </h1> |
110 | 110 | <?php |
111 | - $number_of_sections = count( $sections ); |
|
111 | + $number_of_sections = count($sections); |
|
112 | 112 | $number = 0; |
113 | - if ( $number_of_sections > 1 ) { |
|
113 | + if ($number_of_sections > 1) { |
|
114 | 114 | echo '<div><ul class="subsubsub">'; |
115 | - foreach( $sections as $section_id => $section_name ) { |
|
115 | + foreach ($sections as $section_id => $section_name) { |
|
116 | 116 | echo '<li>'; |
117 | 117 | $number++; |
118 | - $tab_url = add_query_arg( array( |
|
118 | + $tab_url = add_query_arg(array( |
|
119 | 119 | 'settings-updated' => false, |
120 | 120 | 'tab' => $active_tab, |
121 | 121 | 'section' => $section_id |
122 | - ) ); |
|
123 | - $tab_url = remove_query_arg( 'wpi_sub', $tab_url ); |
|
122 | + )); |
|
123 | + $tab_url = remove_query_arg('wpi_sub', $tab_url); |
|
124 | 124 | $class = ''; |
125 | - if ( $section == $section_id ) { |
|
125 | + if ($section == $section_id) { |
|
126 | 126 | $class = 'current'; |
127 | 127 | } |
128 | - echo '<a class="' . $class . '" href="' . esc_url( $tab_url ) . '">' . $section_name . '</a>'; |
|
128 | + echo '<a class="' . $class . '" href="' . esc_url($tab_url) . '">' . $section_name . '</a>'; |
|
129 | 129 | |
130 | - if ( $number != $number_of_sections ) { |
|
130 | + if ($number != $number_of_sections) { |
|
131 | 131 | echo ' | '; |
132 | 132 | } |
133 | 133 | echo '</li>'; |
@@ -139,19 +139,19 @@ discard block |
||
139 | 139 | <form method="post" action="options.php"> |
140 | 140 | <table class="form-table"> |
141 | 141 | <?php |
142 | - settings_fields( 'wpinv_settings' ); |
|
142 | + settings_fields('wpinv_settings'); |
|
143 | 143 | |
144 | - if ( 'main' === $section ) { |
|
145 | - do_action( 'wpinv_settings_tab_top', $active_tab ); |
|
144 | + if ('main' === $section) { |
|
145 | + do_action('wpinv_settings_tab_top', $active_tab); |
|
146 | 146 | } |
147 | 147 | |
148 | - do_action( 'wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section ); |
|
149 | - do_settings_sections( 'wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section ); |
|
150 | - do_action( 'wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section ); |
|
148 | + do_action('wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section); |
|
149 | + do_settings_sections('wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section); |
|
150 | + do_action('wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section); |
|
151 | 151 | |
152 | 152 | // For backwards compatibility |
153 | - if ( 'main' === $section ) { |
|
154 | - do_action( 'wpinv_settings_tab_bottom', $active_tab ); |
|
153 | + if ('main' === $section) { |
|
154 | + do_action('wpinv_settings_tab_bottom', $active_tab); |
|
155 | 155 | } |
156 | 156 | ?> |
157 | 157 | </table> |
@@ -165,18 +165,18 @@ discard block |
||
165 | 165 | } |
166 | 166 | |
167 | 167 | public function remove_admin_submenus() { |
168 | - remove_submenu_page( 'edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice' ); |
|
168 | + remove_submenu_page('edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice'); |
|
169 | 169 | } |
170 | 170 | |
171 | - public function add_nav_menu_meta_boxes(){ |
|
172 | - add_meta_box( 'wpinv_endpoints_nav_link', __( 'Invoicing Pages', 'invoicing' ), array( $this, 'nav_menu_links' ), 'nav-menus', 'side', 'low' ); |
|
171 | + public function add_nav_menu_meta_boxes() { |
|
172 | + add_meta_box('wpinv_endpoints_nav_link', __('Invoicing Pages', 'invoicing'), array($this, 'nav_menu_links'), 'nav-menus', 'side', 'low'); |
|
173 | 173 | } |
174 | 174 | |
175 | - public function nav_menu_links(){ |
|
175 | + public function nav_menu_links() { |
|
176 | 176 | $endpoints = $this->get_menu_items(); |
177 | 177 | ?> |
178 | 178 | <div id="invoicing-endpoints" class="posttypediv"> |
179 | - <?php if(!empty($endpoints['pages'])){ ?> |
|
179 | + <?php if (!empty($endpoints['pages'])) { ?> |
|
180 | 180 | <div id="tabs-panel-invoicing-endpoints" class="tabs-panel tabs-panel-active"> |
181 | 181 | <ul id="invoicing-endpoints-checklist" class="categorychecklist form-no-clear"> |
182 | 182 | <?php |
@@ -188,29 +188,29 @@ discard block |
||
188 | 188 | <?php } ?> |
189 | 189 | <p class="button-controls"> |
190 | 190 | <span class="list-controls"> |
191 | - <a href="<?php echo admin_url( 'nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints' ); ?>" class="select-all"><?php _e( 'Select all', 'invoicing' ); ?></a> |
|
191 | + <a href="<?php echo admin_url('nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints'); ?>" class="select-all"><?php _e('Select all', 'invoicing'); ?></a> |
|
192 | 192 | </span> |
193 | 193 | <span class="add-to-menu"> |
194 | - <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to menu', 'invoicing' ); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints"> |
|
194 | + <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to menu', 'invoicing'); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints"> |
|
195 | 195 | <span class="spinner"></span> |
196 | 196 | </span> |
197 | 197 | </p> |
198 | 198 | <?php |
199 | 199 | } |
200 | 200 | |
201 | - public function get_menu_items(){ |
|
201 | + public function get_menu_items() { |
|
202 | 202 | $items = array(); |
203 | 203 | |
204 | - $wpinv_history_page_id = (int)wpinv_get_option( 'invoice_history_page' ); |
|
205 | - if($wpinv_history_page_id > 0){ |
|
204 | + $wpinv_history_page_id = (int) wpinv_get_option('invoice_history_page'); |
|
205 | + if ($wpinv_history_page_id > 0) { |
|
206 | 206 | $item = new stdClass(); |
207 | 207 | $item->object_id = $wpinv_history_page_id; |
208 | 208 | $item->db_id = 0; |
209 | - $item->object = 'page'; |
|
209 | + $item->object = 'page'; |
|
210 | 210 | $item->menu_item_parent = 0; |
211 | 211 | $item->type = 'post_type'; |
212 | - $item->title = __('Invoice History Page','invoicing'); |
|
213 | - $item->url = get_permalink( $wpinv_history_page_id ); |
|
212 | + $item->title = __('Invoice History Page', 'invoicing'); |
|
213 | + $item->url = get_permalink($wpinv_history_page_id); |
|
214 | 214 | $item->target = ''; |
215 | 215 | $item->attr_title = ''; |
216 | 216 | $item->classes = array('wpinv-menu-item'); |
@@ -219,16 +219,16 @@ discard block |
||
219 | 219 | $items['pages'][] = $item; |
220 | 220 | } |
221 | 221 | |
222 | - $wpinv_sub_history_page_id = (int)wpinv_get_option( 'invoice_subscription_page' ); |
|
223 | - if($wpinv_sub_history_page_id > 0){ |
|
222 | + $wpinv_sub_history_page_id = (int) wpinv_get_option('invoice_subscription_page'); |
|
223 | + if ($wpinv_sub_history_page_id > 0) { |
|
224 | 224 | $item = new stdClass(); |
225 | 225 | $item->object_id = $wpinv_sub_history_page_id; |
226 | 226 | $item->db_id = 0; |
227 | - $item->object = 'page'; |
|
227 | + $item->object = 'page'; |
|
228 | 228 | $item->menu_item_parent = 0; |
229 | 229 | $item->type = 'post_type'; |
230 | - $item->title = __('Invoice Subscriptions Page','invoicing'); |
|
231 | - $item->url = get_permalink( $wpinv_sub_history_page_id ); |
|
230 | + $item->title = __('Invoice Subscriptions Page', 'invoicing'); |
|
231 | + $item->url = get_permalink($wpinv_sub_history_page_id); |
|
232 | 232 | $item->target = ''; |
233 | 233 | $item->attr_title = ''; |
234 | 234 | $item->classes = array('wpinv-menu-item'); |
@@ -237,16 +237,16 @@ discard block |
||
237 | 237 | $items['pages'][] = $item; |
238 | 238 | } |
239 | 239 | |
240 | - $wpinv_checkout_page_id = (int)wpinv_get_option( 'checkout_page' ); |
|
241 | - if($wpinv_checkout_page_id > 0){ |
|
240 | + $wpinv_checkout_page_id = (int) wpinv_get_option('checkout_page'); |
|
241 | + if ($wpinv_checkout_page_id > 0) { |
|
242 | 242 | $item = new stdClass(); |
243 | 243 | $item->object_id = $wpinv_checkout_page_id; |
244 | 244 | $item->db_id = 0; |
245 | - $item->object = 'page'; |
|
245 | + $item->object = 'page'; |
|
246 | 246 | $item->menu_item_parent = 0; |
247 | 247 | $item->type = 'post_type'; |
248 | - $item->title = __('Checkout Page','invoicing'); |
|
249 | - $item->url = get_permalink( $wpinv_checkout_page_id ); |
|
248 | + $item->title = __('Checkout Page', 'invoicing'); |
|
249 | + $item->url = get_permalink($wpinv_checkout_page_id); |
|
250 | 250 | $item->target = ''; |
251 | 251 | $item->attr_title = ''; |
252 | 252 | $item->classes = array('wpinv-menu-item'); |
@@ -255,16 +255,16 @@ discard block |
||
255 | 255 | $items['pages'][] = $item; |
256 | 256 | } |
257 | 257 | |
258 | - $wpinv_tandc_page_id = (int)wpinv_get_option( 'tandc_page' ); |
|
259 | - if($wpinv_tandc_page_id > 0){ |
|
258 | + $wpinv_tandc_page_id = (int) wpinv_get_option('tandc_page'); |
|
259 | + if ($wpinv_tandc_page_id > 0) { |
|
260 | 260 | $item = new stdClass(); |
261 | 261 | $item->object_id = $wpinv_tandc_page_id; |
262 | 262 | $item->db_id = 0; |
263 | - $item->object = 'page'; |
|
263 | + $item->object = 'page'; |
|
264 | 264 | $item->menu_item_parent = 0; |
265 | 265 | $item->type = 'post_type'; |
266 | - $item->title = __('Terms & Conditions','invoicing'); |
|
267 | - $item->url = get_permalink( $wpinv_tandc_page_id ); |
|
266 | + $item->title = __('Terms & Conditions', 'invoicing'); |
|
267 | + $item->url = get_permalink($wpinv_tandc_page_id); |
|
268 | 268 | $item->target = ''; |
269 | 269 | $item->attr_title = ''; |
270 | 270 | $item->classes = array('wpinv-menu-item'); |
@@ -273,16 +273,16 @@ discard block |
||
273 | 273 | $items['pages'][] = $item; |
274 | 274 | } |
275 | 275 | |
276 | - $wpinv_success_page_id = (int)wpinv_get_option( 'success_page' ); |
|
277 | - if($wpinv_success_page_id > 0){ |
|
276 | + $wpinv_success_page_id = (int) wpinv_get_option('success_page'); |
|
277 | + if ($wpinv_success_page_id > 0) { |
|
278 | 278 | $item = new stdClass(); |
279 | 279 | $item->object_id = $wpinv_success_page_id; |
280 | 280 | $item->db_id = 0; |
281 | - $item->object = 'page'; |
|
281 | + $item->object = 'page'; |
|
282 | 282 | $item->menu_item_parent = 0; |
283 | 283 | $item->type = 'post_type'; |
284 | - $item->title = __('Success Page','invoicing'); |
|
285 | - $item->url = get_permalink( $wpinv_success_page_id ); |
|
284 | + $item->title = __('Success Page', 'invoicing'); |
|
285 | + $item->url = get_permalink($wpinv_success_page_id); |
|
286 | 286 | $item->target = ''; |
287 | 287 | $item->attr_title = ''; |
288 | 288 | $item->classes = array('wpinv-menu-item'); |
@@ -291,16 +291,16 @@ discard block |
||
291 | 291 | $items['pages'][] = $item; |
292 | 292 | } |
293 | 293 | |
294 | - $wpinv_failure_page_id = (int)wpinv_get_option( 'failure_page' ); |
|
295 | - if($wpinv_failure_page_id > 0){ |
|
294 | + $wpinv_failure_page_id = (int) wpinv_get_option('failure_page'); |
|
295 | + if ($wpinv_failure_page_id > 0) { |
|
296 | 296 | $item = new stdClass(); |
297 | 297 | $item->object_id = $wpinv_failure_page_id; |
298 | 298 | $item->db_id = 0; |
299 | - $item->object = 'page'; |
|
299 | + $item->object = 'page'; |
|
300 | 300 | $item->menu_item_parent = 0; |
301 | 301 | $item->type = 'post_type'; |
302 | - $item->title = __('Failed Transaction Page','invoicing'); |
|
303 | - $item->url = get_permalink( $wpinv_failure_page_id ); |
|
302 | + $item->title = __('Failed Transaction Page', 'invoicing'); |
|
303 | + $item->url = get_permalink($wpinv_failure_page_id); |
|
304 | 304 | $item->target = ''; |
305 | 305 | $item->attr_title = ''; |
306 | 306 | $item->classes = array('wpinv-menu-item'); |
@@ -309,7 +309,7 @@ discard block |
||
309 | 309 | $items['pages'][] = $item; |
310 | 310 | } |
311 | 311 | |
312 | - return apply_filters( 'wpinv_menu_items', $items ); |
|
312 | + return apply_filters('wpinv_menu_items', $items); |
|
313 | 313 | } |
314 | 314 | |
315 | 315 | } |
@@ -1,11 +1,11 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // Exit if accessed directly. |
3 | -if (!defined( 'ABSPATH' ) ) exit; |
|
3 | +if (!defined('ABSPATH')) exit; |
|
4 | 4 | |
5 | 5 | function wpinv_subscription_init() { |
6 | 6 | return WPInv_Subscriptions::instance(); |
7 | 7 | } |
8 | -add_action( 'plugins_loaded', 'wpinv_subscription_init', 100 ); |
|
8 | +add_action('plugins_loaded', 'wpinv_subscription_init', 100); |
|
9 | 9 | |
10 | 10 | /** |
11 | 11 | * WPInv_Subscriptions Class. |
@@ -20,7 +20,7 @@ discard block |
||
20 | 20 | * Main WPInv_Subscriptions Instance |
21 | 21 | */ |
22 | 22 | public static function instance() { |
23 | - if ( ! isset( self::$instance ) ) { |
|
23 | + if (!isset(self::$instance)) { |
|
24 | 24 | self::$instance = new WPInv_Subscriptions; |
25 | 25 | |
26 | 26 | self::$instance->init(); |
@@ -34,7 +34,7 @@ discard block |
||
34 | 34 | * |
35 | 35 | * @since 1.0.0 |
36 | 36 | */ |
37 | - private function __construct(){ |
|
37 | + private function __construct() { |
|
38 | 38 | |
39 | 39 | } |
40 | 40 | |
@@ -63,8 +63,8 @@ discard block |
||
63 | 63 | private function setup_constants() { |
64 | 64 | |
65 | 65 | // Make sure CAL_GREGORIAN is defined. |
66 | - if ( ! defined( 'CAL_GREGORIAN' ) ) { |
|
67 | - define( 'CAL_GREGORIAN', 1 ); |
|
66 | + if (!defined('CAL_GREGORIAN')) { |
|
67 | + define('CAL_GREGORIAN', 1); |
|
68 | 68 | } |
69 | 69 | } |
70 | 70 | |
@@ -76,13 +76,13 @@ discard block |
||
76 | 76 | */ |
77 | 77 | private function actions() { |
78 | 78 | |
79 | - add_action( 'admin_menu', array( $this, 'wpinv_subscriptions_list' ), 10 ); |
|
80 | - add_action( 'admin_notices', array( $this, 'notices' ) ); |
|
81 | - add_action( 'init', array( $this, 'wpinv_post_actions' ) ); |
|
82 | - add_action( 'init', array( $this, 'wpinv_get_actions' ) ); |
|
83 | - add_action( 'wpinv_cancel_subscription', array( $this, 'wpinv_process_cancellation' ) ); |
|
84 | - add_action( 'wpinv_checkout_before_send_to_gateway', array( $this, 'wpinv_checkout_add_subscription' ), -999, 2 ); |
|
85 | - add_action( 'wpinv_subscriptions_front_notices', array( $this, 'notices' ) ); |
|
79 | + add_action('admin_menu', array($this, 'wpinv_subscriptions_list'), 10); |
|
80 | + add_action('admin_notices', array($this, 'notices')); |
|
81 | + add_action('init', array($this, 'wpinv_post_actions')); |
|
82 | + add_action('init', array($this, 'wpinv_get_actions')); |
|
83 | + add_action('wpinv_cancel_subscription', array($this, 'wpinv_process_cancellation')); |
|
84 | + add_action('wpinv_checkout_before_send_to_gateway', array($this, 'wpinv_checkout_add_subscription'), -999, 2); |
|
85 | + add_action('wpinv_subscriptions_front_notices', array($this, 'notices')); |
|
86 | 86 | } |
87 | 87 | |
88 | 88 | /** |
@@ -104,8 +104,8 @@ discard block |
||
104 | 104 | public function wpinv_subscriptions_list() { |
105 | 105 | add_submenu_page( |
106 | 106 | 'wpinv', |
107 | - __( 'Subscriptions', 'invoicing' ), |
|
108 | - __( 'Subscriptions', 'invoicing' ), |
|
107 | + __('Subscriptions', 'invoicing'), |
|
108 | + __('Subscriptions', 'invoicing'), |
|
109 | 109 | wpinv_get_capability(), |
110 | 110 | 'wpinv-subscriptions', |
111 | 111 | 'wpinv_subscriptions_page' |
@@ -114,37 +114,37 @@ discard block |
||
114 | 114 | |
115 | 115 | public function notices() { |
116 | 116 | |
117 | - if( empty( $_GET['wpinv-message'] ) ) { |
|
117 | + if (empty($_GET['wpinv-message'])) { |
|
118 | 118 | return; |
119 | 119 | } |
120 | 120 | |
121 | 121 | $type = 'updated'; |
122 | 122 | $message = ''; |
123 | 123 | |
124 | - switch( strtolower( $_GET['wpinv-message'] ) ) { |
|
124 | + switch (strtolower($_GET['wpinv-message'])) { |
|
125 | 125 | |
126 | 126 | case 'updated' : |
127 | 127 | |
128 | - $message = __( 'Subscription updated successfully.', 'invoicing' ); |
|
128 | + $message = __('Subscription updated successfully.', 'invoicing'); |
|
129 | 129 | |
130 | 130 | break; |
131 | 131 | |
132 | 132 | case 'deleted' : |
133 | 133 | |
134 | - $message = __( 'Subscription deleted successfully.', 'invoicing' ); |
|
134 | + $message = __('Subscription deleted successfully.', 'invoicing'); |
|
135 | 135 | |
136 | 136 | break; |
137 | 137 | |
138 | 138 | case 'cancelled' : |
139 | 139 | |
140 | - $message = __( 'Subscription cancelled successfully.', 'invoicing' ); |
|
140 | + $message = __('Subscription cancelled successfully.', 'invoicing'); |
|
141 | 141 | |
142 | 142 | break; |
143 | 143 | |
144 | 144 | } |
145 | 145 | |
146 | - if ( ! empty( $message ) ) { |
|
147 | - echo '<div class="' . esc_attr( $type ) . '"><p>' . $message . '</p></div>'; |
|
146 | + if (!empty($message)) { |
|
147 | + echo '<div class="' . esc_attr($type) . '"><p>' . $message . '</p></div>'; |
|
148 | 148 | } |
149 | 149 | |
150 | 150 | } |
@@ -157,8 +157,8 @@ discard block |
||
157 | 157 | * @return void |
158 | 158 | */ |
159 | 159 | function wpinv_get_actions() { |
160 | - if ( isset( $_GET['wpinv_action'] ) ) { |
|
161 | - do_action( 'wpinv_' . $_GET['wpinv_action'], $_GET ); |
|
160 | + if (isset($_GET['wpinv_action'])) { |
|
161 | + do_action('wpinv_' . $_GET['wpinv_action'], $_GET); |
|
162 | 162 | } |
163 | 163 | } |
164 | 164 | |
@@ -170,8 +170,8 @@ discard block |
||
170 | 170 | * @return void |
171 | 171 | */ |
172 | 172 | function wpinv_post_actions() { |
173 | - if ( isset( $_POST['wpinv_action'] ) ) { |
|
174 | - do_action( 'wpinv_' . $_POST['wpinv_action'], $_POST ); |
|
173 | + if (isset($_POST['wpinv_action'])) { |
|
174 | + do_action('wpinv_' . $_POST['wpinv_action'], $_POST); |
|
175 | 175 | } |
176 | 176 | } |
177 | 177 | |
@@ -182,24 +182,24 @@ discard block |
||
182 | 182 | * @param int $frequency_count The frequency of the period. |
183 | 183 | * @return mixed|string|void |
184 | 184 | */ |
185 | - public static function wpinv_get_pretty_subscription_frequency( $period, $frequency_count = 1) { |
|
185 | + public static function wpinv_get_pretty_subscription_frequency($period, $frequency_count = 1) { |
|
186 | 186 | $frequency = ''; |
187 | 187 | //Format period details |
188 | - switch ( $period ) { |
|
188 | + switch ($period) { |
|
189 | 189 | case 'day' : |
190 | - $frequency = sprintf( _n('%d Day', '%d Days', $frequency_count, 'invoicing'), $frequency_count); |
|
190 | + $frequency = sprintf(_n('%d Day', '%d Days', $frequency_count, 'invoicing'), $frequency_count); |
|
191 | 191 | break; |
192 | 192 | case 'week' : |
193 | - $frequency = sprintf( _n('%d Week', '%d Weeks', $frequency_count, 'invoicing'), $frequency_count); |
|
193 | + $frequency = sprintf(_n('%d Week', '%d Weeks', $frequency_count, 'invoicing'), $frequency_count); |
|
194 | 194 | break; |
195 | 195 | case 'month' : |
196 | - $frequency = sprintf( _n('%d Month', '%d Months', $frequency_count, 'invoicing'), $frequency_count); |
|
196 | + $frequency = sprintf(_n('%d Month', '%d Months', $frequency_count, 'invoicing'), $frequency_count); |
|
197 | 197 | break; |
198 | 198 | case 'year' : |
199 | - $frequency = sprintf( _n('%d Year', '%d Years', $frequency_count, 'invoicing'), $frequency_count); |
|
199 | + $frequency = sprintf(_n('%d Year', '%d Years', $frequency_count, 'invoicing'), $frequency_count); |
|
200 | 200 | break; |
201 | 201 | default : |
202 | - $frequency = apply_filters( 'wpinv_recurring_subscription_frequency', $frequency, $period, $frequency_count ); |
|
202 | + $frequency = apply_filters('wpinv_recurring_subscription_frequency', $frequency, $period, $frequency_count); |
|
203 | 203 | break; |
204 | 204 | } |
205 | 205 | |
@@ -214,50 +214,50 @@ discard block |
||
214 | 214 | * @since 1.0.0 |
215 | 215 | * @return void |
216 | 216 | */ |
217 | - public function wpinv_process_cancellation( $data ) { |
|
217 | + public function wpinv_process_cancellation($data) { |
|
218 | 218 | |
219 | 219 | |
220 | - if( empty( $data['sub_id'] ) ) { |
|
220 | + if (empty($data['sub_id'])) { |
|
221 | 221 | return; |
222 | 222 | } |
223 | 223 | |
224 | - if( ! is_user_logged_in() ) { |
|
224 | + if (!is_user_logged_in()) { |
|
225 | 225 | return; |
226 | 226 | } |
227 | 227 | |
228 | - if( ! wp_verify_nonce( $data['_wpnonce'], 'wpinv-recurring-cancel' ) ) { |
|
229 | - wp_die( __( 'Error', 'invoicing' ), __( 'Nonce verification failed', 'invoicing' ), array( 'response' => 403 ) ); |
|
228 | + if (!wp_verify_nonce($data['_wpnonce'], 'wpinv-recurring-cancel')) { |
|
229 | + wp_die(__('Error', 'invoicing'), __('Nonce verification failed', 'invoicing'), array('response' => 403)); |
|
230 | 230 | } |
231 | 231 | |
232 | - $data['sub_id'] = absint( $data['sub_id'] ); |
|
233 | - $subscription = new WPInv_Subscription( $data['sub_id'] ); |
|
232 | + $data['sub_id'] = absint($data['sub_id']); |
|
233 | + $subscription = new WPInv_Subscription($data['sub_id']); |
|
234 | 234 | |
235 | - if( ! $subscription->can_cancel() ) { |
|
236 | - wp_die( __( 'Error', 'invoicing' ), __( 'This subscription cannot be cancelled', 'invoicing' ), array( 'response' => 403 ) ); |
|
235 | + if (!$subscription->can_cancel()) { |
|
236 | + wp_die(__('Error', 'invoicing'), __('This subscription cannot be cancelled', 'invoicing'), array('response' => 403)); |
|
237 | 237 | } |
238 | 238 | |
239 | 239 | try { |
240 | 240 | |
241 | - do_action( 'wpinv_recurring_cancel_' . $subscription->gateway . '_subscription', $subscription, true ); |
|
241 | + do_action('wpinv_recurring_cancel_' . $subscription->gateway . '_subscription', $subscription, true); |
|
242 | 242 | |
243 | 243 | $subscription->cancel(); |
244 | 244 | |
245 | - if( is_admin() ) { |
|
245 | + if (is_admin()) { |
|
246 | 246 | |
247 | - wp_redirect( admin_url( 'admin.php?page=wpinv-subscriptions&wpinv-message=cancelled&id=' . $subscription->id ) ); |
|
247 | + wp_redirect(admin_url('admin.php?page=wpinv-subscriptions&wpinv-message=cancelled&id=' . $subscription->id)); |
|
248 | 248 | exit; |
249 | 249 | |
250 | 250 | } else { |
251 | 251 | |
252 | - $redirect = remove_query_arg( array( '_wpnonce', 'wpinv_action', 'sub_id' ), add_query_arg( array( 'wpinv-message' => 'cancelled' ) ) ); |
|
253 | - $redirect = apply_filters( 'wpinv_recurring_cancellation_redirect', $redirect, $subscription ); |
|
254 | - wp_safe_redirect( $redirect ); |
|
252 | + $redirect = remove_query_arg(array('_wpnonce', 'wpinv_action', 'sub_id'), add_query_arg(array('wpinv-message' => 'cancelled'))); |
|
253 | + $redirect = apply_filters('wpinv_recurring_cancellation_redirect', $redirect, $subscription); |
|
254 | + wp_safe_redirect($redirect); |
|
255 | 255 | exit; |
256 | 256 | |
257 | 257 | } |
258 | 258 | |
259 | - } catch ( Exception $e ) { |
|
260 | - wp_die( __( 'Error', 'invoicing' ), $e->getMessage(), array( 'response' => 403 ) ); |
|
259 | + } catch (Exception $e) { |
|
260 | + wp_die(__('Error', 'invoicing'), $e->getMessage(), array('response' => 403)); |
|
261 | 261 | } |
262 | 262 | |
263 | 263 | } |
@@ -269,35 +269,35 @@ discard block |
||
269 | 269 | * @since 1.0.0 |
270 | 270 | * @return void |
271 | 271 | */ |
272 | - public function wpinv_checkout_add_subscription( $invoice, $invoice_data ) { |
|
273 | - if ( ! ( ! empty( $invoice->ID ) && $invoice->is_recurring() ) ) { |
|
272 | + public function wpinv_checkout_add_subscription($invoice, $invoice_data) { |
|
273 | + if (!(!empty($invoice->ID) && $invoice->is_recurring())) { |
|
274 | 274 | return; |
275 | 275 | } |
276 | 276 | |
277 | - $item = $invoice->get_recurring( true ); |
|
278 | - if ( empty( $item ) ) { |
|
277 | + $item = $invoice->get_recurring(true); |
|
278 | + if (empty($item)) { |
|
279 | 279 | return; |
280 | 280 | } |
281 | 281 | |
282 | - $invoice_date = $invoice->get_invoice_date( false ); |
|
282 | + $invoice_date = $invoice->get_invoice_date(false); |
|
283 | 283 | $status = 'pending'; |
284 | 284 | |
285 | - $period = $item->get_recurring_period( true ); |
|
285 | + $period = $item->get_recurring_period(true); |
|
286 | 286 | $interval = $item->get_recurring_interval(); |
287 | - $bill_times = (int)$item->get_recurring_limit(); |
|
287 | + $bill_times = (int) $item->get_recurring_limit(); |
|
288 | 288 | $add_period = $interval . ' ' . $period; |
289 | 289 | $trial_period = ''; |
290 | 290 | |
291 | - if ( $invoice->is_free_trial() ) { |
|
291 | + if ($invoice->is_free_trial()) { |
|
292 | 292 | $status = 'trialling'; |
293 | - $trial_period = $item->get_trial_period( true ); |
|
293 | + $trial_period = $item->get_trial_period(true); |
|
294 | 294 | $free_interval = $item->get_trial_interval(); |
295 | 295 | $trial_period = $free_interval . ' ' . $trial_period; |
296 | 296 | |
297 | 297 | $add_period = $trial_period; |
298 | 298 | } |
299 | 299 | |
300 | - $expiration = date_i18n( 'Y-m-d H:i:s', strtotime( '+' . $add_period . ' 23:59:59', strtotime( $invoice_date ) ) ); |
|
300 | + $expiration = date_i18n('Y-m-d H:i:s', strtotime('+' . $add_period . ' 23:59:59', strtotime($invoice_date))); |
|
301 | 301 | |
302 | 302 | $args = array( |
303 | 303 | 'product_id' => $item->ID, |
@@ -307,7 +307,7 @@ discard block |
||
307 | 307 | 'frequency' => $interval, |
308 | 308 | 'period' => $period, |
309 | 309 | 'initial_amount' => $invoice->get_total(), |
310 | - 'recurring_amount' => $invoice->get_recurring_details( 'total' ), |
|
310 | + 'recurring_amount' => $invoice->get_recurring_details('total'), |
|
311 | 311 | 'bill_times' => $bill_times, |
312 | 312 | 'created' => $invoice_date, |
313 | 313 | 'expiration' => $expiration, |
@@ -316,11 +316,11 @@ discard block |
||
316 | 316 | 'transaction_id' => '', |
317 | 317 | ); |
318 | 318 | |
319 | - $subscription = wpinv_get_subscription( $invoice ); |
|
319 | + $subscription = wpinv_get_subscription($invoice); |
|
320 | 320 | |
321 | - if ( empty( $subscription ) ) { |
|
321 | + if (empty($subscription)) { |
|
322 | 322 | $subscription = new WPInv_Subscription(); |
323 | - $subscription->create( $args ); |
|
323 | + $subscription->create($args); |
|
324 | 324 | } |
325 | 325 | |
326 | 326 | return $subscription; |
@@ -7,15 +7,15 @@ discard block |
||
7 | 7 | */ |
8 | 8 | |
9 | 9 | // MUST have WordPress. |
10 | -if ( !defined( 'WPINC' ) ) { |
|
11 | - exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) ); |
|
10 | +if (!defined('WPINC')) { |
|
11 | + exit('Do NOT access this file directly: ' . basename(__FILE__)); |
|
12 | 12 | } |
13 | 13 | |
14 | 14 | |
15 | 15 | function wpinv_get_default_country() { |
16 | - $country = wpinv_get_option( 'default_country', 'UK' ); |
|
16 | + $country = wpinv_get_option('default_country', 'UK'); |
|
17 | 17 | |
18 | - return apply_filters( 'wpinv_default_country', $country ); |
|
18 | + return apply_filters('wpinv_default_country', $country); |
|
19 | 19 | } |
20 | 20 | |
21 | 21 | /** |
@@ -24,66 +24,66 @@ discard block |
||
24 | 24 | * @param string $country The country code to sanitize |
25 | 25 | * @return array |
26 | 26 | */ |
27 | -function wpinv_sanitize_country( $country ) { |
|
27 | +function wpinv_sanitize_country($country) { |
|
28 | 28 | |
29 | 29 | // Enure the country is specified |
30 | - if ( empty( $country ) ) { |
|
30 | + if (empty($country)) { |
|
31 | 31 | $country = wpinv_get_default_country(); |
32 | 32 | } |
33 | - return trim( wpinv_utf8_strtoupper( $country ) ); |
|
33 | + return trim(wpinv_utf8_strtoupper($country)); |
|
34 | 34 | |
35 | 35 | } |
36 | 36 | |
37 | -function wpinv_is_base_country( $country ) { |
|
37 | +function wpinv_is_base_country($country) { |
|
38 | 38 | $base_country = wpinv_get_default_country(); |
39 | 39 | |
40 | - if ( $base_country === 'UK' ) { |
|
40 | + if ($base_country === 'UK') { |
|
41 | 41 | $base_country = 'GB'; |
42 | 42 | } |
43 | - if ( $country == 'UK' ) { |
|
43 | + if ($country == 'UK') { |
|
44 | 44 | $country = 'GB'; |
45 | 45 | } |
46 | 46 | |
47 | - return ( $country && $country === $base_country ) ? true : false; |
|
47 | + return ($country && $country === $base_country) ? true : false; |
|
48 | 48 | } |
49 | 49 | |
50 | -function wpinv_country_name( $country_code = '' ) { |
|
50 | +function wpinv_country_name($country_code = '') { |
|
51 | 51 | $countries = wpinv_get_country_list(); |
52 | 52 | $country_code = $country_code == 'UK' ? 'GB' : $country_code; |
53 | - $country = isset( $countries[$country_code] ) ? $countries[$country_code] : $country_code; |
|
53 | + $country = isset($countries[$country_code]) ? $countries[$country_code] : $country_code; |
|
54 | 54 | |
55 | - return apply_filters( 'wpinv_country_name', $country, $country_code ); |
|
55 | + return apply_filters('wpinv_country_name', $country, $country_code); |
|
56 | 56 | } |
57 | 57 | |
58 | 58 | function wpinv_get_default_state() { |
59 | - $state = wpinv_get_option( 'default_state', false ); |
|
59 | + $state = wpinv_get_option('default_state', false); |
|
60 | 60 | |
61 | - return apply_filters( 'wpinv_default_state', $state ); |
|
61 | + return apply_filters('wpinv_default_state', $state); |
|
62 | 62 | } |
63 | 63 | |
64 | -function wpinv_state_name( $state_code = '', $country_code = '' ) { |
|
64 | +function wpinv_state_name($state_code = '', $country_code = '') { |
|
65 | 65 | $state = $state_code; |
66 | 66 | |
67 | - if ( !empty( $country_code ) ) { |
|
68 | - $states = wpinv_get_country_states( $country_code ); |
|
67 | + if (!empty($country_code)) { |
|
68 | + $states = wpinv_get_country_states($country_code); |
|
69 | 69 | |
70 | - $state = !empty( $states ) && isset( $states[$state_code] ) ? $states[$state_code] : $state; |
|
70 | + $state = !empty($states) && isset($states[$state_code]) ? $states[$state_code] : $state; |
|
71 | 71 | } |
72 | 72 | |
73 | - return apply_filters( 'wpinv_state_name', $state, $state_code, $country_code ); |
|
73 | + return apply_filters('wpinv_state_name', $state, $state_code, $country_code); |
|
74 | 74 | } |
75 | 75 | |
76 | 76 | function wpinv_store_address() { |
77 | - $address = wpinv_get_option( 'store_address', '' ); |
|
77 | + $address = wpinv_get_option('store_address', ''); |
|
78 | 78 | |
79 | - return apply_filters( 'wpinv_store_address', $address ); |
|
79 | + return apply_filters('wpinv_store_address', $address); |
|
80 | 80 | } |
81 | 81 | |
82 | -function wpinv_get_user_address( $user_id = 0, $with_default = true ) { |
|
82 | +function wpinv_get_user_address($user_id = 0, $with_default = true) { |
|
83 | 83 | global $wpi_userID; |
84 | 84 | |
85 | - if( empty( $user_id ) ) { |
|
86 | - $user_id = !empty( $wpi_userID ) ? $wpi_userID : get_current_user_id(); |
|
85 | + if (empty($user_id)) { |
|
86 | + $user_id = !empty($wpi_userID) ? $wpi_userID : get_current_user_id(); |
|
87 | 87 | } |
88 | 88 | |
89 | 89 | $address_fields = array( |
@@ -101,29 +101,29 @@ discard block |
||
101 | 101 | 'zip', |
102 | 102 | ); |
103 | 103 | |
104 | - $user_info = get_userdata( $user_id ); |
|
104 | + $user_info = get_userdata($user_id); |
|
105 | 105 | |
106 | 106 | $address = array(); |
107 | 107 | $address['user_id'] = $user_id; |
108 | - $address['email'] = !empty( $user_info ) ? $user_info->user_email : ''; |
|
109 | - foreach ( $address_fields as $field ) { |
|
110 | - $address[$field] = get_user_meta( $user_id, '_wpinv_' . $field, true ); |
|
108 | + $address['email'] = !empty($user_info) ? $user_info->user_email : ''; |
|
109 | + foreach ($address_fields as $field) { |
|
110 | + $address[$field] = get_user_meta($user_id, '_wpinv_' . $field, true); |
|
111 | 111 | } |
112 | 112 | |
113 | - if ( !empty( $user_info ) ) { |
|
114 | - if( empty( $address['first_name'] ) ) |
|
113 | + if (!empty($user_info)) { |
|
114 | + if (empty($address['first_name'])) |
|
115 | 115 | $address['first_name'] = $user_info->first_name; |
116 | 116 | |
117 | - if( empty( $address['last_name'] ) ) |
|
117 | + if (empty($address['last_name'])) |
|
118 | 118 | $address['last_name'] = $user_info->last_name; |
119 | 119 | } |
120 | 120 | |
121 | - $address['name'] = trim( trim( $address['first_name'] . ' ' . $address['last_name'] ), "," ); |
|
121 | + $address['name'] = trim(trim($address['first_name'] . ' ' . $address['last_name']), ","); |
|
122 | 122 | |
123 | - if( empty( $address['state'] ) && $with_default ) |
|
123 | + if (empty($address['state']) && $with_default) |
|
124 | 124 | $address['state'] = wpinv_get_default_state(); |
125 | 125 | |
126 | - if( empty( $address['country'] ) && $with_default ) |
|
126 | + if (empty($address['country']) && $with_default) |
|
127 | 127 | $address['country'] = wpinv_get_default_country(); |
128 | 128 | |
129 | 129 | |
@@ -137,16 +137,16 @@ discard block |
||
137 | 137 | * @param string $return What to return. |
138 | 138 | * @return array |
139 | 139 | */ |
140 | -function wpinv_get_continents( $return = 'all' ) { |
|
140 | +function wpinv_get_continents($return = 'all') { |
|
141 | 141 | |
142 | - $continents = wpinv_get_data( 'continents' ); |
|
142 | + $continents = wpinv_get_data('continents'); |
|
143 | 143 | |
144 | - switch( $return ) { |
|
144 | + switch ($return) { |
|
145 | 145 | case 'name' : |
146 | - return wp_list_pluck( $continents, 'name' ); |
|
146 | + return wp_list_pluck($continents, 'name'); |
|
147 | 147 | break; |
148 | 148 | case 'countries' : |
149 | - return wp_list_pluck( $continents, 'countries' ); |
|
149 | + return wp_list_pluck($continents, 'countries'); |
|
150 | 150 | break; |
151 | 151 | default : |
152 | 152 | return $continents; |
@@ -162,12 +162,12 @@ discard block |
||
162 | 162 | * @param string $country Country code. If no code is specified, defaults to the default country. |
163 | 163 | * @return string |
164 | 164 | */ |
165 | -function wpinv_get_continent_code_for_country( $country = false ) { |
|
165 | +function wpinv_get_continent_code_for_country($country = false) { |
|
166 | 166 | |
167 | - $country = wpinv_sanitize_country( $country ); |
|
167 | + $country = wpinv_sanitize_country($country); |
|
168 | 168 | |
169 | - foreach ( wpinv_get_continents( 'countries' ) as $continent_code => $countries ) { |
|
170 | - if ( false !== array_search( $country, $countries, true ) ) { |
|
169 | + foreach (wpinv_get_continents('countries') as $continent_code => $countries) { |
|
170 | + if (false !== array_search($country, $countries, true)) { |
|
171 | 171 | return $continent_code; |
172 | 172 | } |
173 | 173 | } |
@@ -183,13 +183,13 @@ discard block |
||
183 | 183 | * @param string $country Country code. If no code is specified, defaults to the default country. |
184 | 184 | * @return array |
185 | 185 | */ |
186 | -function wpinv_get_country_calling_code( $country = null) { |
|
186 | +function wpinv_get_country_calling_code($country = null) { |
|
187 | 187 | |
188 | - $country = wpinv_sanitize_country( $country ); |
|
189 | - $codes = wpinv_get_data( 'phone-codes' ); |
|
190 | - $code = isset( $codes[ $country ] ) ? $codes[ $country ] : ''; |
|
188 | + $country = wpinv_sanitize_country($country); |
|
189 | + $codes = wpinv_get_data('phone-codes'); |
|
190 | + $code = isset($codes[$country]) ? $codes[$country] : ''; |
|
191 | 191 | |
192 | - if ( is_array( $code ) ) { |
|
192 | + if (is_array($code)) { |
|
193 | 193 | return $code[0]; |
194 | 194 | } |
195 | 195 | return $code; |
@@ -202,8 +202,8 @@ discard block |
||
202 | 202 | * @param bool $first_empty Whether or not the first item in the list should be empty |
203 | 203 | * @return array |
204 | 204 | */ |
205 | -function wpinv_get_country_list( $first_empty = false ) { |
|
206 | - return wpinv_maybe_add_empty_option( apply_filters( 'wpinv_countries', wpinv_get_data( 'countries' ) ), $first_empty ); |
|
205 | +function wpinv_get_country_list($first_empty = false) { |
|
206 | + return wpinv_maybe_add_empty_option(apply_filters('wpinv_countries', wpinv_get_data('countries')), $first_empty); |
|
207 | 207 | } |
208 | 208 | |
209 | 209 | /** |
@@ -213,22 +213,22 @@ discard block |
||
213 | 213 | * @param bool $first_empty Whether or not the first item in the list should be empty |
214 | 214 | * @return array |
215 | 215 | */ |
216 | -function wpinv_get_country_states( $country = null, $first_empty = false ) { |
|
216 | +function wpinv_get_country_states($country = null, $first_empty = false) { |
|
217 | 217 | |
218 | 218 | // Prepare the country. |
219 | - $country = wpinv_sanitize_country( $country ); |
|
219 | + $country = wpinv_sanitize_country($country); |
|
220 | 220 | |
221 | 221 | // Fetch all states. |
222 | - $all_states = wpinv_get_data( 'states' ); |
|
222 | + $all_states = wpinv_get_data('states'); |
|
223 | 223 | |
224 | 224 | // Fetch the specified country's states. |
225 | - $states = isset( $all_states[ $country ] ) ? $all_states[ $country ] : array() ; |
|
226 | - $states = apply_filters( "wpinv_{$country}_states", $states ); |
|
227 | - $states = apply_filters( 'wpinv_country_states', $states, $country ); |
|
225 | + $states = isset($all_states[$country]) ? $all_states[$country] : array(); |
|
226 | + $states = apply_filters("wpinv_{$country}_states", $states); |
|
227 | + $states = apply_filters('wpinv_country_states', $states, $country); |
|
228 | 228 | |
229 | - asort( $states ); |
|
229 | + asort($states); |
|
230 | 230 | |
231 | - return wpinv_maybe_add_empty_option( $states, $first_empty ); |
|
231 | + return wpinv_maybe_add_empty_option($states, $first_empty); |
|
232 | 232 | } |
233 | 233 | |
234 | 234 | /** |
@@ -238,7 +238,7 @@ discard block |
||
238 | 238 | * @return array |
239 | 239 | */ |
240 | 240 | function wpinv_get_us_states_list() { |
241 | - return apply_filters( 'wpinv_usa_states', wpinv_get_country_states( 'US' ) ); |
|
241 | + return apply_filters('wpinv_usa_states', wpinv_get_country_states('US')); |
|
242 | 242 | } |
243 | 243 | |
244 | 244 | /** |
@@ -248,7 +248,7 @@ discard block |
||
248 | 248 | * @return array |
249 | 249 | */ |
250 | 250 | function wpinv_get_canada_states_list() { |
251 | - return apply_filters( 'wpinv_canada_provinces', wpinv_get_country_states( 'CA' ) ); |
|
251 | + return apply_filters('wpinv_canada_provinces', wpinv_get_country_states('CA')); |
|
252 | 252 | } |
253 | 253 | |
254 | 254 | /** |
@@ -258,7 +258,7 @@ discard block |
||
258 | 258 | * @return array |
259 | 259 | */ |
260 | 260 | function wpinv_get_australia_states_list() { |
261 | - return apply_filters( 'wpinv_australia_states', wpinv_get_country_states( 'AU' ) ); |
|
261 | + return apply_filters('wpinv_australia_states', wpinv_get_country_states('AU')); |
|
262 | 262 | } |
263 | 263 | |
264 | 264 | /** |
@@ -268,7 +268,7 @@ discard block |
||
268 | 268 | * @return array |
269 | 269 | */ |
270 | 270 | function wpinv_get_bangladesh_states_list() { |
271 | - return apply_filters( 'wpinv_bangladesh_states', wpinv_get_country_states( 'BD' ) ); |
|
271 | + return apply_filters('wpinv_bangladesh_states', wpinv_get_country_states('BD')); |
|
272 | 272 | } |
273 | 273 | |
274 | 274 | /** |
@@ -278,7 +278,7 @@ discard block |
||
278 | 278 | * @return array |
279 | 279 | */ |
280 | 280 | function wpinv_get_brazil_states_list() { |
281 | - return apply_filters( 'wpinv_brazil_states', wpinv_get_country_states( 'BR' ) ); |
|
281 | + return apply_filters('wpinv_brazil_states', wpinv_get_country_states('BR')); |
|
282 | 282 | } |
283 | 283 | |
284 | 284 | /** |
@@ -288,7 +288,7 @@ discard block |
||
288 | 288 | * @return array |
289 | 289 | */ |
290 | 290 | function wpinv_get_bulgaria_states_list() { |
291 | - return apply_filters( 'wpinv_bulgaria_states', wpinv_get_country_states( 'BG' ) ); |
|
291 | + return apply_filters('wpinv_bulgaria_states', wpinv_get_country_states('BG')); |
|
292 | 292 | } |
293 | 293 | |
294 | 294 | /** |
@@ -298,7 +298,7 @@ discard block |
||
298 | 298 | * @return array |
299 | 299 | */ |
300 | 300 | function wpinv_get_hong_kong_states_list() { |
301 | - return apply_filters( 'wpinv_hong_kong_states', wpinv_get_country_states( 'HK' ) ); |
|
301 | + return apply_filters('wpinv_hong_kong_states', wpinv_get_country_states('HK')); |
|
302 | 302 | } |
303 | 303 | |
304 | 304 | /** |
@@ -308,7 +308,7 @@ discard block |
||
308 | 308 | * @return array |
309 | 309 | */ |
310 | 310 | function wpinv_get_hungary_states_list() { |
311 | - return apply_filters( 'wpinv_hungary_states', wpinv_get_country_states( 'HU' ) ); |
|
311 | + return apply_filters('wpinv_hungary_states', wpinv_get_country_states('HU')); |
|
312 | 312 | } |
313 | 313 | |
314 | 314 | /** |
@@ -318,7 +318,7 @@ discard block |
||
318 | 318 | * @return array |
319 | 319 | */ |
320 | 320 | function wpinv_get_japan_states_list() { |
321 | - return apply_filters( 'wpinv_japan_states', wpinv_get_country_states( 'JP' ) ); |
|
321 | + return apply_filters('wpinv_japan_states', wpinv_get_country_states('JP')); |
|
322 | 322 | } |
323 | 323 | |
324 | 324 | /** |
@@ -328,7 +328,7 @@ discard block |
||
328 | 328 | * @return array |
329 | 329 | */ |
330 | 330 | function wpinv_get_china_states_list() { |
331 | - return apply_filters( 'wpinv_china_states', wpinv_get_country_states( 'CN' ) ); |
|
331 | + return apply_filters('wpinv_china_states', wpinv_get_country_states('CN')); |
|
332 | 332 | } |
333 | 333 | |
334 | 334 | /** |
@@ -338,7 +338,7 @@ discard block |
||
338 | 338 | * @return array |
339 | 339 | */ |
340 | 340 | function wpinv_get_new_zealand_states_list() { |
341 | - return apply_filters( 'wpinv_new_zealand_states', wpinv_get_country_states( 'NZ' ) ); |
|
341 | + return apply_filters('wpinv_new_zealand_states', wpinv_get_country_states('NZ')); |
|
342 | 342 | } |
343 | 343 | |
344 | 344 | /** |
@@ -348,7 +348,7 @@ discard block |
||
348 | 348 | * @return array |
349 | 349 | */ |
350 | 350 | function wpinv_get_peru_states_list() { |
351 | - return apply_filters( 'wpinv_peru_states', wpinv_get_country_states( 'PE' ) ); |
|
351 | + return apply_filters('wpinv_peru_states', wpinv_get_country_states('PE')); |
|
352 | 352 | } |
353 | 353 | |
354 | 354 | /** |
@@ -358,7 +358,7 @@ discard block |
||
358 | 358 | * @return array |
359 | 359 | */ |
360 | 360 | function wpinv_get_indonesia_states_list() { |
361 | - return apply_filters( 'wpinv_indonesia_states', wpinv_get_country_states( 'ID' ) ); |
|
361 | + return apply_filters('wpinv_indonesia_states', wpinv_get_country_states('ID')); |
|
362 | 362 | } |
363 | 363 | |
364 | 364 | /** |
@@ -368,7 +368,7 @@ discard block |
||
368 | 368 | * @return array |
369 | 369 | */ |
370 | 370 | function wpinv_get_india_states_list() { |
371 | - return apply_filters( 'wpinv_india_states', wpinv_get_country_states( 'IN' ) ); |
|
371 | + return apply_filters('wpinv_india_states', wpinv_get_country_states('IN')); |
|
372 | 372 | } |
373 | 373 | |
374 | 374 | /** |
@@ -378,7 +378,7 @@ discard block |
||
378 | 378 | * @return array |
379 | 379 | */ |
380 | 380 | function wpinv_get_iran_states_list() { |
381 | - return apply_filters( 'wpinv_iran_states', wpinv_get_country_states( 'IR' ) ); |
|
381 | + return apply_filters('wpinv_iran_states', wpinv_get_country_states('IR')); |
|
382 | 382 | } |
383 | 383 | |
384 | 384 | /** |
@@ -388,7 +388,7 @@ discard block |
||
388 | 388 | * @return array |
389 | 389 | */ |
390 | 390 | function wpinv_get_italy_states_list() { |
391 | - return apply_filters( 'wpinv_italy_states', wpinv_get_country_states( 'IT' ) ); |
|
391 | + return apply_filters('wpinv_italy_states', wpinv_get_country_states('IT')); |
|
392 | 392 | } |
393 | 393 | |
394 | 394 | /** |
@@ -398,7 +398,7 @@ discard block |
||
398 | 398 | * @return array |
399 | 399 | */ |
400 | 400 | function wpinv_get_malaysia_states_list() { |
401 | - return apply_filters( 'wpinv_malaysia_states', wpinv_get_country_states( 'MY' ) ); |
|
401 | + return apply_filters('wpinv_malaysia_states', wpinv_get_country_states('MY')); |
|
402 | 402 | } |
403 | 403 | |
404 | 404 | /** |
@@ -408,7 +408,7 @@ discard block |
||
408 | 408 | * @return array |
409 | 409 | */ |
410 | 410 | function wpinv_get_mexico_states_list() { |
411 | - return apply_filters( 'wpinv_mexico_states', wpinv_get_country_states( 'MX' ) ); |
|
411 | + return apply_filters('wpinv_mexico_states', wpinv_get_country_states('MX')); |
|
412 | 412 | } |
413 | 413 | |
414 | 414 | /** |
@@ -418,7 +418,7 @@ discard block |
||
418 | 418 | * @return array |
419 | 419 | */ |
420 | 420 | function wpinv_get_nepal_states_list() { |
421 | - return apply_filters( 'wpinv_nepal_states', wpinv_get_country_states( 'NP' ) ); |
|
421 | + return apply_filters('wpinv_nepal_states', wpinv_get_country_states('NP')); |
|
422 | 422 | } |
423 | 423 | |
424 | 424 | /** |
@@ -428,7 +428,7 @@ discard block |
||
428 | 428 | * @return array |
429 | 429 | */ |
430 | 430 | function wpinv_get_south_africa_states_list() { |
431 | - return apply_filters( 'wpinv_south_africa_states', wpinv_get_country_states( 'ZA' ) ); |
|
431 | + return apply_filters('wpinv_south_africa_states', wpinv_get_country_states('ZA')); |
|
432 | 432 | } |
433 | 433 | |
434 | 434 | /** |
@@ -438,7 +438,7 @@ discard block |
||
438 | 438 | * @return array |
439 | 439 | */ |
440 | 440 | function wpinv_get_thailand_states_list() { |
441 | - return apply_filters( 'wpinv_thailand_states', wpinv_get_country_states( 'TH' ) ); |
|
441 | + return apply_filters('wpinv_thailand_states', wpinv_get_country_states('TH')); |
|
442 | 442 | } |
443 | 443 | |
444 | 444 | /** |
@@ -448,7 +448,7 @@ discard block |
||
448 | 448 | * @return array |
449 | 449 | */ |
450 | 450 | function wpinv_get_turkey_states_list() { |
451 | - return apply_filters( 'wpinv_turkey_states', wpinv_get_country_states( 'TR' ) ); |
|
451 | + return apply_filters('wpinv_turkey_states', wpinv_get_country_states('TR')); |
|
452 | 452 | } |
453 | 453 | |
454 | 454 | /** |
@@ -458,28 +458,28 @@ discard block |
||
458 | 458 | * @return array |
459 | 459 | */ |
460 | 460 | function wpinv_get_spain_states_list() { |
461 | - return apply_filters( 'wpinv_spain_states', wpinv_get_country_states( 'ES' ) ); |
|
461 | + return apply_filters('wpinv_spain_states', wpinv_get_country_states('ES')); |
|
462 | 462 | } |
463 | 463 | |
464 | 464 | function wpinv_get_states_field() { |
465 | - if( empty( $_POST['country'] ) ) { |
|
465 | + if (empty($_POST['country'])) { |
|
466 | 466 | $_POST['country'] = wpinv_get_default_country(); |
467 | 467 | } |
468 | - $states = wpinv_get_country_states( sanitize_text_field( $_POST['country'] ) ); |
|
468 | + $states = wpinv_get_country_states(sanitize_text_field($_POST['country'])); |
|
469 | 469 | |
470 | - if( !empty( $states ) ) { |
|
471 | - $sanitized_field_name = sanitize_text_field( $_POST['field_name'] ); |
|
470 | + if (!empty($states)) { |
|
471 | + $sanitized_field_name = sanitize_text_field($_POST['field_name']); |
|
472 | 472 | |
473 | 473 | $args = array( |
474 | 474 | 'name' => $sanitized_field_name, |
475 | 475 | 'id' => $sanitized_field_name, |
476 | 476 | 'class' => $sanitized_field_name . ' wpinv-select wpi_select2', |
477 | - 'options' => array_merge( array( '' => '' ), $states ), |
|
477 | + 'options' => array_merge(array('' => ''), $states), |
|
478 | 478 | 'show_option_all' => false, |
479 | 479 | 'show_option_none' => false |
480 | 480 | ); |
481 | 481 | |
482 | - $response = wpinv_html_select( $args ); |
|
482 | + $response = wpinv_html_select($args); |
|
483 | 483 | |
484 | 484 | } else { |
485 | 485 | $response = 'nostates'; |
@@ -488,10 +488,10 @@ discard block |
||
488 | 488 | return $response; |
489 | 489 | } |
490 | 490 | |
491 | -function wpinv_default_billing_country( $country = '', $user_id = 0 ) { |
|
492 | - $country = !empty( $country ) ? $country : wpinv_get_default_country(); |
|
491 | +function wpinv_default_billing_country($country = '', $user_id = 0) { |
|
492 | + $country = !empty($country) ? $country : wpinv_get_default_country(); |
|
493 | 493 | |
494 | - return apply_filters( 'wpinv_default_billing_country', $country, $user_id ); |
|
494 | + return apply_filters('wpinv_default_billing_country', $country, $user_id); |
|
495 | 495 | } |
496 | 496 | |
497 | 497 | /** |
@@ -503,7 +503,7 @@ discard block |
||
503 | 503 | */ |
504 | 504 | function wpinv_get_address_formats() { |
505 | 505 | |
506 | - return apply_filters( 'wpinv_localisation_address_formats', |
|
506 | + return apply_filters('wpinv_localisation_address_formats', |
|
507 | 507 | array( |
508 | 508 | 'default' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}\n{{zip}}\n{{country}}", |
509 | 509 | 'AU' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}} {{zip}}\n{{country}}", |
@@ -552,9 +552,9 @@ discard block |
||
552 | 552 | * @see `wpinv_get_invoice_address_replacements` |
553 | 553 | * @return string |
554 | 554 | */ |
555 | -function wpinv_get_full_address_format( $country = false) { |
|
555 | +function wpinv_get_full_address_format($country = false) { |
|
556 | 556 | |
557 | - if( empty( $country ) ) { |
|
557 | + if (empty($country)) { |
|
558 | 558 | $country = wpinv_get_default_country(); |
559 | 559 | } |
560 | 560 | |
@@ -562,7 +562,7 @@ discard block |
||
562 | 562 | $formats = wpinv_get_address_formats(); |
563 | 563 | |
564 | 564 | // Get format for the specified country. |
565 | - $format = ( $country && isset( $formats[ $country ] ) ) ? $formats[ $country ] : $formats['default']; |
|
565 | + $format = ($country && isset($formats[$country])) ? $formats[$country] : $formats['default']; |
|
566 | 566 | |
567 | 567 | /** |
568 | 568 | * Filters the address format to use on Invoices. |
@@ -574,7 +574,7 @@ discard block |
||
574 | 574 | * @param string $format The address format to use. |
575 | 575 | * @param string $country The country who's address format is being retrieved. |
576 | 576 | */ |
577 | - return apply_filters( 'wpinv_get_full_address_format', $format, $country ); |
|
577 | + return apply_filters('wpinv_get_full_address_format', $format, $country); |
|
578 | 578 | } |
579 | 579 | |
580 | 580 | /** |
@@ -585,7 +585,7 @@ discard block |
||
585 | 585 | * @param array $billing_details customer's billing details |
586 | 586 | * @return array |
587 | 587 | */ |
588 | -function wpinv_get_invoice_address_replacements( $billing_details ) { |
|
588 | +function wpinv_get_invoice_address_replacements($billing_details) { |
|
589 | 589 | |
590 | 590 | $default_args = array( |
591 | 591 | 'address' => '', |
@@ -598,22 +598,22 @@ discard block |
||
598 | 598 | 'company' => '', |
599 | 599 | ); |
600 | 600 | |
601 | - $args = array_map( 'trim', wp_parse_args( $billing_details, $default_args ) ); |
|
601 | + $args = array_map('trim', wp_parse_args($billing_details, $default_args)); |
|
602 | 602 | $state = $args['state']; |
603 | 603 | $country = $args['country']; |
604 | 604 | |
605 | 605 | // Handle full country name. |
606 | - $full_country = empty( $country ) ? $country : wpinv_country_name( $country ); |
|
606 | + $full_country = empty($country) ? $country : wpinv_country_name($country); |
|
607 | 607 | |
608 | 608 | // Handle full state name. |
609 | - $full_state = ( $country && $state ) ? wpinv_state_name( $state, $country ) : $state; |
|
609 | + $full_state = ($country && $state) ? wpinv_state_name($state, $country) : $state; |
|
610 | 610 | |
611 | 611 | $args['postcode'] = $args['zip']; |
612 | 612 | $args['name'] = $args['first_name'] . ' ' . $args['last_name']; |
613 | 613 | $args['state'] = $full_state; |
614 | 614 | $args['state_code'] = $state; |
615 | 615 | $args['country'] = $full_country; |
616 | - $args['country_code']= $country; |
|
616 | + $args['country_code'] = $country; |
|
617 | 617 | |
618 | 618 | /** |
619 | 619 | * Filters the address format replacements to use on Invoices. |
@@ -624,14 +624,14 @@ discard block |
||
624 | 624 | * @param array $replacements The address replacements to use. |
625 | 625 | * @param array $billing_details The billing details to use. |
626 | 626 | */ |
627 | - $replacements = apply_filters( 'wpinv_get_invoice_address_replacements', $args, $billing_details ); |
|
627 | + $replacements = apply_filters('wpinv_get_invoice_address_replacements', $args, $billing_details); |
|
628 | 628 | |
629 | 629 | $return = array(); |
630 | 630 | |
631 | - foreach( $replacements as $key => $value ) { |
|
632 | - $value = is_scalar( $value ) ? trim( sanitize_text_field( $value ) ) : ''; |
|
631 | + foreach ($replacements as $key => $value) { |
|
632 | + $value = is_scalar($value) ? trim(sanitize_text_field($value)) : ''; |
|
633 | 633 | $return['{{' . $key . '}}'] = $value; |
634 | - $return['{{' . $key . '_upper}}'] = wpinv_utf8_strtoupper( $value ); |
|
634 | + $return['{{' . $key . '_upper}}'] = wpinv_utf8_strtoupper($value); |
|
635 | 635 | } |
636 | 636 | |
637 | 637 | return $return; |
@@ -645,6 +645,6 @@ discard block |
||
645 | 645 | * @since 1.0.14 |
646 | 646 | * @return string |
647 | 647 | */ |
648 | -function wpinv_trim_formatted_address_line( $line ) { |
|
649 | - return trim( $line, ', ' ); |
|
648 | +function wpinv_trim_formatted_address_line($line) { |
|
649 | + return trim($line, ', '); |
|
650 | 650 | } |
651 | 651 | \ No newline at end of file |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if (!defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -23,40 +23,40 @@ discard block |
||
23 | 23 | 'block-keywords'=> "['invoicing','buy', 'buy item']", |
24 | 24 | 'class_name' => __CLASS__, |
25 | 25 | 'base_id' => 'wpinv_buy', |
26 | - 'name' => __('Invoicing > Buy Item Button','invoicing'), |
|
26 | + 'name' => __('Invoicing > Buy Item Button', 'invoicing'), |
|
27 | 27 | 'widget_ops' => array( |
28 | 28 | 'classname' => 'wpinv-buy-item-class wpi-g', |
29 | - 'description' => esc_html__('Displays buy invoicing item button.','invoicing'), |
|
29 | + 'description' => esc_html__('Displays buy invoicing item button.', 'invoicing'), |
|
30 | 30 | ), |
31 | 31 | 'arguments' => array( |
32 | 32 | 'title' => array( |
33 | - 'title' => __( 'Widget title', 'invoicing' ), |
|
34 | - 'desc' => __( 'Enter widget title.', 'invoicing' ), |
|
33 | + 'title' => __('Widget title', 'invoicing'), |
|
34 | + 'desc' => __('Enter widget title.', 'invoicing'), |
|
35 | 35 | 'type' => 'text', |
36 | 36 | 'desc_tip' => true, |
37 | 37 | 'default' => '', |
38 | 38 | 'advanced' => false |
39 | 39 | ), |
40 | 40 | 'items' => array( |
41 | - 'title' => __( 'Items to buy', 'invoicing' ), |
|
42 | - 'desc' => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing' ), |
|
41 | + 'title' => __('Items to buy', 'invoicing'), |
|
42 | + 'desc' => __('Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing'), |
|
43 | 43 | 'type' => 'text', |
44 | 44 | 'desc_tip' => true, |
45 | 45 | 'default' => '', |
46 | - 'placeholder' => __('Items to buy','invoicing'), |
|
46 | + 'placeholder' => __('Items to buy', 'invoicing'), |
|
47 | 47 | 'advanced' => false |
48 | 48 | ), |
49 | 49 | 'label' => array( |
50 | - 'title' => __( 'Button Label', 'invoicing' ), |
|
51 | - 'desc' => __( 'Enter button label. Default "Buy Now".', 'invoicing' ), |
|
50 | + 'title' => __('Button Label', 'invoicing'), |
|
51 | + 'desc' => __('Enter button label. Default "Buy Now".', 'invoicing'), |
|
52 | 52 | 'type' => 'text', |
53 | 53 | 'desc_tip' => true, |
54 | - 'default' => __( 'Buy Now', 'invoicing' ), |
|
54 | + 'default' => __('Buy Now', 'invoicing'), |
|
55 | 55 | 'advanced' => false |
56 | 56 | ), |
57 | 57 | 'post_id' => array( |
58 | - 'title' => __( 'Post ID', 'invoicing' ), |
|
59 | - 'desc' => __( 'Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing' ), |
|
58 | + 'title' => __('Post ID', 'invoicing'), |
|
59 | + 'desc' => __('Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing'), |
|
60 | 60 | 'type' => 'number', |
61 | 61 | 'desc_tip' => true, |
62 | 62 | 'default' => '', |
@@ -67,7 +67,7 @@ discard block |
||
67 | 67 | ); |
68 | 68 | |
69 | 69 | |
70 | - parent::__construct( $options ); |
|
70 | + parent::__construct($options); |
|
71 | 71 | } |
72 | 72 | |
73 | 73 | /** |
@@ -79,31 +79,31 @@ discard block |
||
79 | 79 | * |
80 | 80 | * @return string |
81 | 81 | */ |
82 | - public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
82 | + public function output($args = array(), $widget_args = array(), $content = '') { |
|
83 | 83 | |
84 | 84 | $defaults = array( |
85 | 85 | 'items' => '', // should be used like: item_id|quantity,item_id|quantity,item_id|quantity |
86 | - 'label' => __( 'Buy Now', 'invoicing' ), // the button title |
|
86 | + 'label' => __('Buy Now', 'invoicing'), // the button title |
|
87 | 87 | 'post_id' => '', // any related post_id |
88 | 88 | ); |
89 | 89 | |
90 | 90 | /** |
91 | 91 | * Parse incoming $args into an array and merge it with $defaults |
92 | 92 | */ |
93 | - $args = wp_parse_args( $args, $defaults ); |
|
93 | + $args = wp_parse_args($args, $defaults); |
|
94 | 94 | |
95 | 95 | $html = '<div class="wpi-buy-button-wrapper wpi-g">'; |
96 | 96 | |
97 | - if ( empty( $args['items'] ) ) { |
|
98 | - $html .= __( 'No items selected', 'invoicing' ); |
|
97 | + if (empty($args['items'])) { |
|
98 | + $html .= __('No items selected', 'invoicing'); |
|
99 | 99 | } else { |
100 | - $post_id = isset( $args['post_id'] ) && is_numeric( $args['post_id'] ) ? sanitize_text_field( $args['post_id'] ) : 0; |
|
101 | - $label = isset( $args['label'] ) ? sanitize_text_field( $args['label'] ) : __( 'Buy Now', 'invoicing' ); |
|
102 | - $items = esc_attr( $args['items'] ); |
|
100 | + $post_id = isset($args['post_id']) && is_numeric($args['post_id']) ? sanitize_text_field($args['post_id']) : 0; |
|
101 | + $label = isset($args['label']) ? sanitize_text_field($args['label']) : __('Buy Now', 'invoicing'); |
|
102 | + $items = esc_attr($args['items']); |
|
103 | 103 | $html .= "<button class='button button-primary wpi-buy-button' type='button' onclick=\"wpi_buy(this, '$items','$post_id');\">$label</button>"; |
104 | 104 | } |
105 | 105 | |
106 | - $html .= wp_nonce_field( 'wpinv_buy_items', 'wpinv_buy_nonce', true, false ); |
|
106 | + $html .= wp_nonce_field('wpinv_buy_items', 'wpinv_buy_nonce', true, false); |
|
107 | 107 | $html .= '</div>'; |
108 | 108 | |
109 | 109 | return $html; |
@@ -1,13 +1,13 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // Exit if accessed directly |
3 | -if ( ! defined( 'ABSPATH' ) ) exit; |
|
3 | +if (!defined('ABSPATH')) exit; |
|
4 | 4 | |
5 | -add_action( 'wpinv_paypal_cc_form', '__return_false' ); |
|
6 | -add_filter( 'wpinv_paypal_support_subscription', '__return_true' ); |
|
5 | +add_action('wpinv_paypal_cc_form', '__return_false'); |
|
6 | +add_filter('wpinv_paypal_support_subscription', '__return_true'); |
|
7 | 7 | |
8 | -function wpinv_process_paypal_payment( $purchase_data ) { |
|
9 | - if( ! wp_verify_nonce( $purchase_data['gateway_nonce'], 'wpi-gateway' ) ) { |
|
10 | - wp_die( __( 'Nonce verification has failed', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
8 | +function wpinv_process_paypal_payment($purchase_data) { |
|
9 | + if (!wp_verify_nonce($purchase_data['gateway_nonce'], 'wpi-gateway')) { |
|
10 | + wp_die(__('Nonce verification has failed', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
11 | 11 | } |
12 | 12 | |
13 | 13 | // Collect payment data |
@@ -25,30 +25,30 @@ discard block |
||
25 | 25 | ); |
26 | 26 | |
27 | 27 | // Record the pending payment |
28 | - $invoice = wpinv_get_invoice( $purchase_data['invoice_id'] ); |
|
28 | + $invoice = wpinv_get_invoice($purchase_data['invoice_id']); |
|
29 | 29 | |
30 | 30 | // Check payment |
31 | - if ( ! $invoice ) { |
|
31 | + if (!$invoice) { |
|
32 | 32 | // Record the error |
33 | - wpinv_record_gateway_error( __( 'Payment Error', 'invoicing' ), sprintf( __( 'Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing' ), json_encode( $payment_data ) ), $invoice ); |
|
33 | + wpinv_record_gateway_error(__('Payment Error', 'invoicing'), sprintf(__('Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing'), json_encode($payment_data)), $invoice); |
|
34 | 34 | // Problems? send back |
35 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
35 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
36 | 36 | } else { |
37 | 37 | // Only send to PayPal if the pending payment is created successfully |
38 | - $listener_url = wpinv_get_ipn_url( 'paypal' ); |
|
38 | + $listener_url = wpinv_get_ipn_url('paypal'); |
|
39 | 39 | |
40 | 40 | // Get the success url |
41 | - $return_url = add_query_arg( array( |
|
41 | + $return_url = add_query_arg(array( |
|
42 | 42 | 'payment-confirm' => 'paypal', |
43 | 43 | 'invoice-id' => $invoice->ID |
44 | - ), get_permalink( wpinv_get_option( 'success_page', false ) ) ); |
|
44 | + ), get_permalink(wpinv_get_option('success_page', false))); |
|
45 | 45 | |
46 | 46 | // Get the PayPal redirect uri |
47 | - $paypal_redirect = trailingslashit( wpinv_get_paypal_redirect() ) . '?'; |
|
47 | + $paypal_redirect = trailingslashit(wpinv_get_paypal_redirect()) . '?'; |
|
48 | 48 | |
49 | 49 | // Setup PayPal arguments |
50 | 50 | $paypal_args = array( |
51 | - 'business' => wpinv_get_option( 'paypal_email', false ), |
|
51 | + 'business' => wpinv_get_option('paypal_email', false), |
|
52 | 52 | 'email' => $invoice->get_email(), |
53 | 53 | 'first_name' => $invoice->get_first_name(), |
54 | 54 | 'last_name' => $invoice->get_last_name(), |
@@ -57,16 +57,16 @@ discard block |
||
57 | 57 | 'shipping' => '0', |
58 | 58 | 'no_note' => '1', |
59 | 59 | 'currency_code' => wpinv_get_currency(), |
60 | - 'charset' => get_bloginfo( 'charset' ), |
|
60 | + 'charset' => get_bloginfo('charset'), |
|
61 | 61 | 'custom' => $invoice->ID, |
62 | 62 | 'rm' => '2', |
63 | 63 | 'return' => $return_url, |
64 | 64 | 'cancel_return' => $invoice->get_checkout_payment_url(), |
65 | 65 | 'notify_url' => $listener_url, |
66 | - 'cbt' => get_bloginfo( 'name' ), |
|
66 | + 'cbt' => get_bloginfo('name'), |
|
67 | 67 | 'bn' => 'WPInvoicing_SP', |
68 | 68 | 'lc' => 'US', // this will force paypal site to english |
69 | - 'landing_page' => apply_filters( 'wpinv_paypal_standard_landing_page', 'billing', $invoice ), // 'login' or 'billing'. login - PayPal account login, billing - Non-PayPal account. |
|
69 | + 'landing_page' => apply_filters('wpinv_paypal_standard_landing_page', 'billing', $invoice), // 'login' or 'billing'. login - PayPal account login, billing - Non-PayPal account. |
|
70 | 70 | ); |
71 | 71 | |
72 | 72 | $paypal_args['address1'] = $invoice->get_address(); |
@@ -80,83 +80,83 @@ discard block |
||
80 | 80 | 'upload' => '1' |
81 | 81 | ); |
82 | 82 | |
83 | - $paypal_args = array_merge( $paypal_extra_args, $paypal_args ); |
|
83 | + $paypal_args = array_merge($paypal_extra_args, $paypal_args); |
|
84 | 84 | |
85 | 85 | // Add cart items |
86 | 86 | $i = 1; |
87 | - if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) { |
|
88 | - foreach ( $purchase_data['cart_details'] as $item ) { |
|
87 | + if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) { |
|
88 | + foreach ($purchase_data['cart_details'] as $item) { |
|
89 | 89 | $item['quantity'] = $item['quantity'] > 0 ? $item['quantity'] : 1; |
90 | - $item_amount = wpinv_sanitize_amount( $item['subtotal'] / $item['quantity'], 2 ); |
|
90 | + $item_amount = wpinv_sanitize_amount($item['subtotal'] / $item['quantity'], 2); |
|
91 | 91 | |
92 | - if ( $item_amount <= 0 ) { |
|
92 | + if ($item_amount <= 0) { |
|
93 | 93 | $item_amount = 0; |
94 | 94 | } |
95 | 95 | |
96 | - $paypal_args['item_number_' . $i ] = $item['id']; |
|
97 | - $paypal_args['item_name_' . $i ] = stripslashes_deep( html_entity_decode( wpinv_get_cart_item_name( $item ), ENT_COMPAT, 'UTF-8' ) ); |
|
98 | - $paypal_args['quantity_' . $i ] = $item['quantity']; |
|
99 | - $paypal_args['amount_' . $i ] = $item_amount; |
|
100 | - $paypal_args['discount_amount_' . $i ] = wpinv_sanitize_amount( $item['discount'], 2 ); |
|
96 | + $paypal_args['item_number_' . $i] = $item['id']; |
|
97 | + $paypal_args['item_name_' . $i] = stripslashes_deep(html_entity_decode(wpinv_get_cart_item_name($item), ENT_COMPAT, 'UTF-8')); |
|
98 | + $paypal_args['quantity_' . $i] = $item['quantity']; |
|
99 | + $paypal_args['amount_' . $i] = $item_amount; |
|
100 | + $paypal_args['discount_amount_' . $i] = wpinv_sanitize_amount($item['discount'], 2); |
|
101 | 101 | |
102 | 102 | $i++; |
103 | 103 | } |
104 | 104 | } |
105 | 105 | |
106 | 106 | // Add taxes to the cart |
107 | - if ( wpinv_use_taxes() ) { |
|
108 | - $paypal_args['tax_cart'] = wpinv_sanitize_amount( (float)$invoice->get_tax(), 2 ); |
|
107 | + if (wpinv_use_taxes()) { |
|
108 | + $paypal_args['tax_cart'] = wpinv_sanitize_amount((float) $invoice->get_tax(), 2); |
|
109 | 109 | } |
110 | 110 | |
111 | - $paypal_args = apply_filters( 'wpinv_paypal_args', $paypal_args, $purchase_data, $invoice ); |
|
111 | + $paypal_args = apply_filters('wpinv_paypal_args', $paypal_args, $purchase_data, $invoice); |
|
112 | 112 | |
113 | 113 | // Build query |
114 | - $paypal_redirect .= http_build_query( $paypal_args ); |
|
114 | + $paypal_redirect .= http_build_query($paypal_args); |
|
115 | 115 | |
116 | 116 | // Fix for some sites that encode the entities |
117 | - $paypal_redirect = str_replace( '&', '&', $paypal_redirect ); |
|
117 | + $paypal_redirect = str_replace('&', '&', $paypal_redirect); |
|
118 | 118 | |
119 | 119 | // Get rid of cart contents |
120 | 120 | wpinv_empty_cart(); |
121 | 121 | |
122 | 122 | // Redirect to PayPal |
123 | - wp_redirect( $paypal_redirect ); |
|
123 | + wp_redirect($paypal_redirect); |
|
124 | 124 | exit; |
125 | 125 | } |
126 | 126 | } |
127 | -add_action( 'wpinv_gateway_paypal', 'wpinv_process_paypal_payment' ); |
|
127 | +add_action('wpinv_gateway_paypal', 'wpinv_process_paypal_payment'); |
|
128 | 128 | |
129 | -function wpinv_get_paypal_recurring_args( $paypal_args, $purchase_data, $invoice ) { |
|
130 | - if ( $invoice->is_recurring() && $item_id = $invoice->get_recurring() ) { |
|
131 | - $item = new WPInv_Item( $item_id ); |
|
129 | +function wpinv_get_paypal_recurring_args($paypal_args, $purchase_data, $invoice) { |
|
130 | + if ($invoice->is_recurring() && $item_id = $invoice->get_recurring()) { |
|
131 | + $item = new WPInv_Item($item_id); |
|
132 | 132 | |
133 | - if ( empty( $item ) ) { |
|
133 | + if (empty($item)) { |
|
134 | 134 | return $paypal_args; |
135 | 135 | } |
136 | 136 | |
137 | 137 | $period = $item->get_recurring_period(); |
138 | 138 | $interval = $item->get_recurring_interval(); |
139 | - $bill_times = (int)$item->get_recurring_limit(); |
|
139 | + $bill_times = (int) $item->get_recurring_limit(); |
|
140 | 140 | |
141 | - $initial_amount = wpinv_sanitize_amount( $invoice->get_total(), 2 ); |
|
142 | - $recurring_amount = wpinv_sanitize_amount( $invoice->get_recurring_details( 'total' ), 2 ); |
|
141 | + $initial_amount = wpinv_sanitize_amount($invoice->get_total(), 2); |
|
142 | + $recurring_amount = wpinv_sanitize_amount($invoice->get_recurring_details('total'), 2); |
|
143 | 143 | |
144 | 144 | $paypal_args['cmd'] = '_xclick-subscriptions'; |
145 | 145 | $paypal_args['sra'] = '1'; |
146 | 146 | $paypal_args['src'] = '1'; |
147 | 147 | |
148 | 148 | // Set item description |
149 | - $item_name = sprintf( '[%s] %s', $invoice->get_number(), wpinv_get_cart_item_name( array( 'id' => $item->ID ) ) ); |
|
150 | - $paypal_args['item_name'] = stripslashes_deep( html_entity_decode( $item_name, ENT_COMPAT, 'UTF-8' ) ); |
|
149 | + $item_name = sprintf('[%s] %s', $invoice->get_number(), wpinv_get_cart_item_name(array('id' => $item->ID))); |
|
150 | + $paypal_args['item_name'] = stripslashes_deep(html_entity_decode($item_name, ENT_COMPAT, 'UTF-8')); |
|
151 | 151 | |
152 | - if ( $invoice->is_free_trial() && $item->has_free_trial() ) { |
|
152 | + if ($invoice->is_free_trial() && $item->has_free_trial()) { |
|
153 | 153 | $paypal_args['a1'] = $initial_amount; |
154 | 154 | $paypal_args['p1'] = $item->get_trial_interval(); |
155 | 155 | $paypal_args['t1'] = $item->get_trial_period(); |
156 | 156 | |
157 | 157 | // Set the recurring amount |
158 | 158 | $paypal_args['a3'] = $recurring_amount; |
159 | - } else if ( $initial_amount != $recurring_amount && $bill_times != 1 ) { |
|
159 | + } else if ($initial_amount != $recurring_amount && $bill_times != 1) { |
|
160 | 160 | $paypal_args['a1'] = $initial_amount; |
161 | 161 | $paypal_args['p1'] = $interval; |
162 | 162 | $paypal_args['t1'] = $period; |
@@ -164,63 +164,63 @@ discard block |
||
164 | 164 | // Set the recurring amount |
165 | 165 | $paypal_args['a3'] = $recurring_amount; |
166 | 166 | |
167 | - if ( $bill_times > 1 ) { |
|
167 | + if ($bill_times > 1) { |
|
168 | 168 | $bill_times--; |
169 | 169 | } |
170 | 170 | } else { |
171 | - $paypal_args['a3'] = $initial_amount; |
|
171 | + $paypal_args['a3'] = $initial_amount; |
|
172 | 172 | } |
173 | 173 | |
174 | 174 | $paypal_args['p3'] = $interval; |
175 | 175 | $paypal_args['t3'] = $period; |
176 | 176 | |
177 | - if ( $bill_times > 1 ) { |
|
177 | + if ($bill_times > 1) { |
|
178 | 178 | // Make sure it's not over the max of 52 |
179 | - $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 ); |
|
179 | + $paypal_args['srt'] = ($bill_times <= 52 ? absint($bill_times) : 52); |
|
180 | 180 | } |
181 | 181 | |
182 | 182 | // Remove cart items |
183 | 183 | $i = 1; |
184 | - if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) { |
|
185 | - foreach ( $purchase_data['cart_details'] as $item ) { |
|
186 | - if ( isset( $paypal_args['item_number_' . $i] ) ) { |
|
187 | - unset( $paypal_args['item_number_' . $i] ); |
|
184 | + if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) { |
|
185 | + foreach ($purchase_data['cart_details'] as $item) { |
|
186 | + if (isset($paypal_args['item_number_' . $i])) { |
|
187 | + unset($paypal_args['item_number_' . $i]); |
|
188 | 188 | } |
189 | - if ( isset( $paypal_args['item_name_' . $i] ) ) { |
|
190 | - unset( $paypal_args['item_name_' . $i] ); |
|
189 | + if (isset($paypal_args['item_name_' . $i])) { |
|
190 | + unset($paypal_args['item_name_' . $i]); |
|
191 | 191 | } |
192 | - if ( isset( $paypal_args['quantity_' . $i] ) ) { |
|
193 | - unset( $paypal_args['quantity_' . $i] ); |
|
192 | + if (isset($paypal_args['quantity_' . $i])) { |
|
193 | + unset($paypal_args['quantity_' . $i]); |
|
194 | 194 | } |
195 | - if ( isset( $paypal_args['amount_' . $i] ) ) { |
|
196 | - unset( $paypal_args['amount_' . $i] ); |
|
195 | + if (isset($paypal_args['amount_' . $i])) { |
|
196 | + unset($paypal_args['amount_' . $i]); |
|
197 | 197 | } |
198 | - if ( isset( $paypal_args['discount_amount_' . $i] ) ) { |
|
199 | - unset( $paypal_args['discount_amount_' . $i] ); |
|
198 | + if (isset($paypal_args['discount_amount_' . $i])) { |
|
199 | + unset($paypal_args['discount_amount_' . $i]); |
|
200 | 200 | } |
201 | 201 | |
202 | 202 | $i++; |
203 | 203 | } |
204 | 204 | } |
205 | 205 | |
206 | - if ( isset( $paypal_args['tax_cart'] ) ) { |
|
207 | - unset( $paypal_args['tax_cart'] ); |
|
206 | + if (isset($paypal_args['tax_cart'])) { |
|
207 | + unset($paypal_args['tax_cart']); |
|
208 | 208 | } |
209 | 209 | |
210 | - if ( isset( $paypal_args['upload'] ) ) { |
|
211 | - unset( $paypal_args['upload'] ); |
|
210 | + if (isset($paypal_args['upload'])) { |
|
211 | + unset($paypal_args['upload']); |
|
212 | 212 | } |
213 | 213 | |
214 | - $paypal_args = apply_filters( 'wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice ); |
|
214 | + $paypal_args = apply_filters('wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice); |
|
215 | 215 | } |
216 | 216 | |
217 | 217 | return $paypal_args; |
218 | 218 | } |
219 | -add_filter( 'wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3 ); |
|
219 | +add_filter('wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3); |
|
220 | 220 | |
221 | 221 | function wpinv_process_paypal_ipn() { |
222 | 222 | // Check the request method is POST |
223 | - if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) { |
|
223 | + if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'POST') { |
|
224 | 224 | return; |
225 | 225 | } |
226 | 226 | |
@@ -228,11 +228,11 @@ discard block |
||
228 | 228 | $post_data = ''; |
229 | 229 | |
230 | 230 | // Fallback just in case post_max_size is lower than needed |
231 | - if ( ini_get( 'allow_url_fopen' ) ) { |
|
232 | - $post_data = file_get_contents( 'php://input' ); |
|
231 | + if (ini_get('allow_url_fopen')) { |
|
232 | + $post_data = file_get_contents('php://input'); |
|
233 | 233 | } else { |
234 | 234 | // If allow_url_fopen is not enabled, then make sure that post_max_size is large enough |
235 | - ini_set( 'post_max_size', '12M' ); |
|
235 | + ini_set('post_max_size', '12M'); |
|
236 | 236 | } |
237 | 237 | // Start the encoded data collection with notification command |
238 | 238 | $encoded_data = 'cmd=_notify-validate'; |
@@ -241,43 +241,43 @@ discard block |
||
241 | 241 | $arg_separator = wpinv_get_php_arg_separator_output(); |
242 | 242 | |
243 | 243 | // Verify there is a post_data |
244 | - if ( $post_data || strlen( $post_data ) > 0 ) { |
|
244 | + if ($post_data || strlen($post_data) > 0) { |
|
245 | 245 | // Append the data |
246 | - $encoded_data .= $arg_separator.$post_data; |
|
246 | + $encoded_data .= $arg_separator . $post_data; |
|
247 | 247 | } else { |
248 | 248 | // Check if POST is empty |
249 | - if ( empty( $_POST ) ) { |
|
249 | + if (empty($_POST)) { |
|
250 | 250 | // Nothing to do |
251 | 251 | return; |
252 | 252 | } else { |
253 | 253 | // Loop through each POST |
254 | - foreach ( $_POST as $key => $value ) { |
|
254 | + foreach ($_POST as $key => $value) { |
|
255 | 255 | // Encode the value and append the data |
256 | - $encoded_data .= $arg_separator."$key=" . urlencode( $value ); |
|
256 | + $encoded_data .= $arg_separator . "$key=" . urlencode($value); |
|
257 | 257 | } |
258 | 258 | } |
259 | 259 | } |
260 | 260 | |
261 | 261 | // Convert collected post data to an array |
262 | - wp_parse_str( $encoded_data, $encoded_data_array ); |
|
262 | + wp_parse_str($encoded_data, $encoded_data_array); |
|
263 | 263 | |
264 | - foreach ( $encoded_data_array as $key => $value ) { |
|
265 | - if ( false !== strpos( $key, 'amp;' ) ) { |
|
266 | - $new_key = str_replace( '&', '&', $key ); |
|
267 | - $new_key = str_replace( 'amp;', '&' , $new_key ); |
|
264 | + foreach ($encoded_data_array as $key => $value) { |
|
265 | + if (false !== strpos($key, 'amp;')) { |
|
266 | + $new_key = str_replace('&', '&', $key); |
|
267 | + $new_key = str_replace('amp;', '&', $new_key); |
|
268 | 268 | |
269 | - unset( $encoded_data_array[ $key ] ); |
|
270 | - $encoded_data_array[ $new_key ] = $value; |
|
269 | + unset($encoded_data_array[$key]); |
|
270 | + $encoded_data_array[$new_key] = $value; |
|
271 | 271 | } |
272 | 272 | } |
273 | 273 | |
274 | 274 | // Get the PayPal redirect uri |
275 | - $paypal_redirect = wpinv_get_paypal_redirect( true ); |
|
275 | + $paypal_redirect = wpinv_get_paypal_redirect(true); |
|
276 | 276 | |
277 | - if ( !wpinv_get_option( 'disable_paypal_verification', false ) ) { |
|
277 | + if (!wpinv_get_option('disable_paypal_verification', false)) { |
|
278 | 278 | // Validate the IPN |
279 | 279 | |
280 | - $remote_post_vars = array( |
|
280 | + $remote_post_vars = array( |
|
281 | 281 | 'method' => 'POST', |
282 | 282 | 'timeout' => 45, |
283 | 283 | 'redirection' => 5, |
@@ -295,21 +295,21 @@ discard block |
||
295 | 295 | ); |
296 | 296 | |
297 | 297 | // Get response |
298 | - $api_response = wp_remote_post( wpinv_get_paypal_redirect(), $remote_post_vars ); |
|
298 | + $api_response = wp_remote_post(wpinv_get_paypal_redirect(), $remote_post_vars); |
|
299 | 299 | |
300 | - if ( is_wp_error( $api_response ) ) { |
|
301 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) ); |
|
300 | + if (is_wp_error($api_response)) { |
|
301 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response))); |
|
302 | 302 | return; // Something went wrong |
303 | 303 | } |
304 | 304 | |
305 | - if ( $api_response['body'] !== 'VERIFIED' && wpinv_get_option( 'disable_paypal_verification', false ) ) { |
|
306 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) ); |
|
305 | + if ($api_response['body'] !== 'VERIFIED' && wpinv_get_option('disable_paypal_verification', false)) { |
|
306 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response))); |
|
307 | 307 | return; // Response not okay |
308 | 308 | } |
309 | 309 | } |
310 | 310 | |
311 | 311 | // Check if $post_data_array has been populated |
312 | - if ( !is_array( $encoded_data_array ) && !empty( $encoded_data_array ) ) |
|
312 | + if (!is_array($encoded_data_array) && !empty($encoded_data_array)) |
|
313 | 313 | return; |
314 | 314 | |
315 | 315 | $defaults = array( |
@@ -317,265 +317,265 @@ discard block |
||
317 | 317 | 'payment_status' => '' |
318 | 318 | ); |
319 | 319 | |
320 | - $encoded_data_array = wp_parse_args( $encoded_data_array, $defaults ); |
|
320 | + $encoded_data_array = wp_parse_args($encoded_data_array, $defaults); |
|
321 | 321 | |
322 | - $invoice_id = isset( $encoded_data_array['custom'] ) ? absint( $encoded_data_array['custom'] ) : 0; |
|
322 | + $invoice_id = isset($encoded_data_array['custom']) ? absint($encoded_data_array['custom']) : 0; |
|
323 | 323 | |
324 | - wpinv_error_log( $encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__ ); |
|
325 | - wpinv_error_log( $encoded_data_array, 'PayPal IPN response', __FILE__, __LINE__ ); |
|
324 | + wpinv_error_log($encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__); |
|
325 | + wpinv_error_log($encoded_data_array, 'PayPal IPN response', __FILE__, __LINE__); |
|
326 | 326 | |
327 | - if ( has_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'] ) ) { |
|
327 | + if (has_action('wpinv_paypal_' . $encoded_data_array['txn_type'])) { |
|
328 | 328 | // Allow PayPal IPN types to be processed separately |
329 | - do_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id ); |
|
329 | + do_action('wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id); |
|
330 | 330 | } else { |
331 | 331 | // Fallback to web accept just in case the txn_type isn't present |
332 | - do_action( 'wpinv_paypal_web_accept', $encoded_data_array, $invoice_id ); |
|
332 | + do_action('wpinv_paypal_web_accept', $encoded_data_array, $invoice_id); |
|
333 | 333 | } |
334 | 334 | exit; |
335 | 335 | } |
336 | -add_action( 'wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn' ); |
|
336 | +add_action('wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn'); |
|
337 | 337 | |
338 | -function wpinv_process_paypal_web_accept_and_cart( $data, $invoice_id ) { |
|
339 | - if ( $data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded' ) { |
|
338 | +function wpinv_process_paypal_web_accept_and_cart($data, $invoice_id) { |
|
339 | + if ($data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded') { |
|
340 | 340 | return; |
341 | 341 | } |
342 | 342 | |
343 | - if( empty( $invoice_id ) ) { |
|
343 | + if (empty($invoice_id)) { |
|
344 | 344 | return; |
345 | 345 | } |
346 | 346 | |
347 | 347 | // Collect payment details |
348 | - $purchase_key = isset( $data['invoice'] ) ? $data['invoice'] : $data['item_number']; |
|
348 | + $purchase_key = isset($data['invoice']) ? $data['invoice'] : $data['item_number']; |
|
349 | 349 | $paypal_amount = $data['mc_gross']; |
350 | - $payment_status = strtolower( $data['payment_status'] ); |
|
351 | - $currency_code = strtolower( $data['mc_currency'] ); |
|
352 | - $business_email = isset( $data['business'] ) && is_email( $data['business'] ) ? trim( $data['business'] ) : trim( $data['receiver_email'] ); |
|
353 | - $payment_meta = wpinv_get_invoice_meta( $invoice_id ); |
|
350 | + $payment_status = strtolower($data['payment_status']); |
|
351 | + $currency_code = strtolower($data['mc_currency']); |
|
352 | + $business_email = isset($data['business']) && is_email($data['business']) ? trim($data['business']) : trim($data['receiver_email']); |
|
353 | + $payment_meta = wpinv_get_invoice_meta($invoice_id); |
|
354 | 354 | |
355 | - if ( wpinv_get_payment_gateway( $invoice_id ) != 'paypal' ) { |
|
355 | + if (wpinv_get_payment_gateway($invoice_id) != 'paypal') { |
|
356 | 356 | return; // this isn't a PayPal standard IPN |
357 | 357 | } |
358 | 358 | |
359 | 359 | // Verify payment recipient |
360 | - if ( strcasecmp( $business_email, trim( wpinv_get_option( 'paypal_email', false ) ) ) != 0 ) { |
|
361 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid business email in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
362 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
363 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid PayPal business email.', 'invoicing' ), '', '', true ); |
|
360 | + if (strcasecmp($business_email, trim(wpinv_get_option('paypal_email', false))) != 0) { |
|
361 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid business email in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
362 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
363 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid PayPal business email.', 'invoicing'), '', '', true); |
|
364 | 364 | return; |
365 | 365 | } |
366 | 366 | |
367 | 367 | // Verify payment currency |
368 | - if ( $currency_code != strtolower( $payment_meta['currency'] ) ) { |
|
369 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
370 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
371 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid currency in PayPal IPN.', 'invoicing' ), '', '', true ); |
|
368 | + if ($currency_code != strtolower($payment_meta['currency'])) { |
|
369 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
370 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
371 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid currency in PayPal IPN.', 'invoicing'), '', '', true); |
|
372 | 372 | return; |
373 | 373 | } |
374 | 374 | |
375 | - if ( !wpinv_get_payment_user_email( $invoice_id ) ) { |
|
375 | + if (!wpinv_get_payment_user_email($invoice_id)) { |
|
376 | 376 | // This runs when a Buy Now purchase was made. It bypasses checkout so no personal info is collected until PayPal |
377 | 377 | // No email associated with purchase, so store from PayPal |
378 | - wpinv_update_invoice_meta( $invoice_id, '_wpinv_email', $data['payer_email'] ); |
|
378 | + wpinv_update_invoice_meta($invoice_id, '_wpinv_email', $data['payer_email']); |
|
379 | 379 | |
380 | 380 | // Setup and store the customer's details |
381 | 381 | $user_info = array( |
382 | 382 | 'user_id' => '-1', |
383 | - 'email' => sanitize_text_field( $data['payer_email'] ), |
|
384 | - 'first_name' => sanitize_text_field( $data['first_name'] ), |
|
385 | - 'last_name' => sanitize_text_field( $data['last_name'] ), |
|
383 | + 'email' => sanitize_text_field($data['payer_email']), |
|
384 | + 'first_name' => sanitize_text_field($data['first_name']), |
|
385 | + 'last_name' => sanitize_text_field($data['last_name']), |
|
386 | 386 | 'discount' => '', |
387 | 387 | ); |
388 | - $user_info['address'] = ! empty( $data['address_street'] ) ? sanitize_text_field( $data['address_street'] ) : false; |
|
389 | - $user_info['city'] = ! empty( $data['address_city'] ) ? sanitize_text_field( $data['address_city'] ) : false; |
|
390 | - $user_info['state'] = ! empty( $data['address_state'] ) ? sanitize_text_field( $data['address_state'] ) : false; |
|
391 | - $user_info['country'] = ! empty( $data['address_country_code'] ) ? sanitize_text_field( $data['address_country_code'] ) : false; |
|
392 | - $user_info['zip'] = ! empty( $data['address_zip'] ) ? sanitize_text_field( $data['address_zip'] ) : false; |
|
388 | + $user_info['address'] = !empty($data['address_street']) ? sanitize_text_field($data['address_street']) : false; |
|
389 | + $user_info['city'] = !empty($data['address_city']) ? sanitize_text_field($data['address_city']) : false; |
|
390 | + $user_info['state'] = !empty($data['address_state']) ? sanitize_text_field($data['address_state']) : false; |
|
391 | + $user_info['country'] = !empty($data['address_country_code']) ? sanitize_text_field($data['address_country_code']) : false; |
|
392 | + $user_info['zip'] = !empty($data['address_zip']) ? sanitize_text_field($data['address_zip']) : false; |
|
393 | 393 | |
394 | 394 | $payment_meta['user_info'] = $user_info; |
395 | - wpinv_update_invoice_meta( $invoice_id, '_wpinv_payment_meta', $payment_meta ); |
|
395 | + wpinv_update_invoice_meta($invoice_id, '_wpinv_payment_meta', $payment_meta); |
|
396 | 396 | } |
397 | 397 | |
398 | - if ( $payment_status == 'refunded' || $payment_status == 'reversed' ) { |
|
398 | + if ($payment_status == 'refunded' || $payment_status == 'reversed') { |
|
399 | 399 | // Process a refund |
400 | - wpinv_process_paypal_refund( $data, $invoice_id ); |
|
400 | + wpinv_process_paypal_refund($data, $invoice_id); |
|
401 | 401 | } else { |
402 | - if ( get_post_status( $invoice_id ) == 'publish' ) { |
|
402 | + if (get_post_status($invoice_id) == 'publish') { |
|
403 | 403 | return; // Only paid payments once |
404 | 404 | } |
405 | 405 | |
406 | 406 | // Retrieve the total purchase amount (before PayPal) |
407 | - $payment_amount = wpinv_payment_total( $invoice_id ); |
|
407 | + $payment_amount = wpinv_payment_total($invoice_id); |
|
408 | 408 | |
409 | - if ( number_format( (float) $paypal_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) { |
|
409 | + if (number_format((float) $paypal_amount, 2) < number_format((float) $payment_amount, 2)) { |
|
410 | 410 | // The prices don't match |
411 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid payment amount in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
412 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
413 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid amount in PayPal IPN.', 'invoicing' ), '', '', true ); |
|
411 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid payment amount in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
412 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
413 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid amount in PayPal IPN.', 'invoicing'), '', '', true); |
|
414 | 414 | return; |
415 | 415 | } |
416 | - if ( $purchase_key != wpinv_get_payment_key( $invoice_id ) ) { |
|
416 | + if ($purchase_key != wpinv_get_payment_key($invoice_id)) { |
|
417 | 417 | // Purchase keys don't match |
418 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid purchase key in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
419 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
420 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing' ), '', '', true ); |
|
418 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid purchase key in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
419 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
420 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing'), '', '', true); |
|
421 | 421 | return; |
422 | 422 | } |
423 | 423 | |
424 | - if ( 'complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode( 'paypal' ) ) { |
|
425 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $data['txn_id'] ), '', '', true ); |
|
426 | - wpinv_set_payment_transaction_id( $invoice_id, $data['txn_id'] ); |
|
427 | - wpinv_update_payment_status( $invoice_id, 'publish' ); |
|
428 | - } else if ( 'pending' == $payment_status && isset( $data['pending_reason'] ) ) { |
|
424 | + if ('complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode('paypal')) { |
|
425 | + wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $data['txn_id']), '', '', true); |
|
426 | + wpinv_set_payment_transaction_id($invoice_id, $data['txn_id']); |
|
427 | + wpinv_update_payment_status($invoice_id, 'publish'); |
|
428 | + } else if ('pending' == $payment_status && isset($data['pending_reason'])) { |
|
429 | 429 | // Look for possible pending reasons, such as an echeck |
430 | 430 | $note = ''; |
431 | 431 | |
432 | - switch( strtolower( $data['pending_reason'] ) ) { |
|
432 | + switch (strtolower($data['pending_reason'])) { |
|
433 | 433 | case 'echeck' : |
434 | - $note = __( 'Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing' ); |
|
434 | + $note = __('Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing'); |
|
435 | 435 | break; |
436 | 436 | |
437 | 437 | case 'address' : |
438 | - $note = __( 'Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing' ); |
|
438 | + $note = __('Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing'); |
|
439 | 439 | break; |
440 | 440 | |
441 | 441 | case 'intl' : |
442 | - $note = __( 'Payment must be accepted manually through PayPal due to international account regulations', 'invoicing' ); |
|
442 | + $note = __('Payment must be accepted manually through PayPal due to international account regulations', 'invoicing'); |
|
443 | 443 | break; |
444 | 444 | |
445 | 445 | case 'multi-currency' : |
446 | - $note = __( 'Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing' ); |
|
446 | + $note = __('Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing'); |
|
447 | 447 | break; |
448 | 448 | |
449 | 449 | case 'paymentreview' : |
450 | 450 | case 'regulatory_review' : |
451 | - $note = __( 'Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing' ); |
|
451 | + $note = __('Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing'); |
|
452 | 452 | break; |
453 | 453 | |
454 | 454 | case 'unilateral' : |
455 | - $note = __( 'Payment was sent to non-confirmed or non-registered email address.', 'invoicing' ); |
|
455 | + $note = __('Payment was sent to non-confirmed or non-registered email address.', 'invoicing'); |
|
456 | 456 | break; |
457 | 457 | |
458 | 458 | case 'upgrade' : |
459 | - $note = __( 'PayPal account must be upgraded before this payment can be accepted', 'invoicing' ); |
|
459 | + $note = __('PayPal account must be upgraded before this payment can be accepted', 'invoicing'); |
|
460 | 460 | break; |
461 | 461 | |
462 | 462 | case 'verify' : |
463 | - $note = __( 'PayPal account is not verified. Verify account in order to accept this payment', 'invoicing' ); |
|
463 | + $note = __('PayPal account is not verified. Verify account in order to accept this payment', 'invoicing'); |
|
464 | 464 | break; |
465 | 465 | |
466 | 466 | case 'other' : |
467 | - $note = __( 'Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing' ); |
|
467 | + $note = __('Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing'); |
|
468 | 468 | break; |
469 | 469 | } |
470 | 470 | |
471 | - if ( ! empty( $note ) ) { |
|
472 | - wpinv_insert_payment_note( $invoice_id, $note, '', '', true ); |
|
471 | + if (!empty($note)) { |
|
472 | + wpinv_insert_payment_note($invoice_id, $note, '', '', true); |
|
473 | 473 | } |
474 | 474 | } else { |
475 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal IPN has been received with invalid payment status: %s', 'invoicing' ), $payment_status ), '', '', true ); |
|
475 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal IPN has been received with invalid payment status: %s', 'invoicing'), $payment_status), '', '', true); |
|
476 | 476 | } |
477 | 477 | } |
478 | 478 | } |
479 | -add_action( 'wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2 ); |
|
479 | +add_action('wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2); |
|
480 | 480 | |
481 | 481 | // Process PayPal subscription sign ups |
482 | -add_action( 'wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup' ); |
|
482 | +add_action('wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup'); |
|
483 | 483 | |
484 | 484 | // Process PayPal subscription payments |
485 | -add_action( 'wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment' ); |
|
485 | +add_action('wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment'); |
|
486 | 486 | |
487 | 487 | // Process PayPal subscription cancellations |
488 | -add_action( 'wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel' ); |
|
488 | +add_action('wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel'); |
|
489 | 489 | |
490 | 490 | // Process PayPal subscription end of term notices |
491 | -add_action( 'wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot' ); |
|
491 | +add_action('wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot'); |
|
492 | 492 | |
493 | 493 | // Process PayPal payment failed |
494 | -add_action( 'wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed' ); |
|
494 | +add_action('wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed'); |
|
495 | 495 | |
496 | 496 | |
497 | 497 | /** |
498 | 498 | * Process the subscription started IPN. |
499 | 499 | */ |
500 | -function wpinv_process_paypal_subscr_signup( $ipn_data ) { |
|
501 | - $parent_invoice_id = absint( $ipn_data['custom'] ); |
|
502 | - if( empty( $parent_invoice_id ) ) { |
|
500 | +function wpinv_process_paypal_subscr_signup($ipn_data) { |
|
501 | + $parent_invoice_id = absint($ipn_data['custom']); |
|
502 | + if (empty($parent_invoice_id)) { |
|
503 | 503 | return; |
504 | 504 | } |
505 | 505 | |
506 | - $invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
507 | - if ( empty( $invoice ) ) { |
|
506 | + $invoice = wpinv_get_invoice($parent_invoice_id); |
|
507 | + if (empty($invoice)) { |
|
508 | 508 | return; |
509 | 509 | } |
510 | 510 | |
511 | - if ( $invoice->is_free_trial() && !empty( $ipn_data['invoice'] ) ) { |
|
512 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Invoice ID: %s', 'invoicing' ) , $ipn_data['invoice'] ), '', '', true); |
|
513 | - if ( !empty( $ipn_data['txn_id'] ) ) { |
|
514 | - wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] ); |
|
511 | + if ($invoice->is_free_trial() && !empty($ipn_data['invoice'])) { |
|
512 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Invoice ID: %s', 'invoicing'), $ipn_data['invoice']), '', '', true); |
|
513 | + if (!empty($ipn_data['txn_id'])) { |
|
514 | + wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']); |
|
515 | 515 | } |
516 | 516 | } |
517 | 517 | |
518 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
519 | - if ( false === $subscription ) { |
|
518 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
519 | + if (false === $subscription) { |
|
520 | 520 | return; |
521 | 521 | } |
522 | 522 | |
523 | - wpinv_update_payment_status( $parent_invoice_id, 'publish' ); |
|
523 | + wpinv_update_payment_status($parent_invoice_id, 'publish'); |
|
524 | 524 | sleep(1); |
525 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ), '', '', true ); |
|
526 | - update_post_meta($parent_invoice_id,'_wpinv_subscr_profile_id', $ipn_data['subscr_id']); |
|
525 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id']), '', '', true); |
|
526 | + update_post_meta($parent_invoice_id, '_wpinv_subscr_profile_id', $ipn_data['subscr_id']); |
|
527 | 527 | |
528 | 528 | $status = 'trialling' == $subscription->status ? 'trialling' : 'active'; |
529 | - $diff_days = absint( ( ( strtotime( $subscription->expiration ) - strtotime( $subscription->created ) ) / DAY_IN_SECONDS ) ); |
|
530 | - $created = date_i18n( 'Y-m-d H:i:s' ); |
|
531 | - $expiration = date_i18n( 'Y-m-d 23:59:59', ( strtotime( $created ) + ( $diff_days * DAY_IN_SECONDS ) ) ); |
|
529 | + $diff_days = absint(((strtotime($subscription->expiration) - strtotime($subscription->created)) / DAY_IN_SECONDS)); |
|
530 | + $created = date_i18n('Y-m-d H:i:s'); |
|
531 | + $expiration = date_i18n('Y-m-d 23:59:59', (strtotime($created) + ($diff_days * DAY_IN_SECONDS))); |
|
532 | 532 | |
533 | 533 | // Retrieve pending subscription from database and update it's status to active and set proper profile ID |
534 | - $subscription->update( array( 'profile_id' => $ipn_data['subscr_id'], 'status' => $status, 'created' => $created, 'expiration' => $expiration ) ); |
|
534 | + $subscription->update(array('profile_id' => $ipn_data['subscr_id'], 'status' => $status, 'created' => $created, 'expiration' => $expiration)); |
|
535 | 535 | } |
536 | 536 | |
537 | 537 | /** |
538 | 538 | * Process the subscription payment received IPN. |
539 | 539 | */ |
540 | -function wpinv_process_paypal_subscr_payment( $ipn_data ) { |
|
541 | - $parent_invoice_id = absint( $ipn_data['custom'] ); |
|
540 | +function wpinv_process_paypal_subscr_payment($ipn_data) { |
|
541 | + $parent_invoice_id = absint($ipn_data['custom']); |
|
542 | 542 | |
543 | - $parent_invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
544 | - if ( empty( $parent_invoice ) ) { |
|
543 | + $parent_invoice = wpinv_get_invoice($parent_invoice_id); |
|
544 | + if (empty($parent_invoice)) { |
|
545 | 545 | return; |
546 | 546 | } |
547 | 547 | |
548 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
549 | - if ( false === $subscription ) { |
|
548 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
549 | + if (false === $subscription) { |
|
550 | 550 | return; |
551 | 551 | } |
552 | 552 | |
553 | - $transaction_id = wpinv_get_payment_transaction_id( $parent_invoice_id ); |
|
553 | + $transaction_id = wpinv_get_payment_transaction_id($parent_invoice_id); |
|
554 | 554 | $times_billed = $subscription->get_times_billed(); |
555 | - $signup_date = strtotime( $subscription->created ); |
|
556 | - $today = date( 'Ynd', $signup_date ) == date( 'Ynd', strtotime( $ipn_data['payment_date'] ) ); |
|
555 | + $signup_date = strtotime($subscription->created); |
|
556 | + $today = date('Ynd', $signup_date) == date('Ynd', strtotime($ipn_data['payment_date'])); |
|
557 | 557 | |
558 | 558 | // Look to see if payment is same day as signup and we have set the transaction ID on the parent payment yet. |
559 | - if ( (empty($times_billed) || $today) && ( !$transaction_id || $transaction_id == $parent_invoice_id ) ) { |
|
560 | - wpinv_update_payment_status( $parent_invoice_id, 'publish' ); |
|
559 | + if ((empty($times_billed) || $today) && (!$transaction_id || $transaction_id == $parent_invoice_id)) { |
|
560 | + wpinv_update_payment_status($parent_invoice_id, 'publish'); |
|
561 | 561 | sleep(1); |
562 | 562 | |
563 | 563 | // This is the very first payment |
564 | - wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] ); |
|
565 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ), '', '', true ); |
|
564 | + wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']); |
|
565 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']), '', '', true); |
|
566 | 566 | return; |
567 | 567 | } |
568 | 568 | |
569 | - if ( wpinv_get_id_by_transaction_id( $ipn_data['txn_id'] ) ) { |
|
569 | + if (wpinv_get_id_by_transaction_id($ipn_data['txn_id'])) { |
|
570 | 570 | return; // Payment already recorded |
571 | 571 | } |
572 | 572 | |
573 | - $currency_code = strtolower( $ipn_data['mc_currency'] ); |
|
573 | + $currency_code = strtolower($ipn_data['mc_currency']); |
|
574 | 574 | |
575 | 575 | // verify details |
576 | - if ( $currency_code != strtolower( wpinv_get_currency() ) ) { |
|
576 | + if ($currency_code != strtolower(wpinv_get_currency())) { |
|
577 | 577 | // the currency code is invalid |
578 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: ', 'invoicing' ), json_encode( $ipn_data ) ) ); |
|
578 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: ', 'invoicing'), json_encode($ipn_data))); |
|
579 | 579 | return; |
580 | 580 | } |
581 | 581 | |
@@ -585,11 +585,11 @@ discard block |
||
585 | 585 | 'gateway' => 'paypal' |
586 | 586 | ); |
587 | 587 | |
588 | - $invoice_id = $subscription->add_payment( $args ); |
|
588 | + $invoice_id = $subscription->add_payment($args); |
|
589 | 589 | |
590 | - if ( $invoice_id > 0 ) { |
|
591 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ), '', '', true ); |
|
592 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ), '', '', true ); |
|
590 | + if ($invoice_id > 0) { |
|
591 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id']), '', '', true); |
|
592 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id']), '', '', true); |
|
593 | 593 | |
594 | 594 | $subscription->renew(); |
595 | 595 | } |
@@ -598,10 +598,10 @@ discard block |
||
598 | 598 | /** |
599 | 599 | * Process the subscription canceled IPN. |
600 | 600 | */ |
601 | -function wpinv_process_paypal_subscr_cancel( $ipn_data ) { |
|
602 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
601 | +function wpinv_process_paypal_subscr_cancel($ipn_data) { |
|
602 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
603 | 603 | |
604 | - if( false === $subscription ) { |
|
604 | + if (false === $subscription) { |
|
605 | 605 | return; |
606 | 606 | } |
607 | 607 | |
@@ -611,10 +611,10 @@ discard block |
||
611 | 611 | /** |
612 | 612 | * Process the subscription expired IPN. |
613 | 613 | */ |
614 | -function wpinv_process_paypal_subscr_eot( $ipn_data ) { |
|
615 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
614 | +function wpinv_process_paypal_subscr_eot($ipn_data) { |
|
615 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
616 | 616 | |
617 | - if( false === $subscription ) { |
|
617 | + if (false === $subscription) { |
|
618 | 618 | return; |
619 | 619 | } |
620 | 620 | |
@@ -624,40 +624,40 @@ discard block |
||
624 | 624 | /** |
625 | 625 | * Process the subscription payment failed IPN. |
626 | 626 | */ |
627 | -function wpinv_process_paypal_subscr_failed( $ipn_data ) { |
|
628 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
627 | +function wpinv_process_paypal_subscr_failed($ipn_data) { |
|
628 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
629 | 629 | |
630 | - if( false === $subscription ) { |
|
630 | + if (false === $subscription) { |
|
631 | 631 | return; |
632 | 632 | } |
633 | 633 | |
634 | 634 | $subscription->failing(); |
635 | 635 | |
636 | - do_action( 'wpinv_recurring_payment_failed', $subscription ); |
|
636 | + do_action('wpinv_recurring_payment_failed', $subscription); |
|
637 | 637 | } |
638 | 638 | |
639 | 639 | /** |
640 | 640 | * Retrieve the subscription this IPN notice is for. |
641 | 641 | */ |
642 | -function wpinv_get_paypal_subscription( $ipn_data = array() ) { |
|
643 | - $parent_invoice_id = absint( $ipn_data['custom'] ); |
|
642 | +function wpinv_get_paypal_subscription($ipn_data = array()) { |
|
643 | + $parent_invoice_id = absint($ipn_data['custom']); |
|
644 | 644 | |
645 | - if( empty( $parent_invoice_id ) ) { |
|
645 | + if (empty($parent_invoice_id)) { |
|
646 | 646 | return false; |
647 | 647 | } |
648 | 648 | |
649 | - $invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
650 | - if ( empty( $invoice ) ) { |
|
649 | + $invoice = wpinv_get_invoice($parent_invoice_id); |
|
650 | + if (empty($invoice)) { |
|
651 | 651 | return false; |
652 | 652 | } |
653 | 653 | |
654 | - $subscription = new WPInv_Subscription( $ipn_data['subscr_id'], true ); |
|
654 | + $subscription = new WPInv_Subscription($ipn_data['subscr_id'], true); |
|
655 | 655 | |
656 | - if ( ! ( ! empty( $subscription ) && $subscription->id > 0 ) ) { |
|
657 | - $subscription = wpinv_get_subscription( $parent_invoice_id ); |
|
656 | + if (!(!empty($subscription) && $subscription->id > 0)) { |
|
657 | + $subscription = wpinv_get_subscription($parent_invoice_id); |
|
658 | 658 | |
659 | - if ( ! empty( $subscription ) && $subscription->id > 0 ) { |
|
660 | - $subscription->update( array( 'profile_id' => sanitize_text_field( $ipn_data['subscr_id'] ) ) ); |
|
659 | + if (!empty($subscription) && $subscription->id > 0) { |
|
660 | + $subscription->update(array('profile_id' => sanitize_text_field($ipn_data['subscr_id']))); |
|
661 | 661 | } else { |
662 | 662 | return false; |
663 | 663 | } |
@@ -667,46 +667,46 @@ discard block |
||
667 | 667 | |
668 | 668 | } |
669 | 669 | |
670 | -function wpinv_process_paypal_refund( $data, $invoice_id = 0 ) { |
|
670 | +function wpinv_process_paypal_refund($data, $invoice_id = 0) { |
|
671 | 671 | // Collect payment details |
672 | 672 | |
673 | - if( empty( $invoice_id ) ) { |
|
673 | + if (empty($invoice_id)) { |
|
674 | 674 | return; |
675 | 675 | } |
676 | 676 | |
677 | - if ( get_post_status( $invoice_id ) == 'wpi-refunded' ) { |
|
677 | + if (get_post_status($invoice_id) == 'wpi-refunded') { |
|
678 | 678 | return; // Only refund payments once |
679 | 679 | } |
680 | 680 | |
681 | - $payment_amount = wpinv_payment_total( $invoice_id ); |
|
681 | + $payment_amount = wpinv_payment_total($invoice_id); |
|
682 | 682 | $refund_amount = $data['mc_gross'] * -1; |
683 | 683 | |
684 | - do_action( 'wpinv_paypal_refund_request', $data, $invoice_id ); |
|
684 | + do_action('wpinv_paypal_refund_request', $data, $invoice_id); |
|
685 | 685 | |
686 | - if ( number_format( (float) $refund_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) { |
|
687 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal partial refund of %s processed for transaction #%s for reason: %s', 'invoicing' ), (float)$refund_amount . ' '. $data['mc_currency'], $data['parent_txn_id'], $data['reason_code'] ), '', '', true ); |
|
686 | + if (number_format((float) $refund_amount, 2) < number_format((float) $payment_amount, 2)) { |
|
687 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal partial refund of %s processed for transaction #%s for reason: %s', 'invoicing'), (float) $refund_amount . ' ' . $data['mc_currency'], $data['parent_txn_id'], $data['reason_code']), '', '', true); |
|
688 | 688 | |
689 | - do_action( 'wpinv_paypal_invoice_partially_refunded', $data, $invoice_id, $refund_amount ); |
|
689 | + do_action('wpinv_paypal_invoice_partially_refunded', $data, $invoice_id, $refund_amount); |
|
690 | 690 | |
691 | 691 | return; // This is a partial refund |
692 | 692 | } |
693 | 693 | |
694 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Payment #%s Refunded for reason: %s', 'invoicing' ), $data['parent_txn_id'], $data['reason_code'] ), '', '', true ); |
|
695 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Refund Transaction ID: %s', 'invoicing' ), $data['txn_id'] ), '', '', true ); |
|
696 | - wpinv_update_payment_status( $invoice_id, 'wpi-refunded' ); |
|
694 | + wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Payment #%s Refunded for reason: %s', 'invoicing'), $data['parent_txn_id'], $data['reason_code']), '', '', true); |
|
695 | + wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Refund Transaction ID: %s', 'invoicing'), $data['txn_id']), '', '', true); |
|
696 | + wpinv_update_payment_status($invoice_id, 'wpi-refunded'); |
|
697 | 697 | |
698 | - do_action( 'wpinv_paypal_invoice_fully_refunded', $data, $invoice_id ); |
|
698 | + do_action('wpinv_paypal_invoice_fully_refunded', $data, $invoice_id); |
|
699 | 699 | } |
700 | 700 | |
701 | -function wpinv_get_paypal_redirect( $ssl_check = false ) { |
|
702 | - if ( is_ssl() || ! $ssl_check ) { |
|
701 | +function wpinv_get_paypal_redirect($ssl_check = false) { |
|
702 | + if (is_ssl() || !$ssl_check) { |
|
703 | 703 | $protocol = 'https://'; |
704 | 704 | } else { |
705 | 705 | $protocol = 'http://'; |
706 | 706 | } |
707 | 707 | |
708 | 708 | // Check the current payment mode |
709 | - if ( wpinv_is_test_mode( 'paypal' ) ) { |
|
709 | + if (wpinv_is_test_mode('paypal')) { |
|
710 | 710 | // Test mode |
711 | 711 | $paypal_uri = $protocol . 'www.sandbox.paypal.com/cgi-bin/webscr'; |
712 | 712 | } else { |
@@ -714,120 +714,120 @@ discard block |
||
714 | 714 | $paypal_uri = $protocol . 'www.paypal.com/cgi-bin/webscr'; |
715 | 715 | } |
716 | 716 | |
717 | - return apply_filters( 'wpinv_paypal_uri', $paypal_uri ); |
|
717 | + return apply_filters('wpinv_paypal_uri', $paypal_uri); |
|
718 | 718 | } |
719 | 719 | |
720 | -function wpinv_paypal_success_page_content( $content ) { |
|
720 | +function wpinv_paypal_success_page_content($content) { |
|
721 | 721 | global $wpi_invoice; |
722 | 722 | |
723 | 723 | $session = wpinv_get_checkout_session(); |
724 | 724 | |
725 | - if ( empty( $_GET['invoice-id'] ) && empty( $session['invoice_key'] ) ) { |
|
725 | + if (empty($_GET['invoice-id']) && empty($session['invoice_key'])) { |
|
726 | 726 | return $content; |
727 | 727 | } |
728 | 728 | |
729 | - $invoice_id = !empty( $_GET['invoice-id'] ) ? absint( $_GET['invoice-id'] ) : wpinv_get_invoice_id_by_key( $session['invoice_key'] ); |
|
729 | + $invoice_id = !empty($_GET['invoice-id']) ? absint($_GET['invoice-id']) : wpinv_get_invoice_id_by_key($session['invoice_key']); |
|
730 | 730 | |
731 | - if ( empty( $invoice_id ) ) { |
|
731 | + if (empty($invoice_id)) { |
|
732 | 732 | return $content; |
733 | 733 | } |
734 | 734 | |
735 | - $wpi_invoice = wpinv_get_invoice( $invoice_id ); |
|
735 | + $wpi_invoice = wpinv_get_invoice($invoice_id); |
|
736 | 736 | |
737 | - if ( !empty( $wpi_invoice ) && 'wpi-pending' == $wpi_invoice->status ) { |
|
737 | + if (!empty($wpi_invoice) && 'wpi-pending' == $wpi_invoice->status) { |
|
738 | 738 | // Payment is still pending so show processing indicator to fix the Race Condition, issue # |
739 | 739 | ob_start(); |
740 | - wpinv_get_template_part( 'wpinv-payment-processing' ); |
|
740 | + wpinv_get_template_part('wpinv-payment-processing'); |
|
741 | 741 | $content = ob_get_clean(); |
742 | 742 | } |
743 | 743 | |
744 | 744 | return $content; |
745 | 745 | } |
746 | -add_filter( 'wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content' ); |
|
746 | +add_filter('wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content'); |
|
747 | 747 | |
748 | -function wpinv_paypal_get_transaction_id( $invoice_id ) { |
|
748 | +function wpinv_paypal_get_transaction_id($invoice_id) { |
|
749 | 749 | $transaction_id = ''; |
750 | - $notes = wpinv_get_invoice_notes( $invoice_id ); |
|
750 | + $notes = wpinv_get_invoice_notes($invoice_id); |
|
751 | 751 | |
752 | - foreach ( $notes as $note ) { |
|
753 | - if ( preg_match( '/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match ) ) { |
|
752 | + foreach ($notes as $note) { |
|
753 | + if (preg_match('/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match)) { |
|
754 | 754 | $transaction_id = $match[1]; |
755 | 755 | continue; |
756 | 756 | } |
757 | 757 | } |
758 | 758 | |
759 | - return apply_filters( 'wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id ); |
|
759 | + return apply_filters('wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id); |
|
760 | 760 | } |
761 | -add_filter( 'wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1 ); |
|
761 | +add_filter('wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1); |
|
762 | 762 | |
763 | -function wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice ) { |
|
764 | - if ( $transaction_id == $invoice_id ) { |
|
763 | +function wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice) { |
|
764 | + if ($transaction_id == $invoice_id) { |
|
765 | 765 | $transaction_link = $transaction_id; |
766 | 766 | } else { |
767 | - if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) { |
|
767 | + if (!empty($invoice) && !empty($invoice->mode)) { |
|
768 | 768 | $mode = $invoice->mode; |
769 | 769 | } else { |
770 | - $mode = wpinv_is_test_mode( 'paypal' ) ? 'test' : 'live'; |
|
770 | + $mode = wpinv_is_test_mode('paypal') ? 'test' : 'live'; |
|
771 | 771 | } |
772 | 772 | |
773 | 773 | $sandbox = $mode == 'test' ? '.sandbox' : ''; |
774 | 774 | $transaction_url = 'https://www' . $sandbox . '.paypal.com/webscr?cmd=_history-details-from-hub&id=' . $transaction_id; |
775 | 775 | |
776 | - $transaction_link = '<a href="' . esc_url( $transaction_url ) . '" target="_blank">' . $transaction_id . '</a>'; |
|
776 | + $transaction_link = '<a href="' . esc_url($transaction_url) . '" target="_blank">' . $transaction_id . '</a>'; |
|
777 | 777 | } |
778 | 778 | |
779 | - return apply_filters( 'wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $transaction_id, $invoice ); |
|
779 | + return apply_filters('wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $transaction_id, $invoice); |
|
780 | 780 | } |
781 | -add_filter( 'wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3 ); |
|
781 | +add_filter('wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3); |
|
782 | 782 | |
783 | -function wpinv_paypal_profile_id_link( $profile_id, $subscription ) { |
|
783 | +function wpinv_paypal_profile_id_link($profile_id, $subscription) { |
|
784 | 784 | $link = $profile_id; |
785 | 785 | |
786 | - if ( ! empty( $profile_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) { |
|
787 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
786 | + if (!empty($profile_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) { |
|
787 | + $invoice = wpinv_get_invoice($invoice_id); |
|
788 | 788 | |
789 | - if ( ! empty( $invoice ) && ! empty( $invoice->mode ) ) { |
|
789 | + if (!empty($invoice) && !empty($invoice->mode)) { |
|
790 | 790 | $mode = $invoice->mode; |
791 | 791 | } else { |
792 | - $mode = wpinv_is_test_mode( 'paypal' ) ? 'test' : 'live'; |
|
792 | + $mode = wpinv_is_test_mode('paypal') ? 'test' : 'live'; |
|
793 | 793 | } |
794 | 794 | |
795 | 795 | $sandbox = $mode == 'test' ? '.sandbox' : ''; |
796 | 796 | $url = 'https://www' . $sandbox . '.paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=' . $profile_id; |
797 | 797 | |
798 | - $link = '<a href="' . esc_url( $url ) . '" target="_blank">' . $profile_id . '</a>'; |
|
798 | + $link = '<a href="' . esc_url($url) . '" target="_blank">' . $profile_id . '</a>'; |
|
799 | 799 | } |
800 | 800 | |
801 | - return apply_filters( 'wpinv_paypal_profile_id_link', $link, $profile_id, $subscription ); |
|
801 | + return apply_filters('wpinv_paypal_profile_id_link', $link, $profile_id, $subscription); |
|
802 | 802 | } |
803 | -add_filter( 'wpinv_subscription_profile_link_paypal', 'wpinv_paypal_profile_id_link', 10, 2 ); |
|
803 | +add_filter('wpinv_subscription_profile_link_paypal', 'wpinv_paypal_profile_id_link', 10, 2); |
|
804 | 804 | |
805 | -function wpinv_paypal_transaction_id_link( $transaction_id, $subscription ) { |
|
806 | - if ( ! empty( $transaction_id ) && ! empty( $subscription ) && ( $invoice_id = $subscription->get_original_payment_id() ) ) { |
|
807 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
805 | +function wpinv_paypal_transaction_id_link($transaction_id, $subscription) { |
|
806 | + if (!empty($transaction_id) && !empty($subscription) && ($invoice_id = $subscription->get_original_payment_id())) { |
|
807 | + $invoice = wpinv_get_invoice($invoice_id); |
|
808 | 808 | |
809 | - if ( ! empty( $invoice ) ) { |
|
810 | - return wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice ); |
|
809 | + if (!empty($invoice)) { |
|
810 | + return wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice); |
|
811 | 811 | } |
812 | 812 | } |
813 | 813 | |
814 | 814 | return $transaction_id; |
815 | 815 | } |
816 | -add_filter( 'wpinv_subscription_transaction_link_paypal', 'wpinv_paypal_transaction_id_link', 10, 2 ); |
|
816 | +add_filter('wpinv_subscription_transaction_link_paypal', 'wpinv_paypal_transaction_id_link', 10, 2); |
|
817 | 817 | |
818 | 818 | function wpinv_is_paypal_valid_for_use() { |
819 | - return in_array( wpinv_get_currency(), apply_filters( 'wpinv_paypal_supported_currencies', array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' ) ) ); |
|
819 | + return in_array(wpinv_get_currency(), apply_filters('wpinv_paypal_supported_currencies', array('AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR'))); |
|
820 | 820 | } |
821 | 821 | |
822 | -function wpinv_check_paypal_currency_support( $gateway_list ) { |
|
823 | - if ( isset( $gateway_list['paypal'] ) && ! wpinv_is_paypal_valid_for_use() ) { |
|
824 | - unset( $gateway_list['paypal'] ); |
|
822 | +function wpinv_check_paypal_currency_support($gateway_list) { |
|
823 | + if (isset($gateway_list['paypal']) && !wpinv_is_paypal_valid_for_use()) { |
|
824 | + unset($gateway_list['paypal']); |
|
825 | 825 | } |
826 | 826 | return $gateway_list; |
827 | 827 | } |
828 | -add_filter( 'wpinv_enabled_payment_gateways', 'wpinv_check_paypal_currency_support', 10, 1 ); |
|
828 | +add_filter('wpinv_enabled_payment_gateways', 'wpinv_check_paypal_currency_support', 10, 1); |
|
829 | 829 | |
830 | -function wpinv_gateway_paypal_button_label( $label ) { |
|
831 | - return __( 'Proceed to PayPal', 'invoicing' ); |
|
830 | +function wpinv_gateway_paypal_button_label($label) { |
|
831 | + return __('Proceed to PayPal', 'invoicing'); |
|
832 | 832 | } |
833 | -add_filter( 'wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1 ); |
|
834 | 833 | \ No newline at end of file |
834 | +add_filter('wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1); |
|
835 | 835 | \ No newline at end of file |