Passed
Push — master ( 9ee829...6e3436 )
by Brian
04:40
created
includes/gateways/class-getpaid-paypal-gateway.php 2 patches
Indentation   +344 added lines, -344 removed lines patch added patch discarded remove patch
@@ -13,96 +13,96 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Paypal_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'paypal';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array( 'subscription', 'sandbox', 'single_subscription_group' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34 34
     public $order = 1;
35 35
 
36 36
     /**
37
-	 * Stores line items to send to PayPal.
38
-	 *
39
-	 * @var array
40
-	 */
37
+     * Stores line items to send to PayPal.
38
+     *
39
+     * @var array
40
+     */
41 41
     protected $line_items = array();
42 42
 
43 43
     /**
44
-	 * Endpoint for requests from PayPal.
45
-	 *
46
-	 * @var string
47
-	 */
48
-	protected $notify_url;
49
-
50
-	/**
51
-	 * Endpoint for requests to PayPal.
52
-	 *
53
-	 * @var string
54
-	 */
44
+     * Endpoint for requests from PayPal.
45
+     *
46
+     * @var string
47
+     */
48
+    protected $notify_url;
49
+
50
+    /**
51
+     * Endpoint for requests to PayPal.
52
+     *
53
+     * @var string
54
+     */
55 55
     protected $endpoint;
56 56
 
57 57
     /**
58
-	 * Currencies this gateway is allowed for.
59
-	 *
60
-	 * @var array
61
-	 */
62
-	public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' );
58
+     * Currencies this gateway is allowed for.
59
+     *
60
+     * @var array
61
+     */
62
+    public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' );
63 63
 
64 64
     /**
65
-	 * URL to view a transaction.
66
-	 *
67
-	 * @var string
68
-	 */
65
+     * URL to view a transaction.
66
+     *
67
+     * @var string
68
+     */
69 69
     public $view_transaction_url = 'https://www.{sandbox}paypal.com/activity/payment/%s';
70 70
 
71 71
     /**
72
-	 * URL to view a subscription.
73
-	 *
74
-	 * @var string
75
-	 */
76
-	public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s';
72
+     * URL to view a subscription.
73
+     *
74
+     * @var string
75
+     */
76
+    public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s';
77 77
 
78 78
     /**
79
-	 * Class constructor.
80
-	 */
81
-	public function __construct() {
79
+     * Class constructor.
80
+     */
81
+    public function __construct() {
82 82
 
83 83
         $this->title                = __( 'PayPal Standard', 'invoicing' );
84 84
         $this->method_title         = __( 'PayPal Standard', 'invoicing' );
85 85
         $this->checkout_button_text = __( 'Proceed to PayPal', 'invoicing' );
86 86
         $this->notify_url           = wpinv_get_ipn_url( $this->id );
87 87
 
88
-		add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 );
88
+        add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 );
89 89
         add_filter( 'getpaid_paypal_sandbox_notice', array( $this, 'sandbox_notice' ) );
90
-		add_filter( 'getpaid_get_paypal_connect_url', array( $this, 'maybe_get_connect_url' ), 10, 2 );
91
-		add_action( 'getpaid_authenticated_admin_action_connect_paypal', array( $this, 'connect_paypal' ) );
90
+        add_filter( 'getpaid_get_paypal_connect_url', array( $this, 'maybe_get_connect_url' ), 10, 2 );
91
+        add_action( 'getpaid_authenticated_admin_action_connect_paypal', array( $this, 'connect_paypal' ) );
92 92
 
93
-		parent::__construct();
93
+        parent::__construct();
94 94
     }
95 95
 
96 96
     /**
97
-	 * Process Payment.
98
-	 *
99
-	 *
100
-	 * @param WPInv_Invoice $invoice Invoice.
101
-	 * @param array $submission_data Posted checkout fields.
102
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
103
-	 * @return array
104
-	 */
105
-	public function process_payment( $invoice, $submission_data, $submission ) {
97
+     * Process Payment.
98
+     *
99
+     *
100
+     * @param WPInv_Invoice $invoice Invoice.
101
+     * @param array $submission_data Posted checkout fields.
102
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
103
+     * @return array
104
+     */
105
+    public function process_payment( $invoice, $submission_data, $submission ) {
106 106
 
107 107
         // Get redirect url.
108 108
         $paypal_redirect = $this->get_request_url( $invoice );
@@ -125,15 +125,15 @@  discard block
 block discarded – undo
125 125
     }
126 126
 
127 127
     /**
128
-	 * Get the PayPal request URL for an invoice.
129
-	 *
130
-	 * @param  WPInv_Invoice $invoice Invoice object.
131
-	 * @return string
132
-	 */
133
-	public function get_request_url( $invoice ) {
128
+     * Get the PayPal request URL for an invoice.
129
+     *
130
+     * @param  WPInv_Invoice $invoice Invoice object.
131
+     * @return string
132
+     */
133
+    public function get_request_url( $invoice ) {
134 134
 
135 135
         // Endpoint for this request
136
-		$this->endpoint    = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?';
136
+        $this->endpoint    = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?';
137 137
 
138 138
         // Retrieve paypal args.
139 139
         $paypal_args       = map_deep( $this->get_paypal_args( $invoice ), 'urlencode' );
@@ -146,45 +146,45 @@  discard block
 block discarded – undo
146 146
 
147 147
         return add_query_arg( $paypal_args, $this->endpoint );
148 148
 
149
-	}
149
+    }
150 150
 
151 151
     /**
152
-	 * Get PayPal Args for passing to PP.
153
-	 *
154
-	 * @param  WPInv_Invoice $invoice Invoice object.
155
-	 * @return array
156
-	 */
157
-	protected function get_paypal_args( $invoice ) {
152
+     * Get PayPal Args for passing to PP.
153
+     *
154
+     * @param  WPInv_Invoice $invoice Invoice object.
155
+     * @return array
156
+     */
157
+    protected function get_paypal_args( $invoice ) {
158 158
 
159 159
         // Whether or not to send the line items as one item.
160
-		$force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', true, $invoice );
161
-
162
-		if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) {
163
-			$force_one_line_item = true;
164
-		}
165
-
166
-		$paypal_args = apply_filters(
167
-			'getpaid_paypal_args',
168
-			array_merge(
169
-				$this->get_transaction_args( $invoice ),
170
-				$this->get_line_item_args( $invoice, $force_one_line_item )
171
-			),
172
-			$invoice
173
-		);
174
-
175
-		return $this->fix_request_length( $invoice, $paypal_args );
160
+        $force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', true, $invoice );
161
+
162
+        if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) {
163
+            $force_one_line_item = true;
164
+        }
165
+
166
+        $paypal_args = apply_filters(
167
+            'getpaid_paypal_args',
168
+            array_merge(
169
+                $this->get_transaction_args( $invoice ),
170
+                $this->get_line_item_args( $invoice, $force_one_line_item )
171
+            ),
172
+            $invoice
173
+        );
174
+
175
+        return $this->fix_request_length( $invoice, $paypal_args );
176 176
     }
177 177
 
178 178
     /**
179
-	 * Get transaction args for paypal request.
180
-	 *
181
-	 * @param WPInv_Invoice $invoice Invoice object.
182
-	 * @return array
183
-	 */
184
-	protected function get_transaction_args( $invoice ) {
185
-
186
-		$email = $this->is_sandbox( $invoice ) ? wpinv_get_option( 'paypal_sandbox_email', wpinv_get_option( 'paypal_email', '' ) ) : wpinv_get_option( 'paypal_email', '' );
187
-		return array(
179
+     * Get transaction args for paypal request.
180
+     *
181
+     * @param WPInv_Invoice $invoice Invoice object.
182
+     * @return array
183
+     */
184
+    protected function get_transaction_args( $invoice ) {
185
+
186
+        $email = $this->is_sandbox( $invoice ) ? wpinv_get_option( 'paypal_sandbox_email', wpinv_get_option( 'paypal_email', '' ) ) : wpinv_get_option( 'paypal_email', '' );
187
+        return array(
188 188
             'cmd'           => '_cart',
189 189
             'business'      => $email,
190 190
             'no_shipping'   => '1',
@@ -209,16 +209,16 @@  discard block
 block discarded – undo
209 209
     }
210 210
 
211 211
     /**
212
-	 * Get line item args for paypal request.
213
-	 *
214
-	 * @param  WPInv_Invoice $invoice Invoice object.
215
-	 * @param  bool     $force_one_line_item Create only one item for this invoice.
216
-	 * @return array
217
-	 */
218
-	protected function get_line_item_args( $invoice, $force_one_line_item = false ) {
212
+     * Get line item args for paypal request.
213
+     *
214
+     * @param  WPInv_Invoice $invoice Invoice object.
215
+     * @param  bool     $force_one_line_item Create only one item for this invoice.
216
+     * @return array
217
+     */
218
+    protected function get_line_item_args( $invoice, $force_one_line_item = false ) {
219 219
 
220 220
         // Maybe send invoice as a single item.
221
-		if ( $force_one_line_item ) {
221
+        if ( $force_one_line_item ) {
222 222
             return $this->get_line_item_args_single_item( $invoice );
223 223
         }
224 224
 
@@ -238,129 +238,129 @@  discard block
 block discarded – undo
238 238
             $line_item_args['discount_amount_cart'] = wpinv_sanitize_amount( (float) $invoice->get_total_discount(), 2 );
239 239
         }
240 240
 
241
-		return array_merge( $line_item_args, $this->get_line_items() );
241
+        return array_merge( $line_item_args, $this->get_line_items() );
242 242
 
243 243
     }
244 244
 
245 245
     /**
246
-	 * Get line item args for paypal request as a single line item.
247
-	 *
248
-	 * @param  WPInv_Invoice $invoice Invoice object.
249
-	 * @return array
250
-	 */
251
-	protected function get_line_item_args_single_item( $invoice ) {
252
-		$this->delete_line_items();
246
+     * Get line item args for paypal request as a single line item.
247
+     *
248
+     * @param  WPInv_Invoice $invoice Invoice object.
249
+     * @return array
250
+     */
251
+    protected function get_line_item_args_single_item( $invoice ) {
252
+        $this->delete_line_items();
253 253
 
254 254
         $item_name = sprintf( __( 'Invoice #%s', 'invoicing' ), $invoice->get_number() );
255
-		$this->add_line_item( $item_name, 1, wpinv_round_amount( (float) $invoice->get_total(), 2, true ), $invoice->get_id() );
255
+        $this->add_line_item( $item_name, 1, wpinv_round_amount( (float) $invoice->get_total(), 2, true ), $invoice->get_id() );
256 256
 
257
-		return $this->get_line_items();
257
+        return $this->get_line_items();
258 258
     }
259 259
 
260 260
     /**
261
-	 * Return all line items.
262
-	 */
263
-	protected function get_line_items() {
264
-		return $this->line_items;
265
-	}
261
+     * Return all line items.
262
+     */
263
+    protected function get_line_items() {
264
+        return $this->line_items;
265
+    }
266 266
 
267 267
     /**
268
-	 * Remove all line items.
269
-	 */
270
-	protected function delete_line_items() {
271
-		$this->line_items = array();
268
+     * Remove all line items.
269
+     */
270
+    protected function delete_line_items() {
271
+        $this->line_items = array();
272 272
     }
273 273
 
274 274
     /**
275
-	 * Prepare line items to send to paypal.
276
-	 *
277
-	 * @param  WPInv_Invoice $invoice Invoice object.
278
-	 */
279
-	protected function prepare_line_items( $invoice ) {
280
-		$this->delete_line_items();
281
-
282
-		// Items.
283
-		foreach ( $invoice->get_items() as $item ) {
284
-			$amount   = $item->get_price();
285
-			$quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity();
286
-			$this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() );
275
+     * Prepare line items to send to paypal.
276
+     *
277
+     * @param  WPInv_Invoice $invoice Invoice object.
278
+     */
279
+    protected function prepare_line_items( $invoice ) {
280
+        $this->delete_line_items();
281
+
282
+        // Items.
283
+        foreach ( $invoice->get_items() as $item ) {
284
+            $amount   = $item->get_price();
285
+            $quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity();
286
+            $this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() );
287 287
         }
288 288
 
289 289
         // Fees.
290
-		foreach ( $invoice->get_fees() as $fee => $data ) {
290
+        foreach ( $invoice->get_fees() as $fee => $data ) {
291 291
             $this->add_line_item( $fee, 1, wpinv_sanitize_amount( $data['initial_fee'] ) );
292 292
         }
293 293
 
294 294
     }
295 295
 
296 296
     /**
297
-	 * Add PayPal Line Item.
298
-	 *
299
-	 * @param  string $item_name Item name.
300
-	 * @param  float    $quantity Item quantity.
301
-	 * @param  float  $amount Amount.
302
-	 * @param  string $item_number Item number.
303
-	 */
304
-	protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) {
305
-		$index = ( count( $this->line_items ) / 4 ) + 1;
306
-
307
-		$item = apply_filters(
308
-			'getpaid_paypal_line_item',
309
-			array(
310
-				'item_name'   => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ),
311
-				'quantity'    => (float) $quantity,
312
-				'amount'      => wpinv_sanitize_amount( (float) $amount, 2 ),
313
-				'item_number' => $item_number,
314
-			),
315
-			$item_name,
316
-			$quantity,
317
-			$amount,
318
-			$item_number
319
-		);
320
-
321
-		$this->line_items[ 'item_name_' . $index ]   = getpaid_limit_length( $item['item_name'], 127 );
297
+     * Add PayPal Line Item.
298
+     *
299
+     * @param  string $item_name Item name.
300
+     * @param  float    $quantity Item quantity.
301
+     * @param  float  $amount Amount.
302
+     * @param  string $item_number Item number.
303
+     */
304
+    protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) {
305
+        $index = ( count( $this->line_items ) / 4 ) + 1;
306
+
307
+        $item = apply_filters(
308
+            'getpaid_paypal_line_item',
309
+            array(
310
+                'item_name'   => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ),
311
+                'quantity'    => (float) $quantity,
312
+                'amount'      => wpinv_sanitize_amount( (float) $amount, 2 ),
313
+                'item_number' => $item_number,
314
+            ),
315
+            $item_name,
316
+            $quantity,
317
+            $amount,
318
+            $item_number
319
+        );
320
+
321
+        $this->line_items[ 'item_name_' . $index ]   = getpaid_limit_length( $item['item_name'], 127 );
322 322
         $this->line_items[ 'quantity_' . $index ]    = $item['quantity'];
323 323
 
324 324
         // The price or amount of the product, service, or contribution, not including shipping, handling, or tax.
325
-		$this->line_items[ 'amount_' . $index ]      = $item['amount'] * $item['quantity'];
326
-		$this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 );
325
+        $this->line_items[ 'amount_' . $index ]      = $item['amount'] * $item['quantity'];
326
+        $this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 );
327 327
     }
328 328
 
329 329
     /**
330
-	 * If the default request with line items is too long, generate a new one with only one line item.
331
-	 *
332
-	 * https://support.microsoft.com/en-us/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer.
333
-	 *
334
-	 * @param WPInv_Invoice $invoice Invoice to be sent to Paypal.
335
-	 * @param array    $paypal_args Arguments sent to Paypal in the request.
336
-	 * @return array
337
-	 */
338
-	protected function fix_request_length( $invoice, $paypal_args ) {
339
-		$max_paypal_length = 2083;
340
-		$query_candidate   = http_build_query( $paypal_args, '', '&' );
341
-
342
-		if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) {
343
-			return $paypal_args;
344
-		}
345
-
346
-		return apply_filters(
347
-			'getpaid_paypal_args',
348
-			array_merge(
349
-				$this->get_transaction_args( $invoice ),
350
-				$this->get_line_item_args( $invoice, true )
351
-			),
352
-			$invoice
353
-		);
330
+     * If the default request with line items is too long, generate a new one with only one line item.
331
+     *
332
+     * https://support.microsoft.com/en-us/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer.
333
+     *
334
+     * @param WPInv_Invoice $invoice Invoice to be sent to Paypal.
335
+     * @param array    $paypal_args Arguments sent to Paypal in the request.
336
+     * @return array
337
+     */
338
+    protected function fix_request_length( $invoice, $paypal_args ) {
339
+        $max_paypal_length = 2083;
340
+        $query_candidate   = http_build_query( $paypal_args, '', '&' );
341
+
342
+        if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) {
343
+            return $paypal_args;
344
+        }
345
+
346
+        return apply_filters(
347
+            'getpaid_paypal_args',
348
+            array_merge(
349
+                $this->get_transaction_args( $invoice ),
350
+                $this->get_line_item_args( $invoice, true )
351
+            ),
352
+            $invoice
353
+        );
354 354
 
355 355
     }
356 356
 
357 357
     /**
358
-	 * Processes recurring invoices.
359
-	 *
360
-	 * @param  array $paypal_args PayPal args.
361
-	 * @param  WPInv_Invoice    $invoice Invoice object.
362
-	 */
363
-	public function process_subscription( $paypal_args, $invoice ) {
358
+     * Processes recurring invoices.
359
+     *
360
+     * @param  array $paypal_args PayPal args.
361
+     * @param  WPInv_Invoice    $invoice Invoice object.
362
+     */
363
+    public function process_subscription( $paypal_args, $invoice ) {
364 364
 
365 365
         // Make sure this is a subscription.
366 366
         if ( ! $invoice->is_recurring() || ! $subscription = getpaid_get_invoice_subscription( $invoice ) ) {
@@ -381,21 +381,21 @@  discard block
 block discarded – undo
381 381
         $recurring_amount       = (float) wpinv_sanitize_amount( $invoice->get_recurring_total(), 2 );
382 382
         $subscription_item      = $invoice->get_recurring( true );
383 383
 
384
-		// Convert 365 days to 1 year.
385
-		if ( 'D' == $period && 365 == $interval ) {
386
-			$period = 'Y';
387
-			$interval = 1;
388
-		}
384
+        // Convert 365 days to 1 year.
385
+        if ( 'D' == $period && 365 == $interval ) {
386
+            $period = 'Y';
387
+            $interval = 1;
388
+        }
389 389
 
390 390
         if ( $subscription_item->has_free_trial() ) {
391 391
 
392 392
             $paypal_args['a1'] = 0 == $initial_amount ? 0 : $initial_amount;
393 393
 
394
-			// Trial period length.
395
-			$paypal_args['p1'] = $subscription_item->get_trial_interval();
394
+            // Trial period length.
395
+            $paypal_args['p1'] = $subscription_item->get_trial_interval();
396 396
 
397
-			// Trial period.
398
-			$paypal_args['t1'] = $subscription_item->get_trial_period();
397
+            // Trial period.
398
+            $paypal_args['t1'] = $subscription_item->get_trial_period();
399 399
 
400 400
         } elseif ( $initial_amount != $recurring_amount ) {
401 401
 
@@ -418,40 +418,40 @@  discard block
 block discarded – undo
418 418
         }
419 419
 
420 420
         // We have a recurring payment
421
-		if ( ! isset( $param_number ) || 1 == $param_number ) {
421
+        if ( ! isset( $param_number ) || 1 == $param_number ) {
422 422
 
423
-			// Subscription price
424
-			$paypal_args['a3'] = $recurring_amount;
423
+            // Subscription price
424
+            $paypal_args['a3'] = $recurring_amount;
425 425
 
426
-			// Subscription duration
427
-			$paypal_args['p3'] = $interval;
426
+            // Subscription duration
427
+            $paypal_args['p3'] = $interval;
428 428
 
429
-			// Subscription period
430
-			$paypal_args['t3'] = $period;
429
+            // Subscription period
430
+            $paypal_args['t3'] = $period;
431 431
 
432 432
         }
433 433
 
434 434
         // Recurring payments
435
-		if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) {
435
+        if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) {
436 436
 
437
-			// Non-recurring payments
438
-			$paypal_args['src'] = 0;
437
+            // Non-recurring payments
438
+            $paypal_args['src'] = 0;
439 439
 
440
-		} else {
440
+        } else {
441 441
 
442
-			$paypal_args['src'] = 1;
442
+            $paypal_args['src'] = 1;
443 443
 
444
-			if ( $bill_times > 0 ) {
444
+            if ( $bill_times > 0 ) {
445 445
 
446
-				// An initial period is being used to charge a sign-up fee
447
-				if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) {
448
-					$bill_times--;
449
-				}
446
+                // An initial period is being used to charge a sign-up fee
447
+                if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) {
448
+                    $bill_times--;
449
+                }
450 450
 
451 451
                 // Make sure it's not over the max of 52
452 452
                 $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 );
453 453
 
454
-			}
454
+            }
455 455
         }
456 456
 
457 457
         // Force return URL so that order description & instructions display
@@ -466,19 +466,19 @@  discard block
 block discarded – undo
466 466
 }
467 467
 
468 468
         return apply_filters(
469
-			'getpaid_paypal_subscription_args',
470
-			$paypal_args,
471
-			$invoice
469
+            'getpaid_paypal_subscription_args',
470
+            $paypal_args,
471
+            $invoice
472 472
         );
473 473
 
474 474
     }
475 475
 
476 476
     /**
477
-	 * Processes ipns and marks payments as complete.
478
-	 *
479
-	 * @return void
480
-	 */
481
-	public function verify_ipn() {
477
+     * Processes ipns and marks payments as complete.
478
+     *
479
+     * @return void
480
+     */
481
+    public function verify_ipn() {
482 482
         new GetPaid_Paypal_Gateway_IPN_Handler( $this );
483 483
     }
484 484
 
@@ -488,19 +488,19 @@  discard block
 block discarded – undo
488 488
     public function sandbox_notice() {
489 489
 
490 490
         return sprintf(
491
-			__( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %1$sPayPal Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
492
-			'<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">',
493
-			'</a>'
494
-		);
491
+            __( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %1$sPayPal Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
492
+            '<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">',
493
+            '</a>'
494
+        );
495 495
 
496 496
     }
497 497
 
498
-	/**
499
-	 * Filters the gateway settings.
500
-	 *
501
-	 * @param array $admin_settings
502
-	 */
503
-	public function admin_settings( $admin_settings ) {
498
+    /**
499
+     * Filters the gateway settings.
500
+     *
501
+     * @param array $admin_settings
502
+     */
503
+    public function admin_settings( $admin_settings ) {
504 504
 
505 505
         $currencies = sprintf(
506 506
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -510,39 +510,39 @@  discard block
 block discarded – undo
510 510
         $admin_settings['paypal_active']['desc'] .= " ($currencies)";
511 511
         $admin_settings['paypal_desc']['std']     = __( 'Pay via PayPal: you can pay with your credit card if you don\'t have a PayPal account.', 'invoicing' );
512 512
 
513
-		// Access tokens.
514
-		$live_email      = wpinv_get_option( 'paypal_email' );
515
-		$sandbox_email   = wpinv_get_option( 'paypal_sandbox_email' );
516
-
517
-		$admin_settings['paypal_connect'] = array(
518
-			'type' => 'raw_html',
519
-			'id'   => 'paypal_connect',
520
-			'name' => __( 'Connect to PayPal', 'invoicing' ),
521
-			'desc' => sprintf(
522
-				'<div class="wpinv-paypal-connect-live"><a class="button button-primary" href="%s">%s</a></div><div class="wpinv-paypal-connect-sandbox"><a class="button button-primary" href="%s">%s</a></div>%s',
523
-				esc_url( self::get_connect_url( false ) ),
524
-				__( 'Connect to PayPal', 'invoicing' ),
525
-				esc_url( self::get_connect_url( true ) ),
526
-				__( 'Connect to PayPal Sandox', 'invoicing' ),
527
-				$this->get_js()
528
-			),
529
-		);
513
+        // Access tokens.
514
+        $live_email      = wpinv_get_option( 'paypal_email' );
515
+        $sandbox_email   = wpinv_get_option( 'paypal_sandbox_email' );
516
+
517
+        $admin_settings['paypal_connect'] = array(
518
+            'type' => 'raw_html',
519
+            'id'   => 'paypal_connect',
520
+            'name' => __( 'Connect to PayPal', 'invoicing' ),
521
+            'desc' => sprintf(
522
+                '<div class="wpinv-paypal-connect-live"><a class="button button-primary" href="%s">%s</a></div><div class="wpinv-paypal-connect-sandbox"><a class="button button-primary" href="%s">%s</a></div>%s',
523
+                esc_url( self::get_connect_url( false ) ),
524
+                __( 'Connect to PayPal', 'invoicing' ),
525
+                esc_url( self::get_connect_url( true ) ),
526
+                __( 'Connect to PayPal Sandox', 'invoicing' ),
527
+                $this->get_js()
528
+            ),
529
+        );
530 530
 
531 531
         $admin_settings['paypal_email'] = array(
532 532
             'type'  => 'text',
533
-			'class' => 'live-auth-data',
533
+            'class' => 'live-auth-data',
534 534
             'id'    => 'paypal_email',
535 535
             'name'  => __( 'Live Email Address', 'invoicing' ),
536 536
             'desc'  => __( 'The email address of your PayPal account.', 'invoicing' ),
537 537
         );
538 538
 
539
-		$admin_settings['paypal_sandbox_email'] = array(
539
+        $admin_settings['paypal_sandbox_email'] = array(
540 540
             'type'  => 'text',
541
-			'class' => 'sandbox-auth-data',
541
+            'class' => 'sandbox-auth-data',
542 542
             'id'    => 'paypal_sandbox_email',
543 543
             'name'  => __( 'Sandbox Email Address', 'invoicing' ),
544 544
             'desc'  => __( 'The email address of your sandbox PayPal account.', 'invoicing' ),
545
-			'std'   => wpinv_get_option( 'paypal_email', '' ),
545
+            'std'   => wpinv_get_option( 'paypal_email', '' ),
546 546
         );
547 547
 
548 548
         $admin_settings['paypal_ipn_url'] = array(
@@ -554,29 +554,29 @@  discard block
 block discarded – undo
554 554
             'readonly' => true,
555 555
         );
556 556
 
557
-		return $admin_settings;
558
-	}
557
+        return $admin_settings;
558
+    }
559 559
 
560
-	/**
561
-	 * Retrieves the PayPal connect URL when using the setup wizzard.
562
-	 *
563
-	 *
560
+    /**
561
+     * Retrieves the PayPal connect URL when using the setup wizzard.
562
+     *
563
+     *
564 564
      * @param array $data
565 565
      * @return string
566
-	 */
567
-	public static function maybe_get_connect_url( $url = '', $data = array() ) {
568
-		return self::get_connect_url( false, urldecode( $data['redirect'] ) );
569
-	}
570
-
571
-	/**
572
-	 * Retrieves the PayPal connect URL.
573
-	 *
574
-	 *
566
+     */
567
+    public static function maybe_get_connect_url( $url = '', $data = array() ) {
568
+        return self::get_connect_url( false, urldecode( $data['redirect'] ) );
569
+    }
570
+
571
+    /**
572
+     * Retrieves the PayPal connect URL.
573
+     *
574
+     *
575 575
      * @param bool $is_sandbox
576
-	 * @param string $redirect
576
+     * @param string $redirect
577 577
      * @return string
578
-	 */
579
-	public static function get_connect_url( $is_sandbox, $redirect = '' ) {
578
+     */
579
+    public static function get_connect_url( $is_sandbox, $redirect = '' ) {
580 580
 
581 581
         $redirect_url = add_query_arg(
582 582
             array(
@@ -586,7 +586,7 @@  discard block
 block discarded – undo
586 586
                 'tab'                  => 'gateways',
587 587
                 'section'              => 'paypal',
588 588
                 'getpaid-nonce'        => wp_create_nonce( 'getpaid-nonce' ),
589
-				'redirect'             => urlencode( $redirect ),
589
+                'redirect'             => urlencode( $redirect ),
590 590
             ),
591 591
             admin_url( 'admin.php' )
592 592
         );
@@ -601,12 +601,12 @@  discard block
 block discarded – undo
601 601
 
602 602
     }
603 603
 
604
-	/**
605
-	 * Generates settings page js.
606
-	 *
604
+    /**
605
+     * Generates settings page js.
606
+     *
607 607
      * @return void
608
-	 */
609
-	public static function get_js() {
608
+     */
609
+    public static function get_js() {
610 610
         ob_start();
611 611
         ?>
612 612
             <script>
@@ -642,70 +642,70 @@  discard block
 block discarded – undo
642 642
         return ob_get_clean();
643 643
     }
644 644
 
645
-	/**
646
-	 * Connects to PayPal.
647
-	 *
648
-	 * @param array $data Connection data.
649
-	 * @return void
650
-	 */
651
-	public function connect_paypal( $data ) {
652
-
653
-		$sandbox      = $this->is_sandbox();
654
-		$data         = wp_unslash( $data );
655
-		$access_token = empty( $data['access_token'] ) ? '' : sanitize_text_field( $data['access_token'] );
656
-
657
-		if ( isset( $data['live_mode'] ) ) {
658
-			$sandbox = empty( $data['live_mode'] );
659
-		}
660
-
661
-		wpinv_update_option( 'paypal_sandbox', (int) $sandbox );
662
-		wpinv_update_option( 'paypal_active', 1 );
663
-
664
-		if ( ! empty( $data['error_description'] ) ) {
665
-			getpaid_admin()->show_error( wp_kses_post( urldecode( $data['error_description'] ) ) );
666
-		} else {
667
-
668
-			// Retrieve the user info.
669
-			$user_info = wp_remote_get(
670
-				! $sandbox ? 'https://api-m.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1' : 'https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1',
671
-				array(
672
-
673
-					'headers' => array(
674
-						'Authorization' => 'Bearer ' . $access_token,
675
-						'Content-type'  => 'application/json',
676
-					),
677
-
678
-				)
679
-			);
680
-
681
-			if ( is_wp_error( $user_info ) ) {
682
-				getpaid_admin()->show_error( wp_kses_post( $user_info->get_error_message() ) );
683
-			} else {
684
-
685
-				// Create application.
686
-				$user_info = json_decode( wp_remote_retrieve_body( $user_info ) );
687
-
688
-				if ( $sandbox ) {
689
-					wpinv_update_option( 'paypal_sandbox_email', sanitize_email( $user_info->emails[0]->value ) );
690
-					wpinv_update_option( 'paypal_sandbox_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
691
-					set_transient( 'getpaid_paypal_sandbox_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
692
-					getpaid_admin()->show_success( __( 'Successfully connected your PayPal sandbox account', 'invoicing' ) );
693
-				} else {
694
-					wpinv_update_option( 'paypal_email', sanitize_email( $user_info->emails[0]->value ) );
695
-					wpinv_update_option( 'paypal_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
696
-					set_transient( 'getpaid_paypal_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
697
-					getpaid_admin()->show_success( __( 'Successfully connected your PayPal account', 'invoicing' ) );
698
-				}
645
+    /**
646
+     * Connects to PayPal.
647
+     *
648
+     * @param array $data Connection data.
649
+     * @return void
650
+     */
651
+    public function connect_paypal( $data ) {
652
+
653
+        $sandbox      = $this->is_sandbox();
654
+        $data         = wp_unslash( $data );
655
+        $access_token = empty( $data['access_token'] ) ? '' : sanitize_text_field( $data['access_token'] );
656
+
657
+        if ( isset( $data['live_mode'] ) ) {
658
+            $sandbox = empty( $data['live_mode'] );
659
+        }
660
+
661
+        wpinv_update_option( 'paypal_sandbox', (int) $sandbox );
662
+        wpinv_update_option( 'paypal_active', 1 );
663
+
664
+        if ( ! empty( $data['error_description'] ) ) {
665
+            getpaid_admin()->show_error( wp_kses_post( urldecode( $data['error_description'] ) ) );
666
+        } else {
667
+
668
+            // Retrieve the user info.
669
+            $user_info = wp_remote_get(
670
+                ! $sandbox ? 'https://api-m.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1' : 'https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1',
671
+                array(
672
+
673
+                    'headers' => array(
674
+                        'Authorization' => 'Bearer ' . $access_token,
675
+                        'Content-type'  => 'application/json',
676
+                    ),
677
+
678
+                )
679
+            );
680
+
681
+            if ( is_wp_error( $user_info ) ) {
682
+                getpaid_admin()->show_error( wp_kses_post( $user_info->get_error_message() ) );
683
+            } else {
684
+
685
+                // Create application.
686
+                $user_info = json_decode( wp_remote_retrieve_body( $user_info ) );
687
+
688
+                if ( $sandbox ) {
689
+                    wpinv_update_option( 'paypal_sandbox_email', sanitize_email( $user_info->emails[0]->value ) );
690
+                    wpinv_update_option( 'paypal_sandbox_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
691
+                    set_transient( 'getpaid_paypal_sandbox_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
692
+                    getpaid_admin()->show_success( __( 'Successfully connected your PayPal sandbox account', 'invoicing' ) );
693
+                } else {
694
+                    wpinv_update_option( 'paypal_email', sanitize_email( $user_info->emails[0]->value ) );
695
+                    wpinv_update_option( 'paypal_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
696
+                    set_transient( 'getpaid_paypal_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
697
+                    getpaid_admin()->show_success( __( 'Successfully connected your PayPal account', 'invoicing' ) );
698
+                }
699 699
 }
700 700
 }
701 701
 
702
-		$redirect = empty( $data['redirect'] ) ? admin_url( 'admin.php?page=wpinv-settings&tab=gateways&section=paypal' ) : urldecode( $data['redirect'] );
702
+        $redirect = empty( $data['redirect'] ) ? admin_url( 'admin.php?page=wpinv-settings&tab=gateways&section=paypal' ) : urldecode( $data['redirect'] );
703 703
 
704
-		if ( isset( $data['step'] ) ) {
705
-			$redirect = add_query_arg( 'step', $data['step'], $redirect );
706
-		}
707
-		wp_redirect( $redirect );
708
-		exit;
709
-	}
704
+        if ( isset( $data['step'] ) ) {
705
+            $redirect = add_query_arg( 'step', $data['step'], $redirect );
706
+        }
707
+        wp_redirect( $redirect );
708
+        exit;
709
+    }
710 710
 
711 711
 }
Please login to merge, or discard this patch.
Spacing   +145 added lines, -145 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
  * Paypal Payment Gateway class.
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 	 *
25 25
 	 * @var array
26 26
 	 */
27
-    protected $supports = array( 'subscription', 'sandbox', 'single_subscription_group' );
27
+    protected $supports = array('subscription', 'sandbox', 'single_subscription_group');
28 28
 
29 29
     /**
30 30
 	 * Payment method order.
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	 *
60 60
 	 * @var array
61 61
 	 */
62
-	public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' );
62
+	public $currencies = array('AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR');
63 63
 
64 64
     /**
65 65
 	 * URL to view a transaction.
@@ -80,15 +80,15 @@  discard block
 block discarded – undo
80 80
 	 */
81 81
 	public function __construct() {
82 82
 
83
-        $this->title                = __( 'PayPal Standard', 'invoicing' );
84
-        $this->method_title         = __( 'PayPal Standard', 'invoicing' );
85
-        $this->checkout_button_text = __( 'Proceed to PayPal', 'invoicing' );
86
-        $this->notify_url           = wpinv_get_ipn_url( $this->id );
83
+        $this->title                = __('PayPal Standard', 'invoicing');
84
+        $this->method_title         = __('PayPal Standard', 'invoicing');
85
+        $this->checkout_button_text = __('Proceed to PayPal', 'invoicing');
86
+        $this->notify_url           = wpinv_get_ipn_url($this->id);
87 87
 
88
-		add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 );
89
-        add_filter( 'getpaid_paypal_sandbox_notice', array( $this, 'sandbox_notice' ) );
90
-		add_filter( 'getpaid_get_paypal_connect_url', array( $this, 'maybe_get_connect_url' ), 10, 2 );
91
-		add_action( 'getpaid_authenticated_admin_action_connect_paypal', array( $this, 'connect_paypal' ) );
88
+		add_filter('getpaid_paypal_args', array($this, 'process_subscription'), 10, 2);
89
+        add_filter('getpaid_paypal_sandbox_notice', array($this, 'sandbox_notice'));
90
+		add_filter('getpaid_get_paypal_connect_url', array($this, 'maybe_get_connect_url'), 10, 2);
91
+		add_action('getpaid_authenticated_admin_action_connect_paypal', array($this, 'connect_paypal'));
92 92
 
93 93
 		parent::__construct();
94 94
     }
@@ -102,16 +102,16 @@  discard block
 block discarded – undo
102 102
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
103 103
 	 * @return array
104 104
 	 */
105
-	public function process_payment( $invoice, $submission_data, $submission ) {
105
+	public function process_payment($invoice, $submission_data, $submission) {
106 106
 
107 107
         // Get redirect url.
108
-        $paypal_redirect = $this->get_request_url( $invoice );
108
+        $paypal_redirect = $this->get_request_url($invoice);
109 109
 
110 110
         // Add a note about the request url.
111 111
         $invoice->add_note(
112 112
             sprintf(
113
-                __( 'Redirecting to PayPal: %s', 'invoicing' ),
114
-                esc_url( $paypal_redirect )
113
+                __('Redirecting to PayPal: %s', 'invoicing'),
114
+                esc_url($paypal_redirect)
115 115
             ),
116 116
             false,
117 117
             false,
@@ -119,7 +119,7 @@  discard block
 block discarded – undo
119 119
         );
120 120
 
121 121
         // Redirect to PayPal
122
-        wp_redirect( $paypal_redirect );
122
+        wp_redirect($paypal_redirect);
123 123
         exit;
124 124
 
125 125
     }
@@ -130,21 +130,21 @@  discard block
 block discarded – undo
130 130
 	 * @param  WPInv_Invoice $invoice Invoice object.
131 131
 	 * @return string
132 132
 	 */
133
-	public function get_request_url( $invoice ) {
133
+	public function get_request_url($invoice) {
134 134
 
135 135
         // Endpoint for this request
136
-		$this->endpoint    = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?';
136
+		$this->endpoint = $this->is_sandbox($invoice) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?';
137 137
 
138 138
         // Retrieve paypal args.
139
-        $paypal_args       = map_deep( $this->get_paypal_args( $invoice ), 'urlencode' );
139
+        $paypal_args = map_deep($this->get_paypal_args($invoice), 'urlencode');
140 140
 
141
-        if ( $invoice->is_recurring() ) {
141
+        if ($invoice->is_recurring()) {
142 142
             $paypal_args['bn'] = 'GetPaid_Subscribe_WPS_US';
143 143
         } else {
144 144
             $paypal_args['bn'] = 'GetPaid_ShoppingCart_WPS_US';
145 145
         }
146 146
 
147
-        return add_query_arg( $paypal_args, $this->endpoint );
147
+        return add_query_arg($paypal_args, $this->endpoint);
148 148
 
149 149
 	}
150 150
 
@@ -154,25 +154,25 @@  discard block
 block discarded – undo
154 154
 	 * @param  WPInv_Invoice $invoice Invoice object.
155 155
 	 * @return array
156 156
 	 */
157
-	protected function get_paypal_args( $invoice ) {
157
+	protected function get_paypal_args($invoice) {
158 158
 
159 159
         // Whether or not to send the line items as one item.
160
-		$force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', true, $invoice );
160
+		$force_one_line_item = apply_filters('getpaid_paypal_force_one_line_item', true, $invoice);
161 161
 
162
-		if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) {
162
+		if ($invoice->is_recurring() || (wpinv_use_taxes() && wpinv_prices_include_tax())) {
163 163
 			$force_one_line_item = true;
164 164
 		}
165 165
 
166 166
 		$paypal_args = apply_filters(
167 167
 			'getpaid_paypal_args',
168 168
 			array_merge(
169
-				$this->get_transaction_args( $invoice ),
170
-				$this->get_line_item_args( $invoice, $force_one_line_item )
169
+				$this->get_transaction_args($invoice),
170
+				$this->get_line_item_args($invoice, $force_one_line_item)
171 171
 			),
172 172
 			$invoice
173 173
 		);
174 174
 
175
-		return $this->fix_request_length( $invoice, $paypal_args );
175
+		return $this->fix_request_length($invoice, $paypal_args);
176 176
     }
177 177
 
178 178
     /**
@@ -181,9 +181,9 @@  discard block
 block discarded – undo
181 181
 	 * @param WPInv_Invoice $invoice Invoice object.
182 182
 	 * @return array
183 183
 	 */
184
-	protected function get_transaction_args( $invoice ) {
184
+	protected function get_transaction_args($invoice) {
185 185
 
186
-		$email = $this->is_sandbox( $invoice ) ? wpinv_get_option( 'paypal_sandbox_email', wpinv_get_option( 'paypal_email', '' ) ) : wpinv_get_option( 'paypal_email', '' );
186
+		$email = $this->is_sandbox($invoice) ? wpinv_get_option('paypal_sandbox_email', wpinv_get_option('paypal_email', '')) : wpinv_get_option('paypal_email', '');
187 187
 		return array(
188 188
             'cmd'           => '_cart',
189 189
             'business'      => $email,
@@ -194,16 +194,16 @@  discard block
 block discarded – undo
194 194
             'rm'            => is_ssl() ? 2 : 1,
195 195
             'upload'        => 1,
196 196
             'currency_code' => $invoice->get_currency(), // https://developer.paypal.com/docs/nvp-soap-api/currency-codes/#paypal
197
-            'return'        => esc_url_raw( $this->get_return_url( $invoice ) ),
198
-            'cancel_return' => esc_url_raw( $invoice->get_checkout_payment_url() ),
199
-            'notify_url'    => getpaid_limit_length( $this->notify_url, 255 ),
200
-            'invoice'       => getpaid_limit_length( $invoice->get_number(), 127 ),
197
+            'return'        => esc_url_raw($this->get_return_url($invoice)),
198
+            'cancel_return' => esc_url_raw($invoice->get_checkout_payment_url()),
199
+            'notify_url'    => getpaid_limit_length($this->notify_url, 255),
200
+            'invoice'       => getpaid_limit_length($invoice->get_number(), 127),
201 201
             'custom'        => $invoice->get_id(),
202
-            'first_name'    => getpaid_limit_length( $invoice->get_first_name(), 32 ),
203
-            'last_name'     => getpaid_limit_length( $invoice->get_last_name(), 64 ),
204
-            'country'       => getpaid_limit_length( $invoice->get_country(), 2 ),
205
-            'email'         => getpaid_limit_length( $invoice->get_email(), 127 ),
206
-            'cbt'           => get_bloginfo( 'name' ),
202
+            'first_name'    => getpaid_limit_length($invoice->get_first_name(), 32),
203
+            'last_name'     => getpaid_limit_length($invoice->get_last_name(), 64),
204
+            'country'       => getpaid_limit_length($invoice->get_country(), 2),
205
+            'email'         => getpaid_limit_length($invoice->get_email(), 127),
206
+            'cbt'           => get_bloginfo('name'),
207 207
         );
208 208
 
209 209
     }
@@ -215,30 +215,30 @@  discard block
 block discarded – undo
215 215
 	 * @param  bool     $force_one_line_item Create only one item for this invoice.
216 216
 	 * @return array
217 217
 	 */
218
-	protected function get_line_item_args( $invoice, $force_one_line_item = false ) {
218
+	protected function get_line_item_args($invoice, $force_one_line_item = false) {
219 219
 
220 220
         // Maybe send invoice as a single item.
221
-		if ( $force_one_line_item ) {
222
-            return $this->get_line_item_args_single_item( $invoice );
221
+		if ($force_one_line_item) {
222
+            return $this->get_line_item_args_single_item($invoice);
223 223
         }
224 224
 
225 225
         // Send each line item individually.
226 226
         $line_item_args = array();
227 227
 
228 228
         // Prepare line items.
229
-        $this->prepare_line_items( $invoice );
229
+        $this->prepare_line_items($invoice);
230 230
 
231 231
         // Add taxes to the cart
232
-        if ( wpinv_use_taxes() && $invoice->is_taxable() ) {
233
-            $line_item_args['tax_cart'] = wpinv_sanitize_amount( (float) $invoice->get_total_tax(), 2 );
232
+        if (wpinv_use_taxes() && $invoice->is_taxable()) {
233
+            $line_item_args['tax_cart'] = wpinv_sanitize_amount((float) $invoice->get_total_tax(), 2);
234 234
         }
235 235
 
236 236
         // Add discount.
237
-        if ( $invoice->get_total_discount() > 0 ) {
238
-            $line_item_args['discount_amount_cart'] = wpinv_sanitize_amount( (float) $invoice->get_total_discount(), 2 );
237
+        if ($invoice->get_total_discount() > 0) {
238
+            $line_item_args['discount_amount_cart'] = wpinv_sanitize_amount((float) $invoice->get_total_discount(), 2);
239 239
         }
240 240
 
241
-		return array_merge( $line_item_args, $this->get_line_items() );
241
+		return array_merge($line_item_args, $this->get_line_items());
242 242
 
243 243
     }
244 244
 
@@ -248,11 +248,11 @@  discard block
 block discarded – undo
248 248
 	 * @param  WPInv_Invoice $invoice Invoice object.
249 249
 	 * @return array
250 250
 	 */
251
-	protected function get_line_item_args_single_item( $invoice ) {
251
+	protected function get_line_item_args_single_item($invoice) {
252 252
 		$this->delete_line_items();
253 253
 
254
-        $item_name = sprintf( __( 'Invoice #%s', 'invoicing' ), $invoice->get_number() );
255
-		$this->add_line_item( $item_name, 1, wpinv_round_amount( (float) $invoice->get_total(), 2, true ), $invoice->get_id() );
254
+        $item_name = sprintf(__('Invoice #%s', 'invoicing'), $invoice->get_number());
255
+		$this->add_line_item($item_name, 1, wpinv_round_amount((float) $invoice->get_total(), 2, true), $invoice->get_id());
256 256
 
257 257
 		return $this->get_line_items();
258 258
     }
@@ -276,19 +276,19 @@  discard block
 block discarded – undo
276 276
 	 *
277 277
 	 * @param  WPInv_Invoice $invoice Invoice object.
278 278
 	 */
279
-	protected function prepare_line_items( $invoice ) {
279
+	protected function prepare_line_items($invoice) {
280 280
 		$this->delete_line_items();
281 281
 
282 282
 		// Items.
283
-		foreach ( $invoice->get_items() as $item ) {
283
+		foreach ($invoice->get_items() as $item) {
284 284
 			$amount   = $item->get_price();
285 285
 			$quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity();
286
-			$this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() );
286
+			$this->add_line_item($item->get_raw_name(), $quantity, $amount, $item->get_id());
287 287
         }
288 288
 
289 289
         // Fees.
290
-		foreach ( $invoice->get_fees() as $fee => $data ) {
291
-            $this->add_line_item( $fee, 1, wpinv_sanitize_amount( $data['initial_fee'] ) );
290
+		foreach ($invoice->get_fees() as $fee => $data) {
291
+            $this->add_line_item($fee, 1, wpinv_sanitize_amount($data['initial_fee']));
292 292
         }
293 293
 
294 294
     }
@@ -301,15 +301,15 @@  discard block
 block discarded – undo
301 301
 	 * @param  float  $amount Amount.
302 302
 	 * @param  string $item_number Item number.
303 303
 	 */
304
-	protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) {
305
-		$index = ( count( $this->line_items ) / 4 ) + 1;
304
+	protected function add_line_item($item_name, $quantity = 1, $amount = 0.0, $item_number = '') {
305
+		$index = (count($this->line_items) / 4) + 1;
306 306
 
307 307
 		$item = apply_filters(
308 308
 			'getpaid_paypal_line_item',
309 309
 			array(
310
-				'item_name'   => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ),
310
+				'item_name'   => html_entity_decode(getpaid_limit_length($item_name ? wp_strip_all_tags($item_name) : __('Item', 'invoicing'), 127), ENT_NOQUOTES, 'UTF-8'),
311 311
 				'quantity'    => (float) $quantity,
312
-				'amount'      => wpinv_sanitize_amount( (float) $amount, 2 ),
312
+				'amount'      => wpinv_sanitize_amount((float) $amount, 2),
313 313
 				'item_number' => $item_number,
314 314
 			),
315 315
 			$item_name,
@@ -318,12 +318,12 @@  discard block
 block discarded – undo
318 318
 			$item_number
319 319
 		);
320 320
 
321
-		$this->line_items[ 'item_name_' . $index ]   = getpaid_limit_length( $item['item_name'], 127 );
322
-        $this->line_items[ 'quantity_' . $index ]    = $item['quantity'];
321
+		$this->line_items['item_name_' . $index] = getpaid_limit_length($item['item_name'], 127);
322
+        $this->line_items['quantity_' . $index] = $item['quantity'];
323 323
 
324 324
         // The price or amount of the product, service, or contribution, not including shipping, handling, or tax.
325
-		$this->line_items[ 'amount_' . $index ]      = $item['amount'] * $item['quantity'];
326
-		$this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 );
325
+		$this->line_items['amount_' . $index]      = $item['amount'] * $item['quantity'];
326
+		$this->line_items['item_number_' . $index] = getpaid_limit_length($item['item_number'], 127);
327 327
     }
328 328
 
329 329
     /**
@@ -335,19 +335,19 @@  discard block
 block discarded – undo
335 335
 	 * @param array    $paypal_args Arguments sent to Paypal in the request.
336 336
 	 * @return array
337 337
 	 */
338
-	protected function fix_request_length( $invoice, $paypal_args ) {
338
+	protected function fix_request_length($invoice, $paypal_args) {
339 339
 		$max_paypal_length = 2083;
340
-		$query_candidate   = http_build_query( $paypal_args, '', '&' );
340
+		$query_candidate   = http_build_query($paypal_args, '', '&');
341 341
 
342
-		if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) {
342
+		if (strlen($this->endpoint . $query_candidate) <= $max_paypal_length) {
343 343
 			return $paypal_args;
344 344
 		}
345 345
 
346 346
 		return apply_filters(
347 347
 			'getpaid_paypal_args',
348 348
 			array_merge(
349
-				$this->get_transaction_args( $invoice ),
350
-				$this->get_line_item_args( $invoice, true )
349
+				$this->get_transaction_args($invoice),
350
+				$this->get_line_item_args($invoice, true)
351 351
 			),
352 352
 			$invoice
353 353
 		);
@@ -360,10 +360,10 @@  discard block
 block discarded – undo
360 360
 	 * @param  array $paypal_args PayPal args.
361 361
 	 * @param  WPInv_Invoice    $invoice Invoice object.
362 362
 	 */
363
-	public function process_subscription( $paypal_args, $invoice ) {
363
+	public function process_subscription($paypal_args, $invoice) {
364 364
 
365 365
         // Make sure this is a subscription.
366
-        if ( ! $invoice->is_recurring() || ! $subscription = getpaid_get_invoice_subscription( $invoice ) ) {
366
+        if (!$invoice->is_recurring() || !$subscription = getpaid_get_invoice_subscription($invoice)) {
367 367
             return $paypal_args;
368 368
         }
369 369
 
@@ -371,23 +371,23 @@  discard block
 block discarded – undo
371 371
         $paypal_args['cmd'] = '_xclick-subscriptions';
372 372
 
373 373
         // Subscription name.
374
-        $paypal_args['item_name'] = sprintf( __( 'Invoice #%s', 'invoicing' ), $invoice->get_number() );
374
+        $paypal_args['item_name'] = sprintf(__('Invoice #%s', 'invoicing'), $invoice->get_number());
375 375
 
376 376
         // Get subscription args.
377
-        $period                 = strtoupper( substr( $subscription->get_period(), 0, 1 ) );
377
+        $period                 = strtoupper(substr($subscription->get_period(), 0, 1));
378 378
         $interval               = (int) $subscription->get_frequency();
379 379
         $bill_times             = (int) $subscription->get_bill_times();
380
-        $initial_amount         = (float) wpinv_sanitize_amount( $invoice->get_initial_total(), 2 );
381
-        $recurring_amount       = (float) wpinv_sanitize_amount( $invoice->get_recurring_total(), 2 );
382
-        $subscription_item      = $invoice->get_recurring( true );
380
+        $initial_amount         = (float) wpinv_sanitize_amount($invoice->get_initial_total(), 2);
381
+        $recurring_amount       = (float) wpinv_sanitize_amount($invoice->get_recurring_total(), 2);
382
+        $subscription_item      = $invoice->get_recurring(true);
383 383
 
384 384
 		// Convert 365 days to 1 year.
385
-		if ( 'D' == $period && 365 == $interval ) {
385
+		if ('D' == $period && 365 == $interval) {
386 386
 			$period = 'Y';
387 387
 			$interval = 1;
388 388
 		}
389 389
 
390
-        if ( $subscription_item->has_free_trial() ) {
390
+        if ($subscription_item->has_free_trial()) {
391 391
 
392 392
             $paypal_args['a1'] = 0 == $initial_amount ? 0 : $initial_amount;
393 393
 
@@ -397,28 +397,28 @@  discard block
 block discarded – undo
397 397
 			// Trial period.
398 398
 			$paypal_args['t1'] = $subscription_item->get_trial_period();
399 399
 
400
-        } elseif ( $initial_amount != $recurring_amount ) {
400
+        } elseif ($initial_amount != $recurring_amount) {
401 401
 
402 402
             // No trial period, but initial amount includes a sign-up fee and/or other items, so charge it as a separate period.
403 403
 
404
-            if ( 1 == $bill_times ) {
404
+            if (1 == $bill_times) {
405 405
                 $param_number = 3;
406 406
             } else {
407 407
                 $param_number = 1;
408 408
             }
409 409
 
410
-            $paypal_args[ 'a' . $param_number ] = $initial_amount ? $initial_amount : 0;
410
+            $paypal_args['a' . $param_number] = $initial_amount ? $initial_amount : 0;
411 411
 
412 412
             // Sign Up interval
413
-            $paypal_args[ 'p' . $param_number ] = $interval;
413
+            $paypal_args['p' . $param_number] = $interval;
414 414
 
415 415
             // Sign Up unit of duration
416
-            $paypal_args[ 't' . $param_number ] = $period;
416
+            $paypal_args['t' . $param_number] = $period;
417 417
 
418 418
         }
419 419
 
420 420
         // We have a recurring payment
421
-		if ( ! isset( $param_number ) || 1 == $param_number ) {
421
+		if (!isset($param_number) || 1 == $param_number) {
422 422
 
423 423
 			// Subscription price
424 424
 			$paypal_args['a3'] = $recurring_amount;
@@ -432,7 +432,7 @@  discard block
 block discarded – undo
432 432
         }
433 433
 
434 434
         // Recurring payments
435
-		if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) {
435
+		if (1 == $bill_times || ($initial_amount != $recurring_amount && !$subscription_item->has_free_trial() && 2 == $bill_times)) {
436 436
 
437 437
 			// Non-recurring payments
438 438
 			$paypal_args['src'] = 0;
@@ -441,15 +441,15 @@  discard block
 block discarded – undo
441 441
 
442 442
 			$paypal_args['src'] = 1;
443 443
 
444
-			if ( $bill_times > 0 ) {
444
+			if ($bill_times > 0) {
445 445
 
446 446
 				// An initial period is being used to charge a sign-up fee
447
-				if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) {
447
+				if ($initial_amount != $recurring_amount && !$subscription_item->has_free_trial()) {
448 448
 					$bill_times--;
449 449
 				}
450 450
 
451 451
                 // Make sure it's not over the max of 52
452
-                $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 );
452
+                $paypal_args['srt'] = ($bill_times <= 52 ? absint($bill_times) : 52);
453 453
 
454 454
 			}
455 455
         }
@@ -458,10 +458,10 @@  discard block
 block discarded – undo
458 458
         $paypal_args['rm'] = 2;
459 459
 
460 460
         // Get rid of redudant items.
461
-        foreach ( array( 'item_name_1', 'quantity_1', 'amount_1', 'item_number_1' ) as $arg ) {
461
+        foreach (array('item_name_1', 'quantity_1', 'amount_1', 'item_number_1') as $arg) {
462 462
 
463
-            if ( isset( $paypal_args[ $arg ] ) ) {
464
-                unset( $paypal_args[ $arg ] );
463
+            if (isset($paypal_args[$arg])) {
464
+                unset($paypal_args[$arg]);
465 465
             }
466 466
 }
467 467
 
@@ -479,7 +479,7 @@  discard block
 block discarded – undo
479 479
 	 * @return void
480 480
 	 */
481 481
 	public function verify_ipn() {
482
-        new GetPaid_Paypal_Gateway_IPN_Handler( $this );
482
+        new GetPaid_Paypal_Gateway_IPN_Handler($this);
483 483
     }
484 484
 
485 485
     /**
@@ -488,7 +488,7 @@  discard block
 block discarded – undo
488 488
     public function sandbox_notice() {
489 489
 
490 490
         return sprintf(
491
-			__( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %1$sPayPal Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
491
+			__('SANDBOX ENABLED. You can use sandbox testing accounts only. See the %1$sPayPal Sandbox Testing Guide%2$s for more details.', 'invoicing'),
492 492
 			'<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">',
493 493
 			'</a>'
494 494
 		);
@@ -500,30 +500,30 @@  discard block
 block discarded – undo
500 500
 	 *
501 501
 	 * @param array $admin_settings
502 502
 	 */
503
-	public function admin_settings( $admin_settings ) {
503
+	public function admin_settings($admin_settings) {
504 504
 
505 505
         $currencies = sprintf(
506
-            __( 'Supported Currencies: %s', 'invoicing' ),
507
-            implode( ', ', $this->currencies )
506
+            __('Supported Currencies: %s', 'invoicing'),
507
+            implode(', ', $this->currencies)
508 508
         );
509 509
 
510 510
         $admin_settings['paypal_active']['desc'] .= " ($currencies)";
511
-        $admin_settings['paypal_desc']['std']     = __( 'Pay via PayPal: you can pay with your credit card if you don\'t have a PayPal account.', 'invoicing' );
511
+        $admin_settings['paypal_desc']['std']     = __('Pay via PayPal: you can pay with your credit card if you don\'t have a PayPal account.', 'invoicing');
512 512
 
513 513
 		// Access tokens.
514
-		$live_email      = wpinv_get_option( 'paypal_email' );
515
-		$sandbox_email   = wpinv_get_option( 'paypal_sandbox_email' );
514
+		$live_email      = wpinv_get_option('paypal_email');
515
+		$sandbox_email   = wpinv_get_option('paypal_sandbox_email');
516 516
 
517 517
 		$admin_settings['paypal_connect'] = array(
518 518
 			'type' => 'raw_html',
519 519
 			'id'   => 'paypal_connect',
520
-			'name' => __( 'Connect to PayPal', 'invoicing' ),
520
+			'name' => __('Connect to PayPal', 'invoicing'),
521 521
 			'desc' => sprintf(
522 522
 				'<div class="wpinv-paypal-connect-live"><a class="button button-primary" href="%s">%s</a></div><div class="wpinv-paypal-connect-sandbox"><a class="button button-primary" href="%s">%s</a></div>%s',
523
-				esc_url( self::get_connect_url( false ) ),
524
-				__( 'Connect to PayPal', 'invoicing' ),
525
-				esc_url( self::get_connect_url( true ) ),
526
-				__( 'Connect to PayPal Sandox', 'invoicing' ),
523
+				esc_url(self::get_connect_url(false)),
524
+				__('Connect to PayPal', 'invoicing'),
525
+				esc_url(self::get_connect_url(true)),
526
+				__('Connect to PayPal Sandox', 'invoicing'),
527 527
 				$this->get_js()
528 528
 			),
529 529
 		);
@@ -532,25 +532,25 @@  discard block
 block discarded – undo
532 532
             'type'  => 'text',
533 533
 			'class' => 'live-auth-data',
534 534
             'id'    => 'paypal_email',
535
-            'name'  => __( 'Live Email Address', 'invoicing' ),
536
-            'desc'  => __( 'The email address of your PayPal account.', 'invoicing' ),
535
+            'name'  => __('Live Email Address', 'invoicing'),
536
+            'desc'  => __('The email address of your PayPal account.', 'invoicing'),
537 537
         );
538 538
 
539 539
 		$admin_settings['paypal_sandbox_email'] = array(
540 540
             'type'  => 'text',
541 541
 			'class' => 'sandbox-auth-data',
542 542
             'id'    => 'paypal_sandbox_email',
543
-            'name'  => __( 'Sandbox Email Address', 'invoicing' ),
544
-            'desc'  => __( 'The email address of your sandbox PayPal account.', 'invoicing' ),
545
-			'std'   => wpinv_get_option( 'paypal_email', '' ),
543
+            'name'  => __('Sandbox Email Address', 'invoicing'),
544
+            'desc'  => __('The email address of your sandbox PayPal account.', 'invoicing'),
545
+			'std'   => wpinv_get_option('paypal_email', ''),
546 546
         );
547 547
 
548 548
         $admin_settings['paypal_ipn_url'] = array(
549 549
             'type'     => 'ipn_url',
550 550
             'id'       => 'paypal_ipn_url',
551
-            'name'     => __( 'IPN Url', 'invoicing' ),
551
+            'name'     => __('IPN Url', 'invoicing'),
552 552
             'std'      => $this->notify_url,
553
-            'desc'     => __( "If you've not enabled IPNs in your paypal account, use the above URL to enable them.", 'invoicing' ) . ' <a href="https://developer.paypal.com/docs/api-basics/notifications/ipn/"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
553
+            'desc'     => __("If you've not enabled IPNs in your paypal account, use the above URL to enable them.", 'invoicing') . ' <a href="https://developer.paypal.com/docs/api-basics/notifications/ipn/"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
554 554
             'readonly' => true,
555 555
         );
556 556
 
@@ -564,8 +564,8 @@  discard block
 block discarded – undo
564 564
      * @param array $data
565 565
      * @return string
566 566
 	 */
567
-	public static function maybe_get_connect_url( $url = '', $data = array() ) {
568
-		return self::get_connect_url( false, urldecode( $data['redirect'] ) );
567
+	public static function maybe_get_connect_url($url = '', $data = array()) {
568
+		return self::get_connect_url(false, urldecode($data['redirect']));
569 569
 	}
570 570
 
571 571
 	/**
@@ -576,25 +576,25 @@  discard block
 block discarded – undo
576 576
 	 * @param string $redirect
577 577
      * @return string
578 578
 	 */
579
-	public static function get_connect_url( $is_sandbox, $redirect = '' ) {
579
+	public static function get_connect_url($is_sandbox, $redirect = '') {
580 580
 
581 581
         $redirect_url = add_query_arg(
582 582
             array(
583 583
                 'getpaid-admin-action' => 'connect_paypal',
584 584
                 'page'                 => 'wpinv-settings',
585
-                'live_mode'            => (int) empty( $is_sandbox ),
585
+                'live_mode'            => (int) empty($is_sandbox),
586 586
                 'tab'                  => 'gateways',
587 587
                 'section'              => 'paypal',
588
-                'getpaid-nonce'        => wp_create_nonce( 'getpaid-nonce' ),
589
-				'redirect'             => urlencode( $redirect ),
588
+                'getpaid-nonce'        => wp_create_nonce('getpaid-nonce'),
589
+				'redirect'             => urlencode($redirect),
590 590
             ),
591
-            admin_url( 'admin.php' )
591
+            admin_url('admin.php')
592 592
         );
593 593
 
594 594
         return add_query_arg(
595 595
             array(
596
-                'live_mode'    => (int) empty( $is_sandbox ),
597
-                'redirect_url' => urlencode( str_replace( '&amp;', '&', $redirect_url ) ),
596
+                'live_mode'    => (int) empty($is_sandbox),
597
+                'redirect_url' => urlencode(str_replace('&amp;', '&', $redirect_url)),
598 598
             ),
599 599
             'https://ayecode.io/oauth/paypal'
600 600
         );
@@ -648,26 +648,26 @@  discard block
 block discarded – undo
648 648
 	 * @param array $data Connection data.
649 649
 	 * @return void
650 650
 	 */
651
-	public function connect_paypal( $data ) {
651
+	public function connect_paypal($data) {
652 652
 
653 653
 		$sandbox      = $this->is_sandbox();
654
-		$data         = wp_unslash( $data );
655
-		$access_token = empty( $data['access_token'] ) ? '' : sanitize_text_field( $data['access_token'] );
654
+		$data         = wp_unslash($data);
655
+		$access_token = empty($data['access_token']) ? '' : sanitize_text_field($data['access_token']);
656 656
 
657
-		if ( isset( $data['live_mode'] ) ) {
658
-			$sandbox = empty( $data['live_mode'] );
657
+		if (isset($data['live_mode'])) {
658
+			$sandbox = empty($data['live_mode']);
659 659
 		}
660 660
 
661
-		wpinv_update_option( 'paypal_sandbox', (int) $sandbox );
662
-		wpinv_update_option( 'paypal_active', 1 );
661
+		wpinv_update_option('paypal_sandbox', (int) $sandbox);
662
+		wpinv_update_option('paypal_active', 1);
663 663
 
664
-		if ( ! empty( $data['error_description'] ) ) {
665
-			getpaid_admin()->show_error( wp_kses_post( urldecode( $data['error_description'] ) ) );
664
+		if (!empty($data['error_description'])) {
665
+			getpaid_admin()->show_error(wp_kses_post(urldecode($data['error_description'])));
666 666
 		} else {
667 667
 
668 668
 			// Retrieve the user info.
669 669
 			$user_info = wp_remote_get(
670
-				! $sandbox ? 'https://api-m.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1' : 'https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1',
670
+				!$sandbox ? 'https://api-m.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1' : 'https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1',
671 671
 				array(
672 672
 
673 673
 					'headers' => array(
@@ -678,33 +678,33 @@  discard block
 block discarded – undo
678 678
 				)
679 679
 			);
680 680
 
681
-			if ( is_wp_error( $user_info ) ) {
682
-				getpaid_admin()->show_error( wp_kses_post( $user_info->get_error_message() ) );
681
+			if (is_wp_error($user_info)) {
682
+				getpaid_admin()->show_error(wp_kses_post($user_info->get_error_message()));
683 683
 			} else {
684 684
 
685 685
 				// Create application.
686
-				$user_info = json_decode( wp_remote_retrieve_body( $user_info ) );
686
+				$user_info = json_decode(wp_remote_retrieve_body($user_info));
687 687
 
688
-				if ( $sandbox ) {
689
-					wpinv_update_option( 'paypal_sandbox_email', sanitize_email( $user_info->emails[0]->value ) );
690
-					wpinv_update_option( 'paypal_sandbox_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
691
-					set_transient( 'getpaid_paypal_sandbox_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
692
-					getpaid_admin()->show_success( __( 'Successfully connected your PayPal sandbox account', 'invoicing' ) );
688
+				if ($sandbox) {
689
+					wpinv_update_option('paypal_sandbox_email', sanitize_email($user_info->emails[0]->value));
690
+					wpinv_update_option('paypal_sandbox_refresh_token', sanitize_text_field(urldecode($data['refresh_token'])));
691
+					set_transient('getpaid_paypal_sandbox_access_token', sanitize_text_field(urldecode($data['access_token'])), (int) $data['expires_in']);
692
+					getpaid_admin()->show_success(__('Successfully connected your PayPal sandbox account', 'invoicing'));
693 693
 				} else {
694
-					wpinv_update_option( 'paypal_email', sanitize_email( $user_info->emails[0]->value ) );
695
-					wpinv_update_option( 'paypal_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
696
-					set_transient( 'getpaid_paypal_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
697
-					getpaid_admin()->show_success( __( 'Successfully connected your PayPal account', 'invoicing' ) );
694
+					wpinv_update_option('paypal_email', sanitize_email($user_info->emails[0]->value));
695
+					wpinv_update_option('paypal_refresh_token', sanitize_text_field(urldecode($data['refresh_token'])));
696
+					set_transient('getpaid_paypal_access_token', sanitize_text_field(urldecode($data['access_token'])), (int) $data['expires_in']);
697
+					getpaid_admin()->show_success(__('Successfully connected your PayPal account', 'invoicing'));
698 698
 				}
699 699
 }
700 700
 }
701 701
 
702
-		$redirect = empty( $data['redirect'] ) ? admin_url( 'admin.php?page=wpinv-settings&tab=gateways&section=paypal' ) : urldecode( $data['redirect'] );
702
+		$redirect = empty($data['redirect']) ? admin_url('admin.php?page=wpinv-settings&tab=gateways&section=paypal') : urldecode($data['redirect']);
703 703
 
704
-		if ( isset( $data['step'] ) ) {
705
-			$redirect = add_query_arg( 'step', $data['step'], $redirect );
704
+		if (isset($data['step'])) {
705
+			$redirect = add_query_arg('step', $data['step'], $redirect);
706 706
 		}
707
-		wp_redirect( $redirect );
707
+		wp_redirect($redirect);
708 708
 		exit;
709 709
 	}
710 710
 
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-authorize-net-gateway.php 2 patches
Indentation   +232 added lines, -232 removed lines patch added patch discarded remove patch
@@ -13,58 +13,58 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Authorize_Net_Gateway extends GetPaid_Authorize_Net_Legacy_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'authorizenet';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array( 'subscription', 'sandbox', 'tokens', 'addons', 'single_subscription_group', 'multiple_subscription_groups' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34 34
     public $order = 4;
35 35
 
36 36
     /**
37
-	 * Endpoint for requests from Authorize.net.
38
-	 *
39
-	 * @var string
40
-	 */
41
-	protected $notify_url;
42
-
43
-	/**
44
-	 * Endpoint for requests to Authorize.net.
45
-	 *
46
-	 * @var string
47
-	 */
37
+     * Endpoint for requests from Authorize.net.
38
+     *
39
+     * @var string
40
+     */
41
+    protected $notify_url;
42
+
43
+    /**
44
+     * Endpoint for requests to Authorize.net.
45
+     *
46
+     * @var string
47
+     */
48 48
     protected $endpoint;
49 49
 
50 50
     /**
51
-	 * Currencies this gateway is allowed for.
52
-	 *
53
-	 * @var array
54
-	 */
55
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
51
+     * Currencies this gateway is allowed for.
52
+     *
53
+     * @var array
54
+     */
55
+    public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
56 56
 
57 57
     /**
58
-	 * URL to view a transaction.
59
-	 *
60
-	 * @var string
61
-	 */
58
+     * URL to view a transaction.
59
+     *
60
+     * @var string
61
+     */
62 62
     public $view_transaction_url = 'https://{sandbox}authorize.net/ui/themes/sandbox/Transaction/TransactionReceipt.aspx?transid=%s';
63 63
 
64 64
     /**
65
-	 * Class constructor.
66
-	 */
67
-	public function __construct() {
65
+     * Class constructor.
66
+     */
67
+    public function __construct() {
68 68
 
69 69
         $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
70 70
         $this->method_title         = __( 'Authorize.Net', 'invoicing' );
@@ -76,11 +76,11 @@  discard block
 block discarded – undo
76 76
     }
77 77
 
78 78
     /**
79
-	 * Displays the payment method select field.
80
-	 *
81
-	 * @param int $invoice_id 0 or invoice id.
82
-	 * @param GetPaid_Payment_Form $form Current payment form.
83
-	 */
79
+     * Displays the payment method select field.
80
+     *
81
+     * @param int $invoice_id 0 or invoice id.
82
+     * @param GetPaid_Payment_Form $form Current payment form.
83
+     */
84 84
     public function payment_fields( $invoice_id, $form ) {
85 85
 
86 86
         // Let the user select a payment method.
@@ -91,16 +91,16 @@  discard block
 block discarded – undo
91 91
     }
92 92
 
93 93
     /**
94
-	 * Creates a customer profile.
95
-	 *
96
-	 *
97
-	 * @param WPInv_Invoice $invoice Invoice.
94
+     * Creates a customer profile.
95
+     *
96
+     *
97
+     * @param WPInv_Invoice $invoice Invoice.
98 98
      * @param array $submission_data Posted checkout fields.
99 99
      * @param bool $save Whether or not to save the payment as a token.
100 100
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
101
-	 * @return string|WP_Error Payment profile id.
102
-	 */
103
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
101
+     * @return string|WP_Error Payment profile id.
102
+     */
103
+    public function create_customer_profile( $invoice, $submission_data, $save = true ) {
104 104
 
105 105
         // Remove non-digits from the number
106 106
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -182,14 +182,14 @@  discard block
 block discarded – undo
182 182
     }
183 183
 
184 184
     /**
185
-	 * Retrieves a customer profile.
186
-	 *
187
-	 *
188
-	 * @param string $profile_id profile id.
189
-	 * @return string|WP_Error Profile id.
185
+     * Retrieves a customer profile.
186
+     *
187
+     *
188
+     * @param string $profile_id profile id.
189
+     * @return string|WP_Error Profile id.
190 190
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
191
-	 */
192
-	public function get_customer_profile( $profile_id ) {
191
+     */
192
+    public function get_customer_profile( $profile_id ) {
193 193
 
194 194
         // Generate args.
195 195
         $args = array(
@@ -204,17 +204,17 @@  discard block
 block discarded – undo
204 204
     }
205 205
 
206 206
     /**
207
-	 * Creates a customer profile.
208
-	 *
209
-	 *
207
+     * Creates a customer profile.
208
+     *
209
+     *
210 210
      * @param string $profile_id profile id.
211
-	 * @param WPInv_Invoice $invoice Invoice.
211
+     * @param WPInv_Invoice $invoice Invoice.
212 212
      * @param array $submission_data Posted checkout fields.
213 213
      * @param bool $save Whether or not to save the payment as a token.
214 214
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
215
-	 * @return string|WP_Error Profile id.
216
-	 */
217
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
215
+     * @return string|WP_Error Profile id.
216
+     */
217
+    public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
218 218
 
219 219
         // Remove non-digits from the number
220 220
         $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -302,13 +302,13 @@  discard block
 block discarded – undo
302 302
     }
303 303
 
304 304
     /**
305
-	 * Retrieves payment details from cache.
306
-	 *
307
-	 *
305
+     * Retrieves payment details from cache.
306
+     *
307
+     *
308 308
      * @param array $payment_details.
309
-	 * @return array|false Profile id.
310
-	 */
311
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
309
+     * @return array|false Profile id.
310
+     */
311
+    public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
312 312
 
313 313
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
314 314
         $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
@@ -333,13 +333,13 @@  discard block
 block discarded – undo
333 333
     }
334 334
 
335 335
     /**
336
-	 * Securely adds payment details to cache.
337
-	 *
338
-	 *
336
+     * Securely adds payment details to cache.
337
+     *
338
+     *
339 339
      * @param array $payment_details.
340 340
      * @param string $payment_profile_id.
341
-	 */
342
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
341
+     */
342
+    public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
343 343
 
344 344
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
345 345
         $cached_information = is_array( $cached_information ) ? $cached_information : array();
@@ -351,15 +351,15 @@  discard block
 block discarded – undo
351 351
     }
352 352
 
353 353
     /**
354
-	 * Retrieves a customer payment profile.
355
-	 *
356
-	 *
357
-	 * @param string $customer_profile_id customer profile id.
354
+     * Retrieves a customer payment profile.
355
+     *
356
+     *
357
+     * @param string $customer_profile_id customer profile id.
358 358
      * @param string $payment_profile_id payment profile id.
359
-	 * @return string|WP_Error Profile id.
359
+     * @return string|WP_Error Profile id.
360 360
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
361
-	 */
362
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
361
+     */
362
+    public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
363 363
 
364 364
         // Generate args.
365 365
         $args = array(
@@ -375,15 +375,15 @@  discard block
 block discarded – undo
375 375
     }
376 376
 
377 377
     /**
378
-	 * Charges a customer payment profile.
379
-	 *
378
+     * Charges a customer payment profile.
379
+     *
380 380
      * @param string $customer_profile_id customer profile id.
381 381
      * @param string $payment_profile_id payment profile id.
382
-	 * @param WPInv_Invoice $invoice Invoice.
382
+     * @param WPInv_Invoice $invoice Invoice.
383 383
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
384
-	 * @return WP_Error|object
385
-	 */
386
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
384
+     * @return WP_Error|object
385
+     */
386
+    public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
387 387
 
388 388
         // Generate args.
389 389
         $args = array(
@@ -429,41 +429,41 @@  discard block
 block discarded – undo
429 429
     }
430 430
 
431 431
     /**
432
-	 * Processes a customer charge.
433
-	 *
432
+     * Processes a customer charge.
433
+     *
434 434
      * @param stdClass $result Api response.
435
-	 * @param WPInv_Invoice $invoice Invoice.
436
-	 */
437
-	public function process_charge_response( $result, $invoice ) {
435
+     * @param WPInv_Invoice $invoice Invoice.
436
+     */
437
+    public function process_charge_response( $result, $invoice ) {
438 438
 
439 439
         wpinv_clear_errors();
440
-		$response_code = (int) $result->transactionResponse->responseCode;
440
+        $response_code = (int) $result->transactionResponse->responseCode;
441 441
 
442
-		// Succeeded.
443
-		if ( 1 == $response_code || 4 == $response_code ) {
442
+        // Succeeded.
443
+        if ( 1 == $response_code || 4 == $response_code ) {
444 444
 
445
-			// Maybe set a transaction id.
446
-			if ( ! empty( $result->transactionResponse->transId ) ) {
447
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
448
-			}
445
+            // Maybe set a transaction id.
446
+            if ( ! empty( $result->transactionResponse->transId ) ) {
447
+                $invoice->set_transaction_id( $result->transactionResponse->transId );
448
+            }
449 449
 
450
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
450
+            $invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
451 451
 
452
-			if ( 1 == $response_code ) {
453
-				return $invoice->mark_paid();
454
-			}
452
+            if ( 1 == $response_code ) {
453
+                return $invoice->mark_paid();
454
+            }
455 455
 
456
-			$invoice->set_status( 'wpi-onhold' );
457
-        	$invoice->add_note(
456
+            $invoice->set_status( 'wpi-onhold' );
457
+            $invoice->add_note(
458 458
                 sprintf(
459 459
                     __( 'Held for review: %s', 'invoicing' ),
460 460
                     $result->transactionResponse->messages->message[0]->description
461 461
                 )
462
-			);
462
+            );
463 463
 
464
-			return $invoice->save();
464
+            return $invoice->save();
465 465
 
466
-		}
466
+        }
467 467
 
468 468
         wpinv_set_error( 'card_declined', __( 'Credit card declined.', 'invoicing' ) );
469 469
 
@@ -475,13 +475,13 @@  discard block
 block discarded – undo
475 475
     }
476 476
 
477 477
     /**
478
-	 * Returns payment information.
479
-	 *
480
-	 *
481
-	 * @param array $card Card details.
482
-	 * @return array
483
-	 */
484
-	public function get_payment_information( $card ) {
478
+     * Returns payment information.
479
+     *
480
+     *
481
+     * @param array $card Card details.
482
+     * @return array
483
+     */
484
+    public function get_payment_information( $card ) {
485 485
         return array(
486 486
 
487 487
             'creditCard' => array(
@@ -494,25 +494,25 @@  discard block
 block discarded – undo
494 494
     }
495 495
 
496 496
     /**
497
-	 * Returns the customer profile meta name.
498
-	 *
499
-	 *
500
-	 * @param WPInv_Invoice $invoice Invoice.
501
-	 * @return string
502
-	 */
503
-	public function get_customer_profile_meta_name( $invoice ) {
497
+     * Returns the customer profile meta name.
498
+     *
499
+     *
500
+     * @param WPInv_Invoice $invoice Invoice.
501
+     * @return string
502
+     */
503
+    public function get_customer_profile_meta_name( $invoice ) {
504 504
         return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
505 505
     }
506 506
 
507 507
     /**
508
-	 * Validates the submitted data.
509
-	 *
510
-	 *
511
-	 * @param array $submission_data Posted checkout fields.
508
+     * Validates the submitted data.
509
+     *
510
+     *
511
+     * @param array $submission_data Posted checkout fields.
512 512
      * @param WPInv_Invoice $invoice
513
-	 * @return WP_Error|string The payment profile id
514
-	 */
515
-	public function validate_submission_data( $submission_data, $invoice ) {
513
+     * @return WP_Error|string The payment profile id
514
+     */
515
+    public function validate_submission_data( $submission_data, $invoice ) {
516 516
 
517 517
         // Validate authentication details.
518 518
         $auth = $this->get_auth_params();
@@ -544,13 +544,13 @@  discard block
 block discarded – undo
544 544
     }
545 545
 
546 546
     /**
547
-	 * Returns invoice line items.
548
-	 *
549
-	 *
550
-	 * @param WPInv_Invoice $invoice Invoice.
551
-	 * @return array
552
-	 */
553
-	public function get_line_items( $invoice ) {
547
+     * Returns invoice line items.
548
+     *
549
+     *
550
+     * @param WPInv_Invoice $invoice Invoice.
551
+     * @return array
552
+     */
553
+    public function get_line_items( $invoice ) {
554 554
         $items = array();
555 555
 
556 556
         foreach ( $invoice->get_items() as $item ) {
@@ -587,15 +587,15 @@  discard block
 block discarded – undo
587 587
     }
588 588
 
589 589
     /**
590
-	 * Process Payment.
591
-	 *
592
-	 *
593
-	 * @param WPInv_Invoice $invoice Invoice.
594
-	 * @param array $submission_data Posted checkout fields.
595
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
596
-	 * @return array
597
-	 */
598
-	public function process_payment( $invoice, $submission_data, $submission ) {
590
+     * Process Payment.
591
+     *
592
+     *
593
+     * @param WPInv_Invoice $invoice Invoice.
594
+     * @param array $submission_data Posted checkout fields.
595
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
596
+     * @return array
597
+     */
598
+    public function process_payment( $invoice, $submission_data, $submission ) {
599 599
 
600 600
         // Validate the submitted data.
601 601
         $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
@@ -628,45 +628,45 @@  discard block
 block discarded – undo
628 628
 
629 629
         exit;
630 630
 
631
-	}
631
+    }
632 632
 
633
-	/**
634
-	 * Processes the initial payment.
635
-	 *
633
+    /**
634
+     * Processes the initial payment.
635
+     *
636 636
      * @param WPInv_Invoice $invoice Invoice.
637
-	 */
638
-	protected function process_initial_payment( $invoice ) {
637
+     */
638
+    protected function process_initial_payment( $invoice ) {
639 639
 
640
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
640
+        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
641 641
         $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
642
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
642
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
643 643
 
644
-		// Do we have an error?
645
-		if ( is_wp_error( $result ) ) {
646
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
647
-			wpinv_send_back_to_checkout( $invoice );
648
-		}
644
+        // Do we have an error?
645
+        if ( is_wp_error( $result ) ) {
646
+            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
647
+            wpinv_send_back_to_checkout( $invoice );
648
+        }
649 649
 
650
-		// Process the response.
651
-		$this->process_charge_response( $result, $invoice );
650
+        // Process the response.
651
+        $this->process_charge_response( $result, $invoice );
652 652
 
653
-		if ( wpinv_get_errors() ) {
654
-			wpinv_send_back_to_checkout( $invoice );
655
-		}
653
+        if ( wpinv_get_errors() ) {
654
+            wpinv_send_back_to_checkout( $invoice );
655
+        }
656 656
 
657
-	}
657
+    }
658 658
 
659 659
     /**
660
-	 * Processes recurring payments.
661
-	 *
660
+     * Processes recurring payments.
661
+     *
662 662
      * @param WPInv_Invoice $invoice Invoice.
663 663
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
664
-	 */
665
-	public function process_subscription( $invoice, $subscriptions ) {
664
+     */
665
+    public function process_subscription( $invoice, $subscriptions ) {
666 666
 
667 667
         // Check if there is an initial amount to charge.
668 668
         if ( (float) $invoice->get_total() > 0 ) {
669
-			$this->process_initial_payment( $invoice );
669
+            $this->process_initial_payment( $invoice );
670 670
         }
671 671
 
672 672
         // Activate the subscriptions.
@@ -684,36 +684,36 @@  discard block
 block discarded – undo
684 684
             }
685 685
         }
686 686
 
687
-		// Redirect to the success page.
687
+        // Redirect to the success page.
688 688
         wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
689 689
 
690 690
     }
691 691
 
692
-	/**
693
-	 * (Maybe) renews an authorize.net subscription profile.
694
-	 *
695
-	 *
692
+    /**
693
+     * (Maybe) renews an authorize.net subscription profile.
694
+     *
695
+     *
696 696
      * @param WPInv_Subscription $subscription
697
-	 */
698
-	public function maybe_renew_subscription( $subscription ) {
697
+     */
698
+    public function maybe_renew_subscription( $subscription ) {
699 699
 
700 700
         // Ensure its our subscription && it's active.
701 701
         if ( $this->id == $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
702 702
             $this->renew_subscription( $subscription );
703 703
         }
704 704
 
705
-	}
705
+    }
706 706
 
707 707
     /**
708
-	 * Renews a subscription.
709
-	 *
708
+     * Renews a subscription.
709
+     *
710 710
      * @param WPInv_Subscription $subscription
711
-	 */
712
-	public function renew_subscription( $subscription ) {
711
+     */
712
+    public function renew_subscription( $subscription ) {
713 713
 
714
-		// Generate the renewal invoice.
715
-		$new_invoice = $subscription->create_payment();
716
-		$old_invoice = $subscription->get_parent_payment();
714
+        // Generate the renewal invoice.
715
+        $new_invoice = $subscription->create_payment();
716
+        $old_invoice = $subscription->get_parent_payment();
717 717
 
718 718
         if ( empty( $new_invoice ) ) {
719 719
             $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
@@ -722,37 +722,37 @@  discard block
 block discarded – undo
722 722
         }
723 723
 
724 724
         // Charge the payment method.
725
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
726
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
727
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
728
-
729
-		// Do we have an error?
730
-		if ( is_wp_error( $result ) ) {
731
-
732
-			$old_invoice->add_note(
733
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
734
-				true,
735
-				false,
736
-				true
737
-			);
738
-			$subscription->failing();
739
-			return;
740
-
741
-		}
742
-
743
-		// Process the response.
744
-		$this->process_charge_response( $result, $new_invoice );
745
-
746
-		if ( wpinv_get_errors() ) {
747
-
748
-			$old_invoice->add_note(
749
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
750
-				true,
751
-				false,
752
-				true
753
-			);
754
-			$subscription->failing();
755
-			return;
725
+        $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
726
+        $customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
727
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
728
+
729
+        // Do we have an error?
730
+        if ( is_wp_error( $result ) ) {
731
+
732
+            $old_invoice->add_note(
733
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
734
+                true,
735
+                false,
736
+                true
737
+            );
738
+            $subscription->failing();
739
+            return;
740
+
741
+        }
742
+
743
+        // Process the response.
744
+        $this->process_charge_response( $result, $new_invoice );
745
+
746
+        if ( wpinv_get_errors() ) {
747
+
748
+            $old_invoice->add_note(
749
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
750
+                true,
751
+                false,
752
+                true
753
+            );
754
+            $subscription->failing();
755
+            return;
756 756
 
757 757
         }
758 758
 
@@ -761,13 +761,13 @@  discard block
 block discarded – undo
761 761
     }
762 762
 
763 763
     /**
764
-	 * Processes invoice addons.
765
-	 *
766
-	 * @param WPInv_Invoice $invoice
767
-	 * @param GetPaid_Form_Item[] $items
768
-	 * @return WPInv_Invoice
769
-	 */
770
-	public function process_addons( $invoice, $items ) {
764
+     * Processes invoice addons.
765
+     *
766
+     * @param WPInv_Invoice $invoice
767
+     * @param GetPaid_Form_Item[] $items
768
+     * @return WPInv_Invoice
769
+     */
770
+    public function process_addons( $invoice, $items ) {
771 771
 
772 772
         global $getpaid_authorize_addons;
773 773
 
@@ -786,7 +786,7 @@  discard block
 block discarded – undo
786 786
         $invoice->recalculate_total();
787 787
 
788 788
         $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
789
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
789
+        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
790 790
 
791 791
         add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
792 792
         $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
@@ -801,11 +801,11 @@  discard block
 block discarded – undo
801 801
     }
802 802
 
803 803
     /**
804
-	 * Processes invoice addons.
805
-	 *
804
+     * Processes invoice addons.
805
+     *
806 806
      * @param array $args
807
-	 * @return array
808
-	 */
807
+     * @return array
808
+     */
809 809
     public function filter_addons_request( $args ) {
810 810
 
811 811
         global $getpaid_authorize_addons;
@@ -839,11 +839,11 @@  discard block
 block discarded – undo
839 839
     }
840 840
 
841 841
     /**
842
-	 * Filters the gateway settings.
843
-	 *
844
-	 * @param array $admin_settings
845
-	 */
846
-	public function admin_settings( $admin_settings ) {
842
+     * Filters the gateway settings.
843
+     *
844
+     * @param array $admin_settings
845
+     */
846
+    public function admin_settings( $admin_settings ) {
847 847
 
848 848
         $currencies = sprintf(
849 849
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -883,7 +883,7 @@  discard block
 block discarded – undo
883 883
             'readonly' => true,
884 884
         );
885 885
 
886
-		return $admin_settings;
887
-	}
886
+        return $admin_settings;
887
+    }
888 888
 
889 889
 }
Please login to merge, or discard this patch.
Spacing   +205 added lines, -205 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
  * Authorize.net Payment Gateway class.
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 	 *
25 25
 	 * @var array
26 26
 	 */
27
-    protected $supports = array( 'subscription', 'sandbox', 'tokens', 'addons', 'single_subscription_group', 'multiple_subscription_groups' );
27
+    protected $supports = array('subscription', 'sandbox', 'tokens', 'addons', 'single_subscription_group', 'multiple_subscription_groups');
28 28
 
29 29
     /**
30 30
 	 * Payment method order.
@@ -52,7 +52,7 @@  discard block
 block discarded – undo
52 52
 	 *
53 53
 	 * @var array
54 54
 	 */
55
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
55
+	public $currencies = array('USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD');
56 56
 
57 57
     /**
58 58
 	 * URL to view a transaction.
@@ -66,12 +66,12 @@  discard block
 block discarded – undo
66 66
 	 */
67 67
 	public function __construct() {
68 68
 
69
-        $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
70
-        $this->method_title         = __( 'Authorize.Net', 'invoicing' );
71
-        $this->notify_url           = getpaid_get_non_query_string_ipn_url( $this->id );
69
+        $this->title                = __('Credit Card / Debit Card', 'invoicing');
70
+        $this->method_title         = __('Authorize.Net', 'invoicing');
71
+        $this->notify_url           = getpaid_get_non_query_string_ipn_url($this->id);
72 72
 
73
-        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
74
-        add_filter( 'getpaid_authorizenet_sandbox_notice', array( $this, 'sandbox_notice' ) );
73
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'));
74
+        add_filter('getpaid_authorizenet_sandbox_notice', array($this, 'sandbox_notice'));
75 75
         parent::__construct();
76 76
     }
77 77
 
@@ -81,13 +81,13 @@  discard block
 block discarded – undo
81 81
 	 * @param int $invoice_id 0 or invoice id.
82 82
 	 * @param GetPaid_Payment_Form $form Current payment form.
83 83
 	 */
84
-    public function payment_fields( $invoice_id, $form ) {
84
+    public function payment_fields($invoice_id, $form) {
85 85
 
86 86
         // Let the user select a payment method.
87 87
         $this->saved_payment_methods();
88 88
 
89 89
         // Show the credit card entry form.
90
-        $this->new_payment_method_entry( $this->get_cc_form( true ) );
90
+        $this->new_payment_method_entry($this->get_cc_form(true));
91 91
     }
92 92
 
93 93
     /**
@@ -100,79 +100,79 @@  discard block
 block discarded – undo
100 100
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
101 101
 	 * @return string|WP_Error Payment profile id.
102 102
 	 */
103
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
103
+	public function create_customer_profile($invoice, $submission_data, $save = true) {
104 104
 
105 105
         // Remove non-digits from the number
106
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
106
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
107 107
 
108 108
         // Generate args.
109 109
         $args = array(
110 110
             'createCustomerProfileRequest' => array(
111 111
                 'merchantAuthentication' => $this->get_auth_params(),
112 112
                 'profile'                => array(
113
-                    'merchantCustomerId' => getpaid_limit_length( $invoice->get_user_id(), 20 ),
114
-                    'description'        => getpaid_limit_length( $invoice->get_full_name(), 255 ),
115
-                    'email'              => getpaid_limit_length( $invoice->get_email(), 255 ),
113
+                    'merchantCustomerId' => getpaid_limit_length($invoice->get_user_id(), 20),
114
+                    'description'        => getpaid_limit_length($invoice->get_full_name(), 255),
115
+                    'email'              => getpaid_limit_length($invoice->get_email(), 255),
116 116
                     'paymentProfiles'    => array(
117 117
                         'customerType' => 'individual',
118 118
 
119 119
                         // Billing information.
120 120
                         'billTo'       => array(
121
-                            'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
122
-                            'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
123
-                            'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
124
-                            'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
125
-                            'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
126
-                            'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
127
-                            'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
121
+                            'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
122
+                            'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
123
+                            'address'   => getpaid_limit_length($invoice->get_address(), 60),
124
+                            'city'      => getpaid_limit_length($invoice->get_city(), 40),
125
+                            'state'     => getpaid_limit_length($invoice->get_state(), 40),
126
+                            'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
127
+                            'country'   => getpaid_limit_length($invoice->get_country(), 60),
128 128
                         ),
129 129
 
130 130
                         // Payment information.
131
-                        'payment'      => $this->get_payment_information( $submission_data['authorizenet'] ),
131
+                        'payment'      => $this->get_payment_information($submission_data['authorizenet']),
132 132
                     ),
133 133
                 ),
134
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
134
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
135 135
             ),
136 136
         );
137 137
 
138
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_customer_profile_args', $args, $invoice ), $invoice );
138
+        $response = $this->post(apply_filters('getpaid_authorizenet_customer_profile_args', $args, $invoice), $invoice);
139 139
 
140
-        if ( is_wp_error( $response ) ) {
140
+        if (is_wp_error($response)) {
141 141
 
142 142
             // In case the payment profile already exists remotely.
143
-            if ( 'dup_payment_profile' == $response->get_error_code() ) {
144
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
145
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
146
-                return strtok( '.' );
143
+            if ('dup_payment_profile' == $response->get_error_code()) {
144
+                $customer_profile_id = strtok($response->get_error_message(), '.');
145
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
146
+                return strtok('.');
147 147
             }
148 148
 
149 149
             // In case the customer profile already exists remotely.
150
-            if ( 'E00039' == $response->get_error_code() ) {
151
-                $customer_profile_id = str_replace( 'A duplicate record with ID ', '', $response->get_error_message() );
152
-                $customer_profile_id = str_replace( ' already exists.', '', $customer_profile_id );
153
-                return $this->create_customer_payment_profile( trim( $customer_profile_id ), $invoice, $submission_data, $save );
150
+            if ('E00039' == $response->get_error_code()) {
151
+                $customer_profile_id = str_replace('A duplicate record with ID ', '', $response->get_error_message());
152
+                $customer_profile_id = str_replace(' already exists.', '', $customer_profile_id);
153
+                return $this->create_customer_payment_profile(trim($customer_profile_id), $invoice, $submission_data, $save);
154 154
             }
155 155
 
156 156
             return $response;
157 157
         }
158 158
 
159
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $response->customerProfileId );
159
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $response->customerProfileId);
160 160
 
161 161
         // Save the payment token.
162
-        if ( $save ) {
162
+        if ($save) {
163 163
             $this->save_token(
164 164
                 array(
165 165
                     'id'      => $response->customerPaymentProfileIdList[0],
166
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . '&middot;&middot;&middot;&middot;' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
166
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . '&middot;&middot;&middot;&middot;' . substr($submission_data['authorizenet']['cc_number'], -4),
167 167
                     'default' => true,
168
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
168
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
169 169
                 )
170 170
             );
171 171
         }
172 172
 
173 173
         // Add a note about the validation response.
174 174
         $invoice->add_note(
175
-            sprintf( __( 'Created Authorize.NET customer profile: %s', 'invoicing' ), $response->validationDirectResponseList[0] ),
175
+            sprintf(__('Created Authorize.NET customer profile: %s', 'invoicing'), $response->validationDirectResponseList[0]),
176 176
             false,
177 177
             false,
178 178
             true
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
 	 * @return string|WP_Error Profile id.
190 190
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
191 191
 	 */
192
-	public function get_customer_profile( $profile_id ) {
192
+	public function get_customer_profile($profile_id) {
193 193
 
194 194
         // Generate args.
195 195
         $args = array(
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
             ),
200 200
         );
201 201
 
202
-        return $this->post( $args, false );
202
+        return $this->post($args, false);
203 203
 
204 204
     }
205 205
 
@@ -214,18 +214,18 @@  discard block
 block discarded – undo
214 214
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
215 215
 	 * @return string|WP_Error Profile id.
216 216
 	 */
217
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
217
+	public function create_customer_payment_profile($customer_profile, $invoice, $submission_data, $save) {
218 218
 
219 219
         // Remove non-digits from the number
220
-        $submission_data['authorizenet']['cc_number'] = preg_replace( '/\D/', '', $submission_data['authorizenet']['cc_number'] );
220
+        $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']);
221 221
 
222 222
         // Prepare card details.
223
-        $payment_information                          = $this->get_payment_information( $submission_data['authorizenet'] );
223
+        $payment_information                          = $this->get_payment_information($submission_data['authorizenet']);
224 224
 
225 225
         // Authorize.NET does not support saving the same card twice.
226
-        $cached_information                           = $this->retrieve_payment_profile_from_cache( $payment_information, $customer_profile, $invoice );
226
+        $cached_information                           = $this->retrieve_payment_profile_from_cache($payment_information, $customer_profile, $invoice);
227 227
 
228
-        if ( $cached_information ) {
228
+        if ($cached_information) {
229 229
             return $cached_information;
230 230
         }
231 231
 
@@ -238,34 +238,34 @@  discard block
 block discarded – undo
238 238
 
239 239
                     // Billing information.
240 240
                     'billTo'  => array(
241
-                        'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ),
242
-                        'lastName'  => getpaid_limit_length( $invoice->get_last_name(), 50 ),
243
-                        'address'   => getpaid_limit_length( $invoice->get_address(), 60 ),
244
-                        'city'      => getpaid_limit_length( $invoice->get_city(), 40 ),
245
-                        'state'     => getpaid_limit_length( $invoice->get_state(), 40 ),
246
-                        'zip'       => getpaid_limit_length( $invoice->get_zip(), 20 ),
247
-                        'country'   => getpaid_limit_length( $invoice->get_country(), 60 ),
241
+                        'firstName' => getpaid_limit_length($invoice->get_first_name(), 50),
242
+                        'lastName'  => getpaid_limit_length($invoice->get_last_name(), 50),
243
+                        'address'   => getpaid_limit_length($invoice->get_address(), 60),
244
+                        'city'      => getpaid_limit_length($invoice->get_city(), 40),
245
+                        'state'     => getpaid_limit_length($invoice->get_state(), 40),
246
+                        'zip'       => getpaid_limit_length($invoice->get_zip(), 20),
247
+                        'country'   => getpaid_limit_length($invoice->get_country(), 60),
248 248
                     ),
249 249
 
250 250
                     // Payment information.
251 251
                     'payment' => $payment_information,
252 252
                 ),
253
-                'validationMode'         => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode',
253
+                'validationMode'         => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode',
254 254
             ),
255 255
         );
256 256
 
257
-        $response = $this->post( apply_filters( 'getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice ), $invoice );
257
+        $response = $this->post(apply_filters('getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice), $invoice);
258 258
 
259
-        if ( is_wp_error( $response ) ) {
259
+        if (is_wp_error($response)) {
260 260
 
261 261
             // In case the payment profile already exists remotely.
262
-            if ( 'dup_payment_profile' == $response->get_error_code() ) {
263
-                $customer_profile_id = strtok( $response->get_error_message(), '.' );
264
-                $payment_profile_id  = strtok( '.' );
265
-                update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile_id );
262
+            if ('dup_payment_profile' == $response->get_error_code()) {
263
+                $customer_profile_id = strtok($response->get_error_message(), '.');
264
+                $payment_profile_id  = strtok('.');
265
+                update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile_id);
266 266
 
267 267
                 // Cache payment profile id.
268
-                $this->add_payment_profile_to_cache( $payment_information, $payment_profile_id );
268
+                $this->add_payment_profile_to_cache($payment_information, $payment_profile_id);
269 269
 
270 270
                 return $payment_profile_id;
271 271
             }
@@ -274,29 +274,29 @@  discard block
 block discarded – undo
274 274
         }
275 275
 
276 276
         // Save the payment token.
277
-        if ( $save ) {
277
+        if ($save) {
278 278
             $this->save_token(
279 279
                 array(
280 280
                     'id'      => $response->customerPaymentProfileId,
281
-                    'name'    => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . ' &middot;&middot;&middot;&middot; ' . substr( $submission_data['authorizenet']['cc_number'], -4 ),
281
+                    'name'    => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . ' &middot;&middot;&middot;&middot; ' . substr($submission_data['authorizenet']['cc_number'], -4),
282 282
                     'default' => true,
283
-                    'type'    => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live',
283
+                    'type'    => $this->is_sandbox($invoice) ? 'sandbox' : 'live',
284 284
                 )
285 285
             );
286 286
         }
287 287
 
288 288
         // Cache payment profile id.
289
-        $this->add_payment_profile_to_cache( $payment_information, $response->customerPaymentProfileId );
289
+        $this->add_payment_profile_to_cache($payment_information, $response->customerPaymentProfileId);
290 290
 
291 291
         // Add a note about the validation response.
292 292
         $invoice->add_note(
293
-            sprintf( __( 'Saved Authorize.NET payment profile: %s', 'invoicing' ), $response->validationDirectResponse ),
293
+            sprintf(__('Saved Authorize.NET payment profile: %s', 'invoicing'), $response->validationDirectResponse),
294 294
             false,
295 295
             false,
296 296
             true
297 297
         );
298 298
 
299
-        update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $customer_profile );
299
+        update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $customer_profile);
300 300
 
301 301
         return $response->customerPaymentProfileId;
302 302
     }
@@ -308,12 +308,12 @@  discard block
 block discarded – undo
308 308
      * @param array $payment_details.
309 309
 	 * @return array|false Profile id.
310 310
 	 */
311
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
311
+	public function retrieve_payment_profile_from_cache($payment_details, $customer_profile, $invoice) {
312 312
 
313
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
314
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
313
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
314
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
315 315
 
316
-        if ( ! is_array( $cached_information ) || ! array_key_exists( $payment_details, $cached_information ) ) {
316
+        if (!is_array($cached_information) || !array_key_exists($payment_details, $cached_information)) {
317 317
             return false;
318 318
         }
319 319
 
@@ -322,13 +322,13 @@  discard block
 block discarded – undo
322 322
             'getCustomerPaymentProfileRequest' => array(
323 323
                 'merchantAuthentication'   => $this->get_auth_params(),
324 324
                 'customerProfileId'        => $customer_profile,
325
-                'customerPaymentProfileId' => $cached_information[ $payment_details ],
325
+                'customerPaymentProfileId' => $cached_information[$payment_details],
326 326
             ),
327 327
         );
328 328
 
329
-        $response = $this->post( $args, $invoice );
329
+        $response = $this->post($args, $invoice);
330 330
 
331
-        return is_wp_error( $response ) ? false : $cached_information[ $payment_details ];
331
+        return is_wp_error($response) ? false : $cached_information[$payment_details];
332 332
 
333 333
     }
334 334
 
@@ -339,14 +339,14 @@  discard block
 block discarded – undo
339 339
      * @param array $payment_details.
340 340
      * @param string $payment_profile_id.
341 341
 	 */
342
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
342
+	public function add_payment_profile_to_cache($payment_details, $payment_profile_id) {
343 343
 
344
-        $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
345
-        $cached_information = is_array( $cached_information ) ? $cached_information : array();
346
-        $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
344
+        $cached_information = get_option('getpaid_authorize_net_cached_profiles', array());
345
+        $cached_information = is_array($cached_information) ? $cached_information : array();
346
+        $payment_details    = hash_hmac('sha256', json_encode($payment_details), SECURE_AUTH_KEY);
347 347
 
348
-        $cached_information[ $payment_details ] = $payment_profile_id;
349
-        update_option( 'getpaid_authorize_net_cached_profiles', $cached_information );
348
+        $cached_information[$payment_details] = $payment_profile_id;
349
+        update_option('getpaid_authorize_net_cached_profiles', $cached_information);
350 350
 
351 351
     }
352 352
 
@@ -359,7 +359,7 @@  discard block
 block discarded – undo
359 359
 	 * @return string|WP_Error Profile id.
360 360
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
361 361
 	 */
362
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
362
+	public function get_customer_payment_profile($customer_profile_id, $payment_profile_id) {
363 363
 
364 364
         // Generate args.
365 365
         $args = array(
@@ -370,7 +370,7 @@  discard block
 block discarded – undo
370 370
             ),
371 371
         );
372 372
 
373
-        return $this->post( $args, false );
373
+        return $this->post($args, false);
374 374
 
375 375
     }
376 376
 
@@ -383,7 +383,7 @@  discard block
 block discarded – undo
383 383
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
384 384
 	 * @return WP_Error|object
385 385
 	 */
386
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
386
+	public function charge_customer_payment_profile($customer_profile_id, $payment_profile_id, $invoice) {
387 387
 
388 388
         // Generate args.
389 389
         $args = array(
@@ -403,28 +403,28 @@  discard block
 block discarded – undo
403 403
                         ),
404 404
                     ),
405 405
                     'order'           => array(
406
-                        'invoiceNumber' => getpaid_limit_length( $invoice->get_number(), 20 ),
406
+                        'invoiceNumber' => getpaid_limit_length($invoice->get_number(), 20),
407 407
                     ),
408
-                    'lineItems'       => array( 'lineItem' => $this->get_line_items( $invoice ) ),
408
+                    'lineItems'       => array('lineItem' => $this->get_line_items($invoice)),
409 409
                     'tax'             => array(
410 410
                         'amount' => $invoice->get_total_tax(),
411
-                        'name'   => __( 'TAX', 'invoicing' ),
411
+                        'name'   => __('TAX', 'invoicing'),
412 412
                     ),
413
-                    'poNumber'        => getpaid_limit_length( $invoice->get_number(), 25 ),
413
+                    'poNumber'        => getpaid_limit_length($invoice->get_number(), 25),
414 414
                     'customer'        => array(
415
-                        'id'    => getpaid_limit_length( $invoice->get_user_id(), 25 ),
416
-                        'email' => getpaid_limit_length( $invoice->get_email(), 25 ),
415
+                        'id'    => getpaid_limit_length($invoice->get_user_id(), 25),
416
+                        'email' => getpaid_limit_length($invoice->get_email(), 25),
417 417
                     ),
418 418
                     'customerIP'      => $invoice->get_ip(),
419 419
                 ),
420 420
             ),
421 421
         );
422 422
 
423
-        if ( 0 == $invoice->get_total_tax() ) {
424
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
423
+        if (0 == $invoice->get_total_tax()) {
424
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
425 425
         }
426 426
 
427
-        return $this->post( apply_filters( 'getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice ), $invoice );
427
+        return $this->post(apply_filters('getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice), $invoice);
428 428
 
429 429
     }
430 430
 
@@ -434,29 +434,29 @@  discard block
 block discarded – undo
434 434
      * @param stdClass $result Api response.
435 435
 	 * @param WPInv_Invoice $invoice Invoice.
436 436
 	 */
437
-	public function process_charge_response( $result, $invoice ) {
437
+	public function process_charge_response($result, $invoice) {
438 438
 
439 439
         wpinv_clear_errors();
440 440
 		$response_code = (int) $result->transactionResponse->responseCode;
441 441
 
442 442
 		// Succeeded.
443
-		if ( 1 == $response_code || 4 == $response_code ) {
443
+		if (1 == $response_code || 4 == $response_code) {
444 444
 
445 445
 			// Maybe set a transaction id.
446
-			if ( ! empty( $result->transactionResponse->transId ) ) {
447
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
446
+			if (!empty($result->transactionResponse->transId)) {
447
+				$invoice->set_transaction_id($result->transactionResponse->transId);
448 448
 			}
449 449
 
450
-			$invoice->add_note( sprintf( __( 'Authentication code: %1$s (%2$s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
450
+			$invoice->add_note(sprintf(__('Authentication code: %1$s (%2$s).', 'invoicing'), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber), false, false, true);
451 451
 
452
-			if ( 1 == $response_code ) {
452
+			if (1 == $response_code) {
453 453
 				return $invoice->mark_paid();
454 454
 			}
455 455
 
456
-			$invoice->set_status( 'wpi-onhold' );
456
+			$invoice->set_status('wpi-onhold');
457 457
         	$invoice->add_note(
458 458
                 sprintf(
459
-                    __( 'Held for review: %s', 'invoicing' ),
459
+                    __('Held for review: %s', 'invoicing'),
460 460
                     $result->transactionResponse->messages->message[0]->description
461 461
                 )
462 462
 			);
@@ -465,11 +465,11 @@  discard block
 block discarded – undo
465 465
 
466 466
 		}
467 467
 
468
-        wpinv_set_error( 'card_declined', __( 'Credit card declined.', 'invoicing' ) );
468
+        wpinv_set_error('card_declined', __('Credit card declined.', 'invoicing'));
469 469
 
470
-        if ( ! empty( $result->transactionResponse->errors ) ) {
470
+        if (!empty($result->transactionResponse->errors)) {
471 471
             $errors = (object) $result->transactionResponse->errors;
472
-            wpinv_set_error( $errors->error[0]->errorCode, esc_html( $errors->error[0]->errorText ) );
472
+            wpinv_set_error($errors->error[0]->errorCode, esc_html($errors->error[0]->errorText));
473 473
         }
474 474
 
475 475
     }
@@ -481,7 +481,7 @@  discard block
 block discarded – undo
481 481
 	 * @param array $card Card details.
482 482
 	 * @return array
483 483
 	 */
484
-	public function get_payment_information( $card ) {
484
+	public function get_payment_information($card) {
485 485
         return array(
486 486
 
487 487
             'creditCard' => array(
@@ -500,8 +500,8 @@  discard block
 block discarded – undo
500 500
 	 * @param WPInv_Invoice $invoice Invoice.
501 501
 	 * @return string
502 502
 	 */
503
-	public function get_customer_profile_meta_name( $invoice ) {
504
-        return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
503
+	public function get_customer_profile_meta_name($invoice) {
504
+        return $this->is_sandbox($invoice) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
505 505
     }
506 506
 
507 507
     /**
@@ -512,34 +512,34 @@  discard block
 block discarded – undo
512 512
      * @param WPInv_Invoice $invoice
513 513
 	 * @return WP_Error|string The payment profile id
514 514
 	 */
515
-	public function validate_submission_data( $submission_data, $invoice ) {
515
+	public function validate_submission_data($submission_data, $invoice) {
516 516
 
517 517
         // Validate authentication details.
518 518
         $auth = $this->get_auth_params();
519 519
 
520
-        if ( empty( $auth['name'] ) || empty( $auth['transactionKey'] ) ) {
521
-            return new WP_Error( 'invalid_settings', __( 'Please set-up your login id and transaction key before using this gateway.', 'invoicing' ) );
520
+        if (empty($auth['name']) || empty($auth['transactionKey'])) {
521
+            return new WP_Error('invalid_settings', __('Please set-up your login id and transaction key before using this gateway.', 'invoicing'));
522 522
         }
523 523
 
524 524
         // Validate the payment method.
525
-        if ( empty( $submission_data['getpaid-authorizenet-payment-method'] ) ) {
526
-            return new WP_Error( 'invalid_payment_method', __( 'Please select a different payment method or add a new card.', 'invoicing' ) );
525
+        if (empty($submission_data['getpaid-authorizenet-payment-method'])) {
526
+            return new WP_Error('invalid_payment_method', __('Please select a different payment method or add a new card.', 'invoicing'));
527 527
         }
528 528
 
529 529
         // Are we adding a new payment method?
530
-        if ( 'new' != $submission_data['getpaid-authorizenet-payment-method'] ) {
530
+        if ('new' != $submission_data['getpaid-authorizenet-payment-method']) {
531 531
             return $submission_data['getpaid-authorizenet-payment-method'];
532 532
         }
533 533
 
534 534
         // Retrieve the customer profile id.
535
-        $profile_id = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
535
+        $profile_id = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
536 536
 
537 537
         // Create payment method.
538
-        if ( empty( $profile_id ) ) {
539
-            return $this->create_customer_profile( $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
538
+        if (empty($profile_id)) {
539
+            return $this->create_customer_profile($invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
540 540
         }
541 541
 
542
-        return $this->create_customer_payment_profile( $profile_id, $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) );
542
+        return $this->create_customer_payment_profile($profile_id, $invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method']));
543 543
 
544 544
     }
545 545
 
@@ -550,32 +550,32 @@  discard block
 block discarded – undo
550 550
 	 * @param WPInv_Invoice $invoice Invoice.
551 551
 	 * @return array
552 552
 	 */
553
-	public function get_line_items( $invoice ) {
553
+	public function get_line_items($invoice) {
554 554
         $items = array();
555 555
 
556
-        foreach ( $invoice->get_items() as $item ) {
556
+        foreach ($invoice->get_items() as $item) {
557 557
 
558 558
             $amount  = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
559 559
             $items[] = array(
560
-                'itemId'      => getpaid_limit_length( $item->get_id(), 31 ),
561
-                'name'        => getpaid_limit_length( $item->get_raw_name(), 31 ),
562
-                'description' => getpaid_limit_length( $item->get_description(), 255 ),
563
-                'quantity'    => (string) ( $invoice->get_template() == 'amount' ? 1 : $item->get_quantity() ),
560
+                'itemId'      => getpaid_limit_length($item->get_id(), 31),
561
+                'name'        => getpaid_limit_length($item->get_raw_name(), 31),
562
+                'description' => getpaid_limit_length($item->get_description(), 255),
563
+                'quantity'    => (string) ($invoice->get_template() == 'amount' ? 1 : $item->get_quantity()),
564 564
                 'unitPrice'   => (float) $amount,
565 565
                 'taxable'     => wpinv_use_taxes() && $invoice->is_taxable() && 'tax-exempt' != $item->get_vat_rule(),
566 566
             );
567 567
 
568 568
         }
569 569
 
570
-        foreach ( $invoice->get_fees() as $fee_name => $fee ) {
570
+        foreach ($invoice->get_fees() as $fee_name => $fee) {
571 571
 
572
-            $amount  = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
572
+            $amount = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee'];
573 573
 
574
-            if ( $amount > 0 ) {
574
+            if ($amount > 0) {
575 575
                 $items[] = array(
576
-                    'itemId'      => getpaid_limit_length( $fee_name, 31 ),
577
-                    'name'        => getpaid_limit_length( $fee_name, 31 ),
578
-                    'description' => getpaid_limit_length( $fee_name, 255 ),
576
+                    'itemId'      => getpaid_limit_length($fee_name, 31),
577
+                    'name'        => getpaid_limit_length($fee_name, 31),
578
+                    'description' => getpaid_limit_length($fee_name, 255),
579 579
                     'quantity'    => '1',
580 580
                     'unitPrice'   => (float) $amount,
581 581
                     'taxable'     => false,
@@ -595,36 +595,36 @@  discard block
 block discarded – undo
595 595
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
596 596
 	 * @return array
597 597
 	 */
598
-	public function process_payment( $invoice, $submission_data, $submission ) {
598
+	public function process_payment($invoice, $submission_data, $submission) {
599 599
 
600 600
         // Validate the submitted data.
601
-        $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
601
+        $payment_profile_id = $this->validate_submission_data($submission_data, $invoice);
602 602
 
603 603
         // Do we have an error?
604
-        if ( is_wp_error( $payment_profile_id ) ) {
605
-            wpinv_set_error( $payment_profile_id->get_error_code(), $payment_profile_id->get_error_message() );
606
-            wpinv_send_back_to_checkout( $invoice );
604
+        if (is_wp_error($payment_profile_id)) {
605
+            wpinv_set_error($payment_profile_id->get_error_code(), $payment_profile_id->get_error_message());
606
+            wpinv_send_back_to_checkout($invoice);
607 607
         }
608 608
 
609 609
         // Save the payment method to the order.
610
-        update_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id );
610
+        update_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id);
611 611
 
612 612
         // Check if this is a subscription or not.
613
-        $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
614
-        if ( ! empty( $subscriptions ) ) {
615
-            $this->process_subscription( $invoice, $subscriptions );
613
+        $subscriptions = getpaid_get_invoice_subscriptions($invoice);
614
+        if (!empty($subscriptions)) {
615
+            $this->process_subscription($invoice, $subscriptions);
616 616
         }
617 617
 
618 618
         // If it is free, send to the success page.
619
-        if ( ! $invoice->needs_payment() ) {
619
+        if (!$invoice->needs_payment()) {
620 620
             $invoice->mark_paid();
621
-            wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
621
+            wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
622 622
         }
623 623
 
624 624
         // Charge the payment profile.
625
-        $this->process_initial_payment( $invoice );
625
+        $this->process_initial_payment($invoice);
626 626
 
627
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
627
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
628 628
 
629 629
         exit;
630 630
 
@@ -635,23 +635,23 @@  discard block
 block discarded – undo
635 635
 	 *
636 636
      * @param WPInv_Invoice $invoice Invoice.
637 637
 	 */
638
-	protected function process_initial_payment( $invoice ) {
638
+	protected function process_initial_payment($invoice) {
639 639
 
640
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
641
-        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
642
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
640
+		$payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
641
+        $customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
642
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
643 643
 
644 644
 		// Do we have an error?
645
-		if ( is_wp_error( $result ) ) {
646
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
647
-			wpinv_send_back_to_checkout( $invoice );
645
+		if (is_wp_error($result)) {
646
+			wpinv_set_error($result->get_error_code(), $result->get_error_message());
647
+			wpinv_send_back_to_checkout($invoice);
648 648
 		}
649 649
 
650 650
 		// Process the response.
651
-		$this->process_charge_response( $result, $invoice );
651
+		$this->process_charge_response($result, $invoice);
652 652
 
653
-		if ( wpinv_get_errors() ) {
654
-			wpinv_send_back_to_checkout( $invoice );
653
+		if (wpinv_get_errors()) {
654
+			wpinv_send_back_to_checkout($invoice);
655 655
 		}
656 656
 
657 657
 	}
@@ -662,30 +662,30 @@  discard block
 block discarded – undo
662 662
      * @param WPInv_Invoice $invoice Invoice.
663 663
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
664 664
 	 */
665
-	public function process_subscription( $invoice, $subscriptions ) {
665
+	public function process_subscription($invoice, $subscriptions) {
666 666
 
667 667
         // Check if there is an initial amount to charge.
668
-        if ( (float) $invoice->get_total() > 0 ) {
669
-			$this->process_initial_payment( $invoice );
668
+        if ((float) $invoice->get_total() > 0) {
669
+			$this->process_initial_payment($invoice);
670 670
         }
671 671
 
672 672
         // Activate the subscriptions.
673
-        $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
673
+        $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
674 674
 
675
-        foreach ( $subscriptions as $subscription ) {
676
-            if ( $subscription->exists() ) {
677
-                $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
678
-                $expiry   = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
675
+        foreach ($subscriptions as $subscription) {
676
+            if ($subscription->exists()) {
677
+                $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
678
+                $expiry   = date('Y-m-d H:i:s', (current_time('timestamp') + $duration));
679 679
 
680
-                $subscription->set_next_renewal_date( $expiry );
681
-                $subscription->set_date_created( current_time( 'mysql' ) );
682
-                $subscription->set_profile_id( $invoice->generate_key( 'authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) );
680
+                $subscription->set_next_renewal_date($expiry);
681
+                $subscription->set_date_created(current_time('mysql'));
682
+                $subscription->set_profile_id($invoice->generate_key('authnet_sub_' . $invoice->get_id() . '_' . $subscription->get_id()));
683 683
                 $subscription->activate();
684 684
             }
685 685
         }
686 686
 
687 687
 		// Redirect to the success page.
688
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
688
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
689 689
 
690 690
     }
691 691
 
@@ -695,11 +695,11 @@  discard block
 block discarded – undo
695 695
 	 *
696 696
      * @param WPInv_Subscription $subscription
697 697
 	 */
698
-	public function maybe_renew_subscription( $subscription ) {
698
+	public function maybe_renew_subscription($subscription) {
699 699
 
700 700
         // Ensure its our subscription && it's active.
701
-        if ( $this->id == $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
702
-            $this->renew_subscription( $subscription );
701
+        if ($this->id == $subscription->get_gateway() && $subscription->has_status('active trialling')) {
702
+            $this->renew_subscription($subscription);
703 703
         }
704 704
 
705 705
 	}
@@ -709,28 +709,28 @@  discard block
 block discarded – undo
709 709
 	 *
710 710
      * @param WPInv_Subscription $subscription
711 711
 	 */
712
-	public function renew_subscription( $subscription ) {
712
+	public function renew_subscription($subscription) {
713 713
 
714 714
 		// Generate the renewal invoice.
715 715
 		$new_invoice = $subscription->create_payment();
716 716
 		$old_invoice = $subscription->get_parent_payment();
717 717
 
718
-        if ( empty( $new_invoice ) ) {
719
-            $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
718
+        if (empty($new_invoice)) {
719
+            $old_invoice->add_note(__('Error generating a renewal invoice.', 'invoicing'), false, false, false);
720 720
             $subscription->failing();
721 721
             return;
722 722
         }
723 723
 
724 724
         // Charge the payment method.
725
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
726
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
727
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
725
+		$payment_profile_id = get_post_meta($old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
726
+		$customer_profile   = get_user_meta($old_invoice->get_user_id(), $this->get_customer_profile_meta_name($old_invoice), true);
727
+		$result             = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $new_invoice);
728 728
 
729 729
 		// Do we have an error?
730
-		if ( is_wp_error( $result ) ) {
730
+		if (is_wp_error($result)) {
731 731
 
732 732
 			$old_invoice->add_note(
733
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
733
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), $result->get_error_message()),
734 734
 				true,
735 735
 				false,
736 736
 				true
@@ -741,12 +741,12 @@  discard block
 block discarded – undo
741 741
 		}
742 742
 
743 743
 		// Process the response.
744
-		$this->process_charge_response( $result, $new_invoice );
744
+		$this->process_charge_response($result, $new_invoice);
745 745
 
746
-		if ( wpinv_get_errors() ) {
746
+		if (wpinv_get_errors()) {
747 747
 
748 748
 			$old_invoice->add_note(
749
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
749
+				sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), getpaid_get_errors_html()),
750 750
 				true,
751 751
 				false,
752 752
 				true
@@ -756,7 +756,7 @@  discard block
 block discarded – undo
756 756
 
757 757
         }
758 758
 
759
-        $subscription->add_payment( array(), $new_invoice );
759
+        $subscription->add_payment(array(), $new_invoice);
760 760
         $subscription->renew();
761 761
     }
762 762
 
@@ -767,33 +767,33 @@  discard block
 block discarded – undo
767 767
 	 * @param GetPaid_Form_Item[] $items
768 768
 	 * @return WPInv_Invoice
769 769
 	 */
770
-	public function process_addons( $invoice, $items ) {
770
+	public function process_addons($invoice, $items) {
771 771
 
772 772
         global $getpaid_authorize_addons;
773 773
 
774 774
         $getpaid_authorize_addons = array();
775
-        foreach ( $items as $item ) {
775
+        foreach ($items as $item) {
776 776
 
777
-            if ( is_null( $invoice->get_item( $item->get_id() ) ) && ! is_wp_error( $invoice->add_item( $item ) ) ) {
777
+            if (is_null($invoice->get_item($item->get_id())) && !is_wp_error($invoice->add_item($item))) {
778 778
                 $getpaid_authorize_addons[] = $item;
779 779
             }
780 780
 }
781 781
 
782
-        if ( empty( $getpaid_authorize_addons ) ) {
782
+        if (empty($getpaid_authorize_addons)) {
783 783
             return;
784 784
         }
785 785
 
786 786
         $invoice->recalculate_total();
787 787
 
788
-        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
789
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
788
+        $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true);
789
+		$customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true);
790 790
 
791
-        add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
792
-        $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
793
-        remove_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ) );
791
+        add_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'), 10, 2);
792
+        $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice);
793
+        remove_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'));
794 794
 
795
-        if ( is_wp_error( $result ) ) {
796
-            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
795
+        if (is_wp_error($result)) {
796
+            wpinv_set_error($result->get_error_code(), $result->get_error_message());
797 797
             return;
798 798
         }
799 799
 
@@ -806,19 +806,19 @@  discard block
 block discarded – undo
806 806
      * @param array $args
807 807
 	 * @return array
808 808
 	 */
809
-    public function filter_addons_request( $args ) {
809
+    public function filter_addons_request($args) {
810 810
 
811 811
         global $getpaid_authorize_addons;
812 812
         $total = 0;
813 813
 
814
-        foreach ( $getpaid_authorize_addons as $addon ) {
814
+        foreach ($getpaid_authorize_addons as $addon) {
815 815
             $total += $addon->get_sub_total();
816 816
         }
817 817
 
818 818
         $args['createTransactionRequest']['transactionRequest']['amount'] = $total;
819 819
 
820
-        if ( isset( $args['createTransactionRequest']['transactionRequest']['tax'] ) ) {
821
-            unset( $args['createTransactionRequest']['transactionRequest']['tax'] );
820
+        if (isset($args['createTransactionRequest']['transactionRequest']['tax'])) {
821
+            unset($args['createTransactionRequest']['transactionRequest']['tax']);
822 822
         }
823 823
 
824 824
         return $args;
@@ -831,7 +831,7 @@  discard block
 block discarded – undo
831 831
     public function sandbox_notice() {
832 832
 
833 833
         return sprintf(
834
-            __( 'SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
834
+            __('SANDBOX ENABLED. You can use sandbox testing details only. See the %1$sAuthorize.NET Sandbox Testing Guide%2$s for more details.', 'invoicing'),
835 835
             '<a href="https://developer.authorize.net/hello_world/testing_guide.html">',
836 836
             '</a>'
837 837
         );
@@ -843,42 +843,42 @@  discard block
 block discarded – undo
843 843
 	 *
844 844
 	 * @param array $admin_settings
845 845
 	 */
846
-	public function admin_settings( $admin_settings ) {
846
+	public function admin_settings($admin_settings) {
847 847
 
848 848
         $currencies = sprintf(
849
-            __( 'Supported Currencies: %s', 'invoicing' ),
850
-            implode( ', ', $this->currencies )
849
+            __('Supported Currencies: %s', 'invoicing'),
850
+            implode(', ', $this->currencies)
851 851
         );
852 852
 
853 853
         $admin_settings['authorizenet_active']['desc'] .= " ($currencies)";
854
-        $admin_settings['authorizenet_desc']['std']     = __( 'Pay securely using your credit or debit card.', 'invoicing' );
854
+        $admin_settings['authorizenet_desc']['std']     = __('Pay securely using your credit or debit card.', 'invoicing');
855 855
 
856 856
         $admin_settings['authorizenet_login_id'] = array(
857 857
             'type' => 'text',
858 858
             'id'   => 'authorizenet_login_id',
859
-            'name' => __( 'API Login ID', 'invoicing' ),
860
-            'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __( 'How do I obtain my API Login ID and Transaction Key?', 'invoicing' ) . '</em></a>',
859
+            'name' => __('API Login ID', 'invoicing'),
860
+            'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __('How do I obtain my API Login ID and Transaction Key?', 'invoicing') . '</em></a>',
861 861
         );
862 862
 
863 863
         $admin_settings['authorizenet_transaction_key'] = array(
864 864
             'type' => 'text',
865 865
             'id'   => 'authorizenet_transaction_key',
866
-            'name' => __( 'Transaction Key', 'invoicing' ),
866
+            'name' => __('Transaction Key', 'invoicing'),
867 867
         );
868 868
 
869 869
         $admin_settings['authorizenet_signature_key'] = array(
870 870
             'type' => 'text',
871 871
             'id'   => 'authorizenet_signature_key',
872
-            'name' => __( 'Signature Key', 'invoicing' ),
873
-            'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
872
+            'name' => __('Signature Key', 'invoicing'),
873
+            'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
874 874
         );
875 875
 
876 876
         $admin_settings['authorizenet_ipn_url'] = array(
877 877
             'type'     => 'ipn_url',
878 878
             'id'       => 'authorizenet_ipn_url',
879
-            'name'     => __( 'Webhook URL', 'invoicing' ),
879
+            'name'     => __('Webhook URL', 'invoicing'),
880 880
             'std'      => $this->notify_url,
881
-            'desc'     => __( 'Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing' ) . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>',
881
+            'desc'     => __('Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing') . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __('Learn more.', 'invoicing') . '</em></a>',
882 882
             'custom'   => 'authorizenet',
883 883
             'readonly' => true,
884 884
         );
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-worldpay-gateway.php 2 patches
Indentation   +94 added lines, -94 removed lines patch added patch discarded remove patch
@@ -13,65 +13,65 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Worldpay_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'worldpay';
21 21
 
22 22
     /**
23
-	 * Payment method order.
24
-	 *
25
-	 * @var int
26
-	 */
23
+     * Payment method order.
24
+     *
25
+     * @var int
26
+     */
27 27
     public $order = 5;
28 28
 
29 29
     /**
30
-	 * Endpoint for requests from Worldpay.
31
-	 *
32
-	 * @var string
33
-	 */
34
-	protected $notify_url;
35
-
36
-	/**
37
-	 * Endpoint for requests to Worldpay.
38
-	 *
39
-	 * @var string
40
-	 */
30
+     * Endpoint for requests from Worldpay.
31
+     *
32
+     * @var string
33
+     */
34
+    protected $notify_url;
35
+
36
+    /**
37
+     * Endpoint for requests to Worldpay.
38
+     *
39
+     * @var string
40
+     */
41 41
     protected $endpoint;
42 42
 
43 43
     /**
44
-	 * An array of features that this gateway supports.
45
-	 *
46
-	 * @var array
47
-	 */
44
+     * An array of features that this gateway supports.
45
+     *
46
+     * @var array
47
+     */
48 48
     protected $supports = array( 'sandbox' );
49 49
 
50 50
     /**
51
-	 * Currencies this gateway is allowed for.
52
-	 *
53
-	 * @var array
54
-	 */
55
-	public $currencies = array( 'AUD', 'ARS', 'CAD', 'CHF', 'DKK', 'EUR', 'HKD', 'MYR', 'GBP', 'NZD', 'NOK', 'SGD', 'LKR', 'SEK', 'TRY', 'USD', 'ZAR' );
51
+     * Currencies this gateway is allowed for.
52
+     *
53
+     * @var array
54
+     */
55
+    public $currencies = array( 'AUD', 'ARS', 'CAD', 'CHF', 'DKK', 'EUR', 'HKD', 'MYR', 'GBP', 'NZD', 'NOK', 'SGD', 'LKR', 'SEK', 'TRY', 'USD', 'ZAR' );
56 56
 
57 57
     /**
58
-	 * URL to view a transaction.
59
-	 *
60
-	 * @var string
61
-	 */
58
+     * URL to view a transaction.
59
+     *
60
+     * @var string
61
+     */
62 62
     public $view_transaction_url = 'https://www.{sandbox}paypal.com/activity/payment/%s';
63 63
 
64 64
     /**
65
-	 * URL to view a subscription.
66
-	 *
67
-	 * @var string
68
-	 */
69
-	public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s';
65
+     * URL to view a subscription.
66
+     *
67
+     * @var string
68
+     */
69
+    public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s';
70 70
 
71 71
     /**
72
-	 * Class constructor.
73
-	 */
74
-	public function __construct() {
72
+     * Class constructor.
73
+     */
74
+    public function __construct() {
75 75
 
76 76
         $this->method_title         = __( 'Worldpay', 'invoicing' );
77 77
         $this->title                = __( 'Worldpay - Credit Card / Debit Card', 'invoicing' );
@@ -85,15 +85,15 @@  discard block
 block discarded – undo
85 85
     }
86 86
 
87 87
     /**
88
-	 * Process Payment.
89
-	 *
90
-	 *
91
-	 * @param WPInv_Invoice $invoice Invoice.
92
-	 * @param array $submission_data Posted checkout fields.
93
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
94
-	 * @return array
95
-	 */
96
-	public function process_payment( $invoice, $submission_data, $submission ) {
88
+     * Process Payment.
89
+     *
90
+     *
91
+     * @param WPInv_Invoice $invoice Invoice.
92
+     * @param array $submission_data Posted checkout fields.
93
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
94
+     * @return array
95
+     */
96
+    public function process_payment( $invoice, $submission_data, $submission ) {
97 97
 
98 98
         // Get redirect url.
99 99
         $worldpay_redirect = esc_url( $this->get_request_url( $invoice ) );
@@ -128,31 +128,31 @@  discard block
 block discarded – undo
128 128
     }
129 129
 
130 130
     /**
131
-	 * Get the Worldpay request URL for an invoice.
132
-	 *
133
-	 * @param  WPInv_Invoice $invoice Invoice object.
134
-	 * @return string
135
-	 */
136
-	public function get_request_url( $invoice ) {
131
+     * Get the Worldpay request URL for an invoice.
132
+     *
133
+     * @param  WPInv_Invoice $invoice Invoice object.
134
+     * @return string
135
+     */
136
+    public function get_request_url( $invoice ) {
137 137
 
138 138
         // Endpoint for this request
139
-		$this->endpoint = $this->is_sandbox( $invoice ) ? 'https://secure-test.worldpay.com/wcc/purchase' : 'https://secure.worldpay.com/wcc/purchase';
139
+        $this->endpoint = $this->is_sandbox( $invoice ) ? 'https://secure-test.worldpay.com/wcc/purchase' : 'https://secure.worldpay.com/wcc/purchase';
140 140
 
141 141
         return $this->endpoint;
142 142
 
143
-	}
143
+    }
144 144
 
145 145
     /**
146
-	 * Get Worldpay Args for passing to Worldpay.
147
-	 *
148
-	 * @param  WPInv_Invoice $invoice Invoice object.
149
-	 * @return array
150
-	 */
151
-	protected function get_worldpay_args( $invoice ) {
152
-
153
-		return apply_filters(
154
-			'getpaid_worldpay_args',
155
-			array(
146
+     * Get Worldpay Args for passing to Worldpay.
147
+     *
148
+     * @param  WPInv_Invoice $invoice Invoice object.
149
+     * @return array
150
+     */
151
+    protected function get_worldpay_args( $invoice ) {
152
+
153
+        return apply_filters(
154
+            'getpaid_worldpay_args',
155
+            array(
156 156
                 'amount'         => wpinv_sanitize_amount( $invoice->get_total() ), // mandatory
157 157
                 'cartId'         => wpinv_clean( $invoice->get_number() ), // mandatory reference for the item purchased
158 158
                 'currency'       => wpinv_clean( $invoice->get_currency() ), // mandatory
@@ -177,18 +177,18 @@  discard block
 block discarded – undo
177 177
                 'countryString'  => wpinv_clean( wpinv_country_name( $invoice->get_country() ) ),
178 178
                 'compName'       => wpinv_clean( $invoice->get_company() ),
179 179
             ),
180
-			$invoice
181
-		);
180
+            $invoice
181
+        );
182 182
 
183 183
     }
184 184
 
185 185
     /**
186
-	 * Secures worldpay args with an md5 hash.
187
-	 *
188
-	 * @param  array $args Gateway args.
189
-	 * @return array
190
-	 */
191
-	public function hash_args( $args ) {
186
+     * Secures worldpay args with an md5 hash.
187
+     *
188
+     * @param  array $args Gateway args.
189
+     * @return array
190
+     */
191
+    public function hash_args( $args ) {
192 192
 
193 193
         $md5_secret = $this->get_option( 'md5_secret' );
194 194
 
@@ -204,16 +204,16 @@  discard block
 block discarded – undo
204 204
     }
205 205
 
206 206
     /**
207
-	 * Processes ipns and marks payments as complete.
208
-	 *
209
-	 * @return void
210
-	 */
211
-	public function verify_ipn() {
207
+     * Processes ipns and marks payments as complete.
208
+     *
209
+     * @return void
210
+     */
211
+    public function verify_ipn() {
212 212
 
213 213
         // Validate the IPN.
214 214
         if ( empty( $_POST ) || ! $this->validate_ipn() ) {
215
-		    wp_die( 'Worldpay IPN Request Failure', 'Worldpay IPN', array( 'response' => 500 ) );
216
-		}
215
+            wp_die( 'Worldpay IPN Request Failure', 'Worldpay IPN', array( 'response' => 500 ) );
216
+        }
217 217
 
218 218
         // Process the IPN.
219 219
         $posted  = wp_kses_post_deep( wp_unslash( $_POST ) );
@@ -229,8 +229,8 @@  discard block
 block discarded – undo
229 229
                 $invoice->set_transaction_id( wpinv_clean( $posted['transId'] ) );
230 230
             }
231 231
 
232
-             // Update the ip address.
233
-             if ( ! empty( $posted['ipAddress'] ) ) {
232
+                // Update the ip address.
233
+                if ( ! empty( $posted['ipAddress'] ) ) {
234 234
                 $invoice->set_ip( wpinv_clean( $posted['ipAddress'] ) );
235 235
             }
236 236
 
@@ -257,9 +257,9 @@  discard block
 block discarded – undo
257 257
     }
258 258
 
259 259
     /**
260
-	 * Check Worldpay IPN validity.
261
-	 */
262
-	public function validate_ipn() {
260
+     * Check Worldpay IPN validity.
261
+     */
262
+    public function validate_ipn() {
263 263
 
264 264
         wpinv_error_log( 'Validating Worldpay IPN response' );
265 265
 
@@ -305,11 +305,11 @@  discard block
 block discarded – undo
305 305
     }
306 306
 
307 307
     /**
308
-	 * Filters the gateway settings.
309
-	 *
310
-	 * @param array $admin_settings
311
-	 */
312
-	public function admin_settings( $admin_settings ) {
308
+     * Filters the gateway settings.
309
+     *
310
+     * @param array $admin_settings
311
+     */
312
+    public function admin_settings( $admin_settings ) {
313 313
 
314 314
         $currencies = sprintf(
315 315
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -350,7 +350,7 @@  discard block
 block discarded – undo
350 350
             'readonly' => true,
351 351
         );
352 352
 
353
-		return $admin_settings;
354
-	}
353
+        return $admin_settings;
354
+    }
355 355
 
356 356
 }
Please login to merge, or discard this patch.
Spacing   +86 added lines, -86 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
  * Worldpay Payment Gateway class.
@@ -45,14 +45,14 @@  discard block
 block discarded – undo
45 45
 	 *
46 46
 	 * @var array
47 47
 	 */
48
-    protected $supports = array( 'sandbox' );
48
+    protected $supports = array('sandbox');
49 49
 
50 50
     /**
51 51
 	 * Currencies this gateway is allowed for.
52 52
 	 *
53 53
 	 * @var array
54 54
 	 */
55
-	public $currencies = array( 'AUD', 'ARS', 'CAD', 'CHF', 'DKK', 'EUR', 'HKD', 'MYR', 'GBP', 'NZD', 'NOK', 'SGD', 'LKR', 'SEK', 'TRY', 'USD', 'ZAR' );
55
+	public $currencies = array('AUD', 'ARS', 'CAD', 'CHF', 'DKK', 'EUR', 'HKD', 'MYR', 'GBP', 'NZD', 'NOK', 'SGD', 'LKR', 'SEK', 'TRY', 'USD', 'ZAR');
56 56
 
57 57
     /**
58 58
 	 * URL to view a transaction.
@@ -73,13 +73,13 @@  discard block
 block discarded – undo
73 73
 	 */
74 74
 	public function __construct() {
75 75
 
76
-        $this->method_title         = __( 'Worldpay', 'invoicing' );
77
-        $this->title                = __( 'Worldpay - Credit Card / Debit Card', 'invoicing' );
78
-        $this->checkout_button_text = __( 'Proceed to Worldpay', 'invoicing' );
79
-        $this->notify_url           = wpinv_get_ipn_url( $this->id );
76
+        $this->method_title         = __('Worldpay', 'invoicing');
77
+        $this->title                = __('Worldpay - Credit Card / Debit Card', 'invoicing');
78
+        $this->checkout_button_text = __('Proceed to Worldpay', 'invoicing');
79
+        $this->notify_url           = wpinv_get_ipn_url($this->id);
80 80
 
81
-        add_filter( 'wpinv_gateway_description', array( $this, 'sandbox_notice' ), 10, 2 );
82
-        add_filter( 'getpaid_worldpay_args', array( $this, 'hash_args' ) );
81
+        add_filter('wpinv_gateway_description', array($this, 'sandbox_notice'), 10, 2);
82
+        add_filter('getpaid_worldpay_args', array($this, 'hash_args'));
83 83
 
84 84
         parent::__construct();
85 85
     }
@@ -93,24 +93,24 @@  discard block
 block discarded – undo
93 93
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
94 94
 	 * @return array
95 95
 	 */
96
-	public function process_payment( $invoice, $submission_data, $submission ) {
96
+	public function process_payment($invoice, $submission_data, $submission) {
97 97
 
98 98
         // Get redirect url.
99
-        $worldpay_redirect = esc_url( $this->get_request_url( $invoice ) );
99
+        $worldpay_redirect = esc_url($this->get_request_url($invoice));
100 100
 
101 101
         // Get submission args.
102
-        $worldpay_args     = $this->get_worldpay_args( $invoice );
102
+        $worldpay_args     = $this->get_worldpay_args($invoice);
103 103
 
104 104
         $form = "<form action='$worldpay_redirect' name='wpi_worldpay_form' method='POST'>";
105 105
 
106
-        foreach ( $worldpay_args as $key => $value ) {
106
+        foreach ($worldpay_args as $key => $value) {
107 107
 
108
-            if ( false === $value || '' === trim( $value ) ) {
108
+            if (false === $value || '' === trim($value)) {
109 109
                 continue;
110 110
             }
111 111
 
112
-            $value = esc_attr( $value );
113
-            $key   = wpinv_clean( $key );
112
+            $value = esc_attr($value);
113
+            $key   = wpinv_clean($key);
114 114
             $form .= "<input type='hidden' name='$key' value='$value'>";
115 115
         }
116 116
 
@@ -133,10 +133,10 @@  discard block
 block discarded – undo
133 133
 	 * @param  WPInv_Invoice $invoice Invoice object.
134 134
 	 * @return string
135 135
 	 */
136
-	public function get_request_url( $invoice ) {
136
+	public function get_request_url($invoice) {
137 137
 
138 138
         // Endpoint for this request
139
-		$this->endpoint = $this->is_sandbox( $invoice ) ? 'https://secure-test.worldpay.com/wcc/purchase' : 'https://secure.worldpay.com/wcc/purchase';
139
+		$this->endpoint = $this->is_sandbox($invoice) ? 'https://secure-test.worldpay.com/wcc/purchase' : 'https://secure.worldpay.com/wcc/purchase';
140 140
 
141 141
         return $this->endpoint;
142 142
 
@@ -148,34 +148,34 @@  discard block
 block discarded – undo
148 148
 	 * @param  WPInv_Invoice $invoice Invoice object.
149 149
 	 * @return array
150 150
 	 */
151
-	protected function get_worldpay_args( $invoice ) {
151
+	protected function get_worldpay_args($invoice) {
152 152
 
153 153
 		return apply_filters(
154 154
 			'getpaid_worldpay_args',
155 155
 			array(
156
-                'amount'         => wpinv_sanitize_amount( $invoice->get_total() ), // mandatory
157
-                'cartId'         => wpinv_clean( $invoice->get_number() ), // mandatory reference for the item purchased
158
-                'currency'       => wpinv_clean( $invoice->get_currency() ), // mandatory
159
-                'instId'         => wpinv_clean( $this->get_option( 'instId', '' ) ), // mandatory
160
-                'testMode'       => $this->is_sandbox( $invoice ) ? 100 : 0, // mandatory
161
-                'name'           => wpinv_clean( $invoice->get_full_name() ),
162
-                'address'        => wpinv_clean( $invoice->get_address() ),
163
-                'postcode'       => wpinv_clean( $invoice->get_zip() ),
164
-                'tel'            => wpinv_clean( $invoice->get_phone() ),
165
-                'email'          => sanitize_email( $invoice->get_email() ),
166
-                'country'        => wpinv_clean( $invoice->get_country() ),
167
-                'desc'           => sprintf( __( 'Payment for invoice %s.', 'invoicing' ), wpinv_clean( $invoice->get_number() ) ),
168
-                'MC_description' => sprintf( __( 'Payment for invoice %s.', 'invoicing' ), wpinv_clean( $invoice->get_number() ) ),
169
-                'MC_callback'    => esc_url_raw( $this->notify_url ),
170
-                'resultfile'     => esc_url_raw( $this->get_return_url( $invoice ) ),
171
-                'MC_key'         => wpinv_clean( $invoice->get_key() ),
156
+                'amount'         => wpinv_sanitize_amount($invoice->get_total()), // mandatory
157
+                'cartId'         => wpinv_clean($invoice->get_number()), // mandatory reference for the item purchased
158
+                'currency'       => wpinv_clean($invoice->get_currency()), // mandatory
159
+                'instId'         => wpinv_clean($this->get_option('instId', '')), // mandatory
160
+                'testMode'       => $this->is_sandbox($invoice) ? 100 : 0, // mandatory
161
+                'name'           => wpinv_clean($invoice->get_full_name()),
162
+                'address'        => wpinv_clean($invoice->get_address()),
163
+                'postcode'       => wpinv_clean($invoice->get_zip()),
164
+                'tel'            => wpinv_clean($invoice->get_phone()),
165
+                'email'          => sanitize_email($invoice->get_email()),
166
+                'country'        => wpinv_clean($invoice->get_country()),
167
+                'desc'           => sprintf(__('Payment for invoice %s.', 'invoicing'), wpinv_clean($invoice->get_number())),
168
+                'MC_description' => sprintf(__('Payment for invoice %s.', 'invoicing'), wpinv_clean($invoice->get_number())),
169
+                'MC_callback'    => esc_url_raw($this->notify_url),
170
+                'resultfile'     => esc_url_raw($this->get_return_url($invoice)),
171
+                'MC_key'         => wpinv_clean($invoice->get_key()),
172 172
                 'MC_invoice_id'  => $invoice->get_id(),
173
-                'address1'       => wpinv_clean( $invoice->get_address() ),
174
-                'town'           => wpinv_clean( $invoice->get_city() ),
175
-                'region'         => wpinv_clean( $invoice->get_state() ),
176
-                'amountString'   => wpinv_price( $invoice->get_total(), $invoice->get_currency() ),
177
-                'countryString'  => wpinv_clean( wpinv_country_name( $invoice->get_country() ) ),
178
-                'compName'       => wpinv_clean( $invoice->get_company() ),
173
+                'address1'       => wpinv_clean($invoice->get_address()),
174
+                'town'           => wpinv_clean($invoice->get_city()),
175
+                'region'         => wpinv_clean($invoice->get_state()),
176
+                'amountString'   => wpinv_price($invoice->get_total(), $invoice->get_currency()),
177
+                'countryString'  => wpinv_clean(wpinv_country_name($invoice->get_country())),
178
+                'compName'       => wpinv_clean($invoice->get_company()),
179 179
             ),
180 180
 			$invoice
181 181
 		);
@@ -188,17 +188,17 @@  discard block
 block discarded – undo
188 188
 	 * @param  array $args Gateway args.
189 189
 	 * @return array
190 190
 	 */
191
-	public function hash_args( $args ) {
191
+	public function hash_args($args) {
192 192
 
193
-        $md5_secret = $this->get_option( 'md5_secret' );
193
+        $md5_secret = $this->get_option('md5_secret');
194 194
 
195 195
         // Abort if there is no secret.
196
-        if ( empty( $md5_secret ) ) {
196
+        if (empty($md5_secret)) {
197 197
             return $args;
198 198
         }
199 199
 
200 200
         // Hash the args.
201
-        $args['signature'] = md5( "$md5_secret:{$args['instId']}:{$args['amount']}:{$args['currency']}:{$args['cartId']}" );
201
+        $args['signature'] = md5("$md5_secret:{$args['instId']}:{$args['amount']}:{$args['currency']}:{$args['cartId']}");
202 202
 
203 203
         return $args;
204 204
     }
@@ -211,43 +211,43 @@  discard block
 block discarded – undo
211 211
 	public function verify_ipn() {
212 212
 
213 213
         // Validate the IPN.
214
-        if ( empty( $_POST ) || ! $this->validate_ipn() ) {
215
-		    wp_die( 'Worldpay IPN Request Failure', 'Worldpay IPN', array( 'response' => 500 ) );
214
+        if (empty($_POST) || !$this->validate_ipn()) {
215
+		    wp_die('Worldpay IPN Request Failure', 'Worldpay IPN', array('response' => 500));
216 216
 		}
217 217
 
218 218
         // Process the IPN.
219
-        $posted  = wp_kses_post_deep( wp_unslash( $_POST ) );
220
-        $invoice = wpinv_get_invoice( $posted['MC_invoice_id'] );
219
+        $posted  = wp_kses_post_deep(wp_unslash($_POST));
220
+        $invoice = wpinv_get_invoice($posted['MC_invoice_id']);
221 221
 
222
-        if ( $invoice && $this->id == $invoice->get_gateway() ) {
222
+        if ($invoice && $this->id == $invoice->get_gateway()) {
223 223
 
224
-            wpinv_error_log( 'Found invoice #' . $invoice->get_number() );
225
-            wpinv_error_log( 'Payment status:' . $posted['transStatus'] );
224
+            wpinv_error_log('Found invoice #' . $invoice->get_number());
225
+            wpinv_error_log('Payment status:' . $posted['transStatus']);
226 226
 
227 227
             // Update the transaction id.
228
-            if ( ! empty( $posted['transId'] ) ) {
229
-                $invoice->set_transaction_id( wpinv_clean( $posted['transId'] ) );
228
+            if (!empty($posted['transId'])) {
229
+                $invoice->set_transaction_id(wpinv_clean($posted['transId']));
230 230
             }
231 231
 
232 232
              // Update the ip address.
233
-             if ( ! empty( $posted['ipAddress'] ) ) {
234
-                $invoice->set_ip( wpinv_clean( $posted['ipAddress'] ) );
233
+             if (!empty($posted['ipAddress'])) {
234
+                $invoice->set_ip(wpinv_clean($posted['ipAddress']));
235 235
             }
236 236
 
237
-            if ( $posted['transStatus'] == 'Y' ) {
238
-                $invoice->set_completed_date( date( 'Y-m-d H:i:s', $posted['transTime'] ) );
237
+            if ($posted['transStatus'] == 'Y') {
238
+                $invoice->set_completed_date(date('Y-m-d H:i:s', $posted['transTime']));
239 239
                 $invoice->mark_paid();
240 240
                 return;
241 241
             }
242 242
 
243
-            if ( $posted['transStatus'] == 'C' ) {
244
-                $invoice->set_status( 'wpi-failed' );
245
-                $invoice->add_note( __( 'Payment transaction failed while processing Worldpay payment.', 'invoicing' ), false, false, true );
243
+            if ($posted['transStatus'] == 'C') {
244
+                $invoice->set_status('wpi-failed');
245
+                $invoice->add_note(__('Payment transaction failed while processing Worldpay payment.', 'invoicing'), false, false, true);
246 246
                 $invoice->save();
247 247
                 return;
248 248
             }
249 249
 
250
-            wpinv_error_log( 'Aborting, Invalid transaction status:' . $posted['transStatus'] );
250
+            wpinv_error_log('Aborting, Invalid transaction status:' . $posted['transStatus']);
251 251
             $invoice->save();
252 252
 
253 253
         }
@@ -261,27 +261,27 @@  discard block
 block discarded – undo
261 261
 	 */
262 262
 	public function validate_ipn() {
263 263
 
264
-        wpinv_error_log( 'Validating Worldpay IPN response' );
264
+        wpinv_error_log('Validating Worldpay IPN response');
265 265
 
266
-        $data = wp_kses_post_deep( wp_unslash( $_POST ) );
266
+        $data = wp_kses_post_deep(wp_unslash($_POST));
267 267
 
268 268
         // Verify installation.
269
-        if ( empty( $data['instId'] ) || $data['instId'] != wpinv_clean( $this->get_option( 'instId', '' ) ) ) {
270
-            wpinv_error_log( 'Received invalid installation ID from Worldpay IPN' );
269
+        if (empty($data['instId']) || $data['instId'] != wpinv_clean($this->get_option('instId', ''))) {
270
+            wpinv_error_log('Received invalid installation ID from Worldpay IPN');
271 271
             return false;
272 272
         }
273 273
 
274 274
         // Verify invoice.
275
-        if ( empty( $data['cartId'] ) || ! wpinv_get_id_by_invoice_number( $data['cartId'] ) ) {
276
-            wpinv_error_log( 'Received invalid invoice number from Worldpay IPN' );
275
+        if (empty($data['cartId']) || !wpinv_get_id_by_invoice_number($data['cartId'])) {
276
+            wpinv_error_log('Received invalid invoice number from Worldpay IPN');
277 277
             return false;
278 278
         }
279 279
 
280 280
         // (maybe) verify password.
281
-        $password = $this->get_option( 'callback_password' );
281
+        $password = $this->get_option('callback_password');
282 282
 
283
-        if ( ! empty( $password ) && ( empty( $data['callbackPW'] ) || $password != $data['callbackPW'] ) ) {
284
-            wpinv_error_log( 'Received invalid invoice number from Worldpay IPN' );
283
+        if (!empty($password) && (empty($data['callbackPW']) || $password != $data['callbackPW'])) {
284
+            wpinv_error_log('Received invalid invoice number from Worldpay IPN');
285 285
             return false;
286 286
         }
287 287
 
@@ -292,10 +292,10 @@  discard block
 block discarded – undo
292 292
     /**
293 293
      * Displays a notice on the checkout page if sandbox is enabled.
294 294
      */
295
-    public function sandbox_notice( $description, $gateway ) {
296
-        if ( 'worldpay' == $gateway && wpinv_is_test_mode( 'worldpay' ) ) {
295
+    public function sandbox_notice($description, $gateway) {
296
+        if ('worldpay' == $gateway && wpinv_is_test_mode('worldpay')) {
297 297
             $description .= '<br>' . sprintf(
298
-                __( 'SANDBOX ENABLED. See the %1$sWorldpay Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
298
+                __('SANDBOX ENABLED. See the %1$sWorldpay Sandbox Testing Guide%2$s for more details.', 'invoicing'),
299 299
                 '<a href="https://developer.worldpay.com/docs/wpg/directintegration/abouttesting">',
300 300
                 '</a>'
301 301
             );
@@ -309,43 +309,43 @@  discard block
 block discarded – undo
309 309
 	 *
310 310
 	 * @param array $admin_settings
311 311
 	 */
312
-	public function admin_settings( $admin_settings ) {
312
+	public function admin_settings($admin_settings) {
313 313
 
314 314
         $currencies = sprintf(
315
-            __( 'Supported Currencies: %s', 'invoicing' ),
316
-            implode( ', ', $this->currencies )
315
+            __('Supported Currencies: %s', 'invoicing'),
316
+            implode(', ', $this->currencies)
317 317
         );
318 318
 
319 319
         $admin_settings['worldpay_active']['desc'] = $admin_settings['worldpay_active']['desc'] . " ($currencies)";
320
-        $admin_settings['worldpay_desc']['std']    = __( 'Pay securely via Worldpay using your PayPal account, credit or debit card.', 'invoicing' );
320
+        $admin_settings['worldpay_desc']['std']    = __('Pay securely via Worldpay using your PayPal account, credit or debit card.', 'invoicing');
321 321
 
322 322
         $admin_settings['worldpay_instId'] = array(
323 323
             'type' => 'text',
324 324
             'id'   => 'worldpay_instId',
325
-            'name' => __( 'Installation Id', 'invoicing' ),
326
-            'desc' => __( 'Your installation id. Ex: 211616', 'invoicing' ),
325
+            'name' => __('Installation Id', 'invoicing'),
326
+            'desc' => __('Your installation id. Ex: 211616', 'invoicing'),
327 327
         );
328 328
 
329 329
         $admin_settings['worldpay_md5_secret'] = array(
330 330
             'type' => 'text',
331 331
             'id'   => 'worldpay_md5_secret',
332
-            'name' => __( 'MD5 secret', 'invoicing' ),
333
-            'desc' => __( 'Optionally enter your MD5 secret here. Next, open your installation settings and ensure that your SignatureFields parameter is set to ', 'invoicing' ) . '<code>instId:amount:currency:cartId</code>',
332
+            'name' => __('MD5 secret', 'invoicing'),
333
+            'desc' => __('Optionally enter your MD5 secret here. Next, open your installation settings and ensure that your SignatureFields parameter is set to ', 'invoicing') . '<code>instId:amount:currency:cartId</code>',
334 334
         );
335 335
 
336 336
         $admin_settings['worldpay_callbackPW'] = array(
337 337
             'type' => 'text',
338 338
             'id'   => 'worldpay_callbackPW',
339
-            'name' => __( 'Payment Response password', 'invoicing' ),
340
-            'desc' => __( 'Recommended. Enter your WorldPay response password to validate payment notifications.', 'invoicing' ),
339
+            'name' => __('Payment Response password', 'invoicing'),
340
+            'desc' => __('Recommended. Enter your WorldPay response password to validate payment notifications.', 'invoicing'),
341 341
         );
342 342
 
343 343
         $admin_settings['worldpay_ipn_url'] = array(
344 344
             'type'     => 'ipn_url',
345 345
             'id'       => 'worldpay_ipn_url',
346
-            'name'     => __( 'Payment Response URL', 'invoicing' ),
346
+            'name'     => __('Payment Response URL', 'invoicing'),
347 347
             'std'      => $this->notify_url,
348
-            'desc'     => __( 'Login to your Worldpay Merchant Interface then enable Payment Response & Shopper Response. Next, go to the Payment Response URL field and enter the above URL.', 'invoicing' ),
348
+            'desc'     => __('Login to your Worldpay Merchant Interface then enable Payment Response & Shopper Response. Next, go to the Payment Response URL field and enter the above URL.', 'invoicing'),
349 349
             'custom'   => 'worldpay',
350 350
             'readonly' => true,
351 351
         );
Please login to merge, or discard this patch.
includes/class-wpinv-subscriptions-db.php 1 patch
Spacing   +9 added lines, -9 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
  * The Subscriptions DB Class
@@ -72,8 +72,8 @@  discard block
 block discarded – undo
72 72
             'transaction_id'    => '',
73 73
             'parent_payment_id' => 0,
74 74
             'product_id'        => 0,
75
-            'created'           => date( 'Y-m-d H:i:s' ),
76
-            'expiration'        => date( 'Y-m-d H:i:s' ),
75
+            'created'           => date('Y-m-d H:i:s'),
76
+            'expiration'        => date('Y-m-d H:i:s'),
77 77
             'trial_period'      => '',
78 78
             'status'            => '',
79 79
             'profile_id'        => '',
@@ -86,8 +86,8 @@  discard block
 block discarded – undo
86 86
      * @access  public
87 87
      * @since   1.0.0
88 88
      */
89
-    public function get_subscriptions( $args = array() ) {
90
-        return getpaid_get_subscriptions( $args );
89
+    public function get_subscriptions($args = array()) {
90
+        return getpaid_get_subscriptions($args);
91 91
     }
92 92
 
93 93
     /**
@@ -96,8 +96,8 @@  discard block
 block discarded – undo
96 96
      * @access  public
97 97
      * @since   1.0.0
98 98
      */
99
-    public function count( $args = array() ) {
100
-        return getpaid_get_subscriptions( $args, 'count' );
99
+    public function count($args = array()) {
100
+        return getpaid_get_subscriptions($args, 'count');
101 101
     }
102 102
 
103 103
     /**
@@ -133,9 +133,9 @@  discard block
 block discarded – undo
133 133
         KEY customer_and_status ( customer_id, status)
134 134
         ) CHARACTER SET utf8 COLLATE utf8_general_ci;";
135 135
 
136
-        dbDelta( $sql );
136
+        dbDelta($sql);
137 137
 
138
-        update_option( $this->table_name . '_db_version', $this->version );
138
+        update_option($this->table_name . '_db_version', $this->version);
139 139
     }
140 140
 
141 141
 }
Please login to merge, or discard this patch.
includes/class-getpaid-subscription-notification-emails.php 2 patches
Indentation   +256 added lines, -256 removed lines patch added patch discarded remove patch
@@ -13,299 +13,299 @@
 block discarded – undo
13 13
 class GetPaid_Subscription_Notification_Emails {
14 14
 
15 15
     /**
16
-	 * The array of subscription email actions.
17
-	 *
18
-	 * @param array
19
-	 */
20
-	public $subscription_actions;
16
+     * The array of subscription email actions.
17
+     *
18
+     * @param array
19
+     */
20
+    public $subscription_actions;
21 21
 
22 22
     /**
23
-	 * Class constructor
23
+     * Class constructor
24 24
      *
25
-	 */
26
-	public function __construct() {
27
-
28
-		$this->subscription_actions = apply_filters(
29
-			'getpaid_notification_email_subscription_triggers',
30
-			array(
31
-				'getpaid_subscription_trialling' => 'subscription_trial',
32
-				'getpaid_subscription_cancelled' => 'subscription_cancelled',
33
-				'getpaid_subscription_expired'   => 'subscription_expired',
34
-				'getpaid_subscription_completed' => 'subscription_complete',
35
-				'getpaid_daily_maintenance'      => 'renewal_reminder',
36
-			)
37
-		);
38
-
39
-		$this->init_hooks();
25
+     */
26
+    public function __construct() {
27
+
28
+        $this->subscription_actions = apply_filters(
29
+            'getpaid_notification_email_subscription_triggers',
30
+            array(
31
+                'getpaid_subscription_trialling' => 'subscription_trial',
32
+                'getpaid_subscription_cancelled' => 'subscription_cancelled',
33
+                'getpaid_subscription_expired'   => 'subscription_expired',
34
+                'getpaid_subscription_completed' => 'subscription_complete',
35
+                'getpaid_daily_maintenance'      => 'renewal_reminder',
36
+            )
37
+        );
38
+
39
+        $this->init_hooks();
40 40
 
41 41
     }
42 42
 
43 43
     /**
44
-	 * Registers email hooks.
45
-	 */
46
-	public function init_hooks() {
47
-
48
-		add_filter( 'getpaid_get_email_merge_tags', array( $this, 'subscription_merge_tags' ), 10, 2 );
49
-		foreach ( $this->subscription_actions as $hook => $email_type ) {
50
-
51
-			$email = new GetPaid_Notification_Email( $email_type );
52
-
53
-			if ( ! $email->is_active() ) {
54
-				continue;
55
-			}
56
-
57
-			if ( method_exists( $this, $email_type ) ) {
58
-				add_action( $hook, array( $this, $email_type ), 100, 2 );
59
-				continue;
60
-			}
61
-
62
-			do_action( 'getpaid_subscription_notification_email_register_hook', $email_type, $hook );
63
-
64
-		}
65
-
66
-	}
67
-
68
-	/**
69
-	 * Filters subscription merge tags.
70
-	 *
71
-	 * @param array $merge_tags
72
-	 * @param mixed|WPInv_Invoice|WPInv_Subscription $object
73
-	 */
74
-	public function subscription_merge_tags( $merge_tags, $object ) {
75
-
76
-		if ( is_a( $object, 'WPInv_Subscription' ) ) {
77
-			$merge_tags = array_merge(
78
-				$merge_tags,
79
-				$this->get_subscription_merge_tags( $object )
80
-			);
81
-		}
82
-
83
-		return $merge_tags;
84
-
85
-	}
86
-
87
-	/**
88
-	 * Generates subscription merge tags.
89
-	 *
90
-	 * @param WPInv_Subscription $subscription
91
-	 * @return array
92
-	 */
93
-	public function get_subscription_merge_tags( $subscription ) {
94
-
95
-		// Abort if it does not exist.
96
-		if ( ! $subscription->get_id() ) {
97
-			return array();
98
-		}
99
-
100
-		$invoice    = $subscription->get_parent_invoice();
101
-		return array(
102
-			'{subscription_renewal_date}'     => getpaid_format_date_value( $subscription->get_next_renewal_date(), __( 'Never', 'invoicing' ) ),
103
-			'{subscription_created}'          => getpaid_format_date_value( $subscription->get_date_created() ),
104
-			'{subscription_status}'           => sanitize_text_field( $subscription->get_status_label() ),
105
-			'{subscription_profile_id}'       => sanitize_text_field( $subscription->get_profile_id() ),
106
-			'{subscription_id}'               => absint( $subscription->get_id() ),
107
-			'{subscription_recurring_amount}' => sanitize_text_field( wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ) ),
108
-			'{subscription_initial_amount}'   => sanitize_text_field( wpinv_price( $subscription->get_initial_amount(), $invoice->get_currency() ) ),
109
-			'{subscription_recurring_period}' => getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' ),
110
-			'{subscription_bill_times}'       => $subscription->get_bill_times(),
111
-			'{subscription_url}'              => esc_url( $subscription->get_view_url() ),
112
-		);
113
-
114
-	}
115
-
116
-	/**
117
-	 * Checks if we should send a notification for a subscription.
118
-	 *
119
-	 * @param WPInv_Invoice $invoice
120
-	 * @return bool
121
-	 */
122
-	public function should_send_notification( $invoice ) {
123
-		return 0 != $invoice->get_id();
124
-	}
125
-
126
-	/**
127
-	 * Returns notification recipients.
128
-	 *
129
-	 * @param WPInv_Invoice $invoice
130
-	 * @return array
131
-	 */
132
-	public function get_recipients( $invoice ) {
133
-		$recipients = array( $invoice->get_email() );
134
-
135
-		$cc = $invoice->get_email_cc();
136
-
137
-		if ( ! empty( $cc ) ) {
138
-			$cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
139
-			$recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
140
-		}
141
-
142
-		return $recipients;
143
-	}
144
-
145
-	/**
146
-	 * Helper function to send an email.
147
-	 *
148
-	 * @param WPInv_Subscription $subscription
149
-	 * @param GetPaid_Notification_Email $email
150
-	 * @param string $type
151
-	 * @param array $extra_args Extra template args.
152
-	 */
153
-	public function send_email( $subscription, $email, $type, $extra_args = array() ) {
154
-
155
-		// Abort in case the parent invoice does not exist.
156
-		$invoice = $subscription->get_parent_invoice();
157
-		if ( ! $this->should_send_notification( $invoice ) ) {
158
-			return;
159
-		}
160
-
161
-		if ( apply_filters( 'getpaid_skip_subscription_email', false, $type, $subscription ) ) {
162
-			return;
163
-		}
164
-
165
-		do_action( 'getpaid_before_send_subscription_notification', $type, $subscription, $email );
166
-
167
-		$recipients  = $this->get_recipients( $invoice );
168
-		$mailer      = new GetPaid_Notification_Email_Sender();
169
-		$merge_tags  = $email->get_merge_tags();
170
-		$content     = $email->get_content( $merge_tags, $extra_args );
171
-		$subject     = $email->add_merge_tags( $email->get_subject(), $merge_tags );
172
-		$attachments = $email->get_attachments();
173
-
174
-		$result = $mailer->send(
175
-			apply_filters( 'getpaid_subscription_email_recipients', wpinv_parse_list( $recipients ), $email ),
176
-			$subject,
177
-			$content,
178
-			$attachments
179
-		);
180
-
181
-		// Maybe send a copy to the admin.
182
-		if ( $email->include_admin_bcc() ) {
183
-			$mailer->send(
184
-				wpinv_get_admin_email(),
185
-				$subject . __( ' - ADMIN BCC COPY', 'invoicing' ),
186
-				$content,
187
-				$attachments
188
-			);
189
-		}
190
-
191
-		if ( $result ) {
192
-			$invoice->add_system_note(
193
-				sprintf(
194
-					__( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),
195
-					sanitize_key( $type ),
196
-					$email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
197
-				)
198
-			);
199
-		} else {
200
-			$invoice->add_system_note(
201
-				sprintf(
202
-					__( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),
203
-					sanitize_key( $type ),
204
-					$email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
205
-				)
206
-			);
207
-		}
208
-
209
-		do_action( 'getpaid_after_send_subscription_notification', $type, $subscription, $email );
210
-
211
-	}
44
+     * Registers email hooks.
45
+     */
46
+    public function init_hooks() {
47
+
48
+        add_filter( 'getpaid_get_email_merge_tags', array( $this, 'subscription_merge_tags' ), 10, 2 );
49
+        foreach ( $this->subscription_actions as $hook => $email_type ) {
50
+
51
+            $email = new GetPaid_Notification_Email( $email_type );
52
+
53
+            if ( ! $email->is_active() ) {
54
+                continue;
55
+            }
56
+
57
+            if ( method_exists( $this, $email_type ) ) {
58
+                add_action( $hook, array( $this, $email_type ), 100, 2 );
59
+                continue;
60
+            }
61
+
62
+            do_action( 'getpaid_subscription_notification_email_register_hook', $email_type, $hook );
63
+
64
+        }
65
+
66
+    }
212 67
 
213 68
     /**
214
-	 * Sends a new trial notification.
215
-	 *
216
-	 * @param WPInv_Subscription $subscription
217
-	 */
218
-	public function subscription_trial( $subscription ) {
69
+     * Filters subscription merge tags.
70
+     *
71
+     * @param array $merge_tags
72
+     * @param mixed|WPInv_Invoice|WPInv_Subscription $object
73
+     */
74
+    public function subscription_merge_tags( $merge_tags, $object ) {
219 75
 
220
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
221
-		$this->send_email( $subscription, $email, __FUNCTION__ );
76
+        if ( is_a( $object, 'WPInv_Subscription' ) ) {
77
+            $merge_tags = array_merge(
78
+                $merge_tags,
79
+                $this->get_subscription_merge_tags( $object )
80
+            );
81
+        }
222 82
 
223
-	}
83
+        return $merge_tags;
224 84
 
225
-	/**
226
-	 * Sends a cancelled subscription notification.
227
-	 *
228
-	 * @param WPInv_Subscription $subscription
229
-	 */
230
-	public function subscription_cancelled( $subscription ) {
85
+    }
231 86
 
232
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
233
-		$this->send_email( $subscription, $email, __FUNCTION__ );
87
+    /**
88
+     * Generates subscription merge tags.
89
+     *
90
+     * @param WPInv_Subscription $subscription
91
+     * @return array
92
+     */
93
+    public function get_subscription_merge_tags( $subscription ) {
94
+
95
+        // Abort if it does not exist.
96
+        if ( ! $subscription->get_id() ) {
97
+            return array();
98
+        }
99
+
100
+        $invoice    = $subscription->get_parent_invoice();
101
+        return array(
102
+            '{subscription_renewal_date}'     => getpaid_format_date_value( $subscription->get_next_renewal_date(), __( 'Never', 'invoicing' ) ),
103
+            '{subscription_created}'          => getpaid_format_date_value( $subscription->get_date_created() ),
104
+            '{subscription_status}'           => sanitize_text_field( $subscription->get_status_label() ),
105
+            '{subscription_profile_id}'       => sanitize_text_field( $subscription->get_profile_id() ),
106
+            '{subscription_id}'               => absint( $subscription->get_id() ),
107
+            '{subscription_recurring_amount}' => sanitize_text_field( wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ) ),
108
+            '{subscription_initial_amount}'   => sanitize_text_field( wpinv_price( $subscription->get_initial_amount(), $invoice->get_currency() ) ),
109
+            '{subscription_recurring_period}' => getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' ),
110
+            '{subscription_bill_times}'       => $subscription->get_bill_times(),
111
+            '{subscription_url}'              => esc_url( $subscription->get_view_url() ),
112
+        );
234 113
 
235
-	}
114
+    }
236 115
 
237
-	/**
238
-	 * Sends a subscription expired notification.
239
-	 *
240
-	 * @param WPInv_Subscription $subscription
241
-	 */
242
-	public function subscription_expired( $subscription ) {
116
+    /**
117
+     * Checks if we should send a notification for a subscription.
118
+     *
119
+     * @param WPInv_Invoice $invoice
120
+     * @return bool
121
+     */
122
+    public function should_send_notification( $invoice ) {
123
+        return 0 != $invoice->get_id();
124
+    }
243 125
 
244
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
245
-		$this->send_email( $subscription, $email, __FUNCTION__ );
126
+    /**
127
+     * Returns notification recipients.
128
+     *
129
+     * @param WPInv_Invoice $invoice
130
+     * @return array
131
+     */
132
+    public function get_recipients( $invoice ) {
133
+        $recipients = array( $invoice->get_email() );
246 134
 
247
-	}
135
+        $cc = $invoice->get_email_cc();
248 136
 
249
-	/**
250
-	 * Sends a completed subscription notification.
251
-	 *
252
-	 * @param WPInv_Subscription $subscription
253
-	 */
254
-	public function subscription_complete( $subscription ) {
137
+        if ( ! empty( $cc ) ) {
138
+            $cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
139
+            $recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
140
+        }
255 141
 
256
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
257
-		$this->send_email( $subscription, $email, __FUNCTION__ );
142
+        return $recipients;
143
+    }
258 144
 
259
-	}
145
+    /**
146
+     * Helper function to send an email.
147
+     *
148
+     * @param WPInv_Subscription $subscription
149
+     * @param GetPaid_Notification_Email $email
150
+     * @param string $type
151
+     * @param array $extra_args Extra template args.
152
+     */
153
+    public function send_email( $subscription, $email, $type, $extra_args = array() ) {
154
+
155
+        // Abort in case the parent invoice does not exist.
156
+        $invoice = $subscription->get_parent_invoice();
157
+        if ( ! $this->should_send_notification( $invoice ) ) {
158
+            return;
159
+        }
160
+
161
+        if ( apply_filters( 'getpaid_skip_subscription_email', false, $type, $subscription ) ) {
162
+            return;
163
+        }
164
+
165
+        do_action( 'getpaid_before_send_subscription_notification', $type, $subscription, $email );
166
+
167
+        $recipients  = $this->get_recipients( $invoice );
168
+        $mailer      = new GetPaid_Notification_Email_Sender();
169
+        $merge_tags  = $email->get_merge_tags();
170
+        $content     = $email->get_content( $merge_tags, $extra_args );
171
+        $subject     = $email->add_merge_tags( $email->get_subject(), $merge_tags );
172
+        $attachments = $email->get_attachments();
173
+
174
+        $result = $mailer->send(
175
+            apply_filters( 'getpaid_subscription_email_recipients', wpinv_parse_list( $recipients ), $email ),
176
+            $subject,
177
+            $content,
178
+            $attachments
179
+        );
180
+
181
+        // Maybe send a copy to the admin.
182
+        if ( $email->include_admin_bcc() ) {
183
+            $mailer->send(
184
+                wpinv_get_admin_email(),
185
+                $subject . __( ' - ADMIN BCC COPY', 'invoicing' ),
186
+                $content,
187
+                $attachments
188
+            );
189
+        }
190
+
191
+        if ( $result ) {
192
+            $invoice->add_system_note(
193
+                sprintf(
194
+                    __( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),
195
+                    sanitize_key( $type ),
196
+                    $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
197
+                )
198
+            );
199
+        } else {
200
+            $invoice->add_system_note(
201
+                sprintf(
202
+                    __( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),
203
+                    sanitize_key( $type ),
204
+                    $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
205
+                )
206
+            );
207
+        }
208
+
209
+        do_action( 'getpaid_after_send_subscription_notification', $type, $subscription, $email );
260 210
 
261
-	/**
262
-	 * Sends a subscription renewal reminder notification.
263
-	 *
264
-	 */
265
-	public function renewal_reminder() {
211
+    }
266 212
 
267
-		$email = new GetPaid_Notification_Email( __FUNCTION__ );
213
+    /**
214
+     * Sends a new trial notification.
215
+     *
216
+     * @param WPInv_Subscription $subscription
217
+     */
218
+    public function subscription_trial( $subscription ) {
268 219
 
269
-		// Fetch reminder days.
270
-		$reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
220
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
221
+        $this->send_email( $subscription, $email, __FUNCTION__ );
271 222
 
272
-		// Abort if non is set.
273
-		if ( empty( $reminder_days ) ) {
274
-			return;
275
-		}
223
+    }
276 224
 
277
-		// Fetch matching subscriptions.
225
+    /**
226
+     * Sends a cancelled subscription notification.
227
+     *
228
+     * @param WPInv_Subscription $subscription
229
+     */
230
+    public function subscription_cancelled( $subscription ) {
231
+
232
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
233
+        $this->send_email( $subscription, $email, __FUNCTION__ );
234
+
235
+    }
236
+
237
+    /**
238
+     * Sends a subscription expired notification.
239
+     *
240
+     * @param WPInv_Subscription $subscription
241
+     */
242
+    public function subscription_expired( $subscription ) {
243
+
244
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
245
+        $this->send_email( $subscription, $email, __FUNCTION__ );
246
+
247
+    }
248
+
249
+    /**
250
+     * Sends a completed subscription notification.
251
+     *
252
+     * @param WPInv_Subscription $subscription
253
+     */
254
+    public function subscription_complete( $subscription ) {
255
+
256
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
257
+        $this->send_email( $subscription, $email, __FUNCTION__ );
258
+
259
+    }
260
+
261
+    /**
262
+     * Sends a subscription renewal reminder notification.
263
+     *
264
+     */
265
+    public function renewal_reminder() {
266
+
267
+        $email = new GetPaid_Notification_Email( __FUNCTION__ );
268
+
269
+        // Fetch reminder days.
270
+        $reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
271
+
272
+        // Abort if non is set.
273
+        if ( empty( $reminder_days ) ) {
274
+            return;
275
+        }
276
+
277
+        // Fetch matching subscriptions.
278 278
         $args  = array(
279 279
             'number'             => -1,
280
-			'count_total'        => false,
281
-			'status'             => 'trialling active',
280
+            'count_total'        => false,
281
+            'status'             => 'trialling active',
282 282
             'date_expires_query' => array(
283
-				'relation' => 'OR',
283
+                'relation' => 'OR',
284 284
             ),
285
-		);
285
+        );
286 286
 
287
-		foreach ( $reminder_days as $days ) {
288
-			$date = date_parse( date( 'Y-m-d', strtotime( "+$days days", current_time( 'timestamp' ) ) ) );
287
+        foreach ( $reminder_days as $days ) {
288
+            $date = date_parse( date( 'Y-m-d', strtotime( "+$days days", current_time( 'timestamp' ) ) ) );
289 289
 
290
-			$args['date_expires_query'][] = array(
291
-				'year'  => $date['year'],
292
-				'month' => $date['month'],
293
-				'day'   => $date['day'],
294
-			);
290
+            $args['date_expires_query'][] = array(
291
+                'year'  => $date['year'],
292
+                'month' => $date['month'],
293
+                'day'   => $date['day'],
294
+            );
295 295
 
296
-		}
296
+        }
297 297
 
298
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
298
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
299 299
 
300 300
         foreach ( $subscriptions as $subscription ) {
301 301
 
302
-			// Skip packages.
303
-			if ( apply_filters( 'getpaid_send_subscription_renewal_reminder_email', true ) ) {
304
-				$email->object = $subscription;
305
-            	$this->send_email( $subscription, $email, __FUNCTION__ );
306
-			}
302
+            // Skip packages.
303
+            if ( apply_filters( 'getpaid_send_subscription_renewal_reminder_email', true ) ) {
304
+                $email->object = $subscription;
305
+                $this->send_email( $subscription, $email, __FUNCTION__ );
306
+            }
307 307
 }
308 308
 
309
-	}
309
+    }
310 310
 
311 311
 }
Please login to merge, or discard this patch.
Spacing   +69 added lines, -69 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
  * This class handles subscription notificaiton emails.
@@ -45,21 +45,21 @@  discard block
 block discarded – undo
45 45
 	 */
46 46
 	public function init_hooks() {
47 47
 
48
-		add_filter( 'getpaid_get_email_merge_tags', array( $this, 'subscription_merge_tags' ), 10, 2 );
49
-		foreach ( $this->subscription_actions as $hook => $email_type ) {
48
+		add_filter('getpaid_get_email_merge_tags', array($this, 'subscription_merge_tags'), 10, 2);
49
+		foreach ($this->subscription_actions as $hook => $email_type) {
50 50
 
51
-			$email = new GetPaid_Notification_Email( $email_type );
51
+			$email = new GetPaid_Notification_Email($email_type);
52 52
 
53
-			if ( ! $email->is_active() ) {
53
+			if (!$email->is_active()) {
54 54
 				continue;
55 55
 			}
56 56
 
57
-			if ( method_exists( $this, $email_type ) ) {
58
-				add_action( $hook, array( $this, $email_type ), 100, 2 );
57
+			if (method_exists($this, $email_type)) {
58
+				add_action($hook, array($this, $email_type), 100, 2);
59 59
 				continue;
60 60
 			}
61 61
 
62
-			do_action( 'getpaid_subscription_notification_email_register_hook', $email_type, $hook );
62
+			do_action('getpaid_subscription_notification_email_register_hook', $email_type, $hook);
63 63
 
64 64
 		}
65 65
 
@@ -71,12 +71,12 @@  discard block
 block discarded – undo
71 71
 	 * @param array $merge_tags
72 72
 	 * @param mixed|WPInv_Invoice|WPInv_Subscription $object
73 73
 	 */
74
-	public function subscription_merge_tags( $merge_tags, $object ) {
74
+	public function subscription_merge_tags($merge_tags, $object) {
75 75
 
76
-		if ( is_a( $object, 'WPInv_Subscription' ) ) {
76
+		if (is_a($object, 'WPInv_Subscription')) {
77 77
 			$merge_tags = array_merge(
78 78
 				$merge_tags,
79
-				$this->get_subscription_merge_tags( $object )
79
+				$this->get_subscription_merge_tags($object)
80 80
 			);
81 81
 		}
82 82
 
@@ -90,25 +90,25 @@  discard block
 block discarded – undo
90 90
 	 * @param WPInv_Subscription $subscription
91 91
 	 * @return array
92 92
 	 */
93
-	public function get_subscription_merge_tags( $subscription ) {
93
+	public function get_subscription_merge_tags($subscription) {
94 94
 
95 95
 		// Abort if it does not exist.
96
-		if ( ! $subscription->get_id() ) {
96
+		if (!$subscription->get_id()) {
97 97
 			return array();
98 98
 		}
99 99
 
100
-		$invoice    = $subscription->get_parent_invoice();
100
+		$invoice = $subscription->get_parent_invoice();
101 101
 		return array(
102
-			'{subscription_renewal_date}'     => getpaid_format_date_value( $subscription->get_next_renewal_date(), __( 'Never', 'invoicing' ) ),
103
-			'{subscription_created}'          => getpaid_format_date_value( $subscription->get_date_created() ),
104
-			'{subscription_status}'           => sanitize_text_field( $subscription->get_status_label() ),
105
-			'{subscription_profile_id}'       => sanitize_text_field( $subscription->get_profile_id() ),
106
-			'{subscription_id}'               => absint( $subscription->get_id() ),
107
-			'{subscription_recurring_amount}' => sanitize_text_field( wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ) ),
108
-			'{subscription_initial_amount}'   => sanitize_text_field( wpinv_price( $subscription->get_initial_amount(), $invoice->get_currency() ) ),
109
-			'{subscription_recurring_period}' => getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' ),
102
+			'{subscription_renewal_date}'     => getpaid_format_date_value($subscription->get_next_renewal_date(), __('Never', 'invoicing')),
103
+			'{subscription_created}'          => getpaid_format_date_value($subscription->get_date_created()),
104
+			'{subscription_status}'           => sanitize_text_field($subscription->get_status_label()),
105
+			'{subscription_profile_id}'       => sanitize_text_field($subscription->get_profile_id()),
106
+			'{subscription_id}'               => absint($subscription->get_id()),
107
+			'{subscription_recurring_amount}' => sanitize_text_field(wpinv_price($subscription->get_recurring_amount(), $invoice->get_currency())),
108
+			'{subscription_initial_amount}'   => sanitize_text_field(wpinv_price($subscription->get_initial_amount(), $invoice->get_currency())),
109
+			'{subscription_recurring_period}' => getpaid_get_subscription_period_label($subscription->get_period(), $subscription->get_frequency(), ''),
110 110
 			'{subscription_bill_times}'       => $subscription->get_bill_times(),
111
-			'{subscription_url}'              => esc_url( $subscription->get_view_url() ),
111
+			'{subscription_url}'              => esc_url($subscription->get_view_url()),
112 112
 		);
113 113
 
114 114
 	}
@@ -119,7 +119,7 @@  discard block
 block discarded – undo
119 119
 	 * @param WPInv_Invoice $invoice
120 120
 	 * @return bool
121 121
 	 */
122
-	public function should_send_notification( $invoice ) {
122
+	public function should_send_notification($invoice) {
123 123
 		return 0 != $invoice->get_id();
124 124
 	}
125 125
 
@@ -129,14 +129,14 @@  discard block
 block discarded – undo
129 129
 	 * @param WPInv_Invoice $invoice
130 130
 	 * @return array
131 131
 	 */
132
-	public function get_recipients( $invoice ) {
133
-		$recipients = array( $invoice->get_email() );
132
+	public function get_recipients($invoice) {
133
+		$recipients = array($invoice->get_email());
134 134
 
135 135
 		$cc = $invoice->get_email_cc();
136 136
 
137
-		if ( ! empty( $cc ) ) {
138
-			$cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
139
-			$recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
137
+		if (!empty($cc)) {
138
+			$cc = array_map('sanitize_email', wpinv_parse_list($cc));
139
+			$recipients = array_filter(array_unique(array_merge($recipients, $cc)));
140 140
 		}
141 141
 
142 142
 		return $recipients;
@@ -150,63 +150,63 @@  discard block
 block discarded – undo
150 150
 	 * @param string $type
151 151
 	 * @param array $extra_args Extra template args.
152 152
 	 */
153
-	public function send_email( $subscription, $email, $type, $extra_args = array() ) {
153
+	public function send_email($subscription, $email, $type, $extra_args = array()) {
154 154
 
155 155
 		// Abort in case the parent invoice does not exist.
156 156
 		$invoice = $subscription->get_parent_invoice();
157
-		if ( ! $this->should_send_notification( $invoice ) ) {
157
+		if (!$this->should_send_notification($invoice)) {
158 158
 			return;
159 159
 		}
160 160
 
161
-		if ( apply_filters( 'getpaid_skip_subscription_email', false, $type, $subscription ) ) {
161
+		if (apply_filters('getpaid_skip_subscription_email', false, $type, $subscription)) {
162 162
 			return;
163 163
 		}
164 164
 
165
-		do_action( 'getpaid_before_send_subscription_notification', $type, $subscription, $email );
165
+		do_action('getpaid_before_send_subscription_notification', $type, $subscription, $email);
166 166
 
167
-		$recipients  = $this->get_recipients( $invoice );
167
+		$recipients  = $this->get_recipients($invoice);
168 168
 		$mailer      = new GetPaid_Notification_Email_Sender();
169 169
 		$merge_tags  = $email->get_merge_tags();
170
-		$content     = $email->get_content( $merge_tags, $extra_args );
171
-		$subject     = $email->add_merge_tags( $email->get_subject(), $merge_tags );
170
+		$content     = $email->get_content($merge_tags, $extra_args);
171
+		$subject     = $email->add_merge_tags($email->get_subject(), $merge_tags);
172 172
 		$attachments = $email->get_attachments();
173 173
 
174 174
 		$result = $mailer->send(
175
-			apply_filters( 'getpaid_subscription_email_recipients', wpinv_parse_list( $recipients ), $email ),
175
+			apply_filters('getpaid_subscription_email_recipients', wpinv_parse_list($recipients), $email),
176 176
 			$subject,
177 177
 			$content,
178 178
 			$attachments
179 179
 		);
180 180
 
181 181
 		// Maybe send a copy to the admin.
182
-		if ( $email->include_admin_bcc() ) {
182
+		if ($email->include_admin_bcc()) {
183 183
 			$mailer->send(
184 184
 				wpinv_get_admin_email(),
185
-				$subject . __( ' - ADMIN BCC COPY', 'invoicing' ),
185
+				$subject . __(' - ADMIN BCC COPY', 'invoicing'),
186 186
 				$content,
187 187
 				$attachments
188 188
 			);
189 189
 		}
190 190
 
191
-		if ( $result ) {
191
+		if ($result) {
192 192
 			$invoice->add_system_note(
193 193
 				sprintf(
194
-					__( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),
195
-					sanitize_key( $type ),
196
-					$email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
194
+					__('Successfully sent %1$s notification email to %2$s.', 'invoicing'),
195
+					sanitize_key($type),
196
+					$email->is_admin_email() ? __('admin') : __('the customer')
197 197
 				)
198 198
 			);
199 199
 		} else {
200 200
 			$invoice->add_system_note(
201 201
 				sprintf(
202
-					__( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),
203
-					sanitize_key( $type ),
204
-					$email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
202
+					__('Failed sending %1$s notification email to %2$s.', 'invoicing'),
203
+					sanitize_key($type),
204
+					$email->is_admin_email() ? __('admin') : __('the customer')
205 205
 				)
206 206
 			);
207 207
 		}
208 208
 
209
-		do_action( 'getpaid_after_send_subscription_notification', $type, $subscription, $email );
209
+		do_action('getpaid_after_send_subscription_notification', $type, $subscription, $email);
210 210
 
211 211
 	}
212 212
 
@@ -215,10 +215,10 @@  discard block
 block discarded – undo
215 215
 	 *
216 216
 	 * @param WPInv_Subscription $subscription
217 217
 	 */
218
-	public function subscription_trial( $subscription ) {
218
+	public function subscription_trial($subscription) {
219 219
 
220
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
221
-		$this->send_email( $subscription, $email, __FUNCTION__ );
220
+		$email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);
221
+		$this->send_email($subscription, $email, __FUNCTION__);
222 222
 
223 223
 	}
224 224
 
@@ -227,10 +227,10 @@  discard block
 block discarded – undo
227 227
 	 *
228 228
 	 * @param WPInv_Subscription $subscription
229 229
 	 */
230
-	public function subscription_cancelled( $subscription ) {
230
+	public function subscription_cancelled($subscription) {
231 231
 
232
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
233
-		$this->send_email( $subscription, $email, __FUNCTION__ );
232
+		$email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);
233
+		$this->send_email($subscription, $email, __FUNCTION__);
234 234
 
235 235
 	}
236 236
 
@@ -239,10 +239,10 @@  discard block
 block discarded – undo
239 239
 	 *
240 240
 	 * @param WPInv_Subscription $subscription
241 241
 	 */
242
-	public function subscription_expired( $subscription ) {
242
+	public function subscription_expired($subscription) {
243 243
 
244
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
245
-		$this->send_email( $subscription, $email, __FUNCTION__ );
244
+		$email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);
245
+		$this->send_email($subscription, $email, __FUNCTION__);
246 246
 
247 247
 	}
248 248
 
@@ -251,10 +251,10 @@  discard block
 block discarded – undo
251 251
 	 *
252 252
 	 * @param WPInv_Subscription $subscription
253 253
 	 */
254
-	public function subscription_complete( $subscription ) {
254
+	public function subscription_complete($subscription) {
255 255
 
256
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
257
-		$this->send_email( $subscription, $email, __FUNCTION__ );
256
+		$email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);
257
+		$this->send_email($subscription, $email, __FUNCTION__);
258 258
 
259 259
 	}
260 260
 
@@ -264,18 +264,18 @@  discard block
 block discarded – undo
264 264
 	 */
265 265
 	public function renewal_reminder() {
266 266
 
267
-		$email = new GetPaid_Notification_Email( __FUNCTION__ );
267
+		$email = new GetPaid_Notification_Email(__FUNCTION__);
268 268
 
269 269
 		// Fetch reminder days.
270
-		$reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
270
+		$reminder_days = array_unique(wp_parse_id_list($email->get_option('days')));
271 271
 
272 272
 		// Abort if non is set.
273
-		if ( empty( $reminder_days ) ) {
273
+		if (empty($reminder_days)) {
274 274
 			return;
275 275
 		}
276 276
 
277 277
 		// Fetch matching subscriptions.
278
-        $args  = array(
278
+        $args = array(
279 279
             'number'             => -1,
280 280
 			'count_total'        => false,
281 281
 			'status'             => 'trialling active',
@@ -284,8 +284,8 @@  discard block
 block discarded – undo
284 284
             ),
285 285
 		);
286 286
 
287
-		foreach ( $reminder_days as $days ) {
288
-			$date = date_parse( date( 'Y-m-d', strtotime( "+$days days", current_time( 'timestamp' ) ) ) );
287
+		foreach ($reminder_days as $days) {
288
+			$date = date_parse(date('Y-m-d', strtotime("+$days days", current_time('timestamp'))));
289 289
 
290 290
 			$args['date_expires_query'][] = array(
291 291
 				'year'  => $date['year'],
@@ -295,14 +295,14 @@  discard block
 block discarded – undo
295 295
 
296 296
 		}
297 297
 
298
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
298
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
299 299
 
300
-        foreach ( $subscriptions as $subscription ) {
300
+        foreach ($subscriptions as $subscription) {
301 301
 
302 302
 			// Skip packages.
303
-			if ( apply_filters( 'getpaid_send_subscription_renewal_reminder_email', true ) ) {
303
+			if (apply_filters('getpaid_send_subscription_renewal_reminder_email', true)) {
304 304
 				$email->object = $subscription;
305
-            	$this->send_email( $subscription, $email, __FUNCTION__ );
305
+            	$this->send_email($subscription, $email, __FUNCTION__);
306 306
 			}
307 307
 }
308 308
 
Please login to merge, or discard this patch.
includes/wpinv-item-functions.php 2 patches
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -57,16 +57,16 @@  discard block
 block discarded – undo
57 57
     $args = wp_parse_args(
58 58
         $args,
59 59
         array(
60
-			'status'     => array( 'publish' ),
61
-			'limit'      => get_option( 'posts_per_page' ),
62
-			'page'       => 1,
63
-			'exclude'    => array(),
64
-			'orderby'    => 'date',
65
-			'order'      => 'DESC',
66
-			'type'       => wpinv_item_types(),
67
-			'meta_query' => array(),
68
-			'return'     => 'objects',
69
-			'paginate'   => false,
60
+            'status'     => array( 'publish' ),
61
+            'limit'      => get_option( 'posts_per_page' ),
62
+            'page'       => 1,
63
+            'exclude'    => array(),
64
+            'orderby'    => 'date',
65
+            'order'      => 'DESC',
66
+            'type'       => wpinv_item_types(),
67
+            'meta_query' => array(),
68
+            'return'     => 'objects',
69
+            'paginate'   => false,
70 70
         )
71 71
     );
72 72
 
@@ -206,9 +206,9 @@  discard block
 block discarded – undo
206 206
 
207 207
 function wpinv_get_item_types() {
208 208
     $item_types = array(
209
-		'custom' => __( 'Standard', 'invoicing' ),
210
-		'fee'    => __( 'Fee', 'invoicing' ),
211
-	);
209
+        'custom' => __( 'Standard', 'invoicing' ),
210
+        'fee'    => __( 'Fee', 'invoicing' ),
211
+    );
212 212
     return apply_filters( 'wpinv_get_item_types', $item_types );
213 213
 }
214 214
 
@@ -249,17 +249,17 @@  discard block
 block discarded – undo
249 249
 function wpinv_get_random_items( $num = 3, $post_ids = true ) {
250 250
     if ( $post_ids ) {
251 251
         $args = array(
252
-			'post_type'  => 'wpi_item',
253
-			'orderby'    => 'rand',
254
-			'post_count' => $num,
255
-			'fields'     => 'ids',
256
-		);
252
+            'post_type'  => 'wpi_item',
253
+            'orderby'    => 'rand',
254
+            'post_count' => $num,
255
+            'fields'     => 'ids',
256
+        );
257 257
     } else {
258 258
         $args = array(
259
-			'post_type'  => 'wpi_item',
260
-			'orderby'    => 'rand',
261
-			'post_count' => $num,
262
-		);
259
+            'post_type'  => 'wpi_item',
260
+            'orderby'    => 'rand',
261
+            'post_count' => $num,
262
+        );
263 263
     }
264 264
 
265 265
     $args  = apply_filters( 'wpinv_get_random_items', $args );
@@ -426,9 +426,9 @@  discard block
 block discarded – undo
426 426
     $bill_times      = $item->get_recurring_limit();
427 427
 
428 428
     if ( ! empty( $bill_times ) ) {
429
-		$bill_times = $item->get_recurring_interval() * $bill_times;
430
-		$bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times );
431
-	}
429
+        $bill_times = $item->get_recurring_interval() * $bill_times;
430
+        $bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times );
431
+    }
432 432
 
433 433
     if ( $item instanceof GetPaid_Form_Item && false === $_initial_price ) {
434 434
         $initial_price   = wpinv_price( $item->get_sub_total(), $currency );
Please login to merge, or discard this patch.
Spacing   +130 added lines, -130 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Retrieves an item by it's ID.
@@ -14,9 +14,9 @@  discard block
 block discarded – undo
14 14
  * @param int the item ID to retrieve.
15 15
  * @return WPInv_Item|false
16 16
  */
17
-function wpinv_get_item_by_id( $id ) {
18
-    $item = wpinv_get_item( $id );
19
-    return empty( $item ) || $id != $item->get_id() ? false : $item;
17
+function wpinv_get_item_by_id($id) {
18
+    $item = wpinv_get_item($id);
19
+    return empty($item) || $id != $item->get_id() ? false : $item;
20 20
 }
21 21
 
22 22
 /**
@@ -24,14 +24,14 @@  discard block
 block discarded – undo
24 24
  *
25 25
  * @return WPInv_Item|false
26 26
  */
27
-function wpinv_get_item_by( $field = '', $value = '', $type = '' ) {
27
+function wpinv_get_item_by($field = '', $value = '', $type = '') {
28 28
 
29
-    if ( 'id' == strtolower( $field ) ) {
30
-        return wpinv_get_item_by_id( $field );
29
+    if ('id' == strtolower($field)) {
30
+        return wpinv_get_item_by_id($field);
31 31
     }
32 32
 
33
-    $id = WPInv_Item::get_item_id_by_field( $value, strtolower( $field ), $type );
34
-    return empty( $id ) ? false : wpinv_get_item( $id );
33
+    $id = WPInv_Item::get_item_id_by_field($value, strtolower($field), $type);
34
+    return empty($id) ? false : wpinv_get_item($id);
35 35
 
36 36
 }
37 37
 
@@ -41,24 +41,24 @@  discard block
 block discarded – undo
41 41
  * @param int|WPInv_Item the item to retrieve.
42 42
  * @return WPInv_Item|false
43 43
  */
44
-function wpinv_get_item( $item = 0 ) {
44
+function wpinv_get_item($item = 0) {
45 45
 
46
-    if ( empty( $item ) ) {
46
+    if (empty($item)) {
47 47
         return false;
48 48
     }
49 49
 
50
-    $item = new WPInv_Item( $item );
50
+    $item = new WPInv_Item($item);
51 51
     return $item->exists() ? $item : false;
52 52
 
53 53
 }
54 54
 
55
-function wpinv_get_all_items( $args = array() ) {
55
+function wpinv_get_all_items($args = array()) {
56 56
 
57 57
     $args = wp_parse_args(
58 58
         $args,
59 59
         array(
60
-			'status'     => array( 'publish' ),
61
-			'limit'      => get_option( 'posts_per_page' ),
60
+			'status'     => array('publish'),
61
+			'limit'      => get_option('posts_per_page'),
62 62
 			'page'       => 1,
63 63
 			'exclude'    => array(),
64 64
 			'orderby'    => 'date',
@@ -78,44 +78,44 @@  discard block
 block discarded – undo
78 78
         'fields'         => 'ids',
79 79
         'orderby'        => $args['orderby'],
80 80
         'order'          => $args['order'],
81
-        'paged'          => absint( $args['page'] ),
81
+        'paged'          => absint($args['page']),
82 82
     );
83 83
 
84
-    if ( ! empty( $args['exclude'] ) ) {
85
-        $wp_query_args['post__not_in'] = array_map( 'absint', $args['exclude'] );
84
+    if (!empty($args['exclude'])) {
85
+        $wp_query_args['post__not_in'] = array_map('absint', $args['exclude']);
86 86
     }
87 87
 
88
-    if ( ! $args['paginate'] ) {
88
+    if (!$args['paginate']) {
89 89
         $wp_query_args['no_found_rows'] = true;
90 90
     }
91 91
 
92
-    if ( ! empty( $args['search'] ) ) {
92
+    if (!empty($args['search'])) {
93 93
         $wp_query_args['s'] = $args['search'];
94 94
     }
95 95
 
96
-    if ( ! empty( $args['type'] ) && $args['type'] !== wpinv_item_types() ) {
97
-        $types = wpinv_parse_list( $args['type'] );
96
+    if (!empty($args['type']) && $args['type'] !== wpinv_item_types()) {
97
+        $types = wpinv_parse_list($args['type']);
98 98
         $wp_query_args['meta_query'][] = array(
99 99
             'key'     => '_wpinv_type',
100
-            'value'   => implode( ',', $types ),
100
+            'value'   => implode(',', $types),
101 101
             'compare' => 'IN',
102 102
         );
103 103
     }
104 104
 
105
-    $wp_query_args = apply_filters( 'wpinv_get_items_args', $wp_query_args, $args );
105
+    $wp_query_args = apply_filters('wpinv_get_items_args', $wp_query_args, $args);
106 106
 
107 107
     // Get results.
108
-    $items = new WP_Query( $wp_query_args );
108
+    $items = new WP_Query($wp_query_args);
109 109
 
110
-    if ( 'objects' === $args['return'] ) {
111
-        $return = array_map( 'wpinv_get_item_by_id', $items->posts );
112
-    } elseif ( 'self' === $args['return'] ) {
110
+    if ('objects' === $args['return']) {
111
+        $return = array_map('wpinv_get_item_by_id', $items->posts);
112
+    } elseif ('self' === $args['return']) {
113 113
         return $items;
114 114
     } else {
115 115
         $return = $items->posts;
116 116
     }
117 117
 
118
-    if ( $args['paginate'] ) {
118
+    if ($args['paginate']) {
119 119
         return (object) array(
120 120
             'items'         => $return,
121 121
             'total'         => $items->found_posts,
@@ -127,12 +127,12 @@  discard block
 block discarded – undo
127 127
 
128 128
 }
129 129
 
130
-function wpinv_is_free_item( $item_id = 0 ) {
131
-    if ( empty( $item_id ) ) {
130
+function wpinv_is_free_item($item_id = 0) {
131
+    if (empty($item_id)) {
132 132
         return false;
133 133
     }
134 134
 
135
-    $item = new WPInv_Item( $item_id );
135
+    $item = new WPInv_Item($item_id);
136 136
 
137 137
     return $item->is_free();
138 138
 }
@@ -142,21 +142,21 @@  discard block
 block discarded – undo
142 142
  *
143 143
  * @param WP_Post|WPInv_Item|Int $item The item to check for.
144 144
  */
145
-function wpinv_item_is_editable( $item = 0 ) {
145
+function wpinv_item_is_editable($item = 0) {
146 146
 
147 147
     // Fetch the item.
148
-    $item = new WPInv_Item( $item );
148
+    $item = new WPInv_Item($item);
149 149
 
150 150
     // Check if it is editable.
151 151
     return $item->is_editable();
152 152
 }
153 153
 
154
-function wpinv_get_item_price( $item_id = 0 ) {
155
-    if ( empty( $item_id ) ) {
154
+function wpinv_get_item_price($item_id = 0) {
155
+    if (empty($item_id)) {
156 156
         return false;
157 157
     }
158 158
 
159
-    $item = new WPInv_Item( $item_id );
159
+    $item = new WPInv_Item($item_id);
160 160
 
161 161
     return $item->get_price();
162 162
 }
@@ -166,88 +166,88 @@  discard block
 block discarded – undo
166 166
  *
167 167
  * @param WPInv_Item|int $item
168 168
  */
169
-function wpinv_is_recurring_item( $item = 0 ) {
170
-    $item = new WPInv_Item( $item );
169
+function wpinv_is_recurring_item($item = 0) {
170
+    $item = new WPInv_Item($item);
171 171
     return $item->is_recurring();
172 172
 }
173 173
 
174
-function wpinv_item_price( $item_id = 0 ) {
175
-    if ( empty( $item_id ) ) {
174
+function wpinv_item_price($item_id = 0) {
175
+    if (empty($item_id)) {
176 176
         return false;
177 177
     }
178 178
 
179
-    $price = wpinv_get_item_price( $item_id );
180
-    $price = wpinv_price( $price );
179
+    $price = wpinv_get_item_price($item_id);
180
+    $price = wpinv_price($price);
181 181
 
182
-    return apply_filters( 'wpinv_item_price', $price, $item_id );
182
+    return apply_filters('wpinv_item_price', $price, $item_id);
183 183
 }
184 184
 
185
-function wpinv_get_item_final_price( $item_id = 0, $amount_override = null ) {
186
-    if ( is_null( $amount_override ) ) {
187
-        $original_price = get_post_meta( $item_id, '_wpinv_price', true );
185
+function wpinv_get_item_final_price($item_id = 0, $amount_override = null) {
186
+    if (is_null($amount_override)) {
187
+        $original_price = get_post_meta($item_id, '_wpinv_price', true);
188 188
     } else {
189 189
         $original_price = $amount_override;
190 190
     }
191 191
 
192 192
     $price = $original_price;
193 193
 
194
-    return apply_filters( 'wpinv_get_item_final_price', $price, $item_id );
194
+    return apply_filters('wpinv_get_item_final_price', $price, $item_id);
195 195
 }
196 196
 
197
-function wpinv_item_custom_singular_name( $item_id ) {
198
-    if ( empty( $item_id ) ) {
197
+function wpinv_item_custom_singular_name($item_id) {
198
+    if (empty($item_id)) {
199 199
         return false;
200 200
     }
201 201
 
202
-    $item = new WPInv_Item( $item_id );
202
+    $item = new WPInv_Item($item_id);
203 203
 
204 204
     return $item->get_custom_singular_name();
205 205
 }
206 206
 
207 207
 function wpinv_get_item_types() {
208 208
     $item_types = array(
209
-		'custom' => __( 'Standard', 'invoicing' ),
210
-		'fee'    => __( 'Fee', 'invoicing' ),
209
+		'custom' => __('Standard', 'invoicing'),
210
+		'fee'    => __('Fee', 'invoicing'),
211 211
 	);
212
-    return apply_filters( 'wpinv_get_item_types', $item_types );
212
+    return apply_filters('wpinv_get_item_types', $item_types);
213 213
 }
214 214
 
215 215
 function wpinv_item_types() {
216 216
     $item_types = wpinv_get_item_types();
217 217
 
218
-    return ( ! empty( $item_types ) ? array_keys( $item_types ) : array() );
218
+    return (!empty($item_types) ? array_keys($item_types) : array());
219 219
 }
220 220
 
221
-function wpinv_get_item_type( $item_id ) {
222
-    if ( empty( $item_id ) ) {
221
+function wpinv_get_item_type($item_id) {
222
+    if (empty($item_id)) {
223 223
         return false;
224 224
     }
225 225
 
226
-    $item = new WPInv_Item( $item_id );
226
+    $item = new WPInv_Item($item_id);
227 227
 
228 228
     return $item->get_type();
229 229
 }
230 230
 
231
-function wpinv_item_type( $item_id ) {
231
+function wpinv_item_type($item_id) {
232 232
     $item_types = wpinv_get_item_types();
233 233
 
234
-    $item_type = wpinv_get_item_type( $item_id );
234
+    $item_type = wpinv_get_item_type($item_id);
235 235
 
236
-    if ( empty( $item_type ) ) {
236
+    if (empty($item_type)) {
237 237
         $item_type = '-';
238 238
     }
239 239
 
240
-    $item_type = isset( $item_types[ $item_type ] ) ? $item_types[ $item_type ] : __( $item_type, 'invoicing' );
240
+    $item_type = isset($item_types[$item_type]) ? $item_types[$item_type] : __($item_type, 'invoicing');
241 241
 
242
-    return apply_filters( 'wpinv_item_type', $item_type, $item_id );
242
+    return apply_filters('wpinv_item_type', $item_type, $item_id);
243 243
 }
244 244
 
245
-function wpinv_get_random_item( $post_ids = true ) {
246
-    wpinv_get_random_items( 1, $post_ids );
245
+function wpinv_get_random_item($post_ids = true) {
246
+    wpinv_get_random_items(1, $post_ids);
247 247
 }
248 248
 
249
-function wpinv_get_random_items( $num = 3, $post_ids = true ) {
250
-    if ( $post_ids ) {
249
+function wpinv_get_random_items($num = 3, $post_ids = true) {
250
+    if ($post_ids) {
251 251
         $args = array(
252 252
 			'post_type'  => 'wpi_item',
253 253
 			'orderby'    => 'rand',
@@ -262,9 +262,9 @@  discard block
 block discarded – undo
262 262
 		);
263 263
     }
264 264
 
265
-    $args  = apply_filters( 'wpinv_get_random_items', $args );
265
+    $args = apply_filters('wpinv_get_random_items', $args);
266 266
 
267
-    return get_posts( $args );
267
+    return get_posts($args);
268 268
 }
269 269
 
270 270
 /**
@@ -273,13 +273,13 @@  discard block
 block discarded – undo
273 273
  * @param WPInv_Item|int $item
274 274
  * @param bool $html
275 275
  */
276
-function wpinv_get_item_suffix( $item, $html = true ) {
276
+function wpinv_get_item_suffix($item, $html = true) {
277 277
 
278
-    $item   = new WPInv_Item( $item );
279
-    $suffix = $item->is_recurring() ? ' ' . __( '(r)', 'invoicing' ) : '';
280
-    $suffix = $html ? $suffix : strip_tags( $suffix );
278
+    $item   = new WPInv_Item($item);
279
+    $suffix = $item->is_recurring() ? ' ' . __('(r)', 'invoicing') : '';
280
+    $suffix = $html ? $suffix : strip_tags($suffix);
281 281
 
282
-    return apply_filters( 'wpinv_get_item_suffix', $suffix, $item, $html );
282
+    return apply_filters('wpinv_get_item_suffix', $suffix, $item, $html);
283 283
 }
284 284
 
285 285
 /**
@@ -288,9 +288,9 @@  discard block
 block discarded – undo
288 288
  * @param WPInv_Item|int $item
289 289
  * @param bool $force_delete
290 290
  */
291
-function wpinv_remove_item( $item = 0, $force_delete = false ) {
292
-    $item = new WPInv_Item( $item );
293
-    $item->delete( $force_delete );
291
+function wpinv_remove_item($item = 0, $force_delete = false) {
292
+    $item = new WPInv_Item($item);
293
+    $item->delete($force_delete);
294 294
 }
295 295
 
296 296
 /**
@@ -329,44 +329,44 @@  discard block
 block discarded – undo
329 329
  * @param bool $wp_error whether or not to return a WP_Error on failure.
330 330
  * @return bool|WP_Error|WPInv_Item
331 331
  */
332
-function wpinv_create_item( $args = array(), $wp_error = false ) {
332
+function wpinv_create_item($args = array(), $wp_error = false) {
333 333
 
334 334
     // Prepare the item.
335
-    if ( ! empty( $args['custom_id'] ) && empty( $args['ID'] ) ) {
336
-        $type = empty( $args['type'] ) ? 'custom' : $args['type'];
337
-        $item = wpinv_get_item_by( 'custom_id', $args['custom_id'], $type );
335
+    if (!empty($args['custom_id']) && empty($args['ID'])) {
336
+        $type = empty($args['type']) ? 'custom' : $args['type'];
337
+        $item = wpinv_get_item_by('custom_id', $args['custom_id'], $type);
338 338
 
339
-        if ( ! empty( $item ) ) {
339
+        if (!empty($item)) {
340 340
             $args['ID'] = $item->get_id();
341 341
         }
342 342
 }
343 343
 
344 344
     // Do we have an item?
345
-    if ( ! empty( $args['ID'] ) ) {
346
-        $item = new WPInv_Item( $args['ID'] );
345
+    if (!empty($args['ID'])) {
346
+        $item = new WPInv_Item($args['ID']);
347 347
     } else {
348 348
         $item = new WPInv_Item();
349 349
     }
350 350
 
351 351
     // Do we have an error?
352
-    if ( ! empty( $item->last_error ) ) {
353
-        return $wp_error ? new WP_Error( 'invalid_item', $item->last_error ) : false;
352
+    if (!empty($item->last_error)) {
353
+        return $wp_error ? new WP_Error('invalid_item', $item->last_error) : false;
354 354
     }
355 355
 
356 356
     // Update item props.
357
-    $item->set_props( $args );
357
+    $item->set_props($args);
358 358
 
359 359
     // Save the item.
360 360
     $item->save();
361 361
 
362 362
     // Do we have an error?
363
-    if ( ! empty( $item->last_error ) ) {
364
-        return $wp_error ? new WP_Error( 'not_saved', $item->last_error ) : false;
363
+    if (!empty($item->last_error)) {
364
+        return $wp_error ? new WP_Error('not_saved', $item->last_error) : false;
365 365
     }
366 366
 
367 367
     // Was the item saved?
368
-    if ( ! $item->get_id() ) {
369
-        return $wp_error ? new WP_Error( 'not_saved', __( 'An error occured while saving the item', 'invoicing' ) ) : false;
368
+    if (!$item->get_id()) {
369
+        return $wp_error ? new WP_Error('not_saved', __('An error occured while saving the item', 'invoicing')) : false;
370 370
     }
371 371
 
372 372
     return $item;
@@ -378,14 +378,14 @@  discard block
 block discarded – undo
378 378
  *
379 379
  * @see wpinv_create_item()
380 380
  */
381
-function wpinv_update_item( $args = array(), $wp_error = false ) {
382
-    return wpinv_create_item( $args, $wp_error );
381
+function wpinv_update_item($args = array(), $wp_error = false) {
382
+    return wpinv_create_item($args, $wp_error);
383 383
 }
384 384
 
385 385
 /**
386 386
  * Sanitizes a recurring period
387 387
  */
388
-function getpaid_sanitize_recurring_period( $period, $full = false ) {
388
+function getpaid_sanitize_recurring_period($period, $full = false) {
389 389
 
390 390
     $periods = array(
391 391
         'D' => 'day',
@@ -394,16 +394,16 @@  discard block
 block discarded – undo
394 394
         'Y' => 'year',
395 395
     );
396 396
 
397
-    if ( ! isset( $periods[ $period ] ) ) {
397
+    if (!isset($periods[$period])) {
398 398
         $period = 'D';
399 399
     }
400 400
 
401
-    return $full ? $periods[ $period ] : $period;
401
+    return $full ? $periods[$period] : $period;
402 402
 
403 403
 }
404 404
 
405
-function wpinv_item_max_buyable_quantity( $item_id ) {
406
-    return apply_filters( 'wpinv_item_max_buyable_quantity', 5, $item_id );
405
+function wpinv_item_max_buyable_quantity($item_id) {
406
+    return apply_filters('wpinv_item_max_buyable_quantity', 5, $item_id);
407 407
 }
408 408
 
409 409
 /**
@@ -411,45 +411,45 @@  discard block
 block discarded – undo
411 411
  *
412 412
  * @param WPInv_Item|GetPaid_Form_Item $item
413 413
  */
414
-function getpaid_item_recurring_price_help_text( $item, $currency = '', $_initial_price = false, $_recurring_price = false ) {
414
+function getpaid_item_recurring_price_help_text($item, $currency = '', $_initial_price = false, $_recurring_price = false) {
415 415
 
416 416
     // Abort if it is not recurring.
417
-    if ( ! $item->is_recurring() ) {
417
+    if (!$item->is_recurring()) {
418 418
         return '';
419 419
     }
420 420
 
421
-    $initial_price   = false === $_initial_price ? wpinv_price( $item->get_initial_price(), $currency ) : $_initial_price;
422
-    $recurring_price = false === $_recurring_price ? wpinv_price( $item->get_recurring_price(), $currency ) : $_recurring_price;
423
-    $period          = getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' );
421
+    $initial_price   = false === $_initial_price ? wpinv_price($item->get_initial_price(), $currency) : $_initial_price;
422
+    $recurring_price = false === $_recurring_price ? wpinv_price($item->get_recurring_price(), $currency) : $_recurring_price;
423
+    $period          = getpaid_get_subscription_period_label($item->get_recurring_period(), $item->get_recurring_interval(), '');
424 424
     $initial_class   = 'getpaid-item-initial-price';
425 425
     $recurring_class = 'getpaid-item-recurring-price';
426 426
     $bill_times      = $item->get_recurring_limit();
427 427
 
428
-    if ( ! empty( $bill_times ) ) {
428
+    if (!empty($bill_times)) {
429 429
 		$bill_times = $item->get_recurring_interval() * $bill_times;
430
-		$bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times );
430
+		$bill_times = getpaid_get_subscription_period_label($item->get_recurring_period(), $bill_times);
431 431
 	}
432 432
 
433
-    if ( $item instanceof GetPaid_Form_Item && false === $_initial_price ) {
434
-        $initial_price   = wpinv_price( $item->get_sub_total(), $currency );
435
-        $recurring_price = wpinv_price( $item->get_recurring_sub_total(), $currency );
433
+    if ($item instanceof GetPaid_Form_Item && false === $_initial_price) {
434
+        $initial_price   = wpinv_price($item->get_sub_total(), $currency);
435
+        $recurring_price = wpinv_price($item->get_recurring_sub_total(), $currency);
436 436
     }
437 437
 
438
-    if ( wpinv_price( 0, $currency ) == $initial_price && wpinv_price( 0, $currency ) == $recurring_price ) {
439
-        return __( 'Free forever', 'invoicing' );
438
+    if (wpinv_price(0, $currency) == $initial_price && wpinv_price(0, $currency) == $recurring_price) {
439
+        return __('Free forever', 'invoicing');
440 440
     }
441 441
 
442 442
     // For free trial items.
443
-    if ( $item->has_free_trial() ) {
444
-        $trial_period = getpaid_get_subscription_period_label( $item->get_trial_period(), $item->get_trial_interval() );
443
+    if ($item->has_free_trial()) {
444
+        $trial_period = getpaid_get_subscription_period_label($item->get_trial_period(), $item->get_trial_interval());
445 445
 
446
-        if ( wpinv_price( 0, $currency ) == $initial_price ) {
446
+        if (wpinv_price(0, $currency) == $initial_price) {
447 447
 
448
-            if ( empty( $bill_times ) ) {
448
+            if (empty($bill_times)) {
449 449
 
450 450
                 return sprintf(
451 451
                     // translators: $1: is the trial period, $2: is the recurring price, $3: is the susbcription period
452
-                    _x( 'Free for %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year)', 'invoicing' ),
452
+                    _x('Free for %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year)', 'invoicing'),
453 453
                     "<span class='getpaid-item-trial-period'>$trial_period</span>",
454 454
                     "<span class='$recurring_class'>$recurring_price</span>",
455 455
                     "<span class='getpaid-item-recurring-period'>$period</span>"
@@ -459,7 +459,7 @@  discard block
 block discarded – undo
459 459
 
460 460
             return sprintf(
461 461
                 // translators: $1: is the trial period, $2: is the recurring price, $3: is the susbcription period, $4: is the bill times
462
-                _x( 'Free for %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year for 4 years)', 'invoicing' ),
462
+                _x('Free for %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year for 4 years)', 'invoicing'),
463 463
                 "<span class='getpaid-item-trial-period'>$trial_period</span>",
464 464
                 "<span class='$recurring_class'>$recurring_price</span>",
465 465
                 "<span class='getpaid-item-recurring-period'>$period</span>",
@@ -468,11 +468,11 @@  discard block
 block discarded – undo
468 468
 
469 469
         }
470 470
 
471
-        if ( empty( $bill_times ) ) {
471
+        if (empty($bill_times)) {
472 472
 
473 473
             return sprintf(
474 474
                 // translators: $1: is the initial price, $2: is the trial period, $3: is the recurring price, $4: is the susbcription period
475
-                _x( '%1$s for %2$s then %3$s / %4$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year)', 'invoicing' ),
475
+                _x('%1$s for %2$s then %3$s / %4$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year)', 'invoicing'),
476 476
                 "<span class='$initial_class'>$initial_price</span>",
477 477
                 "<span class='getpaid-item-trial-period'>$trial_period</span>",
478 478
                 "<span class='$recurring_class'>$recurring_price</span>",
@@ -483,7 +483,7 @@  discard block
 block discarded – undo
483 483
 
484 484
         return sprintf(
485 485
             // translators: $1: is the initial price, $2: is the trial period, $3: is the recurring price, $4: is the susbcription period, $4: is the susbcription bill times
486
-            _x( '%1$s for %2$s then %3$s / %4$s for %5$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year for 5 years)', 'invoicing' ),
486
+            _x('%1$s for %2$s then %3$s / %4$s for %5$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year for 5 years)', 'invoicing'),
487 487
             "<span class='$initial_class'>$initial_price</span>",
488 488
             "<span class='getpaid-item-trial-period'>$trial_period</span>",
489 489
             "<span class='$recurring_class'>$recurring_price</span>",
@@ -493,13 +493,13 @@  discard block
 block discarded – undo
493 493
 
494 494
     }
495 495
 
496
-    if ( $initial_price == $recurring_price ) {
496
+    if ($initial_price == $recurring_price) {
497 497
 
498
-        if ( empty( $bill_times ) ) {
498
+        if (empty($bill_times)) {
499 499
 
500 500
             return sprintf(
501 501
                 // translators: $1: is the recurring price, $2: is the susbcription period
502
-                _x( '%1$s / %2$s', 'Item subscription amount. (e.g.: $120 / year)', 'invoicing' ),
502
+                _x('%1$s / %2$s', 'Item subscription amount. (e.g.: $120 / year)', 'invoicing'),
503 503
                 "<span class='$recurring_class'>$recurring_price</span>",
504 504
                 "<span class='getpaid-item-recurring-period'>$period</span>"
505 505
             );
@@ -508,7 +508,7 @@  discard block
 block discarded – undo
508 508
 
509 509
         return sprintf(
510 510
             // translators: $1: is the recurring price, $2: is the susbcription period, $3: is the susbcription bill times
511
-            _x( '%1$s / %2$s for %3$s', 'Item subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing' ),
511
+            _x('%1$s / %2$s for %3$s', 'Item subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing'),
512 512
             "<span class='$recurring_class'>$recurring_price</span>",
513 513
             "<span class='getpaid-item-recurring-period'>$period</span>",
514 514
             "<span class='getpaid-item-recurring-bill-times'>$bill_times</span>"
@@ -516,13 +516,13 @@  discard block
 block discarded – undo
516 516
 
517 517
     }
518 518
 
519
-    if ( $initial_price == wpinv_price( 0, $currency ) ) {
519
+    if ($initial_price == wpinv_price(0, $currency)) {
520 520
 
521
-        if ( empty( $bill_times ) ) {
521
+        if (empty($bill_times)) {
522 522
 
523 523
             return sprintf(
524 524
                 // translators: $1: is the recurring period, $2: is the recurring price
525
-                _x( 'Free for %1$s then %2$s / %1$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months)', 'invoicing' ),
525
+                _x('Free for %1$s then %2$s / %1$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months)', 'invoicing'),
526 526
                 "<span class='getpaid-item-recurring-period'>$period</span>",
527 527
                 "<span class='$recurring_class'>$recurring_price</span>"
528 528
             );
@@ -531,7 +531,7 @@  discard block
 block discarded – undo
531 531
 
532 532
         return sprintf(
533 533
             // translators: $1: is the recurring period, $2: is the recurring price, $3: is the bill times
534
-            _x( 'Free for %1$s then %2$s / %1$s for %3$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months for 12 months)', 'invoicing' ),
534
+            _x('Free for %1$s then %2$s / %1$s for %3$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months for 12 months)', 'invoicing'),
535 535
             "<span class='getpaid-item-recurring-period'>$period</span>",
536 536
             "<span class='$recurring_class'>$recurring_price</span>",
537 537
             "<span class='getpaid-item-recurring-bill-times'>$bill_times</span>"
@@ -539,11 +539,11 @@  discard block
 block discarded – undo
539 539
 
540 540
     }
541 541
 
542
-    if ( empty( $bill_times ) ) {
542
+    if (empty($bill_times)) {
543 543
 
544 544
         return sprintf(
545 545
             // translators: $1: is the initial price, $2: is the recurring price, $3: is the susbcription period
546
-            _x( 'Initial payment of %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year)', 'invoicing' ),
546
+            _x('Initial payment of %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year)', 'invoicing'),
547 547
             "<span class='$initial_class'>$initial_price</span>",
548 548
             "<span class='$recurring_class'>$recurring_price</span>",
549 549
             "<span class='getpaid-item-recurring-period'>$period</span>"
@@ -553,7 +553,7 @@  discard block
 block discarded – undo
553 553
 
554 554
     return sprintf(
555 555
         // translators: $1: is the initial price, $2: is the recurring price, $3: is the susbcription period, $4: is the susbcription bill times
556
-        _x( 'Initial payment of %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year for 4 years)', 'invoicing' ),
556
+        _x('Initial payment of %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year for 4 years)', 'invoicing'),
557 557
         "<span class='$initial_class'>$initial_price</span>",
558 558
         "<span class='$recurring_class'>$recurring_price</span>",
559 559
         "<span class='getpaid-item-recurring-period'>$period</span>",
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-form-submission.php 2 patches
Indentation   +861 added lines, -861 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 /**
@@ -10,199 +10,199 @@  discard block
 block discarded – undo
10 10
 class GetPaid_Payment_Form_Submission {
11 11
 
12 12
     /**
13
-	 * Submission ID
14
-	 *
15
-	 * @var string
16
-	 */
17
-	public $id = null;
18
-
19
-	/**
20
-	 * The raw submission data.
21
-	 *
22
-	 * @var array
23
-	 */
24
-	protected $data = null;
25
-
26
-	/**
27
-	 * Submission totals
28
-	 *
29
-	 * @var array
30
-	 */
31
-	protected $totals = array(
32
-
33
-		'subtotal' => array(
34
-			'initial'   => 0,
35
-			'recurring' => 0,
36
-		),
37
-
38
-		'discount' => array(
39
-			'initial'   => 0,
40
-			'recurring' => 0,
41
-		),
42
-
43
-		'fees'     => array(
44
-			'initial'   => 0,
45
-			'recurring' => 0,
46
-		),
47
-
48
-		'taxes'    => array(
49
-			'initial'   => 0,
50
-			'recurring' => 0,
51
-		),
52
-
53
-		'shipping' => array(
54
-			'initial'   => 0,
55
-			'recurring' => 0,
56
-		),
57
-
58
-	);
59
-
60
-	/**
61
-	 * Sets the associated payment form.
62
-	 *
63
-	 * @var GetPaid_Payment_Form
64
-	 */
13
+     * Submission ID
14
+     *
15
+     * @var string
16
+     */
17
+    public $id = null;
18
+
19
+    /**
20
+     * The raw submission data.
21
+     *
22
+     * @var array
23
+     */
24
+    protected $data = null;
25
+
26
+    /**
27
+     * Submission totals
28
+     *
29
+     * @var array
30
+     */
31
+    protected $totals = array(
32
+
33
+        'subtotal' => array(
34
+            'initial'   => 0,
35
+            'recurring' => 0,
36
+        ),
37
+
38
+        'discount' => array(
39
+            'initial'   => 0,
40
+            'recurring' => 0,
41
+        ),
42
+
43
+        'fees'     => array(
44
+            'initial'   => 0,
45
+            'recurring' => 0,
46
+        ),
47
+
48
+        'taxes'    => array(
49
+            'initial'   => 0,
50
+            'recurring' => 0,
51
+        ),
52
+
53
+        'shipping' => array(
54
+            'initial'   => 0,
55
+            'recurring' => 0,
56
+        ),
57
+
58
+    );
59
+
60
+    /**
61
+     * Sets the associated payment form.
62
+     *
63
+     * @var GetPaid_Payment_Form
64
+     */
65 65
     protected $payment_form = null;
66 66
 
67 67
     /**
68
-	 * The country for the submission.
69
-	 *
70
-	 * @var string
71
-	 */
72
-	public $country = null;
73
-
74
-    /**
75
-	 * The state for the submission.
76
-	 *
77
-	 * @since 1.0.19
78
-	 * @var string
79
-	 */
80
-	public $state = null;
81
-
82
-	/**
83
-	 * The invoice associated with the submission.
84
-	 *
85
-	 * @var WPInv_Invoice
86
-	 */
87
-	protected $invoice = null;
88
-
89
-	/**
90
-	 * The recurring item for the submission.
91
-	 *
92
-	 * @var int
93
-	 */
94
-	public $has_recurring = 0;
95
-
96
-	/**
97
-	 * An array of fees for the submission.
98
-	 *
99
-	 * @var array
100
-	 */
101
-	protected $fees = array();
102
-
103
-	/**
104
-	 * An array of discounts for the submission.
105
-	 *
106
-	 * @var array
107
-	 */
108
-	protected $discounts = array();
109
-
110
-	/**
111
-	 * An array of taxes for the submission.
112
-	 *
113
-	 * @var array
114
-	 */
115
-	protected $taxes = array();
116
-
117
-	/**
118
-	 * An array of items for the submission.
119
-	 *
120
-	 * @var GetPaid_Form_Item[]
121
-	 */
122
-	protected $items = array();
123
-
124
-	/**
125
-	 * The last error.
126
-	 *
127
-	 * @var string
128
-	 */
129
-	public $last_error = null;
130
-
131
-	/**
132
-	 * The last error code.
133
-	 *
134
-	 * @var string
135
-	 */
136
-	public $last_error_code = null;
137
-
138
-    /**
139
-	 * Class constructor.
140
-	 *
141
-	 */
142
-	public function __construct() {
143
-
144
-		// Set the state and country to the default state and country.
145
-		$this->country = wpinv_default_billing_country();
146
-		$this->state   = wpinv_get_default_state();
147
-
148
-		// Do we have an actual submission?
149
-		if ( isset( $_POST['getpaid_payment_form_submission'] ) ) {
150
-			$this->load_data( wp_kses_post_deep( wp_unslash( $_POST ) ) );
151
-		}
152
-
153
-	}
154
-
155
-	/**
156
-	 * Loads submission data.
157
-	 *
158
-	 * @param array $data
159
-	 */
160
-	public function load_data( $data ) {
161
-
162
-		// Allow plugins to filter the data.
163
-		$data       = apply_filters( 'getpaid_submission_data', $data, $this );
164
-
165
-		// Cache it...
166
-		$this->data = $data;
167
-
168
-		// Then generate a unique id from the data.
169
-		$this->id   = md5( wp_json_encode( $data ) );
170
-
171
-		// Finally, process the submission.
172
-		try {
173
-
174
-			// Each process is passed an instance of the class (with reference)
175
-			// and should throw an Exception whenever it encounters one.
176
-			$processors = apply_filters(
177
-				'getpaid_payment_form_submission_processors',
178
-				array(
179
-					array( $this, 'process_payment_form' ),
180
-					array( $this, 'process_invoice' ),
181
-					array( $this, 'process_fees' ),
182
-					array( $this, 'process_items' ),
183
-					array( $this, 'process_discount' ),
184
-					array( $this, 'process_taxes' ),
185
-				),
186
-				$this
187
-			);
188
-
189
-			foreach ( $processors as $processor ) {
190
-				call_user_func_array( $processor, array( &$this ) );
191
-			}
68
+     * The country for the submission.
69
+     *
70
+     * @var string
71
+     */
72
+    public $country = null;
73
+
74
+    /**
75
+     * The state for the submission.
76
+     *
77
+     * @since 1.0.19
78
+     * @var string
79
+     */
80
+    public $state = null;
81
+
82
+    /**
83
+     * The invoice associated with the submission.
84
+     *
85
+     * @var WPInv_Invoice
86
+     */
87
+    protected $invoice = null;
88
+
89
+    /**
90
+     * The recurring item for the submission.
91
+     *
92
+     * @var int
93
+     */
94
+    public $has_recurring = 0;
95
+
96
+    /**
97
+     * An array of fees for the submission.
98
+     *
99
+     * @var array
100
+     */
101
+    protected $fees = array();
102
+
103
+    /**
104
+     * An array of discounts for the submission.
105
+     *
106
+     * @var array
107
+     */
108
+    protected $discounts = array();
109
+
110
+    /**
111
+     * An array of taxes for the submission.
112
+     *
113
+     * @var array
114
+     */
115
+    protected $taxes = array();
116
+
117
+    /**
118
+     * An array of items for the submission.
119
+     *
120
+     * @var GetPaid_Form_Item[]
121
+     */
122
+    protected $items = array();
123
+
124
+    /**
125
+     * The last error.
126
+     *
127
+     * @var string
128
+     */
129
+    public $last_error = null;
130
+
131
+    /**
132
+     * The last error code.
133
+     *
134
+     * @var string
135
+     */
136
+    public $last_error_code = null;
137
+
138
+    /**
139
+     * Class constructor.
140
+     *
141
+     */
142
+    public function __construct() {
143
+
144
+        // Set the state and country to the default state and country.
145
+        $this->country = wpinv_default_billing_country();
146
+        $this->state   = wpinv_get_default_state();
147
+
148
+        // Do we have an actual submission?
149
+        if ( isset( $_POST['getpaid_payment_form_submission'] ) ) {
150
+            $this->load_data( wp_kses_post_deep( wp_unslash( $_POST ) ) );
151
+        }
152
+
153
+    }
154
+
155
+    /**
156
+     * Loads submission data.
157
+     *
158
+     * @param array $data
159
+     */
160
+    public function load_data( $data ) {
161
+
162
+        // Allow plugins to filter the data.
163
+        $data       = apply_filters( 'getpaid_submission_data', $data, $this );
164
+
165
+        // Cache it...
166
+        $this->data = $data;
167
+
168
+        // Then generate a unique id from the data.
169
+        $this->id   = md5( wp_json_encode( $data ) );
170
+
171
+        // Finally, process the submission.
172
+        try {
173
+
174
+            // Each process is passed an instance of the class (with reference)
175
+            // and should throw an Exception whenever it encounters one.
176
+            $processors = apply_filters(
177
+                'getpaid_payment_form_submission_processors',
178
+                array(
179
+                    array( $this, 'process_payment_form' ),
180
+                    array( $this, 'process_invoice' ),
181
+                    array( $this, 'process_fees' ),
182
+                    array( $this, 'process_items' ),
183
+                    array( $this, 'process_discount' ),
184
+                    array( $this, 'process_taxes' ),
185
+                ),
186
+                $this
187
+            );
188
+
189
+            foreach ( $processors as $processor ) {
190
+                call_user_func_array( $processor, array( &$this ) );
191
+            }
192 192
 } catch ( GetPaid_Payment_Exception $e ) {
193
-			$this->last_error      = $e->getMessage();
194
-			$this->last_error_code = $e->getErrorCode();
195
-		} catch ( Exception $e ) {
196
-			$this->last_error      = $e->getMessage();
197
-			$this->last_error_code = $e->getCode();
198
-		}
193
+            $this->last_error      = $e->getMessage();
194
+            $this->last_error_code = $e->getErrorCode();
195
+        } catch ( Exception $e ) {
196
+            $this->last_error      = $e->getMessage();
197
+            $this->last_error_code = $e->getCode();
198
+        }
199 199
 
200
-		// Fired when we are done processing a submission.
201
-		do_action_ref_array( 'getpaid_process_submission', array( &$this ) );
200
+        // Fired when we are done processing a submission.
201
+        do_action_ref_array( 'getpaid_process_submission', array( &$this ) );
202 202
 
203
-	}
203
+    }
204 204
 
205
-	/*
205
+    /*
206 206
 	|--------------------------------------------------------------------------
207 207
 	| Payment Forms.
208 208
 	|--------------------------------------------------------------------------
@@ -211,39 +211,39 @@  discard block
 block discarded – undo
211 211
 	| submission has an active payment form etc.
212 212
     */
213 213
 
214
-	/**
215
-	 * Prepares the submission's payment form.
216
-	 *
217
-	 * @since 1.0.19
218
-	 */
219
-	public function process_payment_form() {
214
+    /**
215
+     * Prepares the submission's payment form.
216
+     *
217
+     * @since 1.0.19
218
+     */
219
+    public function process_payment_form() {
220 220
 
221
-		// Every submission needs an active payment form.
222
-		if ( empty( $this->data['form_id'] ) ) {
223
-			throw new Exception( __( 'Missing payment form', 'invoicing' ) );
224
-		}
221
+        // Every submission needs an active payment form.
222
+        if ( empty( $this->data['form_id'] ) ) {
223
+            throw new Exception( __( 'Missing payment form', 'invoicing' ) );
224
+        }
225 225
 
226
-		// Fetch the payment form.
227
-		$this->payment_form = new GetPaid_Payment_Form( $this->data['form_id'] );
226
+        // Fetch the payment form.
227
+        $this->payment_form = new GetPaid_Payment_Form( $this->data['form_id'] );
228 228
 
229
-		if ( ! $this->payment_form->is_active() ) {
230
-			throw new Exception( __( 'Payment form not active', 'invoicing' ) );
231
-		}
229
+        if ( ! $this->payment_form->is_active() ) {
230
+            throw new Exception( __( 'Payment form not active', 'invoicing' ) );
231
+        }
232 232
 
233
-		do_action_ref_array( 'getpaid_submissions_process_payment_form', array( &$this ) );
234
-	}
233
+        do_action_ref_array( 'getpaid_submissions_process_payment_form', array( &$this ) );
234
+    }
235 235
 
236 236
     /**
237
-	 * Returns the payment form.
238
-	 *
239
-	 * @since 1.0.19
240
-	 * @return GetPaid_Payment_Form
241
-	 */
242
-	public function get_payment_form() {
243
-		return $this->payment_form;
244
-	}
237
+     * Returns the payment form.
238
+     *
239
+     * @since 1.0.19
240
+     * @return GetPaid_Payment_Form
241
+     */
242
+    public function get_payment_form() {
243
+        return $this->payment_form;
244
+    }
245 245
 
246
-	/*
246
+    /*
247 247
 	|--------------------------------------------------------------------------
248 248
 	| Invoices.
249 249
 	|--------------------------------------------------------------------------
@@ -252,84 +252,84 @@  discard block
 block discarded – undo
252 252
 	| might be for an existing invoice.
253 253
 	*/
254 254
 
255
-	/**
256
-	 * Prepares the submission's invoice.
257
-	 *
258
-	 * @since 1.0.19
259
-	 */
260
-	public function process_invoice() {
255
+    /**
256
+     * Prepares the submission's invoice.
257
+     *
258
+     * @since 1.0.19
259
+     */
260
+    public function process_invoice() {
261 261
 
262
-		// Abort if there is no invoice.
263
-		if ( empty( $this->data['invoice_id'] ) ) {
264
-			return;
265
-		}
262
+        // Abort if there is no invoice.
263
+        if ( empty( $this->data['invoice_id'] ) ) {
264
+            return;
265
+        }
266 266
 
267
-		// If the submission is for an existing invoice, ensure that it exists
268
-		// and that it is not paid for.
269
-		$invoice = wpinv_get_invoice( $this->data['invoice_id'] );
267
+        // If the submission is for an existing invoice, ensure that it exists
268
+        // and that it is not paid for.
269
+        $invoice = wpinv_get_invoice( $this->data['invoice_id'] );
270 270
 
271 271
         if ( empty( $invoice ) ) {
272
-			throw new Exception( __( 'Invalid invoice', 'invoicing' ) );
273
-		}
274
-
275
-		if ( $invoice->is_paid() ) {
276
-			throw new Exception( __( 'This invoice is already paid for.', 'invoicing' ) );
277
-		}
278
-
279
-		$this->payment_form->invoice = $invoice;
280
-		if ( ! $this->payment_form->is_default() ) {
281
-
282
-			$items    = array();
283
-			$item_ids = array();
284
-
285
-			foreach ( $invoice->get_items() as $item ) {
286
-				if ( ! in_array( $item->get_id(), $item_ids ) ) {
287
-					$item_ids[] = $item->get_id();
288
-					$items[]    = $item;
289
-				}
290
-			}
291
-
292
-			foreach ( $this->payment_form->get_items() as $item ) {
293
-				if ( ! in_array( $item->get_id(), $item_ids ) ) {
294
-					$item_ids[] = $item->get_id();
295
-					$items[]    = $item;
296
-				}
297
-			}
298
-
299
-			$this->payment_form->set_items( $items );
300
-
301
-		} else {
302
-			$this->payment_form->set_items( $invoice->get_items() );
303
-		}
304
-
305
-		$this->country = $invoice->get_country();
306
-		$this->state   = $invoice->get_state();
307
-		$this->invoice = $invoice;
308
-
309
-		do_action_ref_array( 'getpaid_submissions_process_invoice', array( &$this ) );
310
-	}
311
-
312
-	/**
313
-	 * Returns the associated invoice.
314
-	 *
315
-	 * @since 1.0.19
316
-	 * @return WPInv_Invoice
317
-	 */
318
-	public function get_invoice() {
319
-		return $this->invoice;
320
-	}
321
-
322
-	/**
323
-	 * Checks whether there is an invoice associated with this submission.
324
-	 *
325
-	 * @since 1.0.19
326
-	 * @return bool
327
-	 */
328
-	public function has_invoice() {
329
-		return ! empty( $this->invoice );
330
-	}
331
-
332
-	/*
272
+            throw new Exception( __( 'Invalid invoice', 'invoicing' ) );
273
+        }
274
+
275
+        if ( $invoice->is_paid() ) {
276
+            throw new Exception( __( 'This invoice is already paid for.', 'invoicing' ) );
277
+        }
278
+
279
+        $this->payment_form->invoice = $invoice;
280
+        if ( ! $this->payment_form->is_default() ) {
281
+
282
+            $items    = array();
283
+            $item_ids = array();
284
+
285
+            foreach ( $invoice->get_items() as $item ) {
286
+                if ( ! in_array( $item->get_id(), $item_ids ) ) {
287
+                    $item_ids[] = $item->get_id();
288
+                    $items[]    = $item;
289
+                }
290
+            }
291
+
292
+            foreach ( $this->payment_form->get_items() as $item ) {
293
+                if ( ! in_array( $item->get_id(), $item_ids ) ) {
294
+                    $item_ids[] = $item->get_id();
295
+                    $items[]    = $item;
296
+                }
297
+            }
298
+
299
+            $this->payment_form->set_items( $items );
300
+
301
+        } else {
302
+            $this->payment_form->set_items( $invoice->get_items() );
303
+        }
304
+
305
+        $this->country = $invoice->get_country();
306
+        $this->state   = $invoice->get_state();
307
+        $this->invoice = $invoice;
308
+
309
+        do_action_ref_array( 'getpaid_submissions_process_invoice', array( &$this ) );
310
+    }
311
+
312
+    /**
313
+     * Returns the associated invoice.
314
+     *
315
+     * @since 1.0.19
316
+     * @return WPInv_Invoice
317
+     */
318
+    public function get_invoice() {
319
+        return $this->invoice;
320
+    }
321
+
322
+    /**
323
+     * Checks whether there is an invoice associated with this submission.
324
+     *
325
+     * @since 1.0.19
326
+     * @return bool
327
+     */
328
+    public function has_invoice() {
329
+        return ! empty( $this->invoice );
330
+    }
331
+
332
+    /*
333 333
 	|--------------------------------------------------------------------------
334 334
 	| Items.
335 335
 	|--------------------------------------------------------------------------
@@ -338,129 +338,129 @@  discard block
 block discarded – undo
338 338
 	| recurring item. But can have an unlimited number of non-recurring items.
339 339
 	*/
340 340
 
341
-	/**
342
-	 * Prepares the submission's items.
343
-	 *
344
-	 * @since 1.0.19
345
-	 */
346
-	public function process_items() {
347
-
348
-		$processor = new GetPaid_Payment_Form_Submission_Items( $this );
349
-
350
-		foreach ( $processor->items as $item ) {
351
-			$this->add_item( $item );
352
-		}
353
-
354
-		do_action_ref_array( 'getpaid_submissions_process_items', array( &$this ) );
355
-	}
356
-
357
-	/**
358
-	 * Adds an item to the submission.
359
-	 *
360
-	 * @since 1.0.19
361
-	 * @param GetPaid_Form_Item $item
362
-	 */
363
-	public function add_item( $item ) {
364
-
365
-		// Make sure that it is available for purchase.
366
-		if ( ! $item->can_purchase() || isset( $this->items[ $item->get_id() ] ) ) {
367
-			return;
368
-		}
369
-
370
-		// Each submission can only contain one recurring item.
371
-		if ( $item->is_recurring() ) {
372
-			$this->has_recurring = $item->get_id();
373
-		}
374
-
375
-		// Update the items and totals.
376
-		$this->items[ $item->get_id() ]         = $item;
377
-		$this->totals['subtotal']['initial']   += $item->get_sub_total();
378
-		$this->totals['subtotal']['recurring'] += $item->get_recurring_sub_total();
379
-
380
-	}
381
-
382
-	/**
383
-	 * Removes a specific item.
384
-	 *
385
-	 * You should not call this method after the discounts and taxes
386
-	 * have been calculated.
387
-	 *
388
-	 * @since 1.0.19
389
-	 */
390
-	public function remove_item( $item_id ) {
391
-
392
-		if ( isset( $this->items[ $item_id ] ) ) {
393
-			$this->totals['subtotal']['initial']   -= $this->items[ $item_id ]->get_sub_total();
394
-			$this->totals['subtotal']['recurring'] -= $this->items[ $item_id ]->get_recurring_sub_total();
395
-
396
-			if ( $this->items[ $item_id ]->is_recurring() ) {
397
-				$this->has_recurring = 0;
398
-			}
399
-
400
-			unset( $this->items[ $item_id ] );
401
-		}
402
-
403
-	}
404
-
405
-	/**
406
-	 * Returns the subtotal.
407
-	 *
408
-	 * @since 1.0.19
409
-	 */
410
-	public function get_subtotal() {
411
-
412
-		if ( wpinv_prices_include_tax() ) {
413
-			return $this->totals['subtotal']['initial'] - $this->totals['taxes']['initial'];
414
-		}
415
-
416
-		return $this->totals['subtotal']['initial'];
417
-	}
418
-
419
-	/**
420
-	 * Returns the recurring subtotal.
421
-	 *
422
-	 * @since 1.0.19
423
-	 */
424
-	public function get_recurring_subtotal() {
425
-
426
-		if ( wpinv_prices_include_tax() ) {
427
-			return $this->totals['subtotal']['recurring'] - $this->totals['taxes']['recurring'];
428
-		}
429
-
430
-		return $this->totals['subtotal']['recurring'];
431
-	}
432
-
433
-	/**
434
-	 * Returns all items.
435
-	 *
436
-	 * @since 1.0.19
437
-	 * @return GetPaid_Form_Item[]
438
-	 */
439
-	public function get_items() {
440
-		return $this->items;
441
-	}
442
-
443
-	/**
444
-	 * Checks if there's a single subscription group in the submission.
445
-	 *
446
-	 * @since 2.3.0
447
-	 * @return bool
448
-	 */
449
-	public function has_subscription_group() {
450
-		return $this->has_recurring && getpaid_should_group_subscriptions( $this ) && 1 == count( getpaid_get_subscription_groups( $this ) );
451
-	}
452
-
453
-	/**
454
-	 * Checks if there are multipe subscription groups in the submission.
455
-	 *
456
-	 * @since 2.3.0
457
-	 * @return bool
458
-	 */
459
-	public function has_multiple_subscription_groups() {
460
-		return $this->has_recurring && 1 < count( getpaid_get_subscription_groups( $this ) );
461
-	}
462
-
463
-	/*
341
+    /**
342
+     * Prepares the submission's items.
343
+     *
344
+     * @since 1.0.19
345
+     */
346
+    public function process_items() {
347
+
348
+        $processor = new GetPaid_Payment_Form_Submission_Items( $this );
349
+
350
+        foreach ( $processor->items as $item ) {
351
+            $this->add_item( $item );
352
+        }
353
+
354
+        do_action_ref_array( 'getpaid_submissions_process_items', array( &$this ) );
355
+    }
356
+
357
+    /**
358
+     * Adds an item to the submission.
359
+     *
360
+     * @since 1.0.19
361
+     * @param GetPaid_Form_Item $item
362
+     */
363
+    public function add_item( $item ) {
364
+
365
+        // Make sure that it is available for purchase.
366
+        if ( ! $item->can_purchase() || isset( $this->items[ $item->get_id() ] ) ) {
367
+            return;
368
+        }
369
+
370
+        // Each submission can only contain one recurring item.
371
+        if ( $item->is_recurring() ) {
372
+            $this->has_recurring = $item->get_id();
373
+        }
374
+
375
+        // Update the items and totals.
376
+        $this->items[ $item->get_id() ]         = $item;
377
+        $this->totals['subtotal']['initial']   += $item->get_sub_total();
378
+        $this->totals['subtotal']['recurring'] += $item->get_recurring_sub_total();
379
+
380
+    }
381
+
382
+    /**
383
+     * Removes a specific item.
384
+     *
385
+     * You should not call this method after the discounts and taxes
386
+     * have been calculated.
387
+     *
388
+     * @since 1.0.19
389
+     */
390
+    public function remove_item( $item_id ) {
391
+
392
+        if ( isset( $this->items[ $item_id ] ) ) {
393
+            $this->totals['subtotal']['initial']   -= $this->items[ $item_id ]->get_sub_total();
394
+            $this->totals['subtotal']['recurring'] -= $this->items[ $item_id ]->get_recurring_sub_total();
395
+
396
+            if ( $this->items[ $item_id ]->is_recurring() ) {
397
+                $this->has_recurring = 0;
398
+            }
399
+
400
+            unset( $this->items[ $item_id ] );
401
+        }
402
+
403
+    }
404
+
405
+    /**
406
+     * Returns the subtotal.
407
+     *
408
+     * @since 1.0.19
409
+     */
410
+    public function get_subtotal() {
411
+
412
+        if ( wpinv_prices_include_tax() ) {
413
+            return $this->totals['subtotal']['initial'] - $this->totals['taxes']['initial'];
414
+        }
415
+
416
+        return $this->totals['subtotal']['initial'];
417
+    }
418
+
419
+    /**
420
+     * Returns the recurring subtotal.
421
+     *
422
+     * @since 1.0.19
423
+     */
424
+    public function get_recurring_subtotal() {
425
+
426
+        if ( wpinv_prices_include_tax() ) {
427
+            return $this->totals['subtotal']['recurring'] - $this->totals['taxes']['recurring'];
428
+        }
429
+
430
+        return $this->totals['subtotal']['recurring'];
431
+    }
432
+
433
+    /**
434
+     * Returns all items.
435
+     *
436
+     * @since 1.0.19
437
+     * @return GetPaid_Form_Item[]
438
+     */
439
+    public function get_items() {
440
+        return $this->items;
441
+    }
442
+
443
+    /**
444
+     * Checks if there's a single subscription group in the submission.
445
+     *
446
+     * @since 2.3.0
447
+     * @return bool
448
+     */
449
+    public function has_subscription_group() {
450
+        return $this->has_recurring && getpaid_should_group_subscriptions( $this ) && 1 == count( getpaid_get_subscription_groups( $this ) );
451
+    }
452
+
453
+    /**
454
+     * Checks if there are multipe subscription groups in the submission.
455
+     *
456
+     * @since 2.3.0
457
+     * @return bool
458
+     */
459
+    public function has_multiple_subscription_groups() {
460
+        return $this->has_recurring && 1 < count( getpaid_get_subscription_groups( $this ) );
461
+    }
462
+
463
+    /*
464 464
 	|--------------------------------------------------------------------------
465 465
 	| Taxes
466 466
 	|--------------------------------------------------------------------------
@@ -469,128 +469,128 @@  discard block
 block discarded – undo
469 469
 	| or only one-time.
470 470
     */
471 471
 
472
-	/**
473
-	 * Prepares the submission's taxes.
474
-	 *
475
-	 * @since 1.0.19
476
-	 */
477
-	public function process_taxes() {
478
-
479
-		// Abort if we're not using taxes.
480
-		if ( ! $this->use_taxes() ) {
481
-			return;
482
-		}
483
-
484
-		// If a custom country && state has been passed in, use it to calculate taxes.
485
-		$country = $this->get_field( 'wpinv_country', 'billing' );
486
-		if ( ! empty( $country ) ) {
487
-			$this->country = $country;
488
-		}
489
-
490
-		$state = $this->get_field( 'wpinv_state', 'billing' );
491
-		if ( ! empty( $state ) ) {
492
-			$this->state = $state;
493
-		}
494
-
495
-		// Confirm if the provided country and the ip country are similar.
496
-		$address_confirmed = $this->get_field( 'confirm-address' );
497
-		if ( isset( $_POST['billing']['country'] ) && wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty( $address_confirmed ) ) {
498
-			throw new Exception( __( 'The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing' ) );
499
-		}
500
-
501
-		// Abort if the country is not taxable.
502
-		if ( ! wpinv_is_country_taxable( $this->country ) ) {
503
-			return;
504
-		}
505
-
506
-		$processor = new GetPaid_Payment_Form_Submission_Taxes( $this );
507
-
508
-		foreach ( $processor->taxes as $tax ) {
509
-			$this->add_tax( $tax );
510
-		}
511
-
512
-		do_action_ref_array( 'getpaid_submissions_process_taxes', array( &$this ) );
513
-	}
514
-
515
-	/**
516
-	 * Adds a tax to the submission.
517
-	 *
518
-	 * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
519
-	 * @since 1.0.19
520
-	 */
521
-	public function add_tax( $tax ) {
522
-
523
-		if ( wpinv_round_tax_per_tax_rate() ) {
524
-			$tax['initial_tax']   = wpinv_round_amount( $tax['initial_tax'] );
525
-			$tax['recurring_tax'] = wpinv_round_amount( $tax['recurring_tax'] );
526
-		}
527
-
528
-		$this->taxes[ $tax['name'] ]         = $tax;
529
-		$this->totals['taxes']['initial']   += wpinv_sanitize_amount( $tax['initial_tax'] );
530
-		$this->totals['taxes']['recurring'] += wpinv_sanitize_amount( $tax['recurring_tax'] );
531
-
532
-	}
533
-
534
-	/**
535
-	 * Removes a specific tax.
536
-	 *
537
-	 * @since 1.0.19
538
-	 */
539
-	public function remove_tax( $tax_name ) {
540
-
541
-		if ( isset( $this->taxes[ $tax_name ] ) ) {
542
-			$this->totals['taxes']['initial']   -= $this->taxes[ $tax_name ]['initial_tax'];
543
-			$this->totals['taxes']['recurring'] -= $this->taxes[ $tax_name ]['recurring_tax'];
544
-			unset( $this->taxes[ $tax_name ] );
545
-		}
546
-
547
-	}
548
-
549
-	/**
550
-	 * Whether or not we'll use taxes for the submission.
551
-	 *
552
-	 * @since 1.0.19
553
-	 */
554
-	public function use_taxes() {
555
-
556
-		$use_taxes = wpinv_use_taxes();
557
-
558
-		if ( $this->has_invoice() && ! $this->invoice->is_taxable() ) {
559
-			$use_taxes = false;
560
-		}
561
-
562
-		return apply_filters( 'getpaid_submission_use_taxes', $use_taxes, $this );
563
-
564
-	}
565
-
566
-	/**
567
-	 * Returns the tax.
568
-	 *
569
-	 * @since 1.0.19
570
-	 */
571
-	public function get_tax() {
572
-		return $this->totals['taxes']['initial'];
573
-	}
574
-
575
-	/**
576
-	 * Returns the recurring tax.
577
-	 *
578
-	 * @since 1.0.19
579
-	 */
580
-	public function get_recurring_tax() {
581
-		return $this->totals['taxes']['recurring'];
582
-	}
583
-
584
-	/**
585
-	 * Returns all taxes.
586
-	 *
587
-	 * @since 1.0.19
588
-	 */
589
-	public function get_taxes() {
590
-		return $this->taxes;
591
-	}
592
-
593
-	/*
472
+    /**
473
+     * Prepares the submission's taxes.
474
+     *
475
+     * @since 1.0.19
476
+     */
477
+    public function process_taxes() {
478
+
479
+        // Abort if we're not using taxes.
480
+        if ( ! $this->use_taxes() ) {
481
+            return;
482
+        }
483
+
484
+        // If a custom country && state has been passed in, use it to calculate taxes.
485
+        $country = $this->get_field( 'wpinv_country', 'billing' );
486
+        if ( ! empty( $country ) ) {
487
+            $this->country = $country;
488
+        }
489
+
490
+        $state = $this->get_field( 'wpinv_state', 'billing' );
491
+        if ( ! empty( $state ) ) {
492
+            $this->state = $state;
493
+        }
494
+
495
+        // Confirm if the provided country and the ip country are similar.
496
+        $address_confirmed = $this->get_field( 'confirm-address' );
497
+        if ( isset( $_POST['billing']['country'] ) && wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty( $address_confirmed ) ) {
498
+            throw new Exception( __( 'The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing' ) );
499
+        }
500
+
501
+        // Abort if the country is not taxable.
502
+        if ( ! wpinv_is_country_taxable( $this->country ) ) {
503
+            return;
504
+        }
505
+
506
+        $processor = new GetPaid_Payment_Form_Submission_Taxes( $this );
507
+
508
+        foreach ( $processor->taxes as $tax ) {
509
+            $this->add_tax( $tax );
510
+        }
511
+
512
+        do_action_ref_array( 'getpaid_submissions_process_taxes', array( &$this ) );
513
+    }
514
+
515
+    /**
516
+     * Adds a tax to the submission.
517
+     *
518
+     * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
519
+     * @since 1.0.19
520
+     */
521
+    public function add_tax( $tax ) {
522
+
523
+        if ( wpinv_round_tax_per_tax_rate() ) {
524
+            $tax['initial_tax']   = wpinv_round_amount( $tax['initial_tax'] );
525
+            $tax['recurring_tax'] = wpinv_round_amount( $tax['recurring_tax'] );
526
+        }
527
+
528
+        $this->taxes[ $tax['name'] ]         = $tax;
529
+        $this->totals['taxes']['initial']   += wpinv_sanitize_amount( $tax['initial_tax'] );
530
+        $this->totals['taxes']['recurring'] += wpinv_sanitize_amount( $tax['recurring_tax'] );
531
+
532
+    }
533
+
534
+    /**
535
+     * Removes a specific tax.
536
+     *
537
+     * @since 1.0.19
538
+     */
539
+    public function remove_tax( $tax_name ) {
540
+
541
+        if ( isset( $this->taxes[ $tax_name ] ) ) {
542
+            $this->totals['taxes']['initial']   -= $this->taxes[ $tax_name ]['initial_tax'];
543
+            $this->totals['taxes']['recurring'] -= $this->taxes[ $tax_name ]['recurring_tax'];
544
+            unset( $this->taxes[ $tax_name ] );
545
+        }
546
+
547
+    }
548
+
549
+    /**
550
+     * Whether or not we'll use taxes for the submission.
551
+     *
552
+     * @since 1.0.19
553
+     */
554
+    public function use_taxes() {
555
+
556
+        $use_taxes = wpinv_use_taxes();
557
+
558
+        if ( $this->has_invoice() && ! $this->invoice->is_taxable() ) {
559
+            $use_taxes = false;
560
+        }
561
+
562
+        return apply_filters( 'getpaid_submission_use_taxes', $use_taxes, $this );
563
+
564
+    }
565
+
566
+    /**
567
+     * Returns the tax.
568
+     *
569
+     * @since 1.0.19
570
+     */
571
+    public function get_tax() {
572
+        return $this->totals['taxes']['initial'];
573
+    }
574
+
575
+    /**
576
+     * Returns the recurring tax.
577
+     *
578
+     * @since 1.0.19
579
+     */
580
+    public function get_recurring_tax() {
581
+        return $this->totals['taxes']['recurring'];
582
+    }
583
+
584
+    /**
585
+     * Returns all taxes.
586
+     *
587
+     * @since 1.0.19
588
+     */
589
+    public function get_taxes() {
590
+        return $this->taxes;
591
+    }
592
+
593
+    /*
594 594
 	|--------------------------------------------------------------------------
595 595
 	| Discounts
596 596
 	|--------------------------------------------------------------------------
@@ -599,99 +599,99 @@  discard block
 block discarded – undo
599 599
 	| or only one-time. They also do not have to come from a discount code.
600 600
     */
601 601
 
602
-	/**
603
-	 * Prepares the submission's discount.
604
-	 *
605
-	 * @since 1.0.19
606
-	 */
607
-	public function process_discount() {
608
-
609
-		$initial_total    = $this->get_subtotal() + $this->get_fee() + $this->get_tax();
610
-		$recurring_total  = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax();
611
-		$processor        = new GetPaid_Payment_Form_Submission_Discount( $this, $initial_total, $recurring_total );
612
-
613
-		foreach ( $processor->discounts as $discount ) {
614
-			$this->add_discount( $discount );
615
-		}
616
-
617
-		do_action_ref_array( 'getpaid_submissions_process_discounts', array( &$this ) );
618
-	}
619
-
620
-	/**
621
-	 * Adds a discount to the submission.
622
-	 *
623
-	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
624
-	 * @since 1.0.19
625
-	 */
626
-	public function add_discount( $discount ) {
627
-		$this->discounts[ $discount['name'] ]   = $discount;
628
-		$this->totals['discount']['initial']   += wpinv_sanitize_amount( $discount['initial_discount'] );
629
-		$this->totals['discount']['recurring'] += wpinv_sanitize_amount( $discount['recurring_discount'] );
630
-	}
631
-
632
-	/**
633
-	 * Removes a discount from the submission.
634
-	 *
635
-	 * @since 1.0.19
636
-	 */
637
-	public function remove_discount( $name ) {
638
-
639
-		if ( isset( $this->discounts[ $name ] ) ) {
640
-			$this->totals['discount']['initial']   -= $this->discounts[ $name ]['initial_discount'];
641
-			$this->totals['discount']['recurring'] -= $this->discounts[ $name ]['recurring_discount'];
642
-			unset( $this->discounts[ $name ] );
643
-		}
644
-
645
-	}
646
-
647
-	/**
648
-	 * Checks whether there is a discount code associated with this submission.
649
-	 *
650
-	 * @since 1.0.19
651
-	 * @return bool
652
-	 */
653
-	public function has_discount_code() {
654
-		return ! empty( $this->discounts['discount_code'] );
655
-	}
656
-
657
-	/**
658
-	 * Returns the discount code.
659
-	 *
660
-	 * @since 1.0.19
661
-	 * @return string
662
-	 */
663
-	public function get_discount_code() {
664
-		return $this->has_discount_code() ? $this->discounts['discount_code']['discount_code'] : '';
665
-	}
666
-
667
-	/**
668
-	 * Returns the discount.
669
-	 *
670
-	 * @since 1.0.19
671
-	 */
672
-	public function get_discount() {
673
-		return $this->totals['discount']['initial'];
674
-	}
675
-
676
-	/**
677
-	 * Returns the recurring discount.
678
-	 *
679
-	 * @since 1.0.19
680
-	 */
681
-	public function get_recurring_discount() {
682
-		return $this->totals['discount']['recurring'];
683
-	}
684
-
685
-	/**
686
-	 * Returns all discounts.
687
-	 *
688
-	 * @since 1.0.19
689
-	 */
690
-	public function get_discounts() {
691
-		return $this->discounts;
692
-	}
693
-
694
-	/*
602
+    /**
603
+     * Prepares the submission's discount.
604
+     *
605
+     * @since 1.0.19
606
+     */
607
+    public function process_discount() {
608
+
609
+        $initial_total    = $this->get_subtotal() + $this->get_fee() + $this->get_tax();
610
+        $recurring_total  = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax();
611
+        $processor        = new GetPaid_Payment_Form_Submission_Discount( $this, $initial_total, $recurring_total );
612
+
613
+        foreach ( $processor->discounts as $discount ) {
614
+            $this->add_discount( $discount );
615
+        }
616
+
617
+        do_action_ref_array( 'getpaid_submissions_process_discounts', array( &$this ) );
618
+    }
619
+
620
+    /**
621
+     * Adds a discount to the submission.
622
+     *
623
+     * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
624
+     * @since 1.0.19
625
+     */
626
+    public function add_discount( $discount ) {
627
+        $this->discounts[ $discount['name'] ]   = $discount;
628
+        $this->totals['discount']['initial']   += wpinv_sanitize_amount( $discount['initial_discount'] );
629
+        $this->totals['discount']['recurring'] += wpinv_sanitize_amount( $discount['recurring_discount'] );
630
+    }
631
+
632
+    /**
633
+     * Removes a discount from the submission.
634
+     *
635
+     * @since 1.0.19
636
+     */
637
+    public function remove_discount( $name ) {
638
+
639
+        if ( isset( $this->discounts[ $name ] ) ) {
640
+            $this->totals['discount']['initial']   -= $this->discounts[ $name ]['initial_discount'];
641
+            $this->totals['discount']['recurring'] -= $this->discounts[ $name ]['recurring_discount'];
642
+            unset( $this->discounts[ $name ] );
643
+        }
644
+
645
+    }
646
+
647
+    /**
648
+     * Checks whether there is a discount code associated with this submission.
649
+     *
650
+     * @since 1.0.19
651
+     * @return bool
652
+     */
653
+    public function has_discount_code() {
654
+        return ! empty( $this->discounts['discount_code'] );
655
+    }
656
+
657
+    /**
658
+     * Returns the discount code.
659
+     *
660
+     * @since 1.0.19
661
+     * @return string
662
+     */
663
+    public function get_discount_code() {
664
+        return $this->has_discount_code() ? $this->discounts['discount_code']['discount_code'] : '';
665
+    }
666
+
667
+    /**
668
+     * Returns the discount.
669
+     *
670
+     * @since 1.0.19
671
+     */
672
+    public function get_discount() {
673
+        return $this->totals['discount']['initial'];
674
+    }
675
+
676
+    /**
677
+     * Returns the recurring discount.
678
+     *
679
+     * @since 1.0.19
680
+     */
681
+    public function get_recurring_discount() {
682
+        return $this->totals['discount']['recurring'];
683
+    }
684
+
685
+    /**
686
+     * Returns all discounts.
687
+     *
688
+     * @since 1.0.19
689
+     */
690
+    public function get_discounts() {
691
+        return $this->discounts;
692
+    }
693
+
694
+    /*
695 695
 	|--------------------------------------------------------------------------
696 696
 	| Fees
697 697
 	|--------------------------------------------------------------------------
@@ -701,100 +701,100 @@  discard block
 block discarded – undo
701 701
 	| fees.
702 702
     */
703 703
 
704
-	/**
705
-	 * Prepares the submission's fees.
706
-	 *
707
-	 * @since 1.0.19
708
-	 */
709
-	public function process_fees() {
710
-
711
-		$fees_processor = new GetPaid_Payment_Form_Submission_Fees( $this );
712
-
713
-		foreach ( $fees_processor->fees as $fee ) {
714
-			$this->add_fee( $fee );
715
-		}
716
-
717
-		do_action_ref_array( 'getpaid_submissions_process_fees', array( &$this ) );
718
-	}
719
-
720
-	/**
721
-	 * Adds a fee to the submission.
722
-	 *
723
-	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
724
-	 * @since 1.0.19
725
-	 */
726
-	public function add_fee( $fee ) {
727
-
728
-		if ( $fee['name'] == 'shipping' ) {
729
-			$this->totals['shipping']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
730
-			$this->totals['shipping']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
731
-			return;
732
-		}
733
-
734
-		$this->fees[ $fee['name'] ]         = $fee;
735
-		$this->totals['fees']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
736
-		$this->totals['fees']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
737
-
738
-	}
739
-
740
-	/**
741
-	 * Removes a fee from the submission.
742
-	 *
743
-	 * @since 1.0.19
744
-	 */
745
-	public function remove_fee( $name ) {
746
-
747
-		if ( isset( $this->fees[ $name ] ) ) {
748
-			$this->totals['fees']['initial']   -= $this->fees[ $name ]['initial_fee'];
749
-			$this->totals['fees']['recurring'] -= $this->fees[ $name ]['recurring_fee'];
750
-			unset( $this->fees[ $name ] );
751
-		}
752
-
753
-		if ( 'shipping' == $name ) {
754
-			$this->totals['shipping']['initial']   = 0;
755
-			$this->totals['shipping']['recurring'] = 0;
756
-		}
757
-
758
-	}
759
-
760
-	/**
761
-	 * Returns the fees.
762
-	 *
763
-	 * @since 1.0.19
764
-	 */
765
-	public function get_fee() {
766
-		return $this->totals['fees']['initial'];
767
-	}
768
-
769
-	/**
770
-	 * Returns the recurring fees.
771
-	 *
772
-	 * @since 1.0.19
773
-	 */
774
-	public function get_recurring_fee() {
775
-		return $this->totals['fees']['recurring'];
776
-	}
777
-
778
-	/**
779
-	 * Returns all fees.
780
-	 *
781
-	 * @since 1.0.19
782
-	 */
783
-	public function get_fees() {
784
-		return $this->fees;
785
-	}
786
-
787
-	/**
788
-	 * Checks if there are any fees for the form.
789
-	 *
790
-	 * @return bool
791
-	 * @since 1.0.19
792
-	 */
793
-	public function has_fees() {
794
-		return count( $this->fees ) !== 0;
795
-	}
796
-
797
-	/*
704
+    /**
705
+     * Prepares the submission's fees.
706
+     *
707
+     * @since 1.0.19
708
+     */
709
+    public function process_fees() {
710
+
711
+        $fees_processor = new GetPaid_Payment_Form_Submission_Fees( $this );
712
+
713
+        foreach ( $fees_processor->fees as $fee ) {
714
+            $this->add_fee( $fee );
715
+        }
716
+
717
+        do_action_ref_array( 'getpaid_submissions_process_fees', array( &$this ) );
718
+    }
719
+
720
+    /**
721
+     * Adds a fee to the submission.
722
+     *
723
+     * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
724
+     * @since 1.0.19
725
+     */
726
+    public function add_fee( $fee ) {
727
+
728
+        if ( $fee['name'] == 'shipping' ) {
729
+            $this->totals['shipping']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
730
+            $this->totals['shipping']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
731
+            return;
732
+        }
733
+
734
+        $this->fees[ $fee['name'] ]         = $fee;
735
+        $this->totals['fees']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
736
+        $this->totals['fees']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
737
+
738
+    }
739
+
740
+    /**
741
+     * Removes a fee from the submission.
742
+     *
743
+     * @since 1.0.19
744
+     */
745
+    public function remove_fee( $name ) {
746
+
747
+        if ( isset( $this->fees[ $name ] ) ) {
748
+            $this->totals['fees']['initial']   -= $this->fees[ $name ]['initial_fee'];
749
+            $this->totals['fees']['recurring'] -= $this->fees[ $name ]['recurring_fee'];
750
+            unset( $this->fees[ $name ] );
751
+        }
752
+
753
+        if ( 'shipping' == $name ) {
754
+            $this->totals['shipping']['initial']   = 0;
755
+            $this->totals['shipping']['recurring'] = 0;
756
+        }
757
+
758
+    }
759
+
760
+    /**
761
+     * Returns the fees.
762
+     *
763
+     * @since 1.0.19
764
+     */
765
+    public function get_fee() {
766
+        return $this->totals['fees']['initial'];
767
+    }
768
+
769
+    /**
770
+     * Returns the recurring fees.
771
+     *
772
+     * @since 1.0.19
773
+     */
774
+    public function get_recurring_fee() {
775
+        return $this->totals['fees']['recurring'];
776
+    }
777
+
778
+    /**
779
+     * Returns all fees.
780
+     *
781
+     * @since 1.0.19
782
+     */
783
+    public function get_fees() {
784
+        return $this->fees;
785
+    }
786
+
787
+    /**
788
+     * Checks if there are any fees for the form.
789
+     *
790
+     * @return bool
791
+     * @since 1.0.19
792
+     */
793
+    public function has_fees() {
794
+        return count( $this->fees ) !== 0;
795
+    }
796
+
797
+    /*
798 798
 	|--------------------------------------------------------------------------
799 799
 	| MISC
800 800
 	|--------------------------------------------------------------------------
@@ -802,147 +802,147 @@  discard block
 block discarded – undo
802 802
 	| Extra submission functions.
803 803
     */
804 804
 
805
-	/**
806
-	 * Returns the shipping amount.
807
-	 *
808
-	 * @since 1.0.19
809
-	 */
810
-	public function get_shipping() {
811
-		return $this->totals['shipping']['initial'];
812
-	}
813
-
814
-	/**
815
-	 * Returns the recurring shipping.
816
-	 *
817
-	 * @since 1.0.19
818
-	 */
819
-	public function get_recurring_shipping() {
820
-		return $this->totals['shipping']['recurring'];
821
-	}
822
-
823
-	/**
824
-	 * Checks if there are any shipping fees for the form.
825
-	 *
826
-	 * @return bool
827
-	 * @since 1.0.19
828
-	 */
829
-	public function has_shipping() {
830
-		return apply_filters( 'getpaid_payment_form_has_shipping', false, $this );
831
-	}
832
-
833
-	/**
834
-	 * Checks if this is the initial fetch.
835
-	 *
836
-	 * @return bool
837
-	 * @since 1.0.19
838
-	 */
839
-	public function is_initial_fetch() {
840
-		return empty( $this->data['initial_state'] );
841
-	}
842
-
843
-	/**
844
-	 * Returns the total amount to collect for this submission.
845
-	 *
846
-	 * @since 1.0.19
847
-	 */
848
-	public function get_total() {
849
-		$total = $this->get_subtotal() + $this->get_fee() + $this->get_tax() + $this->get_shipping() - $this->get_discount();
850
-		return max( $total, 0 );
851
-	}
852
-
853
-	/**
854
-	 * Returns the recurring total amount to collect for this submission.
855
-	 *
856
-	 * @since 1.0.19
857
-	 */
858
-	public function get_recurring_total() {
859
-		$total = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax() + $this->get_recurring_shipping() - $this->get_recurring_discount();
860
-		return max( $total, 0 );
861
-	}
862
-
863
-	/**
864
-	 * Whether payment details should be collected for this submission.
865
-	 *
866
-	 * @since 1.0.19
867
-	 */
868
-	public function should_collect_payment_details() {
869
-		$initial   = $this->get_total();
870
-		$recurring = $this->get_recurring_total();
871
-
872
-		if ( $this->has_recurring == 0 ) {
873
-			$recurring = 0;
874
-		}
875
-
876
-		$collect = $initial > 0 || $recurring > 0;
877
-		return apply_filters( 'getpaid_submission_should_collect_payment_details', $collect, $this );
878
-	}
879
-
880
-	/**
881
-	 * Returns the billing email of the user.
882
-	 *
883
-	 * @since 1.0.19
884
-	 */
885
-	public function get_billing_email() {
886
-		return apply_filters( 'getpaid_get_submission_billing_email', $this->get_field( 'billing_email' ), $this );
887
-	}
888
-
889
-	/**
890
-	 * Checks if the submitter has a billing email.
891
-	 *
892
-	 * @since 1.0.19
893
-	 */
894
-	public function has_billing_email() {
895
-		$billing_email = $this->get_billing_email();
896
-		return ! empty( $billing_email ) && is_email( $billing_email );
897
-	}
898
-
899
-	/**
900
-	 * Returns the appropriate currency for the submission.
901
-	 *
902
-	 * @since 1.0.19
903
-	 * @return string
904
-	 */
905
-	public function get_currency() {
906
-		return $this->has_invoice() ? $this->invoice->get_currency() : wpinv_get_currency();
907
-    }
908
-
909
-    /**
910
-	 * Returns the raw submission data.
911
-	 *
912
-	 * @since 1.0.19
913
-	 * @return array
914
-	 */
915
-	public function get_data() {
916
-		return $this->data;
917
-	}
918
-
919
-	/**
920
-	 * Returns a field from the submission data
921
-	 *
922
-	 * @param string $field
923
-	 * @since 1.0.19
924
-	 * @return mixed|null
925
-	 */
926
-	public function get_field( $field, $sub_array_key = null ) {
927
-		return getpaid_get_array_field( $this->data, $field, $sub_array_key );
928
-	}
929
-
930
-	/**
931
-	 * Checks if a required field is set.
932
-	 *
933
-	 * @since 1.0.19
934
-	 */
935
-	public function is_required_field_set( $field ) {
936
-		return empty( $field['required'] ) || ! empty( $this->data[ $field['id'] ] );
937
-	}
938
-
939
-	/**
940
-	 * Formats an amount
941
-	 *
942
-	 * @since 1.0.19
943
-	 */
944
-	public function format_amount( $amount ) {
945
-		return wpinv_price( $amount, $this->get_currency() );
946
-	}
805
+    /**
806
+     * Returns the shipping amount.
807
+     *
808
+     * @since 1.0.19
809
+     */
810
+    public function get_shipping() {
811
+        return $this->totals['shipping']['initial'];
812
+    }
813
+
814
+    /**
815
+     * Returns the recurring shipping.
816
+     *
817
+     * @since 1.0.19
818
+     */
819
+    public function get_recurring_shipping() {
820
+        return $this->totals['shipping']['recurring'];
821
+    }
822
+
823
+    /**
824
+     * Checks if there are any shipping fees for the form.
825
+     *
826
+     * @return bool
827
+     * @since 1.0.19
828
+     */
829
+    public function has_shipping() {
830
+        return apply_filters( 'getpaid_payment_form_has_shipping', false, $this );
831
+    }
832
+
833
+    /**
834
+     * Checks if this is the initial fetch.
835
+     *
836
+     * @return bool
837
+     * @since 1.0.19
838
+     */
839
+    public function is_initial_fetch() {
840
+        return empty( $this->data['initial_state'] );
841
+    }
842
+
843
+    /**
844
+     * Returns the total amount to collect for this submission.
845
+     *
846
+     * @since 1.0.19
847
+     */
848
+    public function get_total() {
849
+        $total = $this->get_subtotal() + $this->get_fee() + $this->get_tax() + $this->get_shipping() - $this->get_discount();
850
+        return max( $total, 0 );
851
+    }
852
+
853
+    /**
854
+     * Returns the recurring total amount to collect for this submission.
855
+     *
856
+     * @since 1.0.19
857
+     */
858
+    public function get_recurring_total() {
859
+        $total = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax() + $this->get_recurring_shipping() - $this->get_recurring_discount();
860
+        return max( $total, 0 );
861
+    }
862
+
863
+    /**
864
+     * Whether payment details should be collected for this submission.
865
+     *
866
+     * @since 1.0.19
867
+     */
868
+    public function should_collect_payment_details() {
869
+        $initial   = $this->get_total();
870
+        $recurring = $this->get_recurring_total();
871
+
872
+        if ( $this->has_recurring == 0 ) {
873
+            $recurring = 0;
874
+        }
875
+
876
+        $collect = $initial > 0 || $recurring > 0;
877
+        return apply_filters( 'getpaid_submission_should_collect_payment_details', $collect, $this );
878
+    }
879
+
880
+    /**
881
+     * Returns the billing email of the user.
882
+     *
883
+     * @since 1.0.19
884
+     */
885
+    public function get_billing_email() {
886
+        return apply_filters( 'getpaid_get_submission_billing_email', $this->get_field( 'billing_email' ), $this );
887
+    }
888
+
889
+    /**
890
+     * Checks if the submitter has a billing email.
891
+     *
892
+     * @since 1.0.19
893
+     */
894
+    public function has_billing_email() {
895
+        $billing_email = $this->get_billing_email();
896
+        return ! empty( $billing_email ) && is_email( $billing_email );
897
+    }
898
+
899
+    /**
900
+     * Returns the appropriate currency for the submission.
901
+     *
902
+     * @since 1.0.19
903
+     * @return string
904
+     */
905
+    public function get_currency() {
906
+        return $this->has_invoice() ? $this->invoice->get_currency() : wpinv_get_currency();
907
+    }
908
+
909
+    /**
910
+     * Returns the raw submission data.
911
+     *
912
+     * @since 1.0.19
913
+     * @return array
914
+     */
915
+    public function get_data() {
916
+        return $this->data;
917
+    }
918
+
919
+    /**
920
+     * Returns a field from the submission data
921
+     *
922
+     * @param string $field
923
+     * @since 1.0.19
924
+     * @return mixed|null
925
+     */
926
+    public function get_field( $field, $sub_array_key = null ) {
927
+        return getpaid_get_array_field( $this->data, $field, $sub_array_key );
928
+    }
929
+
930
+    /**
931
+     * Checks if a required field is set.
932
+     *
933
+     * @since 1.0.19
934
+     */
935
+    public function is_required_field_set( $field ) {
936
+        return empty( $field['required'] ) || ! empty( $this->data[ $field['id'] ] );
937
+    }
938
+
939
+    /**
940
+     * Formats an amount
941
+     *
942
+     * @since 1.0.19
943
+     */
944
+    public function format_amount( $amount ) {
945
+        return wpinv_price( $amount, $this->get_currency() );
946
+    }
947 947
 
948 948
 }
Please login to merge, or discard this patch.
Spacing   +129 added lines, -129 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -146,8 +146,8 @@  discard block
 block discarded – undo
146 146
 		$this->state   = wpinv_get_default_state();
147 147
 
148 148
 		// Do we have an actual submission?
149
-		if ( isset( $_POST['getpaid_payment_form_submission'] ) ) {
150
-			$this->load_data( wp_kses_post_deep( wp_unslash( $_POST ) ) );
149
+		if (isset($_POST['getpaid_payment_form_submission'])) {
150
+			$this->load_data(wp_kses_post_deep(wp_unslash($_POST)));
151 151
 		}
152 152
 
153 153
 	}
@@ -157,16 +157,16 @@  discard block
 block discarded – undo
157 157
 	 *
158 158
 	 * @param array $data
159 159
 	 */
160
-	public function load_data( $data ) {
160
+	public function load_data($data) {
161 161
 
162 162
 		// Allow plugins to filter the data.
163
-		$data       = apply_filters( 'getpaid_submission_data', $data, $this );
163
+		$data       = apply_filters('getpaid_submission_data', $data, $this);
164 164
 
165 165
 		// Cache it...
166 166
 		$this->data = $data;
167 167
 
168 168
 		// Then generate a unique id from the data.
169
-		$this->id   = md5( wp_json_encode( $data ) );
169
+		$this->id   = md5(wp_json_encode($data));
170 170
 
171 171
 		// Finally, process the submission.
172 172
 		try {
@@ -176,29 +176,29 @@  discard block
 block discarded – undo
176 176
 			$processors = apply_filters(
177 177
 				'getpaid_payment_form_submission_processors',
178 178
 				array(
179
-					array( $this, 'process_payment_form' ),
180
-					array( $this, 'process_invoice' ),
181
-					array( $this, 'process_fees' ),
182
-					array( $this, 'process_items' ),
183
-					array( $this, 'process_discount' ),
184
-					array( $this, 'process_taxes' ),
179
+					array($this, 'process_payment_form'),
180
+					array($this, 'process_invoice'),
181
+					array($this, 'process_fees'),
182
+					array($this, 'process_items'),
183
+					array($this, 'process_discount'),
184
+					array($this, 'process_taxes'),
185 185
 				),
186 186
 				$this
187 187
 			);
188 188
 
189
-			foreach ( $processors as $processor ) {
190
-				call_user_func_array( $processor, array( &$this ) );
189
+			foreach ($processors as $processor) {
190
+				call_user_func_array($processor, array(&$this));
191 191
 			}
192
-} catch ( GetPaid_Payment_Exception $e ) {
192
+} catch (GetPaid_Payment_Exception $e) {
193 193
 			$this->last_error      = $e->getMessage();
194 194
 			$this->last_error_code = $e->getErrorCode();
195
-		} catch ( Exception $e ) {
195
+		} catch (Exception $e) {
196 196
 			$this->last_error      = $e->getMessage();
197 197
 			$this->last_error_code = $e->getCode();
198 198
 		}
199 199
 
200 200
 		// Fired when we are done processing a submission.
201
-		do_action_ref_array( 'getpaid_process_submission', array( &$this ) );
201
+		do_action_ref_array('getpaid_process_submission', array(&$this));
202 202
 
203 203
 	}
204 204
 
@@ -219,18 +219,18 @@  discard block
 block discarded – undo
219 219
 	public function process_payment_form() {
220 220
 
221 221
 		// Every submission needs an active payment form.
222
-		if ( empty( $this->data['form_id'] ) ) {
223
-			throw new Exception( __( 'Missing payment form', 'invoicing' ) );
222
+		if (empty($this->data['form_id'])) {
223
+			throw new Exception(__('Missing payment form', 'invoicing'));
224 224
 		}
225 225
 
226 226
 		// Fetch the payment form.
227
-		$this->payment_form = new GetPaid_Payment_Form( $this->data['form_id'] );
227
+		$this->payment_form = new GetPaid_Payment_Form($this->data['form_id']);
228 228
 
229
-		if ( ! $this->payment_form->is_active() ) {
230
-			throw new Exception( __( 'Payment form not active', 'invoicing' ) );
229
+		if (!$this->payment_form->is_active()) {
230
+			throw new Exception(__('Payment form not active', 'invoicing'));
231 231
 		}
232 232
 
233
-		do_action_ref_array( 'getpaid_submissions_process_payment_form', array( &$this ) );
233
+		do_action_ref_array('getpaid_submissions_process_payment_form', array(&$this));
234 234
 	}
235 235
 
236 236
     /**
@@ -260,53 +260,53 @@  discard block
 block discarded – undo
260 260
 	public function process_invoice() {
261 261
 
262 262
 		// Abort if there is no invoice.
263
-		if ( empty( $this->data['invoice_id'] ) ) {
263
+		if (empty($this->data['invoice_id'])) {
264 264
 			return;
265 265
 		}
266 266
 
267 267
 		// If the submission is for an existing invoice, ensure that it exists
268 268
 		// and that it is not paid for.
269
-		$invoice = wpinv_get_invoice( $this->data['invoice_id'] );
269
+		$invoice = wpinv_get_invoice($this->data['invoice_id']);
270 270
 
271
-        if ( empty( $invoice ) ) {
272
-			throw new Exception( __( 'Invalid invoice', 'invoicing' ) );
271
+        if (empty($invoice)) {
272
+			throw new Exception(__('Invalid invoice', 'invoicing'));
273 273
 		}
274 274
 
275
-		if ( $invoice->is_paid() ) {
276
-			throw new Exception( __( 'This invoice is already paid for.', 'invoicing' ) );
275
+		if ($invoice->is_paid()) {
276
+			throw new Exception(__('This invoice is already paid for.', 'invoicing'));
277 277
 		}
278 278
 
279 279
 		$this->payment_form->invoice = $invoice;
280
-		if ( ! $this->payment_form->is_default() ) {
280
+		if (!$this->payment_form->is_default()) {
281 281
 
282 282
 			$items    = array();
283 283
 			$item_ids = array();
284 284
 
285
-			foreach ( $invoice->get_items() as $item ) {
286
-				if ( ! in_array( $item->get_id(), $item_ids ) ) {
285
+			foreach ($invoice->get_items() as $item) {
286
+				if (!in_array($item->get_id(), $item_ids)) {
287 287
 					$item_ids[] = $item->get_id();
288 288
 					$items[]    = $item;
289 289
 				}
290 290
 			}
291 291
 
292
-			foreach ( $this->payment_form->get_items() as $item ) {
293
-				if ( ! in_array( $item->get_id(), $item_ids ) ) {
292
+			foreach ($this->payment_form->get_items() as $item) {
293
+				if (!in_array($item->get_id(), $item_ids)) {
294 294
 					$item_ids[] = $item->get_id();
295 295
 					$items[]    = $item;
296 296
 				}
297 297
 			}
298 298
 
299
-			$this->payment_form->set_items( $items );
299
+			$this->payment_form->set_items($items);
300 300
 
301 301
 		} else {
302
-			$this->payment_form->set_items( $invoice->get_items() );
302
+			$this->payment_form->set_items($invoice->get_items());
303 303
 		}
304 304
 
305 305
 		$this->country = $invoice->get_country();
306 306
 		$this->state   = $invoice->get_state();
307 307
 		$this->invoice = $invoice;
308 308
 
309
-		do_action_ref_array( 'getpaid_submissions_process_invoice', array( &$this ) );
309
+		do_action_ref_array('getpaid_submissions_process_invoice', array(&$this));
310 310
 	}
311 311
 
312 312
 	/**
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
 	 * @return bool
327 327
 	 */
328 328
 	public function has_invoice() {
329
-		return ! empty( $this->invoice );
329
+		return !empty($this->invoice);
330 330
 	}
331 331
 
332 332
 	/*
@@ -345,13 +345,13 @@  discard block
 block discarded – undo
345 345
 	 */
346 346
 	public function process_items() {
347 347
 
348
-		$processor = new GetPaid_Payment_Form_Submission_Items( $this );
348
+		$processor = new GetPaid_Payment_Form_Submission_Items($this);
349 349
 
350
-		foreach ( $processor->items as $item ) {
351
-			$this->add_item( $item );
350
+		foreach ($processor->items as $item) {
351
+			$this->add_item($item);
352 352
 		}
353 353
 
354
-		do_action_ref_array( 'getpaid_submissions_process_items', array( &$this ) );
354
+		do_action_ref_array('getpaid_submissions_process_items', array(&$this));
355 355
 	}
356 356
 
357 357
 	/**
@@ -360,20 +360,20 @@  discard block
 block discarded – undo
360 360
 	 * @since 1.0.19
361 361
 	 * @param GetPaid_Form_Item $item
362 362
 	 */
363
-	public function add_item( $item ) {
363
+	public function add_item($item) {
364 364
 
365 365
 		// Make sure that it is available for purchase.
366
-		if ( ! $item->can_purchase() || isset( $this->items[ $item->get_id() ] ) ) {
366
+		if (!$item->can_purchase() || isset($this->items[$item->get_id()])) {
367 367
 			return;
368 368
 		}
369 369
 
370 370
 		// Each submission can only contain one recurring item.
371
-		if ( $item->is_recurring() ) {
371
+		if ($item->is_recurring()) {
372 372
 			$this->has_recurring = $item->get_id();
373 373
 		}
374 374
 
375 375
 		// Update the items and totals.
376
-		$this->items[ $item->get_id() ]         = $item;
376
+		$this->items[$item->get_id()]         = $item;
377 377
 		$this->totals['subtotal']['initial']   += $item->get_sub_total();
378 378
 		$this->totals['subtotal']['recurring'] += $item->get_recurring_sub_total();
379 379
 
@@ -387,17 +387,17 @@  discard block
 block discarded – undo
387 387
 	 *
388 388
 	 * @since 1.0.19
389 389
 	 */
390
-	public function remove_item( $item_id ) {
390
+	public function remove_item($item_id) {
391 391
 
392
-		if ( isset( $this->items[ $item_id ] ) ) {
393
-			$this->totals['subtotal']['initial']   -= $this->items[ $item_id ]->get_sub_total();
394
-			$this->totals['subtotal']['recurring'] -= $this->items[ $item_id ]->get_recurring_sub_total();
392
+		if (isset($this->items[$item_id])) {
393
+			$this->totals['subtotal']['initial']   -= $this->items[$item_id]->get_sub_total();
394
+			$this->totals['subtotal']['recurring'] -= $this->items[$item_id]->get_recurring_sub_total();
395 395
 
396
-			if ( $this->items[ $item_id ]->is_recurring() ) {
396
+			if ($this->items[$item_id]->is_recurring()) {
397 397
 				$this->has_recurring = 0;
398 398
 			}
399 399
 
400
-			unset( $this->items[ $item_id ] );
400
+			unset($this->items[$item_id]);
401 401
 		}
402 402
 
403 403
 	}
@@ -409,7 +409,7 @@  discard block
 block discarded – undo
409 409
 	 */
410 410
 	public function get_subtotal() {
411 411
 
412
-		if ( wpinv_prices_include_tax() ) {
412
+		if (wpinv_prices_include_tax()) {
413 413
 			return $this->totals['subtotal']['initial'] - $this->totals['taxes']['initial'];
414 414
 		}
415 415
 
@@ -423,7 +423,7 @@  discard block
 block discarded – undo
423 423
 	 */
424 424
 	public function get_recurring_subtotal() {
425 425
 
426
-		if ( wpinv_prices_include_tax() ) {
426
+		if (wpinv_prices_include_tax()) {
427 427
 			return $this->totals['subtotal']['recurring'] - $this->totals['taxes']['recurring'];
428 428
 		}
429 429
 
@@ -447,7 +447,7 @@  discard block
 block discarded – undo
447 447
 	 * @return bool
448 448
 	 */
449 449
 	public function has_subscription_group() {
450
-		return $this->has_recurring && getpaid_should_group_subscriptions( $this ) && 1 == count( getpaid_get_subscription_groups( $this ) );
450
+		return $this->has_recurring && getpaid_should_group_subscriptions($this) && 1 == count(getpaid_get_subscription_groups($this));
451 451
 	}
452 452
 
453 453
 	/**
@@ -457,7 +457,7 @@  discard block
 block discarded – undo
457 457
 	 * @return bool
458 458
 	 */
459 459
 	public function has_multiple_subscription_groups() {
460
-		return $this->has_recurring && 1 < count( getpaid_get_subscription_groups( $this ) );
460
+		return $this->has_recurring && 1 < count(getpaid_get_subscription_groups($this));
461 461
 	}
462 462
 
463 463
 	/*
@@ -477,39 +477,39 @@  discard block
 block discarded – undo
477 477
 	public function process_taxes() {
478 478
 
479 479
 		// Abort if we're not using taxes.
480
-		if ( ! $this->use_taxes() ) {
480
+		if (!$this->use_taxes()) {
481 481
 			return;
482 482
 		}
483 483
 
484 484
 		// If a custom country && state has been passed in, use it to calculate taxes.
485
-		$country = $this->get_field( 'wpinv_country', 'billing' );
486
-		if ( ! empty( $country ) ) {
485
+		$country = $this->get_field('wpinv_country', 'billing');
486
+		if (!empty($country)) {
487 487
 			$this->country = $country;
488 488
 		}
489 489
 
490
-		$state = $this->get_field( 'wpinv_state', 'billing' );
491
-		if ( ! empty( $state ) ) {
490
+		$state = $this->get_field('wpinv_state', 'billing');
491
+		if (!empty($state)) {
492 492
 			$this->state = $state;
493 493
 		}
494 494
 
495 495
 		// Confirm if the provided country and the ip country are similar.
496
-		$address_confirmed = $this->get_field( 'confirm-address' );
497
-		if ( isset( $_POST['billing']['country'] ) && wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty( $address_confirmed ) ) {
498
-			throw new Exception( __( 'The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing' ) );
496
+		$address_confirmed = $this->get_field('confirm-address');
497
+		if (isset($_POST['billing']['country']) && wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty($address_confirmed)) {
498
+			throw new Exception(__('The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing'));
499 499
 		}
500 500
 
501 501
 		// Abort if the country is not taxable.
502
-		if ( ! wpinv_is_country_taxable( $this->country ) ) {
502
+		if (!wpinv_is_country_taxable($this->country)) {
503 503
 			return;
504 504
 		}
505 505
 
506
-		$processor = new GetPaid_Payment_Form_Submission_Taxes( $this );
506
+		$processor = new GetPaid_Payment_Form_Submission_Taxes($this);
507 507
 
508
-		foreach ( $processor->taxes as $tax ) {
509
-			$this->add_tax( $tax );
508
+		foreach ($processor->taxes as $tax) {
509
+			$this->add_tax($tax);
510 510
 		}
511 511
 
512
-		do_action_ref_array( 'getpaid_submissions_process_taxes', array( &$this ) );
512
+		do_action_ref_array('getpaid_submissions_process_taxes', array(&$this));
513 513
 	}
514 514
 
515 515
 	/**
@@ -518,16 +518,16 @@  discard block
 block discarded – undo
518 518
 	 * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
519 519
 	 * @since 1.0.19
520 520
 	 */
521
-	public function add_tax( $tax ) {
521
+	public function add_tax($tax) {
522 522
 
523
-		if ( wpinv_round_tax_per_tax_rate() ) {
524
-			$tax['initial_tax']   = wpinv_round_amount( $tax['initial_tax'] );
525
-			$tax['recurring_tax'] = wpinv_round_amount( $tax['recurring_tax'] );
523
+		if (wpinv_round_tax_per_tax_rate()) {
524
+			$tax['initial_tax']   = wpinv_round_amount($tax['initial_tax']);
525
+			$tax['recurring_tax'] = wpinv_round_amount($tax['recurring_tax']);
526 526
 		}
527 527
 
528
-		$this->taxes[ $tax['name'] ]         = $tax;
529
-		$this->totals['taxes']['initial']   += wpinv_sanitize_amount( $tax['initial_tax'] );
530
-		$this->totals['taxes']['recurring'] += wpinv_sanitize_amount( $tax['recurring_tax'] );
528
+		$this->taxes[$tax['name']]         = $tax;
529
+		$this->totals['taxes']['initial']   += wpinv_sanitize_amount($tax['initial_tax']);
530
+		$this->totals['taxes']['recurring'] += wpinv_sanitize_amount($tax['recurring_tax']);
531 531
 
532 532
 	}
533 533
 
@@ -536,12 +536,12 @@  discard block
 block discarded – undo
536 536
 	 *
537 537
 	 * @since 1.0.19
538 538
 	 */
539
-	public function remove_tax( $tax_name ) {
539
+	public function remove_tax($tax_name) {
540 540
 
541
-		if ( isset( $this->taxes[ $tax_name ] ) ) {
542
-			$this->totals['taxes']['initial']   -= $this->taxes[ $tax_name ]['initial_tax'];
543
-			$this->totals['taxes']['recurring'] -= $this->taxes[ $tax_name ]['recurring_tax'];
544
-			unset( $this->taxes[ $tax_name ] );
541
+		if (isset($this->taxes[$tax_name])) {
542
+			$this->totals['taxes']['initial']   -= $this->taxes[$tax_name]['initial_tax'];
543
+			$this->totals['taxes']['recurring'] -= $this->taxes[$tax_name]['recurring_tax'];
544
+			unset($this->taxes[$tax_name]);
545 545
 		}
546 546
 
547 547
 	}
@@ -555,11 +555,11 @@  discard block
 block discarded – undo
555 555
 
556 556
 		$use_taxes = wpinv_use_taxes();
557 557
 
558
-		if ( $this->has_invoice() && ! $this->invoice->is_taxable() ) {
558
+		if ($this->has_invoice() && !$this->invoice->is_taxable()) {
559 559
 			$use_taxes = false;
560 560
 		}
561 561
 
562
-		return apply_filters( 'getpaid_submission_use_taxes', $use_taxes, $this );
562
+		return apply_filters('getpaid_submission_use_taxes', $use_taxes, $this);
563 563
 
564 564
 	}
565 565
 
@@ -608,13 +608,13 @@  discard block
 block discarded – undo
608 608
 
609 609
 		$initial_total    = $this->get_subtotal() + $this->get_fee() + $this->get_tax();
610 610
 		$recurring_total  = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax();
611
-		$processor        = new GetPaid_Payment_Form_Submission_Discount( $this, $initial_total, $recurring_total );
611
+		$processor        = new GetPaid_Payment_Form_Submission_Discount($this, $initial_total, $recurring_total);
612 612
 
613
-		foreach ( $processor->discounts as $discount ) {
614
-			$this->add_discount( $discount );
613
+		foreach ($processor->discounts as $discount) {
614
+			$this->add_discount($discount);
615 615
 		}
616 616
 
617
-		do_action_ref_array( 'getpaid_submissions_process_discounts', array( &$this ) );
617
+		do_action_ref_array('getpaid_submissions_process_discounts', array(&$this));
618 618
 	}
619 619
 
620 620
 	/**
@@ -623,10 +623,10 @@  discard block
 block discarded – undo
623 623
 	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
624 624
 	 * @since 1.0.19
625 625
 	 */
626
-	public function add_discount( $discount ) {
627
-		$this->discounts[ $discount['name'] ]   = $discount;
628
-		$this->totals['discount']['initial']   += wpinv_sanitize_amount( $discount['initial_discount'] );
629
-		$this->totals['discount']['recurring'] += wpinv_sanitize_amount( $discount['recurring_discount'] );
626
+	public function add_discount($discount) {
627
+		$this->discounts[$discount['name']]   = $discount;
628
+		$this->totals['discount']['initial']   += wpinv_sanitize_amount($discount['initial_discount']);
629
+		$this->totals['discount']['recurring'] += wpinv_sanitize_amount($discount['recurring_discount']);
630 630
 	}
631 631
 
632 632
 	/**
@@ -634,12 +634,12 @@  discard block
 block discarded – undo
634 634
 	 *
635 635
 	 * @since 1.0.19
636 636
 	 */
637
-	public function remove_discount( $name ) {
637
+	public function remove_discount($name) {
638 638
 
639
-		if ( isset( $this->discounts[ $name ] ) ) {
640
-			$this->totals['discount']['initial']   -= $this->discounts[ $name ]['initial_discount'];
641
-			$this->totals['discount']['recurring'] -= $this->discounts[ $name ]['recurring_discount'];
642
-			unset( $this->discounts[ $name ] );
639
+		if (isset($this->discounts[$name])) {
640
+			$this->totals['discount']['initial']   -= $this->discounts[$name]['initial_discount'];
641
+			$this->totals['discount']['recurring'] -= $this->discounts[$name]['recurring_discount'];
642
+			unset($this->discounts[$name]);
643 643
 		}
644 644
 
645 645
 	}
@@ -651,7 +651,7 @@  discard block
 block discarded – undo
651 651
 	 * @return bool
652 652
 	 */
653 653
 	public function has_discount_code() {
654
-		return ! empty( $this->discounts['discount_code'] );
654
+		return !empty($this->discounts['discount_code']);
655 655
 	}
656 656
 
657 657
 	/**
@@ -708,13 +708,13 @@  discard block
 block discarded – undo
708 708
 	 */
709 709
 	public function process_fees() {
710 710
 
711
-		$fees_processor = new GetPaid_Payment_Form_Submission_Fees( $this );
711
+		$fees_processor = new GetPaid_Payment_Form_Submission_Fees($this);
712 712
 
713
-		foreach ( $fees_processor->fees as $fee ) {
714
-			$this->add_fee( $fee );
713
+		foreach ($fees_processor->fees as $fee) {
714
+			$this->add_fee($fee);
715 715
 		}
716 716
 
717
-		do_action_ref_array( 'getpaid_submissions_process_fees', array( &$this ) );
717
+		do_action_ref_array('getpaid_submissions_process_fees', array(&$this));
718 718
 	}
719 719
 
720 720
 	/**
@@ -723,17 +723,17 @@  discard block
 block discarded – undo
723 723
 	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
724 724
 	 * @since 1.0.19
725 725
 	 */
726
-	public function add_fee( $fee ) {
726
+	public function add_fee($fee) {
727 727
 
728
-		if ( $fee['name'] == 'shipping' ) {
729
-			$this->totals['shipping']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
730
-			$this->totals['shipping']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
728
+		if ($fee['name'] == 'shipping') {
729
+			$this->totals['shipping']['initial']   += wpinv_sanitize_amount($fee['initial_fee']);
730
+			$this->totals['shipping']['recurring'] += wpinv_sanitize_amount($fee['recurring_fee']);
731 731
 			return;
732 732
 		}
733 733
 
734
-		$this->fees[ $fee['name'] ]         = $fee;
735
-		$this->totals['fees']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
736
-		$this->totals['fees']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
734
+		$this->fees[$fee['name']]         = $fee;
735
+		$this->totals['fees']['initial']   += wpinv_sanitize_amount($fee['initial_fee']);
736
+		$this->totals['fees']['recurring'] += wpinv_sanitize_amount($fee['recurring_fee']);
737 737
 
738 738
 	}
739 739
 
@@ -742,15 +742,15 @@  discard block
 block discarded – undo
742 742
 	 *
743 743
 	 * @since 1.0.19
744 744
 	 */
745
-	public function remove_fee( $name ) {
745
+	public function remove_fee($name) {
746 746
 
747
-		if ( isset( $this->fees[ $name ] ) ) {
748
-			$this->totals['fees']['initial']   -= $this->fees[ $name ]['initial_fee'];
749
-			$this->totals['fees']['recurring'] -= $this->fees[ $name ]['recurring_fee'];
750
-			unset( $this->fees[ $name ] );
747
+		if (isset($this->fees[$name])) {
748
+			$this->totals['fees']['initial']   -= $this->fees[$name]['initial_fee'];
749
+			$this->totals['fees']['recurring'] -= $this->fees[$name]['recurring_fee'];
750
+			unset($this->fees[$name]);
751 751
 		}
752 752
 
753
-		if ( 'shipping' == $name ) {
753
+		if ('shipping' == $name) {
754 754
 			$this->totals['shipping']['initial']   = 0;
755 755
 			$this->totals['shipping']['recurring'] = 0;
756 756
 		}
@@ -791,7 +791,7 @@  discard block
 block discarded – undo
791 791
 	 * @since 1.0.19
792 792
 	 */
793 793
 	public function has_fees() {
794
-		return count( $this->fees ) !== 0;
794
+		return count($this->fees) !== 0;
795 795
 	}
796 796
 
797 797
 	/*
@@ -827,7 +827,7 @@  discard block
 block discarded – undo
827 827
 	 * @since 1.0.19
828 828
 	 */
829 829
 	public function has_shipping() {
830
-		return apply_filters( 'getpaid_payment_form_has_shipping', false, $this );
830
+		return apply_filters('getpaid_payment_form_has_shipping', false, $this);
831 831
 	}
832 832
 
833 833
 	/**
@@ -837,7 +837,7 @@  discard block
 block discarded – undo
837 837
 	 * @since 1.0.19
838 838
 	 */
839 839
 	public function is_initial_fetch() {
840
-		return empty( $this->data['initial_state'] );
840
+		return empty($this->data['initial_state']);
841 841
 	}
842 842
 
843 843
 	/**
@@ -847,7 +847,7 @@  discard block
 block discarded – undo
847 847
 	 */
848 848
 	public function get_total() {
849 849
 		$total = $this->get_subtotal() + $this->get_fee() + $this->get_tax() + $this->get_shipping() - $this->get_discount();
850
-		return max( $total, 0 );
850
+		return max($total, 0);
851 851
 	}
852 852
 
853 853
 	/**
@@ -857,7 +857,7 @@  discard block
 block discarded – undo
857 857
 	 */
858 858
 	public function get_recurring_total() {
859 859
 		$total = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax() + $this->get_recurring_shipping() - $this->get_recurring_discount();
860
-		return max( $total, 0 );
860
+		return max($total, 0);
861 861
 	}
862 862
 
863 863
 	/**
@@ -869,12 +869,12 @@  discard block
 block discarded – undo
869 869
 		$initial   = $this->get_total();
870 870
 		$recurring = $this->get_recurring_total();
871 871
 
872
-		if ( $this->has_recurring == 0 ) {
872
+		if ($this->has_recurring == 0) {
873 873
 			$recurring = 0;
874 874
 		}
875 875
 
876 876
 		$collect = $initial > 0 || $recurring > 0;
877
-		return apply_filters( 'getpaid_submission_should_collect_payment_details', $collect, $this );
877
+		return apply_filters('getpaid_submission_should_collect_payment_details', $collect, $this);
878 878
 	}
879 879
 
880 880
 	/**
@@ -883,7 +883,7 @@  discard block
 block discarded – undo
883 883
 	 * @since 1.0.19
884 884
 	 */
885 885
 	public function get_billing_email() {
886
-		return apply_filters( 'getpaid_get_submission_billing_email', $this->get_field( 'billing_email' ), $this );
886
+		return apply_filters('getpaid_get_submission_billing_email', $this->get_field('billing_email'), $this);
887 887
 	}
888 888
 
889 889
 	/**
@@ -893,7 +893,7 @@  discard block
 block discarded – undo
893 893
 	 */
894 894
 	public function has_billing_email() {
895 895
 		$billing_email = $this->get_billing_email();
896
-		return ! empty( $billing_email ) && is_email( $billing_email );
896
+		return !empty($billing_email) && is_email($billing_email);
897 897
 	}
898 898
 
899 899
 	/**
@@ -923,8 +923,8 @@  discard block
 block discarded – undo
923 923
 	 * @since 1.0.19
924 924
 	 * @return mixed|null
925 925
 	 */
926
-	public function get_field( $field, $sub_array_key = null ) {
927
-		return getpaid_get_array_field( $this->data, $field, $sub_array_key );
926
+	public function get_field($field, $sub_array_key = null) {
927
+		return getpaid_get_array_field($this->data, $field, $sub_array_key);
928 928
 	}
929 929
 
930 930
 	/**
@@ -932,8 +932,8 @@  discard block
 block discarded – undo
932 932
 	 *
933 933
 	 * @since 1.0.19
934 934
 	 */
935
-	public function is_required_field_set( $field ) {
936
-		return empty( $field['required'] ) || ! empty( $this->data[ $field['id'] ] );
935
+	public function is_required_field_set($field) {
936
+		return empty($field['required']) || !empty($this->data[$field['id']]);
937 937
 	}
938 938
 
939 939
 	/**
@@ -941,8 +941,8 @@  discard block
 block discarded – undo
941 941
 	 *
942 942
 	 * @since 1.0.19
943 943
 	 */
944
-	public function format_amount( $amount ) {
945
-		return wpinv_price( $amount, $this->get_currency() );
944
+	public function format_amount($amount) {
945
+		return wpinv_price($amount, $this->get_currency());
946 946
 	}
947 947
 
948 948
 }
Please login to merge, or discard this patch.
includes/payments/class-getpaid-form-item.php 2 patches
Indentation   +359 added lines, -359 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 /**
@@ -10,67 +10,67 @@  discard block
 block discarded – undo
10 10
 class GetPaid_Form_Item  extends WPInv_Item {
11 11
 
12 12
     /**
13
-	 * Stores a custom description for the item.
14
-	 *
15
-	 * @var string
16
-	 */
17
-	protected $custom_description = null;
18
-
19
-	/**
20
-	 * Stores the item quantity.
21
-	 *
22
-	 * @var float
23
-	 */
24
-	protected $quantity = 1;
25
-
26
-	/**
27
-	 * Stores the item meta.
28
-	 *
29
-	 * @var array
30
-	 */
31
-	protected $meta = array();
32
-
33
-	/**
34
-	 * Is this item required?
35
-	 *
36
-	 * @var int
37
-	 */
38
-	protected $is_required = true;
39
-
40
-	/**
41
-	 * Are quantities allowed?
42
-	 *
43
-	 * @var int
44
-	 */
45
-	protected $allow_quantities = false;
46
-
47
-	/**
48
-	 * Associated invoice.
49
-	 *
50
-	 * @var int
51
-	 */
52
-	public $invoice_id = 0;
53
-
54
-	/**
55
-	 * Item discount.
56
-	 *
57
-	 * @var float
58
-	 */
59
-	public $item_discount = 0;
60
-
61
-	/**
62
-	 * Recurring item discount.
63
-	 *
64
-	 * @var float
65
-	 */
66
-	public $recurring_item_discount = 0;
67
-
68
-	/**
69
-	 * Item tax.
70
-	 *
71
-	 * @var float
72
-	 */
73
-	public $item_tax = 0;
13
+     * Stores a custom description for the item.
14
+     *
15
+     * @var string
16
+     */
17
+    protected $custom_description = null;
18
+
19
+    /**
20
+     * Stores the item quantity.
21
+     *
22
+     * @var float
23
+     */
24
+    protected $quantity = 1;
25
+
26
+    /**
27
+     * Stores the item meta.
28
+     *
29
+     * @var array
30
+     */
31
+    protected $meta = array();
32
+
33
+    /**
34
+     * Is this item required?
35
+     *
36
+     * @var int
37
+     */
38
+    protected $is_required = true;
39
+
40
+    /**
41
+     * Are quantities allowed?
42
+     *
43
+     * @var int
44
+     */
45
+    protected $allow_quantities = false;
46
+
47
+    /**
48
+     * Associated invoice.
49
+     *
50
+     * @var int
51
+     */
52
+    public $invoice_id = 0;
53
+
54
+    /**
55
+     * Item discount.
56
+     *
57
+     * @var float
58
+     */
59
+    public $item_discount = 0;
60
+
61
+    /**
62
+     * Recurring item discount.
63
+     *
64
+     * @var float
65
+     */
66
+    public $recurring_item_discount = 0;
67
+
68
+    /**
69
+     * Item tax.
70
+     *
71
+     * @var float
72
+     */
73
+    public $item_tax = 0;
74 74
 
75 75
     /*
76 76
 	|--------------------------------------------------------------------------
@@ -88,230 +88,230 @@  discard block
 block discarded – undo
88 88
     */
89 89
 
90 90
     /**
91
-	 * Get the item name.
92
-	 *
93
-	 * @since 1.0.19
94
-	 * @param  string $context View or edit context.
95
-	 * @return string
96
-	 */
97
-	public function get_name( $context = 'view' ) {
98
-		$name = parent::get_name( $context );
99
-		return $name . wpinv_get_item_suffix( $this );
100
-	}
101
-
102
-	/**
103
-	 * Get the item name without a suffix.
104
-	 *
105
-	 * @since 1.0.19
106
-	 * @param  string $context View or edit context.
107
-	 * @return string
108
-	 */
109
-	public function get_raw_name( $context = 'view' ) {
110
-		return parent::get_name( $context );
111
-	}
112
-
113
-	/**
114
-	 * Get the item description.
115
-	 *
116
-	 * @since 1.0.19
117
-	 * @param  string $context View or edit context.
118
-	 * @return string
119
-	 */
120
-	public function get_description( $context = 'view' ) {
121
-
122
-		if ( isset( $this->custom_description ) ) {
123
-			return $this->custom_description;
124
-		}
125
-
126
-		return parent::get_description( $context );
127
-	}
128
-
129
-	/**
130
-	 * Returns the sub total.
131
-	 *
132
-	 * @since 1.0.19
133
-	 * @param  string $context View or edit context.
134
-	 * @return float
135
-	 */
136
-	public function get_sub_total( $context = 'view' ) {
137
-		return $this->get_quantity( $context ) * $this->get_initial_price( $context );
138
-	}
139
-
140
-	/**
141
-	 * Returns the recurring sub total.
142
-	 *
143
-	 * @since 1.0.19
144
-	 * @param  string $context View or edit context.
145
-	 * @return float
146
-	 */
147
-	public function get_recurring_sub_total( $context = 'view' ) {
148
-
149
-		if ( $this->is_recurring() ) {
150
-			return $this->get_quantity( $context ) * $this->get_price( $context );
151
-		}
152
-
153
-		return 0;
154
-	}
155
-
156
-	/**
157
-	 * @deprecated
158
-	 */
159
-	public function get_qantity( $context = 'view' ) {
160
-		return $this->get_quantity( $context );
161
-	}
162
-
163
-	/**
164
-	 * Get the item quantity.
165
-	 *
166
-	 * @since 1.0.19
167
-	 * @param  string $context View or edit context.
168
-	 * @return float
169
-	 */
170
-	public function get_quantity( $context = 'view' ) {
171
-		$quantity = (float) $this->quantity;
172
-
173
-		if ( 'view' == $context ) {
174
-			return apply_filters( 'getpaid_payment_form_item_quantity', $quantity, $this );
175
-		}
176
-
177
-		return $quantity;
178
-
179
-	}
180
-
181
-	/**
182
-	 * Get the item meta data.
183
-	 *
184
-	 * @since 1.0.19
185
-	 * @param  string $context View or edit context.
186
-	 * @return meta
187
-	 */
188
-	public function get_item_meta( $context = 'view' ) {
189
-		$meta = $this->meta;
190
-
191
-		if ( 'view' == $context ) {
192
-			return apply_filters( 'getpaid_payment_form_item_meta', $meta, $this );
193
-		}
194
-
195
-		return $meta;
196
-
197
-	}
198
-
199
-	/**
200
-	 * Returns whether or not customers can update the item quantity.
201
-	 *
202
-	 * @since 1.0.19
203
-	 * @param  string $context View or edit context.
204
-	 * @return bool
205
-	 */
206
-	public function get_allow_quantities( $context = 'view' ) {
207
-		$allow_quantities = (bool) $this->allow_quantities;
208
-
209
-		if ( 'view' == $context ) {
210
-			return apply_filters( 'getpaid_payment_form_item_allow_quantities', $allow_quantities, $this );
211
-		}
212
-
213
-		return $allow_quantities;
214
-
215
-	}
216
-
217
-	/**
218
-	 * Returns whether or not the item is required.
219
-	 *
220
-	 * @since 1.0.19
221
-	 * @param  string $context View or edit context.
222
-	 * @return bool
223
-	 */
224
-	public function get_is_required( $context = 'view' ) {
225
-		$is_required = (bool) $this->is_required;
226
-
227
-		if ( 'view' == $context ) {
228
-			return apply_filters( 'getpaid_payment_form_item_is_required', $is_required, $this );
229
-		}
230
-
231
-		return $is_required;
232
-
233
-	}
234
-
235
-	/**
236
-	 * Prepares form data for use.
237
-	 *
238
-	 * @since 1.0.19
239
-	 * @return array
240
-	 */
241
-	public function prepare_data_for_use( $required = null ) {
242
-
243
-		$required = is_null( $required ) ? $this->is_required() : $required;
244
-		return array(
245
-			'title'            => strip_tags( $this->get_name() ),
246
-			'id'               => $this->get_id(),
247
-			'price'            => $this->get_price(),
248
-			'recurring'        => $this->is_recurring(),
249
-			'description'      => $this->get_description(),
250
-			'allow_quantities' => $this->allows_quantities(),
251
-			'required'         => $required,
252
-		);
253
-
254
-	}
255
-
256
-	/**
257
-	 * Prepares form data for ajax use.
258
-	 *
259
-	 * @since 1.0.19
260
-	 * @return array
261
-	 */
262
-	public function prepare_data_for_invoice_edit_ajax( $currency = '', $is_renewal = false ) {
263
-
264
-		$description = getpaid_item_recurring_price_help_text( $this, $currency );
265
-
266
-		if ( $description ) {
267
-			$description = "<div class='getpaid-subscription-help-text'>$description</div>";
268
-		}
269
-
270
-		$price    = ! $is_renewal ? $this->get_price() : $this->get_recurring_price();
271
-		$subtotal = ! $is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total();
272
-		return array(
273
-			'id'     => $this->get_id(),
274
-			'texts'  => array(
275
-				'item-name'        => sanitize_text_field( $this->get_name() ),
276
-				'item-description' => wp_kses_post( $this->get_description() ) . $description,
277
-				'item-quantity'    => floatval( $this->get_quantity() ),
278
-				'item-price'       => wpinv_price( $price, $currency ),
279
-				'item-total'       => wpinv_price( $subtotal, $currency ),
280
-			),
281
-			'inputs' => array(
282
-				'item-id'          => $this->get_id(),
283
-				'item-name'        => sanitize_text_field( $this->get_name() ),
284
-				'item-description' => wp_kses_post( $this->get_description() ),
285
-				'item-quantity'    => floatval( $this->get_quantity() ),
286
-				'item-price'       => $price,
287
-			),
288
-		);
289
-
290
-	}
291
-
292
-	/**
293
-	 * Prepares form data for saving (cart_details).
294
-	 *
295
-	 * @since 1.0.19
296
-	 * @return array
297
-	 */
298
-	public function prepare_data_for_saving() {
299
-
300
-		return array(
301
-			'post_id'          => $this->invoice_id,
302
-			'item_id'          => $this->get_id(),
303
-			'item_name'        => sanitize_text_field( $this->get_raw_name( 'edit' ) ),
304
-			'item_description' => $this->get_description( 'edit' ),
305
-			'tax'              => $this->item_tax,
306
-			'item_price'       => $this->get_price( 'edit' ),
307
-			'quantity'         => (float) $this->get_quantity( 'edit' ),
308
-			'discount'         => $this->item_discount,
309
-			'subtotal'         => $this->get_sub_total( 'edit' ),
310
-			'price'            => $this->get_sub_total( 'edit' ) + $this->item_tax - $this->item_discount,
311
-			'meta'             => $this->get_item_meta( 'edit' ),
312
-		);
313
-
314
-	}
91
+     * Get the item name.
92
+     *
93
+     * @since 1.0.19
94
+     * @param  string $context View or edit context.
95
+     * @return string
96
+     */
97
+    public function get_name( $context = 'view' ) {
98
+        $name = parent::get_name( $context );
99
+        return $name . wpinv_get_item_suffix( $this );
100
+    }
101
+
102
+    /**
103
+     * Get the item name without a suffix.
104
+     *
105
+     * @since 1.0.19
106
+     * @param  string $context View or edit context.
107
+     * @return string
108
+     */
109
+    public function get_raw_name( $context = 'view' ) {
110
+        return parent::get_name( $context );
111
+    }
112
+
113
+    /**
114
+     * Get the item description.
115
+     *
116
+     * @since 1.0.19
117
+     * @param  string $context View or edit context.
118
+     * @return string
119
+     */
120
+    public function get_description( $context = 'view' ) {
121
+
122
+        if ( isset( $this->custom_description ) ) {
123
+            return $this->custom_description;
124
+        }
125
+
126
+        return parent::get_description( $context );
127
+    }
128
+
129
+    /**
130
+     * Returns the sub total.
131
+     *
132
+     * @since 1.0.19
133
+     * @param  string $context View or edit context.
134
+     * @return float
135
+     */
136
+    public function get_sub_total( $context = 'view' ) {
137
+        return $this->get_quantity( $context ) * $this->get_initial_price( $context );
138
+    }
139
+
140
+    /**
141
+     * Returns the recurring sub total.
142
+     *
143
+     * @since 1.0.19
144
+     * @param  string $context View or edit context.
145
+     * @return float
146
+     */
147
+    public function get_recurring_sub_total( $context = 'view' ) {
148
+
149
+        if ( $this->is_recurring() ) {
150
+            return $this->get_quantity( $context ) * $this->get_price( $context );
151
+        }
152
+
153
+        return 0;
154
+    }
155
+
156
+    /**
157
+     * @deprecated
158
+     */
159
+    public function get_qantity( $context = 'view' ) {
160
+        return $this->get_quantity( $context );
161
+    }
162
+
163
+    /**
164
+     * Get the item quantity.
165
+     *
166
+     * @since 1.0.19
167
+     * @param  string $context View or edit context.
168
+     * @return float
169
+     */
170
+    public function get_quantity( $context = 'view' ) {
171
+        $quantity = (float) $this->quantity;
172
+
173
+        if ( 'view' == $context ) {
174
+            return apply_filters( 'getpaid_payment_form_item_quantity', $quantity, $this );
175
+        }
176
+
177
+        return $quantity;
178
+
179
+    }
180
+
181
+    /**
182
+     * Get the item meta data.
183
+     *
184
+     * @since 1.0.19
185
+     * @param  string $context View or edit context.
186
+     * @return meta
187
+     */
188
+    public function get_item_meta( $context = 'view' ) {
189
+        $meta = $this->meta;
190
+
191
+        if ( 'view' == $context ) {
192
+            return apply_filters( 'getpaid_payment_form_item_meta', $meta, $this );
193
+        }
194
+
195
+        return $meta;
196
+
197
+    }
198
+
199
+    /**
200
+     * Returns whether or not customers can update the item quantity.
201
+     *
202
+     * @since 1.0.19
203
+     * @param  string $context View or edit context.
204
+     * @return bool
205
+     */
206
+    public function get_allow_quantities( $context = 'view' ) {
207
+        $allow_quantities = (bool) $this->allow_quantities;
208
+
209
+        if ( 'view' == $context ) {
210
+            return apply_filters( 'getpaid_payment_form_item_allow_quantities', $allow_quantities, $this );
211
+        }
212
+
213
+        return $allow_quantities;
214
+
215
+    }
216
+
217
+    /**
218
+     * Returns whether or not the item is required.
219
+     *
220
+     * @since 1.0.19
221
+     * @param  string $context View or edit context.
222
+     * @return bool
223
+     */
224
+    public function get_is_required( $context = 'view' ) {
225
+        $is_required = (bool) $this->is_required;
226
+
227
+        if ( 'view' == $context ) {
228
+            return apply_filters( 'getpaid_payment_form_item_is_required', $is_required, $this );
229
+        }
230
+
231
+        return $is_required;
232
+
233
+    }
234
+
235
+    /**
236
+     * Prepares form data for use.
237
+     *
238
+     * @since 1.0.19
239
+     * @return array
240
+     */
241
+    public function prepare_data_for_use( $required = null ) {
242
+
243
+        $required = is_null( $required ) ? $this->is_required() : $required;
244
+        return array(
245
+            'title'            => strip_tags( $this->get_name() ),
246
+            'id'               => $this->get_id(),
247
+            'price'            => $this->get_price(),
248
+            'recurring'        => $this->is_recurring(),
249
+            'description'      => $this->get_description(),
250
+            'allow_quantities' => $this->allows_quantities(),
251
+            'required'         => $required,
252
+        );
253
+
254
+    }
255
+
256
+    /**
257
+     * Prepares form data for ajax use.
258
+     *
259
+     * @since 1.0.19
260
+     * @return array
261
+     */
262
+    public function prepare_data_for_invoice_edit_ajax( $currency = '', $is_renewal = false ) {
263
+
264
+        $description = getpaid_item_recurring_price_help_text( $this, $currency );
265
+
266
+        if ( $description ) {
267
+            $description = "<div class='getpaid-subscription-help-text'>$description</div>";
268
+        }
269
+
270
+        $price    = ! $is_renewal ? $this->get_price() : $this->get_recurring_price();
271
+        $subtotal = ! $is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total();
272
+        return array(
273
+            'id'     => $this->get_id(),
274
+            'texts'  => array(
275
+                'item-name'        => sanitize_text_field( $this->get_name() ),
276
+                'item-description' => wp_kses_post( $this->get_description() ) . $description,
277
+                'item-quantity'    => floatval( $this->get_quantity() ),
278
+                'item-price'       => wpinv_price( $price, $currency ),
279
+                'item-total'       => wpinv_price( $subtotal, $currency ),
280
+            ),
281
+            'inputs' => array(
282
+                'item-id'          => $this->get_id(),
283
+                'item-name'        => sanitize_text_field( $this->get_name() ),
284
+                'item-description' => wp_kses_post( $this->get_description() ),
285
+                'item-quantity'    => floatval( $this->get_quantity() ),
286
+                'item-price'       => $price,
287
+            ),
288
+        );
289
+
290
+    }
291
+
292
+    /**
293
+     * Prepares form data for saving (cart_details).
294
+     *
295
+     * @since 1.0.19
296
+     * @return array
297
+     */
298
+    public function prepare_data_for_saving() {
299
+
300
+        return array(
301
+            'post_id'          => $this->invoice_id,
302
+            'item_id'          => $this->get_id(),
303
+            'item_name'        => sanitize_text_field( $this->get_raw_name( 'edit' ) ),
304
+            'item_description' => $this->get_description( 'edit' ),
305
+            'tax'              => $this->item_tax,
306
+            'item_price'       => $this->get_price( 'edit' ),
307
+            'quantity'         => (float) $this->get_quantity( 'edit' ),
308
+            'discount'         => $this->item_discount,
309
+            'subtotal'         => $this->get_sub_total( 'edit' ),
310
+            'price'            => $this->get_sub_total( 'edit' ) + $this->item_tax - $this->item_discount,
311
+            'meta'             => $this->get_item_meta( 'edit' ),
312
+        );
313
+
314
+    }
315 315
 
316 316
     /*
317 317
 	|--------------------------------------------------------------------------
@@ -323,70 +323,70 @@  discard block
 block discarded – undo
323 323
 	| object.
324 324
     */
325 325
 
326
-	/**
327
-	 * Set the item qantity.
328
-	 *
329
-	 * @since 1.0.19
330
-	 * @param  float $quantity The item quantity.
331
-	 */
332
-	public function set_quantity( $quantity ) {
333
-
334
-		if ( ! is_numeric( $quantity ) ) {
335
-			$quantity = 1;
336
-		}
337
-
338
-		$this->quantity = (float) $quantity;
339
-
340
-	}
341
-
342
-	/**
343
-	 * Set the item meta data.
344
-	 *
345
-	 * @since 1.0.19
346
-	 * @param  array $meta The item meta data.
347
-	 */
348
-	public function set_item_meta( $meta ) {
349
-		$this->meta = maybe_unserialize( $meta );
350
-	}
351
-
352
-	/**
353
-	 * Set whether or not the quantities are allowed.
354
-	 *
355
-	 * @since 1.0.19
356
-	 * @param  bool $allow_quantities
357
-	 */
358
-	public function set_allow_quantities( $allow_quantities ) {
359
-		$this->allow_quantities = (bool) $allow_quantities;
360
-	}
361
-
362
-	/**
363
-	 * Set whether or not the item is required.
364
-	 *
365
-	 * @since 1.0.19
366
-	 * @param  bool $is_required
367
-	 */
368
-	public function set_is_required( $is_required ) {
369
-		$this->is_required = (bool) $is_required;
370
-	}
371
-
372
-	/**
373
-	 * Sets the custom item description.
374
-	 *
375
-	 * @since 1.0.19
376
-	 * @param  string $description
377
-	 */
378
-	public function set_custom_description( $description ) {
379
-		$this->custom_description = $description;
380
-	}
326
+    /**
327
+     * Set the item qantity.
328
+     *
329
+     * @since 1.0.19
330
+     * @param  float $quantity The item quantity.
331
+     */
332
+    public function set_quantity( $quantity ) {
333
+
334
+        if ( ! is_numeric( $quantity ) ) {
335
+            $quantity = 1;
336
+        }
337
+
338
+        $this->quantity = (float) $quantity;
339
+
340
+    }
341
+
342
+    /**
343
+     * Set the item meta data.
344
+     *
345
+     * @since 1.0.19
346
+     * @param  array $meta The item meta data.
347
+     */
348
+    public function set_item_meta( $meta ) {
349
+        $this->meta = maybe_unserialize( $meta );
350
+    }
351
+
352
+    /**
353
+     * Set whether or not the quantities are allowed.
354
+     *
355
+     * @since 1.0.19
356
+     * @param  bool $allow_quantities
357
+     */
358
+    public function set_allow_quantities( $allow_quantities ) {
359
+        $this->allow_quantities = (bool) $allow_quantities;
360
+    }
361
+
362
+    /**
363
+     * Set whether or not the item is required.
364
+     *
365
+     * @since 1.0.19
366
+     * @param  bool $is_required
367
+     */
368
+    public function set_is_required( $is_required ) {
369
+        $this->is_required = (bool) $is_required;
370
+    }
371
+
372
+    /**
373
+     * Sets the custom item description.
374
+     *
375
+     * @since 1.0.19
376
+     * @param  string $description
377
+     */
378
+    public function set_custom_description( $description ) {
379
+        $this->custom_description = $description;
380
+    }
381 381
 
382 382
     /**
383 383
      * We do not want to save items to the database.
384 384
      *
385
-	 * @return int item id
385
+     * @return int item id
386 386
      */
387 387
     public function save( $data = array() ) {
388 388
         return $this->get_id();
389
-	}
389
+    }
390 390
 
391 391
     /*
392 392
 	|--------------------------------------------------------------------------
@@ -398,23 +398,23 @@  discard block
 block discarded – undo
398 398
 	*/
399 399
 
400 400
     /**
401
-	 * Checks whether the item has enabled dynamic pricing.
402
-	 *
403
-	 * @since 1.0.19
404
-	 * @return bool
405
-	 */
406
-	public function is_required() {
401
+     * Checks whether the item has enabled dynamic pricing.
402
+     *
403
+     * @since 1.0.19
404
+     * @return bool
405
+     */
406
+    public function is_required() {
407 407
         return (bool) $this->get_is_required();
408
-	}
409
-
410
-	/**
411
-	 * Checks whether users can edit the quantities.
412
-	 *
413
-	 * @since 1.0.19
414
-	 * @return bool
415
-	 */
416
-	public function allows_quantities() {
408
+    }
409
+
410
+    /**
411
+     * Checks whether users can edit the quantities.
412
+     *
413
+     * @since 1.0.19
414
+     * @return bool
415
+     */
416
+    public function allows_quantities() {
417 417
         return (bool) $this->get_allow_quantities();
418
-	}
418
+    }
419 419
 
420 420
 }
Please login to merge, or discard this patch.
Spacing   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -94,9 +94,9 @@  discard block
 block discarded – undo
94 94
 	 * @param  string $context View or edit context.
95 95
 	 * @return string
96 96
 	 */
97
-	public function get_name( $context = 'view' ) {
98
-		$name = parent::get_name( $context );
99
-		return $name . wpinv_get_item_suffix( $this );
97
+	public function get_name($context = 'view') {
98
+		$name = parent::get_name($context);
99
+		return $name . wpinv_get_item_suffix($this);
100 100
 	}
101 101
 
102 102
 	/**
@@ -106,8 +106,8 @@  discard block
 block discarded – undo
106 106
 	 * @param  string $context View or edit context.
107 107
 	 * @return string
108 108
 	 */
109
-	public function get_raw_name( $context = 'view' ) {
110
-		return parent::get_name( $context );
109
+	public function get_raw_name($context = 'view') {
110
+		return parent::get_name($context);
111 111
 	}
112 112
 
113 113
 	/**
@@ -117,13 +117,13 @@  discard block
 block discarded – undo
117 117
 	 * @param  string $context View or edit context.
118 118
 	 * @return string
119 119
 	 */
120
-	public function get_description( $context = 'view' ) {
120
+	public function get_description($context = 'view') {
121 121
 
122
-		if ( isset( $this->custom_description ) ) {
122
+		if (isset($this->custom_description)) {
123 123
 			return $this->custom_description;
124 124
 		}
125 125
 
126
-		return parent::get_description( $context );
126
+		return parent::get_description($context);
127 127
 	}
128 128
 
129 129
 	/**
@@ -133,8 +133,8 @@  discard block
 block discarded – undo
133 133
 	 * @param  string $context View or edit context.
134 134
 	 * @return float
135 135
 	 */
136
-	public function get_sub_total( $context = 'view' ) {
137
-		return $this->get_quantity( $context ) * $this->get_initial_price( $context );
136
+	public function get_sub_total($context = 'view') {
137
+		return $this->get_quantity($context) * $this->get_initial_price($context);
138 138
 	}
139 139
 
140 140
 	/**
@@ -144,10 +144,10 @@  discard block
 block discarded – undo
144 144
 	 * @param  string $context View or edit context.
145 145
 	 * @return float
146 146
 	 */
147
-	public function get_recurring_sub_total( $context = 'view' ) {
147
+	public function get_recurring_sub_total($context = 'view') {
148 148
 
149
-		if ( $this->is_recurring() ) {
150
-			return $this->get_quantity( $context ) * $this->get_price( $context );
149
+		if ($this->is_recurring()) {
150
+			return $this->get_quantity($context) * $this->get_price($context);
151 151
 		}
152 152
 
153 153
 		return 0;
@@ -156,8 +156,8 @@  discard block
 block discarded – undo
156 156
 	/**
157 157
 	 * @deprecated
158 158
 	 */
159
-	public function get_qantity( $context = 'view' ) {
160
-		return $this->get_quantity( $context );
159
+	public function get_qantity($context = 'view') {
160
+		return $this->get_quantity($context);
161 161
 	}
162 162
 
163 163
 	/**
@@ -167,11 +167,11 @@  discard block
 block discarded – undo
167 167
 	 * @param  string $context View or edit context.
168 168
 	 * @return float
169 169
 	 */
170
-	public function get_quantity( $context = 'view' ) {
170
+	public function get_quantity($context = 'view') {
171 171
 		$quantity = (float) $this->quantity;
172 172
 
173
-		if ( 'view' == $context ) {
174
-			return apply_filters( 'getpaid_payment_form_item_quantity', $quantity, $this );
173
+		if ('view' == $context) {
174
+			return apply_filters('getpaid_payment_form_item_quantity', $quantity, $this);
175 175
 		}
176 176
 
177 177
 		return $quantity;
@@ -185,11 +185,11 @@  discard block
 block discarded – undo
185 185
 	 * @param  string $context View or edit context.
186 186
 	 * @return meta
187 187
 	 */
188
-	public function get_item_meta( $context = 'view' ) {
188
+	public function get_item_meta($context = 'view') {
189 189
 		$meta = $this->meta;
190 190
 
191
-		if ( 'view' == $context ) {
192
-			return apply_filters( 'getpaid_payment_form_item_meta', $meta, $this );
191
+		if ('view' == $context) {
192
+			return apply_filters('getpaid_payment_form_item_meta', $meta, $this);
193 193
 		}
194 194
 
195 195
 		return $meta;
@@ -203,11 +203,11 @@  discard block
 block discarded – undo
203 203
 	 * @param  string $context View or edit context.
204 204
 	 * @return bool
205 205
 	 */
206
-	public function get_allow_quantities( $context = 'view' ) {
206
+	public function get_allow_quantities($context = 'view') {
207 207
 		$allow_quantities = (bool) $this->allow_quantities;
208 208
 
209
-		if ( 'view' == $context ) {
210
-			return apply_filters( 'getpaid_payment_form_item_allow_quantities', $allow_quantities, $this );
209
+		if ('view' == $context) {
210
+			return apply_filters('getpaid_payment_form_item_allow_quantities', $allow_quantities, $this);
211 211
 		}
212 212
 
213 213
 		return $allow_quantities;
@@ -221,11 +221,11 @@  discard block
 block discarded – undo
221 221
 	 * @param  string $context View or edit context.
222 222
 	 * @return bool
223 223
 	 */
224
-	public function get_is_required( $context = 'view' ) {
224
+	public function get_is_required($context = 'view') {
225 225
 		$is_required = (bool) $this->is_required;
226 226
 
227
-		if ( 'view' == $context ) {
228
-			return apply_filters( 'getpaid_payment_form_item_is_required', $is_required, $this );
227
+		if ('view' == $context) {
228
+			return apply_filters('getpaid_payment_form_item_is_required', $is_required, $this);
229 229
 		}
230 230
 
231 231
 		return $is_required;
@@ -238,11 +238,11 @@  discard block
 block discarded – undo
238 238
 	 * @since 1.0.19
239 239
 	 * @return array
240 240
 	 */
241
-	public function prepare_data_for_use( $required = null ) {
241
+	public function prepare_data_for_use($required = null) {
242 242
 
243
-		$required = is_null( $required ) ? $this->is_required() : $required;
243
+		$required = is_null($required) ? $this->is_required() : $required;
244 244
 		return array(
245
-			'title'            => strip_tags( $this->get_name() ),
245
+			'title'            => strip_tags($this->get_name()),
246 246
 			'id'               => $this->get_id(),
247 247
 			'price'            => $this->get_price(),
248 248
 			'recurring'        => $this->is_recurring(),
@@ -259,30 +259,30 @@  discard block
 block discarded – undo
259 259
 	 * @since 1.0.19
260 260
 	 * @return array
261 261
 	 */
262
-	public function prepare_data_for_invoice_edit_ajax( $currency = '', $is_renewal = false ) {
262
+	public function prepare_data_for_invoice_edit_ajax($currency = '', $is_renewal = false) {
263 263
 
264
-		$description = getpaid_item_recurring_price_help_text( $this, $currency );
264
+		$description = getpaid_item_recurring_price_help_text($this, $currency);
265 265
 
266
-		if ( $description ) {
266
+		if ($description) {
267 267
 			$description = "<div class='getpaid-subscription-help-text'>$description</div>";
268 268
 		}
269 269
 
270
-		$price    = ! $is_renewal ? $this->get_price() : $this->get_recurring_price();
271
-		$subtotal = ! $is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total();
270
+		$price    = !$is_renewal ? $this->get_price() : $this->get_recurring_price();
271
+		$subtotal = !$is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total();
272 272
 		return array(
273 273
 			'id'     => $this->get_id(),
274 274
 			'texts'  => array(
275
-				'item-name'        => sanitize_text_field( $this->get_name() ),
276
-				'item-description' => wp_kses_post( $this->get_description() ) . $description,
277
-				'item-quantity'    => floatval( $this->get_quantity() ),
278
-				'item-price'       => wpinv_price( $price, $currency ),
279
-				'item-total'       => wpinv_price( $subtotal, $currency ),
275
+				'item-name'        => sanitize_text_field($this->get_name()),
276
+				'item-description' => wp_kses_post($this->get_description()) . $description,
277
+				'item-quantity'    => floatval($this->get_quantity()),
278
+				'item-price'       => wpinv_price($price, $currency),
279
+				'item-total'       => wpinv_price($subtotal, $currency),
280 280
 			),
281 281
 			'inputs' => array(
282 282
 				'item-id'          => $this->get_id(),
283
-				'item-name'        => sanitize_text_field( $this->get_name() ),
284
-				'item-description' => wp_kses_post( $this->get_description() ),
285
-				'item-quantity'    => floatval( $this->get_quantity() ),
283
+				'item-name'        => sanitize_text_field($this->get_name()),
284
+				'item-description' => wp_kses_post($this->get_description()),
285
+				'item-quantity'    => floatval($this->get_quantity()),
286 286
 				'item-price'       => $price,
287 287
 			),
288 288
 		);
@@ -300,15 +300,15 @@  discard block
 block discarded – undo
300 300
 		return array(
301 301
 			'post_id'          => $this->invoice_id,
302 302
 			'item_id'          => $this->get_id(),
303
-			'item_name'        => sanitize_text_field( $this->get_raw_name( 'edit' ) ),
304
-			'item_description' => $this->get_description( 'edit' ),
303
+			'item_name'        => sanitize_text_field($this->get_raw_name('edit')),
304
+			'item_description' => $this->get_description('edit'),
305 305
 			'tax'              => $this->item_tax,
306
-			'item_price'       => $this->get_price( 'edit' ),
307
-			'quantity'         => (float) $this->get_quantity( 'edit' ),
306
+			'item_price'       => $this->get_price('edit'),
307
+			'quantity'         => (float) $this->get_quantity('edit'),
308 308
 			'discount'         => $this->item_discount,
309
-			'subtotal'         => $this->get_sub_total( 'edit' ),
310
-			'price'            => $this->get_sub_total( 'edit' ) + $this->item_tax - $this->item_discount,
311
-			'meta'             => $this->get_item_meta( 'edit' ),
309
+			'subtotal'         => $this->get_sub_total('edit'),
310
+			'price'            => $this->get_sub_total('edit') + $this->item_tax - $this->item_discount,
311
+			'meta'             => $this->get_item_meta('edit'),
312 312
 		);
313 313
 
314 314
 	}
@@ -329,9 +329,9 @@  discard block
 block discarded – undo
329 329
 	 * @since 1.0.19
330 330
 	 * @param  float $quantity The item quantity.
331 331
 	 */
332
-	public function set_quantity( $quantity ) {
332
+	public function set_quantity($quantity) {
333 333
 
334
-		if ( ! is_numeric( $quantity ) ) {
334
+		if (!is_numeric($quantity)) {
335 335
 			$quantity = 1;
336 336
 		}
337 337
 
@@ -345,8 +345,8 @@  discard block
 block discarded – undo
345 345
 	 * @since 1.0.19
346 346
 	 * @param  array $meta The item meta data.
347 347
 	 */
348
-	public function set_item_meta( $meta ) {
349
-		$this->meta = maybe_unserialize( $meta );
348
+	public function set_item_meta($meta) {
349
+		$this->meta = maybe_unserialize($meta);
350 350
 	}
351 351
 
352 352
 	/**
@@ -355,7 +355,7 @@  discard block
 block discarded – undo
355 355
 	 * @since 1.0.19
356 356
 	 * @param  bool $allow_quantities
357 357
 	 */
358
-	public function set_allow_quantities( $allow_quantities ) {
358
+	public function set_allow_quantities($allow_quantities) {
359 359
 		$this->allow_quantities = (bool) $allow_quantities;
360 360
 	}
361 361
 
@@ -365,7 +365,7 @@  discard block
 block discarded – undo
365 365
 	 * @since 1.0.19
366 366
 	 * @param  bool $is_required
367 367
 	 */
368
-	public function set_is_required( $is_required ) {
368
+	public function set_is_required($is_required) {
369 369
 		$this->is_required = (bool) $is_required;
370 370
 	}
371 371
 
@@ -375,7 +375,7 @@  discard block
 block discarded – undo
375 375
 	 * @since 1.0.19
376 376
 	 * @param  string $description
377 377
 	 */
378
-	public function set_custom_description( $description ) {
378
+	public function set_custom_description($description) {
379 379
 		$this->custom_description = $description;
380 380
 	}
381 381
 
@@ -384,7 +384,7 @@  discard block
 block discarded – undo
384 384
      *
385 385
 	 * @return int item id
386 386
      */
387
-    public function save( $data = array() ) {
387
+    public function save($data = array()) {
388 388
         return $this->get_id();
389 389
 	}
390 390
 
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-form-submission-discount.php 2 patches
Indentation   +159 added lines, -159 removed lines patch added patch discarded remove patch
@@ -12,167 +12,167 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Payment_Form_Submission_Discount {
14 14
 
15
-	/**
16
-	 * Submission discounts.
17
-	 * @var array
18
-	 */
19
-	public $discounts = array();
15
+    /**
16
+     * Submission discounts.
17
+     * @var array
18
+     */
19
+    public $discounts = array();
20
+
21
+    /**
22
+     * Class constructor
23
+     *
24
+     * @param GetPaid_Payment_Form_Submission $submission
25
+     * @param float                           $initial_total
26
+     * @param float                           $recurring_total
27
+     */
28
+    public function __construct( $submission, $initial_total, $recurring_total ) {
29
+
30
+        // Process any existing invoice discounts.
31
+        if ( $submission->has_invoice() ) {
32
+            $this->discounts = $submission->get_invoice()->get_discounts();
33
+        }
34
+
35
+        // Do we have a discount?
36
+        $discount = $submission->get_field( 'discount' );
37
+
38
+        if ( empty( $discount ) ) {
39
+
40
+            if ( isset( $this->discounts['discount_code'] ) ) {
41
+                unset( $this->discounts['discount_code'] );
42
+            }
43
+
44
+            return;
45
+        }
46
+
47
+        // Processes the discount code.
48
+        $amount = max( $initial_total, $recurring_total );
49
+        $this->process_discount( $submission, $discount, $amount );
50
+
51
+    }
20 52
 
21 53
     /**
22
-	 * Class constructor
23
-	 *
24
-	 * @param GetPaid_Payment_Form_Submission $submission
25
-	 * @param float                           $initial_total
26
-	 * @param float                           $recurring_total
27
-	 */
28
-	public function __construct( $submission, $initial_total, $recurring_total ) {
29
-
30
-		// Process any existing invoice discounts.
31
-		if ( $submission->has_invoice() ) {
32
-			$this->discounts = $submission->get_invoice()->get_discounts();
33
-		}
34
-
35
-		// Do we have a discount?
36
-		$discount = $submission->get_field( 'discount' );
37
-
38
-		if ( empty( $discount ) ) {
39
-
40
-			if ( isset( $this->discounts['discount_code'] ) ) {
41
-				unset( $this->discounts['discount_code'] );
42
-			}
43
-
44
-			return;
45
-		}
46
-
47
-		// Processes the discount code.
48
-		$amount = max( $initial_total, $recurring_total );
49
-		$this->process_discount( $submission, $discount, $amount );
50
-
51
-	}
52
-
53
-	/**
54
-	 * Processes a submission discount.
55
-	 *
56
-	 * @param GetPaid_Payment_Form_Submission $submission
57
-	 * @param string                          $discount
58
-	 * @param float                           $amount
59
-	 */
60
-	public function process_discount( $submission, $discount, $amount ) {
61
-
62
-		// Fetch the discount.
63
-		$discount = new WPInv_Discount( $discount );
64
-
65
-		// Ensure it is active.
54
+     * Processes a submission discount.
55
+     *
56
+     * @param GetPaid_Payment_Form_Submission $submission
57
+     * @param string                          $discount
58
+     * @param float                           $amount
59
+     */
60
+    public function process_discount( $submission, $discount, $amount ) {
61
+
62
+        // Fetch the discount.
63
+        $discount = new WPInv_Discount( $discount );
64
+
65
+        // Ensure it is active.
66 66
         if ( ! $this->is_discount_active( $discount ) ) {
67
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'Invalid or expired discount code', 'invoicing' ) );
68
-		}
69
-
70
-		// Required items.
71
-		if ( ! $discount->is_required_items_met( array_keys( $submission->get_items() ) ) ) {
72
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You are not allowed to use this discount code.', 'invoicing' ) );
73
-		}
74
-
75
-		// Exceeded limit.
76
-		if ( $discount->has_exceeded_limit() ) {
77
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'This discount code has been used up', 'invoicing' ) );
78
-		}
79
-
80
-		// Validate usages.
81
-		$this->validate_single_use_discount( $submission, $discount );
82
-
83
-		// Validate amount.
84
-		$this->validate_discount_amount( $submission, $discount, $amount );
85
-
86
-		// Save the discount.
87
-		$this->discounts['discount_code'] = $this->calculate_discount( $submission, $discount );
88
-	}
89
-
90
-	/**
91
-	 * Validates a single use discount.
92
-	 *
93
-	 * @param WPInv_Discount                  $discount
94
-	 * @return bool
95
-	 */
96
-	public function is_discount_active( $discount ) {
97
-		return $discount->exists() && $discount->is_active() && $discount->has_started() && ! $discount->is_expired();
98
-	}
99
-
100
-	/**
101
-	 * Returns a user's id or email.
102
-	 *
103
-	 * @param string $email
104
-	 * @return int|string|false
105
-	 */
106
-	public function get_user_id_or_email( $email ) {
107
-
108
-		if ( is_user_logged_in() ) {
109
-			return get_current_user_id();
110
-		}
111
-
112
-		return empty( $email ) ? false : sanitize_email( $email );
113
-	}
114
-
115
-	/**
116
-	 * Validates a single use discount.
117
-	 *
118
-	 * @param GetPaid_Payment_Form_Submission $submission
119
-	 * @param WPInv_Discount                  $discount
120
-	 */
121
-	public function validate_single_use_discount( $submission, $discount ) {
122
-
123
-		// Abort if it is not a single use discount.
124
-		if ( ! $discount->is_single_use() ) {
125
-			return;
126
-		}
127
-
128
-		// Ensure there is a valid billing email.
129
-		$user = $this->get_user_id_or_email( $submission->get_billing_email() );
130
-
131
-		if ( empty( $user ) ) {
132
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You need to either log in or enter your billing email before applying this discount', 'invoicing' ) );
133
-		}
134
-
135
-		// Has the user used this discount code before?
136
-		if ( ! $discount->is_valid_for_user( $user ) ) {
137
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You have already used this discount', 'invoicing' ) );
138
-		}
139
-
140
-	}
141
-
142
-	/**
143
-	 * Validates the discount's amount.
144
-	 *
145
-	 * @param GetPaid_Payment_Form_Submission $submission
146
-	 * @param WPInv_Discount         $discount
147
-	 * @param float                  $amount
148
-	 */
149
-	public function validate_discount_amount( $submission, $discount, $amount ) {
150
-
151
-		// Validate minimum amount.
152
-		if ( ! $discount->is_minimum_amount_met( $amount ) ) {
153
-			$min = wpinv_price( $discount->get_minimum_total(), $submission->get_currency() );
154
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The minimum total for using this discount is %s', 'invoicing' ), $min ) );
155
-		}
156
-
157
-		// Validate the maximum amount.
158
-		if ( ! $discount->is_maximum_amount_met( $amount ) ) {
159
-			$max = wpinv_price( $discount->get_maximum_total(), $submission->get_currency() );
160
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The maximum total for using this discount is %s', 'invoicing' ), $max ) );
161
-		}
162
-
163
-	}
164
-
165
-	/**
166
-	 * Calculates the discount code's amount.
167
-	 *
168
-	 * Ensure that the discount exists and has been validated before calling this method.
169
-	 *
170
-	 * @param GetPaid_Payment_Form_Submission $submission
171
-	 * @param WPInv_Discount                  $discount
172
-	 * @return array
173
-	 */
174
-	public function calculate_discount( $submission, $discount ) {
175
-		return getpaid_calculate_invoice_discount( $submission, $discount );
176
-	}
67
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'Invalid or expired discount code', 'invoicing' ) );
68
+        }
69
+
70
+        // Required items.
71
+        if ( ! $discount->is_required_items_met( array_keys( $submission->get_items() ) ) ) {
72
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You are not allowed to use this discount code.', 'invoicing' ) );
73
+        }
74
+
75
+        // Exceeded limit.
76
+        if ( $discount->has_exceeded_limit() ) {
77
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'This discount code has been used up', 'invoicing' ) );
78
+        }
79
+
80
+        // Validate usages.
81
+        $this->validate_single_use_discount( $submission, $discount );
82
+
83
+        // Validate amount.
84
+        $this->validate_discount_amount( $submission, $discount, $amount );
85
+
86
+        // Save the discount.
87
+        $this->discounts['discount_code'] = $this->calculate_discount( $submission, $discount );
88
+    }
89
+
90
+    /**
91
+     * Validates a single use discount.
92
+     *
93
+     * @param WPInv_Discount                  $discount
94
+     * @return bool
95
+     */
96
+    public function is_discount_active( $discount ) {
97
+        return $discount->exists() && $discount->is_active() && $discount->has_started() && ! $discount->is_expired();
98
+    }
99
+
100
+    /**
101
+     * Returns a user's id or email.
102
+     *
103
+     * @param string $email
104
+     * @return int|string|false
105
+     */
106
+    public function get_user_id_or_email( $email ) {
107
+
108
+        if ( is_user_logged_in() ) {
109
+            return get_current_user_id();
110
+        }
111
+
112
+        return empty( $email ) ? false : sanitize_email( $email );
113
+    }
114
+
115
+    /**
116
+     * Validates a single use discount.
117
+     *
118
+     * @param GetPaid_Payment_Form_Submission $submission
119
+     * @param WPInv_Discount                  $discount
120
+     */
121
+    public function validate_single_use_discount( $submission, $discount ) {
122
+
123
+        // Abort if it is not a single use discount.
124
+        if ( ! $discount->is_single_use() ) {
125
+            return;
126
+        }
127
+
128
+        // Ensure there is a valid billing email.
129
+        $user = $this->get_user_id_or_email( $submission->get_billing_email() );
130
+
131
+        if ( empty( $user ) ) {
132
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You need to either log in or enter your billing email before applying this discount', 'invoicing' ) );
133
+        }
134
+
135
+        // Has the user used this discount code before?
136
+        if ( ! $discount->is_valid_for_user( $user ) ) {
137
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You have already used this discount', 'invoicing' ) );
138
+        }
139
+
140
+    }
141
+
142
+    /**
143
+     * Validates the discount's amount.
144
+     *
145
+     * @param GetPaid_Payment_Form_Submission $submission
146
+     * @param WPInv_Discount         $discount
147
+     * @param float                  $amount
148
+     */
149
+    public function validate_discount_amount( $submission, $discount, $amount ) {
150
+
151
+        // Validate minimum amount.
152
+        if ( ! $discount->is_minimum_amount_met( $amount ) ) {
153
+            $min = wpinv_price( $discount->get_minimum_total(), $submission->get_currency() );
154
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The minimum total for using this discount is %s', 'invoicing' ), $min ) );
155
+        }
156
+
157
+        // Validate the maximum amount.
158
+        if ( ! $discount->is_maximum_amount_met( $amount ) ) {
159
+            $max = wpinv_price( $discount->get_maximum_total(), $submission->get_currency() );
160
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The maximum total for using this discount is %s', 'invoicing' ), $max ) );
161
+        }
162
+
163
+    }
164
+
165
+    /**
166
+     * Calculates the discount code's amount.
167
+     *
168
+     * Ensure that the discount exists and has been validated before calling this method.
169
+     *
170
+     * @param GetPaid_Payment_Form_Submission $submission
171
+     * @param WPInv_Discount                  $discount
172
+     * @return array
173
+     */
174
+    public function calculate_discount( $submission, $discount ) {
175
+        return getpaid_calculate_invoice_discount( $submission, $discount );
176
+    }
177 177
 
178 178
 }
Please login to merge, or discard this patch.
Spacing   +41 added lines, -41 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
  * Payment form submission discount class
@@ -25,28 +25,28 @@  discard block
 block discarded – undo
25 25
 	 * @param float                           $initial_total
26 26
 	 * @param float                           $recurring_total
27 27
 	 */
28
-	public function __construct( $submission, $initial_total, $recurring_total ) {
28
+	public function __construct($submission, $initial_total, $recurring_total) {
29 29
 
30 30
 		// Process any existing invoice discounts.
31
-		if ( $submission->has_invoice() ) {
31
+		if ($submission->has_invoice()) {
32 32
 			$this->discounts = $submission->get_invoice()->get_discounts();
33 33
 		}
34 34
 
35 35
 		// Do we have a discount?
36
-		$discount = $submission->get_field( 'discount' );
36
+		$discount = $submission->get_field('discount');
37 37
 
38
-		if ( empty( $discount ) ) {
38
+		if (empty($discount)) {
39 39
 
40
-			if ( isset( $this->discounts['discount_code'] ) ) {
41
-				unset( $this->discounts['discount_code'] );
40
+			if (isset($this->discounts['discount_code'])) {
41
+				unset($this->discounts['discount_code']);
42 42
 			}
43 43
 
44 44
 			return;
45 45
 		}
46 46
 
47 47
 		// Processes the discount code.
48
-		$amount = max( $initial_total, $recurring_total );
49
-		$this->process_discount( $submission, $discount, $amount );
48
+		$amount = max($initial_total, $recurring_total);
49
+		$this->process_discount($submission, $discount, $amount);
50 50
 
51 51
 	}
52 52
 
@@ -57,34 +57,34 @@  discard block
 block discarded – undo
57 57
 	 * @param string                          $discount
58 58
 	 * @param float                           $amount
59 59
 	 */
60
-	public function process_discount( $submission, $discount, $amount ) {
60
+	public function process_discount($submission, $discount, $amount) {
61 61
 
62 62
 		// Fetch the discount.
63
-		$discount = new WPInv_Discount( $discount );
63
+		$discount = new WPInv_Discount($discount);
64 64
 
65 65
 		// Ensure it is active.
66
-        if ( ! $this->is_discount_active( $discount ) ) {
67
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'Invalid or expired discount code', 'invoicing' ) );
66
+        if (!$this->is_discount_active($discount)) {
67
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', __('Invalid or expired discount code', 'invoicing'));
68 68
 		}
69 69
 
70 70
 		// Required items.
71
-		if ( ! $discount->is_required_items_met( array_keys( $submission->get_items() ) ) ) {
72
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You are not allowed to use this discount code.', 'invoicing' ) );
71
+		if (!$discount->is_required_items_met(array_keys($submission->get_items()))) {
72
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', __('You are not allowed to use this discount code.', 'invoicing'));
73 73
 		}
74 74
 
75 75
 		// Exceeded limit.
76
-		if ( $discount->has_exceeded_limit() ) {
77
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'This discount code has been used up', 'invoicing' ) );
76
+		if ($discount->has_exceeded_limit()) {
77
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', __('This discount code has been used up', 'invoicing'));
78 78
 		}
79 79
 
80 80
 		// Validate usages.
81
-		$this->validate_single_use_discount( $submission, $discount );
81
+		$this->validate_single_use_discount($submission, $discount);
82 82
 
83 83
 		// Validate amount.
84
-		$this->validate_discount_amount( $submission, $discount, $amount );
84
+		$this->validate_discount_amount($submission, $discount, $amount);
85 85
 
86 86
 		// Save the discount.
87
-		$this->discounts['discount_code'] = $this->calculate_discount( $submission, $discount );
87
+		$this->discounts['discount_code'] = $this->calculate_discount($submission, $discount);
88 88
 	}
89 89
 
90 90
 	/**
@@ -93,8 +93,8 @@  discard block
 block discarded – undo
93 93
 	 * @param WPInv_Discount                  $discount
94 94
 	 * @return bool
95 95
 	 */
96
-	public function is_discount_active( $discount ) {
97
-		return $discount->exists() && $discount->is_active() && $discount->has_started() && ! $discount->is_expired();
96
+	public function is_discount_active($discount) {
97
+		return $discount->exists() && $discount->is_active() && $discount->has_started() && !$discount->is_expired();
98 98
 	}
99 99
 
100 100
 	/**
@@ -103,13 +103,13 @@  discard block
 block discarded – undo
103 103
 	 * @param string $email
104 104
 	 * @return int|string|false
105 105
 	 */
106
-	public function get_user_id_or_email( $email ) {
106
+	public function get_user_id_or_email($email) {
107 107
 
108
-		if ( is_user_logged_in() ) {
108
+		if (is_user_logged_in()) {
109 109
 			return get_current_user_id();
110 110
 		}
111 111
 
112
-		return empty( $email ) ? false : sanitize_email( $email );
112
+		return empty($email) ? false : sanitize_email($email);
113 113
 	}
114 114
 
115 115
 	/**
@@ -118,23 +118,23 @@  discard block
 block discarded – undo
118 118
 	 * @param GetPaid_Payment_Form_Submission $submission
119 119
 	 * @param WPInv_Discount                  $discount
120 120
 	 */
121
-	public function validate_single_use_discount( $submission, $discount ) {
121
+	public function validate_single_use_discount($submission, $discount) {
122 122
 
123 123
 		// Abort if it is not a single use discount.
124
-		if ( ! $discount->is_single_use() ) {
124
+		if (!$discount->is_single_use()) {
125 125
 			return;
126 126
 		}
127 127
 
128 128
 		// Ensure there is a valid billing email.
129
-		$user = $this->get_user_id_or_email( $submission->get_billing_email() );
129
+		$user = $this->get_user_id_or_email($submission->get_billing_email());
130 130
 
131
-		if ( empty( $user ) ) {
132
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You need to either log in or enter your billing email before applying this discount', 'invoicing' ) );
131
+		if (empty($user)) {
132
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', __('You need to either log in or enter your billing email before applying this discount', 'invoicing'));
133 133
 		}
134 134
 
135 135
 		// Has the user used this discount code before?
136
-		if ( ! $discount->is_valid_for_user( $user ) ) {
137
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You have already used this discount', 'invoicing' ) );
136
+		if (!$discount->is_valid_for_user($user)) {
137
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', __('You have already used this discount', 'invoicing'));
138 138
 		}
139 139
 
140 140
 	}
@@ -146,18 +146,18 @@  discard block
 block discarded – undo
146 146
 	 * @param WPInv_Discount         $discount
147 147
 	 * @param float                  $amount
148 148
 	 */
149
-	public function validate_discount_amount( $submission, $discount, $amount ) {
149
+	public function validate_discount_amount($submission, $discount, $amount) {
150 150
 
151 151
 		// Validate minimum amount.
152
-		if ( ! $discount->is_minimum_amount_met( $amount ) ) {
153
-			$min = wpinv_price( $discount->get_minimum_total(), $submission->get_currency() );
154
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The minimum total for using this discount is %s', 'invoicing' ), $min ) );
152
+		if (!$discount->is_minimum_amount_met($amount)) {
153
+			$min = wpinv_price($discount->get_minimum_total(), $submission->get_currency());
154
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf(__('The minimum total for using this discount is %s', 'invoicing'), $min));
155 155
 		}
156 156
 
157 157
 		// Validate the maximum amount.
158
-		if ( ! $discount->is_maximum_amount_met( $amount ) ) {
159
-			$max = wpinv_price( $discount->get_maximum_total(), $submission->get_currency() );
160
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The maximum total for using this discount is %s', 'invoicing' ), $max ) );
158
+		if (!$discount->is_maximum_amount_met($amount)) {
159
+			$max = wpinv_price($discount->get_maximum_total(), $submission->get_currency());
160
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf(__('The maximum total for using this discount is %s', 'invoicing'), $max));
161 161
 		}
162 162
 
163 163
 	}
@@ -171,8 +171,8 @@  discard block
 block discarded – undo
171 171
 	 * @param WPInv_Discount                  $discount
172 172
 	 * @return array
173 173
 	 */
174
-	public function calculate_discount( $submission, $discount ) {
175
-		return getpaid_calculate_invoice_discount( $submission, $discount );
174
+	public function calculate_discount($submission, $discount) {
175
+		return getpaid_calculate_invoice_discount($submission, $discount);
176 176
 	}
177 177
 
178 178
 }
Please login to merge, or discard this patch.