@@ -12,230 +12,230 @@ |
||
12 | 12 | */ |
13 | 13 | class GetPaid_Payment_Form_Submission_Taxes { |
14 | 14 | |
15 | - /** |
|
16 | - * Submission taxes. |
|
17 | - * @var array |
|
18 | - */ |
|
19 | - public $taxes = array(); |
|
20 | - |
|
21 | - /** |
|
22 | - * Whether or not we should skip the taxes. |
|
23 | - * @var bool |
|
24 | - */ |
|
25 | - protected $skip_taxes = false; |
|
15 | + /** |
|
16 | + * Submission taxes. |
|
17 | + * @var array |
|
18 | + */ |
|
19 | + public $taxes = array(); |
|
20 | + |
|
21 | + /** |
|
22 | + * Whether or not we should skip the taxes. |
|
23 | + * @var bool |
|
24 | + */ |
|
25 | + protected $skip_taxes = false; |
|
26 | 26 | |
27 | 27 | /** |
28 | - * Class constructor |
|
29 | - * |
|
30 | - * @param GetPaid_Payment_Form_Submission $submission |
|
31 | - */ |
|
32 | - public function __construct( $submission ) { |
|
33 | - |
|
34 | - // Validate VAT number. |
|
35 | - $this->validate_vat( $submission ); |
|
36 | - |
|
37 | - if ( $this->skip_taxes ) { |
|
38 | - return; |
|
39 | - } |
|
40 | - |
|
41 | - foreach ( $submission->get_items() as $item ) { |
|
42 | - $this->process_item_tax( $item, $submission ); |
|
43 | - } |
|
44 | - |
|
45 | - // Process any existing invoice taxes. |
|
46 | - if ( $submission->has_invoice() ) { |
|
47 | - $this->taxes = array_replace( $submission->get_invoice()->get_taxes(), $this->taxes ); |
|
48 | - } |
|
49 | - |
|
50 | - } |
|
51 | - |
|
52 | - /** |
|
53 | - * Maybe process tax. |
|
54 | - * |
|
55 | - * @since 1.0.19 |
|
56 | - * @param GetPaid_Form_Item $item |
|
57 | - * @param GetPaid_Payment_Form_Submission $submission |
|
58 | - */ |
|
59 | - public function process_item_tax( $item, $submission ) { |
|
60 | - |
|
61 | - $rates = getpaid_get_item_tax_rates( $item, $submission->country, $submission->state ); |
|
62 | - $rates = getpaid_filter_item_tax_rates( $item, $rates ); |
|
63 | - $taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates ); |
|
64 | - $r_taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates ); |
|
65 | - |
|
66 | - foreach ( $taxes as $name => $amount ) { |
|
67 | - $recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0; |
|
68 | - $tax = getpaid_prepare_item_tax( $item, $name, $amount, $recurring ); |
|
69 | - |
|
70 | - $item->item_tax += wpinv_sanitize_amount( $tax['initial_tax'] ); |
|
71 | - |
|
72 | - if ( ! isset( $this->taxes[ $name ] ) ) { |
|
73 | - $this->taxes[ $name ] = $tax; |
|
74 | - continue; |
|
75 | - } |
|
76 | - |
|
77 | - $this->taxes[ $name ]['initial_tax'] += $tax['initial_tax']; |
|
78 | - $this->taxes[ $name ]['recurring_tax'] += $tax['recurring_tax']; |
|
79 | - |
|
80 | - } |
|
81 | - |
|
82 | - } |
|
83 | - |
|
84 | - /** |
|
85 | - * Checks if the submission has a digital item. |
|
86 | - * |
|
87 | - * @param GetPaid_Payment_Form_Submission $submission |
|
88 | - * @since 1.0.19 |
|
89 | - * @return bool |
|
90 | - */ |
|
91 | - public function has_digital_item( $submission ) { |
|
92 | - |
|
93 | - foreach ( $submission->get_items() as $item ) { |
|
94 | - |
|
95 | - if ( 'digital' == $item->get_vat_rule() ) { |
|
96 | - return true; |
|
97 | - } |
|
98 | - |
|
99 | - } |
|
100 | - |
|
101 | - return false; |
|
102 | - } |
|
103 | - |
|
104 | - /** |
|
105 | - * Checks if this is an eu store. |
|
106 | - * |
|
107 | - * @since 1.0.19 |
|
108 | - * @return bool |
|
109 | - */ |
|
110 | - public static function is_eu_store() { |
|
111 | - return self::is_eu_country( wpinv_get_default_country() ); |
|
112 | - } |
|
113 | - |
|
114 | - /** |
|
115 | - * Checks if this is an eu country. |
|
116 | - * |
|
117 | - * @param string $country |
|
118 | - * @since 1.0.19 |
|
119 | - * @return bool |
|
120 | - */ |
|
121 | - public static function is_eu_country( $country ) { |
|
122 | - return getpaid_is_eu_state( $country ); |
|
123 | - } |
|
124 | - |
|
125 | - /** |
|
126 | - * Checks if this is an eu purchase. |
|
127 | - * |
|
128 | - * @param string $customer_country |
|
129 | - * @since 1.0.19 |
|
130 | - * @return bool |
|
131 | - */ |
|
132 | - public static function is_eu_transaction( $customer_country ) { |
|
133 | - return self::is_eu_country( $customer_country ) && self::is_eu_store(); |
|
134 | - } |
|
135 | - |
|
136 | - /** |
|
137 | - * Retrieves the vat number. |
|
138 | - * |
|
139 | - * @param GetPaid_Payment_Form_Submission $submission |
|
140 | - * @since 1.0.19 |
|
141 | - * @return string |
|
142 | - */ |
|
143 | - public function get_vat_number( $submission ) { |
|
144 | - |
|
145 | - // Retrieve from the posted number. |
|
146 | - $vat_number = $submission->get_field( 'wpinv_vat_number', 'billing' ); |
|
147 | - if ( ! is_null( $vat_number ) ) { |
|
148 | - return wpinv_clean( $vat_number ); |
|
149 | - } |
|
150 | - |
|
151 | - return $submission->has_invoice() ? $submission->get_invoice()->get_vat_number() : ''; |
|
152 | - } |
|
153 | - |
|
154 | - /** |
|
155 | - * Retrieves the company. |
|
156 | - * |
|
157 | - * @param GetPaid_Payment_Form_Submission $submission |
|
158 | - * @since 1.0.19 |
|
159 | - * @return string |
|
160 | - */ |
|
161 | - public function get_company( $submission ) { |
|
162 | - |
|
163 | - // Retrieve from the posted data. |
|
164 | - $company = $submission->get_field( 'wpinv_company', 'billing' ); |
|
165 | - if ( ! empty( $company ) ) { |
|
166 | - return wpinv_clean( $company ); |
|
167 | - } |
|
168 | - |
|
169 | - // Retrieve from the invoice. |
|
170 | - return $submission->has_invoice() ? $submission->get_invoice()->get_company() : ''; |
|
171 | - } |
|
172 | - |
|
173 | - /** |
|
174 | - * Checks if we require a VAT number. |
|
175 | - * |
|
176 | - * @param bool $ip_in_eu Whether the customer IP is from the EU |
|
177 | - * @param bool $country_in_eu Whether the customer country is from the EU |
|
178 | - * @since 1.0.19 |
|
179 | - * @return string |
|
180 | - */ |
|
181 | - public function requires_vat( $ip_in_eu, $country_in_eu ) { |
|
182 | - |
|
183 | - $prevent_b2c = wpinv_get_option( 'vat_prevent_b2c_purchase' ); |
|
184 | - $prevent_b2c = ! empty( $prevent_b2c ); |
|
185 | - $is_eu = $ip_in_eu || $country_in_eu; |
|
186 | - |
|
187 | - return $prevent_b2c && $is_eu; |
|
188 | - } |
|
189 | - |
|
190 | - /** |
|
191 | - * Validate VAT data. |
|
192 | - * |
|
193 | - * @param GetPaid_Payment_Form_Submission $submission |
|
194 | - * @since 1.0.19 |
|
195 | - */ |
|
196 | - public function validate_vat( $submission ) { |
|
197 | - |
|
198 | - $in_eu = $this->is_eu_transaction( $submission->country ); |
|
199 | - |
|
200 | - // Abort if we are not validating vat numbers. |
|
201 | - if ( ! $in_eu ) { |
|
28 | + * Class constructor |
|
29 | + * |
|
30 | + * @param GetPaid_Payment_Form_Submission $submission |
|
31 | + */ |
|
32 | + public function __construct( $submission ) { |
|
33 | + |
|
34 | + // Validate VAT number. |
|
35 | + $this->validate_vat( $submission ); |
|
36 | + |
|
37 | + if ( $this->skip_taxes ) { |
|
202 | 38 | return; |
203 | - } |
|
39 | + } |
|
40 | + |
|
41 | + foreach ( $submission->get_items() as $item ) { |
|
42 | + $this->process_item_tax( $item, $submission ); |
|
43 | + } |
|
44 | + |
|
45 | + // Process any existing invoice taxes. |
|
46 | + if ( $submission->has_invoice() ) { |
|
47 | + $this->taxes = array_replace( $submission->get_invoice()->get_taxes(), $this->taxes ); |
|
48 | + } |
|
49 | + |
|
50 | + } |
|
51 | + |
|
52 | + /** |
|
53 | + * Maybe process tax. |
|
54 | + * |
|
55 | + * @since 1.0.19 |
|
56 | + * @param GetPaid_Form_Item $item |
|
57 | + * @param GetPaid_Payment_Form_Submission $submission |
|
58 | + */ |
|
59 | + public function process_item_tax( $item, $submission ) { |
|
60 | + |
|
61 | + $rates = getpaid_get_item_tax_rates( $item, $submission->country, $submission->state ); |
|
62 | + $rates = getpaid_filter_item_tax_rates( $item, $rates ); |
|
63 | + $taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates ); |
|
64 | + $r_taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates ); |
|
65 | + |
|
66 | + foreach ( $taxes as $name => $amount ) { |
|
67 | + $recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0; |
|
68 | + $tax = getpaid_prepare_item_tax( $item, $name, $amount, $recurring ); |
|
69 | + |
|
70 | + $item->item_tax += wpinv_sanitize_amount( $tax['initial_tax'] ); |
|
71 | + |
|
72 | + if ( ! isset( $this->taxes[ $name ] ) ) { |
|
73 | + $this->taxes[ $name ] = $tax; |
|
74 | + continue; |
|
75 | + } |
|
76 | + |
|
77 | + $this->taxes[ $name ]['initial_tax'] += $tax['initial_tax']; |
|
78 | + $this->taxes[ $name ]['recurring_tax'] += $tax['recurring_tax']; |
|
79 | + |
|
80 | + } |
|
81 | + |
|
82 | + } |
|
83 | + |
|
84 | + /** |
|
85 | + * Checks if the submission has a digital item. |
|
86 | + * |
|
87 | + * @param GetPaid_Payment_Form_Submission $submission |
|
88 | + * @since 1.0.19 |
|
89 | + * @return bool |
|
90 | + */ |
|
91 | + public function has_digital_item( $submission ) { |
|
92 | + |
|
93 | + foreach ( $submission->get_items() as $item ) { |
|
94 | + |
|
95 | + if ( 'digital' == $item->get_vat_rule() ) { |
|
96 | + return true; |
|
97 | + } |
|
98 | + |
|
99 | + } |
|
204 | 100 | |
205 | - // Prepare variables. |
|
206 | - $vat_number = $this->get_vat_number( $submission ); |
|
207 | - $ip_country = getpaid_get_ip_country(); |
|
101 | + return false; |
|
102 | + } |
|
103 | + |
|
104 | + /** |
|
105 | + * Checks if this is an eu store. |
|
106 | + * |
|
107 | + * @since 1.0.19 |
|
108 | + * @return bool |
|
109 | + */ |
|
110 | + public static function is_eu_store() { |
|
111 | + return self::is_eu_country( wpinv_get_default_country() ); |
|
112 | + } |
|
113 | + |
|
114 | + /** |
|
115 | + * Checks if this is an eu country. |
|
116 | + * |
|
117 | + * @param string $country |
|
118 | + * @since 1.0.19 |
|
119 | + * @return bool |
|
120 | + */ |
|
121 | + public static function is_eu_country( $country ) { |
|
122 | + return getpaid_is_eu_state( $country ); |
|
123 | + } |
|
124 | + |
|
125 | + /** |
|
126 | + * Checks if this is an eu purchase. |
|
127 | + * |
|
128 | + * @param string $customer_country |
|
129 | + * @since 1.0.19 |
|
130 | + * @return bool |
|
131 | + */ |
|
132 | + public static function is_eu_transaction( $customer_country ) { |
|
133 | + return self::is_eu_country( $customer_country ) && self::is_eu_store(); |
|
134 | + } |
|
135 | + |
|
136 | + /** |
|
137 | + * Retrieves the vat number. |
|
138 | + * |
|
139 | + * @param GetPaid_Payment_Form_Submission $submission |
|
140 | + * @since 1.0.19 |
|
141 | + * @return string |
|
142 | + */ |
|
143 | + public function get_vat_number( $submission ) { |
|
144 | + |
|
145 | + // Retrieve from the posted number. |
|
146 | + $vat_number = $submission->get_field( 'wpinv_vat_number', 'billing' ); |
|
147 | + if ( ! is_null( $vat_number ) ) { |
|
148 | + return wpinv_clean( $vat_number ); |
|
149 | + } |
|
150 | + |
|
151 | + return $submission->has_invoice() ? $submission->get_invoice()->get_vat_number() : ''; |
|
152 | + } |
|
153 | + |
|
154 | + /** |
|
155 | + * Retrieves the company. |
|
156 | + * |
|
157 | + * @param GetPaid_Payment_Form_Submission $submission |
|
158 | + * @since 1.0.19 |
|
159 | + * @return string |
|
160 | + */ |
|
161 | + public function get_company( $submission ) { |
|
162 | + |
|
163 | + // Retrieve from the posted data. |
|
164 | + $company = $submission->get_field( 'wpinv_company', 'billing' ); |
|
165 | + if ( ! empty( $company ) ) { |
|
166 | + return wpinv_clean( $company ); |
|
167 | + } |
|
168 | + |
|
169 | + // Retrieve from the invoice. |
|
170 | + return $submission->has_invoice() ? $submission->get_invoice()->get_company() : ''; |
|
171 | + } |
|
172 | + |
|
173 | + /** |
|
174 | + * Checks if we require a VAT number. |
|
175 | + * |
|
176 | + * @param bool $ip_in_eu Whether the customer IP is from the EU |
|
177 | + * @param bool $country_in_eu Whether the customer country is from the EU |
|
178 | + * @since 1.0.19 |
|
179 | + * @return string |
|
180 | + */ |
|
181 | + public function requires_vat( $ip_in_eu, $country_in_eu ) { |
|
182 | + |
|
183 | + $prevent_b2c = wpinv_get_option( 'vat_prevent_b2c_purchase' ); |
|
184 | + $prevent_b2c = ! empty( $prevent_b2c ); |
|
185 | + $is_eu = $ip_in_eu || $country_in_eu; |
|
186 | + |
|
187 | + return $prevent_b2c && $is_eu; |
|
188 | + } |
|
189 | + |
|
190 | + /** |
|
191 | + * Validate VAT data. |
|
192 | + * |
|
193 | + * @param GetPaid_Payment_Form_Submission $submission |
|
194 | + * @since 1.0.19 |
|
195 | + */ |
|
196 | + public function validate_vat( $submission ) { |
|
197 | + |
|
198 | + $in_eu = $this->is_eu_transaction( $submission->country ); |
|
199 | + |
|
200 | + // Abort if we are not validating vat numbers. |
|
201 | + if ( ! $in_eu ) { |
|
202 | + return; |
|
203 | + } |
|
204 | + |
|
205 | + // Prepare variables. |
|
206 | + $vat_number = $this->get_vat_number( $submission ); |
|
207 | + $ip_country = getpaid_get_ip_country(); |
|
208 | 208 | $is_eu = $this->is_eu_country( $submission->country ); |
209 | 209 | $is_ip_eu = $this->is_eu_country( $ip_country ); |
210 | 210 | |
211 | - // Maybe abort early for initial fetches. |
|
212 | - if ( $submission->is_initial_fetch() && empty( $vat_number ) ) { |
|
213 | - return; |
|
214 | - } |
|
211 | + // Maybe abort early for initial fetches. |
|
212 | + if ( $submission->is_initial_fetch() && empty( $vat_number ) ) { |
|
213 | + return; |
|
214 | + } |
|
215 | 215 | |
216 | - // If we're preventing business to consumer purchases, |
|
217 | - if ( $this->requires_vat( $is_ip_eu, $is_eu ) && empty( $vat_number ) ) { |
|
216 | + // If we're preventing business to consumer purchases, |
|
217 | + if ( $this->requires_vat( $is_ip_eu, $is_eu ) && empty( $vat_number ) ) { |
|
218 | 218 | |
219 | - // Ensure that a vat number has been specified. |
|
220 | - throw new Exception( |
|
221 | - __( 'Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing' ) |
|
222 | - ); |
|
219 | + // Ensure that a vat number has been specified. |
|
220 | + throw new Exception( |
|
221 | + __( 'Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing' ) |
|
222 | + ); |
|
223 | 223 | |
224 | - } |
|
224 | + } |
|
225 | 225 | |
226 | - if ( empty( $vat_number ) ) { |
|
227 | - return; |
|
228 | - } |
|
226 | + if ( empty( $vat_number ) ) { |
|
227 | + return; |
|
228 | + } |
|
229 | 229 | |
230 | - if ( wpinv_should_validate_vat_number() && ! wpinv_validate_vat_number( $vat_number, $submission->country ) ) { |
|
231 | - throw new Exception( __( 'Your VAT number is invalid', 'invoicing' ) ); |
|
232 | - } |
|
230 | + if ( wpinv_should_validate_vat_number() && ! wpinv_validate_vat_number( $vat_number, $submission->country ) ) { |
|
231 | + throw new Exception( __( 'Your VAT number is invalid', 'invoicing' ) ); |
|
232 | + } |
|
233 | 233 | |
234 | - if ( wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) { |
|
235 | - return; |
|
236 | - } |
|
234 | + if ( wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) { |
|
235 | + return; |
|
236 | + } |
|
237 | 237 | |
238 | - $this->skip_taxes = true; |
|
239 | - } |
|
238 | + $this->skip_taxes = true; |
|
239 | + } |
|
240 | 240 | |
241 | 241 | } |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Payment form submission taxes class |
@@ -29,22 +29,22 @@ discard block |
||
29 | 29 | * |
30 | 30 | * @param GetPaid_Payment_Form_Submission $submission |
31 | 31 | */ |
32 | - public function __construct( $submission ) { |
|
32 | + public function __construct($submission) { |
|
33 | 33 | |
34 | 34 | // Validate VAT number. |
35 | - $this->validate_vat( $submission ); |
|
35 | + $this->validate_vat($submission); |
|
36 | 36 | |
37 | - if ( $this->skip_taxes ) { |
|
37 | + if ($this->skip_taxes) { |
|
38 | 38 | return; |
39 | 39 | } |
40 | 40 | |
41 | - foreach ( $submission->get_items() as $item ) { |
|
42 | - $this->process_item_tax( $item, $submission ); |
|
41 | + foreach ($submission->get_items() as $item) { |
|
42 | + $this->process_item_tax($item, $submission); |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | // Process any existing invoice taxes. |
46 | - if ( $submission->has_invoice() ) { |
|
47 | - $this->taxes = array_replace( $submission->get_invoice()->get_taxes(), $this->taxes ); |
|
46 | + if ($submission->has_invoice()) { |
|
47 | + $this->taxes = array_replace($submission->get_invoice()->get_taxes(), $this->taxes); |
|
48 | 48 | } |
49 | 49 | |
50 | 50 | } |
@@ -56,26 +56,26 @@ discard block |
||
56 | 56 | * @param GetPaid_Form_Item $item |
57 | 57 | * @param GetPaid_Payment_Form_Submission $submission |
58 | 58 | */ |
59 | - public function process_item_tax( $item, $submission ) { |
|
59 | + public function process_item_tax($item, $submission) { |
|
60 | 60 | |
61 | - $rates = getpaid_get_item_tax_rates( $item, $submission->country, $submission->state ); |
|
62 | - $rates = getpaid_filter_item_tax_rates( $item, $rates ); |
|
63 | - $taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates ); |
|
64 | - $r_taxes = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates ); |
|
61 | + $rates = getpaid_get_item_tax_rates($item, $submission->country, $submission->state); |
|
62 | + $rates = getpaid_filter_item_tax_rates($item, $rates); |
|
63 | + $taxes = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, false), $rates); |
|
64 | + $r_taxes = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, true), $rates); |
|
65 | 65 | |
66 | - foreach ( $taxes as $name => $amount ) { |
|
67 | - $recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0; |
|
68 | - $tax = getpaid_prepare_item_tax( $item, $name, $amount, $recurring ); |
|
66 | + foreach ($taxes as $name => $amount) { |
|
67 | + $recurring = isset($r_taxes[$name]) ? $r_taxes[$name] : 0; |
|
68 | + $tax = getpaid_prepare_item_tax($item, $name, $amount, $recurring); |
|
69 | 69 | |
70 | - $item->item_tax += wpinv_sanitize_amount( $tax['initial_tax'] ); |
|
70 | + $item->item_tax += wpinv_sanitize_amount($tax['initial_tax']); |
|
71 | 71 | |
72 | - if ( ! isset( $this->taxes[ $name ] ) ) { |
|
73 | - $this->taxes[ $name ] = $tax; |
|
72 | + if (!isset($this->taxes[$name])) { |
|
73 | + $this->taxes[$name] = $tax; |
|
74 | 74 | continue; |
75 | 75 | } |
76 | 76 | |
77 | - $this->taxes[ $name ]['initial_tax'] += $tax['initial_tax']; |
|
78 | - $this->taxes[ $name ]['recurring_tax'] += $tax['recurring_tax']; |
|
77 | + $this->taxes[$name]['initial_tax'] += $tax['initial_tax']; |
|
78 | + $this->taxes[$name]['recurring_tax'] += $tax['recurring_tax']; |
|
79 | 79 | |
80 | 80 | } |
81 | 81 | |
@@ -88,11 +88,11 @@ discard block |
||
88 | 88 | * @since 1.0.19 |
89 | 89 | * @return bool |
90 | 90 | */ |
91 | - public function has_digital_item( $submission ) { |
|
91 | + public function has_digital_item($submission) { |
|
92 | 92 | |
93 | - foreach ( $submission->get_items() as $item ) { |
|
93 | + foreach ($submission->get_items() as $item) { |
|
94 | 94 | |
95 | - if ( 'digital' == $item->get_vat_rule() ) { |
|
95 | + if ('digital' == $item->get_vat_rule()) { |
|
96 | 96 | return true; |
97 | 97 | } |
98 | 98 | |
@@ -108,7 +108,7 @@ discard block |
||
108 | 108 | * @return bool |
109 | 109 | */ |
110 | 110 | public static function is_eu_store() { |
111 | - return self::is_eu_country( wpinv_get_default_country() ); |
|
111 | + return self::is_eu_country(wpinv_get_default_country()); |
|
112 | 112 | } |
113 | 113 | |
114 | 114 | /** |
@@ -118,8 +118,8 @@ discard block |
||
118 | 118 | * @since 1.0.19 |
119 | 119 | * @return bool |
120 | 120 | */ |
121 | - public static function is_eu_country( $country ) { |
|
122 | - return getpaid_is_eu_state( $country ); |
|
121 | + public static function is_eu_country($country) { |
|
122 | + return getpaid_is_eu_state($country); |
|
123 | 123 | } |
124 | 124 | |
125 | 125 | /** |
@@ -129,8 +129,8 @@ discard block |
||
129 | 129 | * @since 1.0.19 |
130 | 130 | * @return bool |
131 | 131 | */ |
132 | - public static function is_eu_transaction( $customer_country ) { |
|
133 | - return self::is_eu_country( $customer_country ) && self::is_eu_store(); |
|
132 | + public static function is_eu_transaction($customer_country) { |
|
133 | + return self::is_eu_country($customer_country) && self::is_eu_store(); |
|
134 | 134 | } |
135 | 135 | |
136 | 136 | /** |
@@ -140,12 +140,12 @@ discard block |
||
140 | 140 | * @since 1.0.19 |
141 | 141 | * @return string |
142 | 142 | */ |
143 | - public function get_vat_number( $submission ) { |
|
143 | + public function get_vat_number($submission) { |
|
144 | 144 | |
145 | 145 | // Retrieve from the posted number. |
146 | - $vat_number = $submission->get_field( 'wpinv_vat_number', 'billing' ); |
|
147 | - if ( ! is_null( $vat_number ) ) { |
|
148 | - return wpinv_clean( $vat_number ); |
|
146 | + $vat_number = $submission->get_field('wpinv_vat_number', 'billing'); |
|
147 | + if (!is_null($vat_number)) { |
|
148 | + return wpinv_clean($vat_number); |
|
149 | 149 | } |
150 | 150 | |
151 | 151 | return $submission->has_invoice() ? $submission->get_invoice()->get_vat_number() : ''; |
@@ -158,12 +158,12 @@ discard block |
||
158 | 158 | * @since 1.0.19 |
159 | 159 | * @return string |
160 | 160 | */ |
161 | - public function get_company( $submission ) { |
|
161 | + public function get_company($submission) { |
|
162 | 162 | |
163 | 163 | // Retrieve from the posted data. |
164 | - $company = $submission->get_field( 'wpinv_company', 'billing' ); |
|
165 | - if ( ! empty( $company ) ) { |
|
166 | - return wpinv_clean( $company ); |
|
164 | + $company = $submission->get_field('wpinv_company', 'billing'); |
|
165 | + if (!empty($company)) { |
|
166 | + return wpinv_clean($company); |
|
167 | 167 | } |
168 | 168 | |
169 | 169 | // Retrieve from the invoice. |
@@ -178,10 +178,10 @@ discard block |
||
178 | 178 | * @since 1.0.19 |
179 | 179 | * @return string |
180 | 180 | */ |
181 | - public function requires_vat( $ip_in_eu, $country_in_eu ) { |
|
181 | + public function requires_vat($ip_in_eu, $country_in_eu) { |
|
182 | 182 | |
183 | - $prevent_b2c = wpinv_get_option( 'vat_prevent_b2c_purchase' ); |
|
184 | - $prevent_b2c = ! empty( $prevent_b2c ); |
|
183 | + $prevent_b2c = wpinv_get_option('vat_prevent_b2c_purchase'); |
|
184 | + $prevent_b2c = !empty($prevent_b2c); |
|
185 | 185 | $is_eu = $ip_in_eu || $country_in_eu; |
186 | 186 | |
187 | 187 | return $prevent_b2c && $is_eu; |
@@ -193,45 +193,45 @@ discard block |
||
193 | 193 | * @param GetPaid_Payment_Form_Submission $submission |
194 | 194 | * @since 1.0.19 |
195 | 195 | */ |
196 | - public function validate_vat( $submission ) { |
|
196 | + public function validate_vat($submission) { |
|
197 | 197 | |
198 | - $in_eu = $this->is_eu_transaction( $submission->country ); |
|
198 | + $in_eu = $this->is_eu_transaction($submission->country); |
|
199 | 199 | |
200 | 200 | // Abort if we are not validating vat numbers. |
201 | - if ( ! $in_eu ) { |
|
201 | + if (!$in_eu) { |
|
202 | 202 | return; |
203 | 203 | } |
204 | 204 | |
205 | 205 | // Prepare variables. |
206 | - $vat_number = $this->get_vat_number( $submission ); |
|
206 | + $vat_number = $this->get_vat_number($submission); |
|
207 | 207 | $ip_country = getpaid_get_ip_country(); |
208 | - $is_eu = $this->is_eu_country( $submission->country ); |
|
209 | - $is_ip_eu = $this->is_eu_country( $ip_country ); |
|
208 | + $is_eu = $this->is_eu_country($submission->country); |
|
209 | + $is_ip_eu = $this->is_eu_country($ip_country); |
|
210 | 210 | |
211 | 211 | // Maybe abort early for initial fetches. |
212 | - if ( $submission->is_initial_fetch() && empty( $vat_number ) ) { |
|
212 | + if ($submission->is_initial_fetch() && empty($vat_number)) { |
|
213 | 213 | return; |
214 | 214 | } |
215 | 215 | |
216 | 216 | // If we're preventing business to consumer purchases, |
217 | - if ( $this->requires_vat( $is_ip_eu, $is_eu ) && empty( $vat_number ) ) { |
|
217 | + if ($this->requires_vat($is_ip_eu, $is_eu) && empty($vat_number)) { |
|
218 | 218 | |
219 | 219 | // Ensure that a vat number has been specified. |
220 | 220 | throw new Exception( |
221 | - __( 'Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing' ) |
|
221 | + __('Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing') |
|
222 | 222 | ); |
223 | 223 | |
224 | 224 | } |
225 | 225 | |
226 | - if ( empty( $vat_number ) ) { |
|
226 | + if (empty($vat_number)) { |
|
227 | 227 | return; |
228 | 228 | } |
229 | 229 | |
230 | - if ( wpinv_should_validate_vat_number() && ! wpinv_validate_vat_number( $vat_number, $submission->country ) ) { |
|
231 | - throw new Exception( __( 'Your VAT number is invalid', 'invoicing' ) ); |
|
230 | + if (wpinv_should_validate_vat_number() && !wpinv_validate_vat_number($vat_number, $submission->country)) { |
|
231 | + throw new Exception(__('Your VAT number is invalid', 'invoicing')); |
|
232 | 232 | } |
233 | 233 | |
234 | - if ( wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) { |
|
234 | + if (wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option('vat_same_country_rule', 'vat_too')) { |
|
235 | 235 | return; |
236 | 236 | } |
237 | 237 |
@@ -12,288 +12,288 @@ |
||
12 | 12 | */ |
13 | 13 | class GetPaid_Payment_Form_Submission_Refresh_Prices { |
14 | 14 | |
15 | - /** |
|
16 | - * Contains the response for refreshing prices. |
|
17 | - * @var array |
|
18 | - */ |
|
19 | - public $response = array(); |
|
15 | + /** |
|
16 | + * Contains the response for refreshing prices. |
|
17 | + * @var array |
|
18 | + */ |
|
19 | + public $response = array(); |
|
20 | 20 | |
21 | 21 | /** |
22 | - * Class constructor |
|
23 | - * |
|
24 | - * @param GetPaid_Payment_Form_Submission $submission |
|
25 | - */ |
|
26 | - public function __construct( $submission ) { |
|
27 | - |
|
28 | - $this->response = array( |
|
29 | - 'submission_id' => $submission->id, |
|
22 | + * Class constructor |
|
23 | + * |
|
24 | + * @param GetPaid_Payment_Form_Submission $submission |
|
25 | + */ |
|
26 | + public function __construct( $submission ) { |
|
27 | + |
|
28 | + $this->response = array( |
|
29 | + 'submission_id' => $submission->id, |
|
30 | 30 | 'has_recurring' => $submission->has_recurring, |
31 | - 'has_subscription_group' => $submission->has_subscription_group(), |
|
32 | - 'has_multiple_subscription_groups' => $submission->has_multiple_subscription_groups(), |
|
31 | + 'has_subscription_group' => $submission->has_subscription_group(), |
|
32 | + 'has_multiple_subscription_groups' => $submission->has_multiple_subscription_groups(), |
|
33 | 33 | 'is_free' => ! $submission->should_collect_payment_details(), |
34 | - ); |
|
35 | - |
|
36 | - $this->add_totals( $submission ); |
|
37 | - $this->add_texts( $submission ); |
|
38 | - $this->add_items( $submission ); |
|
39 | - $this->add_fees( $submission ); |
|
40 | - $this->add_discounts( $submission ); |
|
41 | - $this->add_taxes( $submission ); |
|
42 | - $this->add_gateways( $submission ); |
|
43 | - $this->add_data( $submission ); |
|
44 | - |
|
45 | - } |
|
46 | - |
|
47 | - /** |
|
48 | - * Adds totals to a response for submission refresh prices. |
|
49 | - * |
|
50 | - * @param GetPaid_Payment_Form_Submission $submission |
|
51 | - */ |
|
52 | - public function add_totals( $submission ) { |
|
53 | - |
|
54 | - $this->response = array_merge( |
|
55 | - $this->response, |
|
56 | - array( |
|
57 | - |
|
58 | - 'totals' => array( |
|
59 | - 'subtotal' => $submission->format_amount( $submission->get_subtotal() ), |
|
60 | - 'discount' => $submission->format_amount( $submission->get_discount() ), |
|
61 | - 'fees' => $submission->format_amount( $submission->get_fee() ), |
|
62 | - 'tax' => $submission->format_amount( $submission->get_tax() ), |
|
63 | - 'total' => $submission->format_amount( $submission->get_total() ), |
|
64 | - 'raw_total' => html_entity_decode( sanitize_text_field( $submission->format_amount( $submission->get_total() ) ), ENT_QUOTES ), |
|
65 | - ), |
|
66 | - |
|
67 | - 'recurring' => array( |
|
68 | - 'subtotal' => $submission->format_amount( $submission->get_recurring_subtotal() ), |
|
69 | - 'discount' => $submission->format_amount( $submission->get_recurring_discount() ), |
|
70 | - 'fees' => $submission->format_amount( $submission->get_recurring_fee() ), |
|
71 | - 'tax' => $submission->format_amount( $submission->get_recurring_tax() ), |
|
72 | - 'total' => $submission->format_amount( $submission->get_recurring_total() ), |
|
73 | - ), |
|
74 | - |
|
75 | - 'initial_amt' => wpinv_round_amount( $submission->get_total(), null, true ), |
|
76 | - 'currency' => $submission->get_currency(), |
|
77 | - |
|
78 | - ) |
|
79 | - ); |
|
80 | - |
|
81 | - } |
|
82 | - |
|
83 | - /** |
|
84 | - * Adds texts to a response for submission refresh prices. |
|
85 | - * |
|
86 | - * @param GetPaid_Payment_Form_Submission $submission |
|
87 | - */ |
|
88 | - public function add_texts( $submission ) { |
|
89 | - |
|
90 | - $payable = $submission->format_amount( $submission->get_total() ); |
|
91 | - $groups = getpaid_get_subscription_groups( $submission ); |
|
92 | - |
|
93 | - if ( $submission->has_recurring && 2 > count( $groups ) ) { |
|
94 | - |
|
95 | - $recurring = new WPInv_Item( $submission->has_recurring ); |
|
96 | - $period = getpaid_get_subscription_period_label( $recurring->get_recurring_period( true ), $recurring->get_recurring_interval(), '' ); |
|
97 | - $main_item = reset( $groups ); |
|
98 | - |
|
99 | - if ( $submission->get_total() == $submission->get_recurring_total() ) { |
|
100 | - $payable = "$payable / $period"; |
|
101 | - } else if ( $main_item ) { |
|
102 | - |
|
103 | - $main_item = reset( $main_item ); |
|
104 | - |
|
105 | - // Calculate the next renewal date. |
|
106 | - $_period = $main_item->get_recurring_period( true ); |
|
107 | - $_interval = $main_item->get_recurring_interval(); |
|
108 | - |
|
109 | - // If the subscription item has a trial period... |
|
110 | - if ( $main_item->has_free_trial() ) { |
|
111 | - $_period = $main_item->get_trial_period( true ); |
|
112 | - $_interval = $main_item->get_trial_interval(); |
|
113 | - } |
|
114 | - |
|
115 | - $payable = sprintf( |
|
116 | - __( '%1$s (renews at %2$s / %3$s)', 'invoicing' ), |
|
117 | - $submission->format_amount( $submission->get_total() ), |
|
118 | - $submission->format_amount( $submission->get_recurring_total() ), |
|
119 | - $period |
|
120 | - ); |
|
121 | - |
|
122 | - $payable .= sprintf( |
|
123 | - '<small class="text-muted form-text">%s</small>', |
|
124 | - sprintf( |
|
125 | - __( 'First renewal on %s', 'invoicing' ), |
|
126 | - getpaid_format_date( date( 'Y-m-d H:i:s', strtotime( "+$_interval $_period", current_time( 'timestamp' ) ) ) ) |
|
127 | - ) |
|
128 | - ); |
|
129 | - |
|
130 | - } else { |
|
131 | - $payable = sprintf( |
|
132 | - __( '%1$s (renews at %2$s / %3$s)', 'invoicing' ), |
|
133 | - $submission->format_amount( $submission->get_total() ), |
|
134 | - $submission->format_amount( $submission->get_recurring_total() ), |
|
135 | - $period |
|
136 | - ); |
|
137 | - } |
|
138 | - |
|
139 | - } |
|
140 | - |
|
141 | - $texts = array( |
|
142 | - '.getpaid-checkout-total-payable' => $payable, |
|
143 | - ); |
|
144 | - |
|
145 | - foreach ( $submission->get_items() as $item ) { |
|
146 | - $item_id = $item->get_id(); |
|
147 | - $initial_price = $submission->format_amount( $item->get_sub_total() - $item->item_discount ); |
|
148 | - $recurring_price = $submission->format_amount( $item->get_sub_total() - $item->recurring_item_discount ); |
|
149 | - $texts[".item-$item_id .getpaid-form-item-price-desc"] = getpaid_item_recurring_price_help_text( $item, $submission->get_currency(), $initial_price, $recurring_price ); |
|
150 | - } |
|
151 | - |
|
152 | - $this->response = array_merge( $this->response, array( 'texts' => $texts ) ); |
|
153 | - |
|
154 | - } |
|
155 | - |
|
156 | - /** |
|
157 | - * Adds items to a response for submission refresh prices. |
|
158 | - * |
|
159 | - * @param GetPaid_Payment_Form_Submission $submission |
|
160 | - */ |
|
161 | - public function add_items( $submission ) { |
|
162 | - |
|
163 | - // Add items. |
|
164 | - $items = array(); |
|
34 | + ); |
|
35 | + |
|
36 | + $this->add_totals( $submission ); |
|
37 | + $this->add_texts( $submission ); |
|
38 | + $this->add_items( $submission ); |
|
39 | + $this->add_fees( $submission ); |
|
40 | + $this->add_discounts( $submission ); |
|
41 | + $this->add_taxes( $submission ); |
|
42 | + $this->add_gateways( $submission ); |
|
43 | + $this->add_data( $submission ); |
|
44 | + |
|
45 | + } |
|
46 | + |
|
47 | + /** |
|
48 | + * Adds totals to a response for submission refresh prices. |
|
49 | + * |
|
50 | + * @param GetPaid_Payment_Form_Submission $submission |
|
51 | + */ |
|
52 | + public function add_totals( $submission ) { |
|
53 | + |
|
54 | + $this->response = array_merge( |
|
55 | + $this->response, |
|
56 | + array( |
|
57 | + |
|
58 | + 'totals' => array( |
|
59 | + 'subtotal' => $submission->format_amount( $submission->get_subtotal() ), |
|
60 | + 'discount' => $submission->format_amount( $submission->get_discount() ), |
|
61 | + 'fees' => $submission->format_amount( $submission->get_fee() ), |
|
62 | + 'tax' => $submission->format_amount( $submission->get_tax() ), |
|
63 | + 'total' => $submission->format_amount( $submission->get_total() ), |
|
64 | + 'raw_total' => html_entity_decode( sanitize_text_field( $submission->format_amount( $submission->get_total() ) ), ENT_QUOTES ), |
|
65 | + ), |
|
66 | + |
|
67 | + 'recurring' => array( |
|
68 | + 'subtotal' => $submission->format_amount( $submission->get_recurring_subtotal() ), |
|
69 | + 'discount' => $submission->format_amount( $submission->get_recurring_discount() ), |
|
70 | + 'fees' => $submission->format_amount( $submission->get_recurring_fee() ), |
|
71 | + 'tax' => $submission->format_amount( $submission->get_recurring_tax() ), |
|
72 | + 'total' => $submission->format_amount( $submission->get_recurring_total() ), |
|
73 | + ), |
|
74 | + |
|
75 | + 'initial_amt' => wpinv_round_amount( $submission->get_total(), null, true ), |
|
76 | + 'currency' => $submission->get_currency(), |
|
77 | + |
|
78 | + ) |
|
79 | + ); |
|
80 | + |
|
81 | + } |
|
82 | + |
|
83 | + /** |
|
84 | + * Adds texts to a response for submission refresh prices. |
|
85 | + * |
|
86 | + * @param GetPaid_Payment_Form_Submission $submission |
|
87 | + */ |
|
88 | + public function add_texts( $submission ) { |
|
89 | + |
|
90 | + $payable = $submission->format_amount( $submission->get_total() ); |
|
91 | + $groups = getpaid_get_subscription_groups( $submission ); |
|
92 | + |
|
93 | + if ( $submission->has_recurring && 2 > count( $groups ) ) { |
|
94 | + |
|
95 | + $recurring = new WPInv_Item( $submission->has_recurring ); |
|
96 | + $period = getpaid_get_subscription_period_label( $recurring->get_recurring_period( true ), $recurring->get_recurring_interval(), '' ); |
|
97 | + $main_item = reset( $groups ); |
|
98 | + |
|
99 | + if ( $submission->get_total() == $submission->get_recurring_total() ) { |
|
100 | + $payable = "$payable / $period"; |
|
101 | + } else if ( $main_item ) { |
|
102 | + |
|
103 | + $main_item = reset( $main_item ); |
|
104 | + |
|
105 | + // Calculate the next renewal date. |
|
106 | + $_period = $main_item->get_recurring_period( true ); |
|
107 | + $_interval = $main_item->get_recurring_interval(); |
|
108 | + |
|
109 | + // If the subscription item has a trial period... |
|
110 | + if ( $main_item->has_free_trial() ) { |
|
111 | + $_period = $main_item->get_trial_period( true ); |
|
112 | + $_interval = $main_item->get_trial_interval(); |
|
113 | + } |
|
114 | + |
|
115 | + $payable = sprintf( |
|
116 | + __( '%1$s (renews at %2$s / %3$s)', 'invoicing' ), |
|
117 | + $submission->format_amount( $submission->get_total() ), |
|
118 | + $submission->format_amount( $submission->get_recurring_total() ), |
|
119 | + $period |
|
120 | + ); |
|
121 | + |
|
122 | + $payable .= sprintf( |
|
123 | + '<small class="text-muted form-text">%s</small>', |
|
124 | + sprintf( |
|
125 | + __( 'First renewal on %s', 'invoicing' ), |
|
126 | + getpaid_format_date( date( 'Y-m-d H:i:s', strtotime( "+$_interval $_period", current_time( 'timestamp' ) ) ) ) |
|
127 | + ) |
|
128 | + ); |
|
129 | + |
|
130 | + } else { |
|
131 | + $payable = sprintf( |
|
132 | + __( '%1$s (renews at %2$s / %3$s)', 'invoicing' ), |
|
133 | + $submission->format_amount( $submission->get_total() ), |
|
134 | + $submission->format_amount( $submission->get_recurring_total() ), |
|
135 | + $period |
|
136 | + ); |
|
137 | + } |
|
138 | + |
|
139 | + } |
|
140 | + |
|
141 | + $texts = array( |
|
142 | + '.getpaid-checkout-total-payable' => $payable, |
|
143 | + ); |
|
165 | 144 | |
166 | 145 | foreach ( $submission->get_items() as $item ) { |
167 | - $item_id = $item->get_id(); |
|
168 | - $items["$item_id"] = $submission->format_amount( $item->get_sub_total() ); |
|
169 | - } |
|
146 | + $item_id = $item->get_id(); |
|
147 | + $initial_price = $submission->format_amount( $item->get_sub_total() - $item->item_discount ); |
|
148 | + $recurring_price = $submission->format_amount( $item->get_sub_total() - $item->recurring_item_discount ); |
|
149 | + $texts[".item-$item_id .getpaid-form-item-price-desc"] = getpaid_item_recurring_price_help_text( $item, $submission->get_currency(), $initial_price, $recurring_price ); |
|
150 | + } |
|
170 | 151 | |
171 | - $this->response = array_merge( |
|
172 | - $this->response, |
|
173 | - array( 'items' => $items ) |
|
174 | - ); |
|
152 | + $this->response = array_merge( $this->response, array( 'texts' => $texts ) ); |
|
175 | 153 | |
176 | - } |
|
154 | + } |
|
177 | 155 | |
178 | - /** |
|
179 | - * Adds fees to a response for submission refresh prices. |
|
180 | - * |
|
181 | - * @param GetPaid_Payment_Form_Submission $submission |
|
182 | - */ |
|
183 | - public function add_fees( $submission ) { |
|
156 | + /** |
|
157 | + * Adds items to a response for submission refresh prices. |
|
158 | + * |
|
159 | + * @param GetPaid_Payment_Form_Submission $submission |
|
160 | + */ |
|
161 | + public function add_items( $submission ) { |
|
184 | 162 | |
185 | - $fees = array(); |
|
163 | + // Add items. |
|
164 | + $items = array(); |
|
165 | + |
|
166 | + foreach ( $submission->get_items() as $item ) { |
|
167 | + $item_id = $item->get_id(); |
|
168 | + $items["$item_id"] = $submission->format_amount( $item->get_sub_total() ); |
|
169 | + } |
|
170 | + |
|
171 | + $this->response = array_merge( |
|
172 | + $this->response, |
|
173 | + array( 'items' => $items ) |
|
174 | + ); |
|
175 | + |
|
176 | + } |
|
177 | + |
|
178 | + /** |
|
179 | + * Adds fees to a response for submission refresh prices. |
|
180 | + * |
|
181 | + * @param GetPaid_Payment_Form_Submission $submission |
|
182 | + */ |
|
183 | + public function add_fees( $submission ) { |
|
184 | + |
|
185 | + $fees = array(); |
|
186 | 186 | |
187 | 187 | foreach ( $submission->get_fees() as $name => $data ) { |
188 | - $fees[$name] = $submission->format_amount( $data['initial_fee'] ); |
|
189 | - } |
|
188 | + $fees[$name] = $submission->format_amount( $data['initial_fee'] ); |
|
189 | + } |
|
190 | 190 | |
191 | - $this->response = array_merge( |
|
192 | - $this->response, |
|
193 | - array( 'fees' => $fees ) |
|
194 | - ); |
|
191 | + $this->response = array_merge( |
|
192 | + $this->response, |
|
193 | + array( 'fees' => $fees ) |
|
194 | + ); |
|
195 | 195 | |
196 | - } |
|
196 | + } |
|
197 | 197 | |
198 | - /** |
|
199 | - * Adds discounts to a response for submission refresh prices. |
|
200 | - * |
|
201 | - * @param GetPaid_Payment_Form_Submission $submission |
|
202 | - */ |
|
203 | - public function add_discounts( $submission ) { |
|
198 | + /** |
|
199 | + * Adds discounts to a response for submission refresh prices. |
|
200 | + * |
|
201 | + * @param GetPaid_Payment_Form_Submission $submission |
|
202 | + */ |
|
203 | + public function add_discounts( $submission ) { |
|
204 | 204 | |
205 | - $discounts = array(); |
|
205 | + $discounts = array(); |
|
206 | 206 | |
207 | 207 | foreach ( $submission->get_discounts() as $name => $data ) { |
208 | - $discounts[$name] = $submission->format_amount( $data['initial_discount'] ); |
|
209 | - } |
|
210 | - |
|
211 | - $this->response = array_merge( |
|
212 | - $this->response, |
|
213 | - array( 'discounts' => $discounts ) |
|
214 | - ); |
|
208 | + $discounts[$name] = $submission->format_amount( $data['initial_discount'] ); |
|
209 | + } |
|
215 | 210 | |
216 | - } |
|
211 | + $this->response = array_merge( |
|
212 | + $this->response, |
|
213 | + array( 'discounts' => $discounts ) |
|
214 | + ); |
|
217 | 215 | |
218 | - /** |
|
219 | - * Adds taxes to a response for submission refresh prices. |
|
220 | - * |
|
221 | - * @param GetPaid_Payment_Form_Submission $submission |
|
222 | - */ |
|
223 | - public function add_taxes( $submission ) { |
|
216 | + } |
|
224 | 217 | |
225 | - $taxes = array(); |
|
226 | - $markup = ''; |
|
218 | + /** |
|
219 | + * Adds taxes to a response for submission refresh prices. |
|
220 | + * |
|
221 | + * @param GetPaid_Payment_Form_Submission $submission |
|
222 | + */ |
|
223 | + public function add_taxes( $submission ) { |
|
224 | + |
|
225 | + $taxes = array(); |
|
226 | + $markup = ''; |
|
227 | 227 | foreach ( $submission->get_taxes() as $name => $data ) { |
228 | - $name = sanitize_text_field( $name ); |
|
229 | - $amount = $submission->format_amount( $data['initial_tax'] ); |
|
230 | - $taxes[$name] = $amount; |
|
231 | - $markup .= "<small class='form-text'>$name : $amount</small>"; |
|
232 | - } |
|
233 | - |
|
234 | - if ( wpinv_display_individual_tax_rates() && ! empty( $taxes ) ) { |
|
235 | - $this->response['texts']['.getpaid-form-cart-totals-total-tax'] = $markup; |
|
236 | - } |
|
237 | - |
|
238 | - $this->response = array_merge( |
|
239 | - $this->response, |
|
240 | - array( 'taxes' => $taxes ) |
|
241 | - ); |
|
242 | - |
|
243 | - } |
|
244 | - |
|
245 | - /** |
|
246 | - * Adds gateways to a response for submission refresh prices. |
|
247 | - * |
|
248 | - * @param GetPaid_Payment_Form_Submission $submission |
|
249 | - */ |
|
250 | - public function add_gateways( $submission ) { |
|
251 | - |
|
252 | - $gateways = array_keys( wpinv_get_enabled_payment_gateways() ); |
|
253 | - |
|
254 | - if ( $this->response['has_recurring'] ) { |
|
255 | - |
|
256 | - foreach ( $gateways as $i => $gateway ) { |
|
257 | - |
|
258 | - if ( |
|
259 | - ! getpaid_payment_gateway_supports( $gateway, 'subscription' ) |
|
260 | - || ( $this->response['has_subscription_group'] && ! getpaid_payment_gateway_supports( $gateway, 'single_subscription_group' ) ) |
|
261 | - || ( $this->response['has_multiple_subscription_groups'] && ! getpaid_payment_gateway_supports( $gateway, 'multiple_subscription_groups' ) ) ) { |
|
262 | - unset( $gateways[ $i ] ); |
|
263 | - } |
|
264 | - |
|
265 | - } |
|
266 | - |
|
267 | - } |
|
268 | - |
|
269 | - $gateways = apply_filters( 'getpaid_submission_gateways', $gateways, $submission ); |
|
270 | - $this->response = array_merge( |
|
271 | - $this->response, |
|
272 | - array( 'gateways' => $gateways ) |
|
273 | - ); |
|
274 | - |
|
275 | - } |
|
276 | - |
|
277 | - /** |
|
278 | - * Adds data to a response for submission refresh prices. |
|
279 | - * |
|
280 | - * @param GetPaid_Payment_Form_Submission $submission |
|
281 | - */ |
|
282 | - public function add_data( $submission ) { |
|
283 | - |
|
284 | - $this->response = array_merge( |
|
285 | - $this->response, |
|
286 | - array( |
|
287 | - 'js_data' => apply_filters( |
|
288 | - 'getpaid_submission_js_data', |
|
289 | - array( |
|
290 | - 'is_recurring' => $this->response['has_recurring'], |
|
291 | - ), |
|
292 | - $submission |
|
293 | - ) |
|
294 | - ) |
|
295 | - ); |
|
296 | - |
|
297 | - } |
|
228 | + $name = sanitize_text_field( $name ); |
|
229 | + $amount = $submission->format_amount( $data['initial_tax'] ); |
|
230 | + $taxes[$name] = $amount; |
|
231 | + $markup .= "<small class='form-text'>$name : $amount</small>"; |
|
232 | + } |
|
233 | + |
|
234 | + if ( wpinv_display_individual_tax_rates() && ! empty( $taxes ) ) { |
|
235 | + $this->response['texts']['.getpaid-form-cart-totals-total-tax'] = $markup; |
|
236 | + } |
|
237 | + |
|
238 | + $this->response = array_merge( |
|
239 | + $this->response, |
|
240 | + array( 'taxes' => $taxes ) |
|
241 | + ); |
|
242 | + |
|
243 | + } |
|
244 | + |
|
245 | + /** |
|
246 | + * Adds gateways to a response for submission refresh prices. |
|
247 | + * |
|
248 | + * @param GetPaid_Payment_Form_Submission $submission |
|
249 | + */ |
|
250 | + public function add_gateways( $submission ) { |
|
251 | + |
|
252 | + $gateways = array_keys( wpinv_get_enabled_payment_gateways() ); |
|
253 | + |
|
254 | + if ( $this->response['has_recurring'] ) { |
|
255 | + |
|
256 | + foreach ( $gateways as $i => $gateway ) { |
|
257 | + |
|
258 | + if ( |
|
259 | + ! getpaid_payment_gateway_supports( $gateway, 'subscription' ) |
|
260 | + || ( $this->response['has_subscription_group'] && ! getpaid_payment_gateway_supports( $gateway, 'single_subscription_group' ) ) |
|
261 | + || ( $this->response['has_multiple_subscription_groups'] && ! getpaid_payment_gateway_supports( $gateway, 'multiple_subscription_groups' ) ) ) { |
|
262 | + unset( $gateways[ $i ] ); |
|
263 | + } |
|
264 | + |
|
265 | + } |
|
266 | + |
|
267 | + } |
|
268 | + |
|
269 | + $gateways = apply_filters( 'getpaid_submission_gateways', $gateways, $submission ); |
|
270 | + $this->response = array_merge( |
|
271 | + $this->response, |
|
272 | + array( 'gateways' => $gateways ) |
|
273 | + ); |
|
274 | + |
|
275 | + } |
|
276 | + |
|
277 | + /** |
|
278 | + * Adds data to a response for submission refresh prices. |
|
279 | + * |
|
280 | + * @param GetPaid_Payment_Form_Submission $submission |
|
281 | + */ |
|
282 | + public function add_data( $submission ) { |
|
283 | + |
|
284 | + $this->response = array_merge( |
|
285 | + $this->response, |
|
286 | + array( |
|
287 | + 'js_data' => apply_filters( |
|
288 | + 'getpaid_submission_js_data', |
|
289 | + array( |
|
290 | + 'is_recurring' => $this->response['has_recurring'], |
|
291 | + ), |
|
292 | + $submission |
|
293 | + ) |
|
294 | + ) |
|
295 | + ); |
|
296 | + |
|
297 | + } |
|
298 | 298 | |
299 | 299 | } |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Payment form submission refresh prices class |
@@ -23,24 +23,24 @@ discard block |
||
23 | 23 | * |
24 | 24 | * @param GetPaid_Payment_Form_Submission $submission |
25 | 25 | */ |
26 | - public function __construct( $submission ) { |
|
26 | + public function __construct($submission) { |
|
27 | 27 | |
28 | 28 | $this->response = array( |
29 | 29 | 'submission_id' => $submission->id, |
30 | 30 | 'has_recurring' => $submission->has_recurring, |
31 | 31 | 'has_subscription_group' => $submission->has_subscription_group(), |
32 | 32 | 'has_multiple_subscription_groups' => $submission->has_multiple_subscription_groups(), |
33 | - 'is_free' => ! $submission->should_collect_payment_details(), |
|
33 | + 'is_free' => !$submission->should_collect_payment_details(), |
|
34 | 34 | ); |
35 | 35 | |
36 | - $this->add_totals( $submission ); |
|
37 | - $this->add_texts( $submission ); |
|
38 | - $this->add_items( $submission ); |
|
39 | - $this->add_fees( $submission ); |
|
40 | - $this->add_discounts( $submission ); |
|
41 | - $this->add_taxes( $submission ); |
|
42 | - $this->add_gateways( $submission ); |
|
43 | - $this->add_data( $submission ); |
|
36 | + $this->add_totals($submission); |
|
37 | + $this->add_texts($submission); |
|
38 | + $this->add_items($submission); |
|
39 | + $this->add_fees($submission); |
|
40 | + $this->add_discounts($submission); |
|
41 | + $this->add_taxes($submission); |
|
42 | + $this->add_gateways($submission); |
|
43 | + $this->add_data($submission); |
|
44 | 44 | |
45 | 45 | } |
46 | 46 | |
@@ -49,30 +49,30 @@ discard block |
||
49 | 49 | * |
50 | 50 | * @param GetPaid_Payment_Form_Submission $submission |
51 | 51 | */ |
52 | - public function add_totals( $submission ) { |
|
52 | + public function add_totals($submission) { |
|
53 | 53 | |
54 | 54 | $this->response = array_merge( |
55 | 55 | $this->response, |
56 | 56 | array( |
57 | 57 | |
58 | 58 | 'totals' => array( |
59 | - 'subtotal' => $submission->format_amount( $submission->get_subtotal() ), |
|
60 | - 'discount' => $submission->format_amount( $submission->get_discount() ), |
|
61 | - 'fees' => $submission->format_amount( $submission->get_fee() ), |
|
62 | - 'tax' => $submission->format_amount( $submission->get_tax() ), |
|
63 | - 'total' => $submission->format_amount( $submission->get_total() ), |
|
64 | - 'raw_total' => html_entity_decode( sanitize_text_field( $submission->format_amount( $submission->get_total() ) ), ENT_QUOTES ), |
|
59 | + 'subtotal' => $submission->format_amount($submission->get_subtotal()), |
|
60 | + 'discount' => $submission->format_amount($submission->get_discount()), |
|
61 | + 'fees' => $submission->format_amount($submission->get_fee()), |
|
62 | + 'tax' => $submission->format_amount($submission->get_tax()), |
|
63 | + 'total' => $submission->format_amount($submission->get_total()), |
|
64 | + 'raw_total' => html_entity_decode(sanitize_text_field($submission->format_amount($submission->get_total())), ENT_QUOTES), |
|
65 | 65 | ), |
66 | 66 | |
67 | 67 | 'recurring' => array( |
68 | - 'subtotal' => $submission->format_amount( $submission->get_recurring_subtotal() ), |
|
69 | - 'discount' => $submission->format_amount( $submission->get_recurring_discount() ), |
|
70 | - 'fees' => $submission->format_amount( $submission->get_recurring_fee() ), |
|
71 | - 'tax' => $submission->format_amount( $submission->get_recurring_tax() ), |
|
72 | - 'total' => $submission->format_amount( $submission->get_recurring_total() ), |
|
68 | + 'subtotal' => $submission->format_amount($submission->get_recurring_subtotal()), |
|
69 | + 'discount' => $submission->format_amount($submission->get_recurring_discount()), |
|
70 | + 'fees' => $submission->format_amount($submission->get_recurring_fee()), |
|
71 | + 'tax' => $submission->format_amount($submission->get_recurring_tax()), |
|
72 | + 'total' => $submission->format_amount($submission->get_recurring_total()), |
|
73 | 73 | ), |
74 | 74 | |
75 | - 'initial_amt' => wpinv_round_amount( $submission->get_total(), null, true ), |
|
75 | + 'initial_amt' => wpinv_round_amount($submission->get_total(), null, true), |
|
76 | 76 | 'currency' => $submission->get_currency(), |
77 | 77 | |
78 | 78 | ) |
@@ -85,53 +85,53 @@ discard block |
||
85 | 85 | * |
86 | 86 | * @param GetPaid_Payment_Form_Submission $submission |
87 | 87 | */ |
88 | - public function add_texts( $submission ) { |
|
88 | + public function add_texts($submission) { |
|
89 | 89 | |
90 | - $payable = $submission->format_amount( $submission->get_total() ); |
|
91 | - $groups = getpaid_get_subscription_groups( $submission ); |
|
90 | + $payable = $submission->format_amount($submission->get_total()); |
|
91 | + $groups = getpaid_get_subscription_groups($submission); |
|
92 | 92 | |
93 | - if ( $submission->has_recurring && 2 > count( $groups ) ) { |
|
93 | + if ($submission->has_recurring && 2 > count($groups)) { |
|
94 | 94 | |
95 | - $recurring = new WPInv_Item( $submission->has_recurring ); |
|
96 | - $period = getpaid_get_subscription_period_label( $recurring->get_recurring_period( true ), $recurring->get_recurring_interval(), '' ); |
|
97 | - $main_item = reset( $groups ); |
|
95 | + $recurring = new WPInv_Item($submission->has_recurring); |
|
96 | + $period = getpaid_get_subscription_period_label($recurring->get_recurring_period(true), $recurring->get_recurring_interval(), ''); |
|
97 | + $main_item = reset($groups); |
|
98 | 98 | |
99 | - if ( $submission->get_total() == $submission->get_recurring_total() ) { |
|
99 | + if ($submission->get_total() == $submission->get_recurring_total()) { |
|
100 | 100 | $payable = "$payable / $period"; |
101 | - } else if ( $main_item ) { |
|
101 | + } else if ($main_item) { |
|
102 | 102 | |
103 | - $main_item = reset( $main_item ); |
|
103 | + $main_item = reset($main_item); |
|
104 | 104 | |
105 | 105 | // Calculate the next renewal date. |
106 | - $_period = $main_item->get_recurring_period( true ); |
|
106 | + $_period = $main_item->get_recurring_period(true); |
|
107 | 107 | $_interval = $main_item->get_recurring_interval(); |
108 | 108 | |
109 | 109 | // If the subscription item has a trial period... |
110 | - if ( $main_item->has_free_trial() ) { |
|
111 | - $_period = $main_item->get_trial_period( true ); |
|
110 | + if ($main_item->has_free_trial()) { |
|
111 | + $_period = $main_item->get_trial_period(true); |
|
112 | 112 | $_interval = $main_item->get_trial_interval(); |
113 | 113 | } |
114 | 114 | |
115 | 115 | $payable = sprintf( |
116 | - __( '%1$s (renews at %2$s / %3$s)', 'invoicing' ), |
|
117 | - $submission->format_amount( $submission->get_total() ), |
|
118 | - $submission->format_amount( $submission->get_recurring_total() ), |
|
116 | + __('%1$s (renews at %2$s / %3$s)', 'invoicing'), |
|
117 | + $submission->format_amount($submission->get_total()), |
|
118 | + $submission->format_amount($submission->get_recurring_total()), |
|
119 | 119 | $period |
120 | 120 | ); |
121 | 121 | |
122 | 122 | $payable .= sprintf( |
123 | 123 | '<small class="text-muted form-text">%s</small>', |
124 | 124 | sprintf( |
125 | - __( 'First renewal on %s', 'invoicing' ), |
|
126 | - getpaid_format_date( date( 'Y-m-d H:i:s', strtotime( "+$_interval $_period", current_time( 'timestamp' ) ) ) ) |
|
125 | + __('First renewal on %s', 'invoicing'), |
|
126 | + getpaid_format_date(date('Y-m-d H:i:s', strtotime("+$_interval $_period", current_time('timestamp')))) |
|
127 | 127 | ) |
128 | 128 | ); |
129 | 129 | |
130 | 130 | } else { |
131 | 131 | $payable = sprintf( |
132 | - __( '%1$s (renews at %2$s / %3$s)', 'invoicing' ), |
|
133 | - $submission->format_amount( $submission->get_total() ), |
|
134 | - $submission->format_amount( $submission->get_recurring_total() ), |
|
132 | + __('%1$s (renews at %2$s / %3$s)', 'invoicing'), |
|
133 | + $submission->format_amount($submission->get_total()), |
|
134 | + $submission->format_amount($submission->get_recurring_total()), |
|
135 | 135 | $period |
136 | 136 | ); |
137 | 137 | } |
@@ -142,14 +142,14 @@ discard block |
||
142 | 142 | '.getpaid-checkout-total-payable' => $payable, |
143 | 143 | ); |
144 | 144 | |
145 | - foreach ( $submission->get_items() as $item ) { |
|
145 | + foreach ($submission->get_items() as $item) { |
|
146 | 146 | $item_id = $item->get_id(); |
147 | - $initial_price = $submission->format_amount( $item->get_sub_total() - $item->item_discount ); |
|
148 | - $recurring_price = $submission->format_amount( $item->get_sub_total() - $item->recurring_item_discount ); |
|
149 | - $texts[".item-$item_id .getpaid-form-item-price-desc"] = getpaid_item_recurring_price_help_text( $item, $submission->get_currency(), $initial_price, $recurring_price ); |
|
147 | + $initial_price = $submission->format_amount($item->get_sub_total() - $item->item_discount); |
|
148 | + $recurring_price = $submission->format_amount($item->get_sub_total() - $item->recurring_item_discount); |
|
149 | + $texts[".item-$item_id .getpaid-form-item-price-desc"] = getpaid_item_recurring_price_help_text($item, $submission->get_currency(), $initial_price, $recurring_price); |
|
150 | 150 | } |
151 | 151 | |
152 | - $this->response = array_merge( $this->response, array( 'texts' => $texts ) ); |
|
152 | + $this->response = array_merge($this->response, array('texts' => $texts)); |
|
153 | 153 | |
154 | 154 | } |
155 | 155 | |
@@ -158,19 +158,19 @@ discard block |
||
158 | 158 | * |
159 | 159 | * @param GetPaid_Payment_Form_Submission $submission |
160 | 160 | */ |
161 | - public function add_items( $submission ) { |
|
161 | + public function add_items($submission) { |
|
162 | 162 | |
163 | 163 | // Add items. |
164 | 164 | $items = array(); |
165 | 165 | |
166 | - foreach ( $submission->get_items() as $item ) { |
|
166 | + foreach ($submission->get_items() as $item) { |
|
167 | 167 | $item_id = $item->get_id(); |
168 | - $items["$item_id"] = $submission->format_amount( $item->get_sub_total() ); |
|
168 | + $items["$item_id"] = $submission->format_amount($item->get_sub_total()); |
|
169 | 169 | } |
170 | 170 | |
171 | 171 | $this->response = array_merge( |
172 | 172 | $this->response, |
173 | - array( 'items' => $items ) |
|
173 | + array('items' => $items) |
|
174 | 174 | ); |
175 | 175 | |
176 | 176 | } |
@@ -180,17 +180,17 @@ discard block |
||
180 | 180 | * |
181 | 181 | * @param GetPaid_Payment_Form_Submission $submission |
182 | 182 | */ |
183 | - public function add_fees( $submission ) { |
|
183 | + public function add_fees($submission) { |
|
184 | 184 | |
185 | 185 | $fees = array(); |
186 | 186 | |
187 | - foreach ( $submission->get_fees() as $name => $data ) { |
|
188 | - $fees[$name] = $submission->format_amount( $data['initial_fee'] ); |
|
187 | + foreach ($submission->get_fees() as $name => $data) { |
|
188 | + $fees[$name] = $submission->format_amount($data['initial_fee']); |
|
189 | 189 | } |
190 | 190 | |
191 | 191 | $this->response = array_merge( |
192 | 192 | $this->response, |
193 | - array( 'fees' => $fees ) |
|
193 | + array('fees' => $fees) |
|
194 | 194 | ); |
195 | 195 | |
196 | 196 | } |
@@ -200,17 +200,17 @@ discard block |
||
200 | 200 | * |
201 | 201 | * @param GetPaid_Payment_Form_Submission $submission |
202 | 202 | */ |
203 | - public function add_discounts( $submission ) { |
|
203 | + public function add_discounts($submission) { |
|
204 | 204 | |
205 | 205 | $discounts = array(); |
206 | 206 | |
207 | - foreach ( $submission->get_discounts() as $name => $data ) { |
|
208 | - $discounts[$name] = $submission->format_amount( $data['initial_discount'] ); |
|
207 | + foreach ($submission->get_discounts() as $name => $data) { |
|
208 | + $discounts[$name] = $submission->format_amount($data['initial_discount']); |
|
209 | 209 | } |
210 | 210 | |
211 | 211 | $this->response = array_merge( |
212 | 212 | $this->response, |
213 | - array( 'discounts' => $discounts ) |
|
213 | + array('discounts' => $discounts) |
|
214 | 214 | ); |
215 | 215 | |
216 | 216 | } |
@@ -220,24 +220,24 @@ discard block |
||
220 | 220 | * |
221 | 221 | * @param GetPaid_Payment_Form_Submission $submission |
222 | 222 | */ |
223 | - public function add_taxes( $submission ) { |
|
223 | + public function add_taxes($submission) { |
|
224 | 224 | |
225 | 225 | $taxes = array(); |
226 | 226 | $markup = ''; |
227 | - foreach ( $submission->get_taxes() as $name => $data ) { |
|
228 | - $name = sanitize_text_field( $name ); |
|
229 | - $amount = $submission->format_amount( $data['initial_tax'] ); |
|
227 | + foreach ($submission->get_taxes() as $name => $data) { |
|
228 | + $name = sanitize_text_field($name); |
|
229 | + $amount = $submission->format_amount($data['initial_tax']); |
|
230 | 230 | $taxes[$name] = $amount; |
231 | 231 | $markup .= "<small class='form-text'>$name : $amount</small>"; |
232 | 232 | } |
233 | 233 | |
234 | - if ( wpinv_display_individual_tax_rates() && ! empty( $taxes ) ) { |
|
234 | + if (wpinv_display_individual_tax_rates() && !empty($taxes)) { |
|
235 | 235 | $this->response['texts']['.getpaid-form-cart-totals-total-tax'] = $markup; |
236 | 236 | } |
237 | 237 | |
238 | 238 | $this->response = array_merge( |
239 | 239 | $this->response, |
240 | - array( 'taxes' => $taxes ) |
|
240 | + array('taxes' => $taxes) |
|
241 | 241 | ); |
242 | 242 | |
243 | 243 | } |
@@ -247,29 +247,29 @@ discard block |
||
247 | 247 | * |
248 | 248 | * @param GetPaid_Payment_Form_Submission $submission |
249 | 249 | */ |
250 | - public function add_gateways( $submission ) { |
|
250 | + public function add_gateways($submission) { |
|
251 | 251 | |
252 | - $gateways = array_keys( wpinv_get_enabled_payment_gateways() ); |
|
252 | + $gateways = array_keys(wpinv_get_enabled_payment_gateways()); |
|
253 | 253 | |
254 | - if ( $this->response['has_recurring'] ) { |
|
254 | + if ($this->response['has_recurring']) { |
|
255 | 255 | |
256 | - foreach ( $gateways as $i => $gateway ) { |
|
256 | + foreach ($gateways as $i => $gateway) { |
|
257 | 257 | |
258 | 258 | if ( |
259 | - ! getpaid_payment_gateway_supports( $gateway, 'subscription' ) |
|
260 | - || ( $this->response['has_subscription_group'] && ! getpaid_payment_gateway_supports( $gateway, 'single_subscription_group' ) ) |
|
261 | - || ( $this->response['has_multiple_subscription_groups'] && ! getpaid_payment_gateway_supports( $gateway, 'multiple_subscription_groups' ) ) ) { |
|
262 | - unset( $gateways[ $i ] ); |
|
259 | + !getpaid_payment_gateway_supports($gateway, 'subscription') |
|
260 | + || ($this->response['has_subscription_group'] && !getpaid_payment_gateway_supports($gateway, 'single_subscription_group')) |
|
261 | + || ($this->response['has_multiple_subscription_groups'] && !getpaid_payment_gateway_supports($gateway, 'multiple_subscription_groups')) ) { |
|
262 | + unset($gateways[$i]); |
|
263 | 263 | } |
264 | 264 | |
265 | 265 | } |
266 | 266 | |
267 | 267 | } |
268 | 268 | |
269 | - $gateways = apply_filters( 'getpaid_submission_gateways', $gateways, $submission ); |
|
269 | + $gateways = apply_filters('getpaid_submission_gateways', $gateways, $submission); |
|
270 | 270 | $this->response = array_merge( |
271 | 271 | $this->response, |
272 | - array( 'gateways' => $gateways ) |
|
272 | + array('gateways' => $gateways) |
|
273 | 273 | ); |
274 | 274 | |
275 | 275 | } |
@@ -279,7 +279,7 @@ discard block |
||
279 | 279 | * |
280 | 280 | * @param GetPaid_Payment_Form_Submission $submission |
281 | 281 | */ |
282 | - public function add_data( $submission ) { |
|
282 | + public function add_data($submission) { |
|
283 | 283 | |
284 | 284 | $this->response = array_merge( |
285 | 285 | $this->response, |
@@ -19,16 +19,16 @@ discard block |
||
19 | 19 | |
20 | 20 | // Define constants. |
21 | 21 | if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) { |
22 | - define( 'WPINV_PLUGIN_FILE', __FILE__ ); |
|
22 | + define( 'WPINV_PLUGIN_FILE', __FILE__ ); |
|
23 | 23 | } |
24 | 24 | |
25 | 25 | if ( ! defined( 'WPINV_VERSION' ) ) { |
26 | - define( 'WPINV_VERSION', '2.3.0' ); |
|
26 | + define( 'WPINV_VERSION', '2.3.0' ); |
|
27 | 27 | } |
28 | 28 | |
29 | 29 | // Include the main Invoicing class. |
30 | 30 | if ( ! class_exists( 'WPInv_Plugin', false ) ) { |
31 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php'; |
|
31 | + require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php'; |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | /** |
@@ -43,7 +43,7 @@ discard block |
||
43 | 43 | $GLOBALS['invoicing'] = new WPInv_Plugin(); |
44 | 44 | } |
45 | 45 | |
46 | - return $GLOBALS['invoicing']; |
|
46 | + return $GLOBALS['invoicing']; |
|
47 | 47 | } |
48 | 48 | |
49 | 49 | /** |
@@ -15,20 +15,20 @@ discard block |
||
15 | 15 | * @package GetPaid |
16 | 16 | */ |
17 | 17 | |
18 | -defined( 'ABSPATH' ) || exit; |
|
18 | +defined('ABSPATH') || exit; |
|
19 | 19 | |
20 | 20 | // Define constants. |
21 | -if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) { |
|
22 | - define( 'WPINV_PLUGIN_FILE', __FILE__ ); |
|
21 | +if (!defined('WPINV_PLUGIN_FILE')) { |
|
22 | + define('WPINV_PLUGIN_FILE', __FILE__); |
|
23 | 23 | } |
24 | 24 | |
25 | -if ( ! defined( 'WPINV_VERSION' ) ) { |
|
26 | - define( 'WPINV_VERSION', '2.3.0' ); |
|
25 | +if (!defined('WPINV_VERSION')) { |
|
26 | + define('WPINV_VERSION', '2.3.0'); |
|
27 | 27 | } |
28 | 28 | |
29 | 29 | // Include the main Invoicing class. |
30 | -if ( ! class_exists( 'WPInv_Plugin', false ) ) { |
|
31 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php'; |
|
30 | +if (!class_exists('WPInv_Plugin', false)) { |
|
31 | + require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/class-wpinv.php'; |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | /** |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | */ |
40 | 40 | function getpaid() { |
41 | 41 | |
42 | - if ( empty( $GLOBALS['invoicing'] ) ) { |
|
42 | + if (empty($GLOBALS['invoicing'])) { |
|
43 | 43 | $GLOBALS['invoicing'] = new WPInv_Plugin(); |
44 | 44 | } |
45 | 45 | |
@@ -52,9 +52,9 @@ discard block |
||
52 | 52 | * @since 2.0.8 |
53 | 53 | */ |
54 | 54 | function getpaid_deactivation_hook() { |
55 | - update_option( 'wpinv_flush_permalinks', 1 ); |
|
55 | + update_option('wpinv_flush_permalinks', 1); |
|
56 | 56 | } |
57 | -register_deactivation_hook( __FILE__, 'getpaid_deactivation_hook' ); |
|
57 | +register_deactivation_hook(__FILE__, 'getpaid_deactivation_hook'); |
|
58 | 58 | |
59 | 59 | /** |
60 | 60 | * @deprecated |
@@ -64,4 +64,4 @@ discard block |
||
64 | 64 | } |
65 | 65 | |
66 | 66 | // Kickstart the plugin. |
67 | -add_action( 'plugins_loaded', 'getpaid', -100 ); |
|
67 | +add_action('plugins_loaded', 'getpaid', -100); |
@@ -239,7 +239,7 @@ |
||
239 | 239 | do_action( 'getpaid_checkout_invoice_exception', $invoice ); |
240 | 240 | } |
241 | 241 | |
242 | - // Do we have any errors? |
|
242 | + // Do we have any errors? |
|
243 | 243 | if ( wpinv_get_errors() ) { |
244 | 244 | $response['data'] = getpaid_get_errors_html( true, false ); |
245 | 245 | } else { |
@@ -1,155 +1,155 @@ discard block |
||
1 | 1 | <?php |
2 | -function wpinv_is_subscription_payment( $invoice = '' ) { |
|
3 | - if ( empty( $invoice ) ) { |
|
2 | +function wpinv_is_subscription_payment($invoice = '') { |
|
3 | + if (empty($invoice)) { |
|
4 | 4 | return false; |
5 | 5 | } |
6 | 6 | |
7 | - if ( !is_object( $invoice ) && is_scalar( $invoice ) ) { |
|
8 | - $invoice = wpinv_get_invoice( $invoice ); |
|
7 | + if (!is_object($invoice) && is_scalar($invoice)) { |
|
8 | + $invoice = wpinv_get_invoice($invoice); |
|
9 | 9 | } |
10 | 10 | |
11 | - if ( empty( $invoice ) ) { |
|
11 | + if (empty($invoice)) { |
|
12 | 12 | return false; |
13 | 13 | } |
14 | 14 | |
15 | - if ( $invoice->is_renewal() ) { |
|
15 | + if ($invoice->is_renewal()) { |
|
16 | 16 | return true; |
17 | 17 | } |
18 | 18 | |
19 | 19 | return false; |
20 | 20 | } |
21 | 21 | |
22 | -function wpinv_payment_link_transaction_id( $invoice = '' ) { |
|
23 | - if ( empty( $invoice ) ) { |
|
22 | +function wpinv_payment_link_transaction_id($invoice = '') { |
|
23 | + if (empty($invoice)) { |
|
24 | 24 | return false; |
25 | 25 | } |
26 | 26 | |
27 | - if ( !is_object( $invoice ) && is_scalar( $invoice ) ) { |
|
28 | - $invoice = wpinv_get_invoice( $invoice ); |
|
27 | + if (!is_object($invoice) && is_scalar($invoice)) { |
|
28 | + $invoice = wpinv_get_invoice($invoice); |
|
29 | 29 | } |
30 | 30 | |
31 | - if ( empty( $invoice ) ) { |
|
31 | + if (empty($invoice)) { |
|
32 | 32 | return false; |
33 | 33 | } |
34 | 34 | |
35 | - return apply_filters( 'wpinv_payment_details_transaction_id-' . $invoice->gateway, $invoice->get_transaction_id(), $invoice->ID, $invoice ); |
|
35 | + return apply_filters('wpinv_payment_details_transaction_id-' . $invoice->gateway, $invoice->get_transaction_id(), $invoice->ID, $invoice); |
|
36 | 36 | } |
37 | 37 | |
38 | -function wpinv_subscription_initial_payment_desc( $amount, $period, $interval, $trial_period = '', $trial_interval = 0 ) { |
|
39 | - $interval = (int)$interval > 0 ? (int)$interval : 1; |
|
38 | +function wpinv_subscription_initial_payment_desc($amount, $period, $interval, $trial_period = '', $trial_interval = 0) { |
|
39 | + $interval = (int) $interval > 0 ? (int) $interval : 1; |
|
40 | 40 | |
41 | - if ( $trial_interval > 0 && !empty( $trial_period ) ) { |
|
42 | - $amount = __( 'Free', 'invoicing' ); |
|
41 | + if ($trial_interval > 0 && !empty($trial_period)) { |
|
42 | + $amount = __('Free', 'invoicing'); |
|
43 | 43 | $interval = $trial_interval; |
44 | 44 | $period = $trial_period; |
45 | 45 | } |
46 | 46 | |
47 | 47 | $description = ''; |
48 | - switch ( $period ) { |
|
48 | + switch ($period) { |
|
49 | 49 | case 'D' : |
50 | 50 | case 'day' : |
51 | - $description = wp_sprintf( _n( '%s for the first day.', '%s for the first %d days.', $interval, 'invoicing' ), $amount, $interval ); |
|
51 | + $description = wp_sprintf(_n('%s for the first day.', '%s for the first %d days.', $interval, 'invoicing'), $amount, $interval); |
|
52 | 52 | break; |
53 | 53 | case 'W' : |
54 | 54 | case 'week' : |
55 | - $description = wp_sprintf( _n( '%s for the first week.', '%s for the first %d weeks.', $interval, 'invoicing' ), $amount, $interval ); |
|
55 | + $description = wp_sprintf(_n('%s for the first week.', '%s for the first %d weeks.', $interval, 'invoicing'), $amount, $interval); |
|
56 | 56 | break; |
57 | 57 | case 'M' : |
58 | 58 | case 'month' : |
59 | - $description = wp_sprintf( _n( '%s for the first month.', '%s for the first %d months.', $interval, 'invoicing' ), $amount, $interval ); |
|
59 | + $description = wp_sprintf(_n('%s for the first month.', '%s for the first %d months.', $interval, 'invoicing'), $amount, $interval); |
|
60 | 60 | break; |
61 | 61 | case 'Y' : |
62 | 62 | case 'year' : |
63 | - $description = wp_sprintf( _n( '%s for the first year.', '%s for the first %d years.', $interval, 'invoicing' ), $amount, $interval ); |
|
63 | + $description = wp_sprintf(_n('%s for the first year.', '%s for the first %d years.', $interval, 'invoicing'), $amount, $interval); |
|
64 | 64 | break; |
65 | 65 | } |
66 | 66 | |
67 | - return apply_filters( 'wpinv_subscription_initial_payment_desc', $description, $amount, $period, $interval, $trial_period, $trial_interval ); |
|
67 | + return apply_filters('wpinv_subscription_initial_payment_desc', $description, $amount, $period, $interval, $trial_period, $trial_interval); |
|
68 | 68 | } |
69 | 69 | |
70 | -function wpinv_subscription_recurring_payment_desc( $amount, $period, $interval, $bill_times = 0, $trial_period = '', $trial_interval = 0 ) { |
|
71 | - $interval = (int)$interval > 0 ? (int)$interval : 1; |
|
72 | - $bill_times = (int)$bill_times > 0 ? (int)$bill_times : 0; |
|
70 | +function wpinv_subscription_recurring_payment_desc($amount, $period, $interval, $bill_times = 0, $trial_period = '', $trial_interval = 0) { |
|
71 | + $interval = (int) $interval > 0 ? (int) $interval : 1; |
|
72 | + $bill_times = (int) $bill_times > 0 ? (int) $bill_times : 0; |
|
73 | 73 | |
74 | 74 | $description = ''; |
75 | - switch ( $period ) { |
|
75 | + switch ($period) { |
|
76 | 76 | case 'D' : |
77 | 77 | case 'day' : |
78 | - if ( (int)$bill_times > 0 ) { |
|
79 | - if ( $interval > 1 ) { |
|
80 | - if ( $bill_times > 1 ) { |
|
81 | - $description = wp_sprintf( __( '%s for each %d days, for %d installments.', 'invoicing' ), $amount, $interval, $bill_times ); |
|
78 | + if ((int) $bill_times > 0) { |
|
79 | + if ($interval > 1) { |
|
80 | + if ($bill_times > 1) { |
|
81 | + $description = wp_sprintf(__('%s for each %d days, for %d installments.', 'invoicing'), $amount, $interval, $bill_times); |
|
82 | 82 | } else { |
83 | - $description = wp_sprintf( __( '%s for %d days.', 'invoicing' ), $amount, $interval ); |
|
83 | + $description = wp_sprintf(__('%s for %d days.', 'invoicing'), $amount, $interval); |
|
84 | 84 | } |
85 | 85 | } else { |
86 | - $description = wp_sprintf( _n( '%s for one day.', '%s for each day, for %d installments.', $bill_times, 'invoicing' ), $amount, $bill_times ); |
|
86 | + $description = wp_sprintf(_n('%s for one day.', '%s for each day, for %d installments.', $bill_times, 'invoicing'), $amount, $bill_times); |
|
87 | 87 | } |
88 | 88 | } else { |
89 | - $description = wp_sprintf( _n( '%s for each day.', '%s for each %d days.', $interval, 'invoicing'), $amount, $interval ); |
|
89 | + $description = wp_sprintf(_n('%s for each day.', '%s for each %d days.', $interval, 'invoicing'), $amount, $interval); |
|
90 | 90 | } |
91 | 91 | break; |
92 | 92 | case 'W' : |
93 | 93 | case 'week' : |
94 | - if ( (int)$bill_times > 0 ) { |
|
95 | - if ( $interval > 1 ) { |
|
96 | - if ( $bill_times > 1 ) { |
|
97 | - $description = wp_sprintf( __( '%s for each %d weeks, for %d installments.', 'invoicing' ), $amount, $interval, $bill_times ); |
|
94 | + if ((int) $bill_times > 0) { |
|
95 | + if ($interval > 1) { |
|
96 | + if ($bill_times > 1) { |
|
97 | + $description = wp_sprintf(__('%s for each %d weeks, for %d installments.', 'invoicing'), $amount, $interval, $bill_times); |
|
98 | 98 | } else { |
99 | - $description = wp_sprintf( __( '%s for %d weeks.', 'invoicing' ), $amount, $interval ); |
|
99 | + $description = wp_sprintf(__('%s for %d weeks.', 'invoicing'), $amount, $interval); |
|
100 | 100 | } |
101 | 101 | } else { |
102 | - $description = wp_sprintf( _n( '%s for one week.', '%s for each week, for %d installments.', $bill_times, 'invoicing' ), $amount, $bill_times ); |
|
102 | + $description = wp_sprintf(_n('%s for one week.', '%s for each week, for %d installments.', $bill_times, 'invoicing'), $amount, $bill_times); |
|
103 | 103 | } |
104 | 104 | } else { |
105 | - $description = wp_sprintf( _n( '%s for each week.', '%s for each %d weeks.', $interval, 'invoicing' ), $amount, $interval ); |
|
105 | + $description = wp_sprintf(_n('%s for each week.', '%s for each %d weeks.', $interval, 'invoicing'), $amount, $interval); |
|
106 | 106 | } |
107 | 107 | break; |
108 | 108 | case 'M' : |
109 | 109 | case 'month' : |
110 | - if ( (int)$bill_times > 0 ) { |
|
111 | - if ( $interval > 1 ) { |
|
112 | - if ( $bill_times > 1 ) { |
|
113 | - $description = wp_sprintf( __( '%s for each %d months, for %d installments.', 'invoicing' ), $amount, $interval, $bill_times ); |
|
110 | + if ((int) $bill_times > 0) { |
|
111 | + if ($interval > 1) { |
|
112 | + if ($bill_times > 1) { |
|
113 | + $description = wp_sprintf(__('%s for each %d months, for %d installments.', 'invoicing'), $amount, $interval, $bill_times); |
|
114 | 114 | } else { |
115 | - $description = wp_sprintf( __( '%s for %d months.', 'invoicing' ), $amount, $interval ); |
|
115 | + $description = wp_sprintf(__('%s for %d months.', 'invoicing'), $amount, $interval); |
|
116 | 116 | } |
117 | 117 | } else { |
118 | - $description = wp_sprintf( _n( '%s for one month.', '%s for each month, for %d installments.', $bill_times, 'invoicing' ), $amount, $bill_times ); |
|
118 | + $description = wp_sprintf(_n('%s for one month.', '%s for each month, for %d installments.', $bill_times, 'invoicing'), $amount, $bill_times); |
|
119 | 119 | } |
120 | 120 | } else { |
121 | - $description = wp_sprintf( _n( '%s for each month.', '%s for each %d months.', $interval, 'invoicing' ), $amount, $interval ); |
|
121 | + $description = wp_sprintf(_n('%s for each month.', '%s for each %d months.', $interval, 'invoicing'), $amount, $interval); |
|
122 | 122 | } |
123 | 123 | break; |
124 | 124 | case 'Y' : |
125 | 125 | case 'year' : |
126 | - if ( (int)$bill_times > 0 ) { |
|
127 | - if ( $interval > 1 ) { |
|
128 | - if ( $bill_times > 1 ) { |
|
129 | - $description = wp_sprintf( __( '%s for each %d years, for %d installments.', 'invoicing' ), $amount, $interval, $bill_times ); |
|
126 | + if ((int) $bill_times > 0) { |
|
127 | + if ($interval > 1) { |
|
128 | + if ($bill_times > 1) { |
|
129 | + $description = wp_sprintf(__('%s for each %d years, for %d installments.', 'invoicing'), $amount, $interval, $bill_times); |
|
130 | 130 | } else { |
131 | - $description = wp_sprintf( __( '%s for %d years.', 'invoicing'), $amount, $interval ); |
|
131 | + $description = wp_sprintf(__('%s for %d years.', 'invoicing'), $amount, $interval); |
|
132 | 132 | } |
133 | 133 | } else { |
134 | - $description = wp_sprintf( _n( '%s for one year.', '%s for each year, for %d installments.', $bill_times, 'invoicing' ), $amount, $bill_times ); |
|
134 | + $description = wp_sprintf(_n('%s for one year.', '%s for each year, for %d installments.', $bill_times, 'invoicing'), $amount, $bill_times); |
|
135 | 135 | } |
136 | 136 | } else { |
137 | - $description = wp_sprintf( _n( '%s for each year.', '%s for each %d years.', $interval, 'invoicing' ), $amount, $interval ); |
|
137 | + $description = wp_sprintf(_n('%s for each year.', '%s for each %d years.', $interval, 'invoicing'), $amount, $interval); |
|
138 | 138 | } |
139 | 139 | break; |
140 | 140 | } |
141 | 141 | |
142 | - return apply_filters( 'wpinv_subscription_recurring_payment_desc', $description, $amount, $period, $interval, $bill_times, $trial_period, $trial_interval ); |
|
142 | + return apply_filters('wpinv_subscription_recurring_payment_desc', $description, $amount, $period, $interval, $bill_times, $trial_period, $trial_interval); |
|
143 | 143 | } |
144 | 144 | |
145 | -function wpinv_subscription_payment_desc( $invoice ) { |
|
146 | - if ( empty( $invoice ) ) { |
|
145 | +function wpinv_subscription_payment_desc($invoice) { |
|
146 | + if (empty($invoice)) { |
|
147 | 147 | return NULL; |
148 | 148 | } |
149 | 149 | |
150 | 150 | $description = ''; |
151 | - if ( $invoice->is_parent() && $item = $invoice->get_recurring( true ) ) { |
|
152 | - if ( $item->has_free_trial() ) { |
|
151 | + if ($invoice->is_parent() && $item = $invoice->get_recurring(true)) { |
|
152 | + if ($item->has_free_trial()) { |
|
153 | 153 | $trial_period = $item->get_trial_period(); |
154 | 154 | $trial_interval = $item->get_trial_interval(); |
155 | 155 | } else { |
@@ -157,40 +157,40 @@ discard block |
||
157 | 157 | $trial_interval = 0; |
158 | 158 | } |
159 | 159 | |
160 | - $description = wpinv_get_billing_cycle( $invoice->get_total(), $invoice->get_recurring_details( 'total' ), $item->get_recurring_period(), $item->get_recurring_interval(), $item->get_recurring_limit(), $trial_period, $trial_interval, $invoice->get_currency() ); |
|
160 | + $description = wpinv_get_billing_cycle($invoice->get_total(), $invoice->get_recurring_details('total'), $item->get_recurring_period(), $item->get_recurring_interval(), $item->get_recurring_limit(), $trial_period, $trial_interval, $invoice->get_currency()); |
|
161 | 161 | } |
162 | 162 | |
163 | - return apply_filters( 'wpinv_subscription_payment_desc', $description, $invoice ); |
|
163 | + return apply_filters('wpinv_subscription_payment_desc', $description, $invoice); |
|
164 | 164 | } |
165 | 165 | |
166 | -function wpinv_get_billing_cycle( $initial, $recurring, $period, $interval, $bill_times, $trial_period = '', $trial_interval = 0, $currency = '' ) { |
|
167 | - $initial_total = wpinv_round_amount( $initial ); |
|
168 | - $recurring_total = wpinv_round_amount( $recurring ); |
|
166 | +function wpinv_get_billing_cycle($initial, $recurring, $period, $interval, $bill_times, $trial_period = '', $trial_interval = 0, $currency = '') { |
|
167 | + $initial_total = wpinv_round_amount($initial); |
|
168 | + $recurring_total = wpinv_round_amount($recurring); |
|
169 | 169 | |
170 | - if ( $trial_interval > 0 && !empty( $trial_period ) ) { |
|
170 | + if ($trial_interval > 0 && !empty($trial_period)) { |
|
171 | 171 | // Free trial |
172 | 172 | } else { |
173 | - if ( $bill_times == 1 ) { |
|
173 | + if ($bill_times == 1) { |
|
174 | 174 | $recurring_total = $initial_total; |
175 | - } else if ( $bill_times > 1 && $initial_total != $recurring_total ) { |
|
175 | + } else if ($bill_times > 1 && $initial_total != $recurring_total) { |
|
176 | 176 | $bill_times--; |
177 | 177 | } |
178 | 178 | } |
179 | 179 | |
180 | - $initial_amount = wpinv_price( $initial_total, $currency ); |
|
181 | - $recurring_amount = wpinv_price( $recurring_total, $currency ); |
|
180 | + $initial_amount = wpinv_price($initial_total, $currency); |
|
181 | + $recurring_amount = wpinv_price($recurring_total, $currency); |
|
182 | 182 | |
183 | - $recurring = wpinv_subscription_recurring_payment_desc( $recurring_amount, $period, $interval, $bill_times, $trial_period, $trial_interval ); |
|
183 | + $recurring = wpinv_subscription_recurring_payment_desc($recurring_amount, $period, $interval, $bill_times, $trial_period, $trial_interval); |
|
184 | 184 | |
185 | - if ( $initial_total != $recurring_total ) { |
|
186 | - $initial = wpinv_subscription_initial_payment_desc( $initial_amount, $period, $interval, $trial_period, $trial_interval ); |
|
185 | + if ($initial_total != $recurring_total) { |
|
186 | + $initial = wpinv_subscription_initial_payment_desc($initial_amount, $period, $interval, $trial_period, $trial_interval); |
|
187 | 187 | |
188 | - $description = wp_sprintf( __( '%s Then %s', 'invoicing' ), $initial, $recurring ); |
|
188 | + $description = wp_sprintf(__('%s Then %s', 'invoicing'), $initial, $recurring); |
|
189 | 189 | } else { |
190 | 190 | $description = $recurring; |
191 | 191 | } |
192 | 192 | |
193 | - return apply_filters( 'wpinv_get_billing_cycle', $description, $initial, $recurring, $period, $interval, $bill_times, $trial_period, $trial_interval, $currency ); |
|
193 | + return apply_filters('wpinv_get_billing_cycle', $description, $initial, $recurring, $period, $interval, $bill_times, $trial_period, $trial_interval, $currency); |
|
194 | 194 | } |
195 | 195 | |
196 | 196 | /** |
@@ -200,27 +200,27 @@ discard block |
||
200 | 200 | * @param string $card_number Card number. |
201 | 201 | * @return string |
202 | 202 | */ |
203 | -function getpaid_get_card_name( $card_number ) { |
|
203 | +function getpaid_get_card_name($card_number) { |
|
204 | 204 | |
205 | 205 | // Known regexes. |
206 | 206 | $regexes = array( |
207 | - '/^4/' => __( 'Visa', 'invoicing' ), |
|
208 | - '/^5[1-5]/' => __( 'Mastercard', 'invoicing' ), |
|
209 | - '/^3[47]/' => __( 'Amex', 'invoicing' ), |
|
210 | - '/^3(?:0[0-5]|[68])/' => __( 'Diners Club', 'invoicing' ), |
|
211 | - '/^6(?:011|5)/' => __( 'Discover', 'invoicing' ), |
|
212 | - '/^(?:2131|1800|35\d{3})/' => __( 'JCB', 'invoicing' ), |
|
207 | + '/^4/' => __('Visa', 'invoicing'), |
|
208 | + '/^5[1-5]/' => __('Mastercard', 'invoicing'), |
|
209 | + '/^3[47]/' => __('Amex', 'invoicing'), |
|
210 | + '/^3(?:0[0-5]|[68])/' => __('Diners Club', 'invoicing'), |
|
211 | + '/^6(?:011|5)/' => __('Discover', 'invoicing'), |
|
212 | + '/^(?:2131|1800|35\d{3})/' => __('JCB', 'invoicing'), |
|
213 | 213 | ); |
214 | 214 | |
215 | 215 | // Confirm if one matches. |
216 | - foreach ( $regexes as $regex => $card ) { |
|
217 | - if ( preg_match ( $regex, $card_number ) >= 1 ) { |
|
216 | + foreach ($regexes as $regex => $card) { |
|
217 | + if (preg_match($regex, $card_number) >= 1) { |
|
218 | 218 | return $card; |
219 | 219 | } |
220 | 220 | } |
221 | 221 | |
222 | 222 | // None matched. |
223 | - return __( 'Card', 'invoicing' ); |
|
223 | + return __('Card', 'invoicing'); |
|
224 | 224 | |
225 | 225 | } |
226 | 226 | |
@@ -229,22 +229,22 @@ discard block |
||
229 | 229 | * |
230 | 230 | * @param WPInv_Invoice|int|null $invoice |
231 | 231 | */ |
232 | -function wpinv_send_back_to_checkout( $invoice = null ) { |
|
233 | - $response = array( 'success' => false ); |
|
234 | - $invoice = wpinv_get_invoice( $invoice ); |
|
232 | +function wpinv_send_back_to_checkout($invoice = null) { |
|
233 | + $response = array('success' => false); |
|
234 | + $invoice = wpinv_get_invoice($invoice); |
|
235 | 235 | |
236 | 236 | // Was an invoice created? |
237 | - if ( ! empty( $invoice ) ) { |
|
237 | + if (!empty($invoice)) { |
|
238 | 238 | $response['invoice'] = $invoice->get_id(); |
239 | - do_action( 'getpaid_checkout_invoice_exception', $invoice ); |
|
239 | + do_action('getpaid_checkout_invoice_exception', $invoice); |
|
240 | 240 | } |
241 | 241 | |
242 | 242 | // Do we have any errors? |
243 | - if ( wpinv_get_errors() ) { |
|
244 | - $response['data'] = getpaid_get_errors_html( true, false ); |
|
243 | + if (wpinv_get_errors()) { |
|
244 | + $response['data'] = getpaid_get_errors_html(true, false); |
|
245 | 245 | } else { |
246 | - $response['data'] = __( 'An error occured while processing your payment. Please try again.', 'invoicing' ); |
|
246 | + $response['data'] = __('An error occured while processing your payment. Please try again.', 'invoicing'); |
|
247 | 247 | } |
248 | 248 | |
249 | - wp_send_json( $response ); |
|
249 | + wp_send_json($response); |
|
250 | 250 | } |
@@ -12,180 +12,180 @@ discard block |
||
12 | 12 | */ |
13 | 13 | class GetPaid_Checkout { |
14 | 14 | |
15 | - /** |
|
16 | - * @var GetPaid_Payment_Form_Submission |
|
17 | - */ |
|
18 | - protected $payment_form_submission; |
|
19 | - |
|
20 | - /** |
|
21 | - * Class constructor. |
|
22 | - * |
|
23 | - * @param GetPaid_Payment_Form_Submission $submission |
|
24 | - */ |
|
25 | - public function __construct( $submission ) { |
|
26 | - $this->payment_form_submission = $submission; |
|
27 | - } |
|
28 | - |
|
29 | - /** |
|
30 | - * Processes the checkout. |
|
31 | - * |
|
32 | - */ |
|
33 | - public function process_checkout() { |
|
34 | - |
|
35 | - // Validate the submission. |
|
36 | - $this->validate_submission(); |
|
37 | - |
|
38 | - // Prepare the invoice. |
|
39 | - $items = $this->get_submission_items(); |
|
40 | - $invoice = $this->get_submission_invoice(); |
|
41 | - $invoice = $this->process_submission_invoice( $invoice, $items ); |
|
42 | - $prepared = $this->prepare_submission_data_for_saving(); |
|
43 | - |
|
44 | - $this->prepare_billing_info( $invoice ); |
|
45 | - |
|
46 | - $shipping = $this->prepare_shipping_info( $invoice ); |
|
47 | - |
|
48 | - // Save the invoice. |
|
49 | - $invoice->set_is_viewed( true ); |
|
50 | - $invoice->recalculate_total(); |
|
15 | + /** |
|
16 | + * @var GetPaid_Payment_Form_Submission |
|
17 | + */ |
|
18 | + protected $payment_form_submission; |
|
19 | + |
|
20 | + /** |
|
21 | + * Class constructor. |
|
22 | + * |
|
23 | + * @param GetPaid_Payment_Form_Submission $submission |
|
24 | + */ |
|
25 | + public function __construct( $submission ) { |
|
26 | + $this->payment_form_submission = $submission; |
|
27 | + } |
|
28 | + |
|
29 | + /** |
|
30 | + * Processes the checkout. |
|
31 | + * |
|
32 | + */ |
|
33 | + public function process_checkout() { |
|
34 | + |
|
35 | + // Validate the submission. |
|
36 | + $this->validate_submission(); |
|
37 | + |
|
38 | + // Prepare the invoice. |
|
39 | + $items = $this->get_submission_items(); |
|
40 | + $invoice = $this->get_submission_invoice(); |
|
41 | + $invoice = $this->process_submission_invoice( $invoice, $items ); |
|
42 | + $prepared = $this->prepare_submission_data_for_saving(); |
|
43 | + |
|
44 | + $this->prepare_billing_info( $invoice ); |
|
45 | + |
|
46 | + $shipping = $this->prepare_shipping_info( $invoice ); |
|
47 | + |
|
48 | + // Save the invoice. |
|
49 | + $invoice->set_is_viewed( true ); |
|
50 | + $invoice->recalculate_total(); |
|
51 | 51 | $invoice->save(); |
52 | 52 | |
53 | - do_action( 'getpaid_checkout_invoice_updated', $invoice ); |
|
53 | + do_action( 'getpaid_checkout_invoice_updated', $invoice ); |
|
54 | 54 | |
55 | - // Send to the gateway. |
|
56 | - $this->post_process_submission( $invoice, $prepared, $shipping ); |
|
57 | - } |
|
55 | + // Send to the gateway. |
|
56 | + $this->post_process_submission( $invoice, $prepared, $shipping ); |
|
57 | + } |
|
58 | 58 | |
59 | - /** |
|
60 | - * Validates the submission. |
|
61 | - * |
|
62 | - */ |
|
63 | - protected function validate_submission() { |
|
59 | + /** |
|
60 | + * Validates the submission. |
|
61 | + * |
|
62 | + */ |
|
63 | + protected function validate_submission() { |
|
64 | 64 | |
65 | - $submission = $this->payment_form_submission; |
|
66 | - $data = $submission->get_data(); |
|
65 | + $submission = $this->payment_form_submission; |
|
66 | + $data = $submission->get_data(); |
|
67 | 67 | |
68 | - // Do we have an error? |
|
68 | + // Do we have an error? |
|
69 | 69 | if ( ! empty( $submission->last_error ) ) { |
70 | - wp_send_json_error( $submission->last_error ); |
|
70 | + wp_send_json_error( $submission->last_error ); |
|
71 | 71 | } |
72 | 72 | |
73 | - // We need a billing email. |
|
73 | + // We need a billing email. |
|
74 | 74 | if ( ! $submission->has_billing_email() ) { |
75 | 75 | wp_send_json_error( __( 'Provide a valid billing email.', 'invoicing' ) ); |
76 | - } |
|
76 | + } |
|
77 | 77 | |
78 | - // Non-recurring gateways should not be allowed to process recurring invoices. |
|
79 | - if ( $submission->should_collect_payment_details() && $submission->has_recurring && ! wpinv_gateway_support_subscription( $data['wpi-gateway'] ) ) { |
|
80 | - wp_send_json_error( __( 'The selected payment gateway does not support subscription payments.', 'invoicing' ) ); |
|
81 | - } |
|
78 | + // Non-recurring gateways should not be allowed to process recurring invoices. |
|
79 | + if ( $submission->should_collect_payment_details() && $submission->has_recurring && ! wpinv_gateway_support_subscription( $data['wpi-gateway'] ) ) { |
|
80 | + wp_send_json_error( __( 'The selected payment gateway does not support subscription payments.', 'invoicing' ) ); |
|
81 | + } |
|
82 | 82 | |
83 | - // Ensure the gateway is active. |
|
84 | - if ( $submission->should_collect_payment_details() && ! wpinv_is_gateway_active( $data['wpi-gateway'] ) ) { |
|
85 | - wpinv_set_error( 'invalid_gateway', __( 'The selected payment gateway is not active', 'invoicing' ) ); |
|
86 | - } |
|
83 | + // Ensure the gateway is active. |
|
84 | + if ( $submission->should_collect_payment_details() && ! wpinv_is_gateway_active( $data['wpi-gateway'] ) ) { |
|
85 | + wpinv_set_error( 'invalid_gateway', __( 'The selected payment gateway is not active', 'invoicing' ) ); |
|
86 | + } |
|
87 | 87 | |
88 | - // Clear any existing errors. |
|
89 | - wpinv_clear_errors(); |
|
88 | + // Clear any existing errors. |
|
89 | + wpinv_clear_errors(); |
|
90 | 90 | |
91 | - // Allow themes and plugins to hook to errors |
|
92 | - do_action( 'getpaid_checkout_error_checks', $submission ); |
|
91 | + // Allow themes and plugins to hook to errors |
|
92 | + do_action( 'getpaid_checkout_error_checks', $submission ); |
|
93 | 93 | |
94 | - // Do we have any errors? |
|
94 | + // Do we have any errors? |
|
95 | 95 | if ( wpinv_get_errors() ) { |
96 | 96 | wp_send_json_error( getpaid_get_errors_html() ); |
97 | - } |
|
97 | + } |
|
98 | 98 | |
99 | - } |
|
99 | + } |
|
100 | 100 | |
101 | - /** |
|
102 | - * Retrieves submission items. |
|
103 | - * |
|
104 | - * @return GetPaid_Form_Item[] |
|
105 | - */ |
|
106 | - protected function get_submission_items() { |
|
101 | + /** |
|
102 | + * Retrieves submission items. |
|
103 | + * |
|
104 | + * @return GetPaid_Form_Item[] |
|
105 | + */ |
|
106 | + protected function get_submission_items() { |
|
107 | 107 | |
108 | - $items = $this->payment_form_submission->get_items(); |
|
108 | + $items = $this->payment_form_submission->get_items(); |
|
109 | 109 | |
110 | 110 | // Ensure that we have items. |
111 | 111 | if ( empty( $items ) && ! $this->payment_form_submission->has_fees() ) { |
112 | 112 | wp_send_json_error( __( 'Please provide at least one item or amount.', 'invoicing' ) ); |
113 | - } |
|
114 | - |
|
115 | - return $items; |
|
116 | - } |
|
117 | - |
|
118 | - /** |
|
119 | - * Retrieves submission invoice. |
|
120 | - * |
|
121 | - * @return WPInv_Invoice |
|
122 | - */ |
|
123 | - protected function get_submission_invoice() { |
|
124 | - $submission = $this->payment_form_submission; |
|
125 | - |
|
126 | - if ( ! $submission->has_invoice() ) { |
|
127 | - $invoice = new WPInv_Invoice(); |
|
128 | - $invoice->set_created_via( 'payment_form' ); |
|
129 | - return $invoice; |
|
130 | 113 | } |
131 | 114 | |
132 | - $invoice = $submission->get_invoice(); |
|
115 | + return $items; |
|
116 | + } |
|
133 | 117 | |
134 | - // Make sure that it is neither paid or refunded. |
|
135 | - if ( $invoice->is_paid() || $invoice->is_refunded() ) { |
|
136 | - wp_send_json_error( __( 'This invoice has already been paid for.', 'invoicing' ) ); |
|
137 | - } |
|
118 | + /** |
|
119 | + * Retrieves submission invoice. |
|
120 | + * |
|
121 | + * @return WPInv_Invoice |
|
122 | + */ |
|
123 | + protected function get_submission_invoice() { |
|
124 | + $submission = $this->payment_form_submission; |
|
138 | 125 | |
139 | - return $invoice; |
|
140 | - } |
|
126 | + if ( ! $submission->has_invoice() ) { |
|
127 | + $invoice = new WPInv_Invoice(); |
|
128 | + $invoice->set_created_via( 'payment_form' ); |
|
129 | + return $invoice; |
|
130 | + } |
|
141 | 131 | |
142 | - /** |
|
143 | - * Processes the submission invoice. |
|
144 | - * |
|
145 | - * @param WPInv_Invoice $invoice |
|
146 | - * @param GetPaid_Form_Item[] $items |
|
147 | - * @return WPInv_Invoice |
|
148 | - */ |
|
149 | - protected function process_submission_invoice( $invoice, $items ) { |
|
132 | + $invoice = $submission->get_invoice(); |
|
150 | 133 | |
151 | - $submission = $this->payment_form_submission; |
|
152 | - $data = $submission->get_data(); |
|
134 | + // Make sure that it is neither paid or refunded. |
|
135 | + if ( $invoice->is_paid() || $invoice->is_refunded() ) { |
|
136 | + wp_send_json_error( __( 'This invoice has already been paid for.', 'invoicing' ) ); |
|
137 | + } |
|
153 | 138 | |
154 | - // Set-up the invoice details. |
|
155 | - $invoice->set_email( sanitize_email( $submission->get_billing_email() ) ); |
|
156 | - $invoice->set_user_id( $this->get_submission_customer() ); |
|
157 | - $invoice->set_payment_form( absint( $submission->get_payment_form()->get_id() ) ); |
|
139 | + return $invoice; |
|
140 | + } |
|
141 | + |
|
142 | + /** |
|
143 | + * Processes the submission invoice. |
|
144 | + * |
|
145 | + * @param WPInv_Invoice $invoice |
|
146 | + * @param GetPaid_Form_Item[] $items |
|
147 | + * @return WPInv_Invoice |
|
148 | + */ |
|
149 | + protected function process_submission_invoice( $invoice, $items ) { |
|
150 | + |
|
151 | + $submission = $this->payment_form_submission; |
|
152 | + $data = $submission->get_data(); |
|
153 | + |
|
154 | + // Set-up the invoice details. |
|
155 | + $invoice->set_email( sanitize_email( $submission->get_billing_email() ) ); |
|
156 | + $invoice->set_user_id( $this->get_submission_customer() ); |
|
157 | + $invoice->set_payment_form( absint( $submission->get_payment_form()->get_id() ) ); |
|
158 | 158 | $invoice->set_items( $items ); |
159 | 159 | $invoice->set_fees( $submission->get_fees() ); |
160 | 160 | $invoice->set_taxes( $submission->get_taxes() ); |
161 | - $invoice->set_discounts( $submission->get_discounts() ); |
|
162 | - $invoice->set_gateway( $data['wpi-gateway'] ); |
|
161 | + $invoice->set_discounts( $submission->get_discounts() ); |
|
162 | + $invoice->set_gateway( $data['wpi-gateway'] ); |
|
163 | 163 | |
164 | - $address_confirmed = $submission->get_field( 'confirm-address' ); |
|
165 | - $invoice->set_address_confirmed( ! empty( $address_confirmed ) ); |
|
164 | + $address_confirmed = $submission->get_field( 'confirm-address' ); |
|
165 | + $invoice->set_address_confirmed( ! empty( $address_confirmed ) ); |
|
166 | 166 | |
167 | - if ( $submission->has_discount_code() ) { |
|
167 | + if ( $submission->has_discount_code() ) { |
|
168 | 168 | $invoice->set_discount_code( $submission->get_discount_code() ); |
169 | - } |
|
170 | - |
|
171 | - getpaid_maybe_add_default_address( $invoice ); |
|
172 | - return $invoice; |
|
173 | - } |
|
174 | - |
|
175 | - /** |
|
176 | - * Retrieves the submission's customer. |
|
177 | - * |
|
178 | - * @return int The customer id. |
|
179 | - */ |
|
180 | - protected function get_submission_customer() { |
|
181 | - $submission = $this->payment_form_submission; |
|
182 | - |
|
183 | - // If this is an existing invoice... |
|
184 | - if ( $submission->has_invoice() ) { |
|
185 | - return $submission->get_invoice()->get_user_id(); |
|
186 | - } |
|
187 | - |
|
188 | - // (Maybe) create the user. |
|
169 | + } |
|
170 | + |
|
171 | + getpaid_maybe_add_default_address( $invoice ); |
|
172 | + return $invoice; |
|
173 | + } |
|
174 | + |
|
175 | + /** |
|
176 | + * Retrieves the submission's customer. |
|
177 | + * |
|
178 | + * @return int The customer id. |
|
179 | + */ |
|
180 | + protected function get_submission_customer() { |
|
181 | + $submission = $this->payment_form_submission; |
|
182 | + |
|
183 | + // If this is an existing invoice... |
|
184 | + if ( $submission->has_invoice() ) { |
|
185 | + return $submission->get_invoice()->get_user_id(); |
|
186 | + } |
|
187 | + |
|
188 | + // (Maybe) create the user. |
|
189 | 189 | $user = get_current_user_id(); |
190 | 190 | |
191 | 191 | if ( empty( $user ) ) { |
@@ -195,11 +195,11 @@ discard block |
||
195 | 195 | if ( empty( $user ) ) { |
196 | 196 | $user = wpinv_create_user( $submission->get_billing_email() ); |
197 | 197 | |
198 | - // (Maybe) send new user notification. |
|
199 | - $should_send_notification = wpinv_get_option( 'disable_new_user_emails' ); |
|
200 | - if ( ! empty( $user ) && is_numeric( $user ) && apply_filters( 'getpaid_send_new_user_notification', empty( $should_send_notification ) ) ) { |
|
201 | - wp_send_new_user_notifications( $user, 'user' ); |
|
202 | - } |
|
198 | + // (Maybe) send new user notification. |
|
199 | + $should_send_notification = wpinv_get_option( 'disable_new_user_emails' ); |
|
200 | + if ( ! empty( $user ) && is_numeric( $user ) && apply_filters( 'getpaid_send_new_user_notification', empty( $should_send_notification ) ) ) { |
|
201 | + wp_send_new_user_notifications( $user, 'user' ); |
|
202 | + } |
|
203 | 203 | |
204 | 204 | } |
205 | 205 | |
@@ -209,31 +209,31 @@ discard block |
||
209 | 209 | |
210 | 210 | if ( is_numeric( $user ) ) { |
211 | 211 | return $user; |
212 | - } |
|
212 | + } |
|
213 | 213 | |
214 | - return $user->ID; |
|
214 | + return $user->ID; |
|
215 | 215 | |
216 | - } |
|
216 | + } |
|
217 | 217 | |
218 | - /** |
|
218 | + /** |
|
219 | 219 | * Prepares submission data for saving to the database. |
220 | 220 | * |
221 | - * @return array |
|
221 | + * @return array |
|
222 | 222 | */ |
223 | 223 | public function prepare_submission_data_for_saving() { |
224 | 224 | |
225 | - $submission = $this->payment_form_submission; |
|
225 | + $submission = $this->payment_form_submission; |
|
226 | 226 | |
227 | - // Prepared submission details. |
|
227 | + // Prepared submission details. |
|
228 | 228 | $prepared = array(); |
229 | 229 | |
230 | 230 | // Raw submission details. |
231 | - $data = $submission->get_data(); |
|
231 | + $data = $submission->get_data(); |
|
232 | 232 | |
233 | - // Loop through the submitted details. |
|
233 | + // Loop through the submitted details. |
|
234 | 234 | foreach ( $submission->get_payment_form()->get_elements() as $field ) { |
235 | 235 | |
236 | - // Skip premade fields. |
|
236 | + // Skip premade fields. |
|
237 | 237 | if ( ! empty( $field['premade'] ) || $field['type'] == 'address' ) { |
238 | 238 | continue; |
239 | 239 | } |
@@ -251,176 +251,176 @@ discard block |
||
251 | 251 | $label = $field['label']; |
252 | 252 | } |
253 | 253 | |
254 | - $prepared[ wpinv_clean( $label ) ] = wp_kses_post( $data[ $field['id'] ] ); |
|
254 | + $prepared[ wpinv_clean( $label ) ] = wp_kses_post( $data[ $field['id'] ] ); |
|
255 | 255 | |
256 | 256 | } |
257 | 257 | |
258 | - } |
|
258 | + } |
|
259 | 259 | |
260 | - return $prepared; |
|
260 | + return $prepared; |
|
261 | 261 | |
262 | - } |
|
262 | + } |
|
263 | 263 | |
264 | - /** |
|
264 | + /** |
|
265 | 265 | * Retrieves address details. |
266 | 266 | * |
267 | - * @return array |
|
268 | - * @param WPInv_Invoice $invoice |
|
269 | - * @param string $type |
|
267 | + * @return array |
|
268 | + * @param WPInv_Invoice $invoice |
|
269 | + * @param string $type |
|
270 | 270 | */ |
271 | 271 | public function prepare_address_details( $invoice, $type = 'billing' ) { |
272 | 272 | |
273 | - $data = $this->payment_form_submission->get_data(); |
|
274 | - $type = sanitize_key( $type ); |
|
275 | - $address = array(); |
|
276 | - $prepared = array(); |
|
273 | + $data = $this->payment_form_submission->get_data(); |
|
274 | + $type = sanitize_key( $type ); |
|
275 | + $address = array(); |
|
276 | + $prepared = array(); |
|
277 | 277 | |
278 | - if ( ! empty( $data[ $type ] ) ) { |
|
279 | - $address = $data[ $type ]; |
|
280 | - } |
|
278 | + if ( ! empty( $data[ $type ] ) ) { |
|
279 | + $address = $data[ $type ]; |
|
280 | + } |
|
281 | 281 | |
282 | - // Clean address details. |
|
283 | - foreach ( $address as $key => $value ) { |
|
284 | - $key = sanitize_key( $key ); |
|
285 | - $key = str_replace( 'wpinv_', '', $key ); |
|
286 | - $value = wpinv_clean( $value ); |
|
287 | - $prepared[ $key] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice ); |
|
288 | - } |
|
282 | + // Clean address details. |
|
283 | + foreach ( $address as $key => $value ) { |
|
284 | + $key = sanitize_key( $key ); |
|
285 | + $key = str_replace( 'wpinv_', '', $key ); |
|
286 | + $value = wpinv_clean( $value ); |
|
287 | + $prepared[ $key] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice ); |
|
288 | + } |
|
289 | 289 | |
290 | - // Filter address details. |
|
291 | - $prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice ); |
|
290 | + // Filter address details. |
|
291 | + $prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice ); |
|
292 | 292 | |
293 | - // Remove non-whitelisted values. |
|
294 | - return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY ); |
|
293 | + // Remove non-whitelisted values. |
|
294 | + return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY ); |
|
295 | 295 | |
296 | - } |
|
296 | + } |
|
297 | 297 | |
298 | - /** |
|
298 | + /** |
|
299 | 299 | * Prepares the billing details. |
300 | 300 | * |
301 | - * @return array |
|
302 | - * @param WPInv_Invoice $invoice |
|
301 | + * @return array |
|
302 | + * @param WPInv_Invoice $invoice |
|
303 | 303 | */ |
304 | 304 | protected function prepare_billing_info( &$invoice ) { |
305 | 305 | |
306 | - $billing_address = $this->prepare_address_details( $invoice, 'billing' ); |
|
306 | + $billing_address = $this->prepare_address_details( $invoice, 'billing' ); |
|
307 | 307 | |
308 | - // Update the invoice with the billing details. |
|
309 | - $invoice->set_props( $billing_address ); |
|
308 | + // Update the invoice with the billing details. |
|
309 | + $invoice->set_props( $billing_address ); |
|
310 | 310 | |
311 | - } |
|
311 | + } |
|
312 | 312 | |
313 | - /** |
|
313 | + /** |
|
314 | 314 | * Prepares the shipping details. |
315 | 315 | * |
316 | - * @return array |
|
317 | - * @param WPInv_Invoice $invoice |
|
316 | + * @return array |
|
317 | + * @param WPInv_Invoice $invoice |
|
318 | 318 | */ |
319 | 319 | protected function prepare_shipping_info( $invoice ) { |
320 | 320 | |
321 | - $data = $this->payment_form_submission->get_data(); |
|
321 | + $data = $this->payment_form_submission->get_data(); |
|
322 | 322 | |
323 | - if ( empty( $data['same-shipping-address'] ) ) { |
|
324 | - return $this->prepare_address_details( $invoice, 'shipping' ); |
|
325 | - } |
|
323 | + if ( empty( $data['same-shipping-address'] ) ) { |
|
324 | + return $this->prepare_address_details( $invoice, 'shipping' ); |
|
325 | + } |
|
326 | 326 | |
327 | - return $this->prepare_address_details( $invoice, 'billing' ); |
|
327 | + return $this->prepare_address_details( $invoice, 'billing' ); |
|
328 | 328 | |
329 | - } |
|
329 | + } |
|
330 | 330 | |
331 | - /** |
|
332 | - * Confirms the submission is valid and send users to the gateway. |
|
333 | - * |
|
334 | - * @param WPInv_Invoice $invoice |
|
335 | - * @param array $prepared_payment_form_data |
|
336 | - * @param array $shipping |
|
337 | - */ |
|
338 | - protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) { |
|
331 | + /** |
|
332 | + * Confirms the submission is valid and send users to the gateway. |
|
333 | + * |
|
334 | + * @param WPInv_Invoice $invoice |
|
335 | + * @param array $prepared_payment_form_data |
|
336 | + * @param array $shipping |
|
337 | + */ |
|
338 | + protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) { |
|
339 | 339 | |
340 | - // Ensure the invoice exists. |
|
340 | + // Ensure the invoice exists. |
|
341 | 341 | if ( ! $invoice->exists() ) { |
342 | 342 | wp_send_json_error( __( 'An error occured while saving your invoice. Please try again.', 'invoicing' ) ); |
343 | 343 | } |
344 | 344 | |
345 | - // Save payment form data. |
|
346 | - $prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice ); |
|
345 | + // Save payment form data. |
|
346 | + $prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice ); |
|
347 | 347 | if ( ! empty( $prepared_payment_form_data ) ) { |
348 | 348 | update_post_meta( $invoice->get_id(), 'payment_form_data', $prepared_payment_form_data ); |
349 | - } |
|
349 | + } |
|
350 | 350 | |
351 | - // Save payment form data. |
|
351 | + // Save payment form data. |
|
352 | 352 | if ( ! empty( $shipping ) ) { |
353 | 353 | update_post_meta( $invoice->get_id(), 'shipping_address', $shipping ); |
354 | - } |
|
354 | + } |
|
355 | 355 | |
356 | - // Backwards compatibility. |
|
356 | + // Backwards compatibility. |
|
357 | 357 | add_filter( 'wp_redirect', array( $this, 'send_redirect_response' ) ); |
358 | 358 | |
359 | - $this->process_payment( $invoice ); |
|
359 | + $this->process_payment( $invoice ); |
|
360 | 360 | |
361 | 361 | // If we are here, there was an error. |
362 | - wpinv_send_back_to_checkout( $invoice ); |
|
362 | + wpinv_send_back_to_checkout( $invoice ); |
|
363 | 363 | |
364 | - } |
|
364 | + } |
|
365 | 365 | |
366 | - /** |
|
367 | - * Processes the actual payment. |
|
368 | - * |
|
369 | - * @param WPInv_Invoice $invoice |
|
370 | - */ |
|
371 | - protected function process_payment( $invoice ) { |
|
366 | + /** |
|
367 | + * Processes the actual payment. |
|
368 | + * |
|
369 | + * @param WPInv_Invoice $invoice |
|
370 | + */ |
|
371 | + protected function process_payment( $invoice ) { |
|
372 | 372 | |
373 | - // Clear any checkout errors. |
|
374 | - wpinv_clear_errors(); |
|
373 | + // Clear any checkout errors. |
|
374 | + wpinv_clear_errors(); |
|
375 | 375 | |
376 | - // No need to send free invoices to the gateway. |
|
377 | - if ( $invoice->is_free() ) { |
|
378 | - $this->process_free_payment( $invoice ); |
|
379 | - } |
|
376 | + // No need to send free invoices to the gateway. |
|
377 | + if ( $invoice->is_free() ) { |
|
378 | + $this->process_free_payment( $invoice ); |
|
379 | + } |
|
380 | 380 | |
381 | - $submission = $this->payment_form_submission; |
|
381 | + $submission = $this->payment_form_submission; |
|
382 | 382 | |
383 | - // Fires before sending to the gateway. |
|
384 | - do_action( 'getpaid_checkout_before_gateway', $invoice, $submission ); |
|
383 | + // Fires before sending to the gateway. |
|
384 | + do_action( 'getpaid_checkout_before_gateway', $invoice, $submission ); |
|
385 | 385 | |
386 | - // Allow the sumission data to be modified before it is sent to the gateway. |
|
387 | - $submission_data = $submission->get_data(); |
|
388 | - $submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice ); |
|
389 | - $submission_data = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice ); |
|
386 | + // Allow the sumission data to be modified before it is sent to the gateway. |
|
387 | + $submission_data = $submission->get_data(); |
|
388 | + $submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice ); |
|
389 | + $submission_data = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice ); |
|
390 | 390 | |
391 | - // Validate the currency. |
|
392 | - if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) { |
|
393 | - wpinv_set_error( 'invalid_currency', __( 'The chosen payment gateway does not support this currency', 'invoicing' ) ); |
|
394 | - } |
|
391 | + // Validate the currency. |
|
392 | + if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) { |
|
393 | + wpinv_set_error( 'invalid_currency', __( 'The chosen payment gateway does not support this currency', 'invoicing' ) ); |
|
394 | + } |
|
395 | 395 | |
396 | - // Check to see if we have any errors. |
|
397 | - if ( wpinv_get_errors() ) { |
|
398 | - wpinv_send_back_to_checkout( $invoice ); |
|
399 | - } |
|
396 | + // Check to see if we have any errors. |
|
397 | + if ( wpinv_get_errors() ) { |
|
398 | + wpinv_send_back_to_checkout( $invoice ); |
|
399 | + } |
|
400 | 400 | |
401 | - // Send info to the gateway for payment processing |
|
402 | - do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission ); |
|
401 | + // Send info to the gateway for payment processing |
|
402 | + do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission ); |
|
403 | 403 | |
404 | - // Backwards compatibility. |
|
405 | - wpinv_send_to_gateway( $submission_gateway, $invoice ); |
|
404 | + // Backwards compatibility. |
|
405 | + wpinv_send_to_gateway( $submission_gateway, $invoice ); |
|
406 | 406 | |
407 | - } |
|
407 | + } |
|
408 | 408 | |
409 | - /** |
|
410 | - * Marks the invoice as paid in case the checkout is free. |
|
411 | - * |
|
412 | - * @param WPInv_Invoice $invoice |
|
413 | - */ |
|
414 | - protected function process_free_payment( $invoice ) { |
|
409 | + /** |
|
410 | + * Marks the invoice as paid in case the checkout is free. |
|
411 | + * |
|
412 | + * @param WPInv_Invoice $invoice |
|
413 | + */ |
|
414 | + protected function process_free_payment( $invoice ) { |
|
415 | 415 | |
416 | - $invoice->set_gateway( 'none' ); |
|
417 | - $invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true ); |
|
418 | - $invoice->mark_paid(); |
|
419 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
416 | + $invoice->set_gateway( 'none' ); |
|
417 | + $invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true ); |
|
418 | + $invoice->mark_paid(); |
|
419 | + wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
420 | 420 | |
421 | - } |
|
421 | + } |
|
422 | 422 | |
423 | - /** |
|
423 | + /** |
|
424 | 424 | * Sends a redrect response to payment details. |
425 | 425 | * |
426 | 426 | */ |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Main Checkout Class. |
@@ -22,7 +22,7 @@ discard block |
||
22 | 22 | * |
23 | 23 | * @param GetPaid_Payment_Form_Submission $submission |
24 | 24 | */ |
25 | - public function __construct( $submission ) { |
|
25 | + public function __construct($submission) { |
|
26 | 26 | $this->payment_form_submission = $submission; |
27 | 27 | } |
28 | 28 | |
@@ -38,22 +38,22 @@ discard block |
||
38 | 38 | // Prepare the invoice. |
39 | 39 | $items = $this->get_submission_items(); |
40 | 40 | $invoice = $this->get_submission_invoice(); |
41 | - $invoice = $this->process_submission_invoice( $invoice, $items ); |
|
41 | + $invoice = $this->process_submission_invoice($invoice, $items); |
|
42 | 42 | $prepared = $this->prepare_submission_data_for_saving(); |
43 | 43 | |
44 | - $this->prepare_billing_info( $invoice ); |
|
44 | + $this->prepare_billing_info($invoice); |
|
45 | 45 | |
46 | - $shipping = $this->prepare_shipping_info( $invoice ); |
|
46 | + $shipping = $this->prepare_shipping_info($invoice); |
|
47 | 47 | |
48 | 48 | // Save the invoice. |
49 | - $invoice->set_is_viewed( true ); |
|
49 | + $invoice->set_is_viewed(true); |
|
50 | 50 | $invoice->recalculate_total(); |
51 | 51 | $invoice->save(); |
52 | 52 | |
53 | - do_action( 'getpaid_checkout_invoice_updated', $invoice ); |
|
53 | + do_action('getpaid_checkout_invoice_updated', $invoice); |
|
54 | 54 | |
55 | 55 | // Send to the gateway. |
56 | - $this->post_process_submission( $invoice, $prepared, $shipping ); |
|
56 | + $this->post_process_submission($invoice, $prepared, $shipping); |
|
57 | 57 | } |
58 | 58 | |
59 | 59 | /** |
@@ -66,34 +66,34 @@ discard block |
||
66 | 66 | $data = $submission->get_data(); |
67 | 67 | |
68 | 68 | // Do we have an error? |
69 | - if ( ! empty( $submission->last_error ) ) { |
|
70 | - wp_send_json_error( $submission->last_error ); |
|
69 | + if (!empty($submission->last_error)) { |
|
70 | + wp_send_json_error($submission->last_error); |
|
71 | 71 | } |
72 | 72 | |
73 | 73 | // We need a billing email. |
74 | - if ( ! $submission->has_billing_email() ) { |
|
75 | - wp_send_json_error( __( 'Provide a valid billing email.', 'invoicing' ) ); |
|
74 | + if (!$submission->has_billing_email()) { |
|
75 | + wp_send_json_error(__('Provide a valid billing email.', 'invoicing')); |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | // Non-recurring gateways should not be allowed to process recurring invoices. |
79 | - if ( $submission->should_collect_payment_details() && $submission->has_recurring && ! wpinv_gateway_support_subscription( $data['wpi-gateway'] ) ) { |
|
80 | - wp_send_json_error( __( 'The selected payment gateway does not support subscription payments.', 'invoicing' ) ); |
|
79 | + if ($submission->should_collect_payment_details() && $submission->has_recurring && !wpinv_gateway_support_subscription($data['wpi-gateway'])) { |
|
80 | + wp_send_json_error(__('The selected payment gateway does not support subscription payments.', 'invoicing')); |
|
81 | 81 | } |
82 | 82 | |
83 | 83 | // Ensure the gateway is active. |
84 | - if ( $submission->should_collect_payment_details() && ! wpinv_is_gateway_active( $data['wpi-gateway'] ) ) { |
|
85 | - wpinv_set_error( 'invalid_gateway', __( 'The selected payment gateway is not active', 'invoicing' ) ); |
|
84 | + if ($submission->should_collect_payment_details() && !wpinv_is_gateway_active($data['wpi-gateway'])) { |
|
85 | + wpinv_set_error('invalid_gateway', __('The selected payment gateway is not active', 'invoicing')); |
|
86 | 86 | } |
87 | 87 | |
88 | 88 | // Clear any existing errors. |
89 | 89 | wpinv_clear_errors(); |
90 | 90 | |
91 | 91 | // Allow themes and plugins to hook to errors |
92 | - do_action( 'getpaid_checkout_error_checks', $submission ); |
|
92 | + do_action('getpaid_checkout_error_checks', $submission); |
|
93 | 93 | |
94 | 94 | // Do we have any errors? |
95 | - if ( wpinv_get_errors() ) { |
|
96 | - wp_send_json_error( getpaid_get_errors_html() ); |
|
95 | + if (wpinv_get_errors()) { |
|
96 | + wp_send_json_error(getpaid_get_errors_html()); |
|
97 | 97 | } |
98 | 98 | |
99 | 99 | } |
@@ -108,8 +108,8 @@ discard block |
||
108 | 108 | $items = $this->payment_form_submission->get_items(); |
109 | 109 | |
110 | 110 | // Ensure that we have items. |
111 | - if ( empty( $items ) && ! $this->payment_form_submission->has_fees() ) { |
|
112 | - wp_send_json_error( __( 'Please provide at least one item or amount.', 'invoicing' ) ); |
|
111 | + if (empty($items) && !$this->payment_form_submission->has_fees()) { |
|
112 | + wp_send_json_error(__('Please provide at least one item or amount.', 'invoicing')); |
|
113 | 113 | } |
114 | 114 | |
115 | 115 | return $items; |
@@ -123,17 +123,17 @@ discard block |
||
123 | 123 | protected function get_submission_invoice() { |
124 | 124 | $submission = $this->payment_form_submission; |
125 | 125 | |
126 | - if ( ! $submission->has_invoice() ) { |
|
126 | + if (!$submission->has_invoice()) { |
|
127 | 127 | $invoice = new WPInv_Invoice(); |
128 | - $invoice->set_created_via( 'payment_form' ); |
|
128 | + $invoice->set_created_via('payment_form'); |
|
129 | 129 | return $invoice; |
130 | 130 | } |
131 | 131 | |
132 | 132 | $invoice = $submission->get_invoice(); |
133 | 133 | |
134 | 134 | // Make sure that it is neither paid or refunded. |
135 | - if ( $invoice->is_paid() || $invoice->is_refunded() ) { |
|
136 | - wp_send_json_error( __( 'This invoice has already been paid for.', 'invoicing' ) ); |
|
135 | + if ($invoice->is_paid() || $invoice->is_refunded()) { |
|
136 | + wp_send_json_error(__('This invoice has already been paid for.', 'invoicing')); |
|
137 | 137 | } |
138 | 138 | |
139 | 139 | return $invoice; |
@@ -146,29 +146,29 @@ discard block |
||
146 | 146 | * @param GetPaid_Form_Item[] $items |
147 | 147 | * @return WPInv_Invoice |
148 | 148 | */ |
149 | - protected function process_submission_invoice( $invoice, $items ) { |
|
149 | + protected function process_submission_invoice($invoice, $items) { |
|
150 | 150 | |
151 | 151 | $submission = $this->payment_form_submission; |
152 | 152 | $data = $submission->get_data(); |
153 | 153 | |
154 | 154 | // Set-up the invoice details. |
155 | - $invoice->set_email( sanitize_email( $submission->get_billing_email() ) ); |
|
156 | - $invoice->set_user_id( $this->get_submission_customer() ); |
|
157 | - $invoice->set_payment_form( absint( $submission->get_payment_form()->get_id() ) ); |
|
158 | - $invoice->set_items( $items ); |
|
159 | - $invoice->set_fees( $submission->get_fees() ); |
|
160 | - $invoice->set_taxes( $submission->get_taxes() ); |
|
161 | - $invoice->set_discounts( $submission->get_discounts() ); |
|
162 | - $invoice->set_gateway( $data['wpi-gateway'] ); |
|
163 | - |
|
164 | - $address_confirmed = $submission->get_field( 'confirm-address' ); |
|
165 | - $invoice->set_address_confirmed( ! empty( $address_confirmed ) ); |
|
166 | - |
|
167 | - if ( $submission->has_discount_code() ) { |
|
168 | - $invoice->set_discount_code( $submission->get_discount_code() ); |
|
155 | + $invoice->set_email(sanitize_email($submission->get_billing_email())); |
|
156 | + $invoice->set_user_id($this->get_submission_customer()); |
|
157 | + $invoice->set_payment_form(absint($submission->get_payment_form()->get_id())); |
|
158 | + $invoice->set_items($items); |
|
159 | + $invoice->set_fees($submission->get_fees()); |
|
160 | + $invoice->set_taxes($submission->get_taxes()); |
|
161 | + $invoice->set_discounts($submission->get_discounts()); |
|
162 | + $invoice->set_gateway($data['wpi-gateway']); |
|
163 | + |
|
164 | + $address_confirmed = $submission->get_field('confirm-address'); |
|
165 | + $invoice->set_address_confirmed(!empty($address_confirmed)); |
|
166 | + |
|
167 | + if ($submission->has_discount_code()) { |
|
168 | + $invoice->set_discount_code($submission->get_discount_code()); |
|
169 | 169 | } |
170 | 170 | |
171 | - getpaid_maybe_add_default_address( $invoice ); |
|
171 | + getpaid_maybe_add_default_address($invoice); |
|
172 | 172 | return $invoice; |
173 | 173 | } |
174 | 174 | |
@@ -181,33 +181,33 @@ discard block |
||
181 | 181 | $submission = $this->payment_form_submission; |
182 | 182 | |
183 | 183 | // If this is an existing invoice... |
184 | - if ( $submission->has_invoice() ) { |
|
184 | + if ($submission->has_invoice()) { |
|
185 | 185 | return $submission->get_invoice()->get_user_id(); |
186 | 186 | } |
187 | 187 | |
188 | 188 | // (Maybe) create the user. |
189 | 189 | $user = get_current_user_id(); |
190 | 190 | |
191 | - if ( empty( $user ) ) { |
|
192 | - $user = get_user_by( 'email', $submission->get_billing_email() ); |
|
191 | + if (empty($user)) { |
|
192 | + $user = get_user_by('email', $submission->get_billing_email()); |
|
193 | 193 | } |
194 | 194 | |
195 | - if ( empty( $user ) ) { |
|
196 | - $user = wpinv_create_user( $submission->get_billing_email() ); |
|
195 | + if (empty($user)) { |
|
196 | + $user = wpinv_create_user($submission->get_billing_email()); |
|
197 | 197 | |
198 | 198 | // (Maybe) send new user notification. |
199 | - $should_send_notification = wpinv_get_option( 'disable_new_user_emails' ); |
|
200 | - if ( ! empty( $user ) && is_numeric( $user ) && apply_filters( 'getpaid_send_new_user_notification', empty( $should_send_notification ) ) ) { |
|
201 | - wp_send_new_user_notifications( $user, 'user' ); |
|
199 | + $should_send_notification = wpinv_get_option('disable_new_user_emails'); |
|
200 | + if (!empty($user) && is_numeric($user) && apply_filters('getpaid_send_new_user_notification', empty($should_send_notification))) { |
|
201 | + wp_send_new_user_notifications($user, 'user'); |
|
202 | 202 | } |
203 | 203 | |
204 | 204 | } |
205 | 205 | |
206 | - if ( is_wp_error( $user ) ) { |
|
207 | - wp_send_json_error( $user->get_error_message() ); |
|
206 | + if (is_wp_error($user)) { |
|
207 | + wp_send_json_error($user->get_error_message()); |
|
208 | 208 | } |
209 | 209 | |
210 | - if ( is_numeric( $user ) ) { |
|
210 | + if (is_numeric($user)) { |
|
211 | 211 | return $user; |
212 | 212 | } |
213 | 213 | |
@@ -228,30 +228,30 @@ discard block |
||
228 | 228 | $prepared = array(); |
229 | 229 | |
230 | 230 | // Raw submission details. |
231 | - $data = $submission->get_data(); |
|
231 | + $data = $submission->get_data(); |
|
232 | 232 | |
233 | 233 | // Loop through the submitted details. |
234 | - foreach ( $submission->get_payment_form()->get_elements() as $field ) { |
|
234 | + foreach ($submission->get_payment_form()->get_elements() as $field) { |
|
235 | 235 | |
236 | 236 | // Skip premade fields. |
237 | - if ( ! empty( $field['premade'] ) || $field['type'] == 'address' ) { |
|
237 | + if (!empty($field['premade']) || $field['type'] == 'address') { |
|
238 | 238 | continue; |
239 | 239 | } |
240 | 240 | |
241 | 241 | // If it is required and not set, abort. |
242 | - if ( ! $submission->is_required_field_set( $field ) ) { |
|
243 | - wp_send_json_error( __( 'Please fill all required fields.', 'invoicing' ) ); |
|
242 | + if (!$submission->is_required_field_set($field)) { |
|
243 | + wp_send_json_error(__('Please fill all required fields.', 'invoicing')); |
|
244 | 244 | } |
245 | 245 | |
246 | 246 | // Handle misc fields. |
247 | - if ( isset( $data[ $field['id'] ] ) ) { |
|
247 | + if (isset($data[$field['id']])) { |
|
248 | 248 | $label = $field['id']; |
249 | 249 | |
250 | - if ( isset( $field['label'] ) ) { |
|
250 | + if (isset($field['label'])) { |
|
251 | 251 | $label = $field['label']; |
252 | 252 | } |
253 | 253 | |
254 | - $prepared[ wpinv_clean( $label ) ] = wp_kses_post( $data[ $field['id'] ] ); |
|
254 | + $prepared[wpinv_clean($label)] = wp_kses_post($data[$field['id']]); |
|
255 | 255 | |
256 | 256 | } |
257 | 257 | |
@@ -268,30 +268,30 @@ discard block |
||
268 | 268 | * @param WPInv_Invoice $invoice |
269 | 269 | * @param string $type |
270 | 270 | */ |
271 | - public function prepare_address_details( $invoice, $type = 'billing' ) { |
|
271 | + public function prepare_address_details($invoice, $type = 'billing') { |
|
272 | 272 | |
273 | 273 | $data = $this->payment_form_submission->get_data(); |
274 | - $type = sanitize_key( $type ); |
|
274 | + $type = sanitize_key($type); |
|
275 | 275 | $address = array(); |
276 | 276 | $prepared = array(); |
277 | 277 | |
278 | - if ( ! empty( $data[ $type ] ) ) { |
|
279 | - $address = $data[ $type ]; |
|
278 | + if (!empty($data[$type])) { |
|
279 | + $address = $data[$type]; |
|
280 | 280 | } |
281 | 281 | |
282 | 282 | // Clean address details. |
283 | - foreach ( $address as $key => $value ) { |
|
284 | - $key = sanitize_key( $key ); |
|
285 | - $key = str_replace( 'wpinv_', '', $key ); |
|
286 | - $value = wpinv_clean( $value ); |
|
287 | - $prepared[ $key] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice ); |
|
283 | + foreach ($address as $key => $value) { |
|
284 | + $key = sanitize_key($key); |
|
285 | + $key = str_replace('wpinv_', '', $key); |
|
286 | + $value = wpinv_clean($value); |
|
287 | + $prepared[$key] = apply_filters("getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice); |
|
288 | 288 | } |
289 | 289 | |
290 | 290 | // Filter address details. |
291 | - $prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice ); |
|
291 | + $prepared = apply_filters("getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice); |
|
292 | 292 | |
293 | 293 | // Remove non-whitelisted values. |
294 | - return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY ); |
|
294 | + return array_filter($prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY); |
|
295 | 295 | |
296 | 296 | } |
297 | 297 | |
@@ -301,12 +301,12 @@ discard block |
||
301 | 301 | * @return array |
302 | 302 | * @param WPInv_Invoice $invoice |
303 | 303 | */ |
304 | - protected function prepare_billing_info( &$invoice ) { |
|
304 | + protected function prepare_billing_info(&$invoice) { |
|
305 | 305 | |
306 | - $billing_address = $this->prepare_address_details( $invoice, 'billing' ); |
|
306 | + $billing_address = $this->prepare_address_details($invoice, 'billing'); |
|
307 | 307 | |
308 | 308 | // Update the invoice with the billing details. |
309 | - $invoice->set_props( $billing_address ); |
|
309 | + $invoice->set_props($billing_address); |
|
310 | 310 | |
311 | 311 | } |
312 | 312 | |
@@ -316,15 +316,15 @@ discard block |
||
316 | 316 | * @return array |
317 | 317 | * @param WPInv_Invoice $invoice |
318 | 318 | */ |
319 | - protected function prepare_shipping_info( $invoice ) { |
|
319 | + protected function prepare_shipping_info($invoice) { |
|
320 | 320 | |
321 | 321 | $data = $this->payment_form_submission->get_data(); |
322 | 322 | |
323 | - if ( empty( $data['same-shipping-address'] ) ) { |
|
324 | - return $this->prepare_address_details( $invoice, 'shipping' ); |
|
323 | + if (empty($data['same-shipping-address'])) { |
|
324 | + return $this->prepare_address_details($invoice, 'shipping'); |
|
325 | 325 | } |
326 | 326 | |
327 | - return $this->prepare_address_details( $invoice, 'billing' ); |
|
327 | + return $this->prepare_address_details($invoice, 'billing'); |
|
328 | 328 | |
329 | 329 | } |
330 | 330 | |
@@ -335,31 +335,31 @@ discard block |
||
335 | 335 | * @param array $prepared_payment_form_data |
336 | 336 | * @param array $shipping |
337 | 337 | */ |
338 | - protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) { |
|
338 | + protected function post_process_submission($invoice, $prepared_payment_form_data, $shipping) { |
|
339 | 339 | |
340 | 340 | // Ensure the invoice exists. |
341 | - if ( ! $invoice->exists() ) { |
|
342 | - wp_send_json_error( __( 'An error occured while saving your invoice. Please try again.', 'invoicing' ) ); |
|
341 | + if (!$invoice->exists()) { |
|
342 | + wp_send_json_error(__('An error occured while saving your invoice. Please try again.', 'invoicing')); |
|
343 | 343 | } |
344 | 344 | |
345 | 345 | // Save payment form data. |
346 | - $prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice ); |
|
347 | - if ( ! empty( $prepared_payment_form_data ) ) { |
|
348 | - update_post_meta( $invoice->get_id(), 'payment_form_data', $prepared_payment_form_data ); |
|
346 | + $prepared_payment_form_data = apply_filters('getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice); |
|
347 | + if (!empty($prepared_payment_form_data)) { |
|
348 | + update_post_meta($invoice->get_id(), 'payment_form_data', $prepared_payment_form_data); |
|
349 | 349 | } |
350 | 350 | |
351 | 351 | // Save payment form data. |
352 | - if ( ! empty( $shipping ) ) { |
|
353 | - update_post_meta( $invoice->get_id(), 'shipping_address', $shipping ); |
|
352 | + if (!empty($shipping)) { |
|
353 | + update_post_meta($invoice->get_id(), 'shipping_address', $shipping); |
|
354 | 354 | } |
355 | 355 | |
356 | 356 | // Backwards compatibility. |
357 | - add_filter( 'wp_redirect', array( $this, 'send_redirect_response' ) ); |
|
357 | + add_filter('wp_redirect', array($this, 'send_redirect_response')); |
|
358 | 358 | |
359 | - $this->process_payment( $invoice ); |
|
359 | + $this->process_payment($invoice); |
|
360 | 360 | |
361 | 361 | // If we are here, there was an error. |
362 | - wpinv_send_back_to_checkout( $invoice ); |
|
362 | + wpinv_send_back_to_checkout($invoice); |
|
363 | 363 | |
364 | 364 | } |
365 | 365 | |
@@ -368,41 +368,41 @@ discard block |
||
368 | 368 | * |
369 | 369 | * @param WPInv_Invoice $invoice |
370 | 370 | */ |
371 | - protected function process_payment( $invoice ) { |
|
371 | + protected function process_payment($invoice) { |
|
372 | 372 | |
373 | 373 | // Clear any checkout errors. |
374 | 374 | wpinv_clear_errors(); |
375 | 375 | |
376 | 376 | // No need to send free invoices to the gateway. |
377 | - if ( $invoice->is_free() ) { |
|
378 | - $this->process_free_payment( $invoice ); |
|
377 | + if ($invoice->is_free()) { |
|
378 | + $this->process_free_payment($invoice); |
|
379 | 379 | } |
380 | 380 | |
381 | 381 | $submission = $this->payment_form_submission; |
382 | 382 | |
383 | 383 | // Fires before sending to the gateway. |
384 | - do_action( 'getpaid_checkout_before_gateway', $invoice, $submission ); |
|
384 | + do_action('getpaid_checkout_before_gateway', $invoice, $submission); |
|
385 | 385 | |
386 | 386 | // Allow the sumission data to be modified before it is sent to the gateway. |
387 | 387 | $submission_data = $submission->get_data(); |
388 | - $submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice ); |
|
389 | - $submission_data = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice ); |
|
388 | + $submission_gateway = apply_filters('getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice); |
|
389 | + $submission_data = apply_filters('getpaid_gateway_submission_data', $submission_data, $submission, $invoice); |
|
390 | 390 | |
391 | 391 | // Validate the currency. |
392 | - if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) { |
|
393 | - wpinv_set_error( 'invalid_currency', __( 'The chosen payment gateway does not support this currency', 'invoicing' ) ); |
|
392 | + if (!apply_filters("getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency())) { |
|
393 | + wpinv_set_error('invalid_currency', __('The chosen payment gateway does not support this currency', 'invoicing')); |
|
394 | 394 | } |
395 | 395 | |
396 | 396 | // Check to see if we have any errors. |
397 | - if ( wpinv_get_errors() ) { |
|
398 | - wpinv_send_back_to_checkout( $invoice ); |
|
397 | + if (wpinv_get_errors()) { |
|
398 | + wpinv_send_back_to_checkout($invoice); |
|
399 | 399 | } |
400 | 400 | |
401 | 401 | // Send info to the gateway for payment processing |
402 | - do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission ); |
|
402 | + do_action("getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission); |
|
403 | 403 | |
404 | 404 | // Backwards compatibility. |
405 | - wpinv_send_to_gateway( $submission_gateway, $invoice ); |
|
405 | + wpinv_send_to_gateway($submission_gateway, $invoice); |
|
406 | 406 | |
407 | 407 | } |
408 | 408 | |
@@ -411,12 +411,12 @@ discard block |
||
411 | 411 | * |
412 | 412 | * @param WPInv_Invoice $invoice |
413 | 413 | */ |
414 | - protected function process_free_payment( $invoice ) { |
|
414 | + protected function process_free_payment($invoice) { |
|
415 | 415 | |
416 | - $invoice->set_gateway( 'none' ); |
|
417 | - $invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true ); |
|
416 | + $invoice->set_gateway('none'); |
|
417 | + $invoice->add_note(__("This is a free invoice and won't be sent to the payment gateway", 'invoicing'), false, false, true); |
|
418 | 418 | $invoice->mark_paid(); |
419 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
419 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
420 | 420 | |
421 | 421 | } |
422 | 422 | |
@@ -424,9 +424,9 @@ discard block |
||
424 | 424 | * Sends a redrect response to payment details. |
425 | 425 | * |
426 | 426 | */ |
427 | - public function send_redirect_response( $url ) { |
|
428 | - $url = urlencode( $url ); |
|
429 | - wp_send_json_success( $url ); |
|
427 | + public function send_redirect_response($url) { |
|
428 | + $url = urlencode($url); |
|
429 | + wp_send_json_success($url); |
|
430 | 430 | } |
431 | 431 | |
432 | 432 | } |
@@ -8,205 +8,205 @@ discard block |
||
8 | 8 | * @version 1.0.19 |
9 | 9 | */ |
10 | 10 | |
11 | -defined( 'ABSPATH' ) || exit; |
|
11 | +defined('ABSPATH') || exit; |
|
12 | 12 | |
13 | -$pages = wpinv_get_pages( true ); |
|
13 | +$pages = wpinv_get_pages(true); |
|
14 | 14 | |
15 | 15 | $currencies = wpinv_get_currencies(); |
16 | 16 | |
17 | 17 | $currency_code_options = array(); |
18 | -foreach ( $currencies as $code => $name ) { |
|
19 | - $currency_code_options[ $code ] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol( $code ) . ')'; |
|
18 | +foreach ($currencies as $code => $name) { |
|
19 | + $currency_code_options[$code] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol($code) . ')'; |
|
20 | 20 | } |
21 | 21 | |
22 | 22 | $invoice_number_padd_options = array(); |
23 | -for ( $i = 0; $i <= 20; $i++ ) { |
|
23 | +for ($i = 0; $i <= 20; $i++) { |
|
24 | 24 | $invoice_number_padd_options[$i] = $i; |
25 | 25 | } |
26 | 26 | |
27 | 27 | $currency_symbol = wpinv_currency_symbol(); |
28 | 28 | |
29 | 29 | $last_number = $reset_number = ''; |
30 | -if ( $last_invoice_number = get_option( 'wpinv_last_invoice_number' ) ) { |
|
31 | - $last_invoice_number = preg_replace( '/[^0-9]/', '', $last_invoice_number ); |
|
30 | +if ($last_invoice_number = get_option('wpinv_last_invoice_number')) { |
|
31 | + $last_invoice_number = preg_replace('/[^0-9]/', '', $last_invoice_number); |
|
32 | 32 | |
33 | - if ( !empty( $last_invoice_number ) ) { |
|
34 | - $last_number = ' ' . wp_sprintf( __( "( Last Invoice's sequential number: <b>%s</b> )", 'invoicing' ), $last_invoice_number ); |
|
33 | + if (!empty($last_invoice_number)) { |
|
34 | + $last_number = ' ' . wp_sprintf(__("( Last Invoice's sequential number: <b>%s</b> )", 'invoicing'), $last_invoice_number); |
|
35 | 35 | } |
36 | 36 | |
37 | 37 | $nonce = wp_create_nonce('reset_invoice_count'); |
38 | - $reset_number = '<a href="'.add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)).'" class="btn button">'.__('Force Reset Sequence', 'invoicing' ). '</a>'; |
|
38 | + $reset_number = '<a href="' . add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)) . '" class="btn button">' . __('Force Reset Sequence', 'invoicing') . '</a>'; |
|
39 | 39 | } |
40 | 40 | |
41 | 41 | $alert_wrapper_start = '<p style="color: #F00">'; |
42 | 42 | $alert_wrapper_close = '</p>'; |
43 | 43 | |
44 | 44 | return array( |
45 | - 'general' => apply_filters( 'wpinv_settings_general', |
|
45 | + 'general' => apply_filters('wpinv_settings_general', |
|
46 | 46 | array( |
47 | 47 | 'main' => array( |
48 | 48 | 'location_settings' => array( |
49 | 49 | 'id' => 'location_settings', |
50 | - 'name' => '<h3>' . __( 'Default Location', 'invoicing' ) . '</h3>', |
|
50 | + 'name' => '<h3>' . __('Default Location', 'invoicing') . '</h3>', |
|
51 | 51 | 'desc' => '', |
52 | 52 | 'type' => 'header', |
53 | 53 | ), |
54 | 54 | 'default_country' => array( |
55 | 55 | 'id' => 'default_country', |
56 | - 'name' => __( 'Default Country', 'invoicing' ), |
|
57 | - 'desc' => __( 'Where does your store operate from?', 'invoicing' ), |
|
56 | + 'name' => __('Default Country', 'invoicing'), |
|
57 | + 'desc' => __('Where does your store operate from?', 'invoicing'), |
|
58 | 58 | 'type' => 'select', |
59 | 59 | 'options' => wpinv_get_country_list(), |
60 | 60 | 'std' => 'GB', |
61 | 61 | 'class' => 'wpi_select2', |
62 | - 'placeholder' => __( 'Select a country', 'invoicing' ), |
|
62 | + 'placeholder' => __('Select a country', 'invoicing'), |
|
63 | 63 | ), |
64 | 64 | 'default_state' => array( |
65 | 65 | 'id' => 'default_state', |
66 | - 'name' => __( 'Default State / Province', 'invoicing' ), |
|
67 | - 'desc' => __( 'What state / province does your store operate from?', 'invoicing' ), |
|
66 | + 'name' => __('Default State / Province', 'invoicing'), |
|
67 | + 'desc' => __('What state / province does your store operate from?', 'invoicing'), |
|
68 | 68 | 'type' => 'country_states', |
69 | 69 | 'class' => 'wpi_select2', |
70 | - 'placeholder' => __( 'Select a state', 'invoicing' ), |
|
70 | + 'placeholder' => __('Select a state', 'invoicing'), |
|
71 | 71 | ), |
72 | 72 | 'store_name' => array( |
73 | 73 | 'id' => 'store_name', |
74 | - 'name' => __( 'Store Name', 'invoicing' ), |
|
75 | - 'desc' => __( 'Store name to print on invoices.', 'invoicing' ), |
|
74 | + 'name' => __('Store Name', 'invoicing'), |
|
75 | + 'desc' => __('Store name to print on invoices.', 'invoicing'), |
|
76 | 76 | 'std' => get_option('blogname'), |
77 | 77 | 'type' => 'text', |
78 | 78 | ), |
79 | 79 | 'logo' => array( |
80 | 80 | 'id' => 'logo', |
81 | - 'name' => __( 'Logo URL', 'invoicing' ), |
|
82 | - 'desc' => __( 'Store logo to print on invoices.', 'invoicing' ), |
|
81 | + 'name' => __('Logo URL', 'invoicing'), |
|
82 | + 'desc' => __('Store logo to print on invoices.', 'invoicing'), |
|
83 | 83 | 'type' => 'text', |
84 | 84 | ), |
85 | 85 | 'logo_width' => array( |
86 | 86 | 'id' => 'logo_width', |
87 | - 'name' => __( 'Logo width', 'invoicing' ), |
|
88 | - 'desc' => __( 'Logo width to use in invoice image.', 'invoicing' ), |
|
87 | + 'name' => __('Logo width', 'invoicing'), |
|
88 | + 'desc' => __('Logo width to use in invoice image.', 'invoicing'), |
|
89 | 89 | 'type' => 'number', |
90 | - 'placeholder' => __( 'Auto', 'invoicing' ), |
|
90 | + 'placeholder' => __('Auto', 'invoicing'), |
|
91 | 91 | ), |
92 | 92 | 'logo_height' => array( |
93 | 93 | 'id' => 'logo_height', |
94 | - 'name' => __( 'Logo height', 'invoicing' ), |
|
95 | - 'desc' => __( 'Logo height to use in invoice image.', 'invoicing' ), |
|
94 | + 'name' => __('Logo height', 'invoicing'), |
|
95 | + 'desc' => __('Logo height to use in invoice image.', 'invoicing'), |
|
96 | 96 | 'type' => 'number', |
97 | - 'placeholder' => __( 'Auto', 'invoicing' ), |
|
97 | + 'placeholder' => __('Auto', 'invoicing'), |
|
98 | 98 | ), |
99 | 99 | 'store_address' => array( |
100 | 100 | 'id' => 'store_address', |
101 | - 'name' => __( 'Store Address', 'invoicing' ), |
|
102 | - 'desc' => __( 'Enter the store address to display on invoice', 'invoicing' ), |
|
101 | + 'name' => __('Store Address', 'invoicing'), |
|
102 | + 'desc' => __('Enter the store address to display on invoice', 'invoicing'), |
|
103 | 103 | 'type' => 'textarea', |
104 | 104 | ), |
105 | 105 | 'page_settings' => array( |
106 | 106 | 'id' => 'page_settings', |
107 | - 'name' => '<h3>' . __( 'Page Settings', 'invoicing' ) . '</h3>', |
|
107 | + 'name' => '<h3>' . __('Page Settings', 'invoicing') . '</h3>', |
|
108 | 108 | 'desc' => '', |
109 | 109 | 'type' => 'header', |
110 | 110 | ), |
111 | 111 | 'checkout_page' => array( |
112 | 112 | 'id' => 'checkout_page', |
113 | - 'name' => __( 'Checkout Page', 'invoicing' ), |
|
114 | - 'desc' => __( 'This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing' ), |
|
113 | + 'name' => __('Checkout Page', 'invoicing'), |
|
114 | + 'desc' => __('This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing'), |
|
115 | 115 | 'type' => 'select', |
116 | 116 | 'options' => $pages, |
117 | 117 | 'class' => 'wpi_select2', |
118 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
118 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
119 | 119 | 'help-tip' => true, |
120 | 120 | ), |
121 | 121 | 'success_page' => array( |
122 | 122 | 'id' => 'success_page', |
123 | - 'name' => __( 'Success Page', 'invoicing' ), |
|
124 | - 'desc' => __( 'This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing' ), |
|
123 | + 'name' => __('Success Page', 'invoicing'), |
|
124 | + 'desc' => __('This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing'), |
|
125 | 125 | 'type' => 'select', |
126 | 126 | 'options' => $pages, |
127 | 127 | 'class' => 'wpi_select2', |
128 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
128 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
129 | 129 | 'help-tip' => true, |
130 | 130 | ), |
131 | 131 | 'failure_page' => array( |
132 | 132 | 'id' => 'failure_page', |
133 | - 'name' => __( 'Failed Transaction Page', 'invoicing' ), |
|
134 | - 'desc' => __( 'This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing' ), |
|
133 | + 'name' => __('Failed Transaction Page', 'invoicing'), |
|
134 | + 'desc' => __('This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing'), |
|
135 | 135 | 'type' => 'select', |
136 | 136 | 'options' => $pages, |
137 | 137 | 'class' => 'wpi_select2', |
138 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
138 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
139 | 139 | 'help-tip' => true, |
140 | 140 | ), |
141 | 141 | 'invoice_history_page' => array( |
142 | 142 | 'id' => 'invoice_history_page', |
143 | - 'name' => __( 'Invoice History Page', 'invoicing' ), |
|
144 | - 'desc' => __( 'This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing' ), |
|
143 | + 'name' => __('Invoice History Page', 'invoicing'), |
|
144 | + 'desc' => __('This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing'), |
|
145 | 145 | 'type' => 'select', |
146 | 146 | 'options' => $pages, |
147 | 147 | 'class' => 'wpi_select2', |
148 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
148 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
149 | 149 | 'help-tip' => true, |
150 | 150 | ), |
151 | 151 | 'invoice_subscription_page' => array( |
152 | 152 | 'id' => 'invoice_subscription_page', |
153 | - 'name' => __( 'Invoice Subscriptions Page', 'invoicing' ), |
|
154 | - 'desc' => __( 'This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing' ), |
|
153 | + 'name' => __('Invoice Subscriptions Page', 'invoicing'), |
|
154 | + 'desc' => __('This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing'), |
|
155 | 155 | 'type' => 'select', |
156 | 156 | 'options' => $pages, |
157 | 157 | 'class' => 'wpi_select2', |
158 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
158 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
159 | 159 | 'help-tip' => true, |
160 | 160 | ), |
161 | 161 | ), |
162 | 162 | 'currency_section' => array( |
163 | 163 | 'currency_settings' => array( |
164 | 164 | 'id' => 'currency_settings', |
165 | - 'name' => '<h3>' . __( 'Currency Settings', 'invoicing' ) . '</h3>', |
|
165 | + 'name' => '<h3>' . __('Currency Settings', 'invoicing') . '</h3>', |
|
166 | 166 | 'desc' => '', |
167 | 167 | 'type' => 'header', |
168 | 168 | ), |
169 | 169 | 'currency' => array( |
170 | 170 | 'id' => 'currency', |
171 | - 'name' => __( 'Currency', 'invoicing' ), |
|
172 | - 'desc' => __( 'Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing' ), |
|
171 | + 'name' => __('Currency', 'invoicing'), |
|
172 | + 'desc' => __('Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing'), |
|
173 | 173 | 'type' => 'select', |
174 | 174 | 'class' => 'wpi_select2', |
175 | 175 | 'options' => $currency_code_options, |
176 | 176 | ), |
177 | 177 | 'currency_position' => array( |
178 | 178 | 'id' => 'currency_position', |
179 | - 'name' => __( 'Currency Position', 'invoicing' ), |
|
180 | - 'desc' => __( 'Choose the location of the currency sign.', 'invoicing' ), |
|
179 | + 'name' => __('Currency Position', 'invoicing'), |
|
180 | + 'desc' => __('Choose the location of the currency sign.', 'invoicing'), |
|
181 | 181 | 'type' => 'select', |
182 | 182 | 'class' => 'wpi_select2', |
183 | 183 | 'options' => array( |
184 | - 'left' => __( 'Left', 'invoicing' ) . ' (' . $currency_symbol . wpinv_format_amount( '99.99' ) . ')', |
|
185 | - 'right' => __( 'Right', 'invoicing' ) . ' ('. wpinv_format_amount( '99.99' ) . $currency_symbol . ')', |
|
186 | - 'left_space' => __( 'Left with space', 'invoicing' ) . ' (' . $currency_symbol . ' ' . wpinv_format_amount( '99.99' ) . ')', |
|
187 | - 'right_space' => __( 'Right with space', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . ' ' . $currency_symbol . ')' |
|
184 | + 'left' => __('Left', 'invoicing') . ' (' . $currency_symbol . wpinv_format_amount('99.99') . ')', |
|
185 | + 'right' => __('Right', 'invoicing') . ' (' . wpinv_format_amount('99.99') . $currency_symbol . ')', |
|
186 | + 'left_space' => __('Left with space', 'invoicing') . ' (' . $currency_symbol . ' ' . wpinv_format_amount('99.99') . ')', |
|
187 | + 'right_space' => __('Right with space', 'invoicing') . ' (' . wpinv_format_amount('99.99') . ' ' . $currency_symbol . ')' |
|
188 | 188 | ) |
189 | 189 | ), |
190 | 190 | 'thousands_separator' => array( |
191 | 191 | 'id' => 'thousands_separator', |
192 | - 'name' => __( 'Thousands Separator', 'invoicing' ), |
|
193 | - 'desc' => __( 'The symbol (usually , or .) to separate thousands', 'invoicing' ), |
|
192 | + 'name' => __('Thousands Separator', 'invoicing'), |
|
193 | + 'desc' => __('The symbol (usually , or .) to separate thousands', 'invoicing'), |
|
194 | 194 | 'type' => 'text', |
195 | 195 | 'size' => 'small', |
196 | 196 | 'std' => ',', |
197 | 197 | ), |
198 | 198 | 'decimal_separator' => array( |
199 | 199 | 'id' => 'decimal_separator', |
200 | - 'name' => __( 'Decimal Separator', 'invoicing' ), |
|
201 | - 'desc' => __( 'The symbol (usually , or .) to separate decimal points', 'invoicing' ), |
|
200 | + 'name' => __('Decimal Separator', 'invoicing'), |
|
201 | + 'desc' => __('The symbol (usually , or .) to separate decimal points', 'invoicing'), |
|
202 | 202 | 'type' => 'text', |
203 | 203 | 'size' => 'small', |
204 | 204 | 'std' => '.', |
205 | 205 | ), |
206 | 206 | 'decimals' => array( |
207 | 207 | 'id' => 'decimals', |
208 | - 'name' => __( 'Number of Decimals', 'invoicing' ), |
|
209 | - 'desc' => __( 'This sets the number of decimal points shown in displayed prices.', 'invoicing' ), |
|
208 | + 'name' => __('Number of Decimals', 'invoicing'), |
|
209 | + 'desc' => __('This sets the number of decimal points shown in displayed prices.', 'invoicing'), |
|
210 | 210 | 'type' => 'number', |
211 | 211 | 'size' => 'small', |
212 | 212 | 'std' => '2', |
@@ -218,21 +218,21 @@ discard block |
||
218 | 218 | 'labels' => array( |
219 | 219 | 'labels' => array( |
220 | 220 | 'id' => 'labels_settings', |
221 | - 'name' => '<h3>' . __( 'Invoice Labels', 'invoicing' ) . '</h3>', |
|
221 | + 'name' => '<h3>' . __('Invoice Labels', 'invoicing') . '</h3>', |
|
222 | 222 | 'desc' => '', |
223 | 223 | 'type' => 'header', |
224 | 224 | ), |
225 | 225 | 'vat_invoice_notice_label' => array( |
226 | 226 | 'id' => 'vat_invoice_notice_label', |
227 | - 'name' => __( 'Invoice Notice Label', 'invoicing' ), |
|
228 | - 'desc' => __( 'Use this to add an invoice notice section (label) to your invoices', 'invoicing' ), |
|
227 | + 'name' => __('Invoice Notice Label', 'invoicing'), |
|
228 | + 'desc' => __('Use this to add an invoice notice section (label) to your invoices', 'invoicing'), |
|
229 | 229 | 'type' => 'text', |
230 | 230 | 'size' => 'regular', |
231 | 231 | ), |
232 | 232 | 'vat_invoice_notice' => array( |
233 | 233 | 'id' => 'vat_invoice_notice', |
234 | - 'name' => __( 'Invoice notice', 'invoicing' ), |
|
235 | - 'desc' => __( 'Use this to add an invoice notice section (description) to your invoices', 'invoicing' ), |
|
234 | + 'name' => __('Invoice notice', 'invoicing'), |
|
235 | + 'desc' => __('Use this to add an invoice notice section (description) to your invoices', 'invoicing'), |
|
236 | 236 | 'type' => 'text', |
237 | 237 | 'size' => 'regular', |
238 | 238 | ), |
@@ -244,22 +244,22 @@ discard block |
||
244 | 244 | 'main' => array( |
245 | 245 | 'gateway_settings' => array( |
246 | 246 | 'id' => 'api_header', |
247 | - 'name' => '<h3>' . __( 'Gateway Settings', 'invoicing' ) . '</h3>', |
|
247 | + 'name' => '<h3>' . __('Gateway Settings', 'invoicing') . '</h3>', |
|
248 | 248 | 'desc' => '', |
249 | 249 | 'type' => 'header', |
250 | 250 | ), |
251 | 251 | 'gateways' => array( |
252 | 252 | 'id' => 'gateways', |
253 | - 'name' => __( 'Payment Gateways', 'invoicing' ), |
|
254 | - 'desc' => __( 'Choose the payment gateways you want to enable.', 'invoicing' ), |
|
253 | + 'name' => __('Payment Gateways', 'invoicing'), |
|
254 | + 'desc' => __('Choose the payment gateways you want to enable.', 'invoicing'), |
|
255 | 255 | 'type' => 'gateways', |
256 | - 'std' => array( 'manual'=>1 ), |
|
256 | + 'std' => array('manual'=>1), |
|
257 | 257 | 'options' => wpinv_get_payment_gateways(), |
258 | 258 | ), |
259 | 259 | 'default_gateway' => array( |
260 | 260 | 'id' => 'default_gateway', |
261 | - 'name' => __( 'Default Gateway', 'invoicing' ), |
|
262 | - 'desc' => __( 'This gateway will be loaded automatically with the checkout page.', 'invoicing' ), |
|
261 | + 'name' => __('Default Gateway', 'invoicing'), |
|
262 | + 'desc' => __('This gateway will be loaded automatically with the checkout page.', 'invoicing'), |
|
263 | 263 | 'type' => 'gateway_select', |
264 | 264 | 'std' => 'manual', |
265 | 265 | 'class' => 'wpi_select2', |
@@ -274,32 +274,32 @@ discard block |
||
274 | 274 | 'main' => array( |
275 | 275 | 'tax_settings' => array( |
276 | 276 | 'id' => 'tax_settings', |
277 | - 'name' => '<h3>' . __( 'Tax Settings', 'invoicing' ) . '</h3>', |
|
277 | + 'name' => '<h3>' . __('Tax Settings', 'invoicing') . '</h3>', |
|
278 | 278 | 'type' => 'header', |
279 | 279 | ), |
280 | 280 | |
281 | 281 | 'enable_taxes' => array( |
282 | 282 | 'id' => 'enable_taxes', |
283 | - 'name' => __( 'Enable Taxes', 'invoicing' ), |
|
284 | - 'desc' => __( 'Enable tax rates and calculations.', 'invoicing' ), |
|
283 | + 'name' => __('Enable Taxes', 'invoicing'), |
|
284 | + 'desc' => __('Enable tax rates and calculations.', 'invoicing'), |
|
285 | 285 | 'type' => 'checkbox', |
286 | 286 | 'std' => 0, |
287 | 287 | ), |
288 | 288 | |
289 | 289 | 'tax_subtotal_rounding' => array( |
290 | 290 | 'id' => 'tax_subtotal_rounding', |
291 | - 'name' => __( 'Rounding', 'invoicing' ), |
|
292 | - 'desc' => __( 'Round tax at subtotal level, instead of rounding per tax rate', 'invoicing' ), |
|
291 | + 'name' => __('Rounding', 'invoicing'), |
|
292 | + 'desc' => __('Round tax at subtotal level, instead of rounding per tax rate', 'invoicing'), |
|
293 | 293 | 'type' => 'checkbox', |
294 | 294 | 'std' => 1, |
295 | 295 | ), |
296 | 296 | |
297 | 297 | 'prices_include_tax' => array( |
298 | 298 | 'id' => 'prices_include_tax', |
299 | - 'name' => __( 'Prices entered with tax', 'invoicing' ), |
|
299 | + 'name' => __('Prices entered with tax', 'invoicing'), |
|
300 | 300 | 'options' => array( |
301 | - 'yes' => __( 'Yes, I will enter prices inclusive of tax', 'invoicing' ), |
|
302 | - 'no' => __( 'No, I will enter prices exclusive of tax', 'invoicing' ), |
|
301 | + 'yes' => __('Yes, I will enter prices inclusive of tax', 'invoicing'), |
|
302 | + 'no' => __('No, I will enter prices exclusive of tax', 'invoicing'), |
|
303 | 303 | ), |
304 | 304 | 'type' => 'select', |
305 | 305 | 'std' => 'no', |
@@ -307,10 +307,10 @@ discard block |
||
307 | 307 | |
308 | 308 | 'tax_base' => array( |
309 | 309 | 'id' => 'tax_base', |
310 | - 'name' => __( 'Calculate tax based on', 'invoicing' ), |
|
310 | + 'name' => __('Calculate tax based on', 'invoicing'), |
|
311 | 311 | 'options' => array( |
312 | - 'billing' => __( 'Customer billing address', 'invoicing' ), |
|
313 | - 'base' => __( 'Shop base address', 'invoicing' ), |
|
312 | + 'billing' => __('Customer billing address', 'invoicing'), |
|
313 | + 'base' => __('Shop base address', 'invoicing'), |
|
314 | 314 | ), |
315 | 315 | 'type' => 'select', |
316 | 316 | 'std' => 'billing', |
@@ -318,10 +318,10 @@ discard block |
||
318 | 318 | |
319 | 319 | 'tax_display_totals' => array( |
320 | 320 | 'id' => 'tax_display_totals', |
321 | - 'name' => __( 'Display tax totals', 'invoicing' ), |
|
321 | + 'name' => __('Display tax totals', 'invoicing'), |
|
322 | 322 | 'options' => array( |
323 | - 'single' => __( 'As a single total', 'invoicing' ), |
|
324 | - 'individual' => __( 'As individual tax rates', 'invoicing' ), |
|
323 | + 'single' => __('As a single total', 'invoicing'), |
|
324 | + 'individual' => __('As individual tax rates', 'invoicing'), |
|
325 | 325 | ), |
326 | 326 | 'type' => 'select', |
327 | 327 | 'std' => 'individual', |
@@ -329,8 +329,8 @@ discard block |
||
329 | 329 | |
330 | 330 | 'tax_rate' => array( |
331 | 331 | 'id' => 'tax_rate', |
332 | - 'name' => __( 'Fallback Tax Rate', 'invoicing' ), |
|
333 | - 'desc' => __( 'Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing' ), |
|
332 | + 'name' => __('Fallback Tax Rate', 'invoicing'), |
|
333 | + 'desc' => __('Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing'), |
|
334 | 334 | 'type' => 'number', |
335 | 335 | 'size' => 'small', |
336 | 336 | 'min' => '0', |
@@ -342,8 +342,8 @@ discard block |
||
342 | 342 | 'rates' => array( |
343 | 343 | 'tax_rates' => array( |
344 | 344 | 'id' => 'tax_rates', |
345 | - 'name' => '<h3>' . __( 'Tax Rates', 'invoicing' ) . '</h3>', |
|
346 | - 'desc' => __( 'Enter tax rates for specific regions.', 'invoicing' ), |
|
345 | + 'name' => '<h3>' . __('Tax Rates', 'invoicing') . '</h3>', |
|
346 | + 'desc' => __('Enter tax rates for specific regions.', 'invoicing'), |
|
347 | 347 | 'type' => 'tax_rates', |
348 | 348 | ), |
349 | 349 | ), |
@@ -352,45 +352,45 @@ discard block |
||
352 | 352 | |
353 | 353 | 'vat_company_name' => array( |
354 | 354 | 'id' => 'vat_company_name', |
355 | - 'name' => __( 'Company Name', 'invoicing' ), |
|
356 | - 'desc' => wp_sprintf(__( 'Verify your company name and VAT number on the %sEU VIES System.%s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ), |
|
355 | + 'name' => __('Company Name', 'invoicing'), |
|
356 | + 'desc' => wp_sprintf(__('Verify your company name and VAT number on the %sEU VIES System.%s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'), |
|
357 | 357 | 'type' => 'text', |
358 | 358 | 'size' => 'regular', |
359 | 359 | ), |
360 | 360 | |
361 | 361 | 'vat_number' => array( |
362 | 362 | 'id' => 'vat_number', |
363 | - 'name' => __( 'VAT Number', 'invoicing' ), |
|
364 | - 'desc' => __( 'Enter your VAT number including the country identifier, eg: GB123456789', 'invoicing' ), |
|
363 | + 'name' => __('VAT Number', 'invoicing'), |
|
364 | + 'desc' => __('Enter your VAT number including the country identifier, eg: GB123456789', 'invoicing'), |
|
365 | 365 | 'type' => 'text', |
366 | 366 | 'size' => 'regular', |
367 | 367 | ), |
368 | 368 | |
369 | 369 | 'vat_prevent_b2c_purchase' => array( |
370 | 370 | 'id' => 'vat_prevent_b2c_purchase', |
371 | - 'name' => __( 'Prevent B2C Sales', 'invoicing' ), |
|
372 | - 'desc' => __( 'Require everyone in the EU to provide a VAT number.', 'invoicing' ), |
|
371 | + 'name' => __('Prevent B2C Sales', 'invoicing'), |
|
372 | + 'desc' => __('Require everyone in the EU to provide a VAT number.', 'invoicing'), |
|
373 | 373 | 'type' => 'checkbox' |
374 | 374 | ), |
375 | 375 | |
376 | 376 | 'validate_vat_number' => array( |
377 | 377 | 'id' => 'validate_vat_number', |
378 | - 'name' => __( 'Validate VAT Number', 'invoicing' ), |
|
379 | - 'desc' => __( 'Validate VAT numbers with VIES.', 'invoicing' ), |
|
378 | + 'name' => __('Validate VAT Number', 'invoicing'), |
|
379 | + 'desc' => __('Validate VAT numbers with VIES.', 'invoicing'), |
|
380 | 380 | 'type' => 'checkbox' |
381 | 381 | ), |
382 | 382 | |
383 | 383 | 'vat_same_country_rule' => array( |
384 | 384 | 'id' => 'vat_same_country_rule', |
385 | - 'name' => __( 'Same Country Rule', 'invoicing' ), |
|
386 | - 'desc' => __( 'What should happen if a customer is from the same country as your business?', 'invoicing' ), |
|
385 | + 'name' => __('Same Country Rule', 'invoicing'), |
|
386 | + 'desc' => __('What should happen if a customer is from the same country as your business?', 'invoicing'), |
|
387 | 387 | 'type' => 'select', |
388 | 388 | 'options' => array( |
389 | - 'no' => __( 'Do not charge tax', 'invoicing' ), |
|
390 | - 'always' => __( 'Charge tax unless vat number is validated', 'invoicing' ), |
|
391 | - 'vat_too' => __( 'Charge tax even if vat number is validated', 'invoicing' ) |
|
389 | + 'no' => __('Do not charge tax', 'invoicing'), |
|
390 | + 'always' => __('Charge tax unless vat number is validated', 'invoicing'), |
|
391 | + 'vat_too' => __('Charge tax even if vat number is validated', 'invoicing') |
|
392 | 392 | ), |
393 | - 'placeholder' => __( 'Select an option', 'invoicing' ), |
|
393 | + 'placeholder' => __('Select an option', 'invoicing'), |
|
394 | 394 | 'std' => 'vat_too', |
395 | 395 | ), |
396 | 396 | |
@@ -404,59 +404,59 @@ discard block |
||
404 | 404 | 'main' => array( |
405 | 405 | 'email_settings_header' => array( |
406 | 406 | 'id' => 'email_settings_header', |
407 | - 'name' => '<h3>' . __( 'Email Sender Options', 'invoicing' ) . '</h3>', |
|
407 | + 'name' => '<h3>' . __('Email Sender Options', 'invoicing') . '</h3>', |
|
408 | 408 | 'type' => 'header', |
409 | 409 | ), |
410 | 410 | 'email_from_name' => array( |
411 | 411 | 'id' => 'email_from_name', |
412 | - 'name' => __( 'From Name', 'invoicing' ), |
|
413 | - 'desc' => __( 'Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing' ), |
|
414 | - 'std' => esc_attr( get_bloginfo( 'name', 'display' ) ), |
|
412 | + 'name' => __('From Name', 'invoicing'), |
|
413 | + 'desc' => __('Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing'), |
|
414 | + 'std' => esc_attr(get_bloginfo('name', 'display')), |
|
415 | 415 | 'type' => 'text', |
416 | 416 | ), |
417 | 417 | 'email_from' => array( |
418 | 418 | 'id' => 'email_from', |
419 | - 'name' => __( 'From Email', 'invoicing' ), |
|
420 | - 'desc' => sprintf (__( 'Email address to send invoice emails from. This will act as the "from" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing' ), $alert_wrapper_start, $alert_wrapper_close), |
|
421 | - 'std' => get_option( 'admin_email' ), |
|
419 | + 'name' => __('From Email', 'invoicing'), |
|
420 | + 'desc' => sprintf(__('Email address to send invoice emails from. This will act as the "from" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing'), $alert_wrapper_start, $alert_wrapper_close), |
|
421 | + 'std' => get_option('admin_email'), |
|
422 | 422 | 'type' => 'text', |
423 | 423 | ), |
424 | 424 | 'admin_email' => array( |
425 | 425 | 'id' => 'admin_email', |
426 | - 'name' => __( 'Admin Email', 'invoicing' ), |
|
427 | - 'desc' => __( 'Where should we send admin notifications? This will is also act as the "reply-to" address for invoice emails', 'invoicing' ), |
|
428 | - 'std' => get_option( 'admin_email' ), |
|
426 | + 'name' => __('Admin Email', 'invoicing'), |
|
427 | + 'desc' => __('Where should we send admin notifications? This will is also act as the "reply-to" address for invoice emails', 'invoicing'), |
|
428 | + 'std' => get_option('admin_email'), |
|
429 | 429 | 'type' => 'text', |
430 | 430 | ), |
431 | 431 | 'overdue_settings_header' => array( |
432 | 432 | 'id' => 'overdue_settings_header', |
433 | - 'name' => '<h3>' . __( 'Due Date Settings', 'invoicing' ) . '</h3>', |
|
433 | + 'name' => '<h3>' . __('Due Date Settings', 'invoicing') . '</h3>', |
|
434 | 434 | 'type' => 'header', |
435 | 435 | ), |
436 | 436 | 'overdue_active' => array( |
437 | 437 | 'id' => 'overdue_active', |
438 | - 'name' => __( 'Enable Due Date', 'invoicing' ), |
|
439 | - 'desc' => __( 'Check this to enable due date option for invoices.', 'invoicing' ), |
|
438 | + 'name' => __('Enable Due Date', 'invoicing'), |
|
439 | + 'desc' => __('Check this to enable due date option for invoices.', 'invoicing'), |
|
440 | 440 | 'type' => 'checkbox', |
441 | 441 | 'std' => false, |
442 | 442 | ), |
443 | 443 | 'email_template_header' => array( |
444 | 444 | 'id' => 'email_template_header', |
445 | - 'name' => '<h3>' . __( 'Email Template', 'invoicing' ) . '</h3>', |
|
445 | + 'name' => '<h3>' . __('Email Template', 'invoicing') . '</h3>', |
|
446 | 446 | 'type' => 'header', |
447 | 447 | ), |
448 | 448 | 'email_header_image' => array( |
449 | 449 | 'id' => 'email_header_image', |
450 | - 'name' => __( 'Header Image', 'invoicing' ), |
|
451 | - 'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing' ), |
|
450 | + 'name' => __('Header Image', 'invoicing'), |
|
451 | + 'desc' => __('URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing'), |
|
452 | 452 | 'std' => '', |
453 | 453 | 'type' => 'text', |
454 | 454 | ), |
455 | 455 | 'email_footer_text' => array( |
456 | 456 | 'id' => 'email_footer_text', |
457 | - 'name' => __( 'Footer Text', 'invoicing' ), |
|
458 | - 'desc' => __( 'The text to appear in the footer of all invoice emails.', 'invoicing' ), |
|
459 | - 'std' => get_bloginfo( 'name', 'display' ) . ' - ' . __( 'Powered by GetPaid', 'invoicing' ), |
|
457 | + 'name' => __('Footer Text', 'invoicing'), |
|
458 | + 'desc' => __('The text to appear in the footer of all invoice emails.', 'invoicing'), |
|
459 | + 'std' => get_bloginfo('name', 'display') . ' - ' . __('Powered by GetPaid', 'invoicing'), |
|
460 | 460 | 'type' => 'textarea', |
461 | 461 | 'class' => 'regular-text', |
462 | 462 | 'rows' => 2, |
@@ -464,29 +464,29 @@ discard block |
||
464 | 464 | ), |
465 | 465 | 'email_base_color' => array( |
466 | 466 | 'id' => 'email_base_color', |
467 | - 'name' => __( 'Base Color', 'invoicing' ), |
|
468 | - 'desc' => __( 'The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing' ), |
|
467 | + 'name' => __('Base Color', 'invoicing'), |
|
468 | + 'desc' => __('The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing'), |
|
469 | 469 | 'std' => '#557da2', |
470 | 470 | 'type' => 'color', |
471 | 471 | ), |
472 | 472 | 'email_background_color' => array( |
473 | 473 | 'id' => 'email_background_color', |
474 | - 'name' => __( 'Background Color', 'invoicing' ), |
|
475 | - 'desc' => __( 'The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing' ), |
|
474 | + 'name' => __('Background Color', 'invoicing'), |
|
475 | + 'desc' => __('The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing'), |
|
476 | 476 | 'std' => '#f5f5f5', |
477 | 477 | 'type' => 'color', |
478 | 478 | ), |
479 | 479 | 'email_body_background_color' => array( |
480 | 480 | 'id' => 'email_body_background_color', |
481 | - 'name' => __( 'Body Background Color', 'invoicing' ), |
|
482 | - 'desc' => __( 'The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing' ), |
|
481 | + 'name' => __('Body Background Color', 'invoicing'), |
|
482 | + 'desc' => __('The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing'), |
|
483 | 483 | 'std' => '#fdfdfd', |
484 | 484 | 'type' => 'color', |
485 | 485 | ), |
486 | 486 | 'email_text_color' => array( |
487 | 487 | 'id' => 'email_text_color', |
488 | - 'name' => __( 'Body Text Color', 'invoicing' ), |
|
489 | - 'desc' => __( 'The main body text color. Default <code>#505050</code>.', 'invoicing' ), |
|
488 | + 'name' => __('Body Text Color', 'invoicing'), |
|
489 | + 'desc' => __('The main body text color. Default <code>#505050</code>.', 'invoicing'), |
|
490 | 490 | 'std' => '#505050', |
491 | 491 | 'type' => 'color', |
492 | 492 | ), |
@@ -501,7 +501,7 @@ discard block |
||
501 | 501 | ), |
502 | 502 | |
503 | 503 | // Integrations. |
504 | - 'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'settings', 'id' ), |
|
504 | + 'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'settings', 'id'), |
|
505 | 505 | |
506 | 506 | /** Privacy Settings */ |
507 | 507 | 'privacy' => apply_filters('wpinv_settings_privacy', |
@@ -509,17 +509,17 @@ discard block |
||
509 | 509 | 'main' => array( |
510 | 510 | 'invoicing_privacy_policy_settings' => array( |
511 | 511 | 'id' => 'invoicing_privacy_policy_settings', |
512 | - 'name' => '<h3>' . __( 'Privacy Policy', 'invoicing' ) . '</h3>', |
|
512 | + 'name' => '<h3>' . __('Privacy Policy', 'invoicing') . '</h3>', |
|
513 | 513 | 'type' => 'header', |
514 | 514 | ), |
515 | 515 | 'privacy_page' => array( |
516 | 516 | 'id' => 'privacy_page', |
517 | - 'name' => __( 'Privacy Page', 'invoicing' ), |
|
518 | - 'desc' => __( 'If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing' ), |
|
517 | + 'name' => __('Privacy Page', 'invoicing'), |
|
518 | + 'desc' => __('If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing'), |
|
519 | 519 | 'type' => 'select', |
520 | - 'options' => wpinv_get_pages( true, __( 'Select a page', 'invoicing' )), |
|
520 | + 'options' => wpinv_get_pages(true, __('Select a page', 'invoicing')), |
|
521 | 521 | 'class' => 'wpi_select2', |
522 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
522 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
523 | 523 | ), |
524 | 524 | ), |
525 | 525 | ) |
@@ -530,19 +530,19 @@ discard block |
||
530 | 530 | 'main' => array( |
531 | 531 | 'invoice_number_format_settings' => array( |
532 | 532 | 'id' => 'invoice_number_format_settings', |
533 | - 'name' => '<h3>' . __( 'Invoice Number', 'invoicing' ) . '</h3>', |
|
533 | + 'name' => '<h3>' . __('Invoice Number', 'invoicing') . '</h3>', |
|
534 | 534 | 'type' => 'header', |
535 | 535 | ), |
536 | 536 | 'sequential_invoice_number' => array( |
537 | 537 | 'id' => 'sequential_invoice_number', |
538 | - 'name' => __( 'Sequential Invoice Numbers', 'invoicing' ), |
|
539 | - 'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing' ) . $reset_number, |
|
538 | + 'name' => __('Sequential Invoice Numbers', 'invoicing'), |
|
539 | + 'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing') . $reset_number, |
|
540 | 540 | 'type' => 'checkbox', |
541 | 541 | ), |
542 | 542 | 'invoice_sequence_start' => array( |
543 | 543 | 'id' => 'invoice_sequence_start', |
544 | - 'name' => __( 'Sequential Starting Number', 'invoicing' ), |
|
545 | - 'desc' => __( 'The number at which the invoice number sequence should begin.', 'invoicing' ) . $last_number, |
|
544 | + 'name' => __('Sequential Starting Number', 'invoicing'), |
|
545 | + 'desc' => __('The number at which the invoice number sequence should begin.', 'invoicing') . $last_number, |
|
546 | 546 | 'type' => 'number', |
547 | 547 | 'size' => 'small', |
548 | 548 | 'std' => '1', |
@@ -550,8 +550,8 @@ discard block |
||
550 | 550 | ), |
551 | 551 | 'invoice_number_padd' => array( |
552 | 552 | 'id' => 'invoice_number_padd', |
553 | - 'name' => __( 'Minimum Digits', 'invoicing' ), |
|
554 | - 'desc' => __( 'If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing' ), |
|
553 | + 'name' => __('Minimum Digits', 'invoicing'), |
|
554 | + 'desc' => __('If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing'), |
|
555 | 555 | 'type' => 'select', |
556 | 556 | 'options' => $invoice_number_padd_options, |
557 | 557 | 'std' => 5, |
@@ -559,8 +559,8 @@ discard block |
||
559 | 559 | ), |
560 | 560 | 'invoice_number_prefix' => array( |
561 | 561 | 'id' => 'invoice_number_prefix', |
562 | - 'name' => __( 'Invoice Number Prefix', 'invoicing' ), |
|
563 | - 'desc' => __( 'Prefix for all invoice numbers. Ex: INV-', 'invoicing' ), |
|
562 | + 'name' => __('Invoice Number Prefix', 'invoicing'), |
|
563 | + 'desc' => __('Prefix for all invoice numbers. Ex: INV-', 'invoicing'), |
|
564 | 564 | 'type' => 'text', |
565 | 565 | 'size' => 'regular', |
566 | 566 | 'std' => 'INV-', |
@@ -568,46 +568,46 @@ discard block |
||
568 | 568 | ), |
569 | 569 | 'invoice_number_postfix' => array( |
570 | 570 | 'id' => 'invoice_number_postfix', |
571 | - 'name' => __( 'Invoice Number Postfix', 'invoicing' ), |
|
572 | - 'desc' => __( 'Postfix for all invoice numbers.', 'invoicing' ), |
|
571 | + 'name' => __('Invoice Number Postfix', 'invoicing'), |
|
572 | + 'desc' => __('Postfix for all invoice numbers.', 'invoicing'), |
|
573 | 573 | 'type' => 'text', |
574 | 574 | 'size' => 'regular', |
575 | 575 | 'std' => '' |
576 | 576 | ), |
577 | 577 | 'checkout_settings' => array( |
578 | 578 | 'id' => 'checkout_settings', |
579 | - 'name' => '<h3>' . __( 'Checkout Settings', 'invoicing' ) . '</h3>', |
|
579 | + 'name' => '<h3>' . __('Checkout Settings', 'invoicing') . '</h3>', |
|
580 | 580 | 'type' => 'header', |
581 | 581 | ), |
582 | 582 | 'disable_new_user_emails' => array( |
583 | 583 | 'id' => 'disable_new_user_emails', |
584 | - 'name' => __( 'Disable new user emails', 'invoicing' ), |
|
585 | - 'desc' => __( 'Do not send an email to customers when a new user account is created for them.', 'invoicing' ), |
|
584 | + 'name' => __('Disable new user emails', 'invoicing'), |
|
585 | + 'desc' => __('Do not send an email to customers when a new user account is created for them.', 'invoicing'), |
|
586 | 586 | 'type' => 'checkbox', |
587 | 587 | ), |
588 | 588 | 'login_to_checkout' => array( |
589 | 589 | 'id' => 'login_to_checkout', |
590 | - 'name' => __( 'Require Login To Checkout', 'invoicing' ), |
|
591 | - 'desc' => __( 'If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing' ), |
|
590 | + 'name' => __('Require Login To Checkout', 'invoicing'), |
|
591 | + 'desc' => __('If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing'), |
|
592 | 592 | 'type' => 'checkbox', |
593 | 593 | ), |
594 | 594 | 'maxmind_license_key' => array( |
595 | 595 | 'id' => 'maxmind_license_key', |
596 | - 'name' => __( 'MaxMind License Key', 'invoicing' ), |
|
596 | + 'name' => __('MaxMind License Key', 'invoicing'), |
|
597 | 597 | 'type' => 'text', |
598 | 598 | 'size' => 'regular', |
599 | - 'desc' => __( "Enter you license key if you would like to use MaxMind to automatically detect a customer's country.", 'invoicing' ) . ' <a href="https://support.maxmind.com/account-faq/license-keys/how-do-i-generate-a-license-key/">' . __( 'How to generate a free license key.', 'invoicing' ) . '</a>', |
|
599 | + 'desc' => __("Enter you license key if you would like to use MaxMind to automatically detect a customer's country.", 'invoicing') . ' <a href="https://support.maxmind.com/account-faq/license-keys/how-do-i-generate-a-license-key/">' . __('How to generate a free license key.', 'invoicing') . '</a>', |
|
600 | 600 | ), |
601 | 601 | |
602 | 602 | 'uninstall_settings' => array( |
603 | 603 | 'id' => 'uninstall_settings', |
604 | - 'name' => '<h3>' . __( 'Uninstall Settings', 'invoicing' ) . '</h3>', |
|
604 | + 'name' => '<h3>' . __('Uninstall Settings', 'invoicing') . '</h3>', |
|
605 | 605 | 'type' => 'header', |
606 | 606 | ), |
607 | 607 | 'remove_data_on_unistall' => array( |
608 | 608 | 'id' => 'remove_data_on_unistall', |
609 | - 'name' => __( 'Remove Data on Uninstall?', 'invoicing' ), |
|
610 | - 'desc' => __( 'Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing' ), |
|
609 | + 'name' => __('Remove Data on Uninstall?', 'invoicing'), |
|
610 | + 'desc' => __('Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing'), |
|
611 | 611 | 'type' => 'checkbox', |
612 | 612 | 'std' => '' |
613 | 613 | ), |
@@ -616,13 +616,13 @@ discard block |
||
616 | 616 | 'custom-css' => array( |
617 | 617 | 'css_settings' => array( |
618 | 618 | 'id' => 'css_settings', |
619 | - 'name' => '<h3>' . __( 'Custom CSS', 'invoicing' ) . '</h3>', |
|
619 | + 'name' => '<h3>' . __('Custom CSS', 'invoicing') . '</h3>', |
|
620 | 620 | 'type' => 'header', |
621 | 621 | ), |
622 | 622 | 'template_custom_css' => array( |
623 | 623 | 'id' => 'template_custom_css', |
624 | - 'name' => __( 'Invoice Template CSS', 'invoicing' ), |
|
625 | - 'desc' => __( 'Add CSS to modify appearance of the print invoice page.', 'invoicing' ), |
|
624 | + 'name' => __('Invoice Template CSS', 'invoicing'), |
|
625 | + 'desc' => __('Add CSS to modify appearance of the print invoice page.', 'invoicing'), |
|
626 | 626 | 'type' => 'textarea', |
627 | 627 | 'class'=> 'regular-text', |
628 | 628 | 'rows' => 10, |
@@ -636,8 +636,8 @@ discard block |
||
636 | 636 | 'main' => array( |
637 | 637 | 'tool_settings' => array( |
638 | 638 | 'id' => 'tool_settings', |
639 | - 'name' => '<h3>' . __( 'Diagnostic Tools', 'invoicing' ) . '</h3>', |
|
640 | - 'desc' => __( 'Invoicing diagnostic tools', 'invoicing' ), |
|
639 | + 'name' => '<h3>' . __('Diagnostic Tools', 'invoicing') . '</h3>', |
|
640 | + 'desc' => __('Invoicing diagnostic tools', 'invoicing'), |
|
641 | 641 | 'type' => 'tools', |
642 | 642 | ), |
643 | 643 | ), |