Passed
Push — master ( 608aea...9807f2 )
by Brian
04:19
created
includes/payments/class-getpaid-checkout.php 1 patch
Spacing   +105 added lines, -105 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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->created_via( 'payment_form' );
128
+			$invoice->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
 block discarded – undo
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,26 +181,26 @@  discard block
 block discarded – undo
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
 
199
-        if ( is_wp_error( $user ) ) {
200
-            wp_send_json_error( $user->get_error_message() );
199
+        if (is_wp_error($user)) {
200
+            wp_send_json_error($user->get_error_message());
201 201
         }
202 202
 
203
-        if ( is_numeric( $user ) ) {
203
+        if (is_numeric($user)) {
204 204
             return $user;
205 205
 		}
206 206
 
@@ -221,30 +221,30 @@  discard block
 block discarded – undo
221 221
         $prepared = array();
222 222
 
223 223
         // Raw submission details.
224
-		$data     = $submission->get_data();
224
+		$data = $submission->get_data();
225 225
 
226 226
 		// Loop through the submitted details.
227
-        foreach ( $submission->get_payment_form()->get_elements() as $field ) {
227
+        foreach ($submission->get_payment_form()->get_elements() as $field) {
228 228
 
229 229
 			// Skip premade fields.
230
-            if ( ! empty( $field['premade'] ) || $field['type'] == 'address' ) {
230
+            if (!empty($field['premade']) || $field['type'] == 'address') {
231 231
                 continue;
232 232
             }
233 233
 
234 234
             // If it is required and not set, abort.
235
-            if ( ! $submission->is_required_field_set( $field ) ) {
236
-                wp_send_json_error( __( 'Please fill all required fields.', 'invoicing' ) );
235
+            if (!$submission->is_required_field_set($field)) {
236
+                wp_send_json_error(__('Please fill all required fields.', 'invoicing'));
237 237
             }
238 238
 
239 239
             // Handle misc fields.
240
-            if ( isset( $data[ $field['id'] ] ) ) {
240
+            if (isset($data[$field['id']])) {
241 241
                 $label = $field['id'];
242 242
 
243
-                if ( isset( $field['label'] ) ) {
243
+                if (isset($field['label'])) {
244 244
                     $label = $field['label'];
245 245
                 }
246 246
 
247
-				$prepared[ wpinv_clean( $label ) ] = wp_kses_post( $data[ $field['id'] ] );
247
+				$prepared[wpinv_clean($label)] = wp_kses_post($data[$field['id']]);
248 248
 
249 249
             }
250 250
 
@@ -261,30 +261,30 @@  discard block
 block discarded – undo
261 261
 	 * @param WPInv_Invoice $invoice
262 262
 	 * @param string $type
263 263
      */
264
-    public function prepare_address_details( $invoice, $type = 'billing' ) {
264
+    public function prepare_address_details($invoice, $type = 'billing') {
265 265
 
266 266
 		$data     = $this->payment_form_submission->get_data();
267
-		$type     = sanitize_key( $type );
267
+		$type     = sanitize_key($type);
268 268
 		$address  = array();
269 269
 		$prepared = array();
270 270
 
271
-		if ( ! empty( $data[ $type ] ) ) {
272
-			$address = $data[ $type ];
271
+		if (!empty($data[$type])) {
272
+			$address = $data[$type];
273 273
 		}
274 274
 
275 275
 		// Clean address details.
276
-		foreach ( $address as $key => $value ) {
277
-			$key             = sanitize_key( $key );
278
-			$key             = str_replace( 'wpinv_', '', $key );
279
-			$value           = wpinv_clean( $value );
280
-			$prepared[ $key] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice );
276
+		foreach ($address as $key => $value) {
277
+			$key             = sanitize_key($key);
278
+			$key             = str_replace('wpinv_', '', $key);
279
+			$value           = wpinv_clean($value);
280
+			$prepared[$key] = apply_filters("getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice);
281 281
 		}
282 282
 
283 283
 		// Filter address details.
284
-		$prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice );
284
+		$prepared = apply_filters("getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice);
285 285
 
286 286
 		// Remove non-whitelisted values.
287
-		return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY );
287
+		return array_filter($prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY);
288 288
 
289 289
 	}
290 290
 
@@ -294,12 +294,12 @@  discard block
 block discarded – undo
294 294
 	 * @return array
295 295
 	 * @param WPInv_Invoice $invoice
296 296
      */
297
-    protected function prepare_billing_info( &$invoice ) {
297
+    protected function prepare_billing_info(&$invoice) {
298 298
 
299
-		$billing_address = $this->prepare_address_details( $invoice, 'billing' );
299
+		$billing_address = $this->prepare_address_details($invoice, 'billing');
300 300
 
301 301
 		// Update the invoice with the billing details.
302
-		$invoice->set_props( $billing_address );
302
+		$invoice->set_props($billing_address);
303 303
 
304 304
 	}
305 305
 
@@ -309,15 +309,15 @@  discard block
 block discarded – undo
309 309
 	 * @return array
310 310
 	 * @param WPInv_Invoice $invoice
311 311
      */
312
-    protected function prepare_shipping_info( $invoice ) {
312
+    protected function prepare_shipping_info($invoice) {
313 313
 
314 314
 		$data = $this->payment_form_submission->get_data();
315 315
 
316
-		if ( empty( $data['same-shipping-address'] ) ) {
317
-			return $this->prepare_address_details( $invoice, 'shipping' );
316
+		if (empty($data['same-shipping-address'])) {
317
+			return $this->prepare_address_details($invoice, 'shipping');
318 318
 		}
319 319
 
320
-		return $this->prepare_address_details( $invoice, 'billing' );
320
+		return $this->prepare_address_details($invoice, 'billing');
321 321
 
322 322
 	}
323 323
 
@@ -328,31 +328,31 @@  discard block
 block discarded – undo
328 328
 	 * @param array $prepared_payment_form_data
329 329
 	 * @param array $shipping
330 330
 	 */
331
-	protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) {
331
+	protected function post_process_submission($invoice, $prepared_payment_form_data, $shipping) {
332 332
 
333 333
 		// Ensure the invoice exists.
334
-        if ( ! $invoice->exists() ) {
335
-            wp_send_json_error( __( 'An error occured while saving your invoice. Please try again.', 'invoicing' ) );
334
+        if (!$invoice->exists()) {
335
+            wp_send_json_error(__('An error occured while saving your invoice. Please try again.', 'invoicing'));
336 336
         }
337 337
 
338 338
 		// Save payment form data.
339
-		$prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice );
340
-        if ( ! empty( $prepared_payment_form_data ) ) {
341
-            update_post_meta( $invoice->get_id(), 'payment_form_data', $prepared_payment_form_data );
339
+		$prepared_payment_form_data = apply_filters('getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice);
340
+        if (!empty($prepared_payment_form_data)) {
341
+            update_post_meta($invoice->get_id(), 'payment_form_data', $prepared_payment_form_data);
342 342
 		}
343 343
 
344 344
 		// Save payment form data.
345
-        if ( ! empty( $shipping ) ) {
346
-            update_post_meta( $invoice->get_id(), 'shipping_address', $shipping );
345
+        if (!empty($shipping)) {
346
+            update_post_meta($invoice->get_id(), 'shipping_address', $shipping);
347 347
 		}
348 348
 
349 349
 		// Backwards compatibility.
350
-        add_filter( 'wp_redirect', array( $this, 'send_redirect_response' ) );
350
+        add_filter('wp_redirect', array($this, 'send_redirect_response'));
351 351
 
352
-		$this->process_payment( $invoice );
352
+		$this->process_payment($invoice);
353 353
 
354 354
         // If we are here, there was an error.
355
-		wpinv_send_back_to_checkout( $invoice );
355
+		wpinv_send_back_to_checkout($invoice);
356 356
 
357 357
 	}
358 358
 
@@ -361,41 +361,41 @@  discard block
 block discarded – undo
361 361
 	 *
362 362
 	 * @param WPInv_Invoice $invoice
363 363
 	 */
364
-	protected function process_payment( $invoice ) {
364
+	protected function process_payment($invoice) {
365 365
 
366 366
 		// Clear any checkout errors.
367 367
 		wpinv_clear_errors();
368 368
 
369 369
 		// No need to send free invoices to the gateway.
370
-		if ( $invoice->is_free() ) {
371
-			$this->process_free_payment( $invoice );
370
+		if ($invoice->is_free()) {
371
+			$this->process_free_payment($invoice);
372 372
 		}
373 373
 
374 374
 		$submission = $this->payment_form_submission;
375 375
 
376 376
 		// Fires before sending to the gateway.
377
-		do_action( 'getpaid_checkout_before_gateway', $invoice, $submission );
377
+		do_action('getpaid_checkout_before_gateway', $invoice, $submission);
378 378
 
379 379
 		// Allow the sumission data to be modified before it is sent to the gateway.
380 380
 		$submission_data    = $submission->get_data();
381
-		$submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice );
382
-		$submission_data    = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice );
381
+		$submission_gateway = apply_filters('getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice);
382
+		$submission_data    = apply_filters('getpaid_gateway_submission_data', $submission_data, $submission, $invoice);
383 383
 
384 384
 		// Validate the currency.
385
-		if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) {
386
-			wpinv_set_error( 'invalid_currency', __( 'The chosen payment gateway does not support this currency', 'invoicing' ) );
385
+		if (!apply_filters("getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency())) {
386
+			wpinv_set_error('invalid_currency', __('The chosen payment gateway does not support this currency', 'invoicing'));
387 387
 		}
388 388
 
389 389
 		// Check to see if we have any errors.
390
-		if ( wpinv_get_errors() ) {
391
-			wpinv_send_back_to_checkout( $invoice );
390
+		if (wpinv_get_errors()) {
391
+			wpinv_send_back_to_checkout($invoice);
392 392
 		}
393 393
 
394 394
 		// Send info to the gateway for payment processing
395
-		do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission );
395
+		do_action("getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission);
396 396
 
397 397
 		// Backwards compatibility.
398
-		wpinv_send_to_gateway( $submission_gateway, $invoice );
398
+		wpinv_send_to_gateway($submission_gateway, $invoice);
399 399
 
400 400
 	}
401 401
 
@@ -404,12 +404,12 @@  discard block
 block discarded – undo
404 404
 	 *
405 405
 	 * @param WPInv_Invoice $invoice
406 406
 	 */
407
-	protected function process_free_payment( $invoice ) {
407
+	protected function process_free_payment($invoice) {
408 408
 
409
-		$invoice->set_gateway( 'none' );
410
-		$invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true );
409
+		$invoice->set_gateway('none');
410
+		$invoice->add_note(__("This is a free invoice and won't be sent to the payment gateway", 'invoicing'), false, false, true);
411 411
 		$invoice->mark_paid();
412
-		wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
412
+		wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
413 413
 
414 414
 	}
415 415
 
@@ -417,9 +417,9 @@  discard block
 block discarded – undo
417 417
      * Sends a redrect response to payment details.
418 418
      *
419 419
      */
420
-    public function send_redirect_response( $url ) {
421
-        $url = urlencode( $url );
422
-        wp_send_json_success( $url );
420
+    public function send_redirect_response($url) {
421
+        $url = urlencode($url);
422
+        wp_send_json_success($url);
423 423
     }
424 424
 
425 425
 }
Please login to merge, or discard this patch.