Passed
Push — master ( 4a2524...028194 )
by Brian
04:36
created
includes/api/class-getpaid-rest-date-based-controller.php 2 patches
Indentation   +492 added lines, -492 removed lines patch added patch discarded remove patch
@@ -16,496 +16,496 @@
 block discarded – undo
16 16
  */
17 17
 class GetPaid_REST_Date_Based_Controller extends GetPaid_REST_Controller {
18 18
 
19
-	/**
20
-	 * Group response items by day or month.
21
-	 *
22
-	 * @var string
23
-	 */
24
-	public $groupby = 'day';
25
-
26
-	/**
27
-	 * Returns an array with arguments to request the previous report.
28
-	 *
29
-	 * @var array
30
-	 */
31
-	public $previous_range = array();
32
-
33
-	/**
34
-	 * The period interval.
35
-	 *
36
-	 * @var int
37
-	 */
38
-	public $interval;
39
-
40
-	/**
41
-	 * Retrieves the before and after dates.
42
-	 *
43
-	 * @param WP_REST_Request $request Request object.
44
-	 * @return array The appropriate date range.
45
-	 */
46
-	public function get_date_range( $request ) {
47
-
48
-		// Check if the period is x_days.
49
-		if ( preg_match( '/^(\d+)_days$/', $request['period'], $matches ) ) {
50
-			$date_range = $this->get_x_days_date_range( absint( $matches[1] ) );
51
-		} elseif ( is_callable( array( $this, 'get_' . $request['period'] . '_date_range' ) ) ) {
52
-			$date_range = call_user_func( array( $this, 'get_' . $request['period'] . '_date_range' ), $request );
53
-		} else {
54
-			$request['period'] = '7_days';
55
-			$date_range        = $this->get_x_days_date_range();
56
-		}
57
-
58
-		// 3 months max for day view.
59
-		$before = strtotime( $date_range['before'] );
60
-		$after  = strtotime( $date_range['after'] );
61
-		if ( floor( ( $before - $after ) / MONTH_IN_SECONDS ) > 2 ) {
62
-			$this->groupby = 'month';
63
-		}
64
-
65
-		$this->prepare_interval( $date_range );
66
-
67
-		return $date_range;
68
-
69
-	}
70
-
71
-	/**
72
-	 * Groups by month or days.
73
-	 *
74
-	 * @param array $range Date range.
75
-	 * @return array The appropriate date range.
76
-	 */
77
-	public function prepare_interval( $range ) {
78
-
79
-		$before = strtotime( $range['before'] );
80
-		$after  = strtotime( $range['after'] );
81
-		if ( 'day' === $this->groupby ) {
82
-			$difference     = max( DAY_IN_SECONDS, ( DAY_IN_SECONDS + $before - $after ) ); // Prevent division by 0;
83
-			$this->interval = absint( ceil( max( 1, $difference / DAY_IN_SECONDS ) ) );
84
-			return;
85
-		}
86
-
87
-		$this->interval = 0;
88
-		$min_date       = strtotime( gmdate( 'Y-m-01', $after ) );
89
-
90
-		while ( $min_date <= $before ) {
91
-			$this->interval ++;
92
-			$min_date = strtotime( '+1 MONTH', $min_date );
93
-		}
94
-
95
-		$this->interval = max( 1, $this->interval );
96
-
97
-	}
98
-
99
-	/**
100
-	 * Retrieves a custom date range.
101
-	 *
102
-	 * @param WP_REST_Request $request Request object.
103
-	 * @return array The appropriate date range.
104
-	 */
105
-	public function get_custom_date_range( $request ) {
106
-
107
-		$after  = max( strtotime( '-20 years' ), strtotime( sanitize_text_field( $request['after'] ) ) );
108
-		$before = gmdate( 'Y-m-d' );
109
-
110
-		if ( ! empty( $request['before'] ) ) {
111
-			$before  = min( $before, strtotime( sanitize_text_field( $request['before'] ) ) );
112
-		}
113
-
114
-		// Set the previous date range.
115
-		$difference           = $before - $after;
116
-		$this->previous_range = array(
117
-			'period' => 'custom',
118
-			'before' => gmdate( 'Y-m-d', $before - $difference - DAY_IN_SECONDS ),
119
-			'after'  => gmdate( 'Y-m-d', $after - $difference - DAY_IN_SECONDS ),
120
-		);
121
-
122
-		// Generate the report.
123
-		return array(
124
-			'before' => gmdate( 'Y-m-d', $before ),
125
-			'after'  => gmdate( 'Y-m-d', $after ),
126
-		);
127
-
128
-	}
129
-
130
-	/**
131
-	 * Retrieves todays date range.
132
-	 *
133
-	 * @return array The appropriate date range.
134
-	 */
135
-	public function get_today_date_range() {
136
-
137
-		// Set the previous date range.
138
-		$this->previous_range = array(
139
-			'period' => 'yesterday',
140
-		);
141
-
142
-		// Generate the report.
143
-		return array(
144
-			'before' => gmdate( 'Y-m-d' ),
145
-			'after'  => gmdate( 'Y-m-d' ),
146
-		);
147
-
148
-	}
149
-
150
-	/**
151
-	 * Retrieves yesterdays date range.
152
-	 *
153
-	 * @return array The appropriate date range.
154
-	 */
155
-	public function get_yesterday_date_range() {
156
-
157
-		// Set the previous date range.
158
-		$this->previous_range = array(
159
-			'period' => 'custom',
160
-			'before' => gmdate( 'Y-m-d', strtotime( '-2 days' ) ),
161
-			'after'  => gmdate( 'Y-m-d', strtotime( '-2 days' ) ),
162
-		);
163
-
164
-		// Generate the report.
165
-		return array(
166
-			'before' => gmdate( 'Y-m-d', strtotime( '-1 day' ) ),
167
-			'after'  => gmdate( 'Y-m-d', strtotime( '-1 day' ) ),
168
-		);
169
-
170
-	}
171
-
172
-	/**
173
-	 * Retrieves this week's date range.
174
-	 *
175
-	 * @return array The appropriate date range.
176
-	 */
177
-	public function get_week_date_range() {
178
-
179
-		// Set the previous date range.
180
-		$this->previous_range = array(
181
-			'period' => 'last_week',
182
-		);
183
-
184
-		// Generate the report.
185
-		$week_starts = absint( get_option( 'start_of_week' ) );
186
-		return array(
187
-			'before' => gmdate( 'Y-m-d' ),
188
-			'after'  => gmdate( 'Y-m-d', strtotime( 'next Sunday -' . ( 7 - $week_starts ) . ' days' ) ),
189
-		);
190
-	}
191
-
192
-	/**
193
-	 * Retrieves last week's date range.
194
-	 *
195
-	 * @return array The appropriate date range.
196
-	 */
197
-	public function get_last_week_date_range() {
198
-
199
-		$week_starts = absint( get_option( 'start_of_week' ) );
200
-		$week_starts = strtotime( 'last Sunday -' . ( 7 - $week_starts ) . ' days' );
201
-		$date_range  = array(
202
-			'before' => gmdate( 'Y-m-d', $week_starts + 6 * DAY_IN_SECONDS ),
203
-			'after'  => gmdate( 'Y-m-d', $week_starts ),
204
-		);
205
-
206
-		// Set the previous date range.
207
-		$week_starts          = $week_starts - 7 * DAY_IN_SECONDS;
208
-		$this->previous_range = array(
209
-			'period' => 'custom',
210
-			'before' => gmdate( 'Y-m-d', $week_starts + 6 * DAY_IN_SECONDS ),
211
-			'after'  => gmdate( 'Y-m-d', $week_starts ),
212
-		);
213
-
214
-		// Generate the report.
215
-		return $date_range;
216
-	}
217
-
218
-	/**
219
-	 * Retrieves last x days date range.
220
-	 *
221
-	 * @return array The appropriate date range.
222
-	 */
223
-	public function get_x_days_date_range( $days = 7 ) {
224
-
225
-		$days--;
226
-
227
-		$date_range  = array(
228
-			'before' => gmdate( 'Y-m-d' ),
229
-			'after'  => gmdate( 'Y-m-d', strtotime( "-$days days" ) ),
230
-		);
231
-
232
-		$days++;
233
-
234
-		// Set the previous date range.
235
-		$this->previous_range = array(
236
-			'period' => 'custom',
237
-			'before' => gmdate( 'Y-m-d', strtotime( $date_range['before'] ) - $days * DAY_IN_SECONDS ),
238
-			'after'  => gmdate( 'Y-m-d', strtotime( $date_range['after'] ) - $days * DAY_IN_SECONDS ),
239
-		);
240
-
241
-		// Generate the report.
242
-		return $date_range;
243
-	}
244
-
245
-	/**
246
-	 * Retrieves this month date range.
247
-	 *
248
-	 * @return array The appropriate date range.
249
-	 */
250
-	public function get_month_date_range() {
251
-
252
-		// Set the previous date range.
253
-		$this->previous_range = array(
254
-			'period' => 'last_month',
255
-		);
256
-
257
-		// Generate the report.
258
-		return array(
259
-			'after'  => gmdate( 'Y-m-01' ),
260
-			'before' => gmdate( 'Y-m-t' ),
261
-		);
262
-
263
-	}
264
-
265
-	/**
266
-	 * Retrieves last month's date range.
267
-	 *
268
-	 * @return array The appropriate date range.
269
-	 */
270
-	public function get_last_month_date_range() {
271
-
272
-		// Set the previous date range.
273
-		$this->previous_range = array(
274
-			'period' => 'custom',
275
-			'after'  => gmdate( 'Y-m-01', strtotime( '-2 months' ) ),
276
-			'before' => gmdate( 'Y-m-t', strtotime( '-2 months' ) ),
277
-		);
278
-
279
-		// Generate the report.
280
-		return array(
281
-			'after'  => gmdate( 'Y-m-01', strtotime( 'last month' ) ),
282
-			'before' => gmdate( 'Y-m-t', strtotime( 'last month' ) ),
283
-		);
284
-
285
-	}
286
-
287
-	/**
288
-	 * Retrieves this quarter date range.
289
-	 *
290
-	 * @return array The available quarters.
291
-	 */
292
-	public function get_quarters() {
293
-
294
-		$year      = (int) gmdate( 'Y' );
295
-		$last_year = (int) $year - 1;
296
-		return array(
297
-
298
-			// Third quarter of previous year: July 1st to September 30th
299
-			array(
300
-				'before' => "{$last_year}-09-30",
301
-				'after'  => "{$last_year}-07-01",
302
-			),
303
-
304
-			// Last quarter of previous year: October 1st to December 31st
305
-			array(
306
-				'before' => "{$last_year}-12-31",
307
-        		'after'  => "{$last_year}-10-01",
308
-			),
309
-
310
-			// First quarter: January 1st to March 31st
311
-			array(
312
-				'before' => "{$year}-03-31",
313
-				'after'  => "{$year}-01-01",
314
-			),
315
-
316
-			// Second quarter: April 1st to June 30th
317
-			array(
318
-				'before' => "{$year}-06-30",
319
-				'after'  => "{$year}-04-01",
320
-			),
321
-
322
-			// Third quarter: July 1st to September 30th
323
-			array(
324
-				'before' => "{$year}-09-30",
325
-				'after'  => "{$year}-07-01",
326
-			),
327
-
328
-			// Fourth quarter: October 1st to December 31st
329
-			array(
330
-				'before' => "{$year}-12-31",
331
-				'after'  => "{$year}-10-01",
332
-			),
333
-		);
334
-	}
335
-
336
-	/**
337
-	 * Retrieves the current quater.
338
-	 *
339
-	 * @return int The current quarter.
340
-	 */
341
-	public function get_quarter() {
342
-
343
-		$month    = (int) gmdate( 'n' );
344
-		$quarters = array( 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4 );
345
-		return $quarters[ $month - 1 ];
346
-
347
-	}
348
-
349
-	/**
350
-	 * Retrieves this quarter date range.
351
-	 *
352
-	 * @return array The appropriate date range.
353
-	 */
354
-	public function get_quarter_date_range() {
355
-
356
-		// Set the previous date range.
357
-		$this->previous_range = array(
358
-			'period' => 'last_quarter',
359
-		);
360
-
361
-		// Generate the report.
362
-		$quarter  = $this->get_quarter();
363
-		$quarters = $this->get_quarters();
364
-		return $quarters[ $quarter + 1 ];
365
-
366
-	}
367
-
368
-	/**
369
-	 * Retrieves last quarter's date range.
370
-	 *
371
-	 * @return array The appropriate date range.
372
-	 */
373
-	public function get_last_quarter_date_range() {
374
-
375
-		$quarters = $this->get_quarters();
376
-		$quarter  = $this->get_quarter();
377
-
378
-		// Set the previous date range.
379
-		$this->previous_range = array_merge(
380
-			$quarters[ $quarter - 1 ],
381
-			array( 'period' => 'custom' )
382
-		);
383
-
384
-		// Generate the report.
385
-		return $quarters[ $quarter ];
386
-
387
-	}
388
-
389
-	/**
390
-	 * Retrieves this year date range.
391
-	 *
392
-	 * @return array The appropriate date range.
393
-	 */
394
-	public function get_year_date_range() {
395
-
396
-		// Set the previous date range.
397
-		$this->previous_range = array(
398
-			'period' => 'last_year',
399
-		);
400
-
401
-		// Generate the report.
402
-		return array(
403
-			'after'  => gmdate( 'Y-01-01' ),
404
-			'before' => gmdate( 'Y-12-31' ),
405
-		);
406
-
407
-	}
408
-
409
-	/**
410
-	 * Retrieves last year date range.
411
-	 *
412
-	 * @return array The appropriate date range.
413
-	 */
414
-	public function get_last_year_date_range() {
415
-
416
-		// Set the previous date range.
417
-		$this->previous_range = array(
418
-			'period' => 'custom',
419
-			'after'  => gmdate( 'Y-01-01', strtotime( '-2 years' ) ),
420
-			'before' => gmdate( 'Y-12-31', strtotime( '-2 years' ) ),
421
-		);
422
-
423
-		// Generate the report.
424
-		return array(
425
-			'after'  => gmdate( 'Y-01-01', strtotime( 'last year' ) ),
426
-			'before' => gmdate( 'Y-12-31', strtotime( 'last year' ) ),
427
-		);
428
-
429
-	}
430
-
431
-	/**
432
-	 * Prepare a the request date for SQL usage.
433
-	 *
434
-	 * @param WP_REST_Request $request Request object.
435
-	 * @param string $date_field The date field.
436
-	 * @return string The appropriate SQL.
437
-	 */
438
-	public function get_date_range_sql( $request, $date_field ) {
439
-		global $wpdb;
440
-
441
-		$sql = '1=1';
442
-		$range = $this->get_date_range( $request );
443
-
444
-		if ( ! empty( $range['after'] ) ) {
445
-			$sql .= ' AND ' . $wpdb->prepare(
446
-				"$date_field >= %s",
447
-				$range['after']
448
-			);
449
-		}
450
-
451
-		if ( ! empty( $range['before'] ) ) {
452
-			$sql .= ' AND ' . $wpdb->prepare(
453
-				"$date_field <= %s",
454
-				$range['before']
455
-			);
456
-		}
457
-
458
-		return $sql;
459
-
460
-	}
461
-
462
-	/**
463
-	 * Prepares a group by query.
464
-	 *
465
-	 * @param string $date_field The date field.
466
-	 * @return string The appropriate SQL.
467
-	 */
468
-	public function get_group_by_sql( $date_field ) {
469
-
470
-		if ( 'day' === $this->groupby ) {
471
-			return "YEAR($date_field), MONTH($date_field), DAY($date_field)";
472
-		}
473
-
474
-		return "YEAR($date_field), MONTH($date_field)";
475
-	}
476
-
477
-	/**
478
-	 * Get the query params for collections.
479
-	 *
480
-	 * @return array
481
-	 */
482
-	public function get_collection_params() {
483
-		return array(
484
-			'context' => $this->get_context_param( array( 'default' => 'view' ) ),
485
-			'period'  => array(
486
-				'description'       => __( 'Limit to results of a specific period.', 'invoicing' ),
487
-				'type'              => 'string',
488
-				'enum'              => array( 'custom', 'today', 'yesterday', 'week', 'last_week', '7_days', '30_days', '60_days', '90_days', '180_days', 'month', 'last_month', 'quarter', 'last_quarter', 'year', 'last_year', 'quarter', 'last_quarter' ),
489
-				'validate_callback' => 'rest_validate_request_arg',
490
-				'sanitize_callback' => 'sanitize_text_field',
491
-				'default'           => '7_days',
492
-			),
493
-			'after'   => array(
494
-				/* translators: %s: date format */
495
-				'description'       => sprintf( __( 'Limit to results after a specific date, the date needs to be in the %s format.', 'invoicing' ), 'YYYY-MM-DD' ),
496
-				'type'              => 'string',
497
-				'validate_callback' => 'rest_validate_request_arg',
498
-				'sanitize_callback' => 'sanitize_text_field',
499
-				'default'           => gmdate( 'Y-m-d', strtotime( '-7 days' ) ),
500
-			),
501
-			'before'  => array(
502
-				/* translators: %s: date format */
503
-				'description'       => sprintf( __( 'Limit to results before a specific date, the date needs to be in the %s format.', 'invoicing' ), 'YYYY-MM-DD' ),
504
-				'type'              => 'string',
505
-				'validate_callback' => 'rest_validate_request_arg',
506
-				'sanitize_callback' => 'sanitize_text_field',
507
-				'default'           => gmdate( 'Y-m-d' ),
508
-			),
509
-		);
510
-	}
19
+    /**
20
+     * Group response items by day or month.
21
+     *
22
+     * @var string
23
+     */
24
+    public $groupby = 'day';
25
+
26
+    /**
27
+     * Returns an array with arguments to request the previous report.
28
+     *
29
+     * @var array
30
+     */
31
+    public $previous_range = array();
32
+
33
+    /**
34
+     * The period interval.
35
+     *
36
+     * @var int
37
+     */
38
+    public $interval;
39
+
40
+    /**
41
+     * Retrieves the before and after dates.
42
+     *
43
+     * @param WP_REST_Request $request Request object.
44
+     * @return array The appropriate date range.
45
+     */
46
+    public function get_date_range( $request ) {
47
+
48
+        // Check if the period is x_days.
49
+        if ( preg_match( '/^(\d+)_days$/', $request['period'], $matches ) ) {
50
+            $date_range = $this->get_x_days_date_range( absint( $matches[1] ) );
51
+        } elseif ( is_callable( array( $this, 'get_' . $request['period'] . '_date_range' ) ) ) {
52
+            $date_range = call_user_func( array( $this, 'get_' . $request['period'] . '_date_range' ), $request );
53
+        } else {
54
+            $request['period'] = '7_days';
55
+            $date_range        = $this->get_x_days_date_range();
56
+        }
57
+
58
+        // 3 months max for day view.
59
+        $before = strtotime( $date_range['before'] );
60
+        $after  = strtotime( $date_range['after'] );
61
+        if ( floor( ( $before - $after ) / MONTH_IN_SECONDS ) > 2 ) {
62
+            $this->groupby = 'month';
63
+        }
64
+
65
+        $this->prepare_interval( $date_range );
66
+
67
+        return $date_range;
68
+
69
+    }
70
+
71
+    /**
72
+     * Groups by month or days.
73
+     *
74
+     * @param array $range Date range.
75
+     * @return array The appropriate date range.
76
+     */
77
+    public function prepare_interval( $range ) {
78
+
79
+        $before = strtotime( $range['before'] );
80
+        $after  = strtotime( $range['after'] );
81
+        if ( 'day' === $this->groupby ) {
82
+            $difference     = max( DAY_IN_SECONDS, ( DAY_IN_SECONDS + $before - $after ) ); // Prevent division by 0;
83
+            $this->interval = absint( ceil( max( 1, $difference / DAY_IN_SECONDS ) ) );
84
+            return;
85
+        }
86
+
87
+        $this->interval = 0;
88
+        $min_date       = strtotime( gmdate( 'Y-m-01', $after ) );
89
+
90
+        while ( $min_date <= $before ) {
91
+            $this->interval ++;
92
+            $min_date = strtotime( '+1 MONTH', $min_date );
93
+        }
94
+
95
+        $this->interval = max( 1, $this->interval );
96
+
97
+    }
98
+
99
+    /**
100
+     * Retrieves a custom date range.
101
+     *
102
+     * @param WP_REST_Request $request Request object.
103
+     * @return array The appropriate date range.
104
+     */
105
+    public function get_custom_date_range( $request ) {
106
+
107
+        $after  = max( strtotime( '-20 years' ), strtotime( sanitize_text_field( $request['after'] ) ) );
108
+        $before = gmdate( 'Y-m-d' );
109
+
110
+        if ( ! empty( $request['before'] ) ) {
111
+            $before  = min( $before, strtotime( sanitize_text_field( $request['before'] ) ) );
112
+        }
113
+
114
+        // Set the previous date range.
115
+        $difference           = $before - $after;
116
+        $this->previous_range = array(
117
+            'period' => 'custom',
118
+            'before' => gmdate( 'Y-m-d', $before - $difference - DAY_IN_SECONDS ),
119
+            'after'  => gmdate( 'Y-m-d', $after - $difference - DAY_IN_SECONDS ),
120
+        );
121
+
122
+        // Generate the report.
123
+        return array(
124
+            'before' => gmdate( 'Y-m-d', $before ),
125
+            'after'  => gmdate( 'Y-m-d', $after ),
126
+        );
127
+
128
+    }
129
+
130
+    /**
131
+     * Retrieves todays date range.
132
+     *
133
+     * @return array The appropriate date range.
134
+     */
135
+    public function get_today_date_range() {
136
+
137
+        // Set the previous date range.
138
+        $this->previous_range = array(
139
+            'period' => 'yesterday',
140
+        );
141
+
142
+        // Generate the report.
143
+        return array(
144
+            'before' => gmdate( 'Y-m-d' ),
145
+            'after'  => gmdate( 'Y-m-d' ),
146
+        );
147
+
148
+    }
149
+
150
+    /**
151
+     * Retrieves yesterdays date range.
152
+     *
153
+     * @return array The appropriate date range.
154
+     */
155
+    public function get_yesterday_date_range() {
156
+
157
+        // Set the previous date range.
158
+        $this->previous_range = array(
159
+            'period' => 'custom',
160
+            'before' => gmdate( 'Y-m-d', strtotime( '-2 days' ) ),
161
+            'after'  => gmdate( 'Y-m-d', strtotime( '-2 days' ) ),
162
+        );
163
+
164
+        // Generate the report.
165
+        return array(
166
+            'before' => gmdate( 'Y-m-d', strtotime( '-1 day' ) ),
167
+            'after'  => gmdate( 'Y-m-d', strtotime( '-1 day' ) ),
168
+        );
169
+
170
+    }
171
+
172
+    /**
173
+     * Retrieves this week's date range.
174
+     *
175
+     * @return array The appropriate date range.
176
+     */
177
+    public function get_week_date_range() {
178
+
179
+        // Set the previous date range.
180
+        $this->previous_range = array(
181
+            'period' => 'last_week',
182
+        );
183
+
184
+        // Generate the report.
185
+        $week_starts = absint( get_option( 'start_of_week' ) );
186
+        return array(
187
+            'before' => gmdate( 'Y-m-d' ),
188
+            'after'  => gmdate( 'Y-m-d', strtotime( 'next Sunday -' . ( 7 - $week_starts ) . ' days' ) ),
189
+        );
190
+    }
191
+
192
+    /**
193
+     * Retrieves last week's date range.
194
+     *
195
+     * @return array The appropriate date range.
196
+     */
197
+    public function get_last_week_date_range() {
198
+
199
+        $week_starts = absint( get_option( 'start_of_week' ) );
200
+        $week_starts = strtotime( 'last Sunday -' . ( 7 - $week_starts ) . ' days' );
201
+        $date_range  = array(
202
+            'before' => gmdate( 'Y-m-d', $week_starts + 6 * DAY_IN_SECONDS ),
203
+            'after'  => gmdate( 'Y-m-d', $week_starts ),
204
+        );
205
+
206
+        // Set the previous date range.
207
+        $week_starts          = $week_starts - 7 * DAY_IN_SECONDS;
208
+        $this->previous_range = array(
209
+            'period' => 'custom',
210
+            'before' => gmdate( 'Y-m-d', $week_starts + 6 * DAY_IN_SECONDS ),
211
+            'after'  => gmdate( 'Y-m-d', $week_starts ),
212
+        );
213
+
214
+        // Generate the report.
215
+        return $date_range;
216
+    }
217
+
218
+    /**
219
+     * Retrieves last x days date range.
220
+     *
221
+     * @return array The appropriate date range.
222
+     */
223
+    public function get_x_days_date_range( $days = 7 ) {
224
+
225
+        $days--;
226
+
227
+        $date_range  = array(
228
+            'before' => gmdate( 'Y-m-d' ),
229
+            'after'  => gmdate( 'Y-m-d', strtotime( "-$days days" ) ),
230
+        );
231
+
232
+        $days++;
233
+
234
+        // Set the previous date range.
235
+        $this->previous_range = array(
236
+            'period' => 'custom',
237
+            'before' => gmdate( 'Y-m-d', strtotime( $date_range['before'] ) - $days * DAY_IN_SECONDS ),
238
+            'after'  => gmdate( 'Y-m-d', strtotime( $date_range['after'] ) - $days * DAY_IN_SECONDS ),
239
+        );
240
+
241
+        // Generate the report.
242
+        return $date_range;
243
+    }
244
+
245
+    /**
246
+     * Retrieves this month date range.
247
+     *
248
+     * @return array The appropriate date range.
249
+     */
250
+    public function get_month_date_range() {
251
+
252
+        // Set the previous date range.
253
+        $this->previous_range = array(
254
+            'period' => 'last_month',
255
+        );
256
+
257
+        // Generate the report.
258
+        return array(
259
+            'after'  => gmdate( 'Y-m-01' ),
260
+            'before' => gmdate( 'Y-m-t' ),
261
+        );
262
+
263
+    }
264
+
265
+    /**
266
+     * Retrieves last month's date range.
267
+     *
268
+     * @return array The appropriate date range.
269
+     */
270
+    public function get_last_month_date_range() {
271
+
272
+        // Set the previous date range.
273
+        $this->previous_range = array(
274
+            'period' => 'custom',
275
+            'after'  => gmdate( 'Y-m-01', strtotime( '-2 months' ) ),
276
+            'before' => gmdate( 'Y-m-t', strtotime( '-2 months' ) ),
277
+        );
278
+
279
+        // Generate the report.
280
+        return array(
281
+            'after'  => gmdate( 'Y-m-01', strtotime( 'last month' ) ),
282
+            'before' => gmdate( 'Y-m-t', strtotime( 'last month' ) ),
283
+        );
284
+
285
+    }
286
+
287
+    /**
288
+     * Retrieves this quarter date range.
289
+     *
290
+     * @return array The available quarters.
291
+     */
292
+    public function get_quarters() {
293
+
294
+        $year      = (int) gmdate( 'Y' );
295
+        $last_year = (int) $year - 1;
296
+        return array(
297
+
298
+            // Third quarter of previous year: July 1st to September 30th
299
+            array(
300
+                'before' => "{$last_year}-09-30",
301
+                'after'  => "{$last_year}-07-01",
302
+            ),
303
+
304
+            // Last quarter of previous year: October 1st to December 31st
305
+            array(
306
+                'before' => "{$last_year}-12-31",
307
+                'after'  => "{$last_year}-10-01",
308
+            ),
309
+
310
+            // First quarter: January 1st to March 31st
311
+            array(
312
+                'before' => "{$year}-03-31",
313
+                'after'  => "{$year}-01-01",
314
+            ),
315
+
316
+            // Second quarter: April 1st to June 30th
317
+            array(
318
+                'before' => "{$year}-06-30",
319
+                'after'  => "{$year}-04-01",
320
+            ),
321
+
322
+            // Third quarter: July 1st to September 30th
323
+            array(
324
+                'before' => "{$year}-09-30",
325
+                'after'  => "{$year}-07-01",
326
+            ),
327
+
328
+            // Fourth quarter: October 1st to December 31st
329
+            array(
330
+                'before' => "{$year}-12-31",
331
+                'after'  => "{$year}-10-01",
332
+            ),
333
+        );
334
+    }
335
+
336
+    /**
337
+     * Retrieves the current quater.
338
+     *
339
+     * @return int The current quarter.
340
+     */
341
+    public function get_quarter() {
342
+
343
+        $month    = (int) gmdate( 'n' );
344
+        $quarters = array( 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4 );
345
+        return $quarters[ $month - 1 ];
346
+
347
+    }
348
+
349
+    /**
350
+     * Retrieves this quarter date range.
351
+     *
352
+     * @return array The appropriate date range.
353
+     */
354
+    public function get_quarter_date_range() {
355
+
356
+        // Set the previous date range.
357
+        $this->previous_range = array(
358
+            'period' => 'last_quarter',
359
+        );
360
+
361
+        // Generate the report.
362
+        $quarter  = $this->get_quarter();
363
+        $quarters = $this->get_quarters();
364
+        return $quarters[ $quarter + 1 ];
365
+
366
+    }
367
+
368
+    /**
369
+     * Retrieves last quarter's date range.
370
+     *
371
+     * @return array The appropriate date range.
372
+     */
373
+    public function get_last_quarter_date_range() {
374
+
375
+        $quarters = $this->get_quarters();
376
+        $quarter  = $this->get_quarter();
377
+
378
+        // Set the previous date range.
379
+        $this->previous_range = array_merge(
380
+            $quarters[ $quarter - 1 ],
381
+            array( 'period' => 'custom' )
382
+        );
383
+
384
+        // Generate the report.
385
+        return $quarters[ $quarter ];
386
+
387
+    }
388
+
389
+    /**
390
+     * Retrieves this year date range.
391
+     *
392
+     * @return array The appropriate date range.
393
+     */
394
+    public function get_year_date_range() {
395
+
396
+        // Set the previous date range.
397
+        $this->previous_range = array(
398
+            'period' => 'last_year',
399
+        );
400
+
401
+        // Generate the report.
402
+        return array(
403
+            'after'  => gmdate( 'Y-01-01' ),
404
+            'before' => gmdate( 'Y-12-31' ),
405
+        );
406
+
407
+    }
408
+
409
+    /**
410
+     * Retrieves last year date range.
411
+     *
412
+     * @return array The appropriate date range.
413
+     */
414
+    public function get_last_year_date_range() {
415
+
416
+        // Set the previous date range.
417
+        $this->previous_range = array(
418
+            'period' => 'custom',
419
+            'after'  => gmdate( 'Y-01-01', strtotime( '-2 years' ) ),
420
+            'before' => gmdate( 'Y-12-31', strtotime( '-2 years' ) ),
421
+        );
422
+
423
+        // Generate the report.
424
+        return array(
425
+            'after'  => gmdate( 'Y-01-01', strtotime( 'last year' ) ),
426
+            'before' => gmdate( 'Y-12-31', strtotime( 'last year' ) ),
427
+        );
428
+
429
+    }
430
+
431
+    /**
432
+     * Prepare a the request date for SQL usage.
433
+     *
434
+     * @param WP_REST_Request $request Request object.
435
+     * @param string $date_field The date field.
436
+     * @return string The appropriate SQL.
437
+     */
438
+    public function get_date_range_sql( $request, $date_field ) {
439
+        global $wpdb;
440
+
441
+        $sql = '1=1';
442
+        $range = $this->get_date_range( $request );
443
+
444
+        if ( ! empty( $range['after'] ) ) {
445
+            $sql .= ' AND ' . $wpdb->prepare(
446
+                "$date_field >= %s",
447
+                $range['after']
448
+            );
449
+        }
450
+
451
+        if ( ! empty( $range['before'] ) ) {
452
+            $sql .= ' AND ' . $wpdb->prepare(
453
+                "$date_field <= %s",
454
+                $range['before']
455
+            );
456
+        }
457
+
458
+        return $sql;
459
+
460
+    }
461
+
462
+    /**
463
+     * Prepares a group by query.
464
+     *
465
+     * @param string $date_field The date field.
466
+     * @return string The appropriate SQL.
467
+     */
468
+    public function get_group_by_sql( $date_field ) {
469
+
470
+        if ( 'day' === $this->groupby ) {
471
+            return "YEAR($date_field), MONTH($date_field), DAY($date_field)";
472
+        }
473
+
474
+        return "YEAR($date_field), MONTH($date_field)";
475
+    }
476
+
477
+    /**
478
+     * Get the query params for collections.
479
+     *
480
+     * @return array
481
+     */
482
+    public function get_collection_params() {
483
+        return array(
484
+            'context' => $this->get_context_param( array( 'default' => 'view' ) ),
485
+            'period'  => array(
486
+                'description'       => __( 'Limit to results of a specific period.', 'invoicing' ),
487
+                'type'              => 'string',
488
+                'enum'              => array( 'custom', 'today', 'yesterday', 'week', 'last_week', '7_days', '30_days', '60_days', '90_days', '180_days', 'month', 'last_month', 'quarter', 'last_quarter', 'year', 'last_year', 'quarter', 'last_quarter' ),
489
+                'validate_callback' => 'rest_validate_request_arg',
490
+                'sanitize_callback' => 'sanitize_text_field',
491
+                'default'           => '7_days',
492
+            ),
493
+            'after'   => array(
494
+                /* translators: %s: date format */
495
+                'description'       => sprintf( __( 'Limit to results after a specific date, the date needs to be in the %s format.', 'invoicing' ), 'YYYY-MM-DD' ),
496
+                'type'              => 'string',
497
+                'validate_callback' => 'rest_validate_request_arg',
498
+                'sanitize_callback' => 'sanitize_text_field',
499
+                'default'           => gmdate( 'Y-m-d', strtotime( '-7 days' ) ),
500
+            ),
501
+            'before'  => array(
502
+                /* translators: %s: date format */
503
+                'description'       => sprintf( __( 'Limit to results before a specific date, the date needs to be in the %s format.', 'invoicing' ), 'YYYY-MM-DD' ),
504
+                'type'              => 'string',
505
+                'validate_callback' => 'rest_validate_request_arg',
506
+                'sanitize_callback' => 'sanitize_text_field',
507
+                'default'           => gmdate( 'Y-m-d' ),
508
+            ),
509
+        );
510
+    }
511 511
 }
Please login to merge, or discard this patch.
Spacing   +84 added lines, -84 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  * @since   2.0.0
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 /**
13 13
  * GetPaid REST date based controller class.
@@ -43,26 +43,26 @@  discard block
 block discarded – undo
43 43
 	 * @param WP_REST_Request $request Request object.
44 44
 	 * @return array The appropriate date range.
45 45
 	 */
46
-	public function get_date_range( $request ) {
46
+	public function get_date_range($request) {
47 47
 
48 48
 		// Check if the period is x_days.
49
-		if ( preg_match( '/^(\d+)_days$/', $request['period'], $matches ) ) {
50
-			$date_range = $this->get_x_days_date_range( absint( $matches[1] ) );
51
-		} elseif ( is_callable( array( $this, 'get_' . $request['period'] . '_date_range' ) ) ) {
52
-			$date_range = call_user_func( array( $this, 'get_' . $request['period'] . '_date_range' ), $request );
49
+		if (preg_match('/^(\d+)_days$/', $request['period'], $matches)) {
50
+			$date_range = $this->get_x_days_date_range(absint($matches[1]));
51
+		} elseif (is_callable(array($this, 'get_' . $request['period'] . '_date_range'))) {
52
+			$date_range = call_user_func(array($this, 'get_' . $request['period'] . '_date_range'), $request);
53 53
 		} else {
54 54
 			$request['period'] = '7_days';
55 55
 			$date_range        = $this->get_x_days_date_range();
56 56
 		}
57 57
 
58 58
 		// 3 months max for day view.
59
-		$before = strtotime( $date_range['before'] );
60
-		$after  = strtotime( $date_range['after'] );
61
-		if ( floor( ( $before - $after ) / MONTH_IN_SECONDS ) > 2 ) {
59
+		$before = strtotime($date_range['before']);
60
+		$after  = strtotime($date_range['after']);
61
+		if (floor(($before - $after) / MONTH_IN_SECONDS) > 2) {
62 62
 			$this->groupby = 'month';
63 63
 		}
64 64
 
65
-		$this->prepare_interval( $date_range );
65
+		$this->prepare_interval($date_range);
66 66
 
67 67
 		return $date_range;
68 68
 
@@ -74,25 +74,25 @@  discard block
 block discarded – undo
74 74
 	 * @param array $range Date range.
75 75
 	 * @return array The appropriate date range.
76 76
 	 */
77
-	public function prepare_interval( $range ) {
77
+	public function prepare_interval($range) {
78 78
 
79
-		$before = strtotime( $range['before'] );
80
-		$after  = strtotime( $range['after'] );
81
-		if ( 'day' === $this->groupby ) {
82
-			$difference     = max( DAY_IN_SECONDS, ( DAY_IN_SECONDS + $before - $after ) ); // Prevent division by 0;
83
-			$this->interval = absint( ceil( max( 1, $difference / DAY_IN_SECONDS ) ) );
79
+		$before = strtotime($range['before']);
80
+		$after  = strtotime($range['after']);
81
+		if ('day' === $this->groupby) {
82
+			$difference     = max(DAY_IN_SECONDS, (DAY_IN_SECONDS + $before - $after)); // Prevent division by 0;
83
+			$this->interval = absint(ceil(max(1, $difference / DAY_IN_SECONDS)));
84 84
 			return;
85 85
 		}
86 86
 
87 87
 		$this->interval = 0;
88
-		$min_date       = strtotime( gmdate( 'Y-m-01', $after ) );
88
+		$min_date       = strtotime(gmdate('Y-m-01', $after));
89 89
 
90
-		while ( $min_date <= $before ) {
91
-			$this->interval ++;
92
-			$min_date = strtotime( '+1 MONTH', $min_date );
90
+		while ($min_date <= $before) {
91
+			$this->interval++;
92
+			$min_date = strtotime('+1 MONTH', $min_date);
93 93
 		}
94 94
 
95
-		$this->interval = max( 1, $this->interval );
95
+		$this->interval = max(1, $this->interval);
96 96
 
97 97
 	}
98 98
 
@@ -102,27 +102,27 @@  discard block
 block discarded – undo
102 102
 	 * @param WP_REST_Request $request Request object.
103 103
 	 * @return array The appropriate date range.
104 104
 	 */
105
-	public function get_custom_date_range( $request ) {
105
+	public function get_custom_date_range($request) {
106 106
 
107
-		$after  = max( strtotime( '-20 years' ), strtotime( sanitize_text_field( $request['after'] ) ) );
108
-		$before = gmdate( 'Y-m-d' );
107
+		$after  = max(strtotime('-20 years'), strtotime(sanitize_text_field($request['after'])));
108
+		$before = gmdate('Y-m-d');
109 109
 
110
-		if ( ! empty( $request['before'] ) ) {
111
-			$before  = min( $before, strtotime( sanitize_text_field( $request['before'] ) ) );
110
+		if (!empty($request['before'])) {
111
+			$before = min($before, strtotime(sanitize_text_field($request['before'])));
112 112
 		}
113 113
 
114 114
 		// Set the previous date range.
115 115
 		$difference           = $before - $after;
116 116
 		$this->previous_range = array(
117 117
 			'period' => 'custom',
118
-			'before' => gmdate( 'Y-m-d', $before - $difference - DAY_IN_SECONDS ),
119
-			'after'  => gmdate( 'Y-m-d', $after - $difference - DAY_IN_SECONDS ),
118
+			'before' => gmdate('Y-m-d', $before - $difference - DAY_IN_SECONDS),
119
+			'after'  => gmdate('Y-m-d', $after - $difference - DAY_IN_SECONDS),
120 120
 		);
121 121
 
122 122
 		// Generate the report.
123 123
 		return array(
124
-			'before' => gmdate( 'Y-m-d', $before ),
125
-			'after'  => gmdate( 'Y-m-d', $after ),
124
+			'before' => gmdate('Y-m-d', $before),
125
+			'after'  => gmdate('Y-m-d', $after),
126 126
 		);
127 127
 
128 128
 	}
@@ -141,8 +141,8 @@  discard block
 block discarded – undo
141 141
 
142 142
 		// Generate the report.
143 143
 		return array(
144
-			'before' => gmdate( 'Y-m-d' ),
145
-			'after'  => gmdate( 'Y-m-d' ),
144
+			'before' => gmdate('Y-m-d'),
145
+			'after'  => gmdate('Y-m-d'),
146 146
 		);
147 147
 
148 148
 	}
@@ -157,14 +157,14 @@  discard block
 block discarded – undo
157 157
 		// Set the previous date range.
158 158
 		$this->previous_range = array(
159 159
 			'period' => 'custom',
160
-			'before' => gmdate( 'Y-m-d', strtotime( '-2 days' ) ),
161
-			'after'  => gmdate( 'Y-m-d', strtotime( '-2 days' ) ),
160
+			'before' => gmdate('Y-m-d', strtotime('-2 days')),
161
+			'after'  => gmdate('Y-m-d', strtotime('-2 days')),
162 162
 		);
163 163
 
164 164
 		// Generate the report.
165 165
 		return array(
166
-			'before' => gmdate( 'Y-m-d', strtotime( '-1 day' ) ),
167
-			'after'  => gmdate( 'Y-m-d', strtotime( '-1 day' ) ),
166
+			'before' => gmdate('Y-m-d', strtotime('-1 day')),
167
+			'after'  => gmdate('Y-m-d', strtotime('-1 day')),
168 168
 		);
169 169
 
170 170
 	}
@@ -182,10 +182,10 @@  discard block
 block discarded – undo
182 182
 		);
183 183
 
184 184
 		// Generate the report.
185
-		$week_starts = absint( get_option( 'start_of_week' ) );
185
+		$week_starts = absint(get_option('start_of_week'));
186 186
 		return array(
187
-			'before' => gmdate( 'Y-m-d' ),
188
-			'after'  => gmdate( 'Y-m-d', strtotime( 'next Sunday -' . ( 7 - $week_starts ) . ' days' ) ),
187
+			'before' => gmdate('Y-m-d'),
188
+			'after'  => gmdate('Y-m-d', strtotime('next Sunday -' . (7 - $week_starts) . ' days')),
189 189
 		);
190 190
 	}
191 191
 
@@ -196,19 +196,19 @@  discard block
 block discarded – undo
196 196
 	 */
197 197
 	public function get_last_week_date_range() {
198 198
 
199
-		$week_starts = absint( get_option( 'start_of_week' ) );
200
-		$week_starts = strtotime( 'last Sunday -' . ( 7 - $week_starts ) . ' days' );
199
+		$week_starts = absint(get_option('start_of_week'));
200
+		$week_starts = strtotime('last Sunday -' . (7 - $week_starts) . ' days');
201 201
 		$date_range  = array(
202
-			'before' => gmdate( 'Y-m-d', $week_starts + 6 * DAY_IN_SECONDS ),
203
-			'after'  => gmdate( 'Y-m-d', $week_starts ),
202
+			'before' => gmdate('Y-m-d', $week_starts + 6 * DAY_IN_SECONDS),
203
+			'after'  => gmdate('Y-m-d', $week_starts),
204 204
 		);
205 205
 
206 206
 		// Set the previous date range.
207 207
 		$week_starts          = $week_starts - 7 * DAY_IN_SECONDS;
208 208
 		$this->previous_range = array(
209 209
 			'period' => 'custom',
210
-			'before' => gmdate( 'Y-m-d', $week_starts + 6 * DAY_IN_SECONDS ),
211
-			'after'  => gmdate( 'Y-m-d', $week_starts ),
210
+			'before' => gmdate('Y-m-d', $week_starts + 6 * DAY_IN_SECONDS),
211
+			'after'  => gmdate('Y-m-d', $week_starts),
212 212
 		);
213 213
 
214 214
 		// Generate the report.
@@ -220,13 +220,13 @@  discard block
 block discarded – undo
220 220
 	 *
221 221
 	 * @return array The appropriate date range.
222 222
 	 */
223
-	public function get_x_days_date_range( $days = 7 ) {
223
+	public function get_x_days_date_range($days = 7) {
224 224
 
225 225
 		$days--;
226 226
 
227
-		$date_range  = array(
228
-			'before' => gmdate( 'Y-m-d' ),
229
-			'after'  => gmdate( 'Y-m-d', strtotime( "-$days days" ) ),
227
+		$date_range = array(
228
+			'before' => gmdate('Y-m-d'),
229
+			'after'  => gmdate('Y-m-d', strtotime("-$days days")),
230 230
 		);
231 231
 
232 232
 		$days++;
@@ -234,8 +234,8 @@  discard block
 block discarded – undo
234 234
 		// Set the previous date range.
235 235
 		$this->previous_range = array(
236 236
 			'period' => 'custom',
237
-			'before' => gmdate( 'Y-m-d', strtotime( $date_range['before'] ) - $days * DAY_IN_SECONDS ),
238
-			'after'  => gmdate( 'Y-m-d', strtotime( $date_range['after'] ) - $days * DAY_IN_SECONDS ),
237
+			'before' => gmdate('Y-m-d', strtotime($date_range['before']) - $days * DAY_IN_SECONDS),
238
+			'after'  => gmdate('Y-m-d', strtotime($date_range['after']) - $days * DAY_IN_SECONDS),
239 239
 		);
240 240
 
241 241
 		// Generate the report.
@@ -256,8 +256,8 @@  discard block
 block discarded – undo
256 256
 
257 257
 		// Generate the report.
258 258
 		return array(
259
-			'after'  => gmdate( 'Y-m-01' ),
260
-			'before' => gmdate( 'Y-m-t' ),
259
+			'after'  => gmdate('Y-m-01'),
260
+			'before' => gmdate('Y-m-t'),
261 261
 		);
262 262
 
263 263
 	}
@@ -272,14 +272,14 @@  discard block
 block discarded – undo
272 272
 		// Set the previous date range.
273 273
 		$this->previous_range = array(
274 274
 			'period' => 'custom',
275
-			'after'  => gmdate( 'Y-m-01', strtotime( '-2 months' ) ),
276
-			'before' => gmdate( 'Y-m-t', strtotime( '-2 months' ) ),
275
+			'after'  => gmdate('Y-m-01', strtotime('-2 months')),
276
+			'before' => gmdate('Y-m-t', strtotime('-2 months')),
277 277
 		);
278 278
 
279 279
 		// Generate the report.
280 280
 		return array(
281
-			'after'  => gmdate( 'Y-m-01', strtotime( 'last month' ) ),
282
-			'before' => gmdate( 'Y-m-t', strtotime( 'last month' ) ),
281
+			'after'  => gmdate('Y-m-01', strtotime('last month')),
282
+			'before' => gmdate('Y-m-t', strtotime('last month')),
283 283
 		);
284 284
 
285 285
 	}
@@ -291,7 +291,7 @@  discard block
 block discarded – undo
291 291
 	 */
292 292
 	public function get_quarters() {
293 293
 
294
-		$year      = (int) gmdate( 'Y' );
294
+		$year      = (int) gmdate('Y');
295 295
 		$last_year = (int) $year - 1;
296 296
 		return array(
297 297
 
@@ -340,9 +340,9 @@  discard block
 block discarded – undo
340 340
 	 */
341 341
 	public function get_quarter() {
342 342
 
343
-		$month    = (int) gmdate( 'n' );
344
-		$quarters = array( 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4 );
345
-		return $quarters[ $month - 1 ];
343
+		$month    = (int) gmdate('n');
344
+		$quarters = array(1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4);
345
+		return $quarters[$month - 1];
346 346
 
347 347
 	}
348 348
 
@@ -361,7 +361,7 @@  discard block
 block discarded – undo
361 361
 		// Generate the report.
362 362
 		$quarter  = $this->get_quarter();
363 363
 		$quarters = $this->get_quarters();
364
-		return $quarters[ $quarter + 1 ];
364
+		return $quarters[$quarter + 1];
365 365
 
366 366
 	}
367 367
 
@@ -377,12 +377,12 @@  discard block
 block discarded – undo
377 377
 
378 378
 		// Set the previous date range.
379 379
 		$this->previous_range = array_merge(
380
-			$quarters[ $quarter - 1 ],
381
-			array( 'period' => 'custom' )
380
+			$quarters[$quarter - 1],
381
+			array('period' => 'custom')
382 382
 		);
383 383
 
384 384
 		// Generate the report.
385
-		return $quarters[ $quarter ];
385
+		return $quarters[$quarter];
386 386
 
387 387
 	}
388 388
 
@@ -400,8 +400,8 @@  discard block
 block discarded – undo
400 400
 
401 401
 		// Generate the report.
402 402
 		return array(
403
-			'after'  => gmdate( 'Y-01-01' ),
404
-			'before' => gmdate( 'Y-12-31' ),
403
+			'after'  => gmdate('Y-01-01'),
404
+			'before' => gmdate('Y-12-31'),
405 405
 		);
406 406
 
407 407
 	}
@@ -416,14 +416,14 @@  discard block
 block discarded – undo
416 416
 		// Set the previous date range.
417 417
 		$this->previous_range = array(
418 418
 			'period' => 'custom',
419
-			'after'  => gmdate( 'Y-01-01', strtotime( '-2 years' ) ),
420
-			'before' => gmdate( 'Y-12-31', strtotime( '-2 years' ) ),
419
+			'after'  => gmdate('Y-01-01', strtotime('-2 years')),
420
+			'before' => gmdate('Y-12-31', strtotime('-2 years')),
421 421
 		);
422 422
 
423 423
 		// Generate the report.
424 424
 		return array(
425
-			'after'  => gmdate( 'Y-01-01', strtotime( 'last year' ) ),
426
-			'before' => gmdate( 'Y-12-31', strtotime( 'last year' ) ),
425
+			'after'  => gmdate('Y-01-01', strtotime('last year')),
426
+			'before' => gmdate('Y-12-31', strtotime('last year')),
427 427
 		);
428 428
 
429 429
 	}
@@ -435,20 +435,20 @@  discard block
 block discarded – undo
435 435
 	 * @param string $date_field The date field.
436 436
 	 * @return string The appropriate SQL.
437 437
 	 */
438
-	public function get_date_range_sql( $request, $date_field ) {
438
+	public function get_date_range_sql($request, $date_field) {
439 439
 		global $wpdb;
440 440
 
441 441
 		$sql = '1=1';
442
-		$range = $this->get_date_range( $request );
442
+		$range = $this->get_date_range($request);
443 443
 
444
-		if ( ! empty( $range['after'] ) ) {
444
+		if (!empty($range['after'])) {
445 445
 			$sql .= ' AND ' . $wpdb->prepare(
446 446
 				"$date_field >= %s",
447 447
 				$range['after']
448 448
 			);
449 449
 		}
450 450
 
451
-		if ( ! empty( $range['before'] ) ) {
451
+		if (!empty($range['before'])) {
452 452
 			$sql .= ' AND ' . $wpdb->prepare(
453 453
 				"$date_field <= %s",
454 454
 				$range['before']
@@ -465,9 +465,9 @@  discard block
 block discarded – undo
465 465
 	 * @param string $date_field The date field.
466 466
 	 * @return string The appropriate SQL.
467 467
 	 */
468
-	public function get_group_by_sql( $date_field ) {
468
+	public function get_group_by_sql($date_field) {
469 469
 
470
-		if ( 'day' === $this->groupby ) {
470
+		if ('day' === $this->groupby) {
471 471
 			return "YEAR($date_field), MONTH($date_field), DAY($date_field)";
472 472
 		}
473 473
 
@@ -481,30 +481,30 @@  discard block
 block discarded – undo
481 481
 	 */
482 482
 	public function get_collection_params() {
483 483
 		return array(
484
-			'context' => $this->get_context_param( array( 'default' => 'view' ) ),
484
+			'context' => $this->get_context_param(array('default' => 'view')),
485 485
 			'period'  => array(
486
-				'description'       => __( 'Limit to results of a specific period.', 'invoicing' ),
486
+				'description'       => __('Limit to results of a specific period.', 'invoicing'),
487 487
 				'type'              => 'string',
488
-				'enum'              => array( 'custom', 'today', 'yesterday', 'week', 'last_week', '7_days', '30_days', '60_days', '90_days', '180_days', 'month', 'last_month', 'quarter', 'last_quarter', 'year', 'last_year', 'quarter', 'last_quarter' ),
488
+				'enum'              => array('custom', 'today', 'yesterday', 'week', 'last_week', '7_days', '30_days', '60_days', '90_days', '180_days', 'month', 'last_month', 'quarter', 'last_quarter', 'year', 'last_year', 'quarter', 'last_quarter'),
489 489
 				'validate_callback' => 'rest_validate_request_arg',
490 490
 				'sanitize_callback' => 'sanitize_text_field',
491 491
 				'default'           => '7_days',
492 492
 			),
493 493
 			'after'   => array(
494 494
 				/* translators: %s: date format */
495
-				'description'       => sprintf( __( 'Limit to results after a specific date, the date needs to be in the %s format.', 'invoicing' ), 'YYYY-MM-DD' ),
495
+				'description'       => sprintf(__('Limit to results after a specific date, the date needs to be in the %s format.', 'invoicing'), 'YYYY-MM-DD'),
496 496
 				'type'              => 'string',
497 497
 				'validate_callback' => 'rest_validate_request_arg',
498 498
 				'sanitize_callback' => 'sanitize_text_field',
499
-				'default'           => gmdate( 'Y-m-d', strtotime( '-7 days' ) ),
499
+				'default'           => gmdate('Y-m-d', strtotime('-7 days')),
500 500
 			),
501 501
 			'before'  => array(
502 502
 				/* translators: %s: date format */
503
-				'description'       => sprintf( __( 'Limit to results before a specific date, the date needs to be in the %s format.', 'invoicing' ), 'YYYY-MM-DD' ),
503
+				'description'       => sprintf(__('Limit to results before a specific date, the date needs to be in the %s format.', 'invoicing'), 'YYYY-MM-DD'),
504 504
 				'type'              => 'string',
505 505
 				'validate_callback' => 'rest_validate_request_arg',
506 506
 				'sanitize_callback' => 'sanitize_text_field',
507
-				'default'           => gmdate( 'Y-m-d' ),
507
+				'default'           => gmdate('Y-m-d'),
508 508
 			),
509 509
 		);
510 510
 	}
Please login to merge, or discard this patch.
includes/reports/class-getpaid-reports-helper.php 2 patches
Indentation   +276 added lines, -276 removed lines patch added patch discarded remove patch
@@ -12,294 +12,294 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Reports_Helper {
14 14
 
15
-	/**
16
-	 * Get report totals such as invoice totals and discount amounts.
17
-	 *
18
-	 * Data example:
19
-	 *
20
-	 * 'subtotal' => array(
21
-	 *     'type'     => 'invoice_data',
22
-	 *     'function' => 'SUM',
23
-	 *     'name'     => 'subtotal'
24
-	 * )
25
-	 *
26
-	 * @param  array $args
27
-	 * @return mixed depending on query_type
28
-	 */
29
-	public static function get_invoice_report_data( $args = array() ) {
30
-		global $wpdb;
31
-
32
-		$default_args = array(
33
-			'data'                  => array(), // The data to retrieve.
34
-			'where'                 => array(), // An array of where queries.
35
-			'query_type'            => 'get_row', // wpdb query to run.
36
-			'group_by'              => '', // What to group results by.
37
-			'order_by'              => '', // What to order by.
38
-			'limit'                 => '', // Results limit.
39
-			'filter_range'          => array(), // An array of before and after dates to limit results by.
40
-			'invoice_types'         => array( 'wpi_invoice' ), // An array of post types to retrieve.
41
-			'invoice_status'        => array( 'publish', 'wpi-processing', 'wpi-onhold' ),
42
-			'parent_invoice_status' => false, // Optionally filter by parent invoice status.
43
-		);
44
-
45
-		$args         = apply_filters( 'getpaid_reports_get_invoice_report_data_args', $args );
46
-		$args         = wp_parse_args( $args, $default_args );
47
-
48
-		extract( $args );
49
-
50
-		if ( empty( $data ) ) {
51
-			return '';
52
-		}
53
-
54
-		$query           = array();
55
-		$query['select'] = 'SELECT ' . implode( ',', self::prepare_invoice_data( $data ) );
56
-		$query['from']   = "FROM {$wpdb->posts} AS posts";
57
-		$query['join']   = implode( ' ', self::prepare_invoice_joins( $data + $where, ! empty( $parent_invoice_status ) ) );
58
-
59
-		$query['where']  = "
15
+    /**
16
+     * Get report totals such as invoice totals and discount amounts.
17
+     *
18
+     * Data example:
19
+     *
20
+     * 'subtotal' => array(
21
+     *     'type'     => 'invoice_data',
22
+     *     'function' => 'SUM',
23
+     *     'name'     => 'subtotal'
24
+     * )
25
+     *
26
+     * @param  array $args
27
+     * @return mixed depending on query_type
28
+     */
29
+    public static function get_invoice_report_data( $args = array() ) {
30
+        global $wpdb;
31
+
32
+        $default_args = array(
33
+            'data'                  => array(), // The data to retrieve.
34
+            'where'                 => array(), // An array of where queries.
35
+            'query_type'            => 'get_row', // wpdb query to run.
36
+            'group_by'              => '', // What to group results by.
37
+            'order_by'              => '', // What to order by.
38
+            'limit'                 => '', // Results limit.
39
+            'filter_range'          => array(), // An array of before and after dates to limit results by.
40
+            'invoice_types'         => array( 'wpi_invoice' ), // An array of post types to retrieve.
41
+            'invoice_status'        => array( 'publish', 'wpi-processing', 'wpi-onhold' ),
42
+            'parent_invoice_status' => false, // Optionally filter by parent invoice status.
43
+        );
44
+
45
+        $args         = apply_filters( 'getpaid_reports_get_invoice_report_data_args', $args );
46
+        $args         = wp_parse_args( $args, $default_args );
47
+
48
+        extract( $args );
49
+
50
+        if ( empty( $data ) ) {
51
+            return '';
52
+        }
53
+
54
+        $query           = array();
55
+        $query['select'] = 'SELECT ' . implode( ',', self::prepare_invoice_data( $data ) );
56
+        $query['from']   = "FROM {$wpdb->posts} AS posts";
57
+        $query['join']   = implode( ' ', self::prepare_invoice_joins( $data + $where, ! empty( $parent_invoice_status ) ) );
58
+
59
+        $query['where']  = "
60 60
 			WHERE 	posts.post_type 	IN ( '" . implode( "','", $invoice_types ) . "' )
61 61
 			";
62 62
 
63
-		if ( ! empty( $invoice_status ) ) {
64
-			$query['where'] .= "
63
+        if ( ! empty( $invoice_status ) ) {
64
+            $query['where'] .= "
65 65
 				AND 	posts.post_status 	IN ( '" . implode( "','", $invoice_status ) . "' )
66 66
 			";
67
-		}
68
-
69
-		if ( ! empty( $parent_invoice_status ) ) {
70
-			if ( ! empty( $invoice_status ) ) {
71
-				$query['where'] .= " AND ( parent.post_status IN ( '" . implode( "','", $parent_invoice_status ) . "' ) OR parent.ID IS NULL ) ";
72
-			} else {
73
-				$query['where'] .= " AND parent.post_status IN ( '" . implode( "','", $parent_invoice_status ) . "' ) ";
74
-			}
75
-		}
76
-
77
-		if ( ! empty( $filter_range['before'] ) ) {
78
-			$query['where'] .= "
67
+        }
68
+
69
+        if ( ! empty( $parent_invoice_status ) ) {
70
+            if ( ! empty( $invoice_status ) ) {
71
+                $query['where'] .= " AND ( parent.post_status IN ( '" . implode( "','", $parent_invoice_status ) . "' ) OR parent.ID IS NULL ) ";
72
+            } else {
73
+                $query['where'] .= " AND parent.post_status IN ( '" . implode( "','", $parent_invoice_status ) . "' ) ";
74
+            }
75
+        }
76
+
77
+        if ( ! empty( $filter_range['before'] ) ) {
78
+            $query['where'] .= "
79 79
 				AND 	posts.post_date <= '" . gmdate( 'Y-m-d 23:59:59', strtotime( $filter_range['before'] ) ) . "'
80 80
 			";
81
-		}
81
+        }
82 82
 
83
-		if ( ! empty( $filter_range['after'] ) ) {
84
-			$query['where'] .= "
83
+        if ( ! empty( $filter_range['after'] ) ) {
84
+            $query['where'] .= "
85 85
 				AND 	posts.post_date >= '" . gmdate( 'Y-m-d 00:00:00', strtotime( $filter_range['after'] ) ) . "'
86 86
 			";
87
-		}
87
+        }
88 88
 
89
-		if ( ! empty( $where ) ) {
89
+        if ( ! empty( $where ) ) {
90 90
 
91
-			foreach ( $where as $value ) {
91
+            foreach ( $where as $value ) {
92 92
 
93
-				if ( strtolower( $value['operator'] ) === 'in' || strtolower( $value['operator'] ) === 'not in' ) {
94
-
95
-					if ( is_array( $value['value'] ) ) {
96
-						$value['value'] = implode( "','", $value['value'] );
97
-					}
98
-
99
-					if ( ! empty( $value['value'] ) ) {
100
-						$where_value = "{$value['operator']} ('{$value['value']}')";
101
-					}
102
-				} else {
103
-					$where_value = "{$value['operator']} '{$value['value']}'";
104
-				}
105
-
106
-				if ( ! empty( $where_value ) ) {
107
-					$query['where'] .= " AND {$value['key']} {$where_value}";
108
-				}
109
-			}
110
-		}
111
-
112
-		if ( $group_by ) {
113
-			$query['group_by'] = "GROUP BY {$group_by}";
114
-		}
115
-
116
-		if ( $order_by ) {
117
-			$query['order_by'] = "ORDER BY {$order_by}";
118
-		}
119
-
120
-		if ( $limit ) {
121
-			$query['limit'] = "LIMIT {$limit}";
122
-		}
123
-
124
-		$query = apply_filters( 'getpaid_reports_get_invoice_report_query', $query, $data );
125
-		$query = implode( ' ', $query );
126
-
127
-		return self::execute( $query_type, $query );
128
-
129
-	}
130
-
131
-	/**
132
-	 * Prepares the data to select.
133
-	 *
134
-	 *
135
-	 * @param  array $data
136
-	 * @return array
137
-	 */
138
-	public static function prepare_invoice_data( $data ) {
139
-
140
-		$prepared = array();
141
-
142
-		foreach ( $data as $raw_key => $value ) {
143
-			$key      = sanitize_key( $raw_key );
144
-			$distinct = '';
145
-
146
-			if ( isset( $value['distinct'] ) ) {
147
-				$distinct = 'DISTINCT';
148
-			}
149
-
150
-			$get_key = self::get_invoice_table_key( $key, $value['type'] );
151
-
152
-			if ( false === $get_key ) {
153
-				// Skip to the next foreach iteration else the query will be invalid.
154
-				continue;
155
-			}
156
-
157
-			if ( ! empty( $value['function'] ) ) {
158
-				$get = "{$value['function']}({$distinct} {$get_key})";
159
-			} else {
160
-				$get = "{$distinct} {$get_key}";
161
-			}
162
-
163
-			$prepared[] = "{$get} as {$value['name']}";
164
-		}
165
-
166
-		return $prepared;
167
-
168
-	}
169
-
170
-	/**
171
-	 * Prepares the joins to use.
172
-	 *
173
-	 *
174
-	 * @param  array $data
175
-	 * @param  bool $with_parent
176
-	 * @return array
177
-	 */
178
-	public static function prepare_invoice_joins( $data, $with_parent ) {
179
-		global $wpdb;
180
-
181
-		$prepared = array();
182
-
183
-		foreach ( $data as $raw_key => $value ) {
184
-			$join_type = isset( $value['join_type'] ) ? $value['join_type'] : 'INNER';
185
-			$type      = isset( $value['type'] ) ? $value['type'] : false;
186
-			$key       = sanitize_key( $raw_key );
187
-
188
-			switch ( $type ) {
189
-				case 'meta':
190
-					$prepared[ "meta_{$key}" ] = "{$join_type} JOIN {$wpdb->postmeta} AS meta_{$key} ON ( posts.ID = meta_{$key}.post_id AND meta_{$key}.meta_key = '{$raw_key}' )";
191
-					break;
192
-				case 'parent_meta':
193
-					$prepared[ "parent_meta_{$key}" ] = "{$join_type} JOIN {$wpdb->postmeta} AS parent_meta_{$key} ON (posts.post_parent = parent_meta_{$key}.post_id) AND (parent_meta_{$key}.meta_key = '{$raw_key}')";
194
-					break;
195
-				case 'invoice_data':
196
-					$prepared['invoices'] = "{$join_type} JOIN {$wpdb->prefix}getpaid_invoices AS invoices ON posts.ID = invoices.post_id";
197
-					break;
198
-				case 'invoice_item':
199
-					$prepared['invoice_items'] = "{$join_type} JOIN {$wpdb->prefix}getpaid_invoice_items AS invoice_items ON posts.ID = invoice_items.post_id";
200
-					break;
201
-			}
202
-		}
203
-
204
-		if ( $with_parent ) {
205
-			$prepared['parent'] = "LEFT JOIN {$wpdb->posts} AS parent ON posts.post_parent = parent.ID";
206
-		}
207
-
208
-		return $prepared;
209
-
210
-	}
211
-
212
-	/**
213
-	 * Retrieves the appropriate table key to use.
214
-	 *
215
-	 *
216
-	 * @param  string $key
217
-	 * @param  string $table
218
-	 * @return string|false
219
-	 */
220
-	public static function get_invoice_table_key( $key, $table ) {
221
-
222
-		$keys = array(
223
-			'meta'         => "meta_{$key}.meta_value",
224
-			'parent_meta'  => "parent_meta_{$key}.meta_value",
225
-			'post_data'    => "posts.{$key}",
226
-			'invoice_data' => "invoices.{$key}",
227
-			'invoice_item' => "invoice_items.{$key}",
228
-		);
229
-
230
-		return isset( $keys[ $table ] ) ? $keys[ $table ] : false;
231
-
232
-	}
233
-
234
-	/**
235
-	 * Executes a query and caches the result for a minute.
236
-	 *
237
-	 *
238
-	 * @param  string $query_type
239
-	 * @param  string $query
240
-	 * @return mixed depending on query_type
241
-	 */
242
-	public static function execute( $query_type, $query ) {
243
-		global $wpdb;
244
-
245
-		$query_hash = md5( $query_type . $query );
246
-		$result     = self::get_cached_query( $query_hash );
247
-		if ( $result === false ) {
248
-			self::enable_big_selects();
249
-
250
-			$result = $wpdb->$query_type( $query );
251
-			self::set_cached_query( $query_hash, $result );
252
-		}
253
-
254
-		return $result;
255
-
256
-	}
257
-
258
-	/**
259
-	 * Enables big mysql selects for reports, just once for this session.
260
-	 */
261
-	protected static function enable_big_selects() {
262
-		static $big_selects = false;
263
-
264
-		global $wpdb;
265
-
266
-		if ( ! $big_selects ) {
267
-			$wpdb->query( 'SET SESSION SQL_BIG_SELECTS=1' );
268
-			$big_selects = true;
269
-		}
270
-	}
271
-
272
-	/**
273
-	 * Get the cached query result or null if it's not in the cache.
274
-	 *
275
-	 * @param string $query_hash The query hash.
276
-	 *
277
-	 * @return mixed|false The cache contents on success, false on failure to retrieve contents.
278
-	 */
279
-	protected static function get_cached_query( $query_hash ) {
280
-
281
-		return wp_cache_get(
282
-			$query_hash,
283
-			strtolower( __CLASS__ )
284
-		);
285
-
286
-	}
287
-
288
-	/**
289
-	 * Set the cached query result.
290
-	 *
291
-	 * @param string $query_hash The query hash.
292
-	 * @param mixed  $data The data to cache.
293
-	 */
294
-	protected static function set_cached_query( $query_hash, $data ) {
295
-
296
-		wp_cache_set(
297
-			$query_hash,
298
-			$data,
299
-			strtolower( __CLASS__ ),
300
-			MINUTE_IN_SECONDS
301
-		);
302
-
303
-	}
93
+                if ( strtolower( $value['operator'] ) === 'in' || strtolower( $value['operator'] ) === 'not in' ) {
94
+
95
+                    if ( is_array( $value['value'] ) ) {
96
+                        $value['value'] = implode( "','", $value['value'] );
97
+                    }
98
+
99
+                    if ( ! empty( $value['value'] ) ) {
100
+                        $where_value = "{$value['operator']} ('{$value['value']}')";
101
+                    }
102
+                } else {
103
+                    $where_value = "{$value['operator']} '{$value['value']}'";
104
+                }
105
+
106
+                if ( ! empty( $where_value ) ) {
107
+                    $query['where'] .= " AND {$value['key']} {$where_value}";
108
+                }
109
+            }
110
+        }
111
+
112
+        if ( $group_by ) {
113
+            $query['group_by'] = "GROUP BY {$group_by}";
114
+        }
115
+
116
+        if ( $order_by ) {
117
+            $query['order_by'] = "ORDER BY {$order_by}";
118
+        }
119
+
120
+        if ( $limit ) {
121
+            $query['limit'] = "LIMIT {$limit}";
122
+        }
123
+
124
+        $query = apply_filters( 'getpaid_reports_get_invoice_report_query', $query, $data );
125
+        $query = implode( ' ', $query );
126
+
127
+        return self::execute( $query_type, $query );
128
+
129
+    }
130
+
131
+    /**
132
+     * Prepares the data to select.
133
+     *
134
+     *
135
+     * @param  array $data
136
+     * @return array
137
+     */
138
+    public static function prepare_invoice_data( $data ) {
139
+
140
+        $prepared = array();
141
+
142
+        foreach ( $data as $raw_key => $value ) {
143
+            $key      = sanitize_key( $raw_key );
144
+            $distinct = '';
145
+
146
+            if ( isset( $value['distinct'] ) ) {
147
+                $distinct = 'DISTINCT';
148
+            }
149
+
150
+            $get_key = self::get_invoice_table_key( $key, $value['type'] );
151
+
152
+            if ( false === $get_key ) {
153
+                // Skip to the next foreach iteration else the query will be invalid.
154
+                continue;
155
+            }
156
+
157
+            if ( ! empty( $value['function'] ) ) {
158
+                $get = "{$value['function']}({$distinct} {$get_key})";
159
+            } else {
160
+                $get = "{$distinct} {$get_key}";
161
+            }
162
+
163
+            $prepared[] = "{$get} as {$value['name']}";
164
+        }
165
+
166
+        return $prepared;
167
+
168
+    }
169
+
170
+    /**
171
+     * Prepares the joins to use.
172
+     *
173
+     *
174
+     * @param  array $data
175
+     * @param  bool $with_parent
176
+     * @return array
177
+     */
178
+    public static function prepare_invoice_joins( $data, $with_parent ) {
179
+        global $wpdb;
180
+
181
+        $prepared = array();
182
+
183
+        foreach ( $data as $raw_key => $value ) {
184
+            $join_type = isset( $value['join_type'] ) ? $value['join_type'] : 'INNER';
185
+            $type      = isset( $value['type'] ) ? $value['type'] : false;
186
+            $key       = sanitize_key( $raw_key );
187
+
188
+            switch ( $type ) {
189
+                case 'meta':
190
+                    $prepared[ "meta_{$key}" ] = "{$join_type} JOIN {$wpdb->postmeta} AS meta_{$key} ON ( posts.ID = meta_{$key}.post_id AND meta_{$key}.meta_key = '{$raw_key}' )";
191
+                    break;
192
+                case 'parent_meta':
193
+                    $prepared[ "parent_meta_{$key}" ] = "{$join_type} JOIN {$wpdb->postmeta} AS parent_meta_{$key} ON (posts.post_parent = parent_meta_{$key}.post_id) AND (parent_meta_{$key}.meta_key = '{$raw_key}')";
194
+                    break;
195
+                case 'invoice_data':
196
+                    $prepared['invoices'] = "{$join_type} JOIN {$wpdb->prefix}getpaid_invoices AS invoices ON posts.ID = invoices.post_id";
197
+                    break;
198
+                case 'invoice_item':
199
+                    $prepared['invoice_items'] = "{$join_type} JOIN {$wpdb->prefix}getpaid_invoice_items AS invoice_items ON posts.ID = invoice_items.post_id";
200
+                    break;
201
+            }
202
+        }
203
+
204
+        if ( $with_parent ) {
205
+            $prepared['parent'] = "LEFT JOIN {$wpdb->posts} AS parent ON posts.post_parent = parent.ID";
206
+        }
207
+
208
+        return $prepared;
209
+
210
+    }
211
+
212
+    /**
213
+     * Retrieves the appropriate table key to use.
214
+     *
215
+     *
216
+     * @param  string $key
217
+     * @param  string $table
218
+     * @return string|false
219
+     */
220
+    public static function get_invoice_table_key( $key, $table ) {
221
+
222
+        $keys = array(
223
+            'meta'         => "meta_{$key}.meta_value",
224
+            'parent_meta'  => "parent_meta_{$key}.meta_value",
225
+            'post_data'    => "posts.{$key}",
226
+            'invoice_data' => "invoices.{$key}",
227
+            'invoice_item' => "invoice_items.{$key}",
228
+        );
229
+
230
+        return isset( $keys[ $table ] ) ? $keys[ $table ] : false;
231
+
232
+    }
233
+
234
+    /**
235
+     * Executes a query and caches the result for a minute.
236
+     *
237
+     *
238
+     * @param  string $query_type
239
+     * @param  string $query
240
+     * @return mixed depending on query_type
241
+     */
242
+    public static function execute( $query_type, $query ) {
243
+        global $wpdb;
244
+
245
+        $query_hash = md5( $query_type . $query );
246
+        $result     = self::get_cached_query( $query_hash );
247
+        if ( $result === false ) {
248
+            self::enable_big_selects();
249
+
250
+            $result = $wpdb->$query_type( $query );
251
+            self::set_cached_query( $query_hash, $result );
252
+        }
253
+
254
+        return $result;
255
+
256
+    }
257
+
258
+    /**
259
+     * Enables big mysql selects for reports, just once for this session.
260
+     */
261
+    protected static function enable_big_selects() {
262
+        static $big_selects = false;
263
+
264
+        global $wpdb;
265
+
266
+        if ( ! $big_selects ) {
267
+            $wpdb->query( 'SET SESSION SQL_BIG_SELECTS=1' );
268
+            $big_selects = true;
269
+        }
270
+    }
271
+
272
+    /**
273
+     * Get the cached query result or null if it's not in the cache.
274
+     *
275
+     * @param string $query_hash The query hash.
276
+     *
277
+     * @return mixed|false The cache contents on success, false on failure to retrieve contents.
278
+     */
279
+    protected static function get_cached_query( $query_hash ) {
280
+
281
+        return wp_cache_get(
282
+            $query_hash,
283
+            strtolower( __CLASS__ )
284
+        );
285
+
286
+    }
287
+
288
+    /**
289
+     * Set the cached query result.
290
+     *
291
+     * @param string $query_hash The query hash.
292
+     * @param mixed  $data The data to cache.
293
+     */
294
+    protected static function set_cached_query( $query_hash, $data ) {
295
+
296
+        wp_cache_set(
297
+            $query_hash,
298
+            $data,
299
+            strtolower( __CLASS__ ),
300
+            MINUTE_IN_SECONDS
301
+        );
302
+
303
+    }
304 304
 
305 305
 }
Please login to merge, or discard this patch.
Spacing   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * GetPaid_Reports_Helper Class.
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
 	 * @param  array $args
27 27
 	 * @return mixed depending on query_type
28 28
 	 */
29
-	public static function get_invoice_report_data( $args = array() ) {
29
+	public static function get_invoice_report_data($args = array()) {
30 30
 		global $wpdb;
31 31
 
32 32
 		$default_args = array(
@@ -37,94 +37,94 @@  discard block
 block discarded – undo
37 37
 			'order_by'              => '', // What to order by.
38 38
 			'limit'                 => '', // Results limit.
39 39
 			'filter_range'          => array(), // An array of before and after dates to limit results by.
40
-			'invoice_types'         => array( 'wpi_invoice' ), // An array of post types to retrieve.
41
-			'invoice_status'        => array( 'publish', 'wpi-processing', 'wpi-onhold' ),
40
+			'invoice_types'         => array('wpi_invoice'), // An array of post types to retrieve.
41
+			'invoice_status'        => array('publish', 'wpi-processing', 'wpi-onhold'),
42 42
 			'parent_invoice_status' => false, // Optionally filter by parent invoice status.
43 43
 		);
44 44
 
45
-		$args         = apply_filters( 'getpaid_reports_get_invoice_report_data_args', $args );
46
-		$args         = wp_parse_args( $args, $default_args );
45
+		$args         = apply_filters('getpaid_reports_get_invoice_report_data_args', $args);
46
+		$args         = wp_parse_args($args, $default_args);
47 47
 
48
-		extract( $args );
48
+		extract($args);
49 49
 
50
-		if ( empty( $data ) ) {
50
+		if (empty($data)) {
51 51
 			return '';
52 52
 		}
53 53
 
54 54
 		$query           = array();
55
-		$query['select'] = 'SELECT ' . implode( ',', self::prepare_invoice_data( $data ) );
55
+		$query['select'] = 'SELECT ' . implode(',', self::prepare_invoice_data($data));
56 56
 		$query['from']   = "FROM {$wpdb->posts} AS posts";
57
-		$query['join']   = implode( ' ', self::prepare_invoice_joins( $data + $where, ! empty( $parent_invoice_status ) ) );
57
+		$query['join']   = implode(' ', self::prepare_invoice_joins($data + $where, !empty($parent_invoice_status)));
58 58
 
59 59
 		$query['where']  = "
60
-			WHERE 	posts.post_type 	IN ( '" . implode( "','", $invoice_types ) . "' )
60
+			WHERE 	posts.post_type 	IN ( '" . implode("','", $invoice_types) . "' )
61 61
 			";
62 62
 
63
-		if ( ! empty( $invoice_status ) ) {
63
+		if (!empty($invoice_status)) {
64 64
 			$query['where'] .= "
65
-				AND 	posts.post_status 	IN ( '" . implode( "','", $invoice_status ) . "' )
65
+				AND 	posts.post_status 	IN ( '" . implode("','", $invoice_status) . "' )
66 66
 			";
67 67
 		}
68 68
 
69
-		if ( ! empty( $parent_invoice_status ) ) {
70
-			if ( ! empty( $invoice_status ) ) {
71
-				$query['where'] .= " AND ( parent.post_status IN ( '" . implode( "','", $parent_invoice_status ) . "' ) OR parent.ID IS NULL ) ";
69
+		if (!empty($parent_invoice_status)) {
70
+			if (!empty($invoice_status)) {
71
+				$query['where'] .= " AND ( parent.post_status IN ( '" . implode("','", $parent_invoice_status) . "' ) OR parent.ID IS NULL ) ";
72 72
 			} else {
73
-				$query['where'] .= " AND parent.post_status IN ( '" . implode( "','", $parent_invoice_status ) . "' ) ";
73
+				$query['where'] .= " AND parent.post_status IN ( '" . implode("','", $parent_invoice_status) . "' ) ";
74 74
 			}
75 75
 		}
76 76
 
77
-		if ( ! empty( $filter_range['before'] ) ) {
77
+		if (!empty($filter_range['before'])) {
78 78
 			$query['where'] .= "
79
-				AND 	posts.post_date <= '" . gmdate( 'Y-m-d 23:59:59', strtotime( $filter_range['before'] ) ) . "'
79
+				AND 	posts.post_date <= '" . gmdate('Y-m-d 23:59:59', strtotime($filter_range['before'])) . "'
80 80
 			";
81 81
 		}
82 82
 
83
-		if ( ! empty( $filter_range['after'] ) ) {
83
+		if (!empty($filter_range['after'])) {
84 84
 			$query['where'] .= "
85
-				AND 	posts.post_date >= '" . gmdate( 'Y-m-d 00:00:00', strtotime( $filter_range['after'] ) ) . "'
85
+				AND 	posts.post_date >= '" . gmdate('Y-m-d 00:00:00', strtotime($filter_range['after'])) . "'
86 86
 			";
87 87
 		}
88 88
 
89
-		if ( ! empty( $where ) ) {
89
+		if (!empty($where)) {
90 90
 
91
-			foreach ( $where as $value ) {
91
+			foreach ($where as $value) {
92 92
 
93
-				if ( strtolower( $value['operator'] ) === 'in' || strtolower( $value['operator'] ) === 'not in' ) {
93
+				if (strtolower($value['operator']) === 'in' || strtolower($value['operator']) === 'not in') {
94 94
 
95
-					if ( is_array( $value['value'] ) ) {
96
-						$value['value'] = implode( "','", $value['value'] );
95
+					if (is_array($value['value'])) {
96
+						$value['value'] = implode("','", $value['value']);
97 97
 					}
98 98
 
99
-					if ( ! empty( $value['value'] ) ) {
99
+					if (!empty($value['value'])) {
100 100
 						$where_value = "{$value['operator']} ('{$value['value']}')";
101 101
 					}
102 102
 				} else {
103 103
 					$where_value = "{$value['operator']} '{$value['value']}'";
104 104
 				}
105 105
 
106
-				if ( ! empty( $where_value ) ) {
106
+				if (!empty($where_value)) {
107 107
 					$query['where'] .= " AND {$value['key']} {$where_value}";
108 108
 				}
109 109
 			}
110 110
 		}
111 111
 
112
-		if ( $group_by ) {
112
+		if ($group_by) {
113 113
 			$query['group_by'] = "GROUP BY {$group_by}";
114 114
 		}
115 115
 
116
-		if ( $order_by ) {
116
+		if ($order_by) {
117 117
 			$query['order_by'] = "ORDER BY {$order_by}";
118 118
 		}
119 119
 
120
-		if ( $limit ) {
120
+		if ($limit) {
121 121
 			$query['limit'] = "LIMIT {$limit}";
122 122
 		}
123 123
 
124
-		$query = apply_filters( 'getpaid_reports_get_invoice_report_query', $query, $data );
125
-		$query = implode( ' ', $query );
124
+		$query = apply_filters('getpaid_reports_get_invoice_report_query', $query, $data);
125
+		$query = implode(' ', $query);
126 126
 
127
-		return self::execute( $query_type, $query );
127
+		return self::execute($query_type, $query);
128 128
 
129 129
 	}
130 130
 
@@ -135,26 +135,26 @@  discard block
 block discarded – undo
135 135
 	 * @param  array $data
136 136
 	 * @return array
137 137
 	 */
138
-	public static function prepare_invoice_data( $data ) {
138
+	public static function prepare_invoice_data($data) {
139 139
 
140 140
 		$prepared = array();
141 141
 
142
-		foreach ( $data as $raw_key => $value ) {
143
-			$key      = sanitize_key( $raw_key );
142
+		foreach ($data as $raw_key => $value) {
143
+			$key      = sanitize_key($raw_key);
144 144
 			$distinct = '';
145 145
 
146
-			if ( isset( $value['distinct'] ) ) {
146
+			if (isset($value['distinct'])) {
147 147
 				$distinct = 'DISTINCT';
148 148
 			}
149 149
 
150
-			$get_key = self::get_invoice_table_key( $key, $value['type'] );
150
+			$get_key = self::get_invoice_table_key($key, $value['type']);
151 151
 
152
-			if ( false === $get_key ) {
152
+			if (false === $get_key) {
153 153
 				// Skip to the next foreach iteration else the query will be invalid.
154 154
 				continue;
155 155
 			}
156 156
 
157
-			if ( ! empty( $value['function'] ) ) {
157
+			if (!empty($value['function'])) {
158 158
 				$get = "{$value['function']}({$distinct} {$get_key})";
159 159
 			} else {
160 160
 				$get = "{$distinct} {$get_key}";
@@ -175,22 +175,22 @@  discard block
 block discarded – undo
175 175
 	 * @param  bool $with_parent
176 176
 	 * @return array
177 177
 	 */
178
-	public static function prepare_invoice_joins( $data, $with_parent ) {
178
+	public static function prepare_invoice_joins($data, $with_parent) {
179 179
 		global $wpdb;
180 180
 
181 181
 		$prepared = array();
182 182
 
183
-		foreach ( $data as $raw_key => $value ) {
184
-			$join_type = isset( $value['join_type'] ) ? $value['join_type'] : 'INNER';
185
-			$type      = isset( $value['type'] ) ? $value['type'] : false;
186
-			$key       = sanitize_key( $raw_key );
183
+		foreach ($data as $raw_key => $value) {
184
+			$join_type = isset($value['join_type']) ? $value['join_type'] : 'INNER';
185
+			$type      = isset($value['type']) ? $value['type'] : false;
186
+			$key       = sanitize_key($raw_key);
187 187
 
188
-			switch ( $type ) {
188
+			switch ($type) {
189 189
 				case 'meta':
190
-					$prepared[ "meta_{$key}" ] = "{$join_type} JOIN {$wpdb->postmeta} AS meta_{$key} ON ( posts.ID = meta_{$key}.post_id AND meta_{$key}.meta_key = '{$raw_key}' )";
190
+					$prepared["meta_{$key}"] = "{$join_type} JOIN {$wpdb->postmeta} AS meta_{$key} ON ( posts.ID = meta_{$key}.post_id AND meta_{$key}.meta_key = '{$raw_key}' )";
191 191
 					break;
192 192
 				case 'parent_meta':
193
-					$prepared[ "parent_meta_{$key}" ] = "{$join_type} JOIN {$wpdb->postmeta} AS parent_meta_{$key} ON (posts.post_parent = parent_meta_{$key}.post_id) AND (parent_meta_{$key}.meta_key = '{$raw_key}')";
193
+					$prepared["parent_meta_{$key}"] = "{$join_type} JOIN {$wpdb->postmeta} AS parent_meta_{$key} ON (posts.post_parent = parent_meta_{$key}.post_id) AND (parent_meta_{$key}.meta_key = '{$raw_key}')";
194 194
 					break;
195 195
 				case 'invoice_data':
196 196
 					$prepared['invoices'] = "{$join_type} JOIN {$wpdb->prefix}getpaid_invoices AS invoices ON posts.ID = invoices.post_id";
@@ -201,7 +201,7 @@  discard block
 block discarded – undo
201 201
 			}
202 202
 		}
203 203
 
204
-		if ( $with_parent ) {
204
+		if ($with_parent) {
205 205
 			$prepared['parent'] = "LEFT JOIN {$wpdb->posts} AS parent ON posts.post_parent = parent.ID";
206 206
 		}
207 207
 
@@ -217,7 +217,7 @@  discard block
 block discarded – undo
217 217
 	 * @param  string $table
218 218
 	 * @return string|false
219 219
 	 */
220
-	public static function get_invoice_table_key( $key, $table ) {
220
+	public static function get_invoice_table_key($key, $table) {
221 221
 
222 222
 		$keys = array(
223 223
 			'meta'         => "meta_{$key}.meta_value",
@@ -227,7 +227,7 @@  discard block
 block discarded – undo
227 227
 			'invoice_item' => "invoice_items.{$key}",
228 228
 		);
229 229
 
230
-		return isset( $keys[ $table ] ) ? $keys[ $table ] : false;
230
+		return isset($keys[$table]) ? $keys[$table] : false;
231 231
 
232 232
 	}
233 233
 
@@ -239,16 +239,16 @@  discard block
 block discarded – undo
239 239
 	 * @param  string $query
240 240
 	 * @return mixed depending on query_type
241 241
 	 */
242
-	public static function execute( $query_type, $query ) {
242
+	public static function execute($query_type, $query) {
243 243
 		global $wpdb;
244 244
 
245
-		$query_hash = md5( $query_type . $query );
246
-		$result     = self::get_cached_query( $query_hash );
247
-		if ( $result === false ) {
245
+		$query_hash = md5($query_type . $query);
246
+		$result     = self::get_cached_query($query_hash);
247
+		if ($result === false) {
248 248
 			self::enable_big_selects();
249 249
 
250
-			$result = $wpdb->$query_type( $query );
251
-			self::set_cached_query( $query_hash, $result );
250
+			$result = $wpdb->$query_type($query);
251
+			self::set_cached_query($query_hash, $result);
252 252
 		}
253 253
 
254 254
 		return $result;
@@ -263,8 +263,8 @@  discard block
 block discarded – undo
263 263
 
264 264
 		global $wpdb;
265 265
 
266
-		if ( ! $big_selects ) {
267
-			$wpdb->query( 'SET SESSION SQL_BIG_SELECTS=1' );
266
+		if (!$big_selects) {
267
+			$wpdb->query('SET SESSION SQL_BIG_SELECTS=1');
268 268
 			$big_selects = true;
269 269
 		}
270 270
 	}
@@ -276,11 +276,11 @@  discard block
 block discarded – undo
276 276
 	 *
277 277
 	 * @return mixed|false The cache contents on success, false on failure to retrieve contents.
278 278
 	 */
279
-	protected static function get_cached_query( $query_hash ) {
279
+	protected static function get_cached_query($query_hash) {
280 280
 
281 281
 		return wp_cache_get(
282 282
 			$query_hash,
283
-			strtolower( __CLASS__ )
283
+			strtolower(__CLASS__)
284 284
 		);
285 285
 
286 286
 	}
@@ -291,12 +291,12 @@  discard block
 block discarded – undo
291 291
 	 * @param string $query_hash The query hash.
292 292
 	 * @param mixed  $data The data to cache.
293 293
 	 */
294
-	protected static function set_cached_query( $query_hash, $data ) {
294
+	protected static function set_cached_query($query_hash, $data) {
295 295
 
296 296
 		wp_cache_set(
297 297
 			$query_hash,
298 298
 			$data,
299
-			strtolower( __CLASS__ ),
299
+			strtolower(__CLASS__),
300 300
 			MINUTE_IN_SECONDS
301 301
 		);
302 302
 
Please login to merge, or discard this patch.
invoicing.php 2 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -19,16 +19,16 @@  discard block
 block discarded – undo
19 19
 
20 20
 // Define constants.
21 21
 if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) {
22
-	define( 'WPINV_PLUGIN_FILE', __FILE__ );
22
+    define( 'WPINV_PLUGIN_FILE', __FILE__ );
23 23
 }
24 24
 
25 25
 if ( ! defined( 'WPINV_VERSION' ) ) {
26
-	define( 'WPINV_VERSION', '2.7.5' );
26
+    define( 'WPINV_VERSION', '2.7.5' );
27 27
 }
28 28
 
29 29
 // Include the main Invoicing class.
30 30
 if ( ! class_exists( 'WPInv_Plugin', false ) ) {
31
-	require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
31
+    require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
32 32
 }
33 33
 
34 34
 /**
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
         $GLOBALS['invoicing'] = new WPInv_Plugin();
44 44
     }
45 45
 
46
-	return $GLOBALS['invoicing'];
46
+    return $GLOBALS['invoicing'];
47 47
 }
48 48
 
49 49
 /**
Please login to merge, or discard this patch.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -15,20 +15,20 @@  discard block
 block discarded – undo
15 15
  * @package GetPaid
16 16
  */
17 17
 
18
-defined( 'ABSPATH' ) || exit;
18
+defined('ABSPATH') || exit;
19 19
 
20 20
 // Define constants.
21
-if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) {
22
-	define( 'WPINV_PLUGIN_FILE', __FILE__ );
21
+if (!defined('WPINV_PLUGIN_FILE')) {
22
+	define('WPINV_PLUGIN_FILE', __FILE__);
23 23
 }
24 24
 
25
-if ( ! defined( 'WPINV_VERSION' ) ) {
26
-	define( 'WPINV_VERSION', '2.7.5' );
25
+if (!defined('WPINV_VERSION')) {
26
+	define('WPINV_VERSION', '2.7.5');
27 27
 }
28 28
 
29 29
 // Include the main Invoicing class.
30
-if ( ! class_exists( 'WPInv_Plugin', false ) ) {
31
-	require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
30
+if (!class_exists('WPInv_Plugin', false)) {
31
+	require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/class-wpinv.php';
32 32
 }
33 33
 
34 34
 /**
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
  */
40 40
 function getpaid() {
41 41
 
42
-    if ( empty( $GLOBALS['invoicing'] ) ) {
42
+    if (empty($GLOBALS['invoicing'])) {
43 43
         $GLOBALS['invoicing'] = new WPInv_Plugin();
44 44
     }
45 45
 
@@ -52,9 +52,9 @@  discard block
 block discarded – undo
52 52
  * @since  2.0.8
53 53
  */
54 54
 function getpaid_deactivation_hook() {
55
-    update_option( 'wpinv_flush_permalinks', 1 );
55
+    update_option('wpinv_flush_permalinks', 1);
56 56
 }
57
-register_deactivation_hook( __FILE__, 'getpaid_deactivation_hook' );
57
+register_deactivation_hook(__FILE__, 'getpaid_deactivation_hook');
58 58
 
59 59
 /**
60 60
  * @deprecated
@@ -64,4 +64,4 @@  discard block
 block discarded – undo
64 64
 }
65 65
 
66 66
 // Kickstart the plugin.
67
-add_action( 'plugins_loaded', 'getpaid', -100 );
67
+add_action('plugins_loaded', 'getpaid', -100);
Please login to merge, or discard this patch.
includes/class-wpinv-invoice.php 2 patches
Indentation   +2661 added lines, -2661 removed lines patch added patch discarded remove patch
@@ -14,30 +14,30 @@  discard block
 block discarded – undo
14 14
 class WPInv_Invoice extends GetPaid_Data {
15 15
 
16 16
     /**
17
-	 * Which data store to load.
18
-	 *
19
-	 * @var string
20
-	 */
17
+     * Which data store to load.
18
+     *
19
+     * @var string
20
+     */
21 21
     protected $data_store_name = 'invoice';
22 22
 
23 23
     /**
24
-	 * This is the name of this object type.
25
-	 *
26
-	 * @var string
27
-	 */
24
+     * This is the name of this object type.
25
+     *
26
+     * @var string
27
+     */
28 28
     protected $object_type = 'invoice';
29 29
 
30 30
     /**
31
-	 * Item Data array. This is the core item data exposed in APIs.
32
-	 *
33
-	 * @since 1.0.19
34
-	 * @var array
35
-	 */
36
-	protected $data = array(
37
-		'parent_id'              => 0,
38
-		'status'                 => 'wpi-pending',
39
-		'version'                => '',
40
-		'date_created'           => null,
31
+     * Item Data array. This is the core item data exposed in APIs.
32
+     *
33
+     * @since 1.0.19
34
+     * @var array
35
+     */
36
+    protected $data = array(
37
+        'parent_id'              => 0,
38
+        'status'                 => 'wpi-pending',
39
+        'version'                => '',
40
+        'date_created'           => null,
41 41
         'date_modified'          => null,
42 42
         'due_date'               => null,
43 43
         'completed_date'         => null,
@@ -60,17 +60,17 @@  discard block
 block discarded – undo
60 60
         'state'                  => null,
61 61
         'zip'                    => null,
62 62
         'company'                => null,
63
-		'company_id'             => null,
63
+        'company_id'             => null,
64 64
         'vat_number'             => null,
65 65
         'vat_rate'               => null,
66 66
         'address'                => null,
67 67
         'address_confirmed'      => false,
68 68
         'shipping'               => null,
69
-		'subtotal'               => 0,
69
+        'subtotal'               => 0,
70 70
         'total_discount'         => 0,
71 71
         'total_tax'              => 0,
72
-		'total_fees'             => 0,
73
-		'total'                  => 0,
72
+        'total_fees'             => 0,
73
+        'total'                  => 0,
74 74
         'fees'                   => array(),
75 75
         'discounts'              => array(),
76 76
         'taxes'                  => array(),
@@ -82,22 +82,22 @@  discard block
 block discarded – undo
82 82
         'transaction_id'         => '',
83 83
         'currency'               => '',
84 84
         'disable_taxes'          => false,
85
-		'subscription_id'        => null,
86
-		'remote_subscription_id' => null,
87
-		'is_viewed'              => false,
88
-		'email_cc'               => '',
89
-		'template'               => 'quantity', // hours, amount only
90
-		'created_via'            => null,
85
+        'subscription_id'        => null,
86
+        'remote_subscription_id' => null,
87
+        'is_viewed'              => false,
88
+        'email_cc'               => '',
89
+        'template'               => 'quantity', // hours, amount only
90
+        'created_via'            => null,
91 91
     );
92 92
 
93 93
     /**
94
-	 * Stores meta in cache for future reads.
95
-	 *
96
-	 * A group must be set to to enable caching.
97
-	 *
98
-	 * @var string
99
-	 */
100
-	protected $cache_group = 'getpaid_invoices';
94
+     * Stores meta in cache for future reads.
95
+     *
96
+     * A group must be set to to enable caching.
97
+     *
98
+     * @var string
99
+     */
100
+    protected $cache_group = 'getpaid_invoices';
101 101
 
102 102
     /**
103 103
      * Stores a reference to the original WP_Post object
@@ -111,110 +111,110 @@  discard block
 block discarded – undo
111 111
      *
112 112
      * @var int
113 113
      */
114
-	protected $recurring_item = null;
114
+    protected $recurring_item = null;
115 115
 
116
-	/**
116
+    /**
117 117
      * Stores an array of item totals.
118
-	 *
119
-	 * e.g $totals['discount'] = array(
120
-	 *      'initial'   => 10,
121
-	 *      'recurring' => 10,
122
-	 * )
118
+     *
119
+     * e.g $totals['discount'] = array(
120
+     *      'initial'   => 10,
121
+     *      'recurring' => 10,
122
+     * )
123 123
      *
124 124
      * @var array
125 125
      */
126
-	protected $totals = array();
126
+    protected $totals = array();
127 127
 
128
-	/**
128
+    /**
129 129
      * Tax rate.
130
-	 *
130
+     *
131 131
      * @var float
132 132
      */
133
-	protected $tax_rate = 0;
133
+    protected $tax_rate = 0;
134 134
 
135
-	/**
136
-	 * Stores the status transition information.
137
-	 *
138
-	 * @since 1.0.19
139
-	 * @var bool|array
140
-	 */
141
-	protected $status_transition = false;
135
+    /**
136
+     * Stores the status transition information.
137
+     *
138
+     * @since 1.0.19
139
+     * @var bool|array
140
+     */
141
+    protected $status_transition = false;
142 142
 
143 143
     /**
144
-	 * Get the invoice if ID is passed, otherwise the invoice is new and empty.
145
-	 *
146
-	 * @param  int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object to read.
147
-	 */
144
+     * Get the invoice if ID is passed, otherwise the invoice is new and empty.
145
+     *
146
+     * @param  int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object to read.
147
+     */
148 148
     public function __construct( $invoice = 0 ) {
149 149
 
150 150
         parent::__construct( $invoice );
151 151
 
152
-		if ( ! empty( $invoice ) && is_numeric( $invoice ) && getpaid_is_invoice_post_type( get_post_type( (int) $invoice ) ) ) {
153
-			$this->set_id( (int) $invoice );
154
-		} elseif ( $invoice instanceof self ) {
155
-			$this->set_id( $invoice->get_id() );
156
-		} elseif ( ! empty( $invoice->ID ) ) {
157
-			$this->set_id( $invoice->ID );
158
-		} elseif ( is_array( $invoice ) ) {
159
-			$this->set_props( $invoice );
160
-
161
-			if ( isset( $invoice['ID'] ) ) {
162
-				$this->set_id( $invoice['ID'] );
163
-			}
152
+        if ( ! empty( $invoice ) && is_numeric( $invoice ) && getpaid_is_invoice_post_type( get_post_type( (int) $invoice ) ) ) {
153
+            $this->set_id( (int) $invoice );
154
+        } elseif ( $invoice instanceof self ) {
155
+            $this->set_id( $invoice->get_id() );
156
+        } elseif ( ! empty( $invoice->ID ) ) {
157
+            $this->set_id( $invoice->ID );
158
+        } elseif ( is_array( $invoice ) ) {
159
+            $this->set_props( $invoice );
160
+
161
+            if ( isset( $invoice['ID'] ) ) {
162
+                $this->set_id( $invoice['ID'] );
163
+            }
164 164
 } elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'key' ) ) {
165
-			$this->set_id( $invoice_id );
166
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'number' ) ) {
167
-			$this->set_id( $invoice_id );
168
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
169
-			$this->set_id( $invoice_id );
170
-		} else {
171
-			$this->set_object_read( true );
172
-		}
165
+            $this->set_id( $invoice_id );
166
+        } elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'number' ) ) {
167
+            $this->set_id( $invoice_id );
168
+        } elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
169
+            $this->set_id( $invoice_id );
170
+        } else {
171
+            $this->set_object_read( true );
172
+        }
173 173
 
174 174
         // Load the datastore.
175
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
175
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
176 176
 
177
-		if ( $this->get_id() > 0 ) {
177
+        if ( $this->get_id() > 0 ) {
178 178
             $this->post = get_post( $this->get_id() );
179 179
             $this->ID   = $this->get_id();
180
-			$this->data_store->read( $this );
180
+            $this->data_store->read( $this );
181 181
         }
182 182
 
183 183
     }
184 184
 
185 185
     /**
186
-	 * Given an invoice key/number, it returns its id.
187
-	 *
188
-	 *
189
-	 * @static
190
-	 * @param string $value The invoice key or number
191
-	 * @param string $field Either key, transaction_id or number.
192
-	 * @since 1.0.15
193
-	 * @return int
194
-	 */
195
-	public static function get_invoice_id_by_field( $value, $field = 'key' ) {
186
+     * Given an invoice key/number, it returns its id.
187
+     *
188
+     *
189
+     * @static
190
+     * @param string $value The invoice key or number
191
+     * @param string $field Either key, transaction_id or number.
192
+     * @since 1.0.15
193
+     * @return int
194
+     */
195
+    public static function get_invoice_id_by_field( $value, $field = 'key' ) {
196 196
         global $wpdb;
197 197
 
198
-		// Trim the value.
199
-		$value = trim( $value );
198
+        // Trim the value.
199
+        $value = trim( $value );
200 200
 
201
-		if ( empty( $value ) ) {
202
-			return 0;
203
-		}
201
+        if ( empty( $value ) ) {
202
+            return 0;
203
+        }
204 204
 
205 205
         // Valid fields.
206 206
         $fields = array( 'key', 'number', 'transaction_id' );
207 207
 
208
-		// Ensure a field has been passed.
209
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
210
-			return 0;
211
-		}
208
+        // Ensure a field has been passed.
209
+        if ( empty( $field ) || ! in_array( $field, $fields ) ) {
210
+            return 0;
211
+        }
212 212
 
213
-		// Maybe retrieve from the cache.
214
-		$invoice_id   = wp_cache_get( $value, "getpaid_invoice_{$field}s_to_invoice_ids" );
215
-		if ( false !== $invoice_id ) {
216
-			return $invoice_id;
217
-		}
213
+        // Maybe retrieve from the cache.
214
+        $invoice_id   = wp_cache_get( $value, "getpaid_invoice_{$field}s_to_invoice_ids" );
215
+        if ( false !== $invoice_id ) {
216
+            return $invoice_id;
217
+        }
218 218
 
219 219
         // Fetch from the db.
220 220
         $table       = $wpdb->prefix . 'getpaid_invoices';
@@ -222,10 +222,10 @@  discard block
 block discarded – undo
222 222
             $wpdb->prepare( "SELECT `post_id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
223 223
         );
224 224
 
225
-		// Update the cache with our data
226
-		wp_cache_set( $value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids" );
225
+        // Update the cache with our data
226
+        wp_cache_set( $value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids" );
227 227
 
228
-		return $invoice_id;
228
+        return $invoice_id;
229 229
     }
230 230
 
231 231
     /**
@@ -251,83 +251,83 @@  discard block
 block discarded – undo
251 251
     */
252 252
 
253 253
     /**
254
-	 * Get parent invoice ID.
255
-	 *
256
-	 * @since 1.0.19
257
-	 * @param  string $context View or edit context.
258
-	 * @return int
259
-	 */
260
-	public function get_parent_id( $context = 'view' ) {
261
-		return (int) $this->get_prop( 'parent_id', $context );
254
+     * Get parent invoice ID.
255
+     *
256
+     * @since 1.0.19
257
+     * @param  string $context View or edit context.
258
+     * @return int
259
+     */
260
+    public function get_parent_id( $context = 'view' ) {
261
+        return (int) $this->get_prop( 'parent_id', $context );
262 262
     }
263 263
 
264 264
     /**
265
-	 * Get parent invoice.
266
-	 *
267
-	 * @since 1.0.19
268
-	 * @return WPInv_Invoice
269
-	 */
265
+     * Get parent invoice.
266
+     *
267
+     * @since 1.0.19
268
+     * @return WPInv_Invoice
269
+     */
270 270
     public function get_parent_payment() {
271 271
         return new WPInv_Invoice( $this->get_parent_id() );
272 272
     }
273 273
 
274 274
     /**
275
-	 * Alias for self::get_parent_payment().
276
-	 *
277
-	 * @since 1.0.19
278
-	 * @return WPInv_Invoice
279
-	 */
275
+     * Alias for self::get_parent_payment().
276
+     *
277
+     * @since 1.0.19
278
+     * @return WPInv_Invoice
279
+     */
280 280
     public function get_parent() {
281 281
         return $this->get_parent_payment();
282 282
     }
283 283
 
284 284
     /**
285
-	 * Get invoice status.
286
-	 *
287
-	 * @since 1.0.19
288
-	 * @param  string $context View or edit context.
289
-	 * @return string
290
-	 */
291
-	public function get_status( $context = 'view' ) {
292
-		return $this->get_prop( 'status', $context );
293
-	}
285
+     * Get invoice status.
286
+     *
287
+     * @since 1.0.19
288
+     * @param  string $context View or edit context.
289
+     * @return string
290
+     */
291
+    public function get_status( $context = 'view' ) {
292
+        return $this->get_prop( 'status', $context );
293
+    }
294 294
 
295
-	/**
296
-	 * Retrieves an array of possible invoice statuses.
297
-	 *
298
-	 * @since 1.0.19
299
-	 * @return array
300
-	 */
301
-	public function get_all_statuses() {
302
-		return wpinv_get_invoice_statuses( true, true, $this );
295
+    /**
296
+     * Retrieves an array of possible invoice statuses.
297
+     *
298
+     * @since 1.0.19
299
+     * @return array
300
+     */
301
+    public function get_all_statuses() {
302
+        return wpinv_get_invoice_statuses( true, true, $this );
303 303
     }
304 304
 
305 305
     /**
306
-	 * Get invoice status nice name.
307
-	 *
308
-	 * @since 1.0.19
309
-	 * @return string
310
-	 */
306
+     * Get invoice status nice name.
307
+     *
308
+     * @since 1.0.19
309
+     * @return string
310
+     */
311 311
     public function get_status_nicename() {
312
-		$statuses = $this->get_all_statuses();
312
+        $statuses = $this->get_all_statuses();
313 313
 
314 314
         $status = isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : $this->get_status();
315 315
 
316 316
         return apply_filters( 'wpinv_get_invoice_status_nicename', $status, $this );
317 317
     }
318 318
 
319
-	/**
320
-	 * Retrieves the invoice status class
321
-	 *
322
-	 * @since  1.0.19
323
-	 * @return string
324
-	 */
325
-	public function get_status_class() {
326
-		$statuses = getpaid_get_invoice_status_classes();
327
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
328
-	}
319
+    /**
320
+     * Retrieves the invoice status class
321
+     *
322
+     * @since  1.0.19
323
+     * @return string
324
+     */
325
+    public function get_status_class() {
326
+        $statuses = getpaid_get_invoice_status_classes();
327
+        return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
328
+    }
329 329
 
330
-	/**
330
+    /**
331 331
      * Retrieves the invoice status label html
332 332
      *
333 333
      * @since  1.0.0
@@ -335,263 +335,263 @@  discard block
 block discarded – undo
335 335
      */
336 336
     public function get_status_label_html() {
337 337
 
338
-		$status_label = sanitize_text_field( $this->get_status_nicename() );
339
-		$status       = sanitize_html_class( $this->get_status() );
340
-		$class        = esc_attr( $this->get_status_class() );
341
-
342
-		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
343
-	}
344
-
345
-    /**
346
-	 * Get plugin version when the invoice was created.
347
-	 *
348
-	 * @since 1.0.19
349
-	 * @param  string $context View or edit context.
350
-	 * @return string
351
-	 */
352
-	public function get_version( $context = 'view' ) {
353
-		return $this->get_prop( 'version', $context );
354
-	}
355
-
356
-	/**
357
-	 * @deprecated
358
-	 */
359
-	public function get_invoice_date( $format = true ) {
360
-		$date      = getpaid_format_date( $this->get_date_completed() );
361
-		$date      = empty( $date ) ? $this->get_date_created() : $this->get_date_completed();
362
-		$formatted = getpaid_format_date( $date );
363
-
364
-		if ( $format ) {
365
-			return $formatted;
366
-		}
367
-
368
-		return empty( $formatted ) ? '' : $date;
369
-
370
-    }
371
-
372
-    /**
373
-	 * Get date when the invoice was created.
374
-	 *
375
-	 * @since 1.0.19
376
-	 * @param  string $context View or edit context.
377
-	 * @return string
378
-	 */
379
-	public function get_date_created( $context = 'view' ) {
380
-		return $this->get_prop( 'date_created', $context );
381
-	}
382
-
383
-	/**
384
-	 * Alias for self::get_date_created().
385
-	 *
386
-	 * @since 1.0.19
387
-	 * @param  string $context View or edit context.
388
-	 * @return string
389
-	 */
390
-	public function get_created_date( $context = 'view' ) {
391
-		return $this->get_date_created( $context );
392
-    }
393
-
394
-    /**
395
-	 * Get GMT date when the invoice was created.
396
-	 *
397
-	 * @since 1.0.19
398
-	 * @param  string $context View or edit context.
399
-	 * @return string
400
-	 */
401
-	public function get_date_created_gmt( $context = 'view' ) {
338
+        $status_label = sanitize_text_field( $this->get_status_nicename() );
339
+        $status       = sanitize_html_class( $this->get_status() );
340
+        $class        = esc_attr( $this->get_status_class() );
341
+
342
+        return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
343
+    }
344
+
345
+    /**
346
+     * Get plugin version when the invoice was created.
347
+     *
348
+     * @since 1.0.19
349
+     * @param  string $context View or edit context.
350
+     * @return string
351
+     */
352
+    public function get_version( $context = 'view' ) {
353
+        return $this->get_prop( 'version', $context );
354
+    }
355
+
356
+    /**
357
+     * @deprecated
358
+     */
359
+    public function get_invoice_date( $format = true ) {
360
+        $date      = getpaid_format_date( $this->get_date_completed() );
361
+        $date      = empty( $date ) ? $this->get_date_created() : $this->get_date_completed();
362
+        $formatted = getpaid_format_date( $date );
363
+
364
+        if ( $format ) {
365
+            return $formatted;
366
+        }
367
+
368
+        return empty( $formatted ) ? '' : $date;
369
+
370
+    }
371
+
372
+    /**
373
+     * Get date when the invoice was created.
374
+     *
375
+     * @since 1.0.19
376
+     * @param  string $context View or edit context.
377
+     * @return string
378
+     */
379
+    public function get_date_created( $context = 'view' ) {
380
+        return $this->get_prop( 'date_created', $context );
381
+    }
382
+
383
+    /**
384
+     * Alias for self::get_date_created().
385
+     *
386
+     * @since 1.0.19
387
+     * @param  string $context View or edit context.
388
+     * @return string
389
+     */
390
+    public function get_created_date( $context = 'view' ) {
391
+        return $this->get_date_created( $context );
392
+    }
393
+
394
+    /**
395
+     * Get GMT date when the invoice was created.
396
+     *
397
+     * @since 1.0.19
398
+     * @param  string $context View or edit context.
399
+     * @return string
400
+     */
401
+    public function get_date_created_gmt( $context = 'view' ) {
402 402
         $date = $this->get_date_created( $context );
403 403
 
404 404
         if ( $date ) {
405 405
             $date = get_gmt_from_date( $date );
406 406
         }
407
-		return $date;
407
+        return $date;
408 408
     }
409 409
 
410 410
     /**
411
-	 * Get date when the invoice was last modified.
412
-	 *
413
-	 * @since 1.0.19
414
-	 * @param  string $context View or edit context.
415
-	 * @return string
416
-	 */
417
-	public function get_date_modified( $context = 'view' ) {
418
-		return $this->get_prop( 'date_modified', $context );
419
-	}
411
+     * Get date when the invoice was last modified.
412
+     *
413
+     * @since 1.0.19
414
+     * @param  string $context View or edit context.
415
+     * @return string
416
+     */
417
+    public function get_date_modified( $context = 'view' ) {
418
+        return $this->get_prop( 'date_modified', $context );
419
+    }
420 420
 
421
-	/**
422
-	 * Alias for self::get_date_modified().
423
-	 *
424
-	 * @since 1.0.19
425
-	 * @param  string $context View or edit context.
426
-	 * @return string
427
-	 */
428
-	public function get_modified_date( $context = 'view' ) {
429
-		return $this->get_date_modified( $context );
421
+    /**
422
+     * Alias for self::get_date_modified().
423
+     *
424
+     * @since 1.0.19
425
+     * @param  string $context View or edit context.
426
+     * @return string
427
+     */
428
+    public function get_modified_date( $context = 'view' ) {
429
+        return $this->get_date_modified( $context );
430 430
     }
431 431
 
432 432
     /**
433
-	 * Get GMT date when the invoice was last modified.
434
-	 *
435
-	 * @since 1.0.19
436
-	 * @param  string $context View or edit context.
437
-	 * @return string
438
-	 */
439
-	public function get_date_modified_gmt( $context = 'view' ) {
433
+     * Get GMT date when the invoice was last modified.
434
+     *
435
+     * @since 1.0.19
436
+     * @param  string $context View or edit context.
437
+     * @return string
438
+     */
439
+    public function get_date_modified_gmt( $context = 'view' ) {
440 440
         $date = $this->get_date_modified( $context );
441 441
 
442 442
         if ( $date ) {
443 443
             $date = get_gmt_from_date( $date );
444 444
         }
445
-		return $date;
445
+        return $date;
446 446
     }
447 447
 
448 448
     /**
449
-	 * Get the invoice due date.
450
-	 *
451
-	 * @since 1.0.19
452
-	 * @param  string $context View or edit context.
453
-	 * @return string
454
-	 */
455
-	public function get_due_date( $context = 'view' ) {
456
-		return $this->get_prop( 'due_date', $context );
449
+     * Get the invoice due date.
450
+     *
451
+     * @since 1.0.19
452
+     * @param  string $context View or edit context.
453
+     * @return string
454
+     */
455
+    public function get_due_date( $context = 'view' ) {
456
+        return $this->get_prop( 'due_date', $context );
457 457
     }
458 458
 
459 459
     /**
460
-	 * Alias for self::get_due_date().
461
-	 *
462
-	 * @since 1.0.19
463
-	 * @param  string $context View or edit context.
464
-	 * @return string
465
-	 */
466
-	public function get_date_due( $context = 'view' ) {
467
-		return $this->get_due_date( $context );
460
+     * Alias for self::get_due_date().
461
+     *
462
+     * @since 1.0.19
463
+     * @param  string $context View or edit context.
464
+     * @return string
465
+     */
466
+    public function get_date_due( $context = 'view' ) {
467
+        return $this->get_due_date( $context );
468 468
     }
469 469
 
470 470
     /**
471
-	 * Get the invoice GMT due date.
472
-	 *
473
-	 * @since 1.0.19
474
-	 * @param  string $context View or edit context.
475
-	 * @return string
476
-	 */
477
-	public function get_due_date_gmt( $context = 'view' ) {
471
+     * Get the invoice GMT due date.
472
+     *
473
+     * @since 1.0.19
474
+     * @param  string $context View or edit context.
475
+     * @return string
476
+     */
477
+    public function get_due_date_gmt( $context = 'view' ) {
478 478
         $date = $this->get_due_date( $context );
479 479
 
480 480
         if ( $date ) {
481 481
             $date = get_gmt_from_date( $date );
482 482
         }
483
-		return $date;
483
+        return $date;
484 484
     }
485 485
 
486 486
     /**
487
-	 * Alias for self::get_due_date_gmt().
488
-	 *
489
-	 * @since 1.0.19
490
-	 * @param  string $context View or edit context.
491
-	 * @return string
492
-	 */
493
-	public function get_gmt_date_due( $context = 'view' ) {
494
-		return $this->get_due_date_gmt( $context );
487
+     * Alias for self::get_due_date_gmt().
488
+     *
489
+     * @since 1.0.19
490
+     * @param  string $context View or edit context.
491
+     * @return string
492
+     */
493
+    public function get_gmt_date_due( $context = 'view' ) {
494
+        return $this->get_due_date_gmt( $context );
495 495
     }
496 496
 
497 497
     /**
498
-	 * Get date when the invoice was completed.
499
-	 *
500
-	 * @since 1.0.19
501
-	 * @param  string $context View or edit context.
502
-	 * @return string
503
-	 */
504
-	public function get_completed_date( $context = 'view' ) {
505
-		return $this->get_prop( 'completed_date', $context );
498
+     * Get date when the invoice was completed.
499
+     *
500
+     * @since 1.0.19
501
+     * @param  string $context View or edit context.
502
+     * @return string
503
+     */
504
+    public function get_completed_date( $context = 'view' ) {
505
+        return $this->get_prop( 'completed_date', $context );
506 506
     }
507 507
 
508 508
     /**
509
-	 * Alias for self::get_completed_date().
510
-	 *
511
-	 * @since 1.0.19
512
-	 * @param  string $context View or edit context.
513
-	 * @return string
514
-	 */
515
-	public function get_date_completed( $context = 'view' ) {
516
-		return $this->get_completed_date( $context );
509
+     * Alias for self::get_completed_date().
510
+     *
511
+     * @since 1.0.19
512
+     * @param  string $context View or edit context.
513
+     * @return string
514
+     */
515
+    public function get_date_completed( $context = 'view' ) {
516
+        return $this->get_completed_date( $context );
517 517
     }
518 518
 
519 519
     /**
520
-	 * Get GMT date when the invoice was was completed.
521
-	 *
522
-	 * @since 1.0.19
523
-	 * @param  string $context View or edit context.
524
-	 * @return string
525
-	 */
526
-	public function get_completed_date_gmt( $context = 'view' ) {
520
+     * Get GMT date when the invoice was was completed.
521
+     *
522
+     * @since 1.0.19
523
+     * @param  string $context View or edit context.
524
+     * @return string
525
+     */
526
+    public function get_completed_date_gmt( $context = 'view' ) {
527 527
         $date = $this->get_completed_date( $context );
528 528
 
529 529
         if ( $date ) {
530 530
             $date = get_gmt_from_date( $date );
531 531
         }
532
-		return $date;
532
+        return $date;
533 533
     }
534 534
 
535 535
     /**
536
-	 * Alias for self::get_completed_date_gmt().
537
-	 *
538
-	 * @since 1.0.19
539
-	 * @param  string $context View or edit context.
540
-	 * @return string
541
-	 */
542
-	public function get_gmt_completed_date( $context = 'view' ) {
543
-		return $this->get_completed_date_gmt( $context );
536
+     * Alias for self::get_completed_date_gmt().
537
+     *
538
+     * @since 1.0.19
539
+     * @param  string $context View or edit context.
540
+     * @return string
541
+     */
542
+    public function get_gmt_completed_date( $context = 'view' ) {
543
+        return $this->get_completed_date_gmt( $context );
544 544
     }
545 545
 
546 546
     /**
547
-	 * Get the invoice number.
548
-	 *
549
-	 * @since 1.0.19
550
-	 * @param  string $context View or edit context.
551
-	 * @return string
552
-	 */
553
-	public function get_number( $context = 'view' ) {
554
-		$number = $this->get_prop( 'number', $context );
547
+     * Get the invoice number.
548
+     *
549
+     * @since 1.0.19
550
+     * @param  string $context View or edit context.
551
+     * @return string
552
+     */
553
+    public function get_number( $context = 'view' ) {
554
+        $number = $this->get_prop( 'number', $context );
555 555
 
556
-		if ( empty( $number ) ) {
557
-			$number = $this->generate_number();
558
-			$this->set_number( $this->generate_number() );
559
-		}
556
+        if ( empty( $number ) ) {
557
+            $number = $this->generate_number();
558
+            $this->set_number( $this->generate_number() );
559
+        }
560 560
 
561
-		return $number;
561
+        return $number;
562 562
     }
563 563
 
564
-	/**
565
-	 * Set the invoice number.
566
-	 *
567
-	 * @since 1.0.19
568
-	 */
569
-	public function maybe_set_number() {
564
+    /**
565
+     * Set the invoice number.
566
+     *
567
+     * @since 1.0.19
568
+     */
569
+    public function maybe_set_number() {
570 570
         $number = $this->get_number();
571 571
 
572 572
         if ( empty( $number ) || $this->get_id() == $number ) {
573
-			$this->set_number( $this->generate_number() );
573
+            $this->set_number( $this->generate_number() );
574 574
         }
575 575
 
576
-	}
576
+    }
577 577
 
578 578
     /**
579
-	 * Get the invoice key.
580
-	 *
581
-	 * @since 1.0.19
582
-	 * @param  string $context View or edit context.
583
-	 * @return string
584
-	 */
585
-	public function get_key( $context = 'view' ) {
579
+     * Get the invoice key.
580
+     *
581
+     * @since 1.0.19
582
+     * @param  string $context View or edit context.
583
+     * @return string
584
+     */
585
+    public function get_key( $context = 'view' ) {
586 586
         return $this->get_prop( 'key', $context );
587
-	}
588
-
589
-	/**
590
-	 * Set the invoice key.
591
-	 *
592
-	 * @since 1.0.19
593
-	 */
594
-	public function maybe_set_key() {
587
+    }
588
+
589
+    /**
590
+     * Set the invoice key.
591
+     *
592
+     * @since 1.0.19
593
+     */
594
+    public function maybe_set_key() {
595 595
         $key = $this->get_key();
596 596
 
597 597
         if ( empty( $key ) ) {
@@ -602,140 +602,140 @@  discard block
 block discarded – undo
602 602
     }
603 603
 
604 604
     /**
605
-	 * Get the invoice type.
606
-	 *
607
-	 * @since 1.0.19
608
-	 * @param  string $context View or edit context.
609
-	 * @return string
610
-	 */
611
-	public function get_type( $context = 'view' ) {
605
+     * Get the invoice type.
606
+     *
607
+     * @since 1.0.19
608
+     * @param  string $context View or edit context.
609
+     * @return string
610
+     */
611
+    public function get_type( $context = 'view' ) {
612 612
         return $this->get_prop( 'type', $context );
613
-	}
614
-
615
-	/**
616
-	 * Returns the post type name.
617
-	 *
618
-	 * @since 1.0.19
619
-	 * @return string
620
-	 */
621
-	public function get_invoice_quote_type() {
613
+    }
614
+
615
+    /**
616
+     * Returns the post type name.
617
+     *
618
+     * @since 1.0.19
619
+     * @return string
620
+     */
621
+    public function get_invoice_quote_type() {
622 622
         return getpaid_get_post_type_label( $this->get_post_type(), false );
623 623
     }
624 624
 
625 625
     /**
626
-	 * Get the invoice post type label.
627
-	 *
628
-	 * @since 1.0.19
629
-	 * @param  string $context View or edit context.
630
-	 * @return string
631
-	 */
632
-	public function get_label( $context = 'view' ) {
626
+     * Get the invoice post type label.
627
+     *
628
+     * @since 1.0.19
629
+     * @param  string $context View or edit context.
630
+     * @return string
631
+     */
632
+    public function get_label( $context = 'view' ) {
633 633
         return getpaid_get_post_type_label( $this->get_post_type( $context ), false );
634
-	}
635
-
636
-	/**
637
-	 * Get the invoice post type.
638
-	 *
639
-	 * @since 1.0.19
640
-	 * @param  string $context View or edit context.
641
-	 * @return string
642
-	 */
643
-	public function get_post_type( $context = 'view' ) {
634
+    }
635
+
636
+    /**
637
+     * Get the invoice post type.
638
+     *
639
+     * @since 1.0.19
640
+     * @param  string $context View or edit context.
641
+     * @return string
642
+     */
643
+    public function get_post_type( $context = 'view' ) {
644 644
         return $this->get_prop( 'post_type', $context );
645 645
     }
646 646
 
647 647
     /**
648
-	 * Get the invoice mode.
649
-	 *
650
-	 * @since 1.0.19
651
-	 * @param  string $context View or edit context.
652
-	 * @return string
653
-	 */
654
-	public function get_mode( $context = 'view' ) {
648
+     * Get the invoice mode.
649
+     *
650
+     * @since 1.0.19
651
+     * @param  string $context View or edit context.
652
+     * @return string
653
+     */
654
+    public function get_mode( $context = 'view' ) {
655 655
         return $this->get_prop( 'mode', $context );
656 656
     }
657 657
 
658 658
     /**
659
-	 * Get the invoice path.
660
-	 *
661
-	 * @since 1.0.19
662
-	 * @param  string $context View or edit context.
663
-	 * @return string
664
-	 */
665
-	public function get_path( $context = 'view' ) {
659
+     * Get the invoice path.
660
+     *
661
+     * @since 1.0.19
662
+     * @param  string $context View or edit context.
663
+     * @return string
664
+     */
665
+    public function get_path( $context = 'view' ) {
666 666
         $path   = $this->get_prop( 'path', $context );
667
-		$prefix = $this->get_type();
667
+        $prefix = $this->get_type();
668 668
 
669
-		if ( 0 !== strpos( $path, $prefix ) ) {
670
-			$path = sanitize_title( $prefix . '-' . $this->get_id() );
671
-			$this->set_path( $path );
672
-		}
669
+        if ( 0 !== strpos( $path, $prefix ) ) {
670
+            $path = sanitize_title( $prefix . '-' . $this->get_id() );
671
+            $this->set_path( $path );
672
+        }
673 673
 
674
-		return $path;
674
+        return $path;
675 675
     }
676 676
 
677 677
     /**
678
-	 * Get the invoice name/title.
679
-	 *
680
-	 * @since 1.0.19
681
-	 * @param  string $context View or edit context.
682
-	 * @return string
683
-	 */
684
-	public function get_name( $context = 'view' ) {
678
+     * Get the invoice name/title.
679
+     *
680
+     * @since 1.0.19
681
+     * @param  string $context View or edit context.
682
+     * @return string
683
+     */
684
+    public function get_name( $context = 'view' ) {
685 685
         return $this->get_prop( 'title', $context );
686 686
     }
687 687
 
688 688
     /**
689
-	 * Alias of self::get_name().
690
-	 *
691
-	 * @since 1.0.19
692
-	 * @param  string $context View or edit context.
693
-	 * @return string
694
-	 */
695
-	public function get_title( $context = 'view' ) {
696
-		return $this->get_name( $context );
689
+     * Alias of self::get_name().
690
+     *
691
+     * @since 1.0.19
692
+     * @param  string $context View or edit context.
693
+     * @return string
694
+     */
695
+    public function get_title( $context = 'view' ) {
696
+        return $this->get_name( $context );
697 697
     }
698 698
 
699 699
     /**
700
-	 * Get the invoice description.
701
-	 *
702
-	 * @since 1.0.19
703
-	 * @param  string $context View or edit context.
704
-	 * @return string
705
-	 */
706
-	public function get_description( $context = 'view' ) {
707
-		return $this->get_prop( 'description', $context );
700
+     * Get the invoice description.
701
+     *
702
+     * @since 1.0.19
703
+     * @param  string $context View or edit context.
704
+     * @return string
705
+     */
706
+    public function get_description( $context = 'view' ) {
707
+        return $this->get_prop( 'description', $context );
708 708
     }
709 709
 
710 710
     /**
711
-	 * Alias of self::get_description().
712
-	 *
713
-	 * @since 1.0.19
714
-	 * @param  string $context View or edit context.
715
-	 * @return string
716
-	 */
717
-	public function get_excerpt( $context = 'view' ) {
718
-		return $this->get_description( $context );
711
+     * Alias of self::get_description().
712
+     *
713
+     * @since 1.0.19
714
+     * @param  string $context View or edit context.
715
+     * @return string
716
+     */
717
+    public function get_excerpt( $context = 'view' ) {
718
+        return $this->get_description( $context );
719 719
     }
720 720
 
721 721
     /**
722
-	 * Alias of self::get_description().
723
-	 *
724
-	 * @since 1.0.19
725
-	 * @param  string $context View or edit context.
726
-	 * @return string
727
-	 */
728
-	public function get_summary( $context = 'view' ) {
729
-		return $this->get_description( $context );
722
+     * Alias of self::get_description().
723
+     *
724
+     * @since 1.0.19
725
+     * @param  string $context View or edit context.
726
+     * @return string
727
+     */
728
+    public function get_summary( $context = 'view' ) {
729
+        return $this->get_description( $context );
730 730
     }
731 731
 
732 732
     /**
733
-	 * Returns the user info.
734
-	 *
735
-	 * @since 1.0.19
733
+     * Returns the user info.
734
+     *
735
+     * @since 1.0.19
736 736
      * @param  string $context View or edit context.
737
-	 * @return array
738
-	 */
737
+     * @return array
738
+     */
739 739
     public function get_user_info( $context = 'view' ) {
740 740
 
741 741
         $user_info = array(
@@ -750,683 +750,683 @@  discard block
 block discarded – undo
750 750
             'state'      => $this->get_state( $context ),
751 751
             'zip'        => $this->get_zip( $context ),
752 752
             'company'    => $this->get_company( $context ),
753
-			'company_id' => $this->get_company_id( $context ),
753
+            'company_id' => $this->get_company_id( $context ),
754 754
             'vat_number' => $this->get_vat_number( $context ),
755 755
             'discount'   => $this->get_discount_code( $context ),
756
-		);
756
+        );
757 757
 
758
-		return apply_filters( 'wpinv_user_info', $user_info, $this->get_id(), $this );
758
+        return apply_filters( 'wpinv_user_info', $user_info, $this->get_id(), $this );
759 759
 
760 760
     }
761 761
 
762 762
     /**
763
-	 * Get the customer id.
764
-	 *
765
-	 * @since 1.0.19
766
-	 * @param  string $context View or edit context.
767
-	 * @return int
768
-	 */
769
-	public function get_author( $context = 'view' ) {
770
-		return (int) $this->get_prop( 'author', $context );
763
+     * Get the customer id.
764
+     *
765
+     * @since 1.0.19
766
+     * @param  string $context View or edit context.
767
+     * @return int
768
+     */
769
+    public function get_author( $context = 'view' ) {
770
+        return (int) $this->get_prop( 'author', $context );
771 771
     }
772 772
 
773 773
     /**
774
-	 * Alias of self::get_author().
775
-	 *
776
-	 * @since 1.0.19
777
-	 * @param  string $context View or edit context.
778
-	 * @return int
779
-	 */
780
-	public function get_user_id( $context = 'view' ) {
781
-		return $this->get_author( $context );
774
+     * Alias of self::get_author().
775
+     *
776
+     * @since 1.0.19
777
+     * @param  string $context View or edit context.
778
+     * @return int
779
+     */
780
+    public function get_user_id( $context = 'view' ) {
781
+        return $this->get_author( $context );
782 782
     }
783 783
 
784
-     /**
785
-	 * Alias of self::get_author().
786
-	 *
787
-	 * @since 1.0.19
788
-	 * @param  string $context View or edit context.
789
-	 * @return int
790
-	 */
791
-	public function get_customer_id( $context = 'view' ) {
792
-		return $this->get_author( $context );
784
+        /**
785
+         * Alias of self::get_author().
786
+         *
787
+         * @since 1.0.19
788
+         * @param  string $context View or edit context.
789
+         * @return int
790
+         */
791
+    public function get_customer_id( $context = 'view' ) {
792
+        return $this->get_author( $context );
793 793
     }
794 794
 
795 795
     /**
796
-	 * Get the customer's ip.
797
-	 *
798
-	 * @since 1.0.19
799
-	 * @param  string $context View or edit context.
800
-	 * @return string
801
-	 */
802
-	public function get_ip( $context = 'view' ) {
803
-		return $this->get_prop( 'user_ip', $context );
796
+     * Get the customer's ip.
797
+     *
798
+     * @since 1.0.19
799
+     * @param  string $context View or edit context.
800
+     * @return string
801
+     */
802
+    public function get_ip( $context = 'view' ) {
803
+        return $this->get_prop( 'user_ip', $context );
804 804
     }
805 805
 
806 806
     /**
807
-	 * Alias of self::get_ip().
808
-	 *
809
-	 * @since 1.0.19
810
-	 * @param  string $context View or edit context.
811
-	 * @return string
812
-	 */
813
-	public function get_user_ip( $context = 'view' ) {
814
-		return $this->get_ip( $context );
807
+     * Alias of self::get_ip().
808
+     *
809
+     * @since 1.0.19
810
+     * @param  string $context View or edit context.
811
+     * @return string
812
+     */
813
+    public function get_user_ip( $context = 'view' ) {
814
+        return $this->get_ip( $context );
815 815
     }
816 816
 
817
-     /**
818
-	 * Alias of self::get_ip().
819
-	 *
820
-	 * @since 1.0.19
821
-	 * @param  string $context View or edit context.
822
-	 * @return string
823
-	 */
824
-	public function get_customer_ip( $context = 'view' ) {
825
-		return $this->get_ip( $context );
817
+        /**
818
+         * Alias of self::get_ip().
819
+         *
820
+         * @since 1.0.19
821
+         * @param  string $context View or edit context.
822
+         * @return string
823
+         */
824
+    public function get_customer_ip( $context = 'view' ) {
825
+        return $this->get_ip( $context );
826 826
     }
827 827
 
828 828
     /**
829
-	 * Get the customer's first name.
830
-	 *
831
-	 * @since 1.0.19
832
-	 * @param  string $context View or edit context.
833
-	 * @return string
834
-	 */
835
-	public function get_first_name( $context = 'view' ) {
836
-		return $this->get_prop( 'first_name', $context );
829
+     * Get the customer's first name.
830
+     *
831
+     * @since 1.0.19
832
+     * @param  string $context View or edit context.
833
+     * @return string
834
+     */
835
+    public function get_first_name( $context = 'view' ) {
836
+        return $this->get_prop( 'first_name', $context );
837 837
     }
838 838
 
839 839
     /**
840
-	 * Alias of self::get_first_name().
841
-	 *
842
-	 * @since 1.0.19
843
-	 * @param  string $context View or edit context.
844
-	 * @return string
845
-	 */
846
-	public function get_user_first_name( $context = 'view' ) {
847
-		return $this->get_first_name( $context );
840
+     * Alias of self::get_first_name().
841
+     *
842
+     * @since 1.0.19
843
+     * @param  string $context View or edit context.
844
+     * @return string
845
+     */
846
+    public function get_user_first_name( $context = 'view' ) {
847
+        return $this->get_first_name( $context );
848 848
     }
849 849
 
850
-     /**
851
-	 * Alias of self::get_first_name().
852
-	 *
853
-	 * @since 1.0.19
854
-	 * @param  string $context View or edit context.
855
-	 * @return string
856
-	 */
857
-	public function get_customer_first_name( $context = 'view' ) {
858
-		return $this->get_first_name( $context );
850
+        /**
851
+         * Alias of self::get_first_name().
852
+         *
853
+         * @since 1.0.19
854
+         * @param  string $context View or edit context.
855
+         * @return string
856
+         */
857
+    public function get_customer_first_name( $context = 'view' ) {
858
+        return $this->get_first_name( $context );
859 859
     }
860 860
 
861 861
     /**
862
-	 * Get the customer's last name.
863
-	 *
864
-	 * @since 1.0.19
865
-	 * @param  string $context View or edit context.
866
-	 * @return string
867
-	 */
868
-	public function get_last_name( $context = 'view' ) {
869
-		return $this->get_prop( 'last_name', $context );
862
+     * Get the customer's last name.
863
+     *
864
+     * @since 1.0.19
865
+     * @param  string $context View or edit context.
866
+     * @return string
867
+     */
868
+    public function get_last_name( $context = 'view' ) {
869
+        return $this->get_prop( 'last_name', $context );
870 870
     }
871 871
 
872 872
     /**
873
-	 * Alias of self::get_last_name().
874
-	 *
875
-	 * @since 1.0.19
876
-	 * @param  string $context View or edit context.
877
-	 * @return string
878
-	 */
879
-	public function get_user_last_name( $context = 'view' ) {
880
-		return $this->get_last_name( $context );
873
+     * Alias of self::get_last_name().
874
+     *
875
+     * @since 1.0.19
876
+     * @param  string $context View or edit context.
877
+     * @return string
878
+     */
879
+    public function get_user_last_name( $context = 'view' ) {
880
+        return $this->get_last_name( $context );
881 881
     }
882 882
 
883 883
     /**
884
-	 * Alias of self::get_last_name().
885
-	 *
886
-	 * @since 1.0.19
887
-	 * @param  string $context View or edit context.
888
-	 * @return string
889
-	 */
890
-	public function get_customer_last_name( $context = 'view' ) {
891
-		return $this->get_last_name( $context );
884
+     * Alias of self::get_last_name().
885
+     *
886
+     * @since 1.0.19
887
+     * @param  string $context View or edit context.
888
+     * @return string
889
+     */
890
+    public function get_customer_last_name( $context = 'view' ) {
891
+        return $this->get_last_name( $context );
892 892
     }
893 893
 
894 894
     /**
895
-	 * Get the customer's full name.
896
-	 *
897
-	 * @since 1.0.19
898
-	 * @param  string $context View or edit context.
899
-	 * @return string
900
-	 */
901
-	public function get_full_name( $context = 'view' ) {
902
-		$name = trim( $this->get_first_name( $context ) . ' ' . $this->get_last_name( $context ) );
895
+     * Get the customer's full name.
896
+     *
897
+     * @since 1.0.19
898
+     * @param  string $context View or edit context.
899
+     * @return string
900
+     */
901
+    public function get_full_name( $context = 'view' ) {
902
+        $name = trim( $this->get_first_name( $context ) . ' ' . $this->get_last_name( $context ) );
903 903
 
904
-		if ( ! $name ) {
905
-			$user = get_userdata( $this->get_author( $context ) );
904
+        if ( ! $name ) {
905
+            $user = get_userdata( $this->get_author( $context ) );
906 906
 
907
-			if ( $user ) {
908
-				$name = $user->display_name;
909
-			}
910
-		}
907
+            if ( $user ) {
908
+                $name = $user->display_name;
909
+            }
910
+        }
911 911
 
912
-		if ( ! $name ) {
913
-			$name = $this->get_email( $context );
914
-		}
912
+        if ( ! $name ) {
913
+            $name = $this->get_email( $context );
914
+        }
915 915
 
916
-		return apply_filters( 'wpinv_invoice_user_full_name', $name, $this );
916
+        return apply_filters( 'wpinv_invoice_user_full_name', $name, $this );
917 917
     }
918 918
 
919 919
     /**
920
-	 * Alias of self::get_full_name().
921
-	 *
922
-	 * @since 1.0.19
923
-	 * @param  string $context View or edit context.
924
-	 * @return string
925
-	 */
926
-	public function get_user_full_name( $context = 'view' ) {
927
-		return $this->get_full_name( $context );
920
+     * Alias of self::get_full_name().
921
+     *
922
+     * @since 1.0.19
923
+     * @param  string $context View or edit context.
924
+     * @return string
925
+     */
926
+    public function get_user_full_name( $context = 'view' ) {
927
+        return $this->get_full_name( $context );
928 928
     }
929 929
 
930 930
     /**
931
-	 * Alias of self::get_full_name().
932
-	 *
933
-	 * @since 1.0.19
934
-	 * @param  string $context View or edit context.
935
-	 * @return string
936
-	 */
937
-	public function get_customer_full_name( $context = 'view' ) {
938
-		return $this->get_full_name( $context );
931
+     * Alias of self::get_full_name().
932
+     *
933
+     * @since 1.0.19
934
+     * @param  string $context View or edit context.
935
+     * @return string
936
+     */
937
+    public function get_customer_full_name( $context = 'view' ) {
938
+        return $this->get_full_name( $context );
939 939
     }
940 940
 
941 941
     /**
942
-	 * Get the customer's phone number.
943
-	 *
944
-	 * @since 1.0.19
945
-	 * @param  string $context View or edit context.
946
-	 * @return string
947
-	 */
948
-	public function get_phone( $context = 'view' ) {
949
-		return $this->get_prop( 'phone', $context );
942
+     * Get the customer's phone number.
943
+     *
944
+     * @since 1.0.19
945
+     * @param  string $context View or edit context.
946
+     * @return string
947
+     */
948
+    public function get_phone( $context = 'view' ) {
949
+        return $this->get_prop( 'phone', $context );
950 950
     }
951 951
 
952 952
     /**
953
-	 * Alias of self::get_phone().
954
-	 *
955
-	 * @since 1.0.19
956
-	 * @param  string $context View or edit context.
957
-	 * @return string
958
-	 */
959
-	public function get_phone_number( $context = 'view' ) {
960
-		return $this->get_phone( $context );
953
+     * Alias of self::get_phone().
954
+     *
955
+     * @since 1.0.19
956
+     * @param  string $context View or edit context.
957
+     * @return string
958
+     */
959
+    public function get_phone_number( $context = 'view' ) {
960
+        return $this->get_phone( $context );
961 961
     }
962 962
 
963 963
     /**
964
-	 * Alias of self::get_phone().
965
-	 *
966
-	 * @since 1.0.19
967
-	 * @param  string $context View or edit context.
968
-	 * @return string
969
-	 */
970
-	public function get_user_phone( $context = 'view' ) {
971
-		return $this->get_phone( $context );
964
+     * Alias of self::get_phone().
965
+     *
966
+     * @since 1.0.19
967
+     * @param  string $context View or edit context.
968
+     * @return string
969
+     */
970
+    public function get_user_phone( $context = 'view' ) {
971
+        return $this->get_phone( $context );
972 972
     }
973 973
 
974 974
     /**
975
-	 * Alias of self::get_phone().
976
-	 *
977
-	 * @since 1.0.19
978
-	 * @param  string $context View or edit context.
979
-	 * @return string
980
-	 */
981
-	public function get_customer_phone( $context = 'view' ) {
982
-		return $this->get_phone( $context );
975
+     * Alias of self::get_phone().
976
+     *
977
+     * @since 1.0.19
978
+     * @param  string $context View or edit context.
979
+     * @return string
980
+     */
981
+    public function get_customer_phone( $context = 'view' ) {
982
+        return $this->get_phone( $context );
983 983
     }
984 984
 
985 985
     /**
986
-	 * Get the customer's email address.
987
-	 *
988
-	 * @since 1.0.19
989
-	 * @param  string $context View or edit context.
990
-	 * @return string
991
-	 */
992
-	public function get_email( $context = 'view' ) {
993
-		return $this->get_prop( 'email', $context );
986
+     * Get the customer's email address.
987
+     *
988
+     * @since 1.0.19
989
+     * @param  string $context View or edit context.
990
+     * @return string
991
+     */
992
+    public function get_email( $context = 'view' ) {
993
+        return $this->get_prop( 'email', $context );
994 994
     }
995 995
 
996 996
     /**
997
-	 * Alias of self::get_email().
998
-	 *
999
-	 * @since 1.0.19
1000
-	 * @param  string $context View or edit context.
1001
-	 * @return string
1002
-	 */
1003
-	public function get_email_address( $context = 'view' ) {
1004
-		return $this->get_email( $context );
997
+     * Alias of self::get_email().
998
+     *
999
+     * @since 1.0.19
1000
+     * @param  string $context View or edit context.
1001
+     * @return string
1002
+     */
1003
+    public function get_email_address( $context = 'view' ) {
1004
+        return $this->get_email( $context );
1005 1005
     }
1006 1006
 
1007 1007
     /**
1008
-	 * Alias of self::get_email().
1009
-	 *
1010
-	 * @since 1.0.19
1011
-	 * @param  string $context View or edit context.
1012
-	 * @return string
1013
-	 */
1014
-	public function get_user_email( $context = 'view' ) {
1015
-		return $this->get_email( $context );
1008
+     * Alias of self::get_email().
1009
+     *
1010
+     * @since 1.0.19
1011
+     * @param  string $context View or edit context.
1012
+     * @return string
1013
+     */
1014
+    public function get_user_email( $context = 'view' ) {
1015
+        return $this->get_email( $context );
1016 1016
     }
1017 1017
 
1018 1018
     /**
1019
-	 * Alias of self::get_email().
1020
-	 *
1021
-	 * @since 1.0.19
1022
-	 * @param  string $context View or edit context.
1023
-	 * @return string
1024
-	 */
1025
-	public function get_customer_email( $context = 'view' ) {
1026
-		return $this->get_email( $context );
1019
+     * Alias of self::get_email().
1020
+     *
1021
+     * @since 1.0.19
1022
+     * @param  string $context View or edit context.
1023
+     * @return string
1024
+     */
1025
+    public function get_customer_email( $context = 'view' ) {
1026
+        return $this->get_email( $context );
1027 1027
     }
1028 1028
 
1029 1029
     /**
1030
-	 * Get the customer's country.
1031
-	 *
1032
-	 * @since 1.0.19
1033
-	 * @param  string $context View or edit context.
1034
-	 * @return string
1035
-	 */
1036
-	public function get_country( $context = 'view' ) {
1037
-		$country = $this->get_prop( 'country', $context );
1038
-		return empty( $country ) ? wpinv_get_default_country() : $country;
1030
+     * Get the customer's country.
1031
+     *
1032
+     * @since 1.0.19
1033
+     * @param  string $context View or edit context.
1034
+     * @return string
1035
+     */
1036
+    public function get_country( $context = 'view' ) {
1037
+        $country = $this->get_prop( 'country', $context );
1038
+        return empty( $country ) ? wpinv_get_default_country() : $country;
1039 1039
     }
1040 1040
 
1041 1041
     /**
1042
-	 * Alias of self::get_country().
1043
-	 *
1044
-	 * @since 1.0.19
1045
-	 * @param  string $context View or edit context.
1046
-	 * @return string
1047
-	 */
1048
-	public function get_user_country( $context = 'view' ) {
1049
-		return $this->get_country( $context );
1042
+     * Alias of self::get_country().
1043
+     *
1044
+     * @since 1.0.19
1045
+     * @param  string $context View or edit context.
1046
+     * @return string
1047
+     */
1048
+    public function get_user_country( $context = 'view' ) {
1049
+        return $this->get_country( $context );
1050 1050
     }
1051 1051
 
1052 1052
     /**
1053
-	 * Alias of self::get_country().
1054
-	 *
1055
-	 * @since 1.0.19
1056
-	 * @param  string $context View or edit context.
1057
-	 * @return string
1058
-	 */
1059
-	public function get_customer_country( $context = 'view' ) {
1060
-		return $this->get_country( $context );
1053
+     * Alias of self::get_country().
1054
+     *
1055
+     * @since 1.0.19
1056
+     * @param  string $context View or edit context.
1057
+     * @return string
1058
+     */
1059
+    public function get_customer_country( $context = 'view' ) {
1060
+        return $this->get_country( $context );
1061 1061
     }
1062 1062
 
1063 1063
     /**
1064
-	 * Get the customer's state.
1065
-	 *
1066
-	 * @since 1.0.19
1067
-	 * @param  string $context View or edit context.
1068
-	 * @return string
1069
-	 */
1070
-	public function get_state( $context = 'view' ) {
1071
-		$state = $this->get_prop( 'state', $context );
1072
-		return empty( $state ) ? wpinv_get_default_state() : $state;
1064
+     * Get the customer's state.
1065
+     *
1066
+     * @since 1.0.19
1067
+     * @param  string $context View or edit context.
1068
+     * @return string
1069
+     */
1070
+    public function get_state( $context = 'view' ) {
1071
+        $state = $this->get_prop( 'state', $context );
1072
+        return empty( $state ) ? wpinv_get_default_state() : $state;
1073 1073
     }
1074 1074
 
1075 1075
     /**
1076
-	 * Alias of self::get_state().
1077
-	 *
1078
-	 * @since 1.0.19
1079
-	 * @param  string $context View or edit context.
1080
-	 * @return string
1081
-	 */
1082
-	public function get_user_state( $context = 'view' ) {
1083
-		return $this->get_state( $context );
1076
+     * Alias of self::get_state().
1077
+     *
1078
+     * @since 1.0.19
1079
+     * @param  string $context View or edit context.
1080
+     * @return string
1081
+     */
1082
+    public function get_user_state( $context = 'view' ) {
1083
+        return $this->get_state( $context );
1084 1084
     }
1085 1085
 
1086 1086
     /**
1087
-	 * Alias of self::get_state().
1088
-	 *
1089
-	 * @since 1.0.19
1090
-	 * @param  string $context View or edit context.
1091
-	 * @return string
1092
-	 */
1093
-	public function get_customer_state( $context = 'view' ) {
1094
-		return $this->get_state( $context );
1087
+     * Alias of self::get_state().
1088
+     *
1089
+     * @since 1.0.19
1090
+     * @param  string $context View or edit context.
1091
+     * @return string
1092
+     */
1093
+    public function get_customer_state( $context = 'view' ) {
1094
+        return $this->get_state( $context );
1095 1095
     }
1096 1096
 
1097 1097
     /**
1098
-	 * Get the customer's city.
1099
-	 *
1100
-	 * @since 1.0.19
1101
-	 * @param  string $context View or edit context.
1102
-	 * @return string
1103
-	 */
1104
-	public function get_city( $context = 'view' ) {
1105
-		return $this->get_prop( 'city', $context );
1098
+     * Get the customer's city.
1099
+     *
1100
+     * @since 1.0.19
1101
+     * @param  string $context View or edit context.
1102
+     * @return string
1103
+     */
1104
+    public function get_city( $context = 'view' ) {
1105
+        return $this->get_prop( 'city', $context );
1106 1106
     }
1107 1107
 
1108 1108
     /**
1109
-	 * Alias of self::get_city().
1110
-	 *
1111
-	 * @since 1.0.19
1112
-	 * @param  string $context View or edit context.
1113
-	 * @return string
1114
-	 */
1115
-	public function get_user_city( $context = 'view' ) {
1116
-		return $this->get_city( $context );
1109
+     * Alias of self::get_city().
1110
+     *
1111
+     * @since 1.0.19
1112
+     * @param  string $context View or edit context.
1113
+     * @return string
1114
+     */
1115
+    public function get_user_city( $context = 'view' ) {
1116
+        return $this->get_city( $context );
1117 1117
     }
1118 1118
 
1119 1119
     /**
1120
-	 * Alias of self::get_city().
1121
-	 *
1122
-	 * @since 1.0.19
1123
-	 * @param  string $context View or edit context.
1124
-	 * @return string
1125
-	 */
1126
-	public function get_customer_city( $context = 'view' ) {
1127
-		return $this->get_city( $context );
1120
+     * Alias of self::get_city().
1121
+     *
1122
+     * @since 1.0.19
1123
+     * @param  string $context View or edit context.
1124
+     * @return string
1125
+     */
1126
+    public function get_customer_city( $context = 'view' ) {
1127
+        return $this->get_city( $context );
1128 1128
     }
1129 1129
 
1130 1130
     /**
1131
-	 * Get the customer's zip.
1132
-	 *
1133
-	 * @since 1.0.19
1134
-	 * @param  string $context View or edit context.
1135
-	 * @return string
1136
-	 */
1137
-	public function get_zip( $context = 'view' ) {
1138
-		return $this->get_prop( 'zip', $context );
1131
+     * Get the customer's zip.
1132
+     *
1133
+     * @since 1.0.19
1134
+     * @param  string $context View or edit context.
1135
+     * @return string
1136
+     */
1137
+    public function get_zip( $context = 'view' ) {
1138
+        return $this->get_prop( 'zip', $context );
1139 1139
     }
1140 1140
 
1141 1141
     /**
1142
-	 * Alias of self::get_zip().
1143
-	 *
1144
-	 * @since 1.0.19
1145
-	 * @param  string $context View or edit context.
1146
-	 * @return string
1147
-	 */
1148
-	public function get_user_zip( $context = 'view' ) {
1149
-		return $this->get_zip( $context );
1142
+     * Alias of self::get_zip().
1143
+     *
1144
+     * @since 1.0.19
1145
+     * @param  string $context View or edit context.
1146
+     * @return string
1147
+     */
1148
+    public function get_user_zip( $context = 'view' ) {
1149
+        return $this->get_zip( $context );
1150 1150
     }
1151 1151
 
1152 1152
     /**
1153
-	 * Alias of self::get_zip().
1154
-	 *
1155
-	 * @since 1.0.19
1156
-	 * @param  string $context View or edit context.
1157
-	 * @return string
1158
-	 */
1159
-	public function get_customer_zip( $context = 'view' ) {
1160
-		return $this->get_zip( $context );
1153
+     * Alias of self::get_zip().
1154
+     *
1155
+     * @since 1.0.19
1156
+     * @param  string $context View or edit context.
1157
+     * @return string
1158
+     */
1159
+    public function get_customer_zip( $context = 'view' ) {
1160
+        return $this->get_zip( $context );
1161 1161
     }
1162 1162
 
1163 1163
     /**
1164
-	 * Get the customer's company.
1165
-	 *
1166
-	 * @since 1.0.19
1167
-	 * @param  string $context View or edit context.
1168
-	 * @return string
1169
-	 */
1170
-	public function get_company( $context = 'view' ) {
1171
-		return $this->get_prop( 'company', $context );
1164
+     * Get the customer's company.
1165
+     *
1166
+     * @since 1.0.19
1167
+     * @param  string $context View or edit context.
1168
+     * @return string
1169
+     */
1170
+    public function get_company( $context = 'view' ) {
1171
+        return $this->get_prop( 'company', $context );
1172 1172
     }
1173 1173
 
1174 1174
     /**
1175
-	 * Alias of self::get_company().
1176
-	 *
1177
-	 * @since 1.0.19
1178
-	 * @param  string $context View or edit context.
1179
-	 * @return string
1180
-	 */
1181
-	public function get_user_company( $context = 'view' ) {
1182
-		return $this->get_company( $context );
1175
+     * Alias of self::get_company().
1176
+     *
1177
+     * @since 1.0.19
1178
+     * @param  string $context View or edit context.
1179
+     * @return string
1180
+     */
1181
+    public function get_user_company( $context = 'view' ) {
1182
+        return $this->get_company( $context );
1183
+    }
1184
+
1185
+    /**
1186
+     * Alias of self::get_company().
1187
+     *
1188
+     * @since 1.0.19
1189
+     * @param  string $context View or edit context.
1190
+     * @return string
1191
+     */
1192
+    public function get_customer_company( $context = 'view' ) {
1193
+        return $this->get_company( $context );
1183 1194
     }
1184 1195
 
1185 1196
     /**
1186
-	 * Alias of self::get_company().
1187
-	 *
1188
-	 * @since 1.0.19
1189
-	 * @param  string $context View or edit context.
1190
-	 * @return string
1191
-	 */
1192
-	public function get_customer_company( $context = 'view' ) {
1193
-		return $this->get_company( $context );
1197
+     * Get the customer's company id.
1198
+     *
1199
+     * @since 1.0.19
1200
+     * @param  string $context View or edit context.
1201
+     * @return string
1202
+     */
1203
+    public function get_company_id( $context = 'view' ) {
1204
+        return $this->get_prop( 'company_id', $context );
1205
+    }
1206
+
1207
+    /**
1208
+     * Get the customer's vat number.
1209
+     *
1210
+     * @since 1.0.19
1211
+     * @param  string $context View or edit context.
1212
+     * @return string
1213
+     */
1214
+    public function get_vat_number( $context = 'view' ) {
1215
+        return $this->get_prop( 'vat_number', $context );
1194 1216
     }
1195 1217
 
1196
-	/**
1197
-	 * Get the customer's company id.
1198
-	 *
1199
-	 * @since 1.0.19
1200
-	 * @param  string $context View or edit context.
1201
-	 * @return string
1202
-	 */
1203
-	public function get_company_id( $context = 'view' ) {
1204
-		return $this->get_prop( 'company_id', $context );
1218
+    /**
1219
+     * Alias of self::get_vat_number().
1220
+     *
1221
+     * @since 1.0.19
1222
+     * @param  string $context View or edit context.
1223
+     * @return string
1224
+     */
1225
+    public function get_user_vat_number( $context = 'view' ) {
1226
+        return $this->get_vat_number( $context );
1205 1227
     }
1206 1228
 
1207 1229
     /**
1208
-	 * Get the customer's vat number.
1209
-	 *
1210
-	 * @since 1.0.19
1211
-	 * @param  string $context View or edit context.
1212
-	 * @return string
1213
-	 */
1214
-	public function get_vat_number( $context = 'view' ) {
1215
-		return $this->get_prop( 'vat_number', $context );
1230
+     * Alias of self::get_vat_number().
1231
+     *
1232
+     * @since 1.0.19
1233
+     * @param  string $context View or edit context.
1234
+     * @return string
1235
+     */
1236
+    public function get_customer_vat_number( $context = 'view' ) {
1237
+        return $this->get_vat_number( $context );
1216 1238
     }
1217 1239
 
1218 1240
     /**
1219
-	 * Alias of self::get_vat_number().
1220
-	 *
1221
-	 * @since 1.0.19
1222
-	 * @param  string $context View or edit context.
1223
-	 * @return string
1224
-	 */
1225
-	public function get_user_vat_number( $context = 'view' ) {
1226
-		return $this->get_vat_number( $context );
1241
+     * Get the customer's vat rate.
1242
+     *
1243
+     * @since 1.0.19
1244
+     * @param  string $context View or edit context.
1245
+     * @return string
1246
+     */
1247
+    public function get_vat_rate( $context = 'view' ) {
1248
+        return $this->get_prop( 'vat_rate', $context );
1227 1249
     }
1228 1250
 
1229 1251
     /**
1230
-	 * Alias of self::get_vat_number().
1231
-	 *
1232
-	 * @since 1.0.19
1233
-	 * @param  string $context View or edit context.
1234
-	 * @return string
1235
-	 */
1236
-	public function get_customer_vat_number( $context = 'view' ) {
1237
-		return $this->get_vat_number( $context );
1252
+     * Alias of self::get_vat_rate().
1253
+     *
1254
+     * @since 1.0.19
1255
+     * @param  string $context View or edit context.
1256
+     * @return string
1257
+     */
1258
+    public function get_user_vat_rate( $context = 'view' ) {
1259
+        return $this->get_vat_rate( $context );
1238 1260
     }
1239 1261
 
1240
-    /**
1241
-	 * Get the customer's vat rate.
1242
-	 *
1243
-	 * @since 1.0.19
1244
-	 * @param  string $context View or edit context.
1245
-	 * @return string
1246
-	 */
1247
-	public function get_vat_rate( $context = 'view' ) {
1248
-		return $this->get_prop( 'vat_rate', $context );
1249
-    }
1250
-
1251
-    /**
1252
-	 * Alias of self::get_vat_rate().
1253
-	 *
1254
-	 * @since 1.0.19
1255
-	 * @param  string $context View or edit context.
1256
-	 * @return string
1257
-	 */
1258
-	public function get_user_vat_rate( $context = 'view' ) {
1259
-		return $this->get_vat_rate( $context );
1260
-    }
1261
-
1262
-    /**
1263
-	 * Alias of self::get_vat_rate().
1264
-	 *
1265
-	 * @since 1.0.19
1266
-	 * @param  string $context View or edit context.
1267
-	 * @return string
1268
-	 */
1269
-	public function get_customer_vat_rate( $context = 'view' ) {
1270
-		return $this->get_vat_rate( $context );
1271
-    }
1272
-
1273
-    /**
1274
-	 * Get the customer's address.
1275
-	 *
1276
-	 * @since 1.0.19
1277
-	 * @param  string $context View or edit context.
1278
-	 * @return string
1279
-	 */
1280
-	public function get_address( $context = 'view' ) {
1281
-		return $this->get_prop( 'address', $context );
1282
-    }
1283
-
1284
-    /**
1285
-	 * Alias of self::get_address().
1286
-	 *
1287
-	 * @since 1.0.19
1288
-	 * @param  string $context View or edit context.
1289
-	 * @return string
1290
-	 */
1291
-	public function get_user_address( $context = 'view' ) {
1292
-		return $this->get_address( $context );
1293
-    }
1294
-
1295
-    /**
1296
-	 * Alias of self::get_address().
1297
-	 *
1298
-	 * @since 1.0.19
1299
-	 * @param  string $context View or edit context.
1300
-	 * @return string
1301
-	 */
1302
-	public function get_customer_address( $context = 'view' ) {
1303
-		return $this->get_address( $context );
1304
-    }
1305
-
1306
-    /**
1307
-	 * Get whether the customer has viewed the invoice or not.
1308
-	 *
1309
-	 * @since 1.0.19
1310
-	 * @param  string $context View or edit context.
1311
-	 * @return bool
1312
-	 */
1313
-	public function get_is_viewed( $context = 'view' ) {
1314
-		return (bool) $this->get_prop( 'is_viewed', $context );
1315
-	}
1316
-
1317
-	/**
1318
-	 * Get other recipients for invoice communications.
1319
-	 *
1320
-	 * @since 1.0.19
1321
-	 * @param  string $context View or edit context.
1322
-	 * @return bool
1323
-	 */
1324
-	public function get_email_cc( $context = 'view' ) {
1325
-		return $this->get_prop( 'email_cc', $context );
1326
-	}
1327
-
1328
-	/**
1329
-	 * Get invoice template.
1330
-	 *
1331
-	 * @since 1.0.19
1332
-	 * @param  string $context View or edit context.
1333
-	 * @return bool
1334
-	 */
1335
-	public function get_template( $context = 'view' ) {
1336
-		return $this->get_prop( 'template', $context );
1337
-	}
1338
-
1339
-	/**
1340
-	 * Get invoice source.
1341
-	 *
1342
-	 * @since 1.0.19
1343
-	 * @param  string $context View or edit context.
1344
-	 * @return bool
1345
-	 */
1346
-	public function get_created_via( $context = 'view' ) {
1347
-		return $this->get_prop( 'created_via', $context );
1348
-	}
1349
-
1350
-	/**
1351
-	 * Get whether the customer has confirmed their address.
1352
-	 *
1353
-	 * @since 1.0.19
1354
-	 * @param  string $context View or edit context.
1355
-	 * @return bool
1356
-	 */
1357
-	public function get_address_confirmed( $context = 'view' ) {
1358
-		return (bool) $this->get_prop( 'address_confirmed', $context );
1359
-    }
1360
-
1361
-    /**
1362
-	 * Alias of self::get_address_confirmed().
1363
-	 *
1364
-	 * @since 1.0.19
1365
-	 * @param  string $context View or edit context.
1366
-	 * @return bool
1367
-	 */
1368
-	public function get_user_address_confirmed( $context = 'view' ) {
1369
-		return $this->get_address_confirmed( $context );
1370
-    }
1371
-
1372
-    /**
1373
-	 * Alias of self::get_address().
1374
-	 *
1375
-	 * @since 1.0.19
1376
-	 * @param  string $context View or edit context.
1377
-	 * @return bool
1378
-	 */
1379
-	public function get_customer_address_confirmed( $context = 'view' ) {
1380
-		return $this->get_address_confirmed( $context );
1381
-    }
1382
-
1383
-	/**
1384
-	 * Get the shipping address.
1385
-	 *
1386
-	 * @since 1.0.19
1387
-	 * @return array|false
1388
-	 */
1389
-	public function get_shipping_address() {
1390
-
1391
-		$shipping_address = get_post_meta( $this->get_id(), 'shipping_address', true );
1392
-		return is_array( $shipping_address ) ? $shipping_address : false;
1393
-    }
1394
-
1395
-	/**
1396
-	 * Check if the invoice has a shipping address.
1397
-	 */
1398
-	public function has_shipping_address() {
1399
-		return false !== $this->get_shipping_address();
1400
-    }
1401
-
1402
-	/**
1403
-	 * Get the shipping amount.
1404
-	 *
1405
-	 * @since 1.0.19
1406
-	 * @param  string $context View or edit context.
1407
-	 * @return float
1408
-	 */
1409
-	public function get_shipping( $context = 'view' ) {
1410
-
1411
-		if ( $context = 'view' ) {
1412
-			return floatval( $this->get_prop( 'shipping', $context ) );
1413
-		}
1414
-
1415
-		return $this->get_prop( 'shipping', $context );
1416
-    }
1417
-
1418
-	public function has_shipping() {
1419
-		return defined( 'GETPAID_SHIPPING_CALCULATOR_VERSION' ) && null !== $this->get_prop( 'shipping', 'edit' );
1420
-    }
1421
-
1422
-    /**
1423
-	 * Get the invoice subtotal.
1424
-	 *
1425
-	 * @since 1.0.19
1426
-	 * @param  string $context View or edit context.
1427
-	 * @return float
1428
-	 */
1429
-	public function get_subtotal( $context = 'view' ) {
1262
+    /**
1263
+     * Alias of self::get_vat_rate().
1264
+     *
1265
+     * @since 1.0.19
1266
+     * @param  string $context View or edit context.
1267
+     * @return string
1268
+     */
1269
+    public function get_customer_vat_rate( $context = 'view' ) {
1270
+        return $this->get_vat_rate( $context );
1271
+    }
1272
+
1273
+    /**
1274
+     * Get the customer's address.
1275
+     *
1276
+     * @since 1.0.19
1277
+     * @param  string $context View or edit context.
1278
+     * @return string
1279
+     */
1280
+    public function get_address( $context = 'view' ) {
1281
+        return $this->get_prop( 'address', $context );
1282
+    }
1283
+
1284
+    /**
1285
+     * Alias of self::get_address().
1286
+     *
1287
+     * @since 1.0.19
1288
+     * @param  string $context View or edit context.
1289
+     * @return string
1290
+     */
1291
+    public function get_user_address( $context = 'view' ) {
1292
+        return $this->get_address( $context );
1293
+    }
1294
+
1295
+    /**
1296
+     * Alias of self::get_address().
1297
+     *
1298
+     * @since 1.0.19
1299
+     * @param  string $context View or edit context.
1300
+     * @return string
1301
+     */
1302
+    public function get_customer_address( $context = 'view' ) {
1303
+        return $this->get_address( $context );
1304
+    }
1305
+
1306
+    /**
1307
+     * Get whether the customer has viewed the invoice or not.
1308
+     *
1309
+     * @since 1.0.19
1310
+     * @param  string $context View or edit context.
1311
+     * @return bool
1312
+     */
1313
+    public function get_is_viewed( $context = 'view' ) {
1314
+        return (bool) $this->get_prop( 'is_viewed', $context );
1315
+    }
1316
+
1317
+    /**
1318
+     * Get other recipients for invoice communications.
1319
+     *
1320
+     * @since 1.0.19
1321
+     * @param  string $context View or edit context.
1322
+     * @return bool
1323
+     */
1324
+    public function get_email_cc( $context = 'view' ) {
1325
+        return $this->get_prop( 'email_cc', $context );
1326
+    }
1327
+
1328
+    /**
1329
+     * Get invoice template.
1330
+     *
1331
+     * @since 1.0.19
1332
+     * @param  string $context View or edit context.
1333
+     * @return bool
1334
+     */
1335
+    public function get_template( $context = 'view' ) {
1336
+        return $this->get_prop( 'template', $context );
1337
+    }
1338
+
1339
+    /**
1340
+     * Get invoice source.
1341
+     *
1342
+     * @since 1.0.19
1343
+     * @param  string $context View or edit context.
1344
+     * @return bool
1345
+     */
1346
+    public function get_created_via( $context = 'view' ) {
1347
+        return $this->get_prop( 'created_via', $context );
1348
+    }
1349
+
1350
+    /**
1351
+     * Get whether the customer has confirmed their address.
1352
+     *
1353
+     * @since 1.0.19
1354
+     * @param  string $context View or edit context.
1355
+     * @return bool
1356
+     */
1357
+    public function get_address_confirmed( $context = 'view' ) {
1358
+        return (bool) $this->get_prop( 'address_confirmed', $context );
1359
+    }
1360
+
1361
+    /**
1362
+     * Alias of self::get_address_confirmed().
1363
+     *
1364
+     * @since 1.0.19
1365
+     * @param  string $context View or edit context.
1366
+     * @return bool
1367
+     */
1368
+    public function get_user_address_confirmed( $context = 'view' ) {
1369
+        return $this->get_address_confirmed( $context );
1370
+    }
1371
+
1372
+    /**
1373
+     * Alias of self::get_address().
1374
+     *
1375
+     * @since 1.0.19
1376
+     * @param  string $context View or edit context.
1377
+     * @return bool
1378
+     */
1379
+    public function get_customer_address_confirmed( $context = 'view' ) {
1380
+        return $this->get_address_confirmed( $context );
1381
+    }
1382
+
1383
+    /**
1384
+     * Get the shipping address.
1385
+     *
1386
+     * @since 1.0.19
1387
+     * @return array|false
1388
+     */
1389
+    public function get_shipping_address() {
1390
+
1391
+        $shipping_address = get_post_meta( $this->get_id(), 'shipping_address', true );
1392
+        return is_array( $shipping_address ) ? $shipping_address : false;
1393
+    }
1394
+
1395
+    /**
1396
+     * Check if the invoice has a shipping address.
1397
+     */
1398
+    public function has_shipping_address() {
1399
+        return false !== $this->get_shipping_address();
1400
+    }
1401
+
1402
+    /**
1403
+     * Get the shipping amount.
1404
+     *
1405
+     * @since 1.0.19
1406
+     * @param  string $context View or edit context.
1407
+     * @return float
1408
+     */
1409
+    public function get_shipping( $context = 'view' ) {
1410
+
1411
+        if ( $context = 'view' ) {
1412
+            return floatval( $this->get_prop( 'shipping', $context ) );
1413
+        }
1414
+
1415
+        return $this->get_prop( 'shipping', $context );
1416
+    }
1417
+
1418
+    public function has_shipping() {
1419
+        return defined( 'GETPAID_SHIPPING_CALCULATOR_VERSION' ) && null !== $this->get_prop( 'shipping', 'edit' );
1420
+    }
1421
+
1422
+    /**
1423
+     * Get the invoice subtotal.
1424
+     *
1425
+     * @since 1.0.19
1426
+     * @param  string $context View or edit context.
1427
+     * @return float
1428
+     */
1429
+    public function get_subtotal( $context = 'view' ) {
1430 1430
         $subtotal = (float) $this->get_prop( 'subtotal', $context );
1431 1431
 
1432 1432
         // Backwards compatibility.
@@ -1438,198 +1438,198 @@  discard block
 block discarded – undo
1438 1438
     }
1439 1439
 
1440 1440
     /**
1441
-	 * Get the invoice discount total.
1442
-	 *
1443
-	 * @since 1.0.19
1444
-	 * @param  string $context View or edit context.
1445
-	 * @return float
1446
-	 */
1447
-	public function get_total_discount( $context = 'view' ) {
1448
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_discount', $context ) ) );
1441
+     * Get the invoice discount total.
1442
+     *
1443
+     * @since 1.0.19
1444
+     * @param  string $context View or edit context.
1445
+     * @return float
1446
+     */
1447
+    public function get_total_discount( $context = 'view' ) {
1448
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_discount', $context ) ) );
1449 1449
     }
1450 1450
 
1451 1451
     /**
1452
-	 * Get the invoice tax total.
1453
-	 *
1454
-	 * @since 1.0.19
1455
-	 * @param  string $context View or edit context.
1456
-	 * @return float
1457
-	 */
1458
-	public function get_total_tax( $context = 'view' ) {
1459
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_tax', $context ) ) );
1460
-	}
1452
+     * Get the invoice tax total.
1453
+     *
1454
+     * @since 1.0.19
1455
+     * @param  string $context View or edit context.
1456
+     * @return float
1457
+     */
1458
+    public function get_total_tax( $context = 'view' ) {
1459
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_tax', $context ) ) );
1460
+    }
1461 1461
 
1462
-	/**
1463
-	 * @deprecated
1464
-	 */
1465
-	public function get_final_tax( $currency = false ) {
1466
-		$tax = $this->get_total_tax();
1462
+    /**
1463
+     * @deprecated
1464
+     */
1465
+    public function get_final_tax( $currency = false ) {
1466
+        $tax = $this->get_total_tax();
1467 1467
 
1468 1468
         if ( $currency ) {
1469
-			return wpinv_price( $tax, $this->get_currency() );
1469
+            return wpinv_price( $tax, $this->get_currency() );
1470 1470
         }
1471 1471
 
1472 1472
         return $tax;
1473 1473
     }
1474 1474
 
1475 1475
     /**
1476
-	 * Get the invoice fees total.
1477
-	 *
1478
-	 * @since 1.0.19
1479
-	 * @param  string $context View or edit context.
1480
-	 * @return float
1481
-	 */
1482
-	public function get_total_fees( $context = 'view' ) {
1483
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_fees', $context ) ) );
1476
+     * Get the invoice fees total.
1477
+     *
1478
+     * @since 1.0.19
1479
+     * @param  string $context View or edit context.
1480
+     * @return float
1481
+     */
1482
+    public function get_total_fees( $context = 'view' ) {
1483
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_fees', $context ) ) );
1484
+    }
1485
+
1486
+    /**
1487
+     * Alias for self::get_total_fees().
1488
+     *
1489
+     * @since 1.0.19
1490
+     * @param  string $context View or edit context.
1491
+     * @return float
1492
+     */
1493
+    public function get_fees_total( $context = 'view' ) {
1494
+        return $this->get_total_fees( $context );
1484 1495
     }
1485 1496
 
1486 1497
     /**
1487
-	 * Alias for self::get_total_fees().
1488
-	 *
1489
-	 * @since 1.0.19
1490
-	 * @param  string $context View or edit context.
1491
-	 * @return float
1492
-	 */
1493
-	public function get_fees_total( $context = 'view' ) {
1494
-		return $this->get_total_fees( $context );
1498
+     * Get the invoice total.
1499
+     *
1500
+     * @since 1.0.19
1501
+     * @return float
1502
+     */
1503
+    public function get_total( $context = 'view' ) {
1504
+        $total = $this->get_prop( 'total', $context );
1505
+
1506
+        if ( $this->has_shipping() && $context == 'view' ) {
1507
+            $total = $this->get_prop( 'total', $context ) + $this->get_shipping( $context );
1508
+        }
1509
+
1510
+        return wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1495 1511
     }
1496 1512
 
1497 1513
     /**
1498
-	 * Get the invoice total.
1499
-	 *
1500
-	 * @since 1.0.19
1514
+     * Retrieves the non-recurring total of items.
1515
+     *
1516
+     * @since 2.3.0
1501 1517
      * @return float
1502
-	 */
1503
-	public function get_total( $context = 'view' ) {
1504
-		$total = $this->get_prop( 'total', $context );
1505
-
1506
-		if ( $this->has_shipping() && $context == 'view' ) {
1507
-			$total = $this->get_prop( 'total', $context ) + $this->get_shipping( $context );
1508
-		}
1509
-
1510
-		return wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1511
-	}
1512
-
1513
-	/**
1514
-	 * Retrieves the non-recurring total of items.
1515
-	 *
1516
-	 * @since 2.3.0
1517
-	 * @return float
1518
-	 */
1519
-	public function get_non_recurring_total() {
1520
-
1521
-		$subtotal = 0;
1522
-		foreach ( $this->get_items() as $item ) {
1523
-			if ( ! $item->is_recurring() ) {
1524
-				$subtotal += $item->get_sub_total();
1525
-			}
1526
-		}
1527
-
1528
-		foreach ( $this->get_fees() as $fee ) {
1529
-			if ( empty( $fee['recurring_fee'] ) ) {
1530
-				$subtotal += wpinv_sanitize_amount( $fee['initial_fee'] );
1531
-			}
1532
-		}
1533
-
1534
-		$subtotal = wpinv_round_amount( wpinv_sanitize_amount( $subtotal ) );
1518
+     */
1519
+    public function get_non_recurring_total() {
1520
+
1521
+        $subtotal = 0;
1522
+        foreach ( $this->get_items() as $item ) {
1523
+            if ( ! $item->is_recurring() ) {
1524
+                $subtotal += $item->get_sub_total();
1525
+            }
1526
+        }
1527
+
1528
+        foreach ( $this->get_fees() as $fee ) {
1529
+            if ( empty( $fee['recurring_fee'] ) ) {
1530
+                $subtotal += wpinv_sanitize_amount( $fee['initial_fee'] );
1531
+            }
1532
+        }
1533
+
1534
+        $subtotal = wpinv_round_amount( wpinv_sanitize_amount( $subtotal ) );
1535 1535
         return apply_filters( 'wpinv_get_non_recurring_invoice_total', $subtotal, $this );
1536 1536
 
1537 1537
     }
1538 1538
 
1539
-	/**
1540
-	 * Get the invoice totals.
1541
-	 *
1542
-	 * @since 1.0.19
1539
+    /**
1540
+     * Get the invoice totals.
1541
+     *
1542
+     * @since 1.0.19
1543 1543
      * @return array
1544
-	 */
1545
-	public function get_totals() {
1546
-		return $this->totals;
1544
+     */
1545
+    public function get_totals() {
1546
+        return $this->totals;
1547 1547
     }
1548 1548
 
1549 1549
     /**
1550
-	 * Get the initial invoice total.
1551
-	 *
1552
-	 * @since 1.0.19
1550
+     * Get the initial invoice total.
1551
+     *
1552
+     * @since 1.0.19
1553 1553
      * @param  string $context View or edit context.
1554 1554
      * @return float
1555
-	 */
1555
+     */
1556 1556
     public function get_initial_total() {
1557 1557
 
1558
-		if ( empty( $this->totals ) ) {
1559
-			$this->recalculate_total();
1560
-		}
1558
+        if ( empty( $this->totals ) ) {
1559
+            $this->recalculate_total();
1560
+        }
1561 1561
 
1562
-		$tax      = $this->totals['tax']['initial'];
1563
-		$fee      = $this->totals['fee']['initial'];
1564
-		$discount = $this->totals['discount']['initial'];
1565
-		$subtotal = $this->totals['subtotal']['initial'];
1566
-		$total    = $tax + $fee - $discount + $subtotal;
1562
+        $tax      = $this->totals['tax']['initial'];
1563
+        $fee      = $this->totals['fee']['initial'];
1564
+        $discount = $this->totals['discount']['initial'];
1565
+        $subtotal = $this->totals['subtotal']['initial'];
1566
+        $total    = $tax + $fee - $discount + $subtotal;
1567 1567
 
1568
-		if ( 0 > $total ) {
1569
-			$total = 0;
1570
-		}
1568
+        if ( 0 > $total ) {
1569
+            $total = 0;
1570
+        }
1571 1571
 
1572
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1572
+        $total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1573 1573
         return apply_filters( 'wpinv_get_initial_invoice_total', $total, $this );
1574
-	}
1574
+    }
1575 1575
 
1576
-	/**
1577
-	 * Get the recurring invoice total.
1578
-	 *
1579
-	 * @since 1.0.19
1576
+    /**
1577
+     * Get the recurring invoice total.
1578
+     *
1579
+     * @since 1.0.19
1580 1580
      * @param  string $context View or edit context.
1581 1581
      * @return float
1582
-	 */
1582
+     */
1583 1583
     public function get_recurring_total() {
1584 1584
 
1585
-		if ( empty( $this->totals ) ) {
1586
-			$this->recalculate_total();
1587
-		}
1585
+        if ( empty( $this->totals ) ) {
1586
+            $this->recalculate_total();
1587
+        }
1588 1588
 
1589
-		$tax      = $this->totals['tax']['recurring'];
1590
-		$fee      = $this->totals['fee']['recurring'];
1591
-		$discount = $this->totals['discount']['recurring'];
1592
-		$subtotal = $this->totals['subtotal']['recurring'];
1593
-		$total    = $tax + $fee - $discount + $subtotal;
1589
+        $tax      = $this->totals['tax']['recurring'];
1590
+        $fee      = $this->totals['fee']['recurring'];
1591
+        $discount = $this->totals['discount']['recurring'];
1592
+        $subtotal = $this->totals['subtotal']['recurring'];
1593
+        $total    = $tax + $fee - $discount + $subtotal;
1594 1594
 
1595
-		if ( 0 > $total ) {
1596
-			$total = 0;
1597
-		}
1595
+        if ( 0 > $total ) {
1596
+            $total = 0;
1597
+        }
1598 1598
 
1599
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1599
+        $total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1600 1600
         return apply_filters( 'wpinv_get_recurring_invoice_total', $total, $this );
1601
-	}
1601
+    }
1602 1602
 
1603
-	/**
1604
-	 * Returns recurring payment details.
1605
-	 *
1606
-	 * @since 1.0.19
1603
+    /**
1604
+     * Returns recurring payment details.
1605
+     *
1606
+     * @since 1.0.19
1607 1607
      * @param  string $field Optionally provide a field to return.
1608
-	 * @param string $currency Whether to include the currency.
1608
+     * @param string $currency Whether to include the currency.
1609 1609
      * @return float|string
1610
-	 */
1610
+     */
1611 1611
     public function get_recurring_details( $field = '', $currency = false ) {
1612 1612
 
1613
-		// Maybe recalculate totals.
1614
-		if ( empty( $this->totals ) ) {
1615
-			$this->recalculate_total();
1616
-		}
1613
+        // Maybe recalculate totals.
1614
+        if ( empty( $this->totals ) ) {
1615
+            $this->recalculate_total();
1616
+        }
1617 1617
 
1618
-		// Prepare recurring totals.
1618
+        // Prepare recurring totals.
1619 1619
         $data = apply_filters(
1620
-			'wpinv_get_invoice_recurring_details',
1621
-			array(
1622
-				'cart_details' => $this->get_cart_details(),
1623
-				'subtotal'     => $this->totals['subtotal']['recurring'],
1624
-				'discount'     => $this->totals['discount']['recurring'],
1625
-				'tax'          => $this->totals['tax']['recurring'],
1626
-				'fee'          => $this->totals['fee']['recurring'],
1627
-				'total'        => $this->get_recurring_total(),
1628
-			),
1629
-			$this,
1630
-			$field,
1631
-			$currency
1632
-		);
1620
+            'wpinv_get_invoice_recurring_details',
1621
+            array(
1622
+                'cart_details' => $this->get_cart_details(),
1623
+                'subtotal'     => $this->totals['subtotal']['recurring'],
1624
+                'discount'     => $this->totals['discount']['recurring'],
1625
+                'tax'          => $this->totals['tax']['recurring'],
1626
+                'fee'          => $this->totals['fee']['recurring'],
1627
+                'total'        => $this->get_recurring_total(),
1628
+            ),
1629
+            $this,
1630
+            $field,
1631
+            $currency
1632
+        );
1633 1633
 
1634 1634
         if ( isset( $data[ $field ] ) ) {
1635 1635
             return ( $currency ? wpinv_price( $data[ $field ], $this->get_currency() ) : $data[ $field ] );
@@ -1639,166 +1639,166 @@  discard block
 block discarded – undo
1639 1639
     }
1640 1640
 
1641 1641
     /**
1642
-	 * Get the invoice fees.
1643
-	 *
1644
-	 * @since 1.0.19
1645
-	 * @param  string $context View or edit context.
1646
-	 * @return array
1647
-	 */
1648
-	public function get_fees( $context = 'view' ) {
1649
-		return wpinv_parse_list( $this->get_prop( 'fees', $context ) );
1642
+     * Get the invoice fees.
1643
+     *
1644
+     * @since 1.0.19
1645
+     * @param  string $context View or edit context.
1646
+     * @return array
1647
+     */
1648
+    public function get_fees( $context = 'view' ) {
1649
+        return wpinv_parse_list( $this->get_prop( 'fees', $context ) );
1650 1650
     }
1651 1651
 
1652 1652
     /**
1653
-	 * Get the invoice discounts.
1654
-	 *
1655
-	 * @since 1.0.19
1656
-	 * @param  string $context View or edit context.
1657
-	 * @return array
1658
-	 */
1659
-	public function get_discounts( $context = 'view' ) {
1660
-		return wpinv_parse_list( $this->get_prop( 'discounts', $context ) );
1653
+     * Get the invoice discounts.
1654
+     *
1655
+     * @since 1.0.19
1656
+     * @param  string $context View or edit context.
1657
+     * @return array
1658
+     */
1659
+    public function get_discounts( $context = 'view' ) {
1660
+        return wpinv_parse_list( $this->get_prop( 'discounts', $context ) );
1661 1661
     }
1662 1662
 
1663 1663
     /**
1664
-	 * Get the invoice taxes.
1665
-	 *
1666
-	 * @since 1.0.19
1667
-	 * @param  string $context View or edit context.
1668
-	 * @return array
1669
-	 */
1670
-	public function get_taxes( $context = 'view' ) {
1671
-		return wpinv_parse_list( $this->get_prop( 'taxes', $context ) );
1664
+     * Get the invoice taxes.
1665
+     *
1666
+     * @since 1.0.19
1667
+     * @param  string $context View or edit context.
1668
+     * @return array
1669
+     */
1670
+    public function get_taxes( $context = 'view' ) {
1671
+        return wpinv_parse_list( $this->get_prop( 'taxes', $context ) );
1672 1672
     }
1673 1673
 
1674 1674
     /**
1675
-	 * Get the invoice items.
1676
-	 *
1677
-	 * @since 1.0.19
1678
-	 * @param  string $context View or edit context.
1679
-	 * @return GetPaid_Form_Item[]
1680
-	 */
1681
-	public function get_items( $context = 'view' ) {
1675
+     * Get the invoice items.
1676
+     *
1677
+     * @since 1.0.19
1678
+     * @param  string $context View or edit context.
1679
+     * @return GetPaid_Form_Item[]
1680
+     */
1681
+    public function get_items( $context = 'view' ) {
1682 1682
         return $this->get_prop( 'items', $context );
1683
-	}
1683
+    }
1684 1684
 
1685
-	/**
1686
-	 * Get the invoice item ids.
1687
-	 *
1688
-	 * @since 1.0.19
1689
-	 * @return string
1690
-	 */
1691
-	public function get_item_ids() {
1692
-		return implode( ', ', wp_list_pluck( $this->get_cart_details(), 'item_id' ) );
1685
+    /**
1686
+     * Get the invoice item ids.
1687
+     *
1688
+     * @since 1.0.19
1689
+     * @return string
1690
+     */
1691
+    public function get_item_ids() {
1692
+        return implode( ', ', wp_list_pluck( $this->get_cart_details(), 'item_id' ) );
1693 1693
     }
1694 1694
 
1695 1695
     /**
1696
-	 * Get the invoice's payment form.
1697
-	 *
1698
-	 * @since 1.0.19
1699
-	 * @param  string $context View or edit context.
1700
-	 * @return int
1701
-	 */
1702
-	public function get_payment_form( $context = 'view' ) {
1703
-		return intval( $this->get_prop( 'payment_form', $context ) );
1696
+     * Get the invoice's payment form.
1697
+     *
1698
+     * @since 1.0.19
1699
+     * @param  string $context View or edit context.
1700
+     * @return int
1701
+     */
1702
+    public function get_payment_form( $context = 'view' ) {
1703
+        return intval( $this->get_prop( 'payment_form', $context ) );
1704 1704
     }
1705 1705
 
1706 1706
     /**
1707
-	 * Get the invoice's submission id.
1708
-	 *
1709
-	 * @since 1.0.19
1710
-	 * @param  string $context View or edit context.
1711
-	 * @return string
1712
-	 */
1713
-	public function get_submission_id( $context = 'view' ) {
1714
-		return $this->get_prop( 'submission_id', $context );
1707
+     * Get the invoice's submission id.
1708
+     *
1709
+     * @since 1.0.19
1710
+     * @param  string $context View or edit context.
1711
+     * @return string
1712
+     */
1713
+    public function get_submission_id( $context = 'view' ) {
1714
+        return $this->get_prop( 'submission_id', $context );
1715 1715
     }
1716 1716
 
1717 1717
     /**
1718
-	 * Get the invoice's discount code.
1719
-	 *
1720
-	 * @since 1.0.19
1721
-	 * @param  string $context View or edit context.
1722
-	 * @return string
1723
-	 */
1724
-	public function get_discount_code( $context = 'view' ) {
1725
-		return $this->get_prop( 'discount_code', $context );
1718
+     * Get the invoice's discount code.
1719
+     *
1720
+     * @since 1.0.19
1721
+     * @param  string $context View or edit context.
1722
+     * @return string
1723
+     */
1724
+    public function get_discount_code( $context = 'view' ) {
1725
+        return $this->get_prop( 'discount_code', $context );
1726 1726
     }
1727 1727
 
1728 1728
     /**
1729
-	 * Get the invoice's gateway.
1730
-	 *
1731
-	 * @since 1.0.19
1732
-	 * @param  string $context View or edit context.
1733
-	 * @return string
1734
-	 */
1735
-	public function get_gateway( $context = 'view' ) {
1736
-		return $this->get_prop( 'gateway', $context );
1729
+     * Get the invoice's gateway.
1730
+     *
1731
+     * @since 1.0.19
1732
+     * @param  string $context View or edit context.
1733
+     * @return string
1734
+     */
1735
+    public function get_gateway( $context = 'view' ) {
1736
+        return $this->get_prop( 'gateway', $context );
1737 1737
     }
1738 1738
 
1739 1739
     /**
1740
-	 * Get the invoice's gateway display title.
1741
-	 *
1742
-	 * @since 1.0.19
1743
-	 * @return string
1744
-	 */
1740
+     * Get the invoice's gateway display title.
1741
+     *
1742
+     * @since 1.0.19
1743
+     * @return string
1744
+     */
1745 1745
     public function get_gateway_title() {
1746 1746
         $title = wpinv_get_gateway_checkout_label( $this->get_gateway() );
1747 1747
         return apply_filters( 'wpinv_gateway_title', $title, $this->get_id(), $this );
1748 1748
     }
1749 1749
 
1750 1750
     /**
1751
-	 * Get the invoice's transaction id.
1752
-	 *
1753
-	 * @since 1.0.19
1754
-	 * @param  string $context View or edit context.
1755
-	 * @return string
1756
-	 */
1757
-	public function get_transaction_id( $context = 'view' ) {
1758
-		return $this->get_prop( 'transaction_id', $context );
1751
+     * Get the invoice's transaction id.
1752
+     *
1753
+     * @since 1.0.19
1754
+     * @param  string $context View or edit context.
1755
+     * @return string
1756
+     */
1757
+    public function get_transaction_id( $context = 'view' ) {
1758
+        return $this->get_prop( 'transaction_id', $context );
1759 1759
     }
1760 1760
 
1761 1761
     /**
1762
-	 * Get the invoice's currency.
1763
-	 *
1764
-	 * @since 1.0.19
1765
-	 * @param  string $context View or edit context.
1766
-	 * @return string
1767
-	 */
1768
-	public function get_currency( $context = 'view' ) {
1762
+     * Get the invoice's currency.
1763
+     *
1764
+     * @since 1.0.19
1765
+     * @param  string $context View or edit context.
1766
+     * @return string
1767
+     */
1768
+    public function get_currency( $context = 'view' ) {
1769 1769
         $currency = $this->get_prop( 'currency', $context );
1770 1770
         return empty( $currency ) ? wpinv_get_currency() : $currency;
1771 1771
     }
1772 1772
 
1773 1773
     /**
1774
-	 * Checks if we are charging taxes for this invoice.
1775
-	 *
1776
-	 * @since 1.0.19
1777
-	 * @param  string $context View or edit context.
1778
-	 * @return bool
1779
-	 */
1780
-	public function get_disable_taxes( $context = 'view' ) {
1774
+     * Checks if we are charging taxes for this invoice.
1775
+     *
1776
+     * @since 1.0.19
1777
+     * @param  string $context View or edit context.
1778
+     * @return bool
1779
+     */
1780
+    public function get_disable_taxes( $context = 'view' ) {
1781 1781
         return (bool) $this->get_prop( 'disable_taxes', $context );
1782 1782
     }
1783 1783
 
1784 1784
     /**
1785
-	 * Retrieves the subscription id for an invoice.
1786
-	 *
1787
-	 * @since 1.0.19
1788
-	 * @param  string $context View or edit context.
1789
-	 * @return int
1790
-	 */
1785
+     * Retrieves the subscription id for an invoice.
1786
+     *
1787
+     * @since 1.0.19
1788
+     * @param  string $context View or edit context.
1789
+     * @return int
1790
+     */
1791 1791
     public function get_subscription_id( $context = 'view' ) {
1792
-		return $this->is_renewal() ? $this->get_parent()->get_subscription_id( $context ) : $this->get_prop( 'subscription_id', $context );
1793
-	}
1794
-
1795
-	/**
1796
-	 * Retrieves the remote subscription id for an invoice.
1797
-	 *
1798
-	 * @since 1.0.19
1799
-	 * @param  string $context View or edit context.
1800
-	 * @return int
1801
-	 */
1792
+        return $this->is_renewal() ? $this->get_parent()->get_subscription_id( $context ) : $this->get_prop( 'subscription_id', $context );
1793
+    }
1794
+
1795
+    /**
1796
+     * Retrieves the remote subscription id for an invoice.
1797
+     *
1798
+     * @since 1.0.19
1799
+     * @param  string $context View or edit context.
1800
+     * @return int
1801
+     */
1802 1802
     public function get_remote_subscription_id( $context = 'view' ) {
1803 1803
         $subscription_id = $this->get_prop( 'remote_subscription_id', $context );
1804 1804
 
@@ -1811,12 +1811,12 @@  discard block
 block discarded – undo
1811 1811
     }
1812 1812
 
1813 1813
     /**
1814
-	 * Retrieves the payment meta for an invoice.
1815
-	 *
1816
-	 * @since 1.0.19
1817
-	 * @param  string $context View or edit context.
1818
-	 * @return array
1819
-	 */
1814
+     * Retrieves the payment meta for an invoice.
1815
+     *
1816
+     * @since 1.0.19
1817
+     * @param  string $context View or edit context.
1818
+     * @return array
1819
+     */
1820 1820
     public function get_payment_meta( $context = 'view' ) {
1821 1821
 
1822 1822
         return array(
@@ -1836,31 +1836,31 @@  discard block
 block discarded – undo
1836 1836
     }
1837 1837
 
1838 1838
     /**
1839
-	 * Retrieves the cart details for an invoice.
1840
-	 *
1841
-	 * @since 1.0.19
1842
-	 * @return array
1843
-	 */
1839
+     * Retrieves the cart details for an invoice.
1840
+     *
1841
+     * @since 1.0.19
1842
+     * @return array
1843
+     */
1844 1844
     public function get_cart_details() {
1845 1845
         $items        = $this->get_items();
1846 1846
         $cart_details = array();
1847 1847
 
1848 1848
         foreach ( $items as $item ) {
1849
-			$item->invoice_id = $this->get_id();
1849
+            $item->invoice_id = $this->get_id();
1850 1850
             $cart_details[]   = $item->prepare_data_for_saving();
1851 1851
         }
1852 1852
 
1853 1853
         return $cart_details;
1854
-	}
1854
+    }
1855 1855
 
1856
-	/**
1857
-	 * Retrieves the recurring item.
1858
-	 *
1859
-	 * @return null|GetPaid_Form_Item|int
1860
-	 */
1861
-	public function get_recurring( $object = false ) {
1856
+    /**
1857
+     * Retrieves the recurring item.
1858
+     *
1859
+     * @return null|GetPaid_Form_Item|int
1860
+     */
1861
+    public function get_recurring( $object = false ) {
1862 1862
 
1863
-		// Are we returning an object?
1863
+        // Are we returning an object?
1864 1864
         if ( $object ) {
1865 1865
             return $this->get_item( $this->recurring_item );
1866 1866
         }
@@ -1868,130 +1868,130 @@  discard block
 block discarded – undo
1868 1868
         return $this->recurring_item;
1869 1869
     }
1870 1870
 
1871
-	/**
1872
-	 * Retrieves the subscription name.
1873
-	 *
1874
-	 * @since 1.0.19
1875
-	 * @return string
1876
-	 */
1877
-	public function get_subscription_name() {
1871
+    /**
1872
+     * Retrieves the subscription name.
1873
+     *
1874
+     * @since 1.0.19
1875
+     * @return string
1876
+     */
1877
+    public function get_subscription_name() {
1878 1878
 
1879
-		// Retrieve the recurring name
1879
+        // Retrieve the recurring name
1880 1880
         $item = $this->get_recurring( true );
1881 1881
 
1882
-		// Abort if it does not exist.
1882
+        // Abort if it does not exist.
1883 1883
         if ( empty( $item ) ) {
1884 1884
             return '';
1885 1885
         }
1886 1886
 
1887
-		// Return the item name.
1887
+        // Return the item name.
1888 1888
         return apply_filters( 'wpinv_invoice_get_subscription_name', $item->get_name(), $this );
1889
-	}
1890
-
1891
-	/**
1892
-	 * Retrieves the view url.
1893
-	 *
1894
-	 * @since 1.0.19
1895
-	 * @return string
1896
-	 */
1897
-	public function get_view_url() {
1889
+    }
1890
+
1891
+    /**
1892
+     * Retrieves the view url.
1893
+     *
1894
+     * @since 1.0.19
1895
+     * @return string
1896
+     */
1897
+    public function get_view_url() {
1898 1898
         $invoice_url = get_permalink( $this->get_id() );
1899
-		$invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1899
+        $invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1900 1900
         return apply_filters( 'wpinv_get_view_url', $invoice_url, $this );
1901
-	}
1901
+    }
1902 1902
 
1903
-	/**
1904
-	 * Retrieves the payment url.
1905
-	 *
1906
-	 * @since 1.0.19
1907
-	 * @return string
1908
-	 */
1909
-	public function get_checkout_payment_url( $deprecated = false, $secret = false ) {
1903
+    /**
1904
+     * Retrieves the payment url.
1905
+     *
1906
+     * @since 1.0.19
1907
+     * @return string
1908
+     */
1909
+    public function get_checkout_payment_url( $deprecated = false, $secret = false ) {
1910 1910
 
1911
-		// Retrieve the checkout url.
1911
+        // Retrieve the checkout url.
1912 1912
         $pay_url = wpinv_get_checkout_uri();
1913 1913
 
1914
-		// Maybe force ssl.
1914
+        // Maybe force ssl.
1915 1915
         if ( is_ssl() ) {
1916 1916
             $pay_url = str_replace( 'http:', 'https:', $pay_url );
1917 1917
         }
1918 1918
 
1919
-		// Add the invoice key.
1920
-		$pay_url = add_query_arg( 'invoice_key', $this->get_key(), $pay_url );
1919
+        // Add the invoice key.
1920
+        $pay_url = add_query_arg( 'invoice_key', $this->get_key(), $pay_url );
1921 1921
 
1922
-		// (Maybe?) add a secret
1922
+        // (Maybe?) add a secret
1923 1923
         if ( $secret ) {
1924 1924
             $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $this->get_key() ) ), $pay_url );
1925 1925
         }
1926 1926
 
1927 1927
         return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $deprecated, $secret );
1928
-	}
1928
+    }
1929 1929
 
1930
-	/**
1931
-	 * Retrieves the receipt url.
1932
-	 *
1933
-	 * @since 1.0.19
1934
-	 * @return string
1935
-	 */
1936
-	public function get_receipt_url() {
1930
+    /**
1931
+     * Retrieves the receipt url.
1932
+     *
1933
+     * @since 1.0.19
1934
+     * @return string
1935
+     */
1936
+    public function get_receipt_url() {
1937 1937
 
1938
-		// Retrieve the checkout url.
1938
+        // Retrieve the checkout url.
1939 1939
         $receipt_url = wpinv_get_success_page_uri();
1940 1940
 
1941
-		// Maybe force ssl.
1941
+        // Maybe force ssl.
1942 1942
         if ( is_ssl() ) {
1943 1943
             $receipt_url = str_replace( 'http:', 'https:', $receipt_url );
1944 1944
         }
1945 1945
 
1946
-		// Add the invoice key.
1947
-		$receipt_url = add_query_arg( 'invoice_key', $this->get_key(), $receipt_url );
1946
+        // Add the invoice key.
1947
+        $receipt_url = add_query_arg( 'invoice_key', $this->get_key(), $receipt_url );
1948 1948
 
1949 1949
         return apply_filters( 'getpaid_get_invoice_receipt_url', $receipt_url, $this );
1950
-	}
1951
-
1952
-	/**
1953
-	 * Retrieves the remote transaction url.
1954
-	 *
1955
-	 * @since 1.6.0
1956
-	 * @return string
1957
-	 */
1958
-	public function get_transaction_url() {
1959
-		return apply_filters( 'getpaid_gateway_' . $this->get_gateway() . '_transaction_url', '', $this );
1960
-	}
1961
-
1962
-	/**
1963
-	 * Retrieves the default status.
1964
-	 *
1965
-	 * @since 1.0.19
1966
-	 * @return string
1967
-	 */
1968
-	public function get_default_status() {
1969
-
1970
-		$type   = $this->get_type();
1971
-		$status = "wpi-$type-pending";
1972
-		return str_replace( '-invoice', '', $status );
1973
-
1974
-	}
1975
-
1976
-    /**
1977
-	 * Magic method for accessing invoice properties.
1978
-	 *
1979
-	 * @since 1.0.15
1980
-	 * @access public
1981
-	 *
1982
-	 * @param string $key Discount data to retrieve
1983
-	 * @param  string $context View or edit context.
1984
-	 * @return mixed Value of the given invoice property (if set).
1985
-	 */
1986
-	public function get( $key, $context = 'view' ) {
1987
-		$method = "get_$key";
1988
-
1989
-		if ( is_callable( array( $this, $method ) ) ) {
1990
-			return $this->$method( $context );
1991
-		}
1950
+    }
1951
+
1952
+    /**
1953
+     * Retrieves the remote transaction url.
1954
+     *
1955
+     * @since 1.6.0
1956
+     * @return string
1957
+     */
1958
+    public function get_transaction_url() {
1959
+        return apply_filters( 'getpaid_gateway_' . $this->get_gateway() . '_transaction_url', '', $this );
1960
+    }
1961
+
1962
+    /**
1963
+     * Retrieves the default status.
1964
+     *
1965
+     * @since 1.0.19
1966
+     * @return string
1967
+     */
1968
+    public function get_default_status() {
1969
+
1970
+        $type   = $this->get_type();
1971
+        $status = "wpi-$type-pending";
1972
+        return str_replace( '-invoice', '', $status );
1973
+
1974
+    }
1975
+
1976
+    /**
1977
+     * Magic method for accessing invoice properties.
1978
+     *
1979
+     * @since 1.0.15
1980
+     * @access public
1981
+     *
1982
+     * @param string $key Discount data to retrieve
1983
+     * @param  string $context View or edit context.
1984
+     * @return mixed Value of the given invoice property (if set).
1985
+     */
1986
+    public function get( $key, $context = 'view' ) {
1987
+        $method = "get_$key";
1988
+
1989
+        if ( is_callable( array( $this, $method ) ) ) {
1990
+            return $this->$method( $context );
1991
+        }
1992 1992
 
1993 1993
         return $this->get_prop( $key, $context );
1994
-	}
1994
+    }
1995 1995
 
1996 1996
     /*
1997 1997
 	|--------------------------------------------------------------------------
@@ -2004,129 +2004,129 @@  discard block
 block discarded – undo
2004 2004
     */
2005 2005
 
2006 2006
     /**
2007
-	 * Magic method for setting invoice properties.
2008
-	 *
2009
-	 * @since 1.0.19
2010
-	 * @access public
2011
-	 *
2012
-	 * @param string $key Discount data to retrieve
2013
-	 * @param  mixed $value new value.
2014
-	 * @return mixed Value of the given invoice property (if set).
2015
-	 */
2016
-	public function set( $key, $value ) {
2007
+     * Magic method for setting invoice properties.
2008
+     *
2009
+     * @since 1.0.19
2010
+     * @access public
2011
+     *
2012
+     * @param string $key Discount data to retrieve
2013
+     * @param  mixed $value new value.
2014
+     * @return mixed Value of the given invoice property (if set).
2015
+     */
2016
+    public function set( $key, $value ) {
2017 2017
 
2018 2018
         $setter = "set_$key";
2019 2019
         if ( is_callable( array( $this, $setter ) ) ) {
2020 2020
             $this->{$setter}( $value );
2021 2021
         }
2022 2022
 
2023
-	}
2024
-
2025
-	/**
2026
-	 * Sets item status.
2027
-	 *
2028
-	 * @since 1.0.19
2029
-	 * @param string $new_status    New status.
2030
-	 * @param string $note          Optional note to add.
2031
-	 * @param bool   $manual_update Is this a manual status change?.
2032
-	 * @return array details of change.
2033
-	 */
2034
-	public function set_status( $new_status, $note = '', $manual_update = false ) {
2035
-		$old_status = $this->get_status();
2036
-
2037
-		$statuses = $this->get_all_statuses();
2038
-
2039
-		if ( isset( $statuses['draft'] ) ) {
2040
-			unset( $statuses['draft'] );
2041
-		}
2042
-
2043
-		$this->set_prop( 'status', $new_status );
2044
-
2045
-		// If setting the status, ensure it's set to a valid status.
2046
-		if ( true === $this->object_read ) {
2047
-
2048
-			// Only allow valid new status.
2049
-			if ( ! array_key_exists( $new_status, $statuses ) ) {
2050
-				$new_status = $this->get_default_status();
2051
-			}
2052
-
2053
-			// If the old status is set but unknown (e.g. draft) assume its pending for action usage.
2054
-			if ( $old_status && ! array_key_exists( $new_status, $statuses ) ) {
2055
-				$old_status = $this->get_default_status();
2056
-			}
2057
-
2058
-			// Paid - Renewal (i.e when duplicating a parent invoice )
2059
-			if ( $new_status == 'wpi-pending' && $old_status == 'publish' && ! $this->get_id() ) {
2060
-				$old_status = 'wpi-pending';
2061
-			}
2062
-
2063
-			if ( $old_status !== $new_status ) {
2064
-				$this->status_transition = array(
2065
-					'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
2066
-					'to'     => $new_status,
2067
-					'note'   => $note,
2068
-					'manual' => (bool) $manual_update,
2069
-				);
2070
-
2071
-				if ( $manual_update ) {
2072
-					do_action( 'getpaid_' . $this->object_type . '_edit_status', $this->get_id(), $new_status );
2073
-				}
2074
-
2075
-				$this->maybe_set_date_paid();
2076
-
2077
-			}
2078
-		}
2079
-
2080
-		return array(
2081
-			'from' => $old_status,
2082
-			'to'   => $new_status,
2083
-		);
2084
-	}
2085
-
2086
-	/**
2087
-	 * Maybe set date paid.
2088
-	 *
2089
-	 * Sets the date paid variable when transitioning to the payment complete
2090
-	 * order status.
2091
-	 *
2092
-	 * @since 1.0.19
2093
-	 */
2094
-	public function maybe_set_date_paid() {
2095
-
2096
-		if ( ! $this->get_date_completed( 'edit' ) && $this->is_paid() ) {
2097
-			$this->set_date_completed( current_time( 'mysql' ) );
2098
-		}
2099
-	}
2100
-
2101
-    /**
2102
-	 * Set parent invoice ID.
2103
-	 *
2104
-	 * @since 1.0.19
2105
-	 */
2106
-	public function set_parent_id( $value ) {
2107
-		if ( $value && ( $value === $this->get_id() ) ) {
2108
-			return;
2109
-		}
2110
-		$this->set_prop( 'parent_id', absint( $value ) );
2111
-    }
2112
-
2113
-    /**
2114
-	 * Set plugin version when the invoice was created.
2115
-	 *
2116
-	 * @since 1.0.19
2117
-	 */
2118
-	public function set_version( $value ) {
2119
-		$this->set_prop( 'version', $value );
2120
-    }
2121
-
2122
-    /**
2123
-	 * Set date when the invoice was created.
2124
-	 *
2125
-	 * @since 1.0.19
2126
-	 * @param string $value Value to set.
2023
+    }
2024
+
2025
+    /**
2026
+     * Sets item status.
2027
+     *
2028
+     * @since 1.0.19
2029
+     * @param string $new_status    New status.
2030
+     * @param string $note          Optional note to add.
2031
+     * @param bool   $manual_update Is this a manual status change?.
2032
+     * @return array details of change.
2033
+     */
2034
+    public function set_status( $new_status, $note = '', $manual_update = false ) {
2035
+        $old_status = $this->get_status();
2036
+
2037
+        $statuses = $this->get_all_statuses();
2038
+
2039
+        if ( isset( $statuses['draft'] ) ) {
2040
+            unset( $statuses['draft'] );
2041
+        }
2042
+
2043
+        $this->set_prop( 'status', $new_status );
2044
+
2045
+        // If setting the status, ensure it's set to a valid status.
2046
+        if ( true === $this->object_read ) {
2047
+
2048
+            // Only allow valid new status.
2049
+            if ( ! array_key_exists( $new_status, $statuses ) ) {
2050
+                $new_status = $this->get_default_status();
2051
+            }
2052
+
2053
+            // If the old status is set but unknown (e.g. draft) assume its pending for action usage.
2054
+            if ( $old_status && ! array_key_exists( $new_status, $statuses ) ) {
2055
+                $old_status = $this->get_default_status();
2056
+            }
2057
+
2058
+            // Paid - Renewal (i.e when duplicating a parent invoice )
2059
+            if ( $new_status == 'wpi-pending' && $old_status == 'publish' && ! $this->get_id() ) {
2060
+                $old_status = 'wpi-pending';
2061
+            }
2062
+
2063
+            if ( $old_status !== $new_status ) {
2064
+                $this->status_transition = array(
2065
+                    'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
2066
+                    'to'     => $new_status,
2067
+                    'note'   => $note,
2068
+                    'manual' => (bool) $manual_update,
2069
+                );
2070
+
2071
+                if ( $manual_update ) {
2072
+                    do_action( 'getpaid_' . $this->object_type . '_edit_status', $this->get_id(), $new_status );
2073
+                }
2074
+
2075
+                $this->maybe_set_date_paid();
2076
+
2077
+            }
2078
+        }
2079
+
2080
+        return array(
2081
+            'from' => $old_status,
2082
+            'to'   => $new_status,
2083
+        );
2084
+    }
2085
+
2086
+    /**
2087
+     * Maybe set date paid.
2088
+     *
2089
+     * Sets the date paid variable when transitioning to the payment complete
2090
+     * order status.
2091
+     *
2092
+     * @since 1.0.19
2093
+     */
2094
+    public function maybe_set_date_paid() {
2095
+
2096
+        if ( ! $this->get_date_completed( 'edit' ) && $this->is_paid() ) {
2097
+            $this->set_date_completed( current_time( 'mysql' ) );
2098
+        }
2099
+    }
2100
+
2101
+    /**
2102
+     * Set parent invoice ID.
2103
+     *
2104
+     * @since 1.0.19
2105
+     */
2106
+    public function set_parent_id( $value ) {
2107
+        if ( $value && ( $value === $this->get_id() ) ) {
2108
+            return;
2109
+        }
2110
+        $this->set_prop( 'parent_id', absint( $value ) );
2111
+    }
2112
+
2113
+    /**
2114
+     * Set plugin version when the invoice was created.
2115
+     *
2116
+     * @since 1.0.19
2117
+     */
2118
+    public function set_version( $value ) {
2119
+        $this->set_prop( 'version', $value );
2120
+    }
2121
+
2122
+    /**
2123
+     * Set date when the invoice was created.
2124
+     *
2125
+     * @since 1.0.19
2126
+     * @param string $value Value to set.
2127 2127
      * @return bool Whether or not the date was set.
2128
-	 */
2129
-	public function set_date_created( $value ) {
2128
+     */
2129
+    public function set_date_created( $value ) {
2130 2130
         $date = strtotime( $value );
2131 2131
 
2132 2132
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2134,19 +2134,19 @@  discard block
 block discarded – undo
2134 2134
             return true;
2135 2135
         }
2136 2136
 
2137
-		$this->set_prop( 'date_created', '' );
2138
-		return false;
2137
+        $this->set_prop( 'date_created', '' );
2138
+        return false;
2139 2139
 
2140 2140
     }
2141 2141
 
2142 2142
     /**
2143
-	 * Set date invoice due date.
2144
-	 *
2145
-	 * @since 1.0.19
2146
-	 * @param string $value Value to set.
2143
+     * Set date invoice due date.
2144
+     *
2145
+     * @since 1.0.19
2146
+     * @param string $value Value to set.
2147 2147
      * @return bool Whether or not the date was set.
2148
-	 */
2149
-	public function set_due_date( $value ) {
2148
+     */
2149
+    public function set_due_date( $value ) {
2150 2150
         $date = strtotime( $value );
2151 2151
 
2152 2152
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2154,29 +2154,29 @@  discard block
 block discarded – undo
2154 2154
             return true;
2155 2155
         }
2156 2156
 
2157
-		$this->set_prop( 'due_date', '' );
2157
+        $this->set_prop( 'due_date', '' );
2158 2158
         return false;
2159 2159
 
2160 2160
     }
2161 2161
 
2162 2162
     /**
2163
-	 * Alias of self::set_due_date().
2164
-	 *
2165
-	 * @since 1.0.19
2166
-	 * @param  string $value New name.
2167
-	 */
2168
-	public function set_date_due( $value ) {
2169
-		$this->set_due_date( $value );
2163
+     * Alias of self::set_due_date().
2164
+     *
2165
+     * @since 1.0.19
2166
+     * @param  string $value New name.
2167
+     */
2168
+    public function set_date_due( $value ) {
2169
+        $this->set_due_date( $value );
2170 2170
     }
2171 2171
 
2172 2172
     /**
2173
-	 * Set date invoice was completed.
2174
-	 *
2175
-	 * @since 1.0.19
2176
-	 * @param string $value Value to set.
2173
+     * Set date invoice was completed.
2174
+     *
2175
+     * @since 1.0.19
2176
+     * @param string $value Value to set.
2177 2177
      * @return bool Whether or not the date was set.
2178
-	 */
2179
-	public function set_completed_date( $value ) {
2178
+     */
2179
+    public function set_completed_date( $value ) {
2180 2180
         $date = strtotime( $value );
2181 2181
 
2182 2182
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2184,29 +2184,29 @@  discard block
 block discarded – undo
2184 2184
             return true;
2185 2185
         }
2186 2186
 
2187
-		$this->set_prop( 'completed_date', '' );
2187
+        $this->set_prop( 'completed_date', '' );
2188 2188
         return false;
2189 2189
 
2190 2190
     }
2191 2191
 
2192 2192
     /**
2193
-	 * Alias of self::set_completed_date().
2194
-	 *
2195
-	 * @since 1.0.19
2196
-	 * @param  string $value New name.
2197
-	 */
2198
-	public function set_date_completed( $value ) {
2199
-		$this->set_completed_date( $value );
2193
+     * Alias of self::set_completed_date().
2194
+     *
2195
+     * @since 1.0.19
2196
+     * @param  string $value New name.
2197
+     */
2198
+    public function set_date_completed( $value ) {
2199
+        $this->set_completed_date( $value );
2200 2200
     }
2201 2201
 
2202 2202
     /**
2203
-	 * Set date when the invoice was last modified.
2204
-	 *
2205
-	 * @since 1.0.19
2206
-	 * @param string $value Value to set.
2203
+     * Set date when the invoice was last modified.
2204
+     *
2205
+     * @since 1.0.19
2206
+     * @param string $value Value to set.
2207 2207
      * @return bool Whether or not the date was set.
2208
-	 */
2209
-	public function set_date_modified( $value ) {
2208
+     */
2209
+    public function set_date_modified( $value ) {
2210 2210
         $date = strtotime( $value );
2211 2211
 
2212 2212
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2214,813 +2214,813 @@  discard block
 block discarded – undo
2214 2214
             return true;
2215 2215
         }
2216 2216
 
2217
-		$this->set_prop( 'date_modified', '' );
2217
+        $this->set_prop( 'date_modified', '' );
2218 2218
         return false;
2219 2219
 
2220 2220
     }
2221 2221
 
2222 2222
     /**
2223
-	 * Set the invoice number.
2224
-	 *
2225
-	 * @since 1.0.19
2226
-	 * @param  string $value New number.
2227
-	 */
2228
-	public function set_number( $value ) {
2223
+     * Set the invoice number.
2224
+     *
2225
+     * @since 1.0.19
2226
+     * @param  string $value New number.
2227
+     */
2228
+    public function set_number( $value ) {
2229 2229
         $number = sanitize_text_field( $value );
2230
-		$this->set_prop( 'number', $number );
2230
+        $this->set_prop( 'number', $number );
2231 2231
     }
2232 2232
 
2233 2233
     /**
2234
-	 * Set the invoice type.
2235
-	 *
2236
-	 * @since 1.0.19
2237
-	 * @param  string $value Type.
2238
-	 */
2239
-	public function set_type( $value ) {
2234
+     * Set the invoice type.
2235
+     *
2236
+     * @since 1.0.19
2237
+     * @param  string $value Type.
2238
+     */
2239
+    public function set_type( $value ) {
2240 2240
         $type = sanitize_text_field( str_replace( 'wpi_', '', $value ) );
2241
-		$this->set_prop( 'type', $type );
2242
-	}
2241
+        $this->set_prop( 'type', $type );
2242
+    }
2243 2243
 
2244 2244
     /**
2245
-	 * Set the invoice post type.
2246
-	 *
2247
-	 * @since 1.0.19
2248
-	 * @param  string $value Post type.
2249
-	 */
2250
-	public function set_post_type( $value ) {
2245
+     * Set the invoice post type.
2246
+     *
2247
+     * @since 1.0.19
2248
+     * @param  string $value Post type.
2249
+     */
2250
+    public function set_post_type( $value ) {
2251 2251
         if ( getpaid_is_invoice_post_type( $value ) ) {
2252
-			$this->set_type( $value );
2252
+            $this->set_type( $value );
2253 2253
             $this->set_prop( 'post_type', $value );
2254 2254
         }
2255 2255
     }
2256 2256
 
2257 2257
     /**
2258
-	 * Set the invoice key.
2259
-	 *
2260
-	 * @since 1.0.19
2261
-	 * @param  string $value New key.
2262
-	 */
2263
-	public function set_key( $value ) {
2258
+     * Set the invoice key.
2259
+     *
2260
+     * @since 1.0.19
2261
+     * @param  string $value New key.
2262
+     */
2263
+    public function set_key( $value ) {
2264 2264
         $key = sanitize_text_field( $value );
2265
-		$this->set_prop( 'key', $key );
2265
+        $this->set_prop( 'key', $key );
2266 2266
     }
2267 2267
 
2268 2268
     /**
2269
-	 * Set the invoice mode.
2270
-	 *
2271
-	 * @since 1.0.19
2272
-	 * @param  string $value mode.
2273
-	 */
2274
-	public function set_mode( $value ) {
2269
+     * Set the invoice mode.
2270
+     *
2271
+     * @since 1.0.19
2272
+     * @param  string $value mode.
2273
+     */
2274
+    public function set_mode( $value ) {
2275 2275
         if ( in_array( $value, array( 'live', 'test' ) ) ) {
2276 2276
             $this->set_prop( 'mode', $value );
2277 2277
         }
2278 2278
     }
2279 2279
 
2280 2280
     /**
2281
-	 * Set the invoice path.
2282
-	 *
2283
-	 * @since 1.0.19
2284
-	 * @param  string $value path.
2285
-	 */
2286
-	public function set_path( $value ) {
2281
+     * Set the invoice path.
2282
+     *
2283
+     * @since 1.0.19
2284
+     * @param  string $value path.
2285
+     */
2286
+    public function set_path( $value ) {
2287 2287
         $this->set_prop( 'path', $value );
2288 2288
     }
2289 2289
 
2290 2290
     /**
2291
-	 * Set the invoice name.
2292
-	 *
2293
-	 * @since 1.0.19
2294
-	 * @param  string $value New name.
2295
-	 */
2296
-	public function set_name( $value ) {
2291
+     * Set the invoice name.
2292
+     *
2293
+     * @since 1.0.19
2294
+     * @param  string $value New name.
2295
+     */
2296
+    public function set_name( $value ) {
2297 2297
         $name = sanitize_text_field( $value );
2298
-		$this->set_prop( 'name', $name );
2298
+        $this->set_prop( 'name', $name );
2299 2299
     }
2300 2300
 
2301 2301
     /**
2302
-	 * Alias of self::set_name().
2303
-	 *
2304
-	 * @since 1.0.19
2305
-	 * @param  string $value New name.
2306
-	 */
2307
-	public function set_title( $value ) {
2308
-		$this->set_name( $value );
2302
+     * Alias of self::set_name().
2303
+     *
2304
+     * @since 1.0.19
2305
+     * @param  string $value New name.
2306
+     */
2307
+    public function set_title( $value ) {
2308
+        $this->set_name( $value );
2309 2309
     }
2310 2310
 
2311 2311
     /**
2312
-	 * Set the invoice description.
2313
-	 *
2314
-	 * @since 1.0.19
2315
-	 * @param  string $value New description.
2316
-	 */
2317
-	public function set_description( $value ) {
2312
+     * Set the invoice description.
2313
+     *
2314
+     * @since 1.0.19
2315
+     * @param  string $value New description.
2316
+     */
2317
+    public function set_description( $value ) {
2318 2318
         $description = wp_kses_post( $value );
2319
-		$this->set_prop( 'description', $description );
2319
+        $this->set_prop( 'description', $description );
2320
+    }
2321
+
2322
+    /**
2323
+     * Alias of self::set_description().
2324
+     *
2325
+     * @since 1.0.19
2326
+     * @param  string $value New description.
2327
+     */
2328
+    public function set_excerpt( $value ) {
2329
+        $this->set_description( $value );
2330
+    }
2331
+
2332
+    /**
2333
+     * Alias of self::set_description().
2334
+     *
2335
+     * @since 1.0.19
2336
+     * @param  string $value New description.
2337
+     */
2338
+    public function set_summary( $value ) {
2339
+        $this->set_description( $value );
2340
+    }
2341
+
2342
+    /**
2343
+     * Set the receiver of the invoice.
2344
+     *
2345
+     * @since 1.0.19
2346
+     * @param  int $value New author.
2347
+     */
2348
+    public function set_author( $value ) {
2349
+        $user = get_user_by( 'id', (int) $value );
2350
+
2351
+        if ( $user && $user->ID ) {
2352
+            $this->set_prop( 'author', $user->ID );
2353
+            $this->set_prop( 'email', $user->user_email );
2354
+        }
2355
+
2356
+    }
2357
+
2358
+    /**
2359
+     * Alias of self::set_author().
2360
+     *
2361
+     * @since 1.0.19
2362
+     * @param  int $value New user id.
2363
+     */
2364
+    public function set_user_id( $value ) {
2365
+        $this->set_author( $value );
2366
+    }
2367
+
2368
+    /**
2369
+     * Alias of self::set_author().
2370
+     *
2371
+     * @since 1.0.19
2372
+     * @param  int $value New user id.
2373
+     */
2374
+    public function set_customer_id( $value ) {
2375
+        $this->set_author( $value );
2376
+    }
2377
+
2378
+    /**
2379
+     * Set the customer's ip.
2380
+     *
2381
+     * @since 1.0.19
2382
+     * @param  string $value ip address.
2383
+     */
2384
+    public function set_ip( $value ) {
2385
+        $this->set_prop( 'ip', $value );
2386
+    }
2387
+
2388
+    /**
2389
+     * Alias of self::set_ip().
2390
+     *
2391
+     * @since 1.0.19
2392
+     * @param  string $value ip address.
2393
+     */
2394
+    public function set_user_ip( $value ) {
2395
+        $this->set_ip( $value );
2396
+    }
2397
+
2398
+    /**
2399
+     * Set the customer's first name.
2400
+     *
2401
+     * @since 1.0.19
2402
+     * @param  string $value first name.
2403
+     */
2404
+    public function set_first_name( $value ) {
2405
+        $this->set_prop( 'first_name', $value );
2406
+    }
2407
+
2408
+    /**
2409
+     * Alias of self::set_first_name().
2410
+     *
2411
+     * @since 1.0.19
2412
+     * @param  string $value first name.
2413
+     */
2414
+    public function set_user_first_name( $value ) {
2415
+        $this->set_first_name( $value );
2416
+    }
2417
+
2418
+    /**
2419
+     * Alias of self::set_first_name().
2420
+     *
2421
+     * @since 1.0.19
2422
+     * @param  string $value first name.
2423
+     */
2424
+    public function set_customer_first_name( $value ) {
2425
+        $this->set_first_name( $value );
2426
+    }
2427
+
2428
+    /**
2429
+     * Set the customer's last name.
2430
+     *
2431
+     * @since 1.0.19
2432
+     * @param  string $value last name.
2433
+     */
2434
+    public function set_last_name( $value ) {
2435
+        $this->set_prop( 'last_name', $value );
2436
+    }
2437
+
2438
+    /**
2439
+     * Alias of self::set_last_name().
2440
+     *
2441
+     * @since 1.0.19
2442
+     * @param  string $value last name.
2443
+     */
2444
+    public function set_user_last_name( $value ) {
2445
+        $this->set_last_name( $value );
2446
+    }
2447
+
2448
+    /**
2449
+     * Alias of self::set_last_name().
2450
+     *
2451
+     * @since 1.0.19
2452
+     * @param  string $value last name.
2453
+     */
2454
+    public function set_customer_last_name( $value ) {
2455
+        $this->set_last_name( $value );
2456
+    }
2457
+
2458
+    /**
2459
+     * Set the customer's phone number.
2460
+     *
2461
+     * @since 1.0.19
2462
+     * @param  string $value phone.
2463
+     */
2464
+    public function set_phone( $value ) {
2465
+        $this->set_prop( 'phone', $value );
2320 2466
     }
2321 2467
 
2322 2468
     /**
2323
-	 * Alias of self::set_description().
2324
-	 *
2325
-	 * @since 1.0.19
2326
-	 * @param  string $value New description.
2327
-	 */
2328
-	public function set_excerpt( $value ) {
2329
-		$this->set_description( $value );
2469
+     * Alias of self::set_phone().
2470
+     *
2471
+     * @since 1.0.19
2472
+     * @param  string $value phone.
2473
+     */
2474
+    public function set_user_phone( $value ) {
2475
+        $this->set_phone( $value );
2330 2476
     }
2331 2477
 
2332 2478
     /**
2333
-	 * Alias of self::set_description().
2334
-	 *
2335
-	 * @since 1.0.19
2336
-	 * @param  string $value New description.
2337
-	 */
2338
-	public function set_summary( $value ) {
2339
-		$this->set_description( $value );
2479
+     * Alias of self::set_phone().
2480
+     *
2481
+     * @since 1.0.19
2482
+     * @param  string $value phone.
2483
+     */
2484
+    public function set_customer_phone( $value ) {
2485
+        $this->set_phone( $value );
2340 2486
     }
2341 2487
 
2342 2488
     /**
2343
-	 * Set the receiver of the invoice.
2344
-	 *
2345
-	 * @since 1.0.19
2346
-	 * @param  int $value New author.
2347
-	 */
2348
-	public function set_author( $value ) {
2349
-		$user = get_user_by( 'id', (int) $value );
2489
+     * Alias of self::set_phone().
2490
+     *
2491
+     * @since 1.0.19
2492
+     * @param  string $value phone.
2493
+     */
2494
+    public function set_phone_number( $value ) {
2495
+        $this->set_phone( $value );
2496
+    }
2350 2497
 
2351
-		if ( $user && $user->ID ) {
2352
-			$this->set_prop( 'author', $user->ID );
2353
-			$this->set_prop( 'email', $user->user_email );
2354
-		}
2498
+    /**
2499
+     * Set the customer's email address.
2500
+     *
2501
+     * @since 1.0.19
2502
+     * @param  string $value email address.
2503
+     */
2504
+    public function set_email( $value ) {
2505
+        $this->set_prop( 'email', $value );
2506
+    }
2355 2507
 
2508
+    /**
2509
+     * Alias of self::set_email().
2510
+     *
2511
+     * @since 1.0.19
2512
+     * @param  string $value email address.
2513
+     */
2514
+    public function set_user_email( $value ) {
2515
+        $this->set_email( $value );
2356 2516
     }
2357 2517
 
2358 2518
     /**
2359
-	 * Alias of self::set_author().
2360
-	 *
2361
-	 * @since 1.0.19
2362
-	 * @param  int $value New user id.
2363
-	 */
2364
-	public function set_user_id( $value ) {
2365
-		$this->set_author( $value );
2519
+     * Alias of self::set_email().
2520
+     *
2521
+     * @since 1.0.19
2522
+     * @param  string $value email address.
2523
+     */
2524
+    public function set_email_address( $value ) {
2525
+        $this->set_email( $value );
2366 2526
     }
2367 2527
 
2368 2528
     /**
2369
-	 * Alias of self::set_author().
2370
-	 *
2371
-	 * @since 1.0.19
2372
-	 * @param  int $value New user id.
2373
-	 */
2374
-	public function set_customer_id( $value ) {
2375
-		$this->set_author( $value );
2529
+     * Alias of self::set_email().
2530
+     *
2531
+     * @since 1.0.19
2532
+     * @param  string $value email address.
2533
+     */
2534
+    public function set_customer_email( $value ) {
2535
+        $this->set_email( $value );
2376 2536
     }
2377 2537
 
2378 2538
     /**
2379
-	 * Set the customer's ip.
2380
-	 *
2381
-	 * @since 1.0.19
2382
-	 * @param  string $value ip address.
2383
-	 */
2384
-	public function set_ip( $value ) {
2385
-		$this->set_prop( 'ip', $value );
2539
+     * Set the customer's country.
2540
+     *
2541
+     * @since 1.0.19
2542
+     * @param  string $value country.
2543
+     */
2544
+    public function set_country( $value ) {
2545
+        $this->set_prop( 'country', $value );
2386 2546
     }
2387 2547
 
2388 2548
     /**
2389
-	 * Alias of self::set_ip().
2390
-	 *
2391
-	 * @since 1.0.19
2392
-	 * @param  string $value ip address.
2393
-	 */
2394
-	public function set_user_ip( $value ) {
2395
-		$this->set_ip( $value );
2549
+     * Alias of self::set_country().
2550
+     *
2551
+     * @since 1.0.19
2552
+     * @param  string $value country.
2553
+     */
2554
+    public function set_user_country( $value ) {
2555
+        $this->set_country( $value );
2396 2556
     }
2397 2557
 
2398 2558
     /**
2399
-	 * Set the customer's first name.
2400
-	 *
2401
-	 * @since 1.0.19
2402
-	 * @param  string $value first name.
2403
-	 */
2404
-	public function set_first_name( $value ) {
2405
-		$this->set_prop( 'first_name', $value );
2559
+     * Alias of self::set_country().
2560
+     *
2561
+     * @since 1.0.19
2562
+     * @param  string $value country.
2563
+     */
2564
+    public function set_customer_country( $value ) {
2565
+        $this->set_country( $value );
2406 2566
     }
2407 2567
 
2408 2568
     /**
2409
-	 * Alias of self::set_first_name().
2410
-	 *
2411
-	 * @since 1.0.19
2412
-	 * @param  string $value first name.
2413
-	 */
2414
-	public function set_user_first_name( $value ) {
2415
-		$this->set_first_name( $value );
2569
+     * Set the customer's state.
2570
+     *
2571
+     * @since 1.0.19
2572
+     * @param  string $value state.
2573
+     */
2574
+    public function set_state( $value ) {
2575
+        $this->set_prop( 'state', $value );
2416 2576
     }
2417 2577
 
2418 2578
     /**
2419
-	 * Alias of self::set_first_name().
2420
-	 *
2421
-	 * @since 1.0.19
2422
-	 * @param  string $value first name.
2423
-	 */
2424
-	public function set_customer_first_name( $value ) {
2425
-		$this->set_first_name( $value );
2579
+     * Alias of self::set_state().
2580
+     *
2581
+     * @since 1.0.19
2582
+     * @param  string $value state.
2583
+     */
2584
+    public function set_user_state( $value ) {
2585
+        $this->set_state( $value );
2426 2586
     }
2427 2587
 
2428 2588
     /**
2429
-	 * Set the customer's last name.
2430
-	 *
2431
-	 * @since 1.0.19
2432
-	 * @param  string $value last name.
2433
-	 */
2434
-	public function set_last_name( $value ) {
2435
-		$this->set_prop( 'last_name', $value );
2589
+     * Alias of self::set_state().
2590
+     *
2591
+     * @since 1.0.19
2592
+     * @param  string $value state.
2593
+     */
2594
+    public function set_customer_state( $value ) {
2595
+        $this->set_state( $value );
2436 2596
     }
2437 2597
 
2438 2598
     /**
2439
-	 * Alias of self::set_last_name().
2440
-	 *
2441
-	 * @since 1.0.19
2442
-	 * @param  string $value last name.
2443
-	 */
2444
-	public function set_user_last_name( $value ) {
2445
-		$this->set_last_name( $value );
2599
+     * Set the customer's city.
2600
+     *
2601
+     * @since 1.0.19
2602
+     * @param  string $value city.
2603
+     */
2604
+    public function set_city( $value ) {
2605
+        $this->set_prop( 'city', $value );
2446 2606
     }
2447 2607
 
2448 2608
     /**
2449
-	 * Alias of self::set_last_name().
2450
-	 *
2451
-	 * @since 1.0.19
2452
-	 * @param  string $value last name.
2453
-	 */
2454
-	public function set_customer_last_name( $value ) {
2455
-		$this->set_last_name( $value );
2609
+     * Alias of self::set_city().
2610
+     *
2611
+     * @since 1.0.19
2612
+     * @param  string $value city.
2613
+     */
2614
+    public function set_user_city( $value ) {
2615
+        $this->set_city( $value );
2456 2616
     }
2457 2617
 
2458 2618
     /**
2459
-	 * Set the customer's phone number.
2460
-	 *
2461
-	 * @since 1.0.19
2462
-	 * @param  string $value phone.
2463
-	 */
2464
-	public function set_phone( $value ) {
2465
-		$this->set_prop( 'phone', $value );
2619
+     * Alias of self::set_city().
2620
+     *
2621
+     * @since 1.0.19
2622
+     * @param  string $value city.
2623
+     */
2624
+    public function set_customer_city( $value ) {
2625
+        $this->set_city( $value );
2466 2626
     }
2467 2627
 
2468 2628
     /**
2469
-	 * Alias of self::set_phone().
2470
-	 *
2471
-	 * @since 1.0.19
2472
-	 * @param  string $value phone.
2473
-	 */
2474
-	public function set_user_phone( $value ) {
2475
-		$this->set_phone( $value );
2629
+     * Set the customer's zip code.
2630
+     *
2631
+     * @since 1.0.19
2632
+     * @param  string $value zip.
2633
+     */
2634
+    public function set_zip( $value ) {
2635
+        $this->set_prop( 'zip', $value );
2476 2636
     }
2477 2637
 
2478 2638
     /**
2479
-	 * Alias of self::set_phone().
2480
-	 *
2481
-	 * @since 1.0.19
2482
-	 * @param  string $value phone.
2483
-	 */
2484
-	public function set_customer_phone( $value ) {
2485
-		$this->set_phone( $value );
2639
+     * Alias of self::set_zip().
2640
+     *
2641
+     * @since 1.0.19
2642
+     * @param  string $value zip.
2643
+     */
2644
+    public function set_user_zip( $value ) {
2645
+        $this->set_zip( $value );
2486 2646
     }
2487 2647
 
2488 2648
     /**
2489
-	 * Alias of self::set_phone().
2490
-	 *
2491
-	 * @since 1.0.19
2492
-	 * @param  string $value phone.
2493
-	 */
2494
-	public function set_phone_number( $value ) {
2495
-		$this->set_phone( $value );
2649
+     * Alias of self::set_zip().
2650
+     *
2651
+     * @since 1.0.19
2652
+     * @param  string $value zip.
2653
+     */
2654
+    public function set_customer_zip( $value ) {
2655
+        $this->set_zip( $value );
2496 2656
     }
2497 2657
 
2498 2658
     /**
2499
-	 * Set the customer's email address.
2500
-	 *
2501
-	 * @since 1.0.19
2502
-	 * @param  string $value email address.
2503
-	 */
2504
-	public function set_email( $value ) {
2505
-		$this->set_prop( 'email', $value );
2659
+     * Set the customer's company.
2660
+     *
2661
+     * @since 1.0.19
2662
+     * @param  string $value company.
2663
+     */
2664
+    public function set_company( $value ) {
2665
+        $this->set_prop( 'company', $value );
2506 2666
     }
2507 2667
 
2508 2668
     /**
2509
-	 * Alias of self::set_email().
2510
-	 *
2511
-	 * @since 1.0.19
2512
-	 * @param  string $value email address.
2513
-	 */
2514
-	public function set_user_email( $value ) {
2515
-		$this->set_email( $value );
2669
+     * Alias of self::set_company().
2670
+     *
2671
+     * @since 1.0.19
2672
+     * @param  string $value company.
2673
+     */
2674
+    public function set_user_company( $value ) {
2675
+        $this->set_company( $value );
2516 2676
     }
2517 2677
 
2518 2678
     /**
2519
-	 * Alias of self::set_email().
2520
-	 *
2521
-	 * @since 1.0.19
2522
-	 * @param  string $value email address.
2523
-	 */
2524
-	public function set_email_address( $value ) {
2525
-		$this->set_email( $value );
2679
+     * Alias of self::set_company().
2680
+     *
2681
+     * @since 1.0.19
2682
+     * @param  string $value company.
2683
+     */
2684
+    public function set_customer_company( $value ) {
2685
+        $this->set_company( $value );
2526 2686
     }
2527 2687
 
2528 2688
     /**
2529
-	 * Alias of self::set_email().
2530
-	 *
2531
-	 * @since 1.0.19
2532
-	 * @param  string $value email address.
2533
-	 */
2534
-	public function set_customer_email( $value ) {
2535
-		$this->set_email( $value );
2689
+     * Set the customer's company id.
2690
+     *
2691
+     * @since 1.0.19
2692
+     * @param  string $value company id.
2693
+     */
2694
+    public function set_company_id( $value ) {
2695
+        $this->set_prop( 'company_id', $value );
2536 2696
     }
2537 2697
 
2538 2698
     /**
2539
-	 * Set the customer's country.
2540
-	 *
2541
-	 * @since 1.0.19
2542
-	 * @param  string $value country.
2543
-	 */
2544
-	public function set_country( $value ) {
2545
-		$this->set_prop( 'country', $value );
2699
+     * Set the customer's var number.
2700
+     *
2701
+     * @since 1.0.19
2702
+     * @param  string $value var number.
2703
+     */
2704
+    public function set_vat_number( $value ) {
2705
+        $this->set_prop( 'vat_number', $value );
2546 2706
     }
2547 2707
 
2548 2708
     /**
2549
-	 * Alias of self::set_country().
2550
-	 *
2551
-	 * @since 1.0.19
2552
-	 * @param  string $value country.
2553
-	 */
2554
-	public function set_user_country( $value ) {
2555
-		$this->set_country( $value );
2709
+     * Alias of self::set_vat_number().
2710
+     *
2711
+     * @since 1.0.19
2712
+     * @param  string $value var number.
2713
+     */
2714
+    public function set_user_vat_number( $value ) {
2715
+        $this->set_vat_number( $value );
2556 2716
     }
2557 2717
 
2558 2718
     /**
2559
-	 * Alias of self::set_country().
2560
-	 *
2561
-	 * @since 1.0.19
2562
-	 * @param  string $value country.
2563
-	 */
2564
-	public function set_customer_country( $value ) {
2565
-		$this->set_country( $value );
2719
+     * Alias of self::set_vat_number().
2720
+     *
2721
+     * @since 1.0.19
2722
+     * @param  string $value var number.
2723
+     */
2724
+    public function set_customer_vat_number( $value ) {
2725
+        $this->set_vat_number( $value );
2566 2726
     }
2567 2727
 
2568 2728
     /**
2569
-	 * Set the customer's state.
2570
-	 *
2571
-	 * @since 1.0.19
2572
-	 * @param  string $value state.
2573
-	 */
2574
-	public function set_state( $value ) {
2575
-		$this->set_prop( 'state', $value );
2729
+     * Set the customer's vat rate.
2730
+     *
2731
+     * @since 1.0.19
2732
+     * @param  string $value var rate.
2733
+     */
2734
+    public function set_vat_rate( $value ) {
2735
+        $this->set_prop( 'vat_rate', $value );
2576 2736
     }
2577 2737
 
2578 2738
     /**
2579
-	 * Alias of self::set_state().
2580
-	 *
2581
-	 * @since 1.0.19
2582
-	 * @param  string $value state.
2583
-	 */
2584
-	public function set_user_state( $value ) {
2585
-		$this->set_state( $value );
2739
+     * Alias of self::set_vat_rate().
2740
+     *
2741
+     * @since 1.0.19
2742
+     * @param  string $value var number.
2743
+     */
2744
+    public function set_user_vat_rate( $value ) {
2745
+        $this->set_vat_rate( $value );
2586 2746
     }
2587 2747
 
2588 2748
     /**
2589
-	 * Alias of self::set_state().
2590
-	 *
2591
-	 * @since 1.0.19
2592
-	 * @param  string $value state.
2593
-	 */
2594
-	public function set_customer_state( $value ) {
2595
-		$this->set_state( $value );
2749
+     * Alias of self::set_vat_rate().
2750
+     *
2751
+     * @since 1.0.19
2752
+     * @param  string $value var number.
2753
+     */
2754
+    public function set_customer_vat_rate( $value ) {
2755
+        $this->set_vat_rate( $value );
2596 2756
     }
2597 2757
 
2598 2758
     /**
2599
-	 * Set the customer's city.
2600
-	 *
2601
-	 * @since 1.0.19
2602
-	 * @param  string $value city.
2603
-	 */
2604
-	public function set_city( $value ) {
2605
-		$this->set_prop( 'city', $value );
2759
+     * Set the customer's address.
2760
+     *
2761
+     * @since 1.0.19
2762
+     * @param  string $value address.
2763
+     */
2764
+    public function set_address( $value ) {
2765
+        $this->set_prop( 'address', $value );
2606 2766
     }
2607 2767
 
2608 2768
     /**
2609
-	 * Alias of self::set_city().
2610
-	 *
2611
-	 * @since 1.0.19
2612
-	 * @param  string $value city.
2613
-	 */
2614
-	public function set_user_city( $value ) {
2615
-		$this->set_city( $value );
2769
+     * Alias of self::set_address().
2770
+     *
2771
+     * @since 1.0.19
2772
+     * @param  string $value address.
2773
+     */
2774
+    public function set_user_address( $value ) {
2775
+        $this->set_address( $value );
2616 2776
     }
2617 2777
 
2618 2778
     /**
2619
-	 * Alias of self::set_city().
2620
-	 *
2621
-	 * @since 1.0.19
2622
-	 * @param  string $value city.
2623
-	 */
2624
-	public function set_customer_city( $value ) {
2625
-		$this->set_city( $value );
2779
+     * Alias of self::set_address().
2780
+     *
2781
+     * @since 1.0.19
2782
+     * @param  string $value address.
2783
+     */
2784
+    public function set_customer_address( $value ) {
2785
+        $this->set_address( $value );
2626 2786
     }
2627 2787
 
2628 2788
     /**
2629
-	 * Set the customer's zip code.
2630
-	 *
2631
-	 * @since 1.0.19
2632
-	 * @param  string $value zip.
2633
-	 */
2634
-	public function set_zip( $value ) {
2635
-		$this->set_prop( 'zip', $value );
2789
+     * Set whether the customer has viewed the invoice or not.
2790
+     *
2791
+     * @since 1.0.19
2792
+     * @param  int|bool $value confirmed.
2793
+     */
2794
+    public function set_is_viewed( $value ) {
2795
+        $this->set_prop( 'is_viewed', $value );
2636 2796
     }
2637 2797
 
2638 2798
     /**
2639
-	 * Alias of self::set_zip().
2640
-	 *
2641
-	 * @since 1.0.19
2642
-	 * @param  string $value zip.
2643
-	 */
2644
-	public function set_user_zip( $value ) {
2645
-		$this->set_zip( $value );
2799
+     * Set extra email recipients.
2800
+     *
2801
+     * @since 1.0.19
2802
+     * @param  string $value email recipients.
2803
+     */
2804
+    public function set_email_cc( $value ) {
2805
+        $this->set_prop( 'email_cc', $value );
2646 2806
     }
2647 2807
 
2648 2808
     /**
2649
-	 * Alias of self::set_zip().
2650
-	 *
2651
-	 * @since 1.0.19
2652
-	 * @param  string $value zip.
2653
-	 */
2654
-	public function set_customer_zip( $value ) {
2655
-		$this->set_zip( $value );
2809
+     * Set the invoice template.
2810
+     *
2811
+     * @since 1.0.19
2812
+     * @param  string $value template.
2813
+     */
2814
+    public function set_template( $value ) {
2815
+        if ( in_array( $value, array( 'quantity', 'hours', 'amount' ) ) ) {
2816
+            $this->set_prop( 'template', $value );
2817
+        }
2656 2818
     }
2657 2819
 
2658 2820
     /**
2659
-	 * Set the customer's company.
2660
-	 *
2661
-	 * @since 1.0.19
2662
-	 * @param  string $value company.
2663
-	 */
2664
-	public function set_company( $value ) {
2665
-		$this->set_prop( 'company', $value );
2821
+     * Set the invoice source.
2822
+     *
2823
+     * @since 1.0.19
2824
+     * @param  string $value source.
2825
+     * @deprecated
2826
+     */
2827
+    public function created_via( $value ) {
2828
+        $this->set_created_via( sanitize_text_field( $value ) );
2666 2829
     }
2667 2830
 
2668 2831
     /**
2669
-	 * Alias of self::set_company().
2670
-	 *
2671
-	 * @since 1.0.19
2672
-	 * @param  string $value company.
2673
-	 */
2674
-	public function set_user_company( $value ) {
2675
-		$this->set_company( $value );
2832
+     * Set the invoice source.
2833
+     *
2834
+     * @since 1.0.19
2835
+     * @param  string $value source.
2836
+     */
2837
+    public function set_created_via( $value ) {
2838
+        $this->set_prop( 'created_via', sanitize_text_field( $value ) );
2676 2839
     }
2677 2840
 
2678 2841
     /**
2679
-	 * Alias of self::set_company().
2680
-	 *
2681
-	 * @since 1.0.19
2682
-	 * @param  string $value company.
2683
-	 */
2684
-	public function set_customer_company( $value ) {
2685
-		$this->set_company( $value );
2686
-    }
2687
-
2688
-	/**
2689
-	 * Set the customer's company id.
2690
-	 *
2691
-	 * @since 1.0.19
2692
-	 * @param  string $value company id.
2693
-	 */
2694
-	public function set_company_id( $value ) {
2695
-		$this->set_prop( 'company_id', $value );
2842
+     * Set the customer's address confirmed status.
2843
+     *
2844
+     * @since 1.0.19
2845
+     * @param  int|bool $value confirmed.
2846
+     */
2847
+    public function set_address_confirmed( $value ) {
2848
+        $this->set_prop( 'address_confirmed', $value );
2696 2849
     }
2697 2850
 
2698 2851
     /**
2699
-	 * Set the customer's var number.
2700
-	 *
2701
-	 * @since 1.0.19
2702
-	 * @param  string $value var number.
2703
-	 */
2704
-	public function set_vat_number( $value ) {
2705
-		$this->set_prop( 'vat_number', $value );
2852
+     * Alias of self::set_address_confirmed().
2853
+     *
2854
+     * @since 1.0.19
2855
+     * @param  int|bool $value confirmed.
2856
+     */
2857
+    public function set_user_address_confirmed( $value ) {
2858
+        $this->set_address_confirmed( $value );
2706 2859
     }
2707 2860
 
2708 2861
     /**
2709
-	 * Alias of self::set_vat_number().
2710
-	 *
2711
-	 * @since 1.0.19
2712
-	 * @param  string $value var number.
2713
-	 */
2714
-	public function set_user_vat_number( $value ) {
2715
-		$this->set_vat_number( $value );
2862
+     * Alias of self::set_address_confirmed().
2863
+     *
2864
+     * @since 1.0.19
2865
+     * @param  int|bool $value confirmed.
2866
+     */
2867
+    public function set_customer_address_confirmed( $value ) {
2868
+        $this->set_address_confirmed( $value );
2716 2869
     }
2717 2870
 
2718 2871
     /**
2719
-	 * Alias of self::set_vat_number().
2720
-	 *
2721
-	 * @since 1.0.19
2722
-	 * @param  string $value var number.
2723
-	 */
2724
-	public function set_customer_vat_number( $value ) {
2725
-		$this->set_vat_number( $value );
2872
+     * Set the shipping fee
2873
+     *
2874
+     * @since 1.0.19
2875
+     * @param  float $value shipping amount.
2876
+     */
2877
+    public function set_shipping( $value ) {
2878
+
2879
+        if ( ! is_numeric( $value ) ) {
2880
+            return $this->set_prop( 'shipping', null );
2881
+        }
2882
+
2883
+        $this->set_prop( 'shipping', max( 0, floatval( $value ) ) );
2726 2884
     }
2727 2885
 
2728 2886
     /**
2729
-	 * Set the customer's vat rate.
2730
-	 *
2731
-	 * @since 1.0.19
2732
-	 * @param  string $value var rate.
2733
-	 */
2734
-	public function set_vat_rate( $value ) {
2735
-		$this->set_prop( 'vat_rate', $value );
2887
+     * Set the invoice sub total.
2888
+     *
2889
+     * @since 1.0.19
2890
+     * @param  float $value sub total.
2891
+     */
2892
+    public function set_subtotal( $value ) {
2893
+        $this->set_prop( 'subtotal', max( 0, $value ) );
2736 2894
     }
2737 2895
 
2738
-    /**
2739
-	 * Alias of self::set_vat_rate().
2740
-	 *
2741
-	 * @since 1.0.19
2742
-	 * @param  string $value var number.
2743
-	 */
2744
-	public function set_user_vat_rate( $value ) {
2745
-		$this->set_vat_rate( $value );
2746
-    }
2747
-
2748
-    /**
2749
-	 * Alias of self::set_vat_rate().
2750
-	 *
2751
-	 * @since 1.0.19
2752
-	 * @param  string $value var number.
2753
-	 */
2754
-	public function set_customer_vat_rate( $value ) {
2755
-		$this->set_vat_rate( $value );
2756
-    }
2757
-
2758
-    /**
2759
-	 * Set the customer's address.
2760
-	 *
2761
-	 * @since 1.0.19
2762
-	 * @param  string $value address.
2763
-	 */
2764
-	public function set_address( $value ) {
2765
-		$this->set_prop( 'address', $value );
2766
-    }
2767
-
2768
-    /**
2769
-	 * Alias of self::set_address().
2770
-	 *
2771
-	 * @since 1.0.19
2772
-	 * @param  string $value address.
2773
-	 */
2774
-	public function set_user_address( $value ) {
2775
-		$this->set_address( $value );
2776
-    }
2777
-
2778
-    /**
2779
-	 * Alias of self::set_address().
2780
-	 *
2781
-	 * @since 1.0.19
2782
-	 * @param  string $value address.
2783
-	 */
2784
-	public function set_customer_address( $value ) {
2785
-		$this->set_address( $value );
2786
-    }
2787
-
2788
-    /**
2789
-	 * Set whether the customer has viewed the invoice or not.
2790
-	 *
2791
-	 * @since 1.0.19
2792
-	 * @param  int|bool $value confirmed.
2793
-	 */
2794
-	public function set_is_viewed( $value ) {
2795
-		$this->set_prop( 'is_viewed', $value );
2796
-	}
2797
-
2798
-	/**
2799
-	 * Set extra email recipients.
2800
-	 *
2801
-	 * @since 1.0.19
2802
-	 * @param  string $value email recipients.
2803
-	 */
2804
-	public function set_email_cc( $value ) {
2805
-		$this->set_prop( 'email_cc', $value );
2806
-	}
2807
-
2808
-	/**
2809
-	 * Set the invoice template.
2810
-	 *
2811
-	 * @since 1.0.19
2812
-	 * @param  string $value template.
2813
-	 */
2814
-	public function set_template( $value ) {
2815
-		if ( in_array( $value, array( 'quantity', 'hours', 'amount' ) ) ) {
2816
-			$this->set_prop( 'template', $value );
2817
-		}
2818
-	}
2819
-
2820
-	/**
2821
-	 * Set the invoice source.
2822
-	 *
2823
-	 * @since 1.0.19
2824
-	 * @param  string $value source.
2825
-	 * @deprecated
2826
-	 */
2827
-	public function created_via( $value ) {
2828
-		$this->set_created_via( sanitize_text_field( $value ) );
2829
-	}
2830
-
2831
-	/**
2832
-	 * Set the invoice source.
2833
-	 *
2834
-	 * @since 1.0.19
2835
-	 * @param  string $value source.
2836
-	 */
2837
-	public function set_created_via( $value ) {
2838
-		$this->set_prop( 'created_via', sanitize_text_field( $value ) );
2839
-	}
2840
-
2841
-	/**
2842
-	 * Set the customer's address confirmed status.
2843
-	 *
2844
-	 * @since 1.0.19
2845
-	 * @param  int|bool $value confirmed.
2846
-	 */
2847
-	public function set_address_confirmed( $value ) {
2848
-		$this->set_prop( 'address_confirmed', $value );
2849
-    }
2850
-
2851
-    /**
2852
-	 * Alias of self::set_address_confirmed().
2853
-	 *
2854
-	 * @since 1.0.19
2855
-	 * @param  int|bool $value confirmed.
2856
-	 */
2857
-	public function set_user_address_confirmed( $value ) {
2858
-		$this->set_address_confirmed( $value );
2859
-    }
2860
-
2861
-    /**
2862
-	 * Alias of self::set_address_confirmed().
2863
-	 *
2864
-	 * @since 1.0.19
2865
-	 * @param  int|bool $value confirmed.
2866
-	 */
2867
-	public function set_customer_address_confirmed( $value ) {
2868
-		$this->set_address_confirmed( $value );
2869
-    }
2870
-
2871
-    /**
2872
-	 * Set the shipping fee
2873
-	 *
2874
-	 * @since 1.0.19
2875
-	 * @param  float $value shipping amount.
2876
-	 */
2877
-	public function set_shipping( $value ) {
2878
-
2879
-		if ( ! is_numeric( $value ) ) {
2880
-			return $this->set_prop( 'shipping', null );
2881
-		}
2882
-
2883
-		$this->set_prop( 'shipping', max( 0, floatval( $value ) ) );
2884
-	}
2885
-
2886
-	/**
2887
-	 * Set the invoice sub total.
2888
-	 *
2889
-	 * @since 1.0.19
2890
-	 * @param  float $value sub total.
2891
-	 */
2892
-	public function set_subtotal( $value ) {
2893
-		$this->set_prop( 'subtotal', max( 0, $value ) );
2894
-	}
2895
-
2896
-	/**
2897
-	 * Set the invoice total.
2898
-	 *
2899
-	 * @since 1.0.19
2900
-	 * @param  float $value sub total.
2901
-	 */
2902
-	public function set_total( $value ) {
2903
-		$this->set_prop( 'total', max( 0, $value ) );
2896
+    /**
2897
+     * Set the invoice total.
2898
+     *
2899
+     * @since 1.0.19
2900
+     * @param  float $value sub total.
2901
+     */
2902
+    public function set_total( $value ) {
2903
+        $this->set_prop( 'total', max( 0, $value ) );
2904 2904
     }
2905 2905
 
2906 2906
     /**
2907
-	 * Set the invoice discount amount.
2908
-	 *
2909
-	 * @since 1.0.19
2910
-	 * @param  float $value discount total.
2911
-	 */
2912
-	public function set_total_discount( $value ) {
2913
-		$this->set_prop( 'total_discount', max( 0, $value ) );
2907
+     * Set the invoice discount amount.
2908
+     *
2909
+     * @since 1.0.19
2910
+     * @param  float $value discount total.
2911
+     */
2912
+    public function set_total_discount( $value ) {
2913
+        $this->set_prop( 'total_discount', max( 0, $value ) );
2914 2914
     }
2915 2915
 
2916 2916
     /**
2917
-	 * Alias of self::set_total_discount().
2918
-	 *
2919
-	 * @since 1.0.19
2920
-	 * @param  float $value discount total.
2921
-	 */
2922
-	public function set_discount( $value ) {
2923
-		$this->set_total_discount( $value );
2917
+     * Alias of self::set_total_discount().
2918
+     *
2919
+     * @since 1.0.19
2920
+     * @param  float $value discount total.
2921
+     */
2922
+    public function set_discount( $value ) {
2923
+        $this->set_total_discount( $value );
2924 2924
     }
2925 2925
 
2926 2926
     /**
2927
-	 * Set the invoice tax amount.
2928
-	 *
2929
-	 * @since 1.0.19
2930
-	 * @param  float $value tax total.
2931
-	 */
2932
-	public function set_total_tax( $value ) {
2933
-		$this->set_prop( 'total_tax', max( 0, $value ) );
2927
+     * Set the invoice tax amount.
2928
+     *
2929
+     * @since 1.0.19
2930
+     * @param  float $value tax total.
2931
+     */
2932
+    public function set_total_tax( $value ) {
2933
+        $this->set_prop( 'total_tax', max( 0, $value ) );
2934 2934
     }
2935 2935
 
2936 2936
     /**
2937
-	 * Alias of self::set_total_tax().
2938
-	 *
2939
-	 * @since 1.0.19
2940
-	 * @param  float $value tax total.
2941
-	 */
2942
-	public function set_tax_total( $value ) {
2943
-		$this->set_total_tax( $value );
2937
+     * Alias of self::set_total_tax().
2938
+     *
2939
+     * @since 1.0.19
2940
+     * @param  float $value tax total.
2941
+     */
2942
+    public function set_tax_total( $value ) {
2943
+        $this->set_total_tax( $value );
2944 2944
     }
2945 2945
 
2946 2946
     /**
2947
-	 * Set the invoice fees amount.
2948
-	 *
2949
-	 * @since 1.0.19
2950
-	 * @param  float $value fees total.
2951
-	 */
2952
-	public function set_total_fees( $value ) {
2953
-		$this->set_prop( 'total_fees', max( 0, $value ) );
2947
+     * Set the invoice fees amount.
2948
+     *
2949
+     * @since 1.0.19
2950
+     * @param  float $value fees total.
2951
+     */
2952
+    public function set_total_fees( $value ) {
2953
+        $this->set_prop( 'total_fees', max( 0, $value ) );
2954 2954
     }
2955 2955
 
2956 2956
     /**
2957
-	 * Alias of self::set_total_fees().
2958
-	 *
2959
-	 * @since 1.0.19
2960
-	 * @param  float $value fees total.
2961
-	 */
2962
-	public function set_fees_total( $value ) {
2963
-		$this->set_total_fees( $value );
2957
+     * Alias of self::set_total_fees().
2958
+     *
2959
+     * @since 1.0.19
2960
+     * @param  float $value fees total.
2961
+     */
2962
+    public function set_fees_total( $value ) {
2963
+        $this->set_total_fees( $value );
2964 2964
     }
2965 2965
 
2966 2966
     /**
2967
-	 * Set the invoice fees.
2968
-	 *
2969
-	 * @since 1.0.19
2970
-	 * @param  array $value fees.
2971
-	 */
2972
-	public function set_fees( $value ) {
2967
+     * Set the invoice fees.
2968
+     *
2969
+     * @since 1.0.19
2970
+     * @param  array $value fees.
2971
+     */
2972
+    public function set_fees( $value ) {
2973 2973
 
2974
-		if ( ! is_array( $value ) ) {
2975
-			$value = array();
2976
-		}
2974
+        if ( ! is_array( $value ) ) {
2975
+            $value = array();
2976
+        }
2977 2977
 
2978
-		$this->set_prop( 'fees', $value );
2978
+        $this->set_prop( 'fees', $value );
2979 2979
 
2980 2980
     }
2981 2981
 
2982 2982
     /**
2983
-	 * Set the invoice taxes.
2984
-	 *
2985
-	 * @since 1.0.19
2986
-	 * @param  array $value taxes.
2987
-	 */
2988
-	public function set_taxes( $value ) {
2983
+     * Set the invoice taxes.
2984
+     *
2985
+     * @since 1.0.19
2986
+     * @param  array $value taxes.
2987
+     */
2988
+    public function set_taxes( $value ) {
2989 2989
 
2990
-		if ( ! is_array( $value ) ) {
2991
-			$value = array();
2992
-		}
2990
+        if ( ! is_array( $value ) ) {
2991
+            $value = array();
2992
+        }
2993 2993
 
2994
-		$this->set_prop( 'taxes', $value );
2994
+        $this->set_prop( 'taxes', $value );
2995 2995
 
2996 2996
     }
2997 2997
 
2998 2998
     /**
2999
-	 * Set the invoice discounts.
3000
-	 *
3001
-	 * @since 1.0.19
3002
-	 * @param  array $value discounts.
3003
-	 */
3004
-	public function set_discounts( $value ) {
2999
+     * Set the invoice discounts.
3000
+     *
3001
+     * @since 1.0.19
3002
+     * @param  array $value discounts.
3003
+     */
3004
+    public function set_discounts( $value ) {
3005 3005
 
3006
-		if ( ! is_array( $value ) ) {
3007
-			$value = array();
3008
-		}
3006
+        if ( ! is_array( $value ) ) {
3007
+            $value = array();
3008
+        }
3009 3009
 
3010
-		$this->set_prop( 'discounts', $value );
3010
+        $this->set_prop( 'discounts', $value );
3011 3011
     }
3012 3012
 
3013 3013
     /**
3014
-	 * Set the invoice items.
3015
-	 *
3016
-	 * @since 1.0.19
3017
-	 * @param  GetPaid_Form_Item[] $value items.
3018
-	 */
3019
-	public function set_items( $value ) {
3014
+     * Set the invoice items.
3015
+     *
3016
+     * @since 1.0.19
3017
+     * @param  GetPaid_Form_Item[] $value items.
3018
+     */
3019
+    public function set_items( $value ) {
3020 3020
 
3021 3021
         // Remove existing items.
3022 3022
         $this->set_prop( 'items', array() );
3023
-		$this->recurring_item = null;
3023
+        $this->recurring_item = null;
3024 3024
 
3025 3025
         // Ensure that we have an array.
3026 3026
         if ( ! is_array( $value ) ) {
@@ -3034,95 +3034,95 @@  discard block
 block discarded – undo
3034 3034
     }
3035 3035
 
3036 3036
     /**
3037
-	 * Set the payment form.
3038
-	 *
3039
-	 * @since 1.0.19
3040
-	 * @param  int $value payment form.
3041
-	 */
3042
-	public function set_payment_form( $value ) {
3043
-		$this->set_prop( 'payment_form', $value );
3037
+     * Set the payment form.
3038
+     *
3039
+     * @since 1.0.19
3040
+     * @param  int $value payment form.
3041
+     */
3042
+    public function set_payment_form( $value ) {
3043
+        $this->set_prop( 'payment_form', $value );
3044 3044
     }
3045 3045
 
3046 3046
     /**
3047
-	 * Set the submission id.
3048
-	 *
3049
-	 * @since 1.0.19
3050
-	 * @param  string $value submission id.
3051
-	 */
3052
-	public function set_submission_id( $value ) {
3053
-		$this->set_prop( 'submission_id', $value );
3047
+     * Set the submission id.
3048
+     *
3049
+     * @since 1.0.19
3050
+     * @param  string $value submission id.
3051
+     */
3052
+    public function set_submission_id( $value ) {
3053
+        $this->set_prop( 'submission_id', $value );
3054 3054
     }
3055 3055
 
3056 3056
     /**
3057
-	 * Set the discount code.
3058
-	 *
3059
-	 * @since 1.0.19
3060
-	 * @param  string $value discount code.
3061
-	 */
3062
-	public function set_discount_code( $value ) {
3063
-		$this->set_prop( 'discount_code', sanitize_text_field( $value ) );
3057
+     * Set the discount code.
3058
+     *
3059
+     * @since 1.0.19
3060
+     * @param  string $value discount code.
3061
+     */
3062
+    public function set_discount_code( $value ) {
3063
+        $this->set_prop( 'discount_code', sanitize_text_field( $value ) );
3064 3064
     }
3065 3065
 
3066 3066
     /**
3067
-	 * Set the gateway.
3068
-	 *
3069
-	 * @since 1.0.19
3070
-	 * @param  string $value gateway.
3071
-	 */
3072
-	public function set_gateway( $value ) {
3073
-		$this->set_prop( 'gateway', $value );
3067
+     * Set the gateway.
3068
+     *
3069
+     * @since 1.0.19
3070
+     * @param  string $value gateway.
3071
+     */
3072
+    public function set_gateway( $value ) {
3073
+        $this->set_prop( 'gateway', $value );
3074 3074
     }
3075 3075
 
3076 3076
     /**
3077
-	 * Set the transaction id.
3078
-	 *
3079
-	 * @since 1.0.19
3080
-	 * @param  string $value transaction id.
3081
-	 */
3082
-	public function set_transaction_id( $value ) {
3083
-		if ( ! empty( $value ) ) {
3084
-			$this->set_prop( 'transaction_id', $value );
3085
-		}
3077
+     * Set the transaction id.
3078
+     *
3079
+     * @since 1.0.19
3080
+     * @param  string $value transaction id.
3081
+     */
3082
+    public function set_transaction_id( $value ) {
3083
+        if ( ! empty( $value ) ) {
3084
+            $this->set_prop( 'transaction_id', $value );
3085
+        }
3086 3086
     }
3087 3087
 
3088 3088
     /**
3089
-	 * Set the currency id.
3090
-	 *
3091
-	 * @since 1.0.19
3092
-	 * @param  string $value currency id.
3093
-	 */
3094
-	public function set_currency( $value ) {
3095
-		$this->set_prop( 'currency', $value );
3089
+     * Set the currency id.
3090
+     *
3091
+     * @since 1.0.19
3092
+     * @param  string $value currency id.
3093
+     */
3094
+    public function set_currency( $value ) {
3095
+        $this->set_prop( 'currency', $value );
3096 3096
     }
3097 3097
 
3098
-	/**
3099
-	 * Set whether to disable taxes.
3100
-	 *
3101
-	 * @since 1.0.19
3102
-	 * @param  bool $value value.
3103
-	 */
3104
-	public function set_disable_taxes( $value ) {
3105
-		$this->set_prop( 'disable_taxes', (bool) $value );
3106
-	}
3098
+    /**
3099
+     * Set whether to disable taxes.
3100
+     *
3101
+     * @since 1.0.19
3102
+     * @param  bool $value value.
3103
+     */
3104
+    public function set_disable_taxes( $value ) {
3105
+        $this->set_prop( 'disable_taxes', (bool) $value );
3106
+    }
3107 3107
 
3108 3108
     /**
3109
-	 * Set the subscription id.
3110
-	 *
3111
-	 * @since 1.0.19
3112
-	 * @param  string $value subscription id.
3113
-	 */
3114
-	public function set_subscription_id( $value ) {
3115
-		$this->set_prop( 'subscription_id', $value );
3116
-	}
3109
+     * Set the subscription id.
3110
+     *
3111
+     * @since 1.0.19
3112
+     * @param  string $value subscription id.
3113
+     */
3114
+    public function set_subscription_id( $value ) {
3115
+        $this->set_prop( 'subscription_id', $value );
3116
+    }
3117 3117
 
3118
-	/**
3119
-	 * Set the remote subscription id.
3120
-	 *
3121
-	 * @since 1.0.19
3122
-	 * @param  string $value subscription id.
3123
-	 */
3124
-	public function set_remote_subscription_id( $value ) {
3125
-		$this->set_prop( 'remote_subscription_id', $value );
3118
+    /**
3119
+     * Set the remote subscription id.
3120
+     *
3121
+     * @since 1.0.19
3122
+     * @param  string $value subscription id.
3123
+     */
3124
+    public function set_remote_subscription_id( $value ) {
3125
+        $this->set_prop( 'remote_subscription_id', $value );
3126 3126
     }
3127 3127
 
3128 3128
     /*
@@ -3161,24 +3161,24 @@  discard block
 block discarded – undo
3161 3161
      */
3162 3162
     public function is_taxable() {
3163 3163
         return ! $this->get_disable_taxes();
3164
-	}
3164
+    }
3165 3165
 
3166
-	/**
3167
-	 * @deprecated
3168
-	 */
3169
-	public function has_vat() {
3166
+    /**
3167
+     * @deprecated
3168
+     */
3169
+    public function has_vat() {
3170 3170
         return $this->is_taxable();
3171
-	}
3171
+    }
3172 3172
 
3173
-	/**
3174
-	 * Checks to see if the invoice requires payment.
3175
-	 */
3176
-	public function is_free() {
3173
+    /**
3174
+     * Checks to see if the invoice requires payment.
3175
+     */
3176
+    public function is_free() {
3177 3177
         $is_free = ( (float) wpinv_round_amount( $this->get_initial_total() ) == 0 );
3178 3178
 
3179
-		if ( $this->is_recurring() && $this->get_recurring_total() > 0 ) {
3180
-			$is_free = false;
3181
-		}
3179
+        if ( $this->is_recurring() && $this->get_recurring_total() > 0 ) {
3180
+            $is_free = false;
3181
+        }
3182 3182
 
3183 3183
         return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
3184 3184
     }
@@ -3189,46 +3189,46 @@  discard block
 block discarded – undo
3189 3189
     public function is_paid() {
3190 3190
         $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
3191 3191
         return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
3192
-	}
3192
+    }
3193 3193
 
3194
-	/**
3194
+    /**
3195 3195
      * Checks if the invoice needs payment.
3196 3196
      */
3197
-	public function needs_payment() {
3198
-		$needs_payment = ! $this->is_paid() && ! $this->is_refunded() && ! $this->is_free();
3197
+    public function needs_payment() {
3198
+        $needs_payment = ! $this->is_paid() && ! $this->is_refunded() && ! $this->is_free();
3199 3199
         return apply_filters( 'wpinv_needs_payment', $needs_payment, $this );
3200 3200
     }
3201 3201
 
3202
-	/**
3202
+    /**
3203 3203
      * Checks if the invoice is refunded.
3204 3204
      */
3205
-	public function is_refunded() {
3205
+    public function is_refunded() {
3206 3206
         $is_refunded = $this->has_status( 'wpi-refunded' );
3207 3207
         return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
3208
-	}
3208
+    }
3209 3209
 
3210
-	/**
3210
+    /**
3211 3211
      * Checks if the invoice is held.
3212 3212
      */
3213
-	public function is_held() {
3213
+    public function is_held() {
3214 3214
         $is_held = $this->has_status( 'wpi-onhold' );
3215 3215
         return apply_filters( 'wpinv_invoice_is_held', $is_held, $this );
3216
-	}
3216
+    }
3217 3217
 
3218
-	/**
3218
+    /**
3219 3219
      * Checks if the invoice is due.
3220 3220
      */
3221
-	public function is_due() {
3222
-		$due_date = $this->get_due_date();
3223
-		return empty( $due_date ) ? false : current_time( 'timestamp' ) > strtotime( $due_date );
3224
-	}
3221
+    public function is_due() {
3222
+        $due_date = $this->get_due_date();
3223
+        return empty( $due_date ) ? false : current_time( 'timestamp' ) > strtotime( $due_date );
3224
+    }
3225 3225
 
3226
-	/**
3226
+    /**
3227 3227
      * Checks if the invoice is draft.
3228 3228
      */
3229
-	public function is_draft() {
3229
+    public function is_draft() {
3230 3230
         return $this->has_status( 'draft, auto-draft' );
3231
-	}
3231
+    }
3232 3232
 
3233 3233
     /**
3234 3234
      * Checks if the invoice has a given status.
@@ -3236,9 +3236,9 @@  discard block
 block discarded – undo
3236 3236
     public function has_status( $status ) {
3237 3237
         $status = wpinv_parse_list( $status );
3238 3238
         return apply_filters( 'wpinv_has_status', in_array( $this->get_status(), $status ), $status );
3239
-	}
3239
+    }
3240 3240
 
3241
-	/**
3241
+    /**
3242 3242
      * Checks if the invoice is of a given type.
3243 3243
      */
3244 3244
     public function is_type( $type ) {
@@ -3261,25 +3261,25 @@  discard block
 block discarded – undo
3261 3261
      */
3262 3262
     public function has_free_trial() {
3263 3263
         return $this->is_recurring() && 0 == $this->get_initial_total();
3264
-	}
3264
+    }
3265 3265
 
3266
-	/**
3266
+    /**
3267 3267
      * @deprecated
3268 3268
      */
3269 3269
     public function is_free_trial() {
3270 3270
         return $this->has_free_trial();
3271 3271
     }
3272 3272
 
3273
-	/**
3273
+    /**
3274 3274
      * Check if the initial payment if 0.
3275 3275
      *
3276 3276
      */
3277
-	public function is_initial_free() {
3277
+    public function is_initial_free() {
3278 3278
         $is_initial_free = ! ( (float) wpinv_round_amount( $this->get_initial_total() ) > 0 );
3279 3279
         return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->get_cart_details(), $this );
3280 3280
     }
3281 3281
 
3282
-	/**
3282
+    /**
3283 3283
      * Check if the recurring item has a free trial.
3284 3284
      *
3285 3285
      */
@@ -3292,21 +3292,21 @@  discard block
 block discarded – undo
3292 3292
 
3293 3293
         $item = $this->get_recurring( true );
3294 3294
         return $item->has_free_trial();
3295
-	}
3295
+    }
3296 3296
 
3297
-	/**
3297
+    /**
3298 3298
      * Check if the free trial is a result of a discount.
3299 3299
      */
3300 3300
     public function is_free_trial_from_discount() {
3301
-		return $this->has_free_trial() && ! $this->item_has_free_trial();
3302
-	}
3301
+        return $this->has_free_trial() && ! $this->item_has_free_trial();
3302
+    }
3303 3303
 
3304
-	/**
3304
+    /**
3305 3305
      * @deprecated
3306 3306
      */
3307 3307
     public function discount_first_payment_only() {
3308 3308
 
3309
-		$discount = wpinv_get_discount_obj( $this->get_discount_code() );
3309
+        $discount = wpinv_get_discount_obj( $this->get_discount_code() );
3310 3310
         if ( ! $discount->exists() || ! $this->is_recurring() ) {
3311 3311
             return true;
3312 3312
         }
@@ -3331,146 +3331,146 @@  discard block
 block discarded – undo
3331 3331
      */
3332 3332
     public function add_item( $item ) {
3333 3333
 
3334
-		if ( is_array( $item ) ) {
3335
-			$item = $this->process_array_item( $item );
3336
-		}
3334
+        if ( is_array( $item ) ) {
3335
+            $item = $this->process_array_item( $item );
3336
+        }
3337 3337
 
3338
-		if ( is_numeric( $item ) ) {
3339
-			$item = new GetPaid_Form_Item( $item );
3340
-		}
3338
+        if ( is_numeric( $item ) ) {
3339
+            $item = new GetPaid_Form_Item( $item );
3340
+        }
3341 3341
 
3342 3342
         // Make sure that it is available for purchase.
3343
-		if ( $item->get_id() > 0 && ! $item->can_purchase() ) {
3344
-			return new WP_Error( 'invalid_item', __( 'This item is not available for purchase', 'invoicing' ) );
3343
+        if ( $item->get_id() > 0 && ! $item->can_purchase() ) {
3344
+            return new WP_Error( 'invalid_item', __( 'This item is not available for purchase', 'invoicing' ) );
3345 3345
         }
3346 3346
 
3347 3347
         // Do we have a recurring item?
3348
-		if ( $item->is_recurring() ) {
3349
-			$this->recurring_item = $item->get_id();
3348
+        if ( $item->is_recurring() ) {
3349
+            $this->recurring_item = $item->get_id();
3350 3350
         }
3351 3351
 
3352 3352
         // Invoice id.
3353 3353
         $item->invoice_id = (int) $this->get_id();
3354 3354
 
3355
-		// Remove duplicates.
3356
-		$this->remove_item( $item->get_id() );
3355
+        // Remove duplicates.
3356
+        $this->remove_item( $item->get_id() );
3357 3357
 
3358
-		if ( 0 == $item->get_quantity() ) {
3359
-			return;
3360
-		}
3358
+        if ( 0 == $item->get_quantity() ) {
3359
+            return;
3360
+        }
3361 3361
 
3362
-		// Retrieve all items.
3362
+        // Retrieve all items.
3363 3363
         $items   = $this->get_items();
3364 3364
 
3365
-		// Add new item.
3365
+        // Add new item.
3366 3366
         $items[] = $item;
3367 3367
 
3368 3368
         $this->set_prop( 'items', $items );
3369 3369
 
3370
-		return true;
3371
-	}
3370
+        return true;
3371
+    }
3372 3372
 
3373
-	/**
3374
-	 * Converts an array to an item.
3375
-	 *
3376
-	 * @since 1.0.19
3377
-	 * @return GetPaid_Form_Item
3378
-	 */
3379
-	protected function process_array_item( $array ) {
3373
+    /**
3374
+     * Converts an array to an item.
3375
+     *
3376
+     * @since 1.0.19
3377
+     * @return GetPaid_Form_Item
3378
+     */
3379
+    protected function process_array_item( $array ) {
3380 3380
 
3381
-		$item_id = isset( $array['item_id'] ) ? $array['item_id'] : 0;
3382
-		$item    = new GetPaid_Form_Item( $item_id );
3381
+        $item_id = isset( $array['item_id'] ) ? $array['item_id'] : 0;
3382
+        $item    = new GetPaid_Form_Item( $item_id );
3383 3383
 
3384
-		// Set item data.
3385
-		foreach ( array( 'name', 'price', 'description' ) as $key ) {
3386
-			if ( isset( $array[ "item_$key" ] ) ) {
3387
-				$method = "set_$key";
3388
-				$item->$method( $array[ "item_$key" ] );
3389
-			}
3390
-		}
3384
+        // Set item data.
3385
+        foreach ( array( 'name', 'price', 'description' ) as $key ) {
3386
+            if ( isset( $array[ "item_$key" ] ) ) {
3387
+                $method = "set_$key";
3388
+                $item->$method( $array[ "item_$key" ] );
3389
+            }
3390
+        }
3391 3391
 
3392
-		if ( isset( $array['quantity'] ) ) {
3393
-			$item->set_quantity( $array['quantity'] );
3394
-		}
3392
+        if ( isset( $array['quantity'] ) ) {
3393
+            $item->set_quantity( $array['quantity'] );
3394
+        }
3395 3395
 
3396
-		// Set item meta.
3397
-		if ( isset( $array['meta'] ) && is_array( $array['meta'] ) ) {
3398
-			$item->set_item_meta( $array['meta'] );
3399
-		}
3396
+        // Set item meta.
3397
+        if ( isset( $array['meta'] ) && is_array( $array['meta'] ) ) {
3398
+            $item->set_item_meta( $array['meta'] );
3399
+        }
3400 3400
 
3401
-		return $item;
3401
+        return $item;
3402 3402
 
3403
-	}
3403
+    }
3404 3404
 
3405 3405
     /**
3406
-	 * Retrieves a specific item.
3407
-	 *
3408
-	 * @since 1.0.19
3409
-	 * @return GetPaid_Form_Item|null
3410
-	 */
3411
-	public function get_item( $item_id ) {
3406
+     * Retrieves a specific item.
3407
+     *
3408
+     * @since 1.0.19
3409
+     * @return GetPaid_Form_Item|null
3410
+     */
3411
+    public function get_item( $item_id ) {
3412 3412
 
3413
-		foreach ( $this->get_items() as $item ) {
3414
-			if ( (int) $item_id == $item->get_id() ) {
3415
-				return $item;
3416
-			}
3417
-		}
3413
+        foreach ( $this->get_items() as $item ) {
3414
+            if ( (int) $item_id == $item->get_id() ) {
3415
+                return $item;
3416
+            }
3417
+        }
3418 3418
 
3419
-		return null;
3419
+        return null;
3420 3420
     }
3421 3421
 
3422 3422
     /**
3423
-	 * Removes a specific item.
3424
-	 *
3425
-	 * @since 1.0.19
3426
-	 */
3427
-	public function remove_item( $item_id ) {
3428
-		$items   = $this->get_items();
3429
-		$item_id = (int) $item_id;
3423
+     * Removes a specific item.
3424
+     *
3425
+     * @since 1.0.19
3426
+     */
3427
+    public function remove_item( $item_id ) {
3428
+        $items   = $this->get_items();
3429
+        $item_id = (int) $item_id;
3430 3430
 
3431
-		foreach ( $items as $index => $item ) {
3432
-			if ( (int) $item_id == $item->get_id() ) {
3433
-				unset( $items[ $index ] );
3434
-				$this->set_prop( 'items', $items );
3431
+        foreach ( $items as $index => $item ) {
3432
+            if ( (int) $item_id == $item->get_id() ) {
3433
+                unset( $items[ $index ] );
3434
+                $this->set_prop( 'items', $items );
3435 3435
 
3436
-				if ( $item_id == $this->recurring_item ) {
3437
-					$this->recurring_item = null;
3438
-				}
3436
+                if ( $item_id == $this->recurring_item ) {
3437
+                    $this->recurring_item = null;
3438
+                }
3439 3439
 }
3440
-		}
3440
+        }
3441 3441
 
3442 3442
     }
3443 3443
 
3444 3444
     /**
3445
-	 * Adds a fee to the invoice.
3446
-	 *
3447
-	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
3448
-	 * @since 1.0.19
3449
-	 */
3445
+     * Adds a fee to the invoice.
3446
+     *
3447
+     * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
3448
+     * @since 1.0.19
3449
+     */
3450 3450
     public function add_fee( $fee ) {
3451 3451
 
3452
-		$fees                 = $this->get_fees();
3453
-		$fees[ $fee['name'] ] = $fee;
3454
-		$this->set_prop( 'fees', $fees );
3452
+        $fees                 = $this->get_fees();
3453
+        $fees[ $fee['name'] ] = $fee;
3454
+        $this->set_prop( 'fees', $fees );
3455 3455
 
3456 3456
     }
3457 3457
 
3458 3458
     /**
3459
-	 * Retrieves a specific fee.
3460
-	 *
3461
-	 * @since 1.0.19
3462
-	 */
3463
-	public function get_fee( $fee ) {
3459
+     * Retrieves a specific fee.
3460
+     *
3461
+     * @since 1.0.19
3462
+     */
3463
+    public function get_fee( $fee ) {
3464 3464
         $fees = $this->get_fees();
3465
-		return isset( $fees[ $fee ] ) ? $fees[ $fee ] : null;
3465
+        return isset( $fees[ $fee ] ) ? $fees[ $fee ] : null;
3466 3466
     }
3467 3467
 
3468 3468
     /**
3469
-	 * Removes a specific fee.
3470
-	 *
3471
-	 * @since 1.0.19
3472
-	 */
3473
-	public function remove_fee( $fee ) {
3469
+     * Removes a specific fee.
3470
+     *
3471
+     * @since 1.0.19
3472
+     */
3473
+    public function remove_fee( $fee ) {
3474 3474
         $fees = $this->get_fees();
3475 3475
         if ( isset( $fees[ $fee ] ) ) {
3476 3476
             unset( $fees[ $fee ] );
@@ -3478,55 +3478,55 @@  discard block
 block discarded – undo
3478 3478
         }
3479 3479
     }
3480 3480
 
3481
-	/**
3482
-	 * Adds a discount to the invoice.
3483
-	 *
3484
-	 * @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.
3485
-	 * @since 1.0.19
3486
-	 */
3487
-	public function add_discount( $discount ) {
3481
+    /**
3482
+     * Adds a discount to the invoice.
3483
+     *
3484
+     * @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.
3485
+     * @since 1.0.19
3486
+     */
3487
+    public function add_discount( $discount ) {
3488 3488
 
3489
-		$discounts = $this->get_discounts();
3490
-		$discounts[ $discount['name'] ] = $discount;
3491
-		$this->set_prop( 'discounts', $discounts );
3489
+        $discounts = $this->get_discounts();
3490
+        $discounts[ $discount['name'] ] = $discount;
3491
+        $this->set_prop( 'discounts', $discounts );
3492 3492
 
3493
-	}
3493
+    }
3494 3494
 
3495 3495
     /**
3496
-	 * Retrieves a specific discount.
3497
-	 *
3498
-	 * @since 1.0.19
3499
-	 * @return float
3500
-	 */
3501
-	public function get_discount( $discount = false ) {
3496
+     * Retrieves a specific discount.
3497
+     *
3498
+     * @since 1.0.19
3499
+     * @return float
3500
+     */
3501
+    public function get_discount( $discount = false ) {
3502 3502
 
3503
-		// Backwards compatibilty.
3504
-		if ( empty( $discount ) ) {
3505
-			return $this->get_total_discount();
3506
-		}
3503
+        // Backwards compatibilty.
3504
+        if ( empty( $discount ) ) {
3505
+            return $this->get_total_discount();
3506
+        }
3507 3507
 
3508 3508
         $discounts = $this->get_discounts();
3509
-		return isset( $discounts[ $discount ] ) ? $discounts[ $discount ] : null;
3509
+        return isset( $discounts[ $discount ] ) ? $discounts[ $discount ] : null;
3510 3510
     }
3511 3511
 
3512 3512
     /**
3513
-	 * Removes a specific discount.
3514
-	 *
3515
-	 * @since 1.0.19
3516
-	 */
3517
-	public function remove_discount( $discount ) {
3513
+     * Removes a specific discount.
3514
+     *
3515
+     * @since 1.0.19
3516
+     */
3517
+    public function remove_discount( $discount ) {
3518 3518
         $discounts = $this->get_discounts();
3519 3519
         if ( isset( $discounts[ $discount ] ) ) {
3520 3520
             unset( $discounts[ $discount ] );
3521 3521
             $this->set_prop( 'discounts', $discounts );
3522 3522
         }
3523 3523
 
3524
-		if ( 'discount_code' == $discount ) {
3525
-			foreach ( $this->get_items() as $item ) {
3526
-				$item->item_discount           = 0;
3527
-				$item->recurring_item_discount = 0;
3528
-			}
3529
-		}
3524
+        if ( 'discount_code' == $discount ) {
3525
+            foreach ( $this->get_items() as $item ) {
3526
+                $item->item_discount           = 0;
3527
+                $item->recurring_item_discount = 0;
3528
+            }
3529
+        }
3530 3530
 
3531 3531
     }
3532 3532
 
@@ -3539,34 +3539,34 @@  discard block
 block discarded – undo
3539 3539
         if ( $this->is_taxable() ) {
3540 3540
 
3541 3541
             $taxes                 = $this->get_taxes();
3542
-			$taxes[ $tax['name'] ] = $tax;
3543
-			$this->set_prop( 'taxes', $tax );
3542
+            $taxes[ $tax['name'] ] = $tax;
3543
+            $this->set_prop( 'taxes', $tax );
3544 3544
 
3545 3545
         }
3546 3546
     }
3547 3547
 
3548 3548
     /**
3549
-	 * Retrieves a specific tax.
3550
-	 *
3551
-	 * @since 1.0.19
3552
-	 */
3553
-	public function get_tax( $tax = null ) {
3549
+     * Retrieves a specific tax.
3550
+     *
3551
+     * @since 1.0.19
3552
+     */
3553
+    public function get_tax( $tax = null ) {
3554 3554
 
3555
-		// Backwards compatility.
3556
-		if ( empty( $tax ) ) {
3557
-			return $this->get_total_tax();
3558
-		}
3555
+        // Backwards compatility.
3556
+        if ( empty( $tax ) ) {
3557
+            return $this->get_total_tax();
3558
+        }
3559 3559
 
3560 3560
         $taxes = $this->get_taxes();
3561
-		return isset( $taxes[ $tax ] ) ? $taxes[ $tax ] : null;
3561
+        return isset( $taxes[ $tax ] ) ? $taxes[ $tax ] : null;
3562 3562
     }
3563 3563
 
3564 3564
     /**
3565
-	 * Removes a specific tax.
3566
-	 *
3567
-	 * @since 1.0.19
3568
-	 */
3569
-	public function remove_tax( $tax ) {
3565
+     * Removes a specific tax.
3566
+     *
3567
+     * @since 1.0.19
3568
+     */
3569
+    public function remove_tax( $tax ) {
3570 3570
         $taxes = $this->get_taxes();
3571 3571
         if ( isset( $taxes[ $tax ] ) ) {
3572 3572
             unset( $taxes[ $tax ] );
@@ -3575,184 +3575,184 @@  discard block
 block discarded – undo
3575 3575
     }
3576 3576
 
3577 3577
     /**
3578
-	 * Recalculates the invoice subtotal.
3579
-	 *
3580
-	 * @since 1.0.19
3581
-	 * @return float The recalculated subtotal
3582
-	 */
3583
-	public function recalculate_subtotal() {
3578
+     * Recalculates the invoice subtotal.
3579
+     *
3580
+     * @since 1.0.19
3581
+     * @return float The recalculated subtotal
3582
+     */
3583
+    public function recalculate_subtotal() {
3584 3584
         $items     = $this->get_items();
3585
-		$subtotal  = 0;
3586
-		$recurring = 0;
3585
+        $subtotal  = 0;
3586
+        $recurring = 0;
3587 3587
 
3588 3588
         foreach ( $items as $item ) {
3589
-			$subtotal  += $item->get_sub_total( 'edit' );
3590
-			$recurring += $item->get_recurring_sub_total( 'edit' );
3589
+            $subtotal  += $item->get_sub_total( 'edit' );
3590
+            $recurring += $item->get_recurring_sub_total( 'edit' );
3591 3591
         }
3592 3592
 
3593
-		if ( wpinv_prices_include_tax() ) {
3594
-			$subtotal  = max( 0, $subtotal - $this->totals['tax']['initial'] );
3595
-			$recurring = max( 0, $recurring - $this->totals['tax']['recurring'] );
3596
-		}
3593
+        if ( wpinv_prices_include_tax() ) {
3594
+            $subtotal  = max( 0, $subtotal - $this->totals['tax']['initial'] );
3595
+            $recurring = max( 0, $recurring - $this->totals['tax']['recurring'] );
3596
+        }
3597 3597
 
3598
-		$current = $this->is_renewal() ? $recurring : $subtotal;
3599
-		$this->set_subtotal( $current );
3598
+        $current = $this->is_renewal() ? $recurring : $subtotal;
3599
+        $this->set_subtotal( $current );
3600 3600
 
3601
-		$this->totals['subtotal'] = array(
3602
-			'initial'   => $subtotal,
3603
-			'recurring' => $recurring,
3604
-		);
3601
+        $this->totals['subtotal'] = array(
3602
+            'initial'   => $subtotal,
3603
+            'recurring' => $recurring,
3604
+        );
3605 3605
 
3606 3606
         return $current;
3607 3607
     }
3608 3608
 
3609 3609
     /**
3610
-	 * Recalculates the invoice discount total.
3611
-	 *
3612
-	 * @since 1.0.19
3613
-	 * @return float The recalculated discount
3614
-	 */
3615
-	public function recalculate_total_discount() {
3610
+     * Recalculates the invoice discount total.
3611
+     *
3612
+     * @since 1.0.19
3613
+     * @return float The recalculated discount
3614
+     */
3615
+    public function recalculate_total_discount() {
3616 3616
         $discounts = $this->get_discounts();
3617
-		$discount  = 0;
3618
-		$recurring = 0;
3617
+        $discount  = 0;
3618
+        $recurring = 0;
3619 3619
 
3620 3620
         foreach ( $discounts as $data ) {
3621
-			$discount  += wpinv_sanitize_amount( $data['initial_discount'] );
3622
-			$recurring += wpinv_sanitize_amount( $data['recurring_discount'] );
3623
-		}
3621
+            $discount  += wpinv_sanitize_amount( $data['initial_discount'] );
3622
+            $recurring += wpinv_sanitize_amount( $data['recurring_discount'] );
3623
+        }
3624 3624
 
3625
-		$current = $this->is_renewal() ? $recurring : $discount;
3625
+        $current = $this->is_renewal() ? $recurring : $discount;
3626 3626
 
3627
-		$this->set_total_discount( $current );
3627
+        $this->set_total_discount( $current );
3628 3628
 
3629
-		$this->totals['discount'] = array(
3630
-			'initial'   => $discount,
3631
-			'recurring' => $recurring,
3632
-		);
3629
+        $this->totals['discount'] = array(
3630
+            'initial'   => $discount,
3631
+            'recurring' => $recurring,
3632
+        );
3633 3633
 
3634
-		return $current;
3634
+        return $current;
3635 3635
 
3636 3636
     }
3637 3637
 
3638 3638
     /**
3639
-	 * Recalculates the invoice tax total.
3640
-	 *
3641
-	 * @since 1.0.19
3642
-	 * @return float The recalculated tax
3643
-	 */
3644
-	public function recalculate_total_tax() {
3639
+     * Recalculates the invoice tax total.
3640
+     *
3641
+     * @since 1.0.19
3642
+     * @return float The recalculated tax
3643
+     */
3644
+    public function recalculate_total_tax() {
3645 3645
 
3646
-		// Maybe disable taxes.
3647
-		$vat_number = $this->get_vat_number();
3648
-		$skip_tax   = GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $this->get_country() ) && ! empty( $vat_number );
3646
+        // Maybe disable taxes.
3647
+        $vat_number = $this->get_vat_number();
3648
+        $skip_tax   = GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $this->get_country() ) && ! empty( $vat_number );
3649 3649
 
3650
-		if ( wpinv_is_base_country( $this->get_country() ) && 'vat_too' === wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) {
3651
-			$skip_tax = false;
3652
-		}
3650
+        if ( wpinv_is_base_country( $this->get_country() ) && 'vat_too' === wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) {
3651
+            $skip_tax = false;
3652
+        }
3653 3653
 
3654
-		if ( ! wpinv_use_taxes() || $this->get_disable_taxes() || ! wpinv_is_country_taxable( $this->get_country() ) || $skip_tax ) {
3654
+        if ( ! wpinv_use_taxes() || $this->get_disable_taxes() || ! wpinv_is_country_taxable( $this->get_country() ) || $skip_tax ) {
3655 3655
 
3656
-			$this->totals['tax'] = array(
3657
-				'initial'   => 0,
3658
-				'recurring' => 0,
3659
-			);
3656
+            $this->totals['tax'] = array(
3657
+                'initial'   => 0,
3658
+                'recurring' => 0,
3659
+            );
3660 3660
 
3661
-			$this->tax_rate = 0;
3661
+            $this->tax_rate = 0;
3662 3662
 
3663
-			$this->set_taxes( array() );
3664
-			$current = 0;
3665
-		} else {
3663
+            $this->set_taxes( array() );
3664
+            $current = 0;
3665
+        } else {
3666 3666
 
3667
-			$item_taxes = array();
3667
+            $item_taxes = array();
3668 3668
 
3669
-			foreach ( $this->get_items() as $item ) {
3670
-				$rates    = getpaid_get_item_tax_rates( $item, $this->get_country(), $this->get_state() );
3671
-				$rates    = getpaid_filter_item_tax_rates( $item, $rates );
3672
-				$taxes    = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates );
3673
-				$r_taxes  = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates );
3674
-				foreach ( $taxes as $name => $amount ) {
3675
-					$recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0;
3676
-					$tax       = getpaid_prepare_item_tax( $item, $name, $amount, $recurring );
3669
+            foreach ( $this->get_items() as $item ) {
3670
+                $rates    = getpaid_get_item_tax_rates( $item, $this->get_country(), $this->get_state() );
3671
+                $rates    = getpaid_filter_item_tax_rates( $item, $rates );
3672
+                $taxes    = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates );
3673
+                $r_taxes  = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates );
3674
+                foreach ( $taxes as $name => $amount ) {
3675
+                    $recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0;
3676
+                    $tax       = getpaid_prepare_item_tax( $item, $name, $amount, $recurring );
3677 3677
 
3678
-					if ( ! isset( $item_taxes[ $name ] ) ) {
3679
-						$item_taxes[ $name ] = $tax;
3680
-						continue;
3681
-					}
3678
+                    if ( ! isset( $item_taxes[ $name ] ) ) {
3679
+                        $item_taxes[ $name ] = $tax;
3680
+                        continue;
3681
+                    }
3682 3682
 
3683
-					$item_taxes[ $name ]['initial_tax']   += $tax['initial_tax'];
3684
-					$item_taxes[ $name ]['recurring_tax'] += $tax['recurring_tax'];
3683
+                    $item_taxes[ $name ]['initial_tax']   += $tax['initial_tax'];
3684
+                    $item_taxes[ $name ]['recurring_tax'] += $tax['recurring_tax'];
3685 3685
 
3686
-				}
3687
-			}
3686
+                }
3687
+            }
3688 3688
 
3689
-			$item_taxes = array_replace( $this->get_taxes(), $item_taxes );
3690
-			$this->set_taxes( $item_taxes );
3689
+            $item_taxes = array_replace( $this->get_taxes(), $item_taxes );
3690
+            $this->set_taxes( $item_taxes );
3691 3691
 
3692
-			$initial_tax   = array_sum( wp_list_pluck( $item_taxes, 'initial_tax' ) );
3693
-			$recurring_tax = array_sum( wp_list_pluck( $item_taxes, 'recurring_tax' ) );
3692
+            $initial_tax   = array_sum( wp_list_pluck( $item_taxes, 'initial_tax' ) );
3693
+            $recurring_tax = array_sum( wp_list_pluck( $item_taxes, 'recurring_tax' ) );
3694 3694
 
3695
-			$current = $this->is_renewal() ? $recurring_tax : $initial_tax;
3695
+            $current = $this->is_renewal() ? $recurring_tax : $initial_tax;
3696 3696
 
3697
-			$this->totals['tax'] = array(
3698
-				'initial'   => $initial_tax,
3699
-				'recurring' => $recurring_tax,
3700
-			);
3697
+            $this->totals['tax'] = array(
3698
+                'initial'   => $initial_tax,
3699
+                'recurring' => $recurring_tax,
3700
+            );
3701 3701
 
3702
-		}
3702
+        }
3703 3703
 
3704
-		$this->set_total_tax( $current );
3704
+        $this->set_total_tax( $current );
3705 3705
 
3706
-		return $current;
3706
+        return $current;
3707 3707
 
3708 3708
     }
3709 3709
 
3710 3710
     /**
3711
-	 * Recalculates the invoice fees total.
3712
-	 *
3713
-	 * @since 1.0.19
3714
-	 * @return float The recalculated fee
3715
-	 */
3716
-	public function recalculate_total_fees() {
3717
-		$fees      = $this->get_fees();
3718
-		$fee       = 0;
3719
-		$recurring = 0;
3711
+     * Recalculates the invoice fees total.
3712
+     *
3713
+     * @since 1.0.19
3714
+     * @return float The recalculated fee
3715
+     */
3716
+    public function recalculate_total_fees() {
3717
+        $fees      = $this->get_fees();
3718
+        $fee       = 0;
3719
+        $recurring = 0;
3720 3720
 
3721 3721
         foreach ( $fees as $data ) {
3722
-			$fee       += wpinv_sanitize_amount( $data['initial_fee'] );
3723
-			$recurring += wpinv_sanitize_amount( $data['recurring_fee'] );
3724
-		}
3722
+            $fee       += wpinv_sanitize_amount( $data['initial_fee'] );
3723
+            $recurring += wpinv_sanitize_amount( $data['recurring_fee'] );
3724
+        }
3725 3725
 
3726
-		$current = $this->is_renewal() ? $recurring : $fee;
3727
-		$this->set_total_fees( $current );
3726
+        $current = $this->is_renewal() ? $recurring : $fee;
3727
+        $this->set_total_fees( $current );
3728 3728
 
3729
-		$this->totals['fee'] = array(
3730
-			'initial'   => $fee,
3731
-			'recurring' => $recurring,
3732
-		);
3729
+        $this->totals['fee'] = array(
3730
+            'initial'   => $fee,
3731
+            'recurring' => $recurring,
3732
+        );
3733 3733
 
3734 3734
         $this->set_total_fees( $fee );
3735 3735
         return $current;
3736 3736
     }
3737 3737
 
3738 3738
     /**
3739
-	 * Recalculates the invoice total.
3740
-	 *
3741
-	 * @since 1.0.19
3739
+     * Recalculates the invoice total.
3740
+     *
3741
+     * @since 1.0.19
3742 3742
      * @return float The invoice total
3743
-	 */
3744
-	public function recalculate_total() {
3743
+     */
3744
+    public function recalculate_total() {
3745 3745
         $this->recalculate_total_fees();
3746 3746
         $this->recalculate_total_discount();
3747
-		$this->recalculate_total_tax();
3748
-		$this->recalculate_subtotal();
3749
-		$this->set_total( $this->get_total_tax( 'edit' ) + $this->get_total_fees( 'edit' ) + $this->get_subtotal( 'edit' ) - $this->get_total_discount( 'edit' ) );
3750
-		return $this->get_total();
3751
-	}
3752
-
3753
-	/**
3754
-	 * @deprecated
3755
-	 */
3747
+        $this->recalculate_total_tax();
3748
+        $this->recalculate_subtotal();
3749
+        $this->set_total( $this->get_total_tax( 'edit' ) + $this->get_total_fees( 'edit' ) + $this->get_subtotal( 'edit' ) - $this->get_total_discount( 'edit' ) );
3750
+        return $this->get_total();
3751
+    }
3752
+
3753
+    /**
3754
+     * @deprecated
3755
+     */
3756 3756
     public function recalculate_totals() {
3757 3757
         $this->recalculate_total();
3758 3758
         $this->save( true );
@@ -3766,22 +3766,22 @@  discard block
 block discarded – undo
3766 3766
         return $this->get_data();
3767 3767
     }
3768 3768
 
3769
-	/**
3769
+    /**
3770 3770
      * Adds a system note to an invoice.
3771 3771
      *
3772 3772
      * @param string $note The note being added.
3773
-	 * @return int|false The new note's ID on success, false on failure.
3773
+     * @return int|false The new note's ID on success, false on failure.
3774 3774
      *
3775 3775
      */
3776 3776
     public function add_system_note( $note ) {
3777
-		return $this->add_note( $note, false, false, true );
3778
-	}
3777
+        return $this->add_note( $note, false, false, true );
3778
+    }
3779 3779
 
3780 3780
     /**
3781 3781
      * Adds a note to an invoice.
3782 3782
      *
3783 3783
      * @param string $note The note being added.
3784
-	 * @return int|false The new note's ID on success, false on failure.
3784
+     * @return int|false The new note's ID on success, false on failure.
3785 3785
      *
3786 3786
      */
3787 3787
     public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
@@ -3791,21 +3791,21 @@  discard block
 block discarded – undo
3791 3791
             return false;
3792 3792
         }
3793 3793
 
3794
-		$author       = 'System';
3795
-		$author_email = '[email protected]';
3794
+        $author       = 'System';
3795
+        $author_email = '[email protected]';
3796 3796
 
3797
-		// If this is an admin comment or it has been added by the user.
3798
-		if ( is_user_logged_in() && ( ! $system || $added_by_user ) ) {
3799
-			$user         = get_user_by( 'id', get_current_user_id() );
3797
+        // If this is an admin comment or it has been added by the user.
3798
+        if ( is_user_logged_in() && ( ! $system || $added_by_user ) ) {
3799
+            $user         = get_user_by( 'id', get_current_user_id() );
3800 3800
             $author       = $user->display_name;
3801 3801
             $author_email = $user->user_email;
3802
-		}
3802
+        }
3803 3803
 
3804
-		return getpaid_notes()->add_invoice_note( $this, $note, $author, $author_email, $customer_type );
3804
+        return getpaid_notes()->add_invoice_note( $this, $note, $author, $author_email, $customer_type );
3805 3805
 
3806
-	}
3806
+    }
3807 3807
 
3808
-	/**
3808
+    /**
3809 3809
      * Generates a unique key for the invoice.
3810 3810
      */
3811 3811
     public function generate_key( $string = '' ) {
@@ -3825,113 +3825,113 @@  discard block
 block discarded – undo
3825 3825
             $number = wpinv_get_next_invoice_number( $this->get_post_type() );
3826 3826
         }
3827 3827
 
3828
-		return wpinv_format_invoice_number( $number, $this->get_post_type() );
3829
-
3830
-	}
3831
-
3832
-	/**
3833
-	 * Handle the status transition.
3834
-	 */
3835
-	protected function status_transition() {
3836
-		$status_transition = $this->status_transition;
3837
-
3838
-		// Reset status transition variable.
3839
-		$this->status_transition = false;
3840
-
3841
-		if ( $status_transition ) {
3842
-			try {
3843
-
3844
-				// Fire a hook for the status change.
3845
-				do_action( 'getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition );
3846
-
3847
-				// @deprecated this is deprecated and will be removed in the future.
3848
-				do_action( 'wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3849
-
3850
-				if ( ! empty( $status_transition['from'] ) ) {
3851
-
3852
-					/* translators: 1: old invoice status 2: new invoice status */
3853
-					$transition_note = sprintf( __( 'Status changed from %1$s to %2$s.', 'invoicing' ), wpinv_status_nicename( $status_transition['from'], $this ), wpinv_status_nicename( $status_transition['to'], $this ) );
3854
-
3855
-					// Fire another hook.
3856
-					do_action( 'getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this );
3857
-					do_action( 'getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to'] );
3828
+        return wpinv_format_invoice_number( $number, $this->get_post_type() );
3858 3829
 
3859
-					// @deprecated this is deprecated and will be removed in the future.
3860
-					do_action( 'wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3861
-
3862
-					// Note the transition occurred.
3863
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), false, $status_transition['manual'] );
3864
-
3865
-					// Work out if this was for a payment, and trigger a payment_status hook instead.
3866
-					if (
3867
-						in_array( $status_transition['from'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3868
-						&& in_array( $status_transition['to'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3869
-					) {
3870
-						do_action( 'getpaid_invoice_payment_status_changed', $this, $status_transition );
3871
-					}
3872
-
3873
-					// Work out if this was for a payment reversal, and trigger a payment_status_reversed hook instead.
3874
-					if (
3875
-						in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3876
-						&& in_array( $status_transition['to'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3877
-					) {
3878
-						do_action( 'getpaid_invoice_payment_status_reversed', $this, $status_transition );
3879
-					}
3880
-				} else {
3881
-					/* translators: %s: new invoice status */
3882
-					$transition_note = sprintf( __( 'Status set to %s.', 'invoicing' ), wpinv_status_nicename( $status_transition['to'], $this ) );
3883
-
3884
-					// Note the transition occurred.
3885
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), 0, $status_transition['manual'] );
3830
+    }
3886 3831
 
3887
-				}
3888
-			} catch ( Exception $e ) {
3889
-				$this->add_note( __( 'Error during status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
3890
-			}
3891
-		}
3892
-	}
3832
+    /**
3833
+     * Handle the status transition.
3834
+     */
3835
+    protected function status_transition() {
3836
+        $status_transition = $this->status_transition;
3837
+
3838
+        // Reset status transition variable.
3839
+        $this->status_transition = false;
3840
+
3841
+        if ( $status_transition ) {
3842
+            try {
3843
+
3844
+                // Fire a hook for the status change.
3845
+                do_action( 'getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition );
3846
+
3847
+                // @deprecated this is deprecated and will be removed in the future.
3848
+                do_action( 'wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3849
+
3850
+                if ( ! empty( $status_transition['from'] ) ) {
3851
+
3852
+                    /* translators: 1: old invoice status 2: new invoice status */
3853
+                    $transition_note = sprintf( __( 'Status changed from %1$s to %2$s.', 'invoicing' ), wpinv_status_nicename( $status_transition['from'], $this ), wpinv_status_nicename( $status_transition['to'], $this ) );
3854
+
3855
+                    // Fire another hook.
3856
+                    do_action( 'getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this );
3857
+                    do_action( 'getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to'] );
3858
+
3859
+                    // @deprecated this is deprecated and will be removed in the future.
3860
+                    do_action( 'wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3861
+
3862
+                    // Note the transition occurred.
3863
+                    $this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), false, $status_transition['manual'] );
3864
+
3865
+                    // Work out if this was for a payment, and trigger a payment_status hook instead.
3866
+                    if (
3867
+                        in_array( $status_transition['from'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3868
+                        && in_array( $status_transition['to'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3869
+                    ) {
3870
+                        do_action( 'getpaid_invoice_payment_status_changed', $this, $status_transition );
3871
+                    }
3872
+
3873
+                    // Work out if this was for a payment reversal, and trigger a payment_status_reversed hook instead.
3874
+                    if (
3875
+                        in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3876
+                        && in_array( $status_transition['to'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3877
+                    ) {
3878
+                        do_action( 'getpaid_invoice_payment_status_reversed', $this, $status_transition );
3879
+                    }
3880
+                } else {
3881
+                    /* translators: %s: new invoice status */
3882
+                    $transition_note = sprintf( __( 'Status set to %s.', 'invoicing' ), wpinv_status_nicename( $status_transition['to'], $this ) );
3883
+
3884
+                    // Note the transition occurred.
3885
+                    $this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), 0, $status_transition['manual'] );
3886
+
3887
+                }
3888
+            } catch ( Exception $e ) {
3889
+                $this->add_note( __( 'Error during status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
3890
+            }
3891
+        }
3892
+    }
3893 3893
 
3894
-	/**
3895
-	 * Updates an invoice status.
3896
-	 */
3897
-	public function update_status( $new_status = false, $note = '', $manual = false ) {
3894
+    /**
3895
+     * Updates an invoice status.
3896
+     */
3897
+    public function update_status( $new_status = false, $note = '', $manual = false ) {
3898 3898
 
3899
-		// Fires before updating a status.
3900
-		do_action( 'wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status( 'edit' ) );
3899
+        // Fires before updating a status.
3900
+        do_action( 'wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status( 'edit' ) );
3901 3901
 
3902
-		// Update the status.
3903
-		$this->set_status( $new_status, $note, $manual );
3902
+        // Update the status.
3903
+        $this->set_status( $new_status, $note, $manual );
3904 3904
 
3905
-		// Save the order.
3906
-		return $this->save();
3905
+        // Save the order.
3906
+        return $this->save();
3907 3907
 
3908
-	}
3908
+    }
3909 3909
 
3910
-	/**
3911
-	 * @deprecated
3912
-	 */
3913
-	public function refresh_item_ids() {
3910
+    /**
3911
+     * @deprecated
3912
+     */
3913
+    public function refresh_item_ids() {
3914 3914
         $item_ids = implode( ',', array_unique( wp_list_pluck( $this->get_cart_details(), 'item_id' ) ) );
3915 3915
         update_post_meta( $this->get_id(), '_wpinv_item_ids', $item_ids );
3916
-	}
3916
+    }
3917 3917
 
3918
-	/**
3919
-	 * @deprecated
3920
-	 */
3921
-	public function update_items( $temp = false ) {
3918
+    /**
3919
+     * @deprecated
3920
+     */
3921
+    public function update_items( $temp = false ) {
3922 3922
 
3923
-		$this->set_items( $this->get_items() );
3923
+        $this->set_items( $this->get_items() );
3924 3924
 
3925
-		if ( ! $temp ) {
3926
-			$this->save();
3927
-		}
3925
+        if ( ! $temp ) {
3926
+            $this->save();
3927
+        }
3928 3928
 
3929 3929
         return $this;
3930
-	}
3930
+    }
3931 3931
 
3932
-	/**
3933
-	 * @deprecated
3934
-	 */
3932
+    /**
3933
+     * @deprecated
3934
+     */
3935 3935
     public function validate_discount() {
3936 3936
 
3937 3937
         $discount_code = $this->get_discount_code();
@@ -3947,101 +3947,101 @@  discard block
 block discarded – undo
3947 3947
 
3948 3948
     }
3949 3949
 
3950
-	/**
3951
-	 * Refunds an invoice.
3952
-	 */
3950
+    /**
3951
+     * Refunds an invoice.
3952
+     */
3953 3953
     public function refund() {
3954
-		$this->set_status( 'wpi-refunded' );
3954
+        $this->set_status( 'wpi-refunded' );
3955 3955
         $this->save();
3956
-	}
3956
+    }
3957 3957
 
3958
-	/**
3959
-	 * Marks an invoice as paid.
3960
-	 *
3961
-	 * @param string $transaction_id
3962
-	 */
3958
+    /**
3959
+     * Marks an invoice as paid.
3960
+     *
3961
+     * @param string $transaction_id
3962
+     */
3963 3963
     public function mark_paid( $transaction_id = null, $note = '' ) {
3964 3964
 
3965
-		// Set the transaction id.
3966
-		if ( empty( $transaction_id ) ) {
3967
-			$transaction_id = $this->generate_key( 'trans_' );
3968
-		}
3965
+        // Set the transaction id.
3966
+        if ( empty( $transaction_id ) ) {
3967
+            $transaction_id = $this->generate_key( 'trans_' );
3968
+        }
3969 3969
 
3970
-		if ( ! $this->get_transaction_id() ) {
3971
-			$this->set_transaction_id( $transaction_id );
3972
-		}
3970
+        if ( ! $this->get_transaction_id() ) {
3971
+            $this->set_transaction_id( $transaction_id );
3972
+        }
3973 3973
 
3974
-		if ( $this->is_paid() && 'wpi-processing' != $this->get_status() ) {
3975
-			return $this->save();
3976
-		}
3974
+        if ( $this->is_paid() && 'wpi-processing' != $this->get_status() ) {
3975
+            return $this->save();
3976
+        }
3977 3977
 
3978
-		// Set the completed date.
3979
-		$this->set_date_completed( current_time( 'mysql' ) );
3978
+        // Set the completed date.
3979
+        $this->set_date_completed( current_time( 'mysql' ) );
3980 3980
 
3981
-		// Set the new status.
3982
-		$gateway = sanitize_text_field( $this->get_gateway_title() );
3983
-		if ( $this->is_renewal() || ! $this->is_parent() ) {
3981
+        // Set the new status.
3982
+        $gateway = sanitize_text_field( $this->get_gateway_title() );
3983
+        if ( $this->is_renewal() || ! $this->is_parent() ) {
3984 3984
 
3985
-			$_note = wp_sprintf( __( 'Renewed via %s', 'invoicing' ), $gateway );
3986
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3985
+            $_note = wp_sprintf( __( 'Renewed via %s', 'invoicing' ), $gateway );
3986
+            $_note = $_note . empty( $note ) ? '' : " ($note)";
3987 3987
 
3988
-			if ( 'none' == $this->get_gateway() ) {
3989
-				$_note = $note;
3990
-			}
3988
+            if ( 'none' == $this->get_gateway() ) {
3989
+                $_note = $note;
3990
+            }
3991 3991
 
3992
-			$this->set_status( 'wpi-renewal', $_note );
3992
+            $this->set_status( 'wpi-renewal', $_note );
3993 3993
 
3994
-		} else {
3994
+        } else {
3995 3995
 
3996
-			$_note = wp_sprintf( __( 'Paid via %s', 'invoicing' ), $gateway );
3997
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3996
+            $_note = wp_sprintf( __( 'Paid via %s', 'invoicing' ), $gateway );
3997
+            $_note = $_note . empty( $note ) ? '' : " ($note)";
3998 3998
 
3999
-			if ( 'none' == $this->get_gateway() ) {
4000
-				$_note = $note;
4001
-			}
3999
+            if ( 'none' == $this->get_gateway() ) {
4000
+                $_note = $note;
4001
+            }
4002 4002
 
4003
-			$this->set_status( 'publish', $_note );
4003
+            $this->set_status( 'publish', $_note );
4004 4004
 
4005
-		}
4005
+        }
4006 4006
 
4007
-		// Set checkout mode.
4008
-		$mode = wpinv_is_test_mode( $this->get_gateway() ) ? 'test' : 'live';
4009
-		$this->set_mode( $mode );
4007
+        // Set checkout mode.
4008
+        $mode = wpinv_is_test_mode( $this->get_gateway() ) ? 'test' : 'live';
4009
+        $this->set_mode( $mode );
4010 4010
 
4011
-		// Save the invoice.
4011
+        // Save the invoice.
4012 4012
         $this->save();
4013
-	}
4014
-
4015
-	/**
4016
-	 * Save data to the database.
4017
-	 *
4018
-	 * @since 1.0.19
4019
-	 * @return int invoice ID
4020
-	 */
4021
-	public function save() {
4022
-		$this->maybe_set_date_paid();
4023
-		$this->maybe_set_key();
4024
-		parent::save();
4025
-		$this->clear_cache();
4026
-		$this->status_transition();
4027
-		return $this->get_id();
4028
-	}
4029
-
4030
-	/**
4013
+    }
4014
+
4015
+    /**
4016
+     * Save data to the database.
4017
+     *
4018
+     * @since 1.0.19
4019
+     * @return int invoice ID
4020
+     */
4021
+    public function save() {
4022
+        $this->maybe_set_date_paid();
4023
+        $this->maybe_set_key();
4024
+        parent::save();
4025
+        $this->clear_cache();
4026
+        $this->status_transition();
4027
+        return $this->get_id();
4028
+    }
4029
+
4030
+    /**
4031 4031
      * Clears the subscription's cache.
4032 4032
      */
4033 4033
     public function clear_cache() {
4034
-		if ( $this->get_key() ) {
4035
-			wp_cache_delete( $this->get_key(), 'getpaid_invoice_keys_to_invoice_ids' );
4036
-		}
4037
-
4038
-		if ( $this->get_number() ) {
4039
-			wp_cache_delete( $this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids' );
4040
-		}
4041
-
4042
-		if ( $this->get_transaction_id() ) {
4043
-			wp_cache_delete( $this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
4044
-		}
4045
-	}
4034
+        if ( $this->get_key() ) {
4035
+            wp_cache_delete( $this->get_key(), 'getpaid_invoice_keys_to_invoice_ids' );
4036
+        }
4037
+
4038
+        if ( $this->get_number() ) {
4039
+            wp_cache_delete( $this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids' );
4040
+        }
4041
+
4042
+        if ( $this->get_transaction_id() ) {
4043
+            wp_cache_delete( $this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
4044
+        }
4045
+    }
4046 4046
 
4047 4047
 }
Please login to merge, or discard this patch.
Spacing   +817 added lines, -817 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
  * Invoice class.
@@ -145,39 +145,39 @@  discard block
 block discarded – undo
145 145
 	 *
146 146
 	 * @param  int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object to read.
147 147
 	 */
148
-    public function __construct( $invoice = 0 ) {
148
+    public function __construct($invoice = 0) {
149 149
 
150
-        parent::__construct( $invoice );
150
+        parent::__construct($invoice);
151 151
 
152
-		if ( ! empty( $invoice ) && is_numeric( $invoice ) && getpaid_is_invoice_post_type( get_post_type( (int) $invoice ) ) ) {
153
-			$this->set_id( (int) $invoice );
154
-		} elseif ( $invoice instanceof self ) {
155
-			$this->set_id( $invoice->get_id() );
156
-		} elseif ( ! empty( $invoice->ID ) ) {
157
-			$this->set_id( $invoice->ID );
158
-		} elseif ( is_array( $invoice ) ) {
159
-			$this->set_props( $invoice );
152
+		if (!empty($invoice) && is_numeric($invoice) && getpaid_is_invoice_post_type(get_post_type((int) $invoice))) {
153
+			$this->set_id((int) $invoice);
154
+		} elseif ($invoice instanceof self) {
155
+			$this->set_id($invoice->get_id());
156
+		} elseif (!empty($invoice->ID)) {
157
+			$this->set_id($invoice->ID);
158
+		} elseif (is_array($invoice)) {
159
+			$this->set_props($invoice);
160 160
 
161
-			if ( isset( $invoice['ID'] ) ) {
162
-				$this->set_id( $invoice['ID'] );
161
+			if (isset($invoice['ID'])) {
162
+				$this->set_id($invoice['ID']);
163 163
 			}
164
-} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'key' ) ) {
165
-			$this->set_id( $invoice_id );
166
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'number' ) ) {
167
-			$this->set_id( $invoice_id );
168
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
169
-			$this->set_id( $invoice_id );
164
+} elseif (is_string($invoice) && $invoice_id = self::get_invoice_id_by_field($invoice, 'key')) {
165
+			$this->set_id($invoice_id);
166
+		} elseif (is_string($invoice) && $invoice_id = self::get_invoice_id_by_field($invoice, 'number')) {
167
+			$this->set_id($invoice_id);
168
+		} elseif (is_string($invoice) && $invoice_id = self::get_invoice_id_by_field($invoice, 'transaction_id')) {
169
+			$this->set_id($invoice_id);
170 170
 		} else {
171
-			$this->set_object_read( true );
171
+			$this->set_object_read(true);
172 172
 		}
173 173
 
174 174
         // Load the datastore.
175
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
175
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
176 176
 
177
-		if ( $this->get_id() > 0 ) {
178
-            $this->post = get_post( $this->get_id() );
177
+		if ($this->get_id() > 0) {
178
+            $this->post = get_post($this->get_id());
179 179
             $this->ID   = $this->get_id();
180
-			$this->data_store->read( $this );
180
+			$this->data_store->read($this);
181 181
         }
182 182
 
183 183
     }
@@ -192,38 +192,38 @@  discard block
 block discarded – undo
192 192
 	 * @since 1.0.15
193 193
 	 * @return int
194 194
 	 */
195
-	public static function get_invoice_id_by_field( $value, $field = 'key' ) {
195
+	public static function get_invoice_id_by_field($value, $field = 'key') {
196 196
         global $wpdb;
197 197
 
198 198
 		// Trim the value.
199
-		$value = trim( $value );
199
+		$value = trim($value);
200 200
 
201
-		if ( empty( $value ) ) {
201
+		if (empty($value)) {
202 202
 			return 0;
203 203
 		}
204 204
 
205 205
         // Valid fields.
206
-        $fields = array( 'key', 'number', 'transaction_id' );
206
+        $fields = array('key', 'number', 'transaction_id');
207 207
 
208 208
 		// Ensure a field has been passed.
209
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
209
+		if (empty($field) || !in_array($field, $fields)) {
210 210
 			return 0;
211 211
 		}
212 212
 
213 213
 		// Maybe retrieve from the cache.
214
-		$invoice_id   = wp_cache_get( $value, "getpaid_invoice_{$field}s_to_invoice_ids" );
215
-		if ( false !== $invoice_id ) {
214
+		$invoice_id = wp_cache_get($value, "getpaid_invoice_{$field}s_to_invoice_ids");
215
+		if (false !== $invoice_id) {
216 216
 			return $invoice_id;
217 217
 		}
218 218
 
219 219
         // Fetch from the db.
220 220
         $table       = $wpdb->prefix . 'getpaid_invoices';
221 221
         $invoice_id  = (int) $wpdb->get_var(
222
-            $wpdb->prepare( "SELECT `post_id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
222
+            $wpdb->prepare("SELECT `post_id` FROM $table WHERE `$field`=%s LIMIT 1", $value)
223 223
         );
224 224
 
225 225
 		// Update the cache with our data
226
-		wp_cache_set( $value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids" );
226
+		wp_cache_set($value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids");
227 227
 
228 228
 		return $invoice_id;
229 229
     }
@@ -231,8 +231,8 @@  discard block
 block discarded – undo
231 231
     /**
232 232
      * Checks if an invoice key is set.
233 233
      */
234
-    public function _isset( $key ) {
235
-        return isset( $this->data[ $key ] ) || method_exists( $this, "get_$key" );
234
+    public function _isset($key) {
235
+        return isset($this->data[$key]) || method_exists($this, "get_$key");
236 236
     }
237 237
 
238 238
     /*
@@ -257,8 +257,8 @@  discard block
 block discarded – undo
257 257
 	 * @param  string $context View or edit context.
258 258
 	 * @return int
259 259
 	 */
260
-	public function get_parent_id( $context = 'view' ) {
261
-		return (int) $this->get_prop( 'parent_id', $context );
260
+	public function get_parent_id($context = 'view') {
261
+		return (int) $this->get_prop('parent_id', $context);
262 262
     }
263 263
 
264 264
     /**
@@ -268,7 +268,7 @@  discard block
 block discarded – undo
268 268
 	 * @return WPInv_Invoice
269 269
 	 */
270 270
     public function get_parent_payment() {
271
-        return new WPInv_Invoice( $this->get_parent_id() );
271
+        return new WPInv_Invoice($this->get_parent_id());
272 272
     }
273 273
 
274 274
     /**
@@ -288,8 +288,8 @@  discard block
 block discarded – undo
288 288
 	 * @param  string $context View or edit context.
289 289
 	 * @return string
290 290
 	 */
291
-	public function get_status( $context = 'view' ) {
292
-		return $this->get_prop( 'status', $context );
291
+	public function get_status($context = 'view') {
292
+		return $this->get_prop('status', $context);
293 293
 	}
294 294
 
295 295
 	/**
@@ -299,7 +299,7 @@  discard block
 block discarded – undo
299 299
 	 * @return array
300 300
 	 */
301 301
 	public function get_all_statuses() {
302
-		return wpinv_get_invoice_statuses( true, true, $this );
302
+		return wpinv_get_invoice_statuses(true, true, $this);
303 303
     }
304 304
 
305 305
     /**
@@ -311,9 +311,9 @@  discard block
 block discarded – undo
311 311
     public function get_status_nicename() {
312 312
 		$statuses = $this->get_all_statuses();
313 313
 
314
-        $status = isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : $this->get_status();
314
+        $status = isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : $this->get_status();
315 315
 
316
-        return apply_filters( 'wpinv_get_invoice_status_nicename', $status, $this );
316
+        return apply_filters('wpinv_get_invoice_status_nicename', $status, $this);
317 317
     }
318 318
 
319 319
 	/**
@@ -324,7 +324,7 @@  discard block
 block discarded – undo
324 324
 	 */
325 325
 	public function get_status_class() {
326 326
 		$statuses = getpaid_get_invoice_status_classes();
327
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
327
+		return isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : 'bg-dark';
328 328
 	}
329 329
 
330 330
 	/**
@@ -335,9 +335,9 @@  discard block
 block discarded – undo
335 335
      */
336 336
     public function get_status_label_html() {
337 337
 
338
-		$status_label = sanitize_text_field( $this->get_status_nicename() );
339
-		$status       = sanitize_html_class( $this->get_status() );
340
-		$class        = esc_attr( $this->get_status_class() );
338
+		$status_label = sanitize_text_field($this->get_status_nicename());
339
+		$status       = sanitize_html_class($this->get_status());
340
+		$class        = esc_attr($this->get_status_class());
341 341
 
342 342
 		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
343 343
 	}
@@ -349,23 +349,23 @@  discard block
 block discarded – undo
349 349
 	 * @param  string $context View or edit context.
350 350
 	 * @return string
351 351
 	 */
352
-	public function get_version( $context = 'view' ) {
353
-		return $this->get_prop( 'version', $context );
352
+	public function get_version($context = 'view') {
353
+		return $this->get_prop('version', $context);
354 354
 	}
355 355
 
356 356
 	/**
357 357
 	 * @deprecated
358 358
 	 */
359
-	public function get_invoice_date( $format = true ) {
360
-		$date      = getpaid_format_date( $this->get_date_completed() );
361
-		$date      = empty( $date ) ? $this->get_date_created() : $this->get_date_completed();
362
-		$formatted = getpaid_format_date( $date );
359
+	public function get_invoice_date($format = true) {
360
+		$date      = getpaid_format_date($this->get_date_completed());
361
+		$date      = empty($date) ? $this->get_date_created() : $this->get_date_completed();
362
+		$formatted = getpaid_format_date($date);
363 363
 
364
-		if ( $format ) {
364
+		if ($format) {
365 365
 			return $formatted;
366 366
 		}
367 367
 
368
-		return empty( $formatted ) ? '' : $date;
368
+		return empty($formatted) ? '' : $date;
369 369
 
370 370
     }
371 371
 
@@ -376,8 +376,8 @@  discard block
 block discarded – undo
376 376
 	 * @param  string $context View or edit context.
377 377
 	 * @return string
378 378
 	 */
379
-	public function get_date_created( $context = 'view' ) {
380
-		return $this->get_prop( 'date_created', $context );
379
+	public function get_date_created($context = 'view') {
380
+		return $this->get_prop('date_created', $context);
381 381
 	}
382 382
 
383 383
 	/**
@@ -387,8 +387,8 @@  discard block
 block discarded – undo
387 387
 	 * @param  string $context View or edit context.
388 388
 	 * @return string
389 389
 	 */
390
-	public function get_created_date( $context = 'view' ) {
391
-		return $this->get_date_created( $context );
390
+	public function get_created_date($context = 'view') {
391
+		return $this->get_date_created($context);
392 392
     }
393 393
 
394 394
     /**
@@ -398,11 +398,11 @@  discard block
 block discarded – undo
398 398
 	 * @param  string $context View or edit context.
399 399
 	 * @return string
400 400
 	 */
401
-	public function get_date_created_gmt( $context = 'view' ) {
402
-        $date = $this->get_date_created( $context );
401
+	public function get_date_created_gmt($context = 'view') {
402
+        $date = $this->get_date_created($context);
403 403
 
404
-        if ( $date ) {
405
-            $date = get_gmt_from_date( $date );
404
+        if ($date) {
405
+            $date = get_gmt_from_date($date);
406 406
         }
407 407
 		return $date;
408 408
     }
@@ -414,8 +414,8 @@  discard block
 block discarded – undo
414 414
 	 * @param  string $context View or edit context.
415 415
 	 * @return string
416 416
 	 */
417
-	public function get_date_modified( $context = 'view' ) {
418
-		return $this->get_prop( 'date_modified', $context );
417
+	public function get_date_modified($context = 'view') {
418
+		return $this->get_prop('date_modified', $context);
419 419
 	}
420 420
 
421 421
 	/**
@@ -425,8 +425,8 @@  discard block
 block discarded – undo
425 425
 	 * @param  string $context View or edit context.
426 426
 	 * @return string
427 427
 	 */
428
-	public function get_modified_date( $context = 'view' ) {
429
-		return $this->get_date_modified( $context );
428
+	public function get_modified_date($context = 'view') {
429
+		return $this->get_date_modified($context);
430 430
     }
431 431
 
432 432
     /**
@@ -436,11 +436,11 @@  discard block
 block discarded – undo
436 436
 	 * @param  string $context View or edit context.
437 437
 	 * @return string
438 438
 	 */
439
-	public function get_date_modified_gmt( $context = 'view' ) {
440
-        $date = $this->get_date_modified( $context );
439
+	public function get_date_modified_gmt($context = 'view') {
440
+        $date = $this->get_date_modified($context);
441 441
 
442
-        if ( $date ) {
443
-            $date = get_gmt_from_date( $date );
442
+        if ($date) {
443
+            $date = get_gmt_from_date($date);
444 444
         }
445 445
 		return $date;
446 446
     }
@@ -452,8 +452,8 @@  discard block
 block discarded – undo
452 452
 	 * @param  string $context View or edit context.
453 453
 	 * @return string
454 454
 	 */
455
-	public function get_due_date( $context = 'view' ) {
456
-		return $this->get_prop( 'due_date', $context );
455
+	public function get_due_date($context = 'view') {
456
+		return $this->get_prop('due_date', $context);
457 457
     }
458 458
 
459 459
     /**
@@ -463,8 +463,8 @@  discard block
 block discarded – undo
463 463
 	 * @param  string $context View or edit context.
464 464
 	 * @return string
465 465
 	 */
466
-	public function get_date_due( $context = 'view' ) {
467
-		return $this->get_due_date( $context );
466
+	public function get_date_due($context = 'view') {
467
+		return $this->get_due_date($context);
468 468
     }
469 469
 
470 470
     /**
@@ -474,11 +474,11 @@  discard block
 block discarded – undo
474 474
 	 * @param  string $context View or edit context.
475 475
 	 * @return string
476 476
 	 */
477
-	public function get_due_date_gmt( $context = 'view' ) {
478
-        $date = $this->get_due_date( $context );
477
+	public function get_due_date_gmt($context = 'view') {
478
+        $date = $this->get_due_date($context);
479 479
 
480
-        if ( $date ) {
481
-            $date = get_gmt_from_date( $date );
480
+        if ($date) {
481
+            $date = get_gmt_from_date($date);
482 482
         }
483 483
 		return $date;
484 484
     }
@@ -490,8 +490,8 @@  discard block
 block discarded – undo
490 490
 	 * @param  string $context View or edit context.
491 491
 	 * @return string
492 492
 	 */
493
-	public function get_gmt_date_due( $context = 'view' ) {
494
-		return $this->get_due_date_gmt( $context );
493
+	public function get_gmt_date_due($context = 'view') {
494
+		return $this->get_due_date_gmt($context);
495 495
     }
496 496
 
497 497
     /**
@@ -501,8 +501,8 @@  discard block
 block discarded – undo
501 501
 	 * @param  string $context View or edit context.
502 502
 	 * @return string
503 503
 	 */
504
-	public function get_completed_date( $context = 'view' ) {
505
-		return $this->get_prop( 'completed_date', $context );
504
+	public function get_completed_date($context = 'view') {
505
+		return $this->get_prop('completed_date', $context);
506 506
     }
507 507
 
508 508
     /**
@@ -512,8 +512,8 @@  discard block
 block discarded – undo
512 512
 	 * @param  string $context View or edit context.
513 513
 	 * @return string
514 514
 	 */
515
-	public function get_date_completed( $context = 'view' ) {
516
-		return $this->get_completed_date( $context );
515
+	public function get_date_completed($context = 'view') {
516
+		return $this->get_completed_date($context);
517 517
     }
518 518
 
519 519
     /**
@@ -523,11 +523,11 @@  discard block
 block discarded – undo
523 523
 	 * @param  string $context View or edit context.
524 524
 	 * @return string
525 525
 	 */
526
-	public function get_completed_date_gmt( $context = 'view' ) {
527
-        $date = $this->get_completed_date( $context );
526
+	public function get_completed_date_gmt($context = 'view') {
527
+        $date = $this->get_completed_date($context);
528 528
 
529
-        if ( $date ) {
530
-            $date = get_gmt_from_date( $date );
529
+        if ($date) {
530
+            $date = get_gmt_from_date($date);
531 531
         }
532 532
 		return $date;
533 533
     }
@@ -539,8 +539,8 @@  discard block
 block discarded – undo
539 539
 	 * @param  string $context View or edit context.
540 540
 	 * @return string
541 541
 	 */
542
-	public function get_gmt_completed_date( $context = 'view' ) {
543
-		return $this->get_completed_date_gmt( $context );
542
+	public function get_gmt_completed_date($context = 'view') {
543
+		return $this->get_completed_date_gmt($context);
544 544
     }
545 545
 
546 546
     /**
@@ -550,12 +550,12 @@  discard block
 block discarded – undo
550 550
 	 * @param  string $context View or edit context.
551 551
 	 * @return string
552 552
 	 */
553
-	public function get_number( $context = 'view' ) {
554
-		$number = $this->get_prop( 'number', $context );
553
+	public function get_number($context = 'view') {
554
+		$number = $this->get_prop('number', $context);
555 555
 
556
-		if ( empty( $number ) ) {
556
+		if (empty($number)) {
557 557
 			$number = $this->generate_number();
558
-			$this->set_number( $this->generate_number() );
558
+			$this->set_number($this->generate_number());
559 559
 		}
560 560
 
561 561
 		return $number;
@@ -569,8 +569,8 @@  discard block
 block discarded – undo
569 569
 	public function maybe_set_number() {
570 570
         $number = $this->get_number();
571 571
 
572
-        if ( empty( $number ) || $this->get_id() == $number ) {
573
-			$this->set_number( $this->generate_number() );
572
+        if (empty($number) || $this->get_id() == $number) {
573
+			$this->set_number($this->generate_number());
574 574
         }
575 575
 
576 576
 	}
@@ -582,8 +582,8 @@  discard block
 block discarded – undo
582 582
 	 * @param  string $context View or edit context.
583 583
 	 * @return string
584 584
 	 */
585
-	public function get_key( $context = 'view' ) {
586
-        return $this->get_prop( 'key', $context );
585
+	public function get_key($context = 'view') {
586
+        return $this->get_prop('key', $context);
587 587
 	}
588 588
 
589 589
 	/**
@@ -594,9 +594,9 @@  discard block
 block discarded – undo
594 594
 	public function maybe_set_key() {
595 595
         $key = $this->get_key();
596 596
 
597
-        if ( empty( $key ) ) {
598
-            $key = $this->generate_key( $this->get_type() . '_' );
599
-            $this->set_key( $key );
597
+        if (empty($key)) {
598
+            $key = $this->generate_key($this->get_type() . '_');
599
+            $this->set_key($key);
600 600
         }
601 601
 
602 602
     }
@@ -608,8 +608,8 @@  discard block
 block discarded – undo
608 608
 	 * @param  string $context View or edit context.
609 609
 	 * @return string
610 610
 	 */
611
-	public function get_type( $context = 'view' ) {
612
-        return $this->get_prop( 'type', $context );
611
+	public function get_type($context = 'view') {
612
+        return $this->get_prop('type', $context);
613 613
 	}
614 614
 
615 615
 	/**
@@ -619,7 +619,7 @@  discard block
 block discarded – undo
619 619
 	 * @return string
620 620
 	 */
621 621
 	public function get_invoice_quote_type() {
622
-        return getpaid_get_post_type_label( $this->get_post_type(), false );
622
+        return getpaid_get_post_type_label($this->get_post_type(), false);
623 623
     }
624 624
 
625 625
     /**
@@ -629,8 +629,8 @@  discard block
 block discarded – undo
629 629
 	 * @param  string $context View or edit context.
630 630
 	 * @return string
631 631
 	 */
632
-	public function get_label( $context = 'view' ) {
633
-        return getpaid_get_post_type_label( $this->get_post_type( $context ), false );
632
+	public function get_label($context = 'view') {
633
+        return getpaid_get_post_type_label($this->get_post_type($context), false);
634 634
 	}
635 635
 
636 636
 	/**
@@ -640,8 +640,8 @@  discard block
 block discarded – undo
640 640
 	 * @param  string $context View or edit context.
641 641
 	 * @return string
642 642
 	 */
643
-	public function get_post_type( $context = 'view' ) {
644
-        return $this->get_prop( 'post_type', $context );
643
+	public function get_post_type($context = 'view') {
644
+        return $this->get_prop('post_type', $context);
645 645
     }
646 646
 
647 647
     /**
@@ -651,8 +651,8 @@  discard block
 block discarded – undo
651 651
 	 * @param  string $context View or edit context.
652 652
 	 * @return string
653 653
 	 */
654
-	public function get_mode( $context = 'view' ) {
655
-        return $this->get_prop( 'mode', $context );
654
+	public function get_mode($context = 'view') {
655
+        return $this->get_prop('mode', $context);
656 656
     }
657 657
 
658 658
     /**
@@ -662,13 +662,13 @@  discard block
 block discarded – undo
662 662
 	 * @param  string $context View or edit context.
663 663
 	 * @return string
664 664
 	 */
665
-	public function get_path( $context = 'view' ) {
666
-        $path   = $this->get_prop( 'path', $context );
665
+	public function get_path($context = 'view') {
666
+        $path = $this->get_prop('path', $context);
667 667
 		$prefix = $this->get_type();
668 668
 
669
-		if ( 0 !== strpos( $path, $prefix ) ) {
670
-			$path = sanitize_title( $prefix . '-' . $this->get_id() );
671
-			$this->set_path( $path );
669
+		if (0 !== strpos($path, $prefix)) {
670
+			$path = sanitize_title($prefix . '-' . $this->get_id());
671
+			$this->set_path($path);
672 672
 		}
673 673
 
674 674
 		return $path;
@@ -681,8 +681,8 @@  discard block
 block discarded – undo
681 681
 	 * @param  string $context View or edit context.
682 682
 	 * @return string
683 683
 	 */
684
-	public function get_name( $context = 'view' ) {
685
-        return $this->get_prop( 'title', $context );
684
+	public function get_name($context = 'view') {
685
+        return $this->get_prop('title', $context);
686 686
     }
687 687
 
688 688
     /**
@@ -692,8 +692,8 @@  discard block
 block discarded – undo
692 692
 	 * @param  string $context View or edit context.
693 693
 	 * @return string
694 694
 	 */
695
-	public function get_title( $context = 'view' ) {
696
-		return $this->get_name( $context );
695
+	public function get_title($context = 'view') {
696
+		return $this->get_name($context);
697 697
     }
698 698
 
699 699
     /**
@@ -703,8 +703,8 @@  discard block
 block discarded – undo
703 703
 	 * @param  string $context View or edit context.
704 704
 	 * @return string
705 705
 	 */
706
-	public function get_description( $context = 'view' ) {
707
-		return $this->get_prop( 'description', $context );
706
+	public function get_description($context = 'view') {
707
+		return $this->get_prop('description', $context);
708 708
     }
709 709
 
710 710
     /**
@@ -714,8 +714,8 @@  discard block
 block discarded – undo
714 714
 	 * @param  string $context View or edit context.
715 715
 	 * @return string
716 716
 	 */
717
-	public function get_excerpt( $context = 'view' ) {
718
-		return $this->get_description( $context );
717
+	public function get_excerpt($context = 'view') {
718
+		return $this->get_description($context);
719 719
     }
720 720
 
721 721
     /**
@@ -725,8 +725,8 @@  discard block
 block discarded – undo
725 725
 	 * @param  string $context View or edit context.
726 726
 	 * @return string
727 727
 	 */
728
-	public function get_summary( $context = 'view' ) {
729
-		return $this->get_description( $context );
728
+	public function get_summary($context = 'view') {
729
+		return $this->get_description($context);
730 730
     }
731 731
 
732 732
     /**
@@ -736,26 +736,26 @@  discard block
 block discarded – undo
736 736
      * @param  string $context View or edit context.
737 737
 	 * @return array
738 738
 	 */
739
-    public function get_user_info( $context = 'view' ) {
739
+    public function get_user_info($context = 'view') {
740 740
 
741 741
         $user_info = array(
742
-            'user_id'    => $this->get_user_id( $context ),
743
-            'email'      => $this->get_email( $context ),
744
-            'first_name' => $this->get_first_name( $context ),
745
-            'last_name'  => $this->get_last_name( $context ),
746
-            'address'    => $this->get_address( $context ),
747
-            'phone'      => $this->get_phone( $context ),
748
-            'city'       => $this->get_city( $context ),
749
-            'country'    => $this->get_country( $context ),
750
-            'state'      => $this->get_state( $context ),
751
-            'zip'        => $this->get_zip( $context ),
752
-            'company'    => $this->get_company( $context ),
753
-			'company_id' => $this->get_company_id( $context ),
754
-            'vat_number' => $this->get_vat_number( $context ),
755
-            'discount'   => $this->get_discount_code( $context ),
742
+            'user_id'    => $this->get_user_id($context),
743
+            'email'      => $this->get_email($context),
744
+            'first_name' => $this->get_first_name($context),
745
+            'last_name'  => $this->get_last_name($context),
746
+            'address'    => $this->get_address($context),
747
+            'phone'      => $this->get_phone($context),
748
+            'city'       => $this->get_city($context),
749
+            'country'    => $this->get_country($context),
750
+            'state'      => $this->get_state($context),
751
+            'zip'        => $this->get_zip($context),
752
+            'company'    => $this->get_company($context),
753
+			'company_id' => $this->get_company_id($context),
754
+            'vat_number' => $this->get_vat_number($context),
755
+            'discount'   => $this->get_discount_code($context),
756 756
 		);
757 757
 
758
-		return apply_filters( 'wpinv_user_info', $user_info, $this->get_id(), $this );
758
+		return apply_filters('wpinv_user_info', $user_info, $this->get_id(), $this);
759 759
 
760 760
     }
761 761
 
@@ -766,8 +766,8 @@  discard block
 block discarded – undo
766 766
 	 * @param  string $context View or edit context.
767 767
 	 * @return int
768 768
 	 */
769
-	public function get_author( $context = 'view' ) {
770
-		return (int) $this->get_prop( 'author', $context );
769
+	public function get_author($context = 'view') {
770
+		return (int) $this->get_prop('author', $context);
771 771
     }
772 772
 
773 773
     /**
@@ -777,8 +777,8 @@  discard block
 block discarded – undo
777 777
 	 * @param  string $context View or edit context.
778 778
 	 * @return int
779 779
 	 */
780
-	public function get_user_id( $context = 'view' ) {
781
-		return $this->get_author( $context );
780
+	public function get_user_id($context = 'view') {
781
+		return $this->get_author($context);
782 782
     }
783 783
 
784 784
      /**
@@ -788,8 +788,8 @@  discard block
 block discarded – undo
788 788
 	 * @param  string $context View or edit context.
789 789
 	 * @return int
790 790
 	 */
791
-	public function get_customer_id( $context = 'view' ) {
792
-		return $this->get_author( $context );
791
+	public function get_customer_id($context = 'view') {
792
+		return $this->get_author($context);
793 793
     }
794 794
 
795 795
     /**
@@ -799,8 +799,8 @@  discard block
 block discarded – undo
799 799
 	 * @param  string $context View or edit context.
800 800
 	 * @return string
801 801
 	 */
802
-	public function get_ip( $context = 'view' ) {
803
-		return $this->get_prop( 'user_ip', $context );
802
+	public function get_ip($context = 'view') {
803
+		return $this->get_prop('user_ip', $context);
804 804
     }
805 805
 
806 806
     /**
@@ -810,8 +810,8 @@  discard block
 block discarded – undo
810 810
 	 * @param  string $context View or edit context.
811 811
 	 * @return string
812 812
 	 */
813
-	public function get_user_ip( $context = 'view' ) {
814
-		return $this->get_ip( $context );
813
+	public function get_user_ip($context = 'view') {
814
+		return $this->get_ip($context);
815 815
     }
816 816
 
817 817
      /**
@@ -821,8 +821,8 @@  discard block
 block discarded – undo
821 821
 	 * @param  string $context View or edit context.
822 822
 	 * @return string
823 823
 	 */
824
-	public function get_customer_ip( $context = 'view' ) {
825
-		return $this->get_ip( $context );
824
+	public function get_customer_ip($context = 'view') {
825
+		return $this->get_ip($context);
826 826
     }
827 827
 
828 828
     /**
@@ -832,8 +832,8 @@  discard block
 block discarded – undo
832 832
 	 * @param  string $context View or edit context.
833 833
 	 * @return string
834 834
 	 */
835
-	public function get_first_name( $context = 'view' ) {
836
-		return $this->get_prop( 'first_name', $context );
835
+	public function get_first_name($context = 'view') {
836
+		return $this->get_prop('first_name', $context);
837 837
     }
838 838
 
839 839
     /**
@@ -843,8 +843,8 @@  discard block
 block discarded – undo
843 843
 	 * @param  string $context View or edit context.
844 844
 	 * @return string
845 845
 	 */
846
-	public function get_user_first_name( $context = 'view' ) {
847
-		return $this->get_first_name( $context );
846
+	public function get_user_first_name($context = 'view') {
847
+		return $this->get_first_name($context);
848 848
     }
849 849
 
850 850
      /**
@@ -854,8 +854,8 @@  discard block
 block discarded – undo
854 854
 	 * @param  string $context View or edit context.
855 855
 	 * @return string
856 856
 	 */
857
-	public function get_customer_first_name( $context = 'view' ) {
858
-		return $this->get_first_name( $context );
857
+	public function get_customer_first_name($context = 'view') {
858
+		return $this->get_first_name($context);
859 859
     }
860 860
 
861 861
     /**
@@ -865,8 +865,8 @@  discard block
 block discarded – undo
865 865
 	 * @param  string $context View or edit context.
866 866
 	 * @return string
867 867
 	 */
868
-	public function get_last_name( $context = 'view' ) {
869
-		return $this->get_prop( 'last_name', $context );
868
+	public function get_last_name($context = 'view') {
869
+		return $this->get_prop('last_name', $context);
870 870
     }
871 871
 
872 872
     /**
@@ -876,8 +876,8 @@  discard block
 block discarded – undo
876 876
 	 * @param  string $context View or edit context.
877 877
 	 * @return string
878 878
 	 */
879
-	public function get_user_last_name( $context = 'view' ) {
880
-		return $this->get_last_name( $context );
879
+	public function get_user_last_name($context = 'view') {
880
+		return $this->get_last_name($context);
881 881
     }
882 882
 
883 883
     /**
@@ -887,8 +887,8 @@  discard block
 block discarded – undo
887 887
 	 * @param  string $context View or edit context.
888 888
 	 * @return string
889 889
 	 */
890
-	public function get_customer_last_name( $context = 'view' ) {
891
-		return $this->get_last_name( $context );
890
+	public function get_customer_last_name($context = 'view') {
891
+		return $this->get_last_name($context);
892 892
     }
893 893
 
894 894
     /**
@@ -898,22 +898,22 @@  discard block
 block discarded – undo
898 898
 	 * @param  string $context View or edit context.
899 899
 	 * @return string
900 900
 	 */
901
-	public function get_full_name( $context = 'view' ) {
902
-		$name = trim( $this->get_first_name( $context ) . ' ' . $this->get_last_name( $context ) );
901
+	public function get_full_name($context = 'view') {
902
+		$name = trim($this->get_first_name($context) . ' ' . $this->get_last_name($context));
903 903
 
904
-		if ( ! $name ) {
905
-			$user = get_userdata( $this->get_author( $context ) );
904
+		if (!$name) {
905
+			$user = get_userdata($this->get_author($context));
906 906
 
907
-			if ( $user ) {
907
+			if ($user) {
908 908
 				$name = $user->display_name;
909 909
 			}
910 910
 		}
911 911
 
912
-		if ( ! $name ) {
913
-			$name = $this->get_email( $context );
912
+		if (!$name) {
913
+			$name = $this->get_email($context);
914 914
 		}
915 915
 
916
-		return apply_filters( 'wpinv_invoice_user_full_name', $name, $this );
916
+		return apply_filters('wpinv_invoice_user_full_name', $name, $this);
917 917
     }
918 918
 
919 919
     /**
@@ -923,8 +923,8 @@  discard block
 block discarded – undo
923 923
 	 * @param  string $context View or edit context.
924 924
 	 * @return string
925 925
 	 */
926
-	public function get_user_full_name( $context = 'view' ) {
927
-		return $this->get_full_name( $context );
926
+	public function get_user_full_name($context = 'view') {
927
+		return $this->get_full_name($context);
928 928
     }
929 929
 
930 930
     /**
@@ -934,8 +934,8 @@  discard block
 block discarded – undo
934 934
 	 * @param  string $context View or edit context.
935 935
 	 * @return string
936 936
 	 */
937
-	public function get_customer_full_name( $context = 'view' ) {
938
-		return $this->get_full_name( $context );
937
+	public function get_customer_full_name($context = 'view') {
938
+		return $this->get_full_name($context);
939 939
     }
940 940
 
941 941
     /**
@@ -945,8 +945,8 @@  discard block
 block discarded – undo
945 945
 	 * @param  string $context View or edit context.
946 946
 	 * @return string
947 947
 	 */
948
-	public function get_phone( $context = 'view' ) {
949
-		return $this->get_prop( 'phone', $context );
948
+	public function get_phone($context = 'view') {
949
+		return $this->get_prop('phone', $context);
950 950
     }
951 951
 
952 952
     /**
@@ -956,8 +956,8 @@  discard block
 block discarded – undo
956 956
 	 * @param  string $context View or edit context.
957 957
 	 * @return string
958 958
 	 */
959
-	public function get_phone_number( $context = 'view' ) {
960
-		return $this->get_phone( $context );
959
+	public function get_phone_number($context = 'view') {
960
+		return $this->get_phone($context);
961 961
     }
962 962
 
963 963
     /**
@@ -967,8 +967,8 @@  discard block
 block discarded – undo
967 967
 	 * @param  string $context View or edit context.
968 968
 	 * @return string
969 969
 	 */
970
-	public function get_user_phone( $context = 'view' ) {
971
-		return $this->get_phone( $context );
970
+	public function get_user_phone($context = 'view') {
971
+		return $this->get_phone($context);
972 972
     }
973 973
 
974 974
     /**
@@ -978,8 +978,8 @@  discard block
 block discarded – undo
978 978
 	 * @param  string $context View or edit context.
979 979
 	 * @return string
980 980
 	 */
981
-	public function get_customer_phone( $context = 'view' ) {
982
-		return $this->get_phone( $context );
981
+	public function get_customer_phone($context = 'view') {
982
+		return $this->get_phone($context);
983 983
     }
984 984
 
985 985
     /**
@@ -989,8 +989,8 @@  discard block
 block discarded – undo
989 989
 	 * @param  string $context View or edit context.
990 990
 	 * @return string
991 991
 	 */
992
-	public function get_email( $context = 'view' ) {
993
-		return $this->get_prop( 'email', $context );
992
+	public function get_email($context = 'view') {
993
+		return $this->get_prop('email', $context);
994 994
     }
995 995
 
996 996
     /**
@@ -1000,8 +1000,8 @@  discard block
 block discarded – undo
1000 1000
 	 * @param  string $context View or edit context.
1001 1001
 	 * @return string
1002 1002
 	 */
1003
-	public function get_email_address( $context = 'view' ) {
1004
-		return $this->get_email( $context );
1003
+	public function get_email_address($context = 'view') {
1004
+		return $this->get_email($context);
1005 1005
     }
1006 1006
 
1007 1007
     /**
@@ -1011,8 +1011,8 @@  discard block
 block discarded – undo
1011 1011
 	 * @param  string $context View or edit context.
1012 1012
 	 * @return string
1013 1013
 	 */
1014
-	public function get_user_email( $context = 'view' ) {
1015
-		return $this->get_email( $context );
1014
+	public function get_user_email($context = 'view') {
1015
+		return $this->get_email($context);
1016 1016
     }
1017 1017
 
1018 1018
     /**
@@ -1022,8 +1022,8 @@  discard block
 block discarded – undo
1022 1022
 	 * @param  string $context View or edit context.
1023 1023
 	 * @return string
1024 1024
 	 */
1025
-	public function get_customer_email( $context = 'view' ) {
1026
-		return $this->get_email( $context );
1025
+	public function get_customer_email($context = 'view') {
1026
+		return $this->get_email($context);
1027 1027
     }
1028 1028
 
1029 1029
     /**
@@ -1033,9 +1033,9 @@  discard block
 block discarded – undo
1033 1033
 	 * @param  string $context View or edit context.
1034 1034
 	 * @return string
1035 1035
 	 */
1036
-	public function get_country( $context = 'view' ) {
1037
-		$country = $this->get_prop( 'country', $context );
1038
-		return empty( $country ) ? wpinv_get_default_country() : $country;
1036
+	public function get_country($context = 'view') {
1037
+		$country = $this->get_prop('country', $context);
1038
+		return empty($country) ? wpinv_get_default_country() : $country;
1039 1039
     }
1040 1040
 
1041 1041
     /**
@@ -1045,8 +1045,8 @@  discard block
 block discarded – undo
1045 1045
 	 * @param  string $context View or edit context.
1046 1046
 	 * @return string
1047 1047
 	 */
1048
-	public function get_user_country( $context = 'view' ) {
1049
-		return $this->get_country( $context );
1048
+	public function get_user_country($context = 'view') {
1049
+		return $this->get_country($context);
1050 1050
     }
1051 1051
 
1052 1052
     /**
@@ -1056,8 +1056,8 @@  discard block
 block discarded – undo
1056 1056
 	 * @param  string $context View or edit context.
1057 1057
 	 * @return string
1058 1058
 	 */
1059
-	public function get_customer_country( $context = 'view' ) {
1060
-		return $this->get_country( $context );
1059
+	public function get_customer_country($context = 'view') {
1060
+		return $this->get_country($context);
1061 1061
     }
1062 1062
 
1063 1063
     /**
@@ -1067,9 +1067,9 @@  discard block
 block discarded – undo
1067 1067
 	 * @param  string $context View or edit context.
1068 1068
 	 * @return string
1069 1069
 	 */
1070
-	public function get_state( $context = 'view' ) {
1071
-		$state = $this->get_prop( 'state', $context );
1072
-		return empty( $state ) ? wpinv_get_default_state() : $state;
1070
+	public function get_state($context = 'view') {
1071
+		$state = $this->get_prop('state', $context);
1072
+		return empty($state) ? wpinv_get_default_state() : $state;
1073 1073
     }
1074 1074
 
1075 1075
     /**
@@ -1079,8 +1079,8 @@  discard block
 block discarded – undo
1079 1079
 	 * @param  string $context View or edit context.
1080 1080
 	 * @return string
1081 1081
 	 */
1082
-	public function get_user_state( $context = 'view' ) {
1083
-		return $this->get_state( $context );
1082
+	public function get_user_state($context = 'view') {
1083
+		return $this->get_state($context);
1084 1084
     }
1085 1085
 
1086 1086
     /**
@@ -1090,8 +1090,8 @@  discard block
 block discarded – undo
1090 1090
 	 * @param  string $context View or edit context.
1091 1091
 	 * @return string
1092 1092
 	 */
1093
-	public function get_customer_state( $context = 'view' ) {
1094
-		return $this->get_state( $context );
1093
+	public function get_customer_state($context = 'view') {
1094
+		return $this->get_state($context);
1095 1095
     }
1096 1096
 
1097 1097
     /**
@@ -1101,8 +1101,8 @@  discard block
 block discarded – undo
1101 1101
 	 * @param  string $context View or edit context.
1102 1102
 	 * @return string
1103 1103
 	 */
1104
-	public function get_city( $context = 'view' ) {
1105
-		return $this->get_prop( 'city', $context );
1104
+	public function get_city($context = 'view') {
1105
+		return $this->get_prop('city', $context);
1106 1106
     }
1107 1107
 
1108 1108
     /**
@@ -1112,8 +1112,8 @@  discard block
 block discarded – undo
1112 1112
 	 * @param  string $context View or edit context.
1113 1113
 	 * @return string
1114 1114
 	 */
1115
-	public function get_user_city( $context = 'view' ) {
1116
-		return $this->get_city( $context );
1115
+	public function get_user_city($context = 'view') {
1116
+		return $this->get_city($context);
1117 1117
     }
1118 1118
 
1119 1119
     /**
@@ -1123,8 +1123,8 @@  discard block
 block discarded – undo
1123 1123
 	 * @param  string $context View or edit context.
1124 1124
 	 * @return string
1125 1125
 	 */
1126
-	public function get_customer_city( $context = 'view' ) {
1127
-		return $this->get_city( $context );
1126
+	public function get_customer_city($context = 'view') {
1127
+		return $this->get_city($context);
1128 1128
     }
1129 1129
 
1130 1130
     /**
@@ -1134,8 +1134,8 @@  discard block
 block discarded – undo
1134 1134
 	 * @param  string $context View or edit context.
1135 1135
 	 * @return string
1136 1136
 	 */
1137
-	public function get_zip( $context = 'view' ) {
1138
-		return $this->get_prop( 'zip', $context );
1137
+	public function get_zip($context = 'view') {
1138
+		return $this->get_prop('zip', $context);
1139 1139
     }
1140 1140
 
1141 1141
     /**
@@ -1145,8 +1145,8 @@  discard block
 block discarded – undo
1145 1145
 	 * @param  string $context View or edit context.
1146 1146
 	 * @return string
1147 1147
 	 */
1148
-	public function get_user_zip( $context = 'view' ) {
1149
-		return $this->get_zip( $context );
1148
+	public function get_user_zip($context = 'view') {
1149
+		return $this->get_zip($context);
1150 1150
     }
1151 1151
 
1152 1152
     /**
@@ -1156,8 +1156,8 @@  discard block
 block discarded – undo
1156 1156
 	 * @param  string $context View or edit context.
1157 1157
 	 * @return string
1158 1158
 	 */
1159
-	public function get_customer_zip( $context = 'view' ) {
1160
-		return $this->get_zip( $context );
1159
+	public function get_customer_zip($context = 'view') {
1160
+		return $this->get_zip($context);
1161 1161
     }
1162 1162
 
1163 1163
     /**
@@ -1167,8 +1167,8 @@  discard block
 block discarded – undo
1167 1167
 	 * @param  string $context View or edit context.
1168 1168
 	 * @return string
1169 1169
 	 */
1170
-	public function get_company( $context = 'view' ) {
1171
-		return $this->get_prop( 'company', $context );
1170
+	public function get_company($context = 'view') {
1171
+		return $this->get_prop('company', $context);
1172 1172
     }
1173 1173
 
1174 1174
     /**
@@ -1178,8 +1178,8 @@  discard block
 block discarded – undo
1178 1178
 	 * @param  string $context View or edit context.
1179 1179
 	 * @return string
1180 1180
 	 */
1181
-	public function get_user_company( $context = 'view' ) {
1182
-		return $this->get_company( $context );
1181
+	public function get_user_company($context = 'view') {
1182
+		return $this->get_company($context);
1183 1183
     }
1184 1184
 
1185 1185
     /**
@@ -1189,8 +1189,8 @@  discard block
 block discarded – undo
1189 1189
 	 * @param  string $context View or edit context.
1190 1190
 	 * @return string
1191 1191
 	 */
1192
-	public function get_customer_company( $context = 'view' ) {
1193
-		return $this->get_company( $context );
1192
+	public function get_customer_company($context = 'view') {
1193
+		return $this->get_company($context);
1194 1194
     }
1195 1195
 
1196 1196
 	/**
@@ -1200,8 +1200,8 @@  discard block
 block discarded – undo
1200 1200
 	 * @param  string $context View or edit context.
1201 1201
 	 * @return string
1202 1202
 	 */
1203
-	public function get_company_id( $context = 'view' ) {
1204
-		return $this->get_prop( 'company_id', $context );
1203
+	public function get_company_id($context = 'view') {
1204
+		return $this->get_prop('company_id', $context);
1205 1205
     }
1206 1206
 
1207 1207
     /**
@@ -1211,8 +1211,8 @@  discard block
 block discarded – undo
1211 1211
 	 * @param  string $context View or edit context.
1212 1212
 	 * @return string
1213 1213
 	 */
1214
-	public function get_vat_number( $context = 'view' ) {
1215
-		return $this->get_prop( 'vat_number', $context );
1214
+	public function get_vat_number($context = 'view') {
1215
+		return $this->get_prop('vat_number', $context);
1216 1216
     }
1217 1217
 
1218 1218
     /**
@@ -1222,8 +1222,8 @@  discard block
 block discarded – undo
1222 1222
 	 * @param  string $context View or edit context.
1223 1223
 	 * @return string
1224 1224
 	 */
1225
-	public function get_user_vat_number( $context = 'view' ) {
1226
-		return $this->get_vat_number( $context );
1225
+	public function get_user_vat_number($context = 'view') {
1226
+		return $this->get_vat_number($context);
1227 1227
     }
1228 1228
 
1229 1229
     /**
@@ -1233,8 +1233,8 @@  discard block
 block discarded – undo
1233 1233
 	 * @param  string $context View or edit context.
1234 1234
 	 * @return string
1235 1235
 	 */
1236
-	public function get_customer_vat_number( $context = 'view' ) {
1237
-		return $this->get_vat_number( $context );
1236
+	public function get_customer_vat_number($context = 'view') {
1237
+		return $this->get_vat_number($context);
1238 1238
     }
1239 1239
 
1240 1240
     /**
@@ -1244,8 +1244,8 @@  discard block
 block discarded – undo
1244 1244
 	 * @param  string $context View or edit context.
1245 1245
 	 * @return string
1246 1246
 	 */
1247
-	public function get_vat_rate( $context = 'view' ) {
1248
-		return $this->get_prop( 'vat_rate', $context );
1247
+	public function get_vat_rate($context = 'view') {
1248
+		return $this->get_prop('vat_rate', $context);
1249 1249
     }
1250 1250
 
1251 1251
     /**
@@ -1255,8 +1255,8 @@  discard block
 block discarded – undo
1255 1255
 	 * @param  string $context View or edit context.
1256 1256
 	 * @return string
1257 1257
 	 */
1258
-	public function get_user_vat_rate( $context = 'view' ) {
1259
-		return $this->get_vat_rate( $context );
1258
+	public function get_user_vat_rate($context = 'view') {
1259
+		return $this->get_vat_rate($context);
1260 1260
     }
1261 1261
 
1262 1262
     /**
@@ -1266,8 +1266,8 @@  discard block
 block discarded – undo
1266 1266
 	 * @param  string $context View or edit context.
1267 1267
 	 * @return string
1268 1268
 	 */
1269
-	public function get_customer_vat_rate( $context = 'view' ) {
1270
-		return $this->get_vat_rate( $context );
1269
+	public function get_customer_vat_rate($context = 'view') {
1270
+		return $this->get_vat_rate($context);
1271 1271
     }
1272 1272
 
1273 1273
     /**
@@ -1277,8 +1277,8 @@  discard block
 block discarded – undo
1277 1277
 	 * @param  string $context View or edit context.
1278 1278
 	 * @return string
1279 1279
 	 */
1280
-	public function get_address( $context = 'view' ) {
1281
-		return $this->get_prop( 'address', $context );
1280
+	public function get_address($context = 'view') {
1281
+		return $this->get_prop('address', $context);
1282 1282
     }
1283 1283
 
1284 1284
     /**
@@ -1288,8 +1288,8 @@  discard block
 block discarded – undo
1288 1288
 	 * @param  string $context View or edit context.
1289 1289
 	 * @return string
1290 1290
 	 */
1291
-	public function get_user_address( $context = 'view' ) {
1292
-		return $this->get_address( $context );
1291
+	public function get_user_address($context = 'view') {
1292
+		return $this->get_address($context);
1293 1293
     }
1294 1294
 
1295 1295
     /**
@@ -1299,8 +1299,8 @@  discard block
 block discarded – undo
1299 1299
 	 * @param  string $context View or edit context.
1300 1300
 	 * @return string
1301 1301
 	 */
1302
-	public function get_customer_address( $context = 'view' ) {
1303
-		return $this->get_address( $context );
1302
+	public function get_customer_address($context = 'view') {
1303
+		return $this->get_address($context);
1304 1304
     }
1305 1305
 
1306 1306
     /**
@@ -1310,8 +1310,8 @@  discard block
 block discarded – undo
1310 1310
 	 * @param  string $context View or edit context.
1311 1311
 	 * @return bool
1312 1312
 	 */
1313
-	public function get_is_viewed( $context = 'view' ) {
1314
-		return (bool) $this->get_prop( 'is_viewed', $context );
1313
+	public function get_is_viewed($context = 'view') {
1314
+		return (bool) $this->get_prop('is_viewed', $context);
1315 1315
 	}
1316 1316
 
1317 1317
 	/**
@@ -1321,8 +1321,8 @@  discard block
 block discarded – undo
1321 1321
 	 * @param  string $context View or edit context.
1322 1322
 	 * @return bool
1323 1323
 	 */
1324
-	public function get_email_cc( $context = 'view' ) {
1325
-		return $this->get_prop( 'email_cc', $context );
1324
+	public function get_email_cc($context = 'view') {
1325
+		return $this->get_prop('email_cc', $context);
1326 1326
 	}
1327 1327
 
1328 1328
 	/**
@@ -1332,8 +1332,8 @@  discard block
 block discarded – undo
1332 1332
 	 * @param  string $context View or edit context.
1333 1333
 	 * @return bool
1334 1334
 	 */
1335
-	public function get_template( $context = 'view' ) {
1336
-		return $this->get_prop( 'template', $context );
1335
+	public function get_template($context = 'view') {
1336
+		return $this->get_prop('template', $context);
1337 1337
 	}
1338 1338
 
1339 1339
 	/**
@@ -1343,8 +1343,8 @@  discard block
 block discarded – undo
1343 1343
 	 * @param  string $context View or edit context.
1344 1344
 	 * @return bool
1345 1345
 	 */
1346
-	public function get_created_via( $context = 'view' ) {
1347
-		return $this->get_prop( 'created_via', $context );
1346
+	public function get_created_via($context = 'view') {
1347
+		return $this->get_prop('created_via', $context);
1348 1348
 	}
1349 1349
 
1350 1350
 	/**
@@ -1354,8 +1354,8 @@  discard block
 block discarded – undo
1354 1354
 	 * @param  string $context View or edit context.
1355 1355
 	 * @return bool
1356 1356
 	 */
1357
-	public function get_address_confirmed( $context = 'view' ) {
1358
-		return (bool) $this->get_prop( 'address_confirmed', $context );
1357
+	public function get_address_confirmed($context = 'view') {
1358
+		return (bool) $this->get_prop('address_confirmed', $context);
1359 1359
     }
1360 1360
 
1361 1361
     /**
@@ -1365,8 +1365,8 @@  discard block
 block discarded – undo
1365 1365
 	 * @param  string $context View or edit context.
1366 1366
 	 * @return bool
1367 1367
 	 */
1368
-	public function get_user_address_confirmed( $context = 'view' ) {
1369
-		return $this->get_address_confirmed( $context );
1368
+	public function get_user_address_confirmed($context = 'view') {
1369
+		return $this->get_address_confirmed($context);
1370 1370
     }
1371 1371
 
1372 1372
     /**
@@ -1376,8 +1376,8 @@  discard block
 block discarded – undo
1376 1376
 	 * @param  string $context View or edit context.
1377 1377
 	 * @return bool
1378 1378
 	 */
1379
-	public function get_customer_address_confirmed( $context = 'view' ) {
1380
-		return $this->get_address_confirmed( $context );
1379
+	public function get_customer_address_confirmed($context = 'view') {
1380
+		return $this->get_address_confirmed($context);
1381 1381
     }
1382 1382
 
1383 1383
 	/**
@@ -1388,8 +1388,8 @@  discard block
 block discarded – undo
1388 1388
 	 */
1389 1389
 	public function get_shipping_address() {
1390 1390
 
1391
-		$shipping_address = get_post_meta( $this->get_id(), 'shipping_address', true );
1392
-		return is_array( $shipping_address ) ? $shipping_address : false;
1391
+		$shipping_address = get_post_meta($this->get_id(), 'shipping_address', true);
1392
+		return is_array($shipping_address) ? $shipping_address : false;
1393 1393
     }
1394 1394
 
1395 1395
 	/**
@@ -1406,17 +1406,17 @@  discard block
 block discarded – undo
1406 1406
 	 * @param  string $context View or edit context.
1407 1407
 	 * @return float
1408 1408
 	 */
1409
-	public function get_shipping( $context = 'view' ) {
1409
+	public function get_shipping($context = 'view') {
1410 1410
 
1411
-		if ( $context = 'view' ) {
1412
-			return floatval( $this->get_prop( 'shipping', $context ) );
1411
+		if ($context = 'view') {
1412
+			return floatval($this->get_prop('shipping', $context));
1413 1413
 		}
1414 1414
 
1415
-		return $this->get_prop( 'shipping', $context );
1415
+		return $this->get_prop('shipping', $context);
1416 1416
     }
1417 1417
 
1418 1418
 	public function has_shipping() {
1419
-		return defined( 'GETPAID_SHIPPING_CALCULATOR_VERSION' ) && null !== $this->get_prop( 'shipping', 'edit' );
1419
+		return defined('GETPAID_SHIPPING_CALCULATOR_VERSION') && null !== $this->get_prop('shipping', 'edit');
1420 1420
     }
1421 1421
 
1422 1422
     /**
@@ -1426,12 +1426,12 @@  discard block
 block discarded – undo
1426 1426
 	 * @param  string $context View or edit context.
1427 1427
 	 * @return float
1428 1428
 	 */
1429
-	public function get_subtotal( $context = 'view' ) {
1430
-        $subtotal = (float) $this->get_prop( 'subtotal', $context );
1429
+	public function get_subtotal($context = 'view') {
1430
+        $subtotal = (float) $this->get_prop('subtotal', $context);
1431 1431
 
1432 1432
         // Backwards compatibility.
1433
-        if ( is_bool( $context ) && $context ) {
1434
-            return wpinv_price( $subtotal, $this->get_currency() );
1433
+        if (is_bool($context) && $context) {
1434
+            return wpinv_price($subtotal, $this->get_currency());
1435 1435
         }
1436 1436
 
1437 1437
         return $subtotal;
@@ -1444,8 +1444,8 @@  discard block
 block discarded – undo
1444 1444
 	 * @param  string $context View or edit context.
1445 1445
 	 * @return float
1446 1446
 	 */
1447
-	public function get_total_discount( $context = 'view' ) {
1448
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_discount', $context ) ) );
1447
+	public function get_total_discount($context = 'view') {
1448
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total_discount', $context)));
1449 1449
     }
1450 1450
 
1451 1451
     /**
@@ -1455,18 +1455,18 @@  discard block
 block discarded – undo
1455 1455
 	 * @param  string $context View or edit context.
1456 1456
 	 * @return float
1457 1457
 	 */
1458
-	public function get_total_tax( $context = 'view' ) {
1459
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_tax', $context ) ) );
1458
+	public function get_total_tax($context = 'view') {
1459
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total_tax', $context)));
1460 1460
 	}
1461 1461
 
1462 1462
 	/**
1463 1463
 	 * @deprecated
1464 1464
 	 */
1465
-	public function get_final_tax( $currency = false ) {
1465
+	public function get_final_tax($currency = false) {
1466 1466
 		$tax = $this->get_total_tax();
1467 1467
 
1468
-        if ( $currency ) {
1469
-			return wpinv_price( $tax, $this->get_currency() );
1468
+        if ($currency) {
1469
+			return wpinv_price($tax, $this->get_currency());
1470 1470
         }
1471 1471
 
1472 1472
         return $tax;
@@ -1479,8 +1479,8 @@  discard block
 block discarded – undo
1479 1479
 	 * @param  string $context View or edit context.
1480 1480
 	 * @return float
1481 1481
 	 */
1482
-	public function get_total_fees( $context = 'view' ) {
1483
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_fees', $context ) ) );
1482
+	public function get_total_fees($context = 'view') {
1483
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total_fees', $context)));
1484 1484
     }
1485 1485
 
1486 1486
     /**
@@ -1490,8 +1490,8 @@  discard block
 block discarded – undo
1490 1490
 	 * @param  string $context View or edit context.
1491 1491
 	 * @return float
1492 1492
 	 */
1493
-	public function get_fees_total( $context = 'view' ) {
1494
-		return $this->get_total_fees( $context );
1493
+	public function get_fees_total($context = 'view') {
1494
+		return $this->get_total_fees($context);
1495 1495
     }
1496 1496
 
1497 1497
     /**
@@ -1500,14 +1500,14 @@  discard block
 block discarded – undo
1500 1500
 	 * @since 1.0.19
1501 1501
      * @return float
1502 1502
 	 */
1503
-	public function get_total( $context = 'view' ) {
1504
-		$total = $this->get_prop( 'total', $context );
1503
+	public function get_total($context = 'view') {
1504
+		$total = $this->get_prop('total', $context);
1505 1505
 
1506
-		if ( $this->has_shipping() && $context == 'view' ) {
1507
-			$total = $this->get_prop( 'total', $context ) + $this->get_shipping( $context );
1506
+		if ($this->has_shipping() && $context == 'view') {
1507
+			$total = $this->get_prop('total', $context) + $this->get_shipping($context);
1508 1508
 		}
1509 1509
 
1510
-		return wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1510
+		return wpinv_round_amount(wpinv_sanitize_amount($total));
1511 1511
 	}
1512 1512
 
1513 1513
 	/**
@@ -1519,20 +1519,20 @@  discard block
 block discarded – undo
1519 1519
 	public function get_non_recurring_total() {
1520 1520
 
1521 1521
 		$subtotal = 0;
1522
-		foreach ( $this->get_items() as $item ) {
1523
-			if ( ! $item->is_recurring() ) {
1522
+		foreach ($this->get_items() as $item) {
1523
+			if (!$item->is_recurring()) {
1524 1524
 				$subtotal += $item->get_sub_total();
1525 1525
 			}
1526 1526
 		}
1527 1527
 
1528
-		foreach ( $this->get_fees() as $fee ) {
1529
-			if ( empty( $fee['recurring_fee'] ) ) {
1530
-				$subtotal += wpinv_sanitize_amount( $fee['initial_fee'] );
1528
+		foreach ($this->get_fees() as $fee) {
1529
+			if (empty($fee['recurring_fee'])) {
1530
+				$subtotal += wpinv_sanitize_amount($fee['initial_fee']);
1531 1531
 			}
1532 1532
 		}
1533 1533
 
1534
-		$subtotal = wpinv_round_amount( wpinv_sanitize_amount( $subtotal ) );
1535
-        return apply_filters( 'wpinv_get_non_recurring_invoice_total', $subtotal, $this );
1534
+		$subtotal = wpinv_round_amount(wpinv_sanitize_amount($subtotal));
1535
+        return apply_filters('wpinv_get_non_recurring_invoice_total', $subtotal, $this);
1536 1536
 
1537 1537
     }
1538 1538
 
@@ -1555,7 +1555,7 @@  discard block
 block discarded – undo
1555 1555
 	 */
1556 1556
     public function get_initial_total() {
1557 1557
 
1558
-		if ( empty( $this->totals ) ) {
1558
+		if (empty($this->totals)) {
1559 1559
 			$this->recalculate_total();
1560 1560
 		}
1561 1561
 
@@ -1565,12 +1565,12 @@  discard block
 block discarded – undo
1565 1565
 		$subtotal = $this->totals['subtotal']['initial'];
1566 1566
 		$total    = $tax + $fee - $discount + $subtotal;
1567 1567
 
1568
-		if ( 0 > $total ) {
1568
+		if (0 > $total) {
1569 1569
 			$total = 0;
1570 1570
 		}
1571 1571
 
1572
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1573
-        return apply_filters( 'wpinv_get_initial_invoice_total', $total, $this );
1572
+		$total = wpinv_round_amount(wpinv_sanitize_amount($total));
1573
+        return apply_filters('wpinv_get_initial_invoice_total', $total, $this);
1574 1574
 	}
1575 1575
 
1576 1576
 	/**
@@ -1582,7 +1582,7 @@  discard block
 block discarded – undo
1582 1582
 	 */
1583 1583
     public function get_recurring_total() {
1584 1584
 
1585
-		if ( empty( $this->totals ) ) {
1585
+		if (empty($this->totals)) {
1586 1586
 			$this->recalculate_total();
1587 1587
 		}
1588 1588
 
@@ -1592,12 +1592,12 @@  discard block
 block discarded – undo
1592 1592
 		$subtotal = $this->totals['subtotal']['recurring'];
1593 1593
 		$total    = $tax + $fee - $discount + $subtotal;
1594 1594
 
1595
-		if ( 0 > $total ) {
1595
+		if (0 > $total) {
1596 1596
 			$total = 0;
1597 1597
 		}
1598 1598
 
1599
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1600
-        return apply_filters( 'wpinv_get_recurring_invoice_total', $total, $this );
1599
+		$total = wpinv_round_amount(wpinv_sanitize_amount($total));
1600
+        return apply_filters('wpinv_get_recurring_invoice_total', $total, $this);
1601 1601
 	}
1602 1602
 
1603 1603
 	/**
@@ -1608,10 +1608,10 @@  discard block
 block discarded – undo
1608 1608
 	 * @param string $currency Whether to include the currency.
1609 1609
      * @return float|string
1610 1610
 	 */
1611
-    public function get_recurring_details( $field = '', $currency = false ) {
1611
+    public function get_recurring_details($field = '', $currency = false) {
1612 1612
 
1613 1613
 		// Maybe recalculate totals.
1614
-		if ( empty( $this->totals ) ) {
1614
+		if (empty($this->totals)) {
1615 1615
 			$this->recalculate_total();
1616 1616
 		}
1617 1617
 
@@ -1631,8 +1631,8 @@  discard block
 block discarded – undo
1631 1631
 			$currency
1632 1632
 		);
1633 1633
 
1634
-        if ( isset( $data[ $field ] ) ) {
1635
-            return ( $currency ? wpinv_price( $data[ $field ], $this->get_currency() ) : $data[ $field ] );
1634
+        if (isset($data[$field])) {
1635
+            return ($currency ? wpinv_price($data[$field], $this->get_currency()) : $data[$field]);
1636 1636
         }
1637 1637
 
1638 1638
         return $data;
@@ -1645,8 +1645,8 @@  discard block
 block discarded – undo
1645 1645
 	 * @param  string $context View or edit context.
1646 1646
 	 * @return array
1647 1647
 	 */
1648
-	public function get_fees( $context = 'view' ) {
1649
-		return wpinv_parse_list( $this->get_prop( 'fees', $context ) );
1648
+	public function get_fees($context = 'view') {
1649
+		return wpinv_parse_list($this->get_prop('fees', $context));
1650 1650
     }
1651 1651
 
1652 1652
     /**
@@ -1656,8 +1656,8 @@  discard block
 block discarded – undo
1656 1656
 	 * @param  string $context View or edit context.
1657 1657
 	 * @return array
1658 1658
 	 */
1659
-	public function get_discounts( $context = 'view' ) {
1660
-		return wpinv_parse_list( $this->get_prop( 'discounts', $context ) );
1659
+	public function get_discounts($context = 'view') {
1660
+		return wpinv_parse_list($this->get_prop('discounts', $context));
1661 1661
     }
1662 1662
 
1663 1663
     /**
@@ -1667,8 +1667,8 @@  discard block
 block discarded – undo
1667 1667
 	 * @param  string $context View or edit context.
1668 1668
 	 * @return array
1669 1669
 	 */
1670
-	public function get_taxes( $context = 'view' ) {
1671
-		return wpinv_parse_list( $this->get_prop( 'taxes', $context ) );
1670
+	public function get_taxes($context = 'view') {
1671
+		return wpinv_parse_list($this->get_prop('taxes', $context));
1672 1672
     }
1673 1673
 
1674 1674
     /**
@@ -1678,8 +1678,8 @@  discard block
 block discarded – undo
1678 1678
 	 * @param  string $context View or edit context.
1679 1679
 	 * @return GetPaid_Form_Item[]
1680 1680
 	 */
1681
-	public function get_items( $context = 'view' ) {
1682
-        return $this->get_prop( 'items', $context );
1681
+	public function get_items($context = 'view') {
1682
+        return $this->get_prop('items', $context);
1683 1683
 	}
1684 1684
 
1685 1685
 	/**
@@ -1689,7 +1689,7 @@  discard block
 block discarded – undo
1689 1689
 	 * @return string
1690 1690
 	 */
1691 1691
 	public function get_item_ids() {
1692
-		return implode( ', ', wp_list_pluck( $this->get_cart_details(), 'item_id' ) );
1692
+		return implode(', ', wp_list_pluck($this->get_cart_details(), 'item_id'));
1693 1693
     }
1694 1694
 
1695 1695
     /**
@@ -1699,8 +1699,8 @@  discard block
 block discarded – undo
1699 1699
 	 * @param  string $context View or edit context.
1700 1700
 	 * @return int
1701 1701
 	 */
1702
-	public function get_payment_form( $context = 'view' ) {
1703
-		return intval( $this->get_prop( 'payment_form', $context ) );
1702
+	public function get_payment_form($context = 'view') {
1703
+		return intval($this->get_prop('payment_form', $context));
1704 1704
     }
1705 1705
 
1706 1706
     /**
@@ -1710,8 +1710,8 @@  discard block
 block discarded – undo
1710 1710
 	 * @param  string $context View or edit context.
1711 1711
 	 * @return string
1712 1712
 	 */
1713
-	public function get_submission_id( $context = 'view' ) {
1714
-		return $this->get_prop( 'submission_id', $context );
1713
+	public function get_submission_id($context = 'view') {
1714
+		return $this->get_prop('submission_id', $context);
1715 1715
     }
1716 1716
 
1717 1717
     /**
@@ -1721,8 +1721,8 @@  discard block
 block discarded – undo
1721 1721
 	 * @param  string $context View or edit context.
1722 1722
 	 * @return string
1723 1723
 	 */
1724
-	public function get_discount_code( $context = 'view' ) {
1725
-		return $this->get_prop( 'discount_code', $context );
1724
+	public function get_discount_code($context = 'view') {
1725
+		return $this->get_prop('discount_code', $context);
1726 1726
     }
1727 1727
 
1728 1728
     /**
@@ -1732,8 +1732,8 @@  discard block
 block discarded – undo
1732 1732
 	 * @param  string $context View or edit context.
1733 1733
 	 * @return string
1734 1734
 	 */
1735
-	public function get_gateway( $context = 'view' ) {
1736
-		return $this->get_prop( 'gateway', $context );
1735
+	public function get_gateway($context = 'view') {
1736
+		return $this->get_prop('gateway', $context);
1737 1737
     }
1738 1738
 
1739 1739
     /**
@@ -1743,8 +1743,8 @@  discard block
 block discarded – undo
1743 1743
 	 * @return string
1744 1744
 	 */
1745 1745
     public function get_gateway_title() {
1746
-        $title = wpinv_get_gateway_checkout_label( $this->get_gateway() );
1747
-        return apply_filters( 'wpinv_gateway_title', $title, $this->get_id(), $this );
1746
+        $title = wpinv_get_gateway_checkout_label($this->get_gateway());
1747
+        return apply_filters('wpinv_gateway_title', $title, $this->get_id(), $this);
1748 1748
     }
1749 1749
 
1750 1750
     /**
@@ -1754,8 +1754,8 @@  discard block
 block discarded – undo
1754 1754
 	 * @param  string $context View or edit context.
1755 1755
 	 * @return string
1756 1756
 	 */
1757
-	public function get_transaction_id( $context = 'view' ) {
1758
-		return $this->get_prop( 'transaction_id', $context );
1757
+	public function get_transaction_id($context = 'view') {
1758
+		return $this->get_prop('transaction_id', $context);
1759 1759
     }
1760 1760
 
1761 1761
     /**
@@ -1765,9 +1765,9 @@  discard block
 block discarded – undo
1765 1765
 	 * @param  string $context View or edit context.
1766 1766
 	 * @return string
1767 1767
 	 */
1768
-	public function get_currency( $context = 'view' ) {
1769
-        $currency = $this->get_prop( 'currency', $context );
1770
-        return empty( $currency ) ? wpinv_get_currency() : $currency;
1768
+	public function get_currency($context = 'view') {
1769
+        $currency = $this->get_prop('currency', $context);
1770
+        return empty($currency) ? wpinv_get_currency() : $currency;
1771 1771
     }
1772 1772
 
1773 1773
     /**
@@ -1777,8 +1777,8 @@  discard block
 block discarded – undo
1777 1777
 	 * @param  string $context View or edit context.
1778 1778
 	 * @return bool
1779 1779
 	 */
1780
-	public function get_disable_taxes( $context = 'view' ) {
1781
-        return (bool) $this->get_prop( 'disable_taxes', $context );
1780
+	public function get_disable_taxes($context = 'view') {
1781
+        return (bool) $this->get_prop('disable_taxes', $context);
1782 1782
     }
1783 1783
 
1784 1784
     /**
@@ -1788,8 +1788,8 @@  discard block
 block discarded – undo
1788 1788
 	 * @param  string $context View or edit context.
1789 1789
 	 * @return int
1790 1790
 	 */
1791
-    public function get_subscription_id( $context = 'view' ) {
1792
-		return $this->is_renewal() ? $this->get_parent()->get_subscription_id( $context ) : $this->get_prop( 'subscription_id', $context );
1791
+    public function get_subscription_id($context = 'view') {
1792
+		return $this->is_renewal() ? $this->get_parent()->get_subscription_id($context) : $this->get_prop('subscription_id', $context);
1793 1793
 	}
1794 1794
 
1795 1795
 	/**
@@ -1799,12 +1799,12 @@  discard block
 block discarded – undo
1799 1799
 	 * @param  string $context View or edit context.
1800 1800
 	 * @return int
1801 1801
 	 */
1802
-    public function get_remote_subscription_id( $context = 'view' ) {
1803
-        $subscription_id = $this->get_prop( 'remote_subscription_id', $context );
1802
+    public function get_remote_subscription_id($context = 'view') {
1803
+        $subscription_id = $this->get_prop('remote_subscription_id', $context);
1804 1804
 
1805
-        if ( empty( $subscription_id ) && $this->is_renewal() ) {
1805
+        if (empty($subscription_id) && $this->is_renewal()) {
1806 1806
             $parent = $this->get_parent();
1807
-            return $parent->get_remote_subscription_id( $context );
1807
+            return $parent->get_remote_subscription_id($context);
1808 1808
         }
1809 1809
 
1810 1810
         return $subscription_id;
@@ -1817,20 +1817,20 @@  discard block
 block discarded – undo
1817 1817
 	 * @param  string $context View or edit context.
1818 1818
 	 * @return array
1819 1819
 	 */
1820
-    public function get_payment_meta( $context = 'view' ) {
1820
+    public function get_payment_meta($context = 'view') {
1821 1821
 
1822 1822
         return array(
1823
-            'price'        => $this->get_total( $context ),
1824
-            'date'         => $this->get_date_created( $context ),
1825
-            'user_email'   => $this->get_email( $context ),
1826
-            'invoice_key'  => $this->get_key( $context ),
1827
-            'currency'     => $this->get_currency( $context ),
1828
-            'items'        => $this->get_items( $context ),
1829
-            'user_info'    => $this->get_user_info( $context ),
1823
+            'price'        => $this->get_total($context),
1824
+            'date'         => $this->get_date_created($context),
1825
+            'user_email'   => $this->get_email($context),
1826
+            'invoice_key'  => $this->get_key($context),
1827
+            'currency'     => $this->get_currency($context),
1828
+            'items'        => $this->get_items($context),
1829
+            'user_info'    => $this->get_user_info($context),
1830 1830
             'cart_details' => $this->get_cart_details(),
1831
-            'status'       => $this->get_status( $context ),
1832
-            'fees'         => $this->get_fees( $context ),
1833
-            'taxes'        => $this->get_taxes( $context ),
1831
+            'status'       => $this->get_status($context),
1832
+            'fees'         => $this->get_fees($context),
1833
+            'taxes'        => $this->get_taxes($context),
1834 1834
         );
1835 1835
 
1836 1836
     }
@@ -1845,9 +1845,9 @@  discard block
 block discarded – undo
1845 1845
         $items        = $this->get_items();
1846 1846
         $cart_details = array();
1847 1847
 
1848
-        foreach ( $items as $item ) {
1848
+        foreach ($items as $item) {
1849 1849
 			$item->invoice_id = $this->get_id();
1850
-            $cart_details[]   = $item->prepare_data_for_saving();
1850
+            $cart_details[] = $item->prepare_data_for_saving();
1851 1851
         }
1852 1852
 
1853 1853
         return $cart_details;
@@ -1858,11 +1858,11 @@  discard block
 block discarded – undo
1858 1858
 	 *
1859 1859
 	 * @return null|GetPaid_Form_Item|int
1860 1860
 	 */
1861
-	public function get_recurring( $object = false ) {
1861
+	public function get_recurring($object = false) {
1862 1862
 
1863 1863
 		// Are we returning an object?
1864
-        if ( $object ) {
1865
-            return $this->get_item( $this->recurring_item );
1864
+        if ($object) {
1865
+            return $this->get_item($this->recurring_item);
1866 1866
         }
1867 1867
 
1868 1868
         return $this->recurring_item;
@@ -1877,15 +1877,15 @@  discard block
 block discarded – undo
1877 1877
 	public function get_subscription_name() {
1878 1878
 
1879 1879
 		// Retrieve the recurring name
1880
-        $item = $this->get_recurring( true );
1880
+        $item = $this->get_recurring(true);
1881 1881
 
1882 1882
 		// Abort if it does not exist.
1883
-        if ( empty( $item ) ) {
1883
+        if (empty($item)) {
1884 1884
             return '';
1885 1885
         }
1886 1886
 
1887 1887
 		// Return the item name.
1888
-        return apply_filters( 'wpinv_invoice_get_subscription_name', $item->get_name(), $this );
1888
+        return apply_filters('wpinv_invoice_get_subscription_name', $item->get_name(), $this);
1889 1889
 	}
1890 1890
 
1891 1891
 	/**
@@ -1895,9 +1895,9 @@  discard block
 block discarded – undo
1895 1895
 	 * @return string
1896 1896
 	 */
1897 1897
 	public function get_view_url() {
1898
-        $invoice_url = get_permalink( $this->get_id() );
1899
-		$invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1900
-        return apply_filters( 'wpinv_get_view_url', $invoice_url, $this );
1898
+        $invoice_url = get_permalink($this->get_id());
1899
+		$invoice_url = add_query_arg('invoice_key', $this->get_key(), $invoice_url);
1900
+        return apply_filters('wpinv_get_view_url', $invoice_url, $this);
1901 1901
 	}
1902 1902
 
1903 1903
 	/**
@@ -1906,25 +1906,25 @@  discard block
 block discarded – undo
1906 1906
 	 * @since 1.0.19
1907 1907
 	 * @return string
1908 1908
 	 */
1909
-	public function get_checkout_payment_url( $deprecated = false, $secret = false ) {
1909
+	public function get_checkout_payment_url($deprecated = false, $secret = false) {
1910 1910
 
1911 1911
 		// Retrieve the checkout url.
1912 1912
         $pay_url = wpinv_get_checkout_uri();
1913 1913
 
1914 1914
 		// Maybe force ssl.
1915
-        if ( is_ssl() ) {
1916
-            $pay_url = str_replace( 'http:', 'https:', $pay_url );
1915
+        if (is_ssl()) {
1916
+            $pay_url = str_replace('http:', 'https:', $pay_url);
1917 1917
         }
1918 1918
 
1919 1919
 		// Add the invoice key.
1920
-		$pay_url = add_query_arg( 'invoice_key', $this->get_key(), $pay_url );
1920
+		$pay_url = add_query_arg('invoice_key', $this->get_key(), $pay_url);
1921 1921
 
1922 1922
 		// (Maybe?) add a secret
1923
-        if ( $secret ) {
1924
-            $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $this->get_key() ) ), $pay_url );
1923
+        if ($secret) {
1924
+            $pay_url = add_query_arg(array('_wpipay' => md5($this->get_user_id() . '::' . $this->get_email() . '::' . $this->get_key())), $pay_url);
1925 1925
         }
1926 1926
 
1927
-        return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $deprecated, $secret );
1927
+        return apply_filters('wpinv_get_checkout_payment_url', $pay_url, $this, $deprecated, $secret);
1928 1928
 	}
1929 1929
 
1930 1930
 	/**
@@ -1939,14 +1939,14 @@  discard block
 block discarded – undo
1939 1939
         $receipt_url = wpinv_get_success_page_uri();
1940 1940
 
1941 1941
 		// Maybe force ssl.
1942
-        if ( is_ssl() ) {
1943
-            $receipt_url = str_replace( 'http:', 'https:', $receipt_url );
1942
+        if (is_ssl()) {
1943
+            $receipt_url = str_replace('http:', 'https:', $receipt_url);
1944 1944
         }
1945 1945
 
1946 1946
 		// Add the invoice key.
1947
-		$receipt_url = add_query_arg( 'invoice_key', $this->get_key(), $receipt_url );
1947
+		$receipt_url = add_query_arg('invoice_key', $this->get_key(), $receipt_url);
1948 1948
 
1949
-        return apply_filters( 'getpaid_get_invoice_receipt_url', $receipt_url, $this );
1949
+        return apply_filters('getpaid_get_invoice_receipt_url', $receipt_url, $this);
1950 1950
 	}
1951 1951
 
1952 1952
 	/**
@@ -1956,7 +1956,7 @@  discard block
 block discarded – undo
1956 1956
 	 * @return string
1957 1957
 	 */
1958 1958
 	public function get_transaction_url() {
1959
-		return apply_filters( 'getpaid_gateway_' . $this->get_gateway() . '_transaction_url', '', $this );
1959
+		return apply_filters('getpaid_gateway_' . $this->get_gateway() . '_transaction_url', '', $this);
1960 1960
 	}
1961 1961
 
1962 1962
 	/**
@@ -1969,7 +1969,7 @@  discard block
 block discarded – undo
1969 1969
 
1970 1970
 		$type   = $this->get_type();
1971 1971
 		$status = "wpi-$type-pending";
1972
-		return str_replace( '-invoice', '', $status );
1972
+		return str_replace('-invoice', '', $status);
1973 1973
 
1974 1974
 	}
1975 1975
 
@@ -1983,14 +1983,14 @@  discard block
 block discarded – undo
1983 1983
 	 * @param  string $context View or edit context.
1984 1984
 	 * @return mixed Value of the given invoice property (if set).
1985 1985
 	 */
1986
-	public function get( $key, $context = 'view' ) {
1986
+	public function get($key, $context = 'view') {
1987 1987
 		$method = "get_$key";
1988 1988
 
1989
-		if ( is_callable( array( $this, $method ) ) ) {
1990
-			return $this->$method( $context );
1989
+		if (is_callable(array($this, $method))) {
1990
+			return $this->$method($context);
1991 1991
 		}
1992 1992
 
1993
-        return $this->get_prop( $key, $context );
1993
+        return $this->get_prop($key, $context);
1994 1994
 	}
1995 1995
 
1996 1996
     /*
@@ -2013,11 +2013,11 @@  discard block
 block discarded – undo
2013 2013
 	 * @param  mixed $value new value.
2014 2014
 	 * @return mixed Value of the given invoice property (if set).
2015 2015
 	 */
2016
-	public function set( $key, $value ) {
2016
+	public function set($key, $value) {
2017 2017
 
2018 2018
         $setter = "set_$key";
2019
-        if ( is_callable( array( $this, $setter ) ) ) {
2020
-            $this->{$setter}( $value );
2019
+        if (is_callable(array($this, $setter))) {
2020
+            $this->{$setter}($value);
2021 2021
         }
2022 2022
 
2023 2023
 	}
@@ -2031,45 +2031,45 @@  discard block
 block discarded – undo
2031 2031
 	 * @param bool   $manual_update Is this a manual status change?.
2032 2032
 	 * @return array details of change.
2033 2033
 	 */
2034
-	public function set_status( $new_status, $note = '', $manual_update = false ) {
2034
+	public function set_status($new_status, $note = '', $manual_update = false) {
2035 2035
 		$old_status = $this->get_status();
2036 2036
 
2037 2037
 		$statuses = $this->get_all_statuses();
2038 2038
 
2039
-		if ( isset( $statuses['draft'] ) ) {
2040
-			unset( $statuses['draft'] );
2039
+		if (isset($statuses['draft'])) {
2040
+			unset($statuses['draft']);
2041 2041
 		}
2042 2042
 
2043
-		$this->set_prop( 'status', $new_status );
2043
+		$this->set_prop('status', $new_status);
2044 2044
 
2045 2045
 		// If setting the status, ensure it's set to a valid status.
2046
-		if ( true === $this->object_read ) {
2046
+		if (true === $this->object_read) {
2047 2047
 
2048 2048
 			// Only allow valid new status.
2049
-			if ( ! array_key_exists( $new_status, $statuses ) ) {
2049
+			if (!array_key_exists($new_status, $statuses)) {
2050 2050
 				$new_status = $this->get_default_status();
2051 2051
 			}
2052 2052
 
2053 2053
 			// If the old status is set but unknown (e.g. draft) assume its pending for action usage.
2054
-			if ( $old_status && ! array_key_exists( $new_status, $statuses ) ) {
2054
+			if ($old_status && !array_key_exists($new_status, $statuses)) {
2055 2055
 				$old_status = $this->get_default_status();
2056 2056
 			}
2057 2057
 
2058 2058
 			// Paid - Renewal (i.e when duplicating a parent invoice )
2059
-			if ( $new_status == 'wpi-pending' && $old_status == 'publish' && ! $this->get_id() ) {
2059
+			if ($new_status == 'wpi-pending' && $old_status == 'publish' && !$this->get_id()) {
2060 2060
 				$old_status = 'wpi-pending';
2061 2061
 			}
2062 2062
 
2063
-			if ( $old_status !== $new_status ) {
2063
+			if ($old_status !== $new_status) {
2064 2064
 				$this->status_transition = array(
2065
-					'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
2065
+					'from'   => !empty($this->status_transition['from']) ? $this->status_transition['from'] : $old_status,
2066 2066
 					'to'     => $new_status,
2067 2067
 					'note'   => $note,
2068 2068
 					'manual' => (bool) $manual_update,
2069 2069
 				);
2070 2070
 
2071
-				if ( $manual_update ) {
2072
-					do_action( 'getpaid_' . $this->object_type . '_edit_status', $this->get_id(), $new_status );
2071
+				if ($manual_update) {
2072
+					do_action('getpaid_' . $this->object_type . '_edit_status', $this->get_id(), $new_status);
2073 2073
 				}
2074 2074
 
2075 2075
 				$this->maybe_set_date_paid();
@@ -2093,8 +2093,8 @@  discard block
 block discarded – undo
2093 2093
 	 */
2094 2094
 	public function maybe_set_date_paid() {
2095 2095
 
2096
-		if ( ! $this->get_date_completed( 'edit' ) && $this->is_paid() ) {
2097
-			$this->set_date_completed( current_time( 'mysql' ) );
2096
+		if (!$this->get_date_completed('edit') && $this->is_paid()) {
2097
+			$this->set_date_completed(current_time('mysql'));
2098 2098
 		}
2099 2099
 	}
2100 2100
 
@@ -2103,11 +2103,11 @@  discard block
 block discarded – undo
2103 2103
 	 *
2104 2104
 	 * @since 1.0.19
2105 2105
 	 */
2106
-	public function set_parent_id( $value ) {
2107
-		if ( $value && ( $value === $this->get_id() ) ) {
2106
+	public function set_parent_id($value) {
2107
+		if ($value && ($value === $this->get_id())) {
2108 2108
 			return;
2109 2109
 		}
2110
-		$this->set_prop( 'parent_id', absint( $value ) );
2110
+		$this->set_prop('parent_id', absint($value));
2111 2111
     }
2112 2112
 
2113 2113
     /**
@@ -2115,8 +2115,8 @@  discard block
 block discarded – undo
2115 2115
 	 *
2116 2116
 	 * @since 1.0.19
2117 2117
 	 */
2118
-	public function set_version( $value ) {
2119
-		$this->set_prop( 'version', $value );
2118
+	public function set_version($value) {
2119
+		$this->set_prop('version', $value);
2120 2120
     }
2121 2121
 
2122 2122
     /**
@@ -2126,15 +2126,15 @@  discard block
 block discarded – undo
2126 2126
 	 * @param string $value Value to set.
2127 2127
      * @return bool Whether or not the date was set.
2128 2128
 	 */
2129
-	public function set_date_created( $value ) {
2130
-        $date = strtotime( $value );
2129
+	public function set_date_created($value) {
2130
+        $date = strtotime($value);
2131 2131
 
2132
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2133
-            $this->set_prop( 'date_created', date( 'Y-m-d H:i:s', $date ) );
2132
+        if ($date && $value !== '0000-00-00 00:00:00') {
2133
+            $this->set_prop('date_created', date('Y-m-d H:i:s', $date));
2134 2134
             return true;
2135 2135
         }
2136 2136
 
2137
-		$this->set_prop( 'date_created', '' );
2137
+		$this->set_prop('date_created', '');
2138 2138
 		return false;
2139 2139
 
2140 2140
     }
@@ -2146,15 +2146,15 @@  discard block
 block discarded – undo
2146 2146
 	 * @param string $value Value to set.
2147 2147
      * @return bool Whether or not the date was set.
2148 2148
 	 */
2149
-	public function set_due_date( $value ) {
2150
-        $date = strtotime( $value );
2149
+	public function set_due_date($value) {
2150
+        $date = strtotime($value);
2151 2151
 
2152
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2153
-            $this->set_prop( 'due_date', date( 'Y-m-d H:i:s', $date ) );
2152
+        if ($date && $value !== '0000-00-00 00:00:00') {
2153
+            $this->set_prop('due_date', date('Y-m-d H:i:s', $date));
2154 2154
             return true;
2155 2155
         }
2156 2156
 
2157
-		$this->set_prop( 'due_date', '' );
2157
+		$this->set_prop('due_date', '');
2158 2158
         return false;
2159 2159
 
2160 2160
     }
@@ -2165,8 +2165,8 @@  discard block
 block discarded – undo
2165 2165
 	 * @since 1.0.19
2166 2166
 	 * @param  string $value New name.
2167 2167
 	 */
2168
-	public function set_date_due( $value ) {
2169
-		$this->set_due_date( $value );
2168
+	public function set_date_due($value) {
2169
+		$this->set_due_date($value);
2170 2170
     }
2171 2171
 
2172 2172
     /**
@@ -2176,15 +2176,15 @@  discard block
 block discarded – undo
2176 2176
 	 * @param string $value Value to set.
2177 2177
      * @return bool Whether or not the date was set.
2178 2178
 	 */
2179
-	public function set_completed_date( $value ) {
2180
-        $date = strtotime( $value );
2179
+	public function set_completed_date($value) {
2180
+        $date = strtotime($value);
2181 2181
 
2182
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2183
-            $this->set_prop( 'completed_date', date( 'Y-m-d H:i:s', $date ) );
2182
+        if ($date && $value !== '0000-00-00 00:00:00') {
2183
+            $this->set_prop('completed_date', date('Y-m-d H:i:s', $date));
2184 2184
             return true;
2185 2185
         }
2186 2186
 
2187
-		$this->set_prop( 'completed_date', '' );
2187
+		$this->set_prop('completed_date', '');
2188 2188
         return false;
2189 2189
 
2190 2190
     }
@@ -2195,8 +2195,8 @@  discard block
 block discarded – undo
2195 2195
 	 * @since 1.0.19
2196 2196
 	 * @param  string $value New name.
2197 2197
 	 */
2198
-	public function set_date_completed( $value ) {
2199
-		$this->set_completed_date( $value );
2198
+	public function set_date_completed($value) {
2199
+		$this->set_completed_date($value);
2200 2200
     }
2201 2201
 
2202 2202
     /**
@@ -2206,15 +2206,15 @@  discard block
 block discarded – undo
2206 2206
 	 * @param string $value Value to set.
2207 2207
      * @return bool Whether or not the date was set.
2208 2208
 	 */
2209
-	public function set_date_modified( $value ) {
2210
-        $date = strtotime( $value );
2209
+	public function set_date_modified($value) {
2210
+        $date = strtotime($value);
2211 2211
 
2212
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2213
-            $this->set_prop( 'date_modified', date( 'Y-m-d H:i:s', $date ) );
2212
+        if ($date && $value !== '0000-00-00 00:00:00') {
2213
+            $this->set_prop('date_modified', date('Y-m-d H:i:s', $date));
2214 2214
             return true;
2215 2215
         }
2216 2216
 
2217
-		$this->set_prop( 'date_modified', '' );
2217
+		$this->set_prop('date_modified', '');
2218 2218
         return false;
2219 2219
 
2220 2220
     }
@@ -2225,9 +2225,9 @@  discard block
 block discarded – undo
2225 2225
 	 * @since 1.0.19
2226 2226
 	 * @param  string $value New number.
2227 2227
 	 */
2228
-	public function set_number( $value ) {
2229
-        $number = sanitize_text_field( $value );
2230
-		$this->set_prop( 'number', $number );
2228
+	public function set_number($value) {
2229
+        $number = sanitize_text_field($value);
2230
+		$this->set_prop('number', $number);
2231 2231
     }
2232 2232
 
2233 2233
     /**
@@ -2236,9 +2236,9 @@  discard block
 block discarded – undo
2236 2236
 	 * @since 1.0.19
2237 2237
 	 * @param  string $value Type.
2238 2238
 	 */
2239
-	public function set_type( $value ) {
2240
-        $type = sanitize_text_field( str_replace( 'wpi_', '', $value ) );
2241
-		$this->set_prop( 'type', $type );
2239
+	public function set_type($value) {
2240
+        $type = sanitize_text_field(str_replace('wpi_', '', $value));
2241
+		$this->set_prop('type', $type);
2242 2242
 	}
2243 2243
 
2244 2244
     /**
@@ -2247,10 +2247,10 @@  discard block
 block discarded – undo
2247 2247
 	 * @since 1.0.19
2248 2248
 	 * @param  string $value Post type.
2249 2249
 	 */
2250
-	public function set_post_type( $value ) {
2251
-        if ( getpaid_is_invoice_post_type( $value ) ) {
2252
-			$this->set_type( $value );
2253
-            $this->set_prop( 'post_type', $value );
2250
+	public function set_post_type($value) {
2251
+        if (getpaid_is_invoice_post_type($value)) {
2252
+			$this->set_type($value);
2253
+            $this->set_prop('post_type', $value);
2254 2254
         }
2255 2255
     }
2256 2256
 
@@ -2260,9 +2260,9 @@  discard block
 block discarded – undo
2260 2260
 	 * @since 1.0.19
2261 2261
 	 * @param  string $value New key.
2262 2262
 	 */
2263
-	public function set_key( $value ) {
2264
-        $key = sanitize_text_field( $value );
2265
-		$this->set_prop( 'key', $key );
2263
+	public function set_key($value) {
2264
+        $key = sanitize_text_field($value);
2265
+		$this->set_prop('key', $key);
2266 2266
     }
2267 2267
 
2268 2268
     /**
@@ -2271,9 +2271,9 @@  discard block
 block discarded – undo
2271 2271
 	 * @since 1.0.19
2272 2272
 	 * @param  string $value mode.
2273 2273
 	 */
2274
-	public function set_mode( $value ) {
2275
-        if ( in_array( $value, array( 'live', 'test' ) ) ) {
2276
-            $this->set_prop( 'mode', $value );
2274
+	public function set_mode($value) {
2275
+        if (in_array($value, array('live', 'test'))) {
2276
+            $this->set_prop('mode', $value);
2277 2277
         }
2278 2278
     }
2279 2279
 
@@ -2283,8 +2283,8 @@  discard block
 block discarded – undo
2283 2283
 	 * @since 1.0.19
2284 2284
 	 * @param  string $value path.
2285 2285
 	 */
2286
-	public function set_path( $value ) {
2287
-        $this->set_prop( 'path', $value );
2286
+	public function set_path($value) {
2287
+        $this->set_prop('path', $value);
2288 2288
     }
2289 2289
 
2290 2290
     /**
@@ -2293,9 +2293,9 @@  discard block
 block discarded – undo
2293 2293
 	 * @since 1.0.19
2294 2294
 	 * @param  string $value New name.
2295 2295
 	 */
2296
-	public function set_name( $value ) {
2297
-        $name = sanitize_text_field( $value );
2298
-		$this->set_prop( 'name', $name );
2296
+	public function set_name($value) {
2297
+        $name = sanitize_text_field($value);
2298
+		$this->set_prop('name', $name);
2299 2299
     }
2300 2300
 
2301 2301
     /**
@@ -2304,8 +2304,8 @@  discard block
 block discarded – undo
2304 2304
 	 * @since 1.0.19
2305 2305
 	 * @param  string $value New name.
2306 2306
 	 */
2307
-	public function set_title( $value ) {
2308
-		$this->set_name( $value );
2307
+	public function set_title($value) {
2308
+		$this->set_name($value);
2309 2309
     }
2310 2310
 
2311 2311
     /**
@@ -2314,9 +2314,9 @@  discard block
 block discarded – undo
2314 2314
 	 * @since 1.0.19
2315 2315
 	 * @param  string $value New description.
2316 2316
 	 */
2317
-	public function set_description( $value ) {
2318
-        $description = wp_kses_post( $value );
2319
-		$this->set_prop( 'description', $description );
2317
+	public function set_description($value) {
2318
+        $description = wp_kses_post($value);
2319
+		$this->set_prop('description', $description);
2320 2320
     }
2321 2321
 
2322 2322
     /**
@@ -2325,8 +2325,8 @@  discard block
 block discarded – undo
2325 2325
 	 * @since 1.0.19
2326 2326
 	 * @param  string $value New description.
2327 2327
 	 */
2328
-	public function set_excerpt( $value ) {
2329
-		$this->set_description( $value );
2328
+	public function set_excerpt($value) {
2329
+		$this->set_description($value);
2330 2330
     }
2331 2331
 
2332 2332
     /**
@@ -2335,8 +2335,8 @@  discard block
 block discarded – undo
2335 2335
 	 * @since 1.0.19
2336 2336
 	 * @param  string $value New description.
2337 2337
 	 */
2338
-	public function set_summary( $value ) {
2339
-		$this->set_description( $value );
2338
+	public function set_summary($value) {
2339
+		$this->set_description($value);
2340 2340
     }
2341 2341
 
2342 2342
     /**
@@ -2345,12 +2345,12 @@  discard block
 block discarded – undo
2345 2345
 	 * @since 1.0.19
2346 2346
 	 * @param  int $value New author.
2347 2347
 	 */
2348
-	public function set_author( $value ) {
2349
-		$user = get_user_by( 'id', (int) $value );
2348
+	public function set_author($value) {
2349
+		$user = get_user_by('id', (int) $value);
2350 2350
 
2351
-		if ( $user && $user->ID ) {
2352
-			$this->set_prop( 'author', $user->ID );
2353
-			$this->set_prop( 'email', $user->user_email );
2351
+		if ($user && $user->ID) {
2352
+			$this->set_prop('author', $user->ID);
2353
+			$this->set_prop('email', $user->user_email);
2354 2354
 		}
2355 2355
 
2356 2356
     }
@@ -2361,8 +2361,8 @@  discard block
 block discarded – undo
2361 2361
 	 * @since 1.0.19
2362 2362
 	 * @param  int $value New user id.
2363 2363
 	 */
2364
-	public function set_user_id( $value ) {
2365
-		$this->set_author( $value );
2364
+	public function set_user_id($value) {
2365
+		$this->set_author($value);
2366 2366
     }
2367 2367
 
2368 2368
     /**
@@ -2371,8 +2371,8 @@  discard block
 block discarded – undo
2371 2371
 	 * @since 1.0.19
2372 2372
 	 * @param  int $value New user id.
2373 2373
 	 */
2374
-	public function set_customer_id( $value ) {
2375
-		$this->set_author( $value );
2374
+	public function set_customer_id($value) {
2375
+		$this->set_author($value);
2376 2376
     }
2377 2377
 
2378 2378
     /**
@@ -2381,8 +2381,8 @@  discard block
 block discarded – undo
2381 2381
 	 * @since 1.0.19
2382 2382
 	 * @param  string $value ip address.
2383 2383
 	 */
2384
-	public function set_ip( $value ) {
2385
-		$this->set_prop( 'ip', $value );
2384
+	public function set_ip($value) {
2385
+		$this->set_prop('ip', $value);
2386 2386
     }
2387 2387
 
2388 2388
     /**
@@ -2391,8 +2391,8 @@  discard block
 block discarded – undo
2391 2391
 	 * @since 1.0.19
2392 2392
 	 * @param  string $value ip address.
2393 2393
 	 */
2394
-	public function set_user_ip( $value ) {
2395
-		$this->set_ip( $value );
2394
+	public function set_user_ip($value) {
2395
+		$this->set_ip($value);
2396 2396
     }
2397 2397
 
2398 2398
     /**
@@ -2401,8 +2401,8 @@  discard block
 block discarded – undo
2401 2401
 	 * @since 1.0.19
2402 2402
 	 * @param  string $value first name.
2403 2403
 	 */
2404
-	public function set_first_name( $value ) {
2405
-		$this->set_prop( 'first_name', $value );
2404
+	public function set_first_name($value) {
2405
+		$this->set_prop('first_name', $value);
2406 2406
     }
2407 2407
 
2408 2408
     /**
@@ -2411,8 +2411,8 @@  discard block
 block discarded – undo
2411 2411
 	 * @since 1.0.19
2412 2412
 	 * @param  string $value first name.
2413 2413
 	 */
2414
-	public function set_user_first_name( $value ) {
2415
-		$this->set_first_name( $value );
2414
+	public function set_user_first_name($value) {
2415
+		$this->set_first_name($value);
2416 2416
     }
2417 2417
 
2418 2418
     /**
@@ -2421,8 +2421,8 @@  discard block
 block discarded – undo
2421 2421
 	 * @since 1.0.19
2422 2422
 	 * @param  string $value first name.
2423 2423
 	 */
2424
-	public function set_customer_first_name( $value ) {
2425
-		$this->set_first_name( $value );
2424
+	public function set_customer_first_name($value) {
2425
+		$this->set_first_name($value);
2426 2426
     }
2427 2427
 
2428 2428
     /**
@@ -2431,8 +2431,8 @@  discard block
 block discarded – undo
2431 2431
 	 * @since 1.0.19
2432 2432
 	 * @param  string $value last name.
2433 2433
 	 */
2434
-	public function set_last_name( $value ) {
2435
-		$this->set_prop( 'last_name', $value );
2434
+	public function set_last_name($value) {
2435
+		$this->set_prop('last_name', $value);
2436 2436
     }
2437 2437
 
2438 2438
     /**
@@ -2441,8 +2441,8 @@  discard block
 block discarded – undo
2441 2441
 	 * @since 1.0.19
2442 2442
 	 * @param  string $value last name.
2443 2443
 	 */
2444
-	public function set_user_last_name( $value ) {
2445
-		$this->set_last_name( $value );
2444
+	public function set_user_last_name($value) {
2445
+		$this->set_last_name($value);
2446 2446
     }
2447 2447
 
2448 2448
     /**
@@ -2451,8 +2451,8 @@  discard block
 block discarded – undo
2451 2451
 	 * @since 1.0.19
2452 2452
 	 * @param  string $value last name.
2453 2453
 	 */
2454
-	public function set_customer_last_name( $value ) {
2455
-		$this->set_last_name( $value );
2454
+	public function set_customer_last_name($value) {
2455
+		$this->set_last_name($value);
2456 2456
     }
2457 2457
 
2458 2458
     /**
@@ -2461,8 +2461,8 @@  discard block
 block discarded – undo
2461 2461
 	 * @since 1.0.19
2462 2462
 	 * @param  string $value phone.
2463 2463
 	 */
2464
-	public function set_phone( $value ) {
2465
-		$this->set_prop( 'phone', $value );
2464
+	public function set_phone($value) {
2465
+		$this->set_prop('phone', $value);
2466 2466
     }
2467 2467
 
2468 2468
     /**
@@ -2471,8 +2471,8 @@  discard block
 block discarded – undo
2471 2471
 	 * @since 1.0.19
2472 2472
 	 * @param  string $value phone.
2473 2473
 	 */
2474
-	public function set_user_phone( $value ) {
2475
-		$this->set_phone( $value );
2474
+	public function set_user_phone($value) {
2475
+		$this->set_phone($value);
2476 2476
     }
2477 2477
 
2478 2478
     /**
@@ -2481,8 +2481,8 @@  discard block
 block discarded – undo
2481 2481
 	 * @since 1.0.19
2482 2482
 	 * @param  string $value phone.
2483 2483
 	 */
2484
-	public function set_customer_phone( $value ) {
2485
-		$this->set_phone( $value );
2484
+	public function set_customer_phone($value) {
2485
+		$this->set_phone($value);
2486 2486
     }
2487 2487
 
2488 2488
     /**
@@ -2491,8 +2491,8 @@  discard block
 block discarded – undo
2491 2491
 	 * @since 1.0.19
2492 2492
 	 * @param  string $value phone.
2493 2493
 	 */
2494
-	public function set_phone_number( $value ) {
2495
-		$this->set_phone( $value );
2494
+	public function set_phone_number($value) {
2495
+		$this->set_phone($value);
2496 2496
     }
2497 2497
 
2498 2498
     /**
@@ -2501,8 +2501,8 @@  discard block
 block discarded – undo
2501 2501
 	 * @since 1.0.19
2502 2502
 	 * @param  string $value email address.
2503 2503
 	 */
2504
-	public function set_email( $value ) {
2505
-		$this->set_prop( 'email', $value );
2504
+	public function set_email($value) {
2505
+		$this->set_prop('email', $value);
2506 2506
     }
2507 2507
 
2508 2508
     /**
@@ -2511,8 +2511,8 @@  discard block
 block discarded – undo
2511 2511
 	 * @since 1.0.19
2512 2512
 	 * @param  string $value email address.
2513 2513
 	 */
2514
-	public function set_user_email( $value ) {
2515
-		$this->set_email( $value );
2514
+	public function set_user_email($value) {
2515
+		$this->set_email($value);
2516 2516
     }
2517 2517
 
2518 2518
     /**
@@ -2521,8 +2521,8 @@  discard block
 block discarded – undo
2521 2521
 	 * @since 1.0.19
2522 2522
 	 * @param  string $value email address.
2523 2523
 	 */
2524
-	public function set_email_address( $value ) {
2525
-		$this->set_email( $value );
2524
+	public function set_email_address($value) {
2525
+		$this->set_email($value);
2526 2526
     }
2527 2527
 
2528 2528
     /**
@@ -2531,8 +2531,8 @@  discard block
 block discarded – undo
2531 2531
 	 * @since 1.0.19
2532 2532
 	 * @param  string $value email address.
2533 2533
 	 */
2534
-	public function set_customer_email( $value ) {
2535
-		$this->set_email( $value );
2534
+	public function set_customer_email($value) {
2535
+		$this->set_email($value);
2536 2536
     }
2537 2537
 
2538 2538
     /**
@@ -2541,8 +2541,8 @@  discard block
 block discarded – undo
2541 2541
 	 * @since 1.0.19
2542 2542
 	 * @param  string $value country.
2543 2543
 	 */
2544
-	public function set_country( $value ) {
2545
-		$this->set_prop( 'country', $value );
2544
+	public function set_country($value) {
2545
+		$this->set_prop('country', $value);
2546 2546
     }
2547 2547
 
2548 2548
     /**
@@ -2551,8 +2551,8 @@  discard block
 block discarded – undo
2551 2551
 	 * @since 1.0.19
2552 2552
 	 * @param  string $value country.
2553 2553
 	 */
2554
-	public function set_user_country( $value ) {
2555
-		$this->set_country( $value );
2554
+	public function set_user_country($value) {
2555
+		$this->set_country($value);
2556 2556
     }
2557 2557
 
2558 2558
     /**
@@ -2561,8 +2561,8 @@  discard block
 block discarded – undo
2561 2561
 	 * @since 1.0.19
2562 2562
 	 * @param  string $value country.
2563 2563
 	 */
2564
-	public function set_customer_country( $value ) {
2565
-		$this->set_country( $value );
2564
+	public function set_customer_country($value) {
2565
+		$this->set_country($value);
2566 2566
     }
2567 2567
 
2568 2568
     /**
@@ -2571,8 +2571,8 @@  discard block
 block discarded – undo
2571 2571
 	 * @since 1.0.19
2572 2572
 	 * @param  string $value state.
2573 2573
 	 */
2574
-	public function set_state( $value ) {
2575
-		$this->set_prop( 'state', $value );
2574
+	public function set_state($value) {
2575
+		$this->set_prop('state', $value);
2576 2576
     }
2577 2577
 
2578 2578
     /**
@@ -2581,8 +2581,8 @@  discard block
 block discarded – undo
2581 2581
 	 * @since 1.0.19
2582 2582
 	 * @param  string $value state.
2583 2583
 	 */
2584
-	public function set_user_state( $value ) {
2585
-		$this->set_state( $value );
2584
+	public function set_user_state($value) {
2585
+		$this->set_state($value);
2586 2586
     }
2587 2587
 
2588 2588
     /**
@@ -2591,8 +2591,8 @@  discard block
 block discarded – undo
2591 2591
 	 * @since 1.0.19
2592 2592
 	 * @param  string $value state.
2593 2593
 	 */
2594
-	public function set_customer_state( $value ) {
2595
-		$this->set_state( $value );
2594
+	public function set_customer_state($value) {
2595
+		$this->set_state($value);
2596 2596
     }
2597 2597
 
2598 2598
     /**
@@ -2601,8 +2601,8 @@  discard block
 block discarded – undo
2601 2601
 	 * @since 1.0.19
2602 2602
 	 * @param  string $value city.
2603 2603
 	 */
2604
-	public function set_city( $value ) {
2605
-		$this->set_prop( 'city', $value );
2604
+	public function set_city($value) {
2605
+		$this->set_prop('city', $value);
2606 2606
     }
2607 2607
 
2608 2608
     /**
@@ -2611,8 +2611,8 @@  discard block
 block discarded – undo
2611 2611
 	 * @since 1.0.19
2612 2612
 	 * @param  string $value city.
2613 2613
 	 */
2614
-	public function set_user_city( $value ) {
2615
-		$this->set_city( $value );
2614
+	public function set_user_city($value) {
2615
+		$this->set_city($value);
2616 2616
     }
2617 2617
 
2618 2618
     /**
@@ -2621,8 +2621,8 @@  discard block
 block discarded – undo
2621 2621
 	 * @since 1.0.19
2622 2622
 	 * @param  string $value city.
2623 2623
 	 */
2624
-	public function set_customer_city( $value ) {
2625
-		$this->set_city( $value );
2624
+	public function set_customer_city($value) {
2625
+		$this->set_city($value);
2626 2626
     }
2627 2627
 
2628 2628
     /**
@@ -2631,8 +2631,8 @@  discard block
 block discarded – undo
2631 2631
 	 * @since 1.0.19
2632 2632
 	 * @param  string $value zip.
2633 2633
 	 */
2634
-	public function set_zip( $value ) {
2635
-		$this->set_prop( 'zip', $value );
2634
+	public function set_zip($value) {
2635
+		$this->set_prop('zip', $value);
2636 2636
     }
2637 2637
 
2638 2638
     /**
@@ -2641,8 +2641,8 @@  discard block
 block discarded – undo
2641 2641
 	 * @since 1.0.19
2642 2642
 	 * @param  string $value zip.
2643 2643
 	 */
2644
-	public function set_user_zip( $value ) {
2645
-		$this->set_zip( $value );
2644
+	public function set_user_zip($value) {
2645
+		$this->set_zip($value);
2646 2646
     }
2647 2647
 
2648 2648
     /**
@@ -2651,8 +2651,8 @@  discard block
 block discarded – undo
2651 2651
 	 * @since 1.0.19
2652 2652
 	 * @param  string $value zip.
2653 2653
 	 */
2654
-	public function set_customer_zip( $value ) {
2655
-		$this->set_zip( $value );
2654
+	public function set_customer_zip($value) {
2655
+		$this->set_zip($value);
2656 2656
     }
2657 2657
 
2658 2658
     /**
@@ -2661,8 +2661,8 @@  discard block
 block discarded – undo
2661 2661
 	 * @since 1.0.19
2662 2662
 	 * @param  string $value company.
2663 2663
 	 */
2664
-	public function set_company( $value ) {
2665
-		$this->set_prop( 'company', $value );
2664
+	public function set_company($value) {
2665
+		$this->set_prop('company', $value);
2666 2666
     }
2667 2667
 
2668 2668
     /**
@@ -2671,8 +2671,8 @@  discard block
 block discarded – undo
2671 2671
 	 * @since 1.0.19
2672 2672
 	 * @param  string $value company.
2673 2673
 	 */
2674
-	public function set_user_company( $value ) {
2675
-		$this->set_company( $value );
2674
+	public function set_user_company($value) {
2675
+		$this->set_company($value);
2676 2676
     }
2677 2677
 
2678 2678
     /**
@@ -2681,8 +2681,8 @@  discard block
 block discarded – undo
2681 2681
 	 * @since 1.0.19
2682 2682
 	 * @param  string $value company.
2683 2683
 	 */
2684
-	public function set_customer_company( $value ) {
2685
-		$this->set_company( $value );
2684
+	public function set_customer_company($value) {
2685
+		$this->set_company($value);
2686 2686
     }
2687 2687
 
2688 2688
 	/**
@@ -2691,8 +2691,8 @@  discard block
 block discarded – undo
2691 2691
 	 * @since 1.0.19
2692 2692
 	 * @param  string $value company id.
2693 2693
 	 */
2694
-	public function set_company_id( $value ) {
2695
-		$this->set_prop( 'company_id', $value );
2694
+	public function set_company_id($value) {
2695
+		$this->set_prop('company_id', $value);
2696 2696
     }
2697 2697
 
2698 2698
     /**
@@ -2701,8 +2701,8 @@  discard block
 block discarded – undo
2701 2701
 	 * @since 1.0.19
2702 2702
 	 * @param  string $value var number.
2703 2703
 	 */
2704
-	public function set_vat_number( $value ) {
2705
-		$this->set_prop( 'vat_number', $value );
2704
+	public function set_vat_number($value) {
2705
+		$this->set_prop('vat_number', $value);
2706 2706
     }
2707 2707
 
2708 2708
     /**
@@ -2711,8 +2711,8 @@  discard block
 block discarded – undo
2711 2711
 	 * @since 1.0.19
2712 2712
 	 * @param  string $value var number.
2713 2713
 	 */
2714
-	public function set_user_vat_number( $value ) {
2715
-		$this->set_vat_number( $value );
2714
+	public function set_user_vat_number($value) {
2715
+		$this->set_vat_number($value);
2716 2716
     }
2717 2717
 
2718 2718
     /**
@@ -2721,8 +2721,8 @@  discard block
 block discarded – undo
2721 2721
 	 * @since 1.0.19
2722 2722
 	 * @param  string $value var number.
2723 2723
 	 */
2724
-	public function set_customer_vat_number( $value ) {
2725
-		$this->set_vat_number( $value );
2724
+	public function set_customer_vat_number($value) {
2725
+		$this->set_vat_number($value);
2726 2726
     }
2727 2727
 
2728 2728
     /**
@@ -2731,8 +2731,8 @@  discard block
 block discarded – undo
2731 2731
 	 * @since 1.0.19
2732 2732
 	 * @param  string $value var rate.
2733 2733
 	 */
2734
-	public function set_vat_rate( $value ) {
2735
-		$this->set_prop( 'vat_rate', $value );
2734
+	public function set_vat_rate($value) {
2735
+		$this->set_prop('vat_rate', $value);
2736 2736
     }
2737 2737
 
2738 2738
     /**
@@ -2741,8 +2741,8 @@  discard block
 block discarded – undo
2741 2741
 	 * @since 1.0.19
2742 2742
 	 * @param  string $value var number.
2743 2743
 	 */
2744
-	public function set_user_vat_rate( $value ) {
2745
-		$this->set_vat_rate( $value );
2744
+	public function set_user_vat_rate($value) {
2745
+		$this->set_vat_rate($value);
2746 2746
     }
2747 2747
 
2748 2748
     /**
@@ -2751,8 +2751,8 @@  discard block
 block discarded – undo
2751 2751
 	 * @since 1.0.19
2752 2752
 	 * @param  string $value var number.
2753 2753
 	 */
2754
-	public function set_customer_vat_rate( $value ) {
2755
-		$this->set_vat_rate( $value );
2754
+	public function set_customer_vat_rate($value) {
2755
+		$this->set_vat_rate($value);
2756 2756
     }
2757 2757
 
2758 2758
     /**
@@ -2761,8 +2761,8 @@  discard block
 block discarded – undo
2761 2761
 	 * @since 1.0.19
2762 2762
 	 * @param  string $value address.
2763 2763
 	 */
2764
-	public function set_address( $value ) {
2765
-		$this->set_prop( 'address', $value );
2764
+	public function set_address($value) {
2765
+		$this->set_prop('address', $value);
2766 2766
     }
2767 2767
 
2768 2768
     /**
@@ -2771,8 +2771,8 @@  discard block
 block discarded – undo
2771 2771
 	 * @since 1.0.19
2772 2772
 	 * @param  string $value address.
2773 2773
 	 */
2774
-	public function set_user_address( $value ) {
2775
-		$this->set_address( $value );
2774
+	public function set_user_address($value) {
2775
+		$this->set_address($value);
2776 2776
     }
2777 2777
 
2778 2778
     /**
@@ -2781,8 +2781,8 @@  discard block
 block discarded – undo
2781 2781
 	 * @since 1.0.19
2782 2782
 	 * @param  string $value address.
2783 2783
 	 */
2784
-	public function set_customer_address( $value ) {
2785
-		$this->set_address( $value );
2784
+	public function set_customer_address($value) {
2785
+		$this->set_address($value);
2786 2786
     }
2787 2787
 
2788 2788
     /**
@@ -2791,8 +2791,8 @@  discard block
 block discarded – undo
2791 2791
 	 * @since 1.0.19
2792 2792
 	 * @param  int|bool $value confirmed.
2793 2793
 	 */
2794
-	public function set_is_viewed( $value ) {
2795
-		$this->set_prop( 'is_viewed', $value );
2794
+	public function set_is_viewed($value) {
2795
+		$this->set_prop('is_viewed', $value);
2796 2796
 	}
2797 2797
 
2798 2798
 	/**
@@ -2801,8 +2801,8 @@  discard block
 block discarded – undo
2801 2801
 	 * @since 1.0.19
2802 2802
 	 * @param  string $value email recipients.
2803 2803
 	 */
2804
-	public function set_email_cc( $value ) {
2805
-		$this->set_prop( 'email_cc', $value );
2804
+	public function set_email_cc($value) {
2805
+		$this->set_prop('email_cc', $value);
2806 2806
 	}
2807 2807
 
2808 2808
 	/**
@@ -2811,9 +2811,9 @@  discard block
 block discarded – undo
2811 2811
 	 * @since 1.0.19
2812 2812
 	 * @param  string $value template.
2813 2813
 	 */
2814
-	public function set_template( $value ) {
2815
-		if ( in_array( $value, array( 'quantity', 'hours', 'amount' ) ) ) {
2816
-			$this->set_prop( 'template', $value );
2814
+	public function set_template($value) {
2815
+		if (in_array($value, array('quantity', 'hours', 'amount'))) {
2816
+			$this->set_prop('template', $value);
2817 2817
 		}
2818 2818
 	}
2819 2819
 
@@ -2824,8 +2824,8 @@  discard block
 block discarded – undo
2824 2824
 	 * @param  string $value source.
2825 2825
 	 * @deprecated
2826 2826
 	 */
2827
-	public function created_via( $value ) {
2828
-		$this->set_created_via( sanitize_text_field( $value ) );
2827
+	public function created_via($value) {
2828
+		$this->set_created_via(sanitize_text_field($value));
2829 2829
 	}
2830 2830
 
2831 2831
 	/**
@@ -2834,8 +2834,8 @@  discard block
 block discarded – undo
2834 2834
 	 * @since 1.0.19
2835 2835
 	 * @param  string $value source.
2836 2836
 	 */
2837
-	public function set_created_via( $value ) {
2838
-		$this->set_prop( 'created_via', sanitize_text_field( $value ) );
2837
+	public function set_created_via($value) {
2838
+		$this->set_prop('created_via', sanitize_text_field($value));
2839 2839
 	}
2840 2840
 
2841 2841
 	/**
@@ -2844,8 +2844,8 @@  discard block
 block discarded – undo
2844 2844
 	 * @since 1.0.19
2845 2845
 	 * @param  int|bool $value confirmed.
2846 2846
 	 */
2847
-	public function set_address_confirmed( $value ) {
2848
-		$this->set_prop( 'address_confirmed', $value );
2847
+	public function set_address_confirmed($value) {
2848
+		$this->set_prop('address_confirmed', $value);
2849 2849
     }
2850 2850
 
2851 2851
     /**
@@ -2854,8 +2854,8 @@  discard block
 block discarded – undo
2854 2854
 	 * @since 1.0.19
2855 2855
 	 * @param  int|bool $value confirmed.
2856 2856
 	 */
2857
-	public function set_user_address_confirmed( $value ) {
2858
-		$this->set_address_confirmed( $value );
2857
+	public function set_user_address_confirmed($value) {
2858
+		$this->set_address_confirmed($value);
2859 2859
     }
2860 2860
 
2861 2861
     /**
@@ -2864,8 +2864,8 @@  discard block
 block discarded – undo
2864 2864
 	 * @since 1.0.19
2865 2865
 	 * @param  int|bool $value confirmed.
2866 2866
 	 */
2867
-	public function set_customer_address_confirmed( $value ) {
2868
-		$this->set_address_confirmed( $value );
2867
+	public function set_customer_address_confirmed($value) {
2868
+		$this->set_address_confirmed($value);
2869 2869
     }
2870 2870
 
2871 2871
     /**
@@ -2874,13 +2874,13 @@  discard block
 block discarded – undo
2874 2874
 	 * @since 1.0.19
2875 2875
 	 * @param  float $value shipping amount.
2876 2876
 	 */
2877
-	public function set_shipping( $value ) {
2877
+	public function set_shipping($value) {
2878 2878
 
2879
-		if ( ! is_numeric( $value ) ) {
2880
-			return $this->set_prop( 'shipping', null );
2879
+		if (!is_numeric($value)) {
2880
+			return $this->set_prop('shipping', null);
2881 2881
 		}
2882 2882
 
2883
-		$this->set_prop( 'shipping', max( 0, floatval( $value ) ) );
2883
+		$this->set_prop('shipping', max(0, floatval($value)));
2884 2884
 	}
2885 2885
 
2886 2886
 	/**
@@ -2889,8 +2889,8 @@  discard block
 block discarded – undo
2889 2889
 	 * @since 1.0.19
2890 2890
 	 * @param  float $value sub total.
2891 2891
 	 */
2892
-	public function set_subtotal( $value ) {
2893
-		$this->set_prop( 'subtotal', max( 0, $value ) );
2892
+	public function set_subtotal($value) {
2893
+		$this->set_prop('subtotal', max(0, $value));
2894 2894
 	}
2895 2895
 
2896 2896
 	/**
@@ -2899,8 +2899,8 @@  discard block
 block discarded – undo
2899 2899
 	 * @since 1.0.19
2900 2900
 	 * @param  float $value sub total.
2901 2901
 	 */
2902
-	public function set_total( $value ) {
2903
-		$this->set_prop( 'total', max( 0, $value ) );
2902
+	public function set_total($value) {
2903
+		$this->set_prop('total', max(0, $value));
2904 2904
     }
2905 2905
 
2906 2906
     /**
@@ -2909,8 +2909,8 @@  discard block
 block discarded – undo
2909 2909
 	 * @since 1.0.19
2910 2910
 	 * @param  float $value discount total.
2911 2911
 	 */
2912
-	public function set_total_discount( $value ) {
2913
-		$this->set_prop( 'total_discount', max( 0, $value ) );
2912
+	public function set_total_discount($value) {
2913
+		$this->set_prop('total_discount', max(0, $value));
2914 2914
     }
2915 2915
 
2916 2916
     /**
@@ -2919,8 +2919,8 @@  discard block
 block discarded – undo
2919 2919
 	 * @since 1.0.19
2920 2920
 	 * @param  float $value discount total.
2921 2921
 	 */
2922
-	public function set_discount( $value ) {
2923
-		$this->set_total_discount( $value );
2922
+	public function set_discount($value) {
2923
+		$this->set_total_discount($value);
2924 2924
     }
2925 2925
 
2926 2926
     /**
@@ -2929,8 +2929,8 @@  discard block
 block discarded – undo
2929 2929
 	 * @since 1.0.19
2930 2930
 	 * @param  float $value tax total.
2931 2931
 	 */
2932
-	public function set_total_tax( $value ) {
2933
-		$this->set_prop( 'total_tax', max( 0, $value ) );
2932
+	public function set_total_tax($value) {
2933
+		$this->set_prop('total_tax', max(0, $value));
2934 2934
     }
2935 2935
 
2936 2936
     /**
@@ -2939,8 +2939,8 @@  discard block
 block discarded – undo
2939 2939
 	 * @since 1.0.19
2940 2940
 	 * @param  float $value tax total.
2941 2941
 	 */
2942
-	public function set_tax_total( $value ) {
2943
-		$this->set_total_tax( $value );
2942
+	public function set_tax_total($value) {
2943
+		$this->set_total_tax($value);
2944 2944
     }
2945 2945
 
2946 2946
     /**
@@ -2949,8 +2949,8 @@  discard block
 block discarded – undo
2949 2949
 	 * @since 1.0.19
2950 2950
 	 * @param  float $value fees total.
2951 2951
 	 */
2952
-	public function set_total_fees( $value ) {
2953
-		$this->set_prop( 'total_fees', max( 0, $value ) );
2952
+	public function set_total_fees($value) {
2953
+		$this->set_prop('total_fees', max(0, $value));
2954 2954
     }
2955 2955
 
2956 2956
     /**
@@ -2959,8 +2959,8 @@  discard block
 block discarded – undo
2959 2959
 	 * @since 1.0.19
2960 2960
 	 * @param  float $value fees total.
2961 2961
 	 */
2962
-	public function set_fees_total( $value ) {
2963
-		$this->set_total_fees( $value );
2962
+	public function set_fees_total($value) {
2963
+		$this->set_total_fees($value);
2964 2964
     }
2965 2965
 
2966 2966
     /**
@@ -2969,13 +2969,13 @@  discard block
 block discarded – undo
2969 2969
 	 * @since 1.0.19
2970 2970
 	 * @param  array $value fees.
2971 2971
 	 */
2972
-	public function set_fees( $value ) {
2972
+	public function set_fees($value) {
2973 2973
 
2974
-		if ( ! is_array( $value ) ) {
2974
+		if (!is_array($value)) {
2975 2975
 			$value = array();
2976 2976
 		}
2977 2977
 
2978
-		$this->set_prop( 'fees', $value );
2978
+		$this->set_prop('fees', $value);
2979 2979
 
2980 2980
     }
2981 2981
 
@@ -2985,13 +2985,13 @@  discard block
 block discarded – undo
2985 2985
 	 * @since 1.0.19
2986 2986
 	 * @param  array $value taxes.
2987 2987
 	 */
2988
-	public function set_taxes( $value ) {
2988
+	public function set_taxes($value) {
2989 2989
 
2990
-		if ( ! is_array( $value ) ) {
2990
+		if (!is_array($value)) {
2991 2991
 			$value = array();
2992 2992
 		}
2993 2993
 
2994
-		$this->set_prop( 'taxes', $value );
2994
+		$this->set_prop('taxes', $value);
2995 2995
 
2996 2996
     }
2997 2997
 
@@ -3001,13 +3001,13 @@  discard block
 block discarded – undo
3001 3001
 	 * @since 1.0.19
3002 3002
 	 * @param  array $value discounts.
3003 3003
 	 */
3004
-	public function set_discounts( $value ) {
3004
+	public function set_discounts($value) {
3005 3005
 
3006
-		if ( ! is_array( $value ) ) {
3006
+		if (!is_array($value)) {
3007 3007
 			$value = array();
3008 3008
 		}
3009 3009
 
3010
-		$this->set_prop( 'discounts', $value );
3010
+		$this->set_prop('discounts', $value);
3011 3011
     }
3012 3012
 
3013 3013
     /**
@@ -3016,19 +3016,19 @@  discard block
 block discarded – undo
3016 3016
 	 * @since 1.0.19
3017 3017
 	 * @param  GetPaid_Form_Item[] $value items.
3018 3018
 	 */
3019
-	public function set_items( $value ) {
3019
+	public function set_items($value) {
3020 3020
 
3021 3021
         // Remove existing items.
3022
-        $this->set_prop( 'items', array() );
3022
+        $this->set_prop('items', array());
3023 3023
 		$this->recurring_item = null;
3024 3024
 
3025 3025
         // Ensure that we have an array.
3026
-        if ( ! is_array( $value ) ) {
3026
+        if (!is_array($value)) {
3027 3027
             return;
3028 3028
         }
3029 3029
 
3030
-        foreach ( $value as $item ) {
3031
-            $this->add_item( $item );
3030
+        foreach ($value as $item) {
3031
+            $this->add_item($item);
3032 3032
         }
3033 3033
 
3034 3034
     }
@@ -3039,8 +3039,8 @@  discard block
 block discarded – undo
3039 3039
 	 * @since 1.0.19
3040 3040
 	 * @param  int $value payment form.
3041 3041
 	 */
3042
-	public function set_payment_form( $value ) {
3043
-		$this->set_prop( 'payment_form', $value );
3042
+	public function set_payment_form($value) {
3043
+		$this->set_prop('payment_form', $value);
3044 3044
     }
3045 3045
 
3046 3046
     /**
@@ -3049,8 +3049,8 @@  discard block
 block discarded – undo
3049 3049
 	 * @since 1.0.19
3050 3050
 	 * @param  string $value submission id.
3051 3051
 	 */
3052
-	public function set_submission_id( $value ) {
3053
-		$this->set_prop( 'submission_id', $value );
3052
+	public function set_submission_id($value) {
3053
+		$this->set_prop('submission_id', $value);
3054 3054
     }
3055 3055
 
3056 3056
     /**
@@ -3059,8 +3059,8 @@  discard block
 block discarded – undo
3059 3059
 	 * @since 1.0.19
3060 3060
 	 * @param  string $value discount code.
3061 3061
 	 */
3062
-	public function set_discount_code( $value ) {
3063
-		$this->set_prop( 'discount_code', sanitize_text_field( $value ) );
3062
+	public function set_discount_code($value) {
3063
+		$this->set_prop('discount_code', sanitize_text_field($value));
3064 3064
     }
3065 3065
 
3066 3066
     /**
@@ -3069,8 +3069,8 @@  discard block
 block discarded – undo
3069 3069
 	 * @since 1.0.19
3070 3070
 	 * @param  string $value gateway.
3071 3071
 	 */
3072
-	public function set_gateway( $value ) {
3073
-		$this->set_prop( 'gateway', $value );
3072
+	public function set_gateway($value) {
3073
+		$this->set_prop('gateway', $value);
3074 3074
     }
3075 3075
 
3076 3076
     /**
@@ -3079,9 +3079,9 @@  discard block
 block discarded – undo
3079 3079
 	 * @since 1.0.19
3080 3080
 	 * @param  string $value transaction id.
3081 3081
 	 */
3082
-	public function set_transaction_id( $value ) {
3083
-		if ( ! empty( $value ) ) {
3084
-			$this->set_prop( 'transaction_id', $value );
3082
+	public function set_transaction_id($value) {
3083
+		if (!empty($value)) {
3084
+			$this->set_prop('transaction_id', $value);
3085 3085
 		}
3086 3086
     }
3087 3087
 
@@ -3091,8 +3091,8 @@  discard block
 block discarded – undo
3091 3091
 	 * @since 1.0.19
3092 3092
 	 * @param  string $value currency id.
3093 3093
 	 */
3094
-	public function set_currency( $value ) {
3095
-		$this->set_prop( 'currency', $value );
3094
+	public function set_currency($value) {
3095
+		$this->set_prop('currency', $value);
3096 3096
     }
3097 3097
 
3098 3098
 	/**
@@ -3101,8 +3101,8 @@  discard block
 block discarded – undo
3101 3101
 	 * @since 1.0.19
3102 3102
 	 * @param  bool $value value.
3103 3103
 	 */
3104
-	public function set_disable_taxes( $value ) {
3105
-		$this->set_prop( 'disable_taxes', (bool) $value );
3104
+	public function set_disable_taxes($value) {
3105
+		$this->set_prop('disable_taxes', (bool) $value);
3106 3106
 	}
3107 3107
 
3108 3108
     /**
@@ -3111,8 +3111,8 @@  discard block
 block discarded – undo
3111 3111
 	 * @since 1.0.19
3112 3112
 	 * @param  string $value subscription id.
3113 3113
 	 */
3114
-	public function set_subscription_id( $value ) {
3115
-		$this->set_prop( 'subscription_id', $value );
3114
+	public function set_subscription_id($value) {
3115
+		$this->set_prop('subscription_id', $value);
3116 3116
 	}
3117 3117
 
3118 3118
 	/**
@@ -3121,8 +3121,8 @@  discard block
 block discarded – undo
3121 3121
 	 * @since 1.0.19
3122 3122
 	 * @param  string $value subscription id.
3123 3123
 	 */
3124
-	public function set_remote_subscription_id( $value ) {
3125
-		$this->set_prop( 'remote_subscription_id', $value );
3124
+	public function set_remote_subscription_id($value) {
3125
+		$this->set_prop('remote_subscription_id', $value);
3126 3126
     }
3127 3127
 
3128 3128
     /*
@@ -3139,28 +3139,28 @@  discard block
 block discarded – undo
3139 3139
      */
3140 3140
     public function is_parent() {
3141 3141
         $parent = $this->get_parent_id();
3142
-        return apply_filters( 'wpinv_invoice_is_parent', empty( $parent ), $this );
3142
+        return apply_filters('wpinv_invoice_is_parent', empty($parent), $this);
3143 3143
     }
3144 3144
 
3145 3145
     /**
3146 3146
      * Checks if this is a renewal invoice.
3147 3147
      */
3148 3148
     public function is_renewal() {
3149
-        return $this->is_recurring() && ! $this->is_parent();
3149
+        return $this->is_recurring() && !$this->is_parent();
3150 3150
     }
3151 3151
 
3152 3152
     /**
3153 3153
      * Checks if this is a recurring invoice.
3154 3154
      */
3155 3155
     public function is_recurring() {
3156
-        return ! empty( $this->recurring_item );
3156
+        return !empty($this->recurring_item);
3157 3157
     }
3158 3158
 
3159 3159
     /**
3160 3160
      * Checks if this is a taxable invoice.
3161 3161
      */
3162 3162
     public function is_taxable() {
3163
-        return ! $this->get_disable_taxes();
3163
+        return !$this->get_disable_taxes();
3164 3164
 	}
3165 3165
 
3166 3166
 	/**
@@ -3174,45 +3174,45 @@  discard block
 block discarded – undo
3174 3174
 	 * Checks to see if the invoice requires payment.
3175 3175
 	 */
3176 3176
 	public function is_free() {
3177
-        $is_free = ( (float) wpinv_round_amount( $this->get_initial_total() ) == 0 );
3177
+        $is_free = ((float) wpinv_round_amount($this->get_initial_total()) == 0);
3178 3178
 
3179
-		if ( $this->is_recurring() && $this->get_recurring_total() > 0 ) {
3179
+		if ($this->is_recurring() && $this->get_recurring_total() > 0) {
3180 3180
 			$is_free = false;
3181 3181
 		}
3182 3182
 
3183
-        return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
3183
+        return apply_filters('wpinv_invoice_is_free', $is_free, $this);
3184 3184
     }
3185 3185
 
3186 3186
     /**
3187 3187
      * Checks if the invoice is paid.
3188 3188
      */
3189 3189
     public function is_paid() {
3190
-        $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
3191
-        return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
3190
+        $is_paid = $this->has_status(array('publish', 'wpi-processing', 'wpi-renewal'));
3191
+        return apply_filters('wpinv_invoice_is_paid', $is_paid, $this);
3192 3192
 	}
3193 3193
 
3194 3194
 	/**
3195 3195
      * Checks if the invoice needs payment.
3196 3196
      */
3197 3197
 	public function needs_payment() {
3198
-		$needs_payment = ! $this->is_paid() && ! $this->is_refunded() && ! $this->is_free();
3199
-        return apply_filters( 'wpinv_needs_payment', $needs_payment, $this );
3198
+		$needs_payment = !$this->is_paid() && !$this->is_refunded() && !$this->is_free();
3199
+        return apply_filters('wpinv_needs_payment', $needs_payment, $this);
3200 3200
     }
3201 3201
 
3202 3202
 	/**
3203 3203
      * Checks if the invoice is refunded.
3204 3204
      */
3205 3205
 	public function is_refunded() {
3206
-        $is_refunded = $this->has_status( 'wpi-refunded' );
3207
-        return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
3206
+        $is_refunded = $this->has_status('wpi-refunded');
3207
+        return apply_filters('wpinv_invoice_is_refunded', $is_refunded, $this);
3208 3208
 	}
3209 3209
 
3210 3210
 	/**
3211 3211
      * Checks if the invoice is held.
3212 3212
      */
3213 3213
 	public function is_held() {
3214
-        $is_held = $this->has_status( 'wpi-onhold' );
3215
-        return apply_filters( 'wpinv_invoice_is_held', $is_held, $this );
3214
+        $is_held = $this->has_status('wpi-onhold');
3215
+        return apply_filters('wpinv_invoice_is_held', $is_held, $this);
3216 3216
 	}
3217 3217
 
3218 3218
 	/**
@@ -3220,30 +3220,30 @@  discard block
 block discarded – undo
3220 3220
      */
3221 3221
 	public function is_due() {
3222 3222
 		$due_date = $this->get_due_date();
3223
-		return empty( $due_date ) ? false : current_time( 'timestamp' ) > strtotime( $due_date );
3223
+		return empty($due_date) ? false : current_time('timestamp') > strtotime($due_date);
3224 3224
 	}
3225 3225
 
3226 3226
 	/**
3227 3227
      * Checks if the invoice is draft.
3228 3228
      */
3229 3229
 	public function is_draft() {
3230
-        return $this->has_status( 'draft, auto-draft' );
3230
+        return $this->has_status('draft, auto-draft');
3231 3231
 	}
3232 3232
 
3233 3233
     /**
3234 3234
      * Checks if the invoice has a given status.
3235 3235
      */
3236
-    public function has_status( $status ) {
3237
-        $status = wpinv_parse_list( $status );
3238
-        return apply_filters( 'wpinv_has_status', in_array( $this->get_status(), $status ), $status );
3236
+    public function has_status($status) {
3237
+        $status = wpinv_parse_list($status);
3238
+        return apply_filters('wpinv_has_status', in_array($this->get_status(), $status), $status);
3239 3239
 	}
3240 3240
 
3241 3241
 	/**
3242 3242
      * Checks if the invoice is of a given type.
3243 3243
      */
3244
-    public function is_type( $type ) {
3245
-        $type = wpinv_parse_list( $type );
3246
-        return in_array( $this->get_type(), $type );
3244
+    public function is_type($type) {
3245
+        $type = wpinv_parse_list($type);
3246
+        return in_array($this->get_type(), $type);
3247 3247
     }
3248 3248
 
3249 3249
     /**
@@ -3275,8 +3275,8 @@  discard block
 block discarded – undo
3275 3275
      *
3276 3276
      */
3277 3277
 	public function is_initial_free() {
3278
-        $is_initial_free = ! ( (float) wpinv_round_amount( $this->get_initial_total() ) > 0 );
3279
-        return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->get_cart_details(), $this );
3278
+        $is_initial_free = !((float) wpinv_round_amount($this->get_initial_total()) > 0);
3279
+        return apply_filters('wpinv_invoice_is_initial_free', $is_initial_free, $this->get_cart_details(), $this);
3280 3280
     }
3281 3281
 
3282 3282
 	/**
@@ -3286,11 +3286,11 @@  discard block
 block discarded – undo
3286 3286
     public function item_has_free_trial() {
3287 3287
 
3288 3288
         // Ensure we have a recurring item.
3289
-        if ( ! $this->is_recurring() ) {
3289
+        if (!$this->is_recurring()) {
3290 3290
             return false;
3291 3291
         }
3292 3292
 
3293
-        $item = $this->get_recurring( true );
3293
+        $item = $this->get_recurring(true);
3294 3294
         return $item->has_free_trial();
3295 3295
 	}
3296 3296
 
@@ -3298,7 +3298,7 @@  discard block
 block discarded – undo
3298 3298
      * Check if the free trial is a result of a discount.
3299 3299
      */
3300 3300
     public function is_free_trial_from_discount() {
3301
-		return $this->has_free_trial() && ! $this->item_has_free_trial();
3301
+		return $this->has_free_trial() && !$this->item_has_free_trial();
3302 3302
 	}
3303 3303
 
3304 3304
 	/**
@@ -3306,12 +3306,12 @@  discard block
 block discarded – undo
3306 3306
      */
3307 3307
     public function discount_first_payment_only() {
3308 3308
 
3309
-		$discount = wpinv_get_discount_obj( $this->get_discount_code() );
3310
-        if ( ! $discount->exists() || ! $this->is_recurring() ) {
3309
+		$discount = wpinv_get_discount_obj($this->get_discount_code());
3310
+        if (!$discount->exists() || !$this->is_recurring()) {
3311 3311
             return true;
3312 3312
         }
3313 3313
 
3314
-        return ! $discount->get_is_recurring();
3314
+        return !$discount->get_is_recurring();
3315 3315
     }
3316 3316
 
3317 3317
     /*
@@ -3329,23 +3329,23 @@  discard block
 block discarded – undo
3329 3329
      * @param GetPaid_Form_Item|array $item
3330 3330
      * @return WP_Error|Bool
3331 3331
      */
3332
-    public function add_item( $item ) {
3332
+    public function add_item($item) {
3333 3333
 
3334
-		if ( is_array( $item ) ) {
3335
-			$item = $this->process_array_item( $item );
3334
+		if (is_array($item)) {
3335
+			$item = $this->process_array_item($item);
3336 3336
 		}
3337 3337
 
3338
-		if ( is_numeric( $item ) ) {
3339
-			$item = new GetPaid_Form_Item( $item );
3338
+		if (is_numeric($item)) {
3339
+			$item = new GetPaid_Form_Item($item);
3340 3340
 		}
3341 3341
 
3342 3342
         // Make sure that it is available for purchase.
3343
-		if ( $item->get_id() > 0 && ! $item->can_purchase() ) {
3344
-			return new WP_Error( 'invalid_item', __( 'This item is not available for purchase', 'invoicing' ) );
3343
+		if ($item->get_id() > 0 && !$item->can_purchase()) {
3344
+			return new WP_Error('invalid_item', __('This item is not available for purchase', 'invoicing'));
3345 3345
         }
3346 3346
 
3347 3347
         // Do we have a recurring item?
3348
-		if ( $item->is_recurring() ) {
3348
+		if ($item->is_recurring()) {
3349 3349
 			$this->recurring_item = $item->get_id();
3350 3350
         }
3351 3351
 
@@ -3353,9 +3353,9 @@  discard block
 block discarded – undo
3353 3353
         $item->invoice_id = (int) $this->get_id();
3354 3354
 
3355 3355
 		// Remove duplicates.
3356
-		$this->remove_item( $item->get_id() );
3356
+		$this->remove_item($item->get_id());
3357 3357
 
3358
-		if ( 0 == $item->get_quantity() ) {
3358
+		if (0 == $item->get_quantity()) {
3359 3359
 			return;
3360 3360
 		}
3361 3361
 
@@ -3365,7 +3365,7 @@  discard block
 block discarded – undo
3365 3365
 		// Add new item.
3366 3366
         $items[] = $item;
3367 3367
 
3368
-        $this->set_prop( 'items', $items );
3368
+        $this->set_prop('items', $items);
3369 3369
 
3370 3370
 		return true;
3371 3371
 	}
@@ -3376,26 +3376,26 @@  discard block
 block discarded – undo
3376 3376
 	 * @since 1.0.19
3377 3377
 	 * @return GetPaid_Form_Item
3378 3378
 	 */
3379
-	protected function process_array_item( $array ) {
3379
+	protected function process_array_item($array) {
3380 3380
 
3381
-		$item_id = isset( $array['item_id'] ) ? $array['item_id'] : 0;
3382
-		$item    = new GetPaid_Form_Item( $item_id );
3381
+		$item_id = isset($array['item_id']) ? $array['item_id'] : 0;
3382
+		$item    = new GetPaid_Form_Item($item_id);
3383 3383
 
3384 3384
 		// Set item data.
3385
-		foreach ( array( 'name', 'price', 'description' ) as $key ) {
3386
-			if ( isset( $array[ "item_$key" ] ) ) {
3385
+		foreach (array('name', 'price', 'description') as $key) {
3386
+			if (isset($array["item_$key"])) {
3387 3387
 				$method = "set_$key";
3388
-				$item->$method( $array[ "item_$key" ] );
3388
+				$item->$method($array["item_$key"]);
3389 3389
 			}
3390 3390
 		}
3391 3391
 
3392
-		if ( isset( $array['quantity'] ) ) {
3393
-			$item->set_quantity( $array['quantity'] );
3392
+		if (isset($array['quantity'])) {
3393
+			$item->set_quantity($array['quantity']);
3394 3394
 		}
3395 3395
 
3396 3396
 		// Set item meta.
3397
-		if ( isset( $array['meta'] ) && is_array( $array['meta'] ) ) {
3398
-			$item->set_item_meta( $array['meta'] );
3397
+		if (isset($array['meta']) && is_array($array['meta'])) {
3398
+			$item->set_item_meta($array['meta']);
3399 3399
 		}
3400 3400
 
3401 3401
 		return $item;
@@ -3408,10 +3408,10 @@  discard block
 block discarded – undo
3408 3408
 	 * @since 1.0.19
3409 3409
 	 * @return GetPaid_Form_Item|null
3410 3410
 	 */
3411
-	public function get_item( $item_id ) {
3411
+	public function get_item($item_id) {
3412 3412
 
3413
-		foreach ( $this->get_items() as $item ) {
3414
-			if ( (int) $item_id == $item->get_id() ) {
3413
+		foreach ($this->get_items() as $item) {
3414
+			if ((int) $item_id == $item->get_id()) {
3415 3415
 				return $item;
3416 3416
 			}
3417 3417
 		}
@@ -3424,16 +3424,16 @@  discard block
 block discarded – undo
3424 3424
 	 *
3425 3425
 	 * @since 1.0.19
3426 3426
 	 */
3427
-	public function remove_item( $item_id ) {
3427
+	public function remove_item($item_id) {
3428 3428
 		$items   = $this->get_items();
3429 3429
 		$item_id = (int) $item_id;
3430 3430
 
3431
-		foreach ( $items as $index => $item ) {
3432
-			if ( (int) $item_id == $item->get_id() ) {
3433
-				unset( $items[ $index ] );
3434
-				$this->set_prop( 'items', $items );
3431
+		foreach ($items as $index => $item) {
3432
+			if ((int) $item_id == $item->get_id()) {
3433
+				unset($items[$index]);
3434
+				$this->set_prop('items', $items);
3435 3435
 
3436
-				if ( $item_id == $this->recurring_item ) {
3436
+				if ($item_id == $this->recurring_item) {
3437 3437
 					$this->recurring_item = null;
3438 3438
 				}
3439 3439
 }
@@ -3447,11 +3447,11 @@  discard block
 block discarded – undo
3447 3447
 	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
3448 3448
 	 * @since 1.0.19
3449 3449
 	 */
3450
-    public function add_fee( $fee ) {
3450
+    public function add_fee($fee) {
3451 3451
 
3452 3452
 		$fees                 = $this->get_fees();
3453
-		$fees[ $fee['name'] ] = $fee;
3454
-		$this->set_prop( 'fees', $fees );
3453
+		$fees[$fee['name']] = $fee;
3454
+		$this->set_prop('fees', $fees);
3455 3455
 
3456 3456
     }
3457 3457
 
@@ -3460,9 +3460,9 @@  discard block
 block discarded – undo
3460 3460
 	 *
3461 3461
 	 * @since 1.0.19
3462 3462
 	 */
3463
-	public function get_fee( $fee ) {
3463
+	public function get_fee($fee) {
3464 3464
         $fees = $this->get_fees();
3465
-		return isset( $fees[ $fee ] ) ? $fees[ $fee ] : null;
3465
+		return isset($fees[$fee]) ? $fees[$fee] : null;
3466 3466
     }
3467 3467
 
3468 3468
     /**
@@ -3470,11 +3470,11 @@  discard block
 block discarded – undo
3470 3470
 	 *
3471 3471
 	 * @since 1.0.19
3472 3472
 	 */
3473
-	public function remove_fee( $fee ) {
3473
+	public function remove_fee($fee) {
3474 3474
         $fees = $this->get_fees();
3475
-        if ( isset( $fees[ $fee ] ) ) {
3476
-            unset( $fees[ $fee ] );
3477
-            $this->set_prop( 'fees', $fees );
3475
+        if (isset($fees[$fee])) {
3476
+            unset($fees[$fee]);
3477
+            $this->set_prop('fees', $fees);
3478 3478
         }
3479 3479
     }
3480 3480
 
@@ -3484,11 +3484,11 @@  discard block
 block discarded – undo
3484 3484
 	 * @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.
3485 3485
 	 * @since 1.0.19
3486 3486
 	 */
3487
-	public function add_discount( $discount ) {
3487
+	public function add_discount($discount) {
3488 3488
 
3489 3489
 		$discounts = $this->get_discounts();
3490
-		$discounts[ $discount['name'] ] = $discount;
3491
-		$this->set_prop( 'discounts', $discounts );
3490
+		$discounts[$discount['name']] = $discount;
3491
+		$this->set_prop('discounts', $discounts);
3492 3492
 
3493 3493
 	}
3494 3494
 
@@ -3498,15 +3498,15 @@  discard block
 block discarded – undo
3498 3498
 	 * @since 1.0.19
3499 3499
 	 * @return float
3500 3500
 	 */
3501
-	public function get_discount( $discount = false ) {
3501
+	public function get_discount($discount = false) {
3502 3502
 
3503 3503
 		// Backwards compatibilty.
3504
-		if ( empty( $discount ) ) {
3504
+		if (empty($discount)) {
3505 3505
 			return $this->get_total_discount();
3506 3506
 		}
3507 3507
 
3508 3508
         $discounts = $this->get_discounts();
3509
-		return isset( $discounts[ $discount ] ) ? $discounts[ $discount ] : null;
3509
+		return isset($discounts[$discount]) ? $discounts[$discount] : null;
3510 3510
     }
3511 3511
 
3512 3512
     /**
@@ -3514,15 +3514,15 @@  discard block
 block discarded – undo
3514 3514
 	 *
3515 3515
 	 * @since 1.0.19
3516 3516
 	 */
3517
-	public function remove_discount( $discount ) {
3517
+	public function remove_discount($discount) {
3518 3518
         $discounts = $this->get_discounts();
3519
-        if ( isset( $discounts[ $discount ] ) ) {
3520
-            unset( $discounts[ $discount ] );
3521
-            $this->set_prop( 'discounts', $discounts );
3519
+        if (isset($discounts[$discount])) {
3520
+            unset($discounts[$discount]);
3521
+            $this->set_prop('discounts', $discounts);
3522 3522
         }
3523 3523
 
3524
-		if ( 'discount_code' == $discount ) {
3525
-			foreach ( $this->get_items() as $item ) {
3524
+		if ('discount_code' == $discount) {
3525
+			foreach ($this->get_items() as $item) {
3526 3526
 				$item->item_discount           = 0;
3527 3527
 				$item->recurring_item_discount = 0;
3528 3528
 			}
@@ -3535,12 +3535,12 @@  discard block
 block discarded – undo
3535 3535
      *
3536 3536
      * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
3537 3537
      */
3538
-    public function add_tax( $tax ) {
3539
-        if ( $this->is_taxable() ) {
3538
+    public function add_tax($tax) {
3539
+        if ($this->is_taxable()) {
3540 3540
 
3541
-            $taxes                 = $this->get_taxes();
3542
-			$taxes[ $tax['name'] ] = $tax;
3543
-			$this->set_prop( 'taxes', $tax );
3541
+            $taxes = $this->get_taxes();
3542
+			$taxes[$tax['name']] = $tax;
3543
+			$this->set_prop('taxes', $tax);
3544 3544
 
3545 3545
         }
3546 3546
     }
@@ -3550,15 +3550,15 @@  discard block
 block discarded – undo
3550 3550
 	 *
3551 3551
 	 * @since 1.0.19
3552 3552
 	 */
3553
-	public function get_tax( $tax = null ) {
3553
+	public function get_tax($tax = null) {
3554 3554
 
3555 3555
 		// Backwards compatility.
3556
-		if ( empty( $tax ) ) {
3556
+		if (empty($tax)) {
3557 3557
 			return $this->get_total_tax();
3558 3558
 		}
3559 3559
 
3560 3560
         $taxes = $this->get_taxes();
3561
-		return isset( $taxes[ $tax ] ) ? $taxes[ $tax ] : null;
3561
+		return isset($taxes[$tax]) ? $taxes[$tax] : null;
3562 3562
     }
3563 3563
 
3564 3564
     /**
@@ -3566,11 +3566,11 @@  discard block
 block discarded – undo
3566 3566
 	 *
3567 3567
 	 * @since 1.0.19
3568 3568
 	 */
3569
-	public function remove_tax( $tax ) {
3569
+	public function remove_tax($tax) {
3570 3570
         $taxes = $this->get_taxes();
3571
-        if ( isset( $taxes[ $tax ] ) ) {
3572
-            unset( $taxes[ $tax ] );
3573
-            $this->set_prop( 'taxes', $taxes );
3571
+        if (isset($taxes[$tax])) {
3572
+            unset($taxes[$tax]);
3573
+            $this->set_prop('taxes', $taxes);
3574 3574
         }
3575 3575
     }
3576 3576
 
@@ -3581,22 +3581,22 @@  discard block
 block discarded – undo
3581 3581
 	 * @return float The recalculated subtotal
3582 3582
 	 */
3583 3583
 	public function recalculate_subtotal() {
3584
-        $items     = $this->get_items();
3584
+        $items = $this->get_items();
3585 3585
 		$subtotal  = 0;
3586 3586
 		$recurring = 0;
3587 3587
 
3588
-        foreach ( $items as $item ) {
3589
-			$subtotal  += $item->get_sub_total( 'edit' );
3590
-			$recurring += $item->get_recurring_sub_total( 'edit' );
3588
+        foreach ($items as $item) {
3589
+			$subtotal  += $item->get_sub_total('edit');
3590
+			$recurring += $item->get_recurring_sub_total('edit');
3591 3591
         }
3592 3592
 
3593
-		if ( wpinv_prices_include_tax() ) {
3594
-			$subtotal  = max( 0, $subtotal - $this->totals['tax']['initial'] );
3595
-			$recurring = max( 0, $recurring - $this->totals['tax']['recurring'] );
3593
+		if (wpinv_prices_include_tax()) {
3594
+			$subtotal  = max(0, $subtotal - $this->totals['tax']['initial']);
3595
+			$recurring = max(0, $recurring - $this->totals['tax']['recurring']);
3596 3596
 		}
3597 3597
 
3598 3598
 		$current = $this->is_renewal() ? $recurring : $subtotal;
3599
-		$this->set_subtotal( $current );
3599
+		$this->set_subtotal($current);
3600 3600
 
3601 3601
 		$this->totals['subtotal'] = array(
3602 3602
 			'initial'   => $subtotal,
@@ -3617,14 +3617,14 @@  discard block
 block discarded – undo
3617 3617
 		$discount  = 0;
3618 3618
 		$recurring = 0;
3619 3619
 
3620
-        foreach ( $discounts as $data ) {
3621
-			$discount  += wpinv_sanitize_amount( $data['initial_discount'] );
3622
-			$recurring += wpinv_sanitize_amount( $data['recurring_discount'] );
3620
+        foreach ($discounts as $data) {
3621
+			$discount  += wpinv_sanitize_amount($data['initial_discount']);
3622
+			$recurring += wpinv_sanitize_amount($data['recurring_discount']);
3623 3623
 		}
3624 3624
 
3625 3625
 		$current = $this->is_renewal() ? $recurring : $discount;
3626 3626
 
3627
-		$this->set_total_discount( $current );
3627
+		$this->set_total_discount($current);
3628 3628
 
3629 3629
 		$this->totals['discount'] = array(
3630 3630
 			'initial'   => $discount,
@@ -3645,13 +3645,13 @@  discard block
 block discarded – undo
3645 3645
 
3646 3646
 		// Maybe disable taxes.
3647 3647
 		$vat_number = $this->get_vat_number();
3648
-		$skip_tax   = GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $this->get_country() ) && ! empty( $vat_number );
3648
+		$skip_tax   = GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction($this->get_country()) && !empty($vat_number);
3649 3649
 
3650
-		if ( wpinv_is_base_country( $this->get_country() ) && 'vat_too' === wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) {
3650
+		if (wpinv_is_base_country($this->get_country()) && 'vat_too' === wpinv_get_option('vat_same_country_rule', 'vat_too')) {
3651 3651
 			$skip_tax = false;
3652 3652
 		}
3653 3653
 
3654
-		if ( ! wpinv_use_taxes() || $this->get_disable_taxes() || ! wpinv_is_country_taxable( $this->get_country() ) || $skip_tax ) {
3654
+		if (!wpinv_use_taxes() || $this->get_disable_taxes() || !wpinv_is_country_taxable($this->get_country()) || $skip_tax) {
3655 3655
 
3656 3656
 			$this->totals['tax'] = array(
3657 3657
 				'initial'   => 0,
@@ -3660,37 +3660,37 @@  discard block
 block discarded – undo
3660 3660
 
3661 3661
 			$this->tax_rate = 0;
3662 3662
 
3663
-			$this->set_taxes( array() );
3663
+			$this->set_taxes(array());
3664 3664
 			$current = 0;
3665 3665
 		} else {
3666 3666
 
3667 3667
 			$item_taxes = array();
3668 3668
 
3669
-			foreach ( $this->get_items() as $item ) {
3670
-				$rates    = getpaid_get_item_tax_rates( $item, $this->get_country(), $this->get_state() );
3671
-				$rates    = getpaid_filter_item_tax_rates( $item, $rates );
3672
-				$taxes    = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates );
3673
-				$r_taxes  = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates );
3674
-				foreach ( $taxes as $name => $amount ) {
3675
-					$recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0;
3676
-					$tax       = getpaid_prepare_item_tax( $item, $name, $amount, $recurring );
3677
-
3678
-					if ( ! isset( $item_taxes[ $name ] ) ) {
3679
-						$item_taxes[ $name ] = $tax;
3669
+			foreach ($this->get_items() as $item) {
3670
+				$rates    = getpaid_get_item_tax_rates($item, $this->get_country(), $this->get_state());
3671
+				$rates    = getpaid_filter_item_tax_rates($item, $rates);
3672
+				$taxes    = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, false), $rates);
3673
+				$r_taxes  = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, true), $rates);
3674
+				foreach ($taxes as $name => $amount) {
3675
+					$recurring = isset($r_taxes[$name]) ? $r_taxes[$name] : 0;
3676
+					$tax       = getpaid_prepare_item_tax($item, $name, $amount, $recurring);
3677
+
3678
+					if (!isset($item_taxes[$name])) {
3679
+						$item_taxes[$name] = $tax;
3680 3680
 						continue;
3681 3681
 					}
3682 3682
 
3683
-					$item_taxes[ $name ]['initial_tax']   += $tax['initial_tax'];
3684
-					$item_taxes[ $name ]['recurring_tax'] += $tax['recurring_tax'];
3683
+					$item_taxes[$name]['initial_tax']   += $tax['initial_tax'];
3684
+					$item_taxes[$name]['recurring_tax'] += $tax['recurring_tax'];
3685 3685
 
3686 3686
 				}
3687 3687
 			}
3688 3688
 
3689
-			$item_taxes = array_replace( $this->get_taxes(), $item_taxes );
3690
-			$this->set_taxes( $item_taxes );
3689
+			$item_taxes = array_replace($this->get_taxes(), $item_taxes);
3690
+			$this->set_taxes($item_taxes);
3691 3691
 
3692
-			$initial_tax   = array_sum( wp_list_pluck( $item_taxes, 'initial_tax' ) );
3693
-			$recurring_tax = array_sum( wp_list_pluck( $item_taxes, 'recurring_tax' ) );
3692
+			$initial_tax   = array_sum(wp_list_pluck($item_taxes, 'initial_tax'));
3693
+			$recurring_tax = array_sum(wp_list_pluck($item_taxes, 'recurring_tax'));
3694 3694
 
3695 3695
 			$current = $this->is_renewal() ? $recurring_tax : $initial_tax;
3696 3696
 
@@ -3701,7 +3701,7 @@  discard block
 block discarded – undo
3701 3701
 
3702 3702
 		}
3703 3703
 
3704
-		$this->set_total_tax( $current );
3704
+		$this->set_total_tax($current);
3705 3705
 
3706 3706
 		return $current;
3707 3707
 
@@ -3718,20 +3718,20 @@  discard block
 block discarded – undo
3718 3718
 		$fee       = 0;
3719 3719
 		$recurring = 0;
3720 3720
 
3721
-        foreach ( $fees as $data ) {
3722
-			$fee       += wpinv_sanitize_amount( $data['initial_fee'] );
3723
-			$recurring += wpinv_sanitize_amount( $data['recurring_fee'] );
3721
+        foreach ($fees as $data) {
3722
+			$fee       += wpinv_sanitize_amount($data['initial_fee']);
3723
+			$recurring += wpinv_sanitize_amount($data['recurring_fee']);
3724 3724
 		}
3725 3725
 
3726 3726
 		$current = $this->is_renewal() ? $recurring : $fee;
3727
-		$this->set_total_fees( $current );
3727
+		$this->set_total_fees($current);
3728 3728
 
3729 3729
 		$this->totals['fee'] = array(
3730 3730
 			'initial'   => $fee,
3731 3731
 			'recurring' => $recurring,
3732 3732
 		);
3733 3733
 
3734
-        $this->set_total_fees( $fee );
3734
+        $this->set_total_fees($fee);
3735 3735
         return $current;
3736 3736
     }
3737 3737
 
@@ -3746,7 +3746,7 @@  discard block
 block discarded – undo
3746 3746
         $this->recalculate_total_discount();
3747 3747
 		$this->recalculate_total_tax();
3748 3748
 		$this->recalculate_subtotal();
3749
-		$this->set_total( $this->get_total_tax( 'edit' ) + $this->get_total_fees( 'edit' ) + $this->get_subtotal( 'edit' ) - $this->get_total_discount( 'edit' ) );
3749
+		$this->set_total($this->get_total_tax('edit') + $this->get_total_fees('edit') + $this->get_subtotal('edit') - $this->get_total_discount('edit'));
3750 3750
 		return $this->get_total();
3751 3751
 	}
3752 3752
 
@@ -3755,7 +3755,7 @@  discard block
 block discarded – undo
3755 3755
 	 */
3756 3756
     public function recalculate_totals() {
3757 3757
         $this->recalculate_total();
3758
-        $this->save( true );
3758
+        $this->save(true);
3759 3759
         return $this;
3760 3760
     }
3761 3761
 
@@ -3773,8 +3773,8 @@  discard block
 block discarded – undo
3773 3773
 	 * @return int|false The new note's ID on success, false on failure.
3774 3774
      *
3775 3775
      */
3776
-    public function add_system_note( $note ) {
3777
-		return $this->add_note( $note, false, false, true );
3776
+    public function add_system_note($note) {
3777
+		return $this->add_note($note, false, false, true);
3778 3778
 	}
3779 3779
 
3780 3780
     /**
@@ -3784,10 +3784,10 @@  discard block
 block discarded – undo
3784 3784
 	 * @return int|false The new note's ID on success, false on failure.
3785 3785
      *
3786 3786
      */
3787
-    public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
3787
+    public function add_note($note = '', $customer_type = false, $added_by_user = false, $system = false) {
3788 3788
 
3789 3789
         // Bail if no note specified or this invoice is not yet saved.
3790
-        if ( ! $note || $this->get_id() == 0 || ( ! is_user_logged_in() && ! $system ) ) {
3790
+        if (!$note || $this->get_id() == 0 || (!is_user_logged_in() && !$system)) {
3791 3791
             return false;
3792 3792
         }
3793 3793
 
@@ -3795,23 +3795,23 @@  discard block
 block discarded – undo
3795 3795
 		$author_email = '[email protected]';
3796 3796
 
3797 3797
 		// If this is an admin comment or it has been added by the user.
3798
-		if ( is_user_logged_in() && ( ! $system || $added_by_user ) ) {
3799
-			$user         = get_user_by( 'id', get_current_user_id() );
3798
+		if (is_user_logged_in() && (!$system || $added_by_user)) {
3799
+			$user = get_user_by('id', get_current_user_id());
3800 3800
             $author       = $user->display_name;
3801 3801
             $author_email = $user->user_email;
3802 3802
 		}
3803 3803
 
3804
-		return getpaid_notes()->add_invoice_note( $this, $note, $author, $author_email, $customer_type );
3804
+		return getpaid_notes()->add_invoice_note($this, $note, $author, $author_email, $customer_type);
3805 3805
 
3806 3806
 	}
3807 3807
 
3808 3808
 	/**
3809 3809
      * Generates a unique key for the invoice.
3810 3810
      */
3811
-    public function generate_key( $string = '' ) {
3812
-        $auth_key  = defined( 'AUTH_KEY' ) ? AUTH_KEY : '';
3811
+    public function generate_key($string = '') {
3812
+        $auth_key = defined('AUTH_KEY') ? AUTH_KEY : '';
3813 3813
         return strtolower(
3814
-            $string . md5( $this->get_id() . date( 'Y-m-d H:i:s' ) . $auth_key . uniqid( 'wpinv', true ) )
3814
+            $string . md5($this->get_id() . date('Y-m-d H:i:s') . $auth_key . uniqid('wpinv', true))
3815 3815
         );
3816 3816
     }
3817 3817
 
@@ -3821,11 +3821,11 @@  discard block
 block discarded – undo
3821 3821
     public function generate_number() {
3822 3822
         $number = $this->get_id();
3823 3823
 
3824
-        if ( wpinv_sequential_number_active( $this->get_post_type() ) ) {
3825
-            $number = wpinv_get_next_invoice_number( $this->get_post_type() );
3824
+        if (wpinv_sequential_number_active($this->get_post_type())) {
3825
+            $number = wpinv_get_next_invoice_number($this->get_post_type());
3826 3826
         }
3827 3827
 
3828
-		return wpinv_format_invoice_number( $number, $this->get_post_type() );
3828
+		return wpinv_format_invoice_number($number, $this->get_post_type());
3829 3829
 
3830 3830
 	}
3831 3831
 
@@ -3838,55 +3838,55 @@  discard block
 block discarded – undo
3838 3838
 		// Reset status transition variable.
3839 3839
 		$this->status_transition = false;
3840 3840
 
3841
-		if ( $status_transition ) {
3841
+		if ($status_transition) {
3842 3842
 			try {
3843 3843
 
3844 3844
 				// Fire a hook for the status change.
3845
-				do_action( 'getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition );
3845
+				do_action('getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition);
3846 3846
 
3847 3847
 				// @deprecated this is deprecated and will be removed in the future.
3848
-				do_action( 'wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3848
+				do_action('wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from']);
3849 3849
 
3850
-				if ( ! empty( $status_transition['from'] ) ) {
3850
+				if (!empty($status_transition['from'])) {
3851 3851
 
3852 3852
 					/* translators: 1: old invoice status 2: new invoice status */
3853
-					$transition_note = sprintf( __( 'Status changed from %1$s to %2$s.', 'invoicing' ), wpinv_status_nicename( $status_transition['from'], $this ), wpinv_status_nicename( $status_transition['to'], $this ) );
3853
+					$transition_note = sprintf(__('Status changed from %1$s to %2$s.', 'invoicing'), wpinv_status_nicename($status_transition['from'], $this), wpinv_status_nicename($status_transition['to'], $this));
3854 3854
 
3855 3855
 					// Fire another hook.
3856
-					do_action( 'getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this );
3857
-					do_action( 'getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to'] );
3856
+					do_action('getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this);
3857
+					do_action('getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to']);
3858 3858
 
3859 3859
 					// @deprecated this is deprecated and will be removed in the future.
3860
-					do_action( 'wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3860
+					do_action('wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from']);
3861 3861
 
3862 3862
 					// Note the transition occurred.
3863
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), false, $status_transition['manual'] );
3863
+					$this->add_note(trim($status_transition['note'] . ' ' . $transition_note), false, $status_transition['manual']);
3864 3864
 
3865 3865
 					// Work out if this was for a payment, and trigger a payment_status hook instead.
3866 3866
 					if (
3867
-						in_array( $status_transition['from'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3868
-						&& in_array( $status_transition['to'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3867
+						in_array($status_transition['from'], array('wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold'), true)
3868
+						&& in_array($status_transition['to'], array('publish', 'wpi-processing', 'wpi-renewal'), true)
3869 3869
 					) {
3870
-						do_action( 'getpaid_invoice_payment_status_changed', $this, $status_transition );
3870
+						do_action('getpaid_invoice_payment_status_changed', $this, $status_transition);
3871 3871
 					}
3872 3872
 
3873 3873
 					// Work out if this was for a payment reversal, and trigger a payment_status_reversed hook instead.
3874 3874
 					if (
3875
-						in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3876
-						&& in_array( $status_transition['to'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3875
+						in_array($status_transition['from'], array('publish', 'wpi-processing', 'wpi-renewal'), true)
3876
+						&& in_array($status_transition['to'], array('wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold'), true)
3877 3877
 					) {
3878
-						do_action( 'getpaid_invoice_payment_status_reversed', $this, $status_transition );
3878
+						do_action('getpaid_invoice_payment_status_reversed', $this, $status_transition);
3879 3879
 					}
3880 3880
 				} else {
3881 3881
 					/* translators: %s: new invoice status */
3882
-					$transition_note = sprintf( __( 'Status set to %s.', 'invoicing' ), wpinv_status_nicename( $status_transition['to'], $this ) );
3882
+					$transition_note = sprintf(__('Status set to %s.', 'invoicing'), wpinv_status_nicename($status_transition['to'], $this));
3883 3883
 
3884 3884
 					// Note the transition occurred.
3885
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), 0, $status_transition['manual'] );
3885
+					$this->add_note(trim($status_transition['note'] . ' ' . $transition_note), 0, $status_transition['manual']);
3886 3886
 
3887 3887
 				}
3888
-			} catch ( Exception $e ) {
3889
-				$this->add_note( __( 'Error during status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
3888
+			} catch (Exception $e) {
3889
+				$this->add_note(__('Error during status transition.', 'invoicing') . ' ' . $e->getMessage());
3890 3890
 			}
3891 3891
 		}
3892 3892
 	}
@@ -3894,13 +3894,13 @@  discard block
 block discarded – undo
3894 3894
 	/**
3895 3895
 	 * Updates an invoice status.
3896 3896
 	 */
3897
-	public function update_status( $new_status = false, $note = '', $manual = false ) {
3897
+	public function update_status($new_status = false, $note = '', $manual = false) {
3898 3898
 
3899 3899
 		// Fires before updating a status.
3900
-		do_action( 'wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status( 'edit' ) );
3900
+		do_action('wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status('edit'));
3901 3901
 
3902 3902
 		// Update the status.
3903
-		$this->set_status( $new_status, $note, $manual );
3903
+		$this->set_status($new_status, $note, $manual);
3904 3904
 
3905 3905
 		// Save the order.
3906 3906
 		return $this->save();
@@ -3911,18 +3911,18 @@  discard block
 block discarded – undo
3911 3911
 	 * @deprecated
3912 3912
 	 */
3913 3913
 	public function refresh_item_ids() {
3914
-        $item_ids = implode( ',', array_unique( wp_list_pluck( $this->get_cart_details(), 'item_id' ) ) );
3915
-        update_post_meta( $this->get_id(), '_wpinv_item_ids', $item_ids );
3914
+        $item_ids = implode(',', array_unique(wp_list_pluck($this->get_cart_details(), 'item_id')));
3915
+        update_post_meta($this->get_id(), '_wpinv_item_ids', $item_ids);
3916 3916
 	}
3917 3917
 
3918 3918
 	/**
3919 3919
 	 * @deprecated
3920 3920
 	 */
3921
-	public function update_items( $temp = false ) {
3921
+	public function update_items($temp = false) {
3922 3922
 
3923
-		$this->set_items( $this->get_items() );
3923
+		$this->set_items($this->get_items());
3924 3924
 
3925
-		if ( ! $temp ) {
3925
+		if (!$temp) {
3926 3926
 			$this->save();
3927 3927
 		}
3928 3928
 
@@ -3936,11 +3936,11 @@  discard block
 block discarded – undo
3936 3936
 
3937 3937
         $discount_code = $this->get_discount_code();
3938 3938
 
3939
-        if ( empty( $discount_code ) ) {
3939
+        if (empty($discount_code)) {
3940 3940
             return false;
3941 3941
         }
3942 3942
 
3943
-        $discount = wpinv_get_discount_obj( $discount_code );
3943
+        $discount = wpinv_get_discount_obj($discount_code);
3944 3944
 
3945 3945
         // Ensure it is active.
3946 3946
         return $discount->exists();
@@ -3951,7 +3951,7 @@  discard block
 block discarded – undo
3951 3951
 	 * Refunds an invoice.
3952 3952
 	 */
3953 3953
     public function refund() {
3954
-		$this->set_status( 'wpi-refunded' );
3954
+		$this->set_status('wpi-refunded');
3955 3955
         $this->save();
3956 3956
 	}
3957 3957
 
@@ -3960,53 +3960,53 @@  discard block
 block discarded – undo
3960 3960
 	 *
3961 3961
 	 * @param string $transaction_id
3962 3962
 	 */
3963
-    public function mark_paid( $transaction_id = null, $note = '' ) {
3963
+    public function mark_paid($transaction_id = null, $note = '') {
3964 3964
 
3965 3965
 		// Set the transaction id.
3966
-		if ( empty( $transaction_id ) ) {
3967
-			$transaction_id = $this->generate_key( 'trans_' );
3966
+		if (empty($transaction_id)) {
3967
+			$transaction_id = $this->generate_key('trans_');
3968 3968
 		}
3969 3969
 
3970
-		if ( ! $this->get_transaction_id() ) {
3971
-			$this->set_transaction_id( $transaction_id );
3970
+		if (!$this->get_transaction_id()) {
3971
+			$this->set_transaction_id($transaction_id);
3972 3972
 		}
3973 3973
 
3974
-		if ( $this->is_paid() && 'wpi-processing' != $this->get_status() ) {
3974
+		if ($this->is_paid() && 'wpi-processing' != $this->get_status()) {
3975 3975
 			return $this->save();
3976 3976
 		}
3977 3977
 
3978 3978
 		// Set the completed date.
3979
-		$this->set_date_completed( current_time( 'mysql' ) );
3979
+		$this->set_date_completed(current_time('mysql'));
3980 3980
 
3981 3981
 		// Set the new status.
3982
-		$gateway = sanitize_text_field( $this->get_gateway_title() );
3983
-		if ( $this->is_renewal() || ! $this->is_parent() ) {
3982
+		$gateway = sanitize_text_field($this->get_gateway_title());
3983
+		if ($this->is_renewal() || !$this->is_parent()) {
3984 3984
 
3985
-			$_note = wp_sprintf( __( 'Renewed via %s', 'invoicing' ), $gateway );
3986
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3985
+			$_note = wp_sprintf(__('Renewed via %s', 'invoicing'), $gateway);
3986
+			$_note = $_note . empty($note) ? '' : " ($note)";
3987 3987
 
3988
-			if ( 'none' == $this->get_gateway() ) {
3988
+			if ('none' == $this->get_gateway()) {
3989 3989
 				$_note = $note;
3990 3990
 			}
3991 3991
 
3992
-			$this->set_status( 'wpi-renewal', $_note );
3992
+			$this->set_status('wpi-renewal', $_note);
3993 3993
 
3994 3994
 		} else {
3995 3995
 
3996
-			$_note = wp_sprintf( __( 'Paid via %s', 'invoicing' ), $gateway );
3997
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3996
+			$_note = wp_sprintf(__('Paid via %s', 'invoicing'), $gateway);
3997
+			$_note = $_note . empty($note) ? '' : " ($note)";
3998 3998
 
3999
-			if ( 'none' == $this->get_gateway() ) {
3999
+			if ('none' == $this->get_gateway()) {
4000 4000
 				$_note = $note;
4001 4001
 			}
4002 4002
 
4003
-			$this->set_status( 'publish', $_note );
4003
+			$this->set_status('publish', $_note);
4004 4004
 
4005 4005
 		}
4006 4006
 
4007 4007
 		// Set checkout mode.
4008
-		$mode = wpinv_is_test_mode( $this->get_gateway() ) ? 'test' : 'live';
4009
-		$this->set_mode( $mode );
4008
+		$mode = wpinv_is_test_mode($this->get_gateway()) ? 'test' : 'live';
4009
+		$this->set_mode($mode);
4010 4010
 
4011 4011
 		// Save the invoice.
4012 4012
         $this->save();
@@ -4031,16 +4031,16 @@  discard block
 block discarded – undo
4031 4031
      * Clears the subscription's cache.
4032 4032
      */
4033 4033
     public function clear_cache() {
4034
-		if ( $this->get_key() ) {
4035
-			wp_cache_delete( $this->get_key(), 'getpaid_invoice_keys_to_invoice_ids' );
4034
+		if ($this->get_key()) {
4035
+			wp_cache_delete($this->get_key(), 'getpaid_invoice_keys_to_invoice_ids');
4036 4036
 		}
4037 4037
 
4038
-		if ( $this->get_number() ) {
4039
-			wp_cache_delete( $this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids' );
4038
+		if ($this->get_number()) {
4039
+			wp_cache_delete($this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids');
4040 4040
 		}
4041 4041
 
4042
-		if ( $this->get_transaction_id() ) {
4043
-			wp_cache_delete( $this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
4042
+		if ($this->get_transaction_id()) {
4043
+			wp_cache_delete($this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids');
4044 4044
 		}
4045 4045
 	}
4046 4046
 
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-bank-transfer-gateway.php 2 patches
Indentation   +237 added lines, -237 removed lines patch added patch discarded remove patch
@@ -13,40 +13,40 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Bank_Transfer_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'bank_transfer';
21 21
 
22
-	/**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
27
-	protected $supports = array( 'subscription', 'addons', 'single_subscription_group', 'multiple_subscription_groups', 'subscription_date_change' );
22
+    /**
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27
+    protected $supports = array( 'subscription', 'addons', 'single_subscription_group', 'multiple_subscription_groups', 'subscription_date_change' );
28
+
29
+    /**
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34
+    public $order = 8;
28 35
 
29 36
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
34
-	public $order = 8;
35
-
36
-	/**
37
-	 * Bank transfer instructions.
38
-	 */
39
-	public $instructions;
40
-
41
-	/**
42
-	 * Locale array.
43
-	 */
44
-	public $locale;
37
+     * Bank transfer instructions.
38
+     */
39
+    public $instructions;
45 40
 
46 41
     /**
47
-	 * Class constructor.
48
-	 */
49
-	public function __construct() {
42
+     * Locale array.
43
+     */
44
+    public $locale;
45
+
46
+    /**
47
+     * Class constructor.
48
+     */
49
+    public function __construct() {
50 50
         parent::__construct();
51 51
 
52 52
         $this->title                = __( 'Direct bank transfer', 'invoicing' );
@@ -54,24 +54,24 @@  discard block
 block discarded – undo
54 54
         $this->checkout_button_text = __( 'Proceed', 'invoicing' );
55 55
         $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
56 56
 
57
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
58
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
59
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
60
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
61
-		add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
62
-		add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
57
+        add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
58
+        add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
59
+        add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
60
+        add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
61
+        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
62
+        add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
63 63
 
64 64
     }
65 65
 
66 66
     /**
67
-	 * Process Payment.
68
-	 *
69
-	 * @param WPInv_Invoice $invoice Invoice.
70
-	 * @param array $submission_data Posted checkout fields.
71
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
72
-	 * @return array
73
-	 */
74
-	public function process_payment( $invoice, $submission_data, $submission ) {
67
+     * Process Payment.
68
+     *
69
+     * @param WPInv_Invoice $invoice Invoice.
70
+     * @param array $submission_data Posted checkout fields.
71
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
72
+     * @return array
73
+     */
74
+    public function process_payment( $invoice, $submission_data, $submission ) {
75 75
 
76 76
         // Add a transaction id.
77 77
         $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) );
@@ -92,66 +92,66 @@  discard block
 block discarded – undo
92 92
     }
93 93
 
94 94
     /**
95
-	 * Output for the order received page.
96
-	 *
97
-	 * @param WPInv_Invoice $invoice Invoice.
98
-	 */
99
-	public function thankyou_page( $invoice ) {
95
+     * Output for the order received page.
96
+     *
97
+     * @param WPInv_Invoice $invoice Invoice.
98
+     */
99
+    public function thankyou_page( $invoice ) {
100 100
 
101 101
         if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
102 102
 
103
-			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
103
+            echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
104 104
 
105 105
             if ( ! empty( $this->instructions ) ) {
106 106
                 echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
107
-			}
107
+            }
108 108
 
109
-			$this->bank_details( $invoice );
109
+            $this->bank_details( $invoice );
110 110
 
111
-			echo '</div>';
111
+            echo '</div>';
112 112
 
113 113
         }
114 114
 
115
-	}
115
+    }
116 116
 
117 117
     /**
118
-	 * Add content to the WPI emails.
119
-	 *
120
-	 * @param WPInv_Invoice $invoice Invoice.
121
-	 * @param string     $email_type Email format: plain text or HTML.
122
-	 * @param bool     $sent_to_admin Sent to admin.
123
-	 */
124
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
118
+     * Add content to the WPI emails.
119
+     *
120
+     * @param WPInv_Invoice $invoice Invoice.
121
+     * @param string     $email_type Email format: plain text or HTML.
122
+     * @param bool     $sent_to_admin Sent to admin.
123
+     */
124
+    public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
125 125
 
126
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
126
+        if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
127 127
 
128
-			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
128
+            echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
129 129
 
130
-			if ( $this->instructions ) {
131
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
130
+            if ( $this->instructions ) {
131
+                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
132 132
             }
133 133
 
134
-			$this->bank_details( $invoice );
134
+            $this->bank_details( $invoice );
135 135
 
136
-			echo '</div>';
136
+            echo '</div>';
137 137
 
138
-		}
138
+        }
139 139
 
140 140
     }
141 141
 
142 142
     /**
143
-	 * Get bank details and place into a list format.
144
-	 *
145
-	 * @param WPInv_Invoice $invoice Invoice.
146
-	 */
147
-	protected function bank_details( $invoice ) {
143
+     * Get bank details and place into a list format.
144
+     *
145
+     * @param WPInv_Invoice $invoice Invoice.
146
+     */
147
+    protected function bank_details( $invoice ) {
148 148
 
149
-		// Get the invoice country and country $locale.
150
-		$country = $invoice->get_country();
151
-		$locale  = $this->get_country_locale();
149
+        // Get the invoice country and country $locale.
150
+        $country = $invoice->get_country();
151
+        $locale  = $this->get_country_locale();
152 152
 
153
-		// Get sortcode label in the $locale array and use appropriate one.
154
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
153
+        // Get sortcode label in the $locale array and use appropriate one.
154
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
155 155
 
156 156
         $bank_fields = array(
157 157
             'ac_name'   => __( 'Account Name', 'invoicing' ),
@@ -170,11 +170,11 @@  discard block
 block discarded – undo
170 170
 
171 171
             if ( ! empty( $value ) ) {
172 172
                 $bank_info[ $field ] = array(
173
-					'label' => $label,
174
-					'value' => $value,
175
-				);
173
+                    'label' => $label,
174
+                    'value' => $value,
175
+                );
176 176
             }
177
-		}
177
+        }
178 178
 
179 179
         $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice );
180 180
 
@@ -182,139 +182,139 @@  discard block
 block discarded – undo
182 182
             return;
183 183
         }
184 184
 
185
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
185
+        echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
186
+
187
+        echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
188
+
189
+        foreach ( $bank_info as $key => $data ) {
190
+            echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
191
+        }
192
+
193
+        echo '</table>';
194
+
195
+    }
186 196
 
187
-		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
197
+    /**
198
+     * Get country locale if localized.
199
+     *
200
+     * @return array
201
+     */
202
+    public function get_country_locale() {
203
+
204
+        if ( empty( $this->locale ) ) {
205
+
206
+            // Locale information to be used - only those that are not 'Sort Code'.
207
+            $this->locale = apply_filters(
208
+                'getpaid_get_bank_transfer_locale',
209
+                array(
210
+                    'AU' => array(
211
+                        'sortcode' => array(
212
+                            'label' => __( 'BSB', 'invoicing' ),
213
+                        ),
214
+                    ),
215
+                    'CA' => array(
216
+                        'sortcode' => array(
217
+                            'label' => __( 'Bank transit number', 'invoicing' ),
218
+                        ),
219
+                    ),
220
+                    'IN' => array(
221
+                        'sortcode' => array(
222
+                            'label' => __( 'IFSC', 'invoicing' ),
223
+                        ),
224
+                    ),
225
+                    'IT' => array(
226
+                        'sortcode' => array(
227
+                            'label' => __( 'Branch sort', 'invoicing' ),
228
+                        ),
229
+                    ),
230
+                    'NZ' => array(
231
+                        'sortcode' => array(
232
+                            'label' => __( 'Bank code', 'invoicing' ),
233
+                        ),
234
+                    ),
235
+                    'SE' => array(
236
+                        'sortcode' => array(
237
+                            'label' => __( 'Bank code', 'invoicing' ),
238
+                        ),
239
+                    ),
240
+                    'US' => array(
241
+                        'sortcode' => array(
242
+                            'label' => __( 'Routing number', 'invoicing' ),
243
+                        ),
244
+                    ),
245
+                    'ZA' => array(
246
+                        'sortcode' => array(
247
+                            'label' => __( 'Branch code', 'invoicing' ),
248
+                        ),
249
+                    ),
250
+                )
251
+            );
188 252
 
189
-		foreach ( $bank_info as $key => $data ) {
190
-			echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
191
-		}
253
+        }
192 254
 
193
-		echo '</table>';
255
+        return $this->locale;
194 256
 
195 257
     }
196 258
 
197 259
     /**
198
-	 * Get country locale if localized.
199
-	 *
200
-	 * @return array
201
-	 */
202
-	public function get_country_locale() {
203
-
204
-		if ( empty( $this->locale ) ) {
205
-
206
-			// Locale information to be used - only those that are not 'Sort Code'.
207
-			$this->locale = apply_filters(
208
-				'getpaid_get_bank_transfer_locale',
209
-				array(
210
-					'AU' => array(
211
-						'sortcode' => array(
212
-							'label' => __( 'BSB', 'invoicing' ),
213
-						),
214
-					),
215
-					'CA' => array(
216
-						'sortcode' => array(
217
-							'label' => __( 'Bank transit number', 'invoicing' ),
218
-						),
219
-					),
220
-					'IN' => array(
221
-						'sortcode' => array(
222
-							'label' => __( 'IFSC', 'invoicing' ),
223
-						),
224
-					),
225
-					'IT' => array(
226
-						'sortcode' => array(
227
-							'label' => __( 'Branch sort', 'invoicing' ),
228
-						),
229
-					),
230
-					'NZ' => array(
231
-						'sortcode' => array(
232
-							'label' => __( 'Bank code', 'invoicing' ),
233
-						),
234
-					),
235
-					'SE' => array(
236
-						'sortcode' => array(
237
-							'label' => __( 'Bank code', 'invoicing' ),
238
-						),
239
-					),
240
-					'US' => array(
241
-						'sortcode' => array(
242
-							'label' => __( 'Routing number', 'invoicing' ),
243
-						),
244
-					),
245
-					'ZA' => array(
246
-						'sortcode' => array(
247
-							'label' => __( 'Branch code', 'invoicing' ),
248
-						),
249
-					),
250
-				)
251
-			);
252
-
253
-		}
254
-
255
-		return $this->locale;
256
-
257
-	}
258
-
259
-	/**
260
-	 * Filters the gateway settings.
261
-	 *
262
-	 * @param array $admin_settings
263
-	 */
264
-	public function admin_settings( $admin_settings ) {
260
+     * Filters the gateway settings.
261
+     *
262
+     * @param array $admin_settings
263
+     */
264
+    public function admin_settings( $admin_settings ) {
265 265
 
266 266
         $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
267
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
267
+        $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
268 268
 
269
-		$locale  = $this->get_country_locale();
269
+        $locale  = $this->get_country_locale();
270 270
 
271
-		// Get sortcode label in the $locale array and use appropriate one.
272
-		$country  = wpinv_default_billing_country();
273
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
271
+        // Get sortcode label in the $locale array and use appropriate one.
272
+        $country  = wpinv_default_billing_country();
273
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
274 274
 
275
-		$admin_settings['bank_transfer_ac_name'] = array(
275
+        $admin_settings['bank_transfer_ac_name'] = array(
276 276
             'type' => 'text',
277 277
             'id'   => 'bank_transfer_ac_name',
278 278
             'name' => __( 'Account Name', 'invoicing' ),
279
-		);
279
+        );
280 280
 
281
-		$admin_settings['bank_transfer_ac_no'] = array(
281
+        $admin_settings['bank_transfer_ac_no'] = array(
282 282
             'type' => 'text',
283 283
             'id'   => 'bank_transfer_ac_no',
284 284
             'name' => __( 'Account Number', 'invoicing' ),
285
-		);
285
+        );
286 286
 
287
-		$admin_settings['bank_transfer_bank_name'] = array(
287
+        $admin_settings['bank_transfer_bank_name'] = array(
288 288
             'type' => 'text',
289 289
             'id'   => 'bank_transfer_bank_name',
290 290
             'name' => __( 'Bank Name', 'invoicing' ),
291
-		);
291
+        );
292 292
 
293
-		$admin_settings['bank_transfer_ifsc'] = array(
293
+        $admin_settings['bank_transfer_ifsc'] = array(
294 294
             'type' => 'text',
295 295
             'id'   => 'bank_transfer_ifsc',
296 296
             'name' => __( 'IFSC Code', 'invoicing' ),
297
-		);
297
+        );
298 298
 
299
-		$admin_settings['bank_transfer_iban'] = array(
299
+        $admin_settings['bank_transfer_iban'] = array(
300 300
             'type' => 'text',
301 301
             'id'   => 'bank_transfer_iban',
302 302
             'name' => __( 'IBAN', 'invoicing' ),
303
-		);
303
+        );
304 304
 
305
-		$admin_settings['bank_transfer_bic'] = array(
305
+        $admin_settings['bank_transfer_bic'] = array(
306 306
             'type' => 'text',
307 307
             'id'   => 'bank_transfer_bic',
308 308
             'name' => __( 'BIC/Swift Code', 'invoicing' ),
309
-		);
309
+        );
310 310
 
311
-		$admin_settings['bank_transfer_sort_code'] = array(
312
-			'type' => 'text',
313
-			'id'   => 'bank_transfer_sort_code',
314
-			'name' => $sortcode,
315
-		);
311
+        $admin_settings['bank_transfer_sort_code'] = array(
312
+            'type' => 'text',
313
+            'id'   => 'bank_transfer_sort_code',
314
+            'name' => $sortcode,
315
+        );
316 316
 
317
-		$admin_settings['bank_transfer_info'] = array(
317
+        $admin_settings['bank_transfer_info'] = array(
318 318
             'id'   => 'bank_transfer_info',
319 319
             'name' => __( 'Instructions', 'invoicing' ),
320 320
             'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
@@ -324,17 +324,17 @@  discard block
 block discarded – undo
324 324
             'rows' => 5,
325 325
         );
326 326
 
327
-		return $admin_settings;
328
-	}
327
+        return $admin_settings;
328
+    }
329 329
 
330
-	/**
331
-	 * Processes invoice addons.
332
-	 *
333
-	 * @param WPInv_Invoice $invoice
334
-	 * @param GetPaid_Form_Item[] $items
335
-	 * @return WPInv_Invoice
336
-	 */
337
-	public function process_addons( $invoice, $items ) {
330
+    /**
331
+     * Processes invoice addons.
332
+     *
333
+     * @param WPInv_Invoice $invoice
334
+     * @param GetPaid_Form_Item[] $items
335
+     * @return WPInv_Invoice
336
+     */
337
+    public function process_addons( $invoice, $items ) {
338 338
 
339 339
         foreach ( $items as $item ) {
340 340
             $invoice->add_item( $item );
@@ -342,67 +342,67 @@  discard block
 block discarded – undo
342 342
 
343 343
         $invoice->recalculate_total();
344 344
         $invoice->save();
345
-	}
345
+    }
346 346
 
347
-	/**
348
-	 * (Maybe) renews a bank transfer subscription profile.
349
-	 *
350
-	 *
347
+    /**
348
+     * (Maybe) renews a bank transfer subscription profile.
349
+     *
350
+     *
351 351
      * @param WPInv_Subscription $subscription
352
-	 */
353
-	public function maybe_renew_subscription( $subscription ) {
352
+     */
353
+    public function maybe_renew_subscription( $subscription ) {
354 354
 
355 355
         // Ensure its our subscription && it's active.
356 356
         if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
357
-			$subscription->create_payment();
357
+            $subscription->create_payment();
358 358
         }
359 359
 
360 360
     }
361 361
 
362
-	/**
363
-	 * Process a bank transfer payment.
364
-	 *
365
-	 *
362
+    /**
363
+     * Process a bank transfer payment.
364
+     *
365
+     *
366 366
      * @param WPInv_Invoice $invoice
367
-	 */
368
-	public function invoice_paid( $invoice ) {
369
-
370
-		// Abort if not paid by bank transfer.
371
-		if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
372
-			return;
373
-		}
374
-
375
-		// Is it a parent payment?
376
-		if ( 0 == $invoice->get_parent_id() ) {
377
-
378
-			// (Maybe) activate subscriptions.
379
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
380
-
381
-			if ( ! empty( $subscriptions ) ) {
382
-				$subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
383
-
384
-				foreach ( $subscriptions as $subscription ) {
385
-					if ( $subscription->exists() ) {
386
-						$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
387
-						$expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
388
-
389
-						$subscription->set_next_renewal_date( $expiry );
390
-						$subscription->set_date_created( current_time( 'mysql' ) );
391
-						$subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
392
-						$subscription->activate();
393
-					}
394
-				}
395
-			}
396
-		} else {
397
-
398
-			$subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
399
-
400
-			// Renew the subscription.
401
-			if ( $subscription && $subscription->exists() ) {
402
-				$subscription->add_payment( array(), $invoice );
403
-				$subscription->renew( strtotime( $invoice->get_date_created() ) );
404
-			}
405
-		}
367
+     */
368
+    public function invoice_paid( $invoice ) {
369
+
370
+        // Abort if not paid by bank transfer.
371
+        if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
372
+            return;
373
+        }
374
+
375
+        // Is it a parent payment?
376
+        if ( 0 == $invoice->get_parent_id() ) {
377
+
378
+            // (Maybe) activate subscriptions.
379
+            $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
380
+
381
+            if ( ! empty( $subscriptions ) ) {
382
+                $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
383
+
384
+                foreach ( $subscriptions as $subscription ) {
385
+                    if ( $subscription->exists() ) {
386
+                        $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
387
+                        $expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
388
+
389
+                        $subscription->set_next_renewal_date( $expiry );
390
+                        $subscription->set_date_created( current_time( 'mysql' ) );
391
+                        $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
392
+                        $subscription->activate();
393
+                    }
394
+                }
395
+            }
396
+        } else {
397
+
398
+            $subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
399
+
400
+            // Renew the subscription.
401
+            if ( $subscription && $subscription->exists() ) {
402
+                $subscription->add_payment( array(), $invoice );
403
+                $subscription->renew( strtotime( $invoice->get_date_created() ) );
404
+            }
405
+        }
406 406
 
407 407
     }
408 408
 
Please login to merge, or discard this patch.
Spacing   +90 added lines, -90 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
  * Bank transfer 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', 'addons', 'single_subscription_group', 'multiple_subscription_groups', 'subscription_date_change' );
27
+	protected $supports = array('subscription', 'addons', 'single_subscription_group', 'multiple_subscription_groups', 'subscription_date_change');
28 28
 
29 29
     /**
30 30
 	 * Payment method order.
@@ -49,17 +49,17 @@  discard block
 block discarded – undo
49 49
 	public function __construct() {
50 50
         parent::__construct();
51 51
 
52
-        $this->title                = __( 'Direct bank transfer', 'invoicing' );
53
-        $this->method_title         = __( 'Bank transfer', 'invoicing' );
54
-        $this->checkout_button_text = __( 'Proceed', 'invoicing' );
55
-        $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
52
+        $this->title                = __('Direct bank transfer', 'invoicing');
53
+        $this->method_title         = __('Bank transfer', 'invoicing');
54
+        $this->checkout_button_text = __('Proceed', 'invoicing');
55
+        $this->instructions         = apply_filters('wpinv_bank_instructions', $this->get_option('info'));
56 56
 
57
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
58
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
59
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
60
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
61
-		add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
62
-		add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 );
57
+		add_action('wpinv_receipt_end', array($this, 'thankyou_page'));
58
+		add_action('getpaid_invoice_line_items', array($this, 'thankyou_page'), 40);
59
+		add_action('wpinv_pdf_content_billing', array($this, 'thankyou_page'), 11);
60
+		add_action('wpinv_email_invoice_details', array($this, 'email_instructions'), 10, 3);
61
+		add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'));
62
+		add_action('getpaid_invoice_status_publish', array($this, 'invoice_paid'), 20);
63 63
 
64 64
     }
65 65
 
@@ -71,23 +71,23 @@  discard block
 block discarded – undo
71 71
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
72 72
 	 * @return array
73 73
 	 */
74
-	public function process_payment( $invoice, $submission_data, $submission ) {
74
+	public function process_payment($invoice, $submission_data, $submission) {
75 75
 
76 76
         // Add a transaction id.
77
-        $invoice->set_transaction_id( $invoice->generate_key( 'bt_' ) );
77
+        $invoice->set_transaction_id($invoice->generate_key('bt_'));
78 78
 
79 79
         // Set it as pending payment.
80
-        if ( ! $invoice->needs_payment() ) {
80
+        if (!$invoice->needs_payment()) {
81 81
             $invoice->mark_paid();
82
-        } elseif ( ! $invoice->is_paid() ) {
83
-            $invoice->set_status( 'wpi-onhold' );
82
+        } elseif (!$invoice->is_paid()) {
83
+            $invoice->set_status('wpi-onhold');
84 84
         }
85 85
 
86 86
         // Save it.
87 87
         $invoice->save();
88 88
 
89 89
         // Send to the success page.
90
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
90
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
91 91
 
92 92
     }
93 93
 
@@ -96,17 +96,17 @@  discard block
 block discarded – undo
96 96
 	 *
97 97
 	 * @param WPInv_Invoice $invoice Invoice.
98 98
 	 */
99
-	public function thankyou_page( $invoice ) {
99
+	public function thankyou_page($invoice) {
100 100
 
101
-        if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
101
+        if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
102 102
 
103 103
 			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
104 104
 
105
-            if ( ! empty( $this->instructions ) ) {
106
-                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
105
+            if (!empty($this->instructions)) {
106
+                echo wp_kses_post(wpautop(wptexturize($this->instructions)));
107 107
 			}
108 108
 
109
-			$this->bank_details( $invoice );
109
+			$this->bank_details($invoice);
110 110
 
111 111
 			echo '</div>';
112 112
 
@@ -121,17 +121,17 @@  discard block
 block discarded – undo
121 121
 	 * @param string     $email_type Email format: plain text or HTML.
122 122
 	 * @param bool     $sent_to_admin Sent to admin.
123 123
 	 */
124
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
124
+	public function email_instructions($invoice, $email_type, $sent_to_admin) {
125 125
 
126
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
126
+		if (!$sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
127 127
 
128 128
 			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
129 129
 
130
-			if ( $this->instructions ) {
131
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
130
+			if ($this->instructions) {
131
+				echo wp_kses_post(wpautop(wptexturize($this->instructions)) . PHP_EOL);
132 132
             }
133 133
 
134
-			$this->bank_details( $invoice );
134
+			$this->bank_details($invoice);
135 135
 
136 136
 			echo '</div>';
137 137
 
@@ -144,50 +144,50 @@  discard block
 block discarded – undo
144 144
 	 *
145 145
 	 * @param WPInv_Invoice $invoice Invoice.
146 146
 	 */
147
-	protected function bank_details( $invoice ) {
147
+	protected function bank_details($invoice) {
148 148
 
149 149
 		// Get the invoice country and country $locale.
150 150
 		$country = $invoice->get_country();
151 151
 		$locale  = $this->get_country_locale();
152 152
 
153 153
 		// Get sortcode label in the $locale array and use appropriate one.
154
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
154
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
155 155
 
156 156
         $bank_fields = array(
157
-            'ac_name'   => __( 'Account Name', 'invoicing' ),
158
-            'ac_no'     => __( 'Account Number', 'invoicing' ),
159
-            'bank_name' => __( 'Bank Name', 'invoicing' ),
160
-            'ifsc'      => __( 'IFSC code', 'invoicing' ),
161
-            'iban'      => __( 'IBAN', 'invoicing' ),
162
-            'bic'       => __( 'BIC/Swift code', 'invoicing' ),
157
+            'ac_name'   => __('Account Name', 'invoicing'),
158
+            'ac_no'     => __('Account Number', 'invoicing'),
159
+            'bank_name' => __('Bank Name', 'invoicing'),
160
+            'ifsc'      => __('IFSC code', 'invoicing'),
161
+            'iban'      => __('IBAN', 'invoicing'),
162
+            'bic'       => __('BIC/Swift code', 'invoicing'),
163 163
             'sort_code' => $sortcode,
164 164
         );
165 165
 
166 166
         $bank_info = array();
167 167
 
168
-        foreach ( $bank_fields as $field => $label ) {
169
-            $value = $this->get_option( $field );
168
+        foreach ($bank_fields as $field => $label) {
169
+            $value = $this->get_option($field);
170 170
 
171
-            if ( ! empty( $value ) ) {
172
-                $bank_info[ $field ] = array(
171
+            if (!empty($value)) {
172
+                $bank_info[$field] = array(
173 173
 					'label' => $label,
174 174
 					'value' => $value,
175 175
 				);
176 176
             }
177 177
 		}
178 178
 
179
-        $bank_info = apply_filters( 'wpinv_bank_info', $bank_info, $invoice );
179
+        $bank_info = apply_filters('wpinv_bank_info', $bank_info, $invoice);
180 180
 
181
-        if ( empty( $bank_info ) ) {
181
+        if (empty($bank_info)) {
182 182
             return;
183 183
         }
184 184
 
185
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html( apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ), $invoice ) ) . '</h3>' . PHP_EOL;
185
+		echo '<h3 class="getpaid-bank-transfer-title"> ' . esc_html(apply_filters('wpinv_receipt_bank_details_title', __('Bank Details', 'invoicing'), $invoice)) . '</h3>' . PHP_EOL;
186 186
 
187 187
 		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
188 188
 
189
-		foreach ( $bank_info as $key => $data ) {
190
-			echo "<tr class='getpaid-bank-transfer-" . esc_attr( $key ) . "'><th class='font-weight-bold'>" . wp_kses_post( $data['label'] ) . "</th><td class='w-75'>" . wp_kses_post( wptexturize( $data['value'] ) ) . '</td></tr>' . PHP_EOL;
189
+		foreach ($bank_info as $key => $data) {
190
+			echo "<tr class='getpaid-bank-transfer-" . esc_attr($key) . "'><th class='font-weight-bold'>" . wp_kses_post($data['label']) . "</th><td class='w-75'>" . wp_kses_post(wptexturize($data['value'])) . '</td></tr>' . PHP_EOL;
191 191
 		}
192 192
 
193 193
 		echo '</table>';
@@ -201,7 +201,7 @@  discard block
 block discarded – undo
201 201
 	 */
202 202
 	public function get_country_locale() {
203 203
 
204
-		if ( empty( $this->locale ) ) {
204
+		if (empty($this->locale)) {
205 205
 
206 206
 			// Locale information to be used - only those that are not 'Sort Code'.
207 207
 			$this->locale = apply_filters(
@@ -209,42 +209,42 @@  discard block
 block discarded – undo
209 209
 				array(
210 210
 					'AU' => array(
211 211
 						'sortcode' => array(
212
-							'label' => __( 'BSB', 'invoicing' ),
212
+							'label' => __('BSB', 'invoicing'),
213 213
 						),
214 214
 					),
215 215
 					'CA' => array(
216 216
 						'sortcode' => array(
217
-							'label' => __( 'Bank transit number', 'invoicing' ),
217
+							'label' => __('Bank transit number', 'invoicing'),
218 218
 						),
219 219
 					),
220 220
 					'IN' => array(
221 221
 						'sortcode' => array(
222
-							'label' => __( 'IFSC', 'invoicing' ),
222
+							'label' => __('IFSC', 'invoicing'),
223 223
 						),
224 224
 					),
225 225
 					'IT' => array(
226 226
 						'sortcode' => array(
227
-							'label' => __( 'Branch sort', 'invoicing' ),
227
+							'label' => __('Branch sort', 'invoicing'),
228 228
 						),
229 229
 					),
230 230
 					'NZ' => array(
231 231
 						'sortcode' => array(
232
-							'label' => __( 'Bank code', 'invoicing' ),
232
+							'label' => __('Bank code', 'invoicing'),
233 233
 						),
234 234
 					),
235 235
 					'SE' => array(
236 236
 						'sortcode' => array(
237
-							'label' => __( 'Bank code', 'invoicing' ),
237
+							'label' => __('Bank code', 'invoicing'),
238 238
 						),
239 239
 					),
240 240
 					'US' => array(
241 241
 						'sortcode' => array(
242
-							'label' => __( 'Routing number', 'invoicing' ),
242
+							'label' => __('Routing number', 'invoicing'),
243 243
 						),
244 244
 					),
245 245
 					'ZA' => array(
246 246
 						'sortcode' => array(
247
-							'label' => __( 'Branch code', 'invoicing' ),
247
+							'label' => __('Branch code', 'invoicing'),
248 248
 						),
249 249
 					),
250 250
 				)
@@ -261,51 +261,51 @@  discard block
 block discarded – undo
261 261
 	 *
262 262
 	 * @param array $admin_settings
263 263
 	 */
264
-	public function admin_settings( $admin_settings ) {
264
+	public function admin_settings($admin_settings) {
265 265
 
266
-        $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
267
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
266
+        $admin_settings['bank_transfer_desc']['std'] = __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing');
267
+		$admin_settings['bank_transfer_active']['desc'] = __('Enable bank transfer', 'invoicing');
268 268
 
269
-		$locale  = $this->get_country_locale();
269
+		$locale = $this->get_country_locale();
270 270
 
271 271
 		// Get sortcode label in the $locale array and use appropriate one.
272 272
 		$country  = wpinv_default_billing_country();
273
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
273
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
274 274
 
275 275
 		$admin_settings['bank_transfer_ac_name'] = array(
276 276
             'type' => 'text',
277 277
             'id'   => 'bank_transfer_ac_name',
278
-            'name' => __( 'Account Name', 'invoicing' ),
278
+            'name' => __('Account Name', 'invoicing'),
279 279
 		);
280 280
 
281 281
 		$admin_settings['bank_transfer_ac_no'] = array(
282 282
             'type' => 'text',
283 283
             'id'   => 'bank_transfer_ac_no',
284
-            'name' => __( 'Account Number', 'invoicing' ),
284
+            'name' => __('Account Number', 'invoicing'),
285 285
 		);
286 286
 
287 287
 		$admin_settings['bank_transfer_bank_name'] = array(
288 288
             'type' => 'text',
289 289
             'id'   => 'bank_transfer_bank_name',
290
-            'name' => __( 'Bank Name', 'invoicing' ),
290
+            'name' => __('Bank Name', 'invoicing'),
291 291
 		);
292 292
 
293 293
 		$admin_settings['bank_transfer_ifsc'] = array(
294 294
             'type' => 'text',
295 295
             'id'   => 'bank_transfer_ifsc',
296
-            'name' => __( 'IFSC Code', 'invoicing' ),
296
+            'name' => __('IFSC Code', 'invoicing'),
297 297
 		);
298 298
 
299 299
 		$admin_settings['bank_transfer_iban'] = array(
300 300
             'type' => 'text',
301 301
             'id'   => 'bank_transfer_iban',
302
-            'name' => __( 'IBAN', 'invoicing' ),
302
+            'name' => __('IBAN', 'invoicing'),
303 303
 		);
304 304
 
305 305
 		$admin_settings['bank_transfer_bic'] = array(
306 306
             'type' => 'text',
307 307
             'id'   => 'bank_transfer_bic',
308
-            'name' => __( 'BIC/Swift Code', 'invoicing' ),
308
+            'name' => __('BIC/Swift Code', 'invoicing'),
309 309
 		);
310 310
 
311 311
 		$admin_settings['bank_transfer_sort_code'] = array(
@@ -316,10 +316,10 @@  discard block
 block discarded – undo
316 316
 
317 317
 		$admin_settings['bank_transfer_info'] = array(
318 318
             'id'   => 'bank_transfer_info',
319
-            'name' => __( 'Instructions', 'invoicing' ),
320
-            'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
319
+            'name' => __('Instructions', 'invoicing'),
320
+            'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'),
321 321
             'type' => 'textarea',
322
-            'std'  => __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ),
322
+            'std'  => __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'),
323 323
             'cols' => 50,
324 324
             'rows' => 5,
325 325
         );
@@ -334,10 +334,10 @@  discard block
 block discarded – undo
334 334
 	 * @param GetPaid_Form_Item[] $items
335 335
 	 * @return WPInv_Invoice
336 336
 	 */
337
-	public function process_addons( $invoice, $items ) {
337
+	public function process_addons($invoice, $items) {
338 338
 
339
-        foreach ( $items as $item ) {
340
-            $invoice->add_item( $item );
339
+        foreach ($items as $item) {
340
+            $invoice->add_item($item);
341 341
         }
342 342
 
343 343
         $invoice->recalculate_total();
@@ -350,10 +350,10 @@  discard block
 block discarded – undo
350 350
 	 *
351 351
      * @param WPInv_Subscription $subscription
352 352
 	 */
353
-	public function maybe_renew_subscription( $subscription ) {
353
+	public function maybe_renew_subscription($subscription) {
354 354
 
355 355
         // Ensure its our subscription && it's active.
356
-        if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
356
+        if ($this->id === $subscription->get_gateway() && $subscription->has_status('active trialling')) {
357 357
 			$subscription->create_payment();
358 358
         }
359 359
 
@@ -365,42 +365,42 @@  discard block
 block discarded – undo
365 365
 	 *
366 366
      * @param WPInv_Invoice $invoice
367 367
 	 */
368
-	public function invoice_paid( $invoice ) {
368
+	public function invoice_paid($invoice) {
369 369
 
370 370
 		// Abort if not paid by bank transfer.
371
-		if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) {
371
+		if ($this->id !== $invoice->get_gateway() || !$invoice->is_recurring()) {
372 372
 			return;
373 373
 		}
374 374
 
375 375
 		// Is it a parent payment?
376
-		if ( 0 == $invoice->get_parent_id() ) {
376
+		if (0 == $invoice->get_parent_id()) {
377 377
 
378 378
 			// (Maybe) activate subscriptions.
379
-			$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
379
+			$subscriptions = getpaid_get_invoice_subscriptions($invoice);
380 380
 
381
-			if ( ! empty( $subscriptions ) ) {
382
-				$subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
381
+			if (!empty($subscriptions)) {
382
+				$subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
383 383
 
384
-				foreach ( $subscriptions as $subscription ) {
385
-					if ( $subscription->exists() ) {
386
-						$duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
387
-						$expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
384
+				foreach ($subscriptions as $subscription) {
385
+					if ($subscription->exists()) {
386
+						$duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
387
+						$expiry   = gmdate('Y-m-d H:i:s', (current_time('timestamp') + $duration));
388 388
 
389
-						$subscription->set_next_renewal_date( $expiry );
390
-						$subscription->set_date_created( current_time( 'mysql' ) );
391
-						$subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() );
389
+						$subscription->set_next_renewal_date($expiry);
390
+						$subscription->set_date_created(current_time('mysql'));
391
+						$subscription->set_profile_id('bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id());
392 392
 						$subscription->activate();
393 393
 					}
394 394
 				}
395 395
 			}
396 396
 		} else {
397 397
 
398
-			$subscription = getpaid_get_subscription( $invoice->get_subscription_id() );
398
+			$subscription = getpaid_get_subscription($invoice->get_subscription_id());
399 399
 
400 400
 			// Renew the subscription.
401
-			if ( $subscription && $subscription->exists() ) {
402
-				$subscription->add_payment( array(), $invoice );
403
-				$subscription->renew( strtotime( $invoice->get_date_created() ) );
401
+			if ($subscription && $subscription->exists()) {
402
+				$subscription->add_payment(array(), $invoice);
403
+				$subscription->renew(strtotime($invoice->get_date_created()));
404 404
 			}
405 405
 		}
406 406
 
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-manual-gateway.php 2 patches
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -13,30 +13,30 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Manual_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 = 'manual';
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', 'addons', 'single_subscription_group', 'multiple_subscription_groups', 'subscription_date_change' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
34
-	public $order = 11;
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34
+    public $order = 11;
35 35
 
36 36
     /**
37
-	 * Class constructor.
38
-	 */
39
-	public function __construct() {
37
+     * Class constructor.
38
+     */
39
+    public function __construct() {
40 40
         parent::__construct();
41 41
 
42 42
         $this->title        = __( 'Test Gateway', 'invoicing' );
@@ -46,15 +46,15 @@  discard block
 block discarded – undo
46 46
     }
47 47
 
48 48
     /**
49
-	 * Process Payment.
50
-	 *
51
-	 *
52
-	 * @param WPInv_Invoice $invoice Invoice.
53
-	 * @param array $submission_data Posted checkout fields.
54
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
55
-	 * @return array
56
-	 */
57
-	public function process_payment( $invoice, $submission_data, $submission ) {
49
+     * Process Payment.
50
+     *
51
+     *
52
+     * @param WPInv_Invoice $invoice Invoice.
53
+     * @param array $submission_data Posted checkout fields.
54
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
55
+     * @return array
56
+     */
57
+    public function process_payment( $invoice, $submission_data, $submission ) {
58 58
 
59 59
         // Mark it as paid.
60 60
         $invoice->mark_paid();
@@ -84,12 +84,12 @@  discard block
 block discarded – undo
84 84
     }
85 85
 
86 86
     /**
87
-	 * (Maybe) renews a manual subscription profile.
88
-	 *
89
-	 *
87
+     * (Maybe) renews a manual subscription profile.
88
+     *
89
+     *
90 90
      * @param WPInv_Subscription $subscription
91
-	 */
92
-	public function maybe_renew_subscription( $subscription ) {
91
+     */
92
+    public function maybe_renew_subscription( $subscription ) {
93 93
 
94 94
         // Ensure its our subscription && it's active.
95 95
         if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
@@ -109,13 +109,13 @@  discard block
 block discarded – undo
109 109
     }
110 110
 
111 111
     /**
112
-	 * Processes invoice addons.
113
-	 *
114
-	 * @param WPInv_Invoice $invoice
115
-	 * @param GetPaid_Form_Item[] $items
116
-	 * @return WPInv_Invoice
117
-	 */
118
-	public function process_addons( $invoice, $items ) {
112
+     * Processes invoice addons.
113
+     *
114
+     * @param WPInv_Invoice $invoice
115
+     * @param GetPaid_Form_Item[] $items
116
+     * @return WPInv_Invoice
117
+     */
118
+    public function process_addons( $invoice, $items ) {
119 119
 
120 120
         foreach ( $items as $item ) {
121 121
             $invoice->add_item( $item );
Please login to merge, or discard this patch.
Spacing   +22 added lines, -22 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
  * Manual 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', 'addons', 'single_subscription_group', 'multiple_subscription_groups', 'subscription_date_change' );
27
+    protected $supports = array('subscription', 'addons', 'single_subscription_group', 'multiple_subscription_groups', 'subscription_date_change');
28 28
 
29 29
     /**
30 30
 	 * Payment method order.
@@ -39,10 +39,10 @@  discard block
 block discarded – undo
39 39
 	public function __construct() {
40 40
         parent::__construct();
41 41
 
42
-        $this->title        = __( 'Test Gateway', 'invoicing' );
43
-        $this->method_title = __( 'Test Gateway', 'invoicing' );
42
+        $this->title        = __('Test Gateway', 'invoicing');
43
+        $this->method_title = __('Test Gateway', 'invoicing');
44 44
 
45
-        add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) );
45
+        add_action('getpaid_should_renew_subscription', array($this, 'maybe_renew_subscription'));
46 46
     }
47 47
 
48 48
     /**
@@ -54,32 +54,32 @@  discard block
 block discarded – undo
54 54
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
55 55
 	 * @return array
56 56
 	 */
57
-	public function process_payment( $invoice, $submission_data, $submission ) {
57
+	public function process_payment($invoice, $submission_data, $submission) {
58 58
 
59 59
         // Mark it as paid.
60 60
         $invoice->mark_paid();
61 61
 
62 62
         // (Maybe) activate subscriptions.
63
-        $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
63
+        $subscriptions = getpaid_get_invoice_subscriptions($invoice);
64 64
 
65
-        if ( ! empty( $subscriptions ) ) {
66
-            $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions );
65
+        if (!empty($subscriptions)) {
66
+            $subscriptions = is_array($subscriptions) ? $subscriptions : array($subscriptions);
67 67
 
68
-            foreach ( $subscriptions as $subscription ) {
69
-                if ( $subscription->exists() ) {
70
-                    $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() );
71
-                    $expiry   = gmdate( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) );
68
+            foreach ($subscriptions as $subscription) {
69
+                if ($subscription->exists()) {
70
+                    $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created());
71
+                    $expiry   = gmdate('Y-m-d H:i:s', (current_time('timestamp') + $duration));
72 72
 
73
-                    $subscription->set_next_renewal_date( $expiry );
74
-                    $subscription->set_date_created( current_time( 'mysql' ) );
75
-                    $subscription->set_profile_id( $invoice->generate_key( 'manual_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ) );
73
+                    $subscription->set_next_renewal_date($expiry);
74
+                    $subscription->set_date_created(current_time('mysql'));
75
+                    $subscription->set_profile_id($invoice->generate_key('manual_sub_' . $invoice->get_id() . '_' . $subscription->get_id()));
76 76
                     $subscription->activate();
77 77
                 }
78 78
             }
79 79
         }
80 80
 
81 81
         // Send to the success page.
82
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
82
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
83 83
 
84 84
     }
85 85
 
@@ -89,10 +89,10 @@  discard block
 block discarded – undo
89 89
 	 *
90 90
      * @param WPInv_Subscription $subscription
91 91
 	 */
92
-	public function maybe_renew_subscription( $subscription ) {
92
+	public function maybe_renew_subscription($subscription) {
93 93
 
94 94
         // Ensure its our subscription && it's active.
95
-        if ( $this->id === $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
95
+        if ($this->id === $subscription->get_gateway() && $subscription->has_status('active trialling')) {
96 96
 
97 97
             // Renew the subscription.
98 98
             $subscription->add_payment(
@@ -115,10 +115,10 @@  discard block
 block discarded – undo
115 115
 	 * @param GetPaid_Form_Item[] $items
116 116
 	 * @return WPInv_Invoice
117 117
 	 */
118
-	public function process_addons( $invoice, $items ) {
118
+	public function process_addons($invoice, $items) {
119 119
 
120
-        foreach ( $items as $item ) {
121
-            $invoice->add_item( $item );
120
+        foreach ($items as $item) {
121
+            $invoice->add_item($item);
122 122
         }
123 123
 
124 124
         $invoice->recalculate_total();
Please login to merge, or discard this patch.
includes/wpinv-subscription.php 2 patches
Indentation   +1049 added lines, -1049 removed lines patch added patch discarded remove patch
@@ -15,125 +15,125 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class WPInv_Subscription extends GetPaid_Data {
17 17
 
18
-	/**
19
-	 * Which data store to load.
20
-	 *
21
-	 * @var string
22
-	 */
23
-	protected $data_store_name = 'subscription';
24
-
25
-	/**
26
-	 * This is the name of this object type.
27
-	 *
28
-	 * @var string
29
-	 */
30
-	protected $object_type = 'subscription';
31
-
32
-	/**
33
-	 * Item Data array. This is the core item data exposed in APIs.
34
-	 *
35
-	 * @since 1.0.19
36
-	 * @var array
37
-	 */
38
-	protected $data = array(
39
-		'customer_id'       => 0,
40
-		'frequency'         => 1,
41
-		'period'            => 'D',
42
-		'initial_amount'    => null,
43
-		'recurring_amount'  => null,
44
-		'bill_times'        => 0,
45
-		'transaction_id'    => '',
46
-		'parent_payment_id' => null,
47
-		'product_id'        => 0,
48
-		'created'           => '0000-00-00 00:00:00',
49
-		'expiration'        => '0000-00-00 00:00:00',
50
-		'trial_period'      => '',
51
-		'status'            => 'pending',
52
-		'profile_id'        => '',
53
-		'gateway'           => '',
54
-		'customer'          => '',
55
-	);
56
-
57
-	/**
58
-	 * Stores the status transition information.
59
-	 *
60
-	 * @since 1.0.19
61
-	 * @var bool
62
-	 */
63
-	protected $status_transition = false;
64
-
65
-	/**
66
-	 * Get the subscription if ID is passed, otherwise the subscription is new and empty.
67
-	 *
68
-	 * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69
-	 * @param  bool $deprecated
70
-	 */
71
-	function __construct( $subscription = 0, $deprecated = false ) {
72
-
73
-		parent::__construct( $subscription );
74
-
75
-		if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
-			$this->set_id( $subscription );
77
-		} elseif ( $subscription instanceof self ) {
78
-			$this->set_id( $subscription->get_id() );
79
-		} elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
80
-			$this->set_id( $subscription_id );
81
-		} elseif ( ! empty( $subscription->id ) ) {
82
-			$this->set_id( $subscription->id );
83
-		} else {
84
-			$this->set_object_read( true );
85
-		}
86
-
87
-		// Load the datastore.
88
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
89
-
90
-		if ( $this->get_id() > 0 ) {
91
-			$this->data_store->read( $this );
92
-		}
93
-
94
-	}
95
-
96
-	/**
97
-	 * Given an invoice id, profile id, transaction id, it returns the subscription's id.
98
-	 *
99
-	 *
100
-	 * @static
101
-	 * @param string $value
102
-	 * @param string $field Either invoice_id, transaction_id or profile_id.
103
-	 * @since 1.0.19
104
-	 * @return int
105
-	 */
106
-	public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
18
+    /**
19
+     * Which data store to load.
20
+     *
21
+     * @var string
22
+     */
23
+    protected $data_store_name = 'subscription';
24
+
25
+    /**
26
+     * This is the name of this object type.
27
+     *
28
+     * @var string
29
+     */
30
+    protected $object_type = 'subscription';
31
+
32
+    /**
33
+     * Item Data array. This is the core item data exposed in APIs.
34
+     *
35
+     * @since 1.0.19
36
+     * @var array
37
+     */
38
+    protected $data = array(
39
+        'customer_id'       => 0,
40
+        'frequency'         => 1,
41
+        'period'            => 'D',
42
+        'initial_amount'    => null,
43
+        'recurring_amount'  => null,
44
+        'bill_times'        => 0,
45
+        'transaction_id'    => '',
46
+        'parent_payment_id' => null,
47
+        'product_id'        => 0,
48
+        'created'           => '0000-00-00 00:00:00',
49
+        'expiration'        => '0000-00-00 00:00:00',
50
+        'trial_period'      => '',
51
+        'status'            => 'pending',
52
+        'profile_id'        => '',
53
+        'gateway'           => '',
54
+        'customer'          => '',
55
+    );
56
+
57
+    /**
58
+     * Stores the status transition information.
59
+     *
60
+     * @since 1.0.19
61
+     * @var bool
62
+     */
63
+    protected $status_transition = false;
64
+
65
+    /**
66
+     * Get the subscription if ID is passed, otherwise the subscription is new and empty.
67
+     *
68
+     * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69
+     * @param  bool $deprecated
70
+     */
71
+    function __construct( $subscription = 0, $deprecated = false ) {
72
+
73
+        parent::__construct( $subscription );
74
+
75
+        if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
+            $this->set_id( $subscription );
77
+        } elseif ( $subscription instanceof self ) {
78
+            $this->set_id( $subscription->get_id() );
79
+        } elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
80
+            $this->set_id( $subscription_id );
81
+        } elseif ( ! empty( $subscription->id ) ) {
82
+            $this->set_id( $subscription->id );
83
+        } else {
84
+            $this->set_object_read( true );
85
+        }
86
+
87
+        // Load the datastore.
88
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
89
+
90
+        if ( $this->get_id() > 0 ) {
91
+            $this->data_store->read( $this );
92
+        }
93
+
94
+    }
95
+
96
+    /**
97
+     * Given an invoice id, profile id, transaction id, it returns the subscription's id.
98
+     *
99
+     *
100
+     * @static
101
+     * @param string $value
102
+     * @param string $field Either invoice_id, transaction_id or profile_id.
103
+     * @since 1.0.19
104
+     * @return int
105
+     */
106
+    public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
107 107
         global $wpdb;
108 108
 
109
-		// Trim the value.
110
-		$value = trim( $value );
109
+        // Trim the value.
110
+        $value = trim( $value );
111 111
 
112
-		if ( empty( $value ) ) {
113
-			return 0;
114
-		}
112
+        if ( empty( $value ) ) {
113
+            return 0;
114
+        }
115 115
 
116
-		if ( 'invoice_id' == $field ) {
117
-			$field = 'parent_payment_id';
118
-		}
116
+        if ( 'invoice_id' == $field ) {
117
+            $field = 'parent_payment_id';
118
+        }
119 119
 
120 120
         // Valid fields.
121 121
         $fields = array(
122
-			'parent_payment_id',
123
-			'transaction_id',
124
-			'profile_id',
125
-		);
126
-
127
-		// Ensure a field has been passed.
128
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
129
-			return 0;
130
-		}
131
-
132
-		// Maybe retrieve from the cache.
133
-		$subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
-		if ( ! empty( $subscription_id ) ) {
135
-			return $subscription_id;
136
-		}
122
+            'parent_payment_id',
123
+            'transaction_id',
124
+            'profile_id',
125
+        );
126
+
127
+        // Ensure a field has been passed.
128
+        if ( empty( $field ) || ! in_array( $field, $fields ) ) {
129
+            return 0;
130
+        }
131
+
132
+        // Maybe retrieve from the cache.
133
+        $subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
+        if ( ! empty( $subscription_id ) ) {
135
+            return $subscription_id;
136
+        }
137 137
 
138 138
         // Fetch from the db.
139 139
         $table            = $wpdb->prefix . 'wpinv_subscriptions';
@@ -141,42 +141,42 @@  discard block
 block discarded – undo
141 141
             $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
142 142
         );
143 143
 
144
-		if ( empty( $subscription_id ) ) {
145
-			return 0;
146
-		}
144
+        if ( empty( $subscription_id ) ) {
145
+            return 0;
146
+        }
147 147
 
148
-		// Update the cache with our data.
149
-		wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
148
+        // Update the cache with our data.
149
+        wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
150 150
 
151
-		return $subscription_id;
152
-	}
151
+        return $subscription_id;
152
+    }
153 153
 
154
-	/**
154
+    /**
155 155
      * Clears the subscription's cache.
156 156
      */
157 157
     public function clear_cache() {
158
-		$caches = array(
159
-			'getpaid_subscription_parent_payment_ids_to_subscription_ids' => $this->get_parent_payment_id(),
160
-			'getpaid_subscription_transaction_ids_to_subscription_ids'    => $this->get_transaction_id(),
161
-			'getpaid_subscription_profile_ids_to_subscription_ids'        => $this->get_profile_id(),
162
-			'getpaid_subscriptions'                                       => $this->get_id(),
163
-		);
164
-
165
-		foreach ( $caches as $cache => $value ) {
166
-			if ( '' !== $value && false !== $value ) {
167
-				wp_cache_delete( $value, $cache );
168
-			}
169
-		}
170
-	}
171
-
172
-	/**
158
+        $caches = array(
159
+            'getpaid_subscription_parent_payment_ids_to_subscription_ids' => $this->get_parent_payment_id(),
160
+            'getpaid_subscription_transaction_ids_to_subscription_ids'    => $this->get_transaction_id(),
161
+            'getpaid_subscription_profile_ids_to_subscription_ids'        => $this->get_profile_id(),
162
+            'getpaid_subscriptions'                                       => $this->get_id(),
163
+        );
164
+
165
+        foreach ( $caches as $cache => $value ) {
166
+            if ( '' !== $value && false !== $value ) {
167
+                wp_cache_delete( $value, $cache );
168
+            }
169
+        }
170
+    }
171
+
172
+    /**
173 173
      * Checks if a subscription key is set.
174 174
      */
175 175
     public function _isset( $key ) {
176 176
         return isset( $this->data[ $key ] ) || method_exists( $this, "get_$key" );
177
-	}
177
+    }
178 178
 
179
-	/*
179
+    /*
180 180
 	|--------------------------------------------------------------------------
181 181
 	| CRUD methods
182 182
 	|--------------------------------------------------------------------------
@@ -185,544 +185,544 @@  discard block
 block discarded – undo
185 185
 	|
186 186
     */
187 187
 
188
-	/*
188
+    /*
189 189
 	|--------------------------------------------------------------------------
190 190
 	| Getters
191 191
 	|--------------------------------------------------------------------------
192 192
 	*/
193 193
 
194
-	/**
195
-	 * Get customer id.
196
-	 *
197
-	 * @since 1.0.19
198
-	 * @param  string $context View or edit context.
199
-	 * @return int
200
-	 */
201
-	public function get_customer_id( $context = 'view' ) {
202
-		return (int) $this->get_prop( 'customer_id', $context );
203
-	}
204
-
205
-	/**
206
-	 * Get customer information.
207
-	 *
208
-	 * @since 1.0.19
209
-	 * @param  string $context View or edit context.
210
-	 * @return WP_User|false WP_User object on success, false on failure.
211
-	 */
212
-	public function get_customer( $context = 'view' ) {
213
-		return get_userdata( $this->get_customer_id( $context ) );
214
-	}
215
-
216
-	/**
217
-	 * Get parent invoice id.
218
-	 *
219
-	 * @since 1.0.19
220
-	 * @param  string $context View or edit context.
221
-	 * @return int
222
-	 */
223
-	public function get_parent_invoice_id( $context = 'view' ) {
224
-		return (int) $this->get_prop( 'parent_payment_id', $context );
225
-	}
226
-
227
-	/**
228
-	 * Alias for self::get_parent_invoice_id().
229
-	 *
230
-	 * @since 1.0.19
231
-	 * @param  string $context View or edit context.
232
-	 * @return int
233
-	 */
194
+    /**
195
+     * Get customer id.
196
+     *
197
+     * @since 1.0.19
198
+     * @param  string $context View or edit context.
199
+     * @return int
200
+     */
201
+    public function get_customer_id( $context = 'view' ) {
202
+        return (int) $this->get_prop( 'customer_id', $context );
203
+    }
204
+
205
+    /**
206
+     * Get customer information.
207
+     *
208
+     * @since 1.0.19
209
+     * @param  string $context View or edit context.
210
+     * @return WP_User|false WP_User object on success, false on failure.
211
+     */
212
+    public function get_customer( $context = 'view' ) {
213
+        return get_userdata( $this->get_customer_id( $context ) );
214
+    }
215
+
216
+    /**
217
+     * Get parent invoice id.
218
+     *
219
+     * @since 1.0.19
220
+     * @param  string $context View or edit context.
221
+     * @return int
222
+     */
223
+    public function get_parent_invoice_id( $context = 'view' ) {
224
+        return (int) $this->get_prop( 'parent_payment_id', $context );
225
+    }
226
+
227
+    /**
228
+     * Alias for self::get_parent_invoice_id().
229
+     *
230
+     * @since 1.0.19
231
+     * @param  string $context View or edit context.
232
+     * @return int
233
+     */
234 234
     public function get_parent_payment_id( $context = 'view' ) {
235 235
         return $this->get_parent_invoice_id( $context );
236
-	}
236
+    }
237
+
238
+    /**
239
+     * Alias for self::get_parent_invoice_id().
240
+     *
241
+     * @since  1.0.0
242
+     * @return int
243
+     */
244
+    public function get_original_payment_id( $context = 'view' ) {
245
+        return $this->get_parent_invoice_id( $context );
246
+    }
247
+
248
+    /**
249
+     * Get parent invoice.
250
+     *
251
+     * @since 1.0.19
252
+     * @param  string $context View or edit context.
253
+     * @return WPInv_Invoice
254
+     */
255
+    public function get_parent_invoice( $context = 'view' ) {
256
+        return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
257
+    }
258
+
259
+    /**
260
+     * Alias for self::get_parent_invoice().
261
+     *
262
+     * @since 1.0.19
263
+     * @param  string $context View or edit context.
264
+     * @return WPInv_Invoice
265
+     */
266
+    public function get_parent_payment( $context = 'view' ) {
267
+        return $this->get_parent_invoice( $context );
268
+    }
269
+
270
+    /**
271
+     * Get subscription's product id.
272
+     *
273
+     * @since 1.0.19
274
+     * @param  string $context View or edit context.
275
+     * @return int
276
+     */
277
+    public function get_product_id( $context = 'view' ) {
278
+        return (int) $this->get_prop( 'product_id', $context );
279
+    }
280
+
281
+    /**
282
+     * Get the subscription product.
283
+     *
284
+     * @since 1.0.19
285
+     * @param  string $context View or edit context.
286
+     * @return WPInv_Item
287
+     */
288
+    public function get_product( $context = 'view' ) {
289
+        return new WPInv_Item( $this->get_product_id( $context ) );
290
+    }
291
+
292
+    /**
293
+     * Get parent invoice's gateway.
294
+     *
295
+     * Here for backwards compatibility.
296
+     *
297
+     * @since 1.0.19
298
+     * @param  string $context View or edit context.
299
+     * @return string
300
+     */
301
+    public function get_gateway( $context = 'view' ) {
302
+        return $this->get_parent_invoice( $context )->get_gateway();
303
+    }
304
+
305
+    /**
306
+     * Get the period of a renewal.
307
+     *
308
+     * @since 1.0.19
309
+     * @param  string $context View or edit context.
310
+     * @return string
311
+     */
312
+    public function get_period( $context = 'view' ) {
313
+        return $this->get_prop( 'period', $context );
314
+    }
315
+
316
+    /**
317
+     * Get number of periods each renewal is valid for.
318
+     *
319
+     * @since 1.0.19
320
+     * @param  string $context View or edit context.
321
+     * @return int
322
+     */
323
+    public function get_frequency( $context = 'view' ) {
324
+        return (int) $this->get_prop( 'frequency', $context );
325
+    }
326
+
327
+    /**
328
+     * Get the initial amount for the subscription.
329
+     *
330
+     * @since 1.0.19
331
+     * @param  string $context View or edit context.
332
+     * @return float
333
+     */
334
+    public function get_initial_amount( $context = 'view' ) {
335
+        return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
336
+    }
337
+
338
+    /**
339
+     * Get the recurring amount for the subscription.
340
+     *
341
+     * @since 1.0.19
342
+     * @param  string $context View or edit context.
343
+     * @return float
344
+     */
345
+    public function get_recurring_amount( $context = 'view' ) {
346
+        return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
347
+    }
348
+
349
+    /**
350
+     * Get number of times that this subscription can be renewed.
351
+     *
352
+     * @since 1.0.19
353
+     * @param  string $context View or edit context.
354
+     * @return int
355
+     */
356
+    public function get_bill_times( $context = 'view' ) {
357
+        return (int) $this->get_prop( 'bill_times', $context );
358
+    }
359
+
360
+    /**
361
+     * Get transaction id of this subscription's parent invoice.
362
+     *
363
+     * @since 1.0.19
364
+     * @param  string $context View or edit context.
365
+     * @return string
366
+     */
367
+    public function get_transaction_id( $context = 'view' ) {
368
+        return $this->get_prop( 'transaction_id', $context );
369
+    }
370
+
371
+    /**
372
+     * Get the date that the subscription was created.
373
+     *
374
+     * @since 1.0.19
375
+     * @param  string $context View or edit context.
376
+     * @return string
377
+     */
378
+    public function get_created( $context = 'view' ) {
379
+        return $this->get_prop( 'created', $context );
380
+    }
381
+
382
+    /**
383
+     * Alias for self::get_created().
384
+     *
385
+     * @since 1.0.19
386
+     * @param  string $context View or edit context.
387
+     * @return string
388
+     */
389
+    public function get_date_created( $context = 'view' ) {
390
+        return $this->get_created( $context );
391
+    }
392
+
393
+    /**
394
+     * Retrieves the creation date in a timestamp
395
+     *
396
+     * @since  1.0.0
397
+     * @return int
398
+     */
399
+    public function get_time_created() {
400
+        $created = $this->get_date_created();
401
+        return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
402
+    }
403
+
404
+    /**
405
+     * Get GMT date when the subscription was created.
406
+     *
407
+     * @since 1.0.19
408
+     * @param  string $context View or edit context.
409
+     * @return string
410
+     */
411
+    public function get_date_created_gmt( $context = 'view' ) {
412
+        $date = $this->get_date_created( $context );
413
+
414
+        if ( $date ) {
415
+            $date = get_gmt_from_date( $date );
416
+        }
417
+        return $date;
418
+    }
419
+
420
+    /**
421
+     * Get the date that the subscription will renew.
422
+     *
423
+     * @since 1.0.19
424
+     * @param  string $context View or edit context.
425
+     * @return string
426
+     */
427
+    public function get_next_renewal_date( $context = 'view' ) {
428
+        return $this->get_prop( 'expiration', $context );
429
+    }
430
+
431
+    /**
432
+     * Alias for self::get_next_renewal_date().
433
+     *
434
+     * @since 1.0.19
435
+     * @param  string $context View or edit context.
436
+     * @return string
437
+     */
438
+    public function get_expiration( $context = 'view' ) {
439
+        return $this->get_next_renewal_date( $context );
440
+    }
441
+
442
+    /**
443
+     * Retrieves the expiration date in a timestamp
444
+     *
445
+     * @since  1.0.0
446
+     * @return int
447
+     */
448
+    public function get_expiration_time() {
449
+        $expiration = $this->get_expiration();
450
+
451
+        if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
452
+            return current_time( 'timestamp' );
453
+        }
454
+
455
+        $expiration = strtotime( $expiration, current_time( 'timestamp' ) );
456
+        return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
457
+    }
458
+
459
+    /**
460
+     * Get GMT date when the subscription will renew.
461
+     *
462
+     * @since 1.0.19
463
+     * @param  string $context View or edit context.
464
+     * @return string
465
+     */
466
+    public function get_next_renewal_date_gmt( $context = 'view' ) {
467
+        $date = $this->get_next_renewal_date( $context );
468
+
469
+        if ( $date ) {
470
+            $date = get_gmt_from_date( $date );
471
+        }
472
+        return $date;
473
+    }
474
+
475
+    /**
476
+     * Get the subscription's trial period.
477
+     *
478
+     * @since 1.0.19
479
+     * @param  string $context View or edit context.
480
+     * @return string
481
+     */
482
+    public function get_trial_period( $context = 'view' ) {
483
+        return $this->get_prop( 'trial_period', $context );
484
+    }
485
+
486
+    /**
487
+     * Get the subscription's status.
488
+     *
489
+     * @since 1.0.19
490
+     * @param  string $context View or edit context.
491
+     * @return string
492
+     */
493
+    public function get_status( $context = 'view' ) {
494
+        return $this->get_prop( 'status', $context );
495
+    }
496
+
497
+    /**
498
+     * Get the subscription's profile id.
499
+     *
500
+     * @since 1.0.19
501
+     * @param  string $context View or edit context.
502
+     * @return string
503
+     */
504
+    public function get_profile_id( $context = 'view' ) {
505
+        return $this->get_prop( 'profile_id', $context );
506
+    }
507
+
508
+    /*
509
+	|--------------------------------------------------------------------------
510
+	| Setters
511
+	|--------------------------------------------------------------------------
512
+	*/
513
+
514
+    /**
515
+     * Set customer id.
516
+     *
517
+     * @since 1.0.19
518
+     * @param  int $value The customer's id.
519
+     */
520
+    public function set_customer_id( $value ) {
521
+        $this->set_prop( 'customer_id', (int) $value );
522
+    }
523
+
524
+    /**
525
+     * Set parent invoice id.
526
+     *
527
+     * @since 1.0.19
528
+     * @param  int $value The parent invoice id.
529
+     */
530
+    public function set_parent_invoice_id( $value ) {
531
+        $this->set_prop( 'parent_payment_id', (int) $value );
532
+    }
533
+
534
+    /**
535
+     * Alias for self::set_parent_invoice_id().
536
+     *
537
+     * @since 1.0.19
538
+     * @param  int $value The parent invoice id.
539
+     */
540
+    public function set_parent_payment_id( $value ) {
541
+        $this->set_parent_invoice_id( $value );
542
+    }
543
+
544
+    /**
545
+     * Alias for self::set_parent_invoice_id().
546
+     *
547
+     * @since 1.0.19
548
+     * @param  int $value The parent invoice id.
549
+     */
550
+    public function set_original_payment_id( $value ) {
551
+        $this->set_parent_invoice_id( $value );
552
+    }
553
+
554
+    /**
555
+     * Set subscription's product id.
556
+     *
557
+     * @since 1.0.19
558
+     * @param  int $value The subscription product id.
559
+     */
560
+    public function set_product_id( $value ) {
561
+        $this->set_prop( 'product_id', (int) $value );
562
+    }
563
+
564
+    /**
565
+     * Set the period of a renewal.
566
+     *
567
+     * @since 1.0.19
568
+     * @param  string $value The renewal period.
569
+     */
570
+    public function set_period( $value ) {
571
+        $this->set_prop( 'period', $value );
572
+    }
573
+
574
+    /**
575
+     * Set number of periods each renewal is valid for.
576
+     *
577
+     * @since 1.0.19
578
+     * @param  int $value The subscription frequency.
579
+     */
580
+    public function set_frequency( $value ) {
581
+        $value = empty( $value ) ? 1 : (int) $value;
582
+        $this->set_prop( 'frequency', absint( $value ) );
583
+    }
584
+
585
+    /**
586
+     * Set the initial amount for the subscription.
587
+     *
588
+     * @since 1.0.19
589
+     * @param  float $value The initial subcription amount.
590
+     */
591
+    public function set_initial_amount( $value ) {
592
+        $this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
593
+    }
594
+
595
+    /**
596
+     * Set the recurring amount for the subscription.
597
+     *
598
+     * @since 1.0.19
599
+     * @param  float $value The recurring subcription amount.
600
+     */
601
+    public function set_recurring_amount( $value ) {
602
+        $this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
603
+    }
604
+
605
+    /**
606
+     * Set number of times that this subscription can be renewed.
607
+     *
608
+     * @since 1.0.19
609
+     * @param  int $value Bill times.
610
+     */
611
+    public function set_bill_times( $value ) {
612
+        $this->set_prop( 'bill_times', (int) $value );
613
+    }
614
+
615
+    /**
616
+     * Get transaction id of this subscription's parent invoice.
617
+     *
618
+     * @since 1.0.19
619
+     * @param string $value Bill times.
620
+     */
621
+    public function set_transaction_id( $value ) {
622
+        $this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
623
+    }
624
+
625
+    /**
626
+     * Set date when this subscription started.
627
+     *
628
+     * @since 1.0.19
629
+     * @param string $value strtotime compliant date.
630
+     */
631
+    public function set_created( $value ) {
632
+        $date = strtotime( $value );
633
+
634
+        if ( $date && $value !== '0000-00-00 00:00:00' ) {
635
+            $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) );
636
+            return;
637
+        }
638
+
639
+        $this->set_prop( 'created', '' );
237 640
 
238
-	/**
239
-     * Alias for self::get_parent_invoice_id().
641
+    }
642
+
643
+    /**
644
+     * Alias for self::set_created().
240 645
      *
241
-     * @since  1.0.0
242
-     * @return int
646
+     * @since 1.0.19
647
+     * @param string $value strtotime compliant date.
243 648
      */
244
-    public function get_original_payment_id( $context = 'view' ) {
245
-        return $this->get_parent_invoice_id( $context );
649
+    public function set_date_created( $value ) {
650
+        $this->set_created( $value );
246 651
     }
247 652
 
248
-	/**
249
-	 * Get parent invoice.
250
-	 *
251
-	 * @since 1.0.19
252
-	 * @param  string $context View or edit context.
253
-	 * @return WPInv_Invoice
254
-	 */
255
-	public function get_parent_invoice( $context = 'view' ) {
256
-		return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
257
-	}
258
-
259
-	/**
260
-	 * Alias for self::get_parent_invoice().
261
-	 *
262
-	 * @since 1.0.19
263
-	 * @param  string $context View or edit context.
264
-	 * @return WPInv_Invoice
265
-	 */
266
-    public function get_parent_payment( $context = 'view' ) {
267
-        return $this->get_parent_invoice( $context );
268
-	}
269
-
270
-	/**
271
-	 * Get subscription's product id.
272
-	 *
273
-	 * @since 1.0.19
274
-	 * @param  string $context View or edit context.
275
-	 * @return int
276
-	 */
277
-	public function get_product_id( $context = 'view' ) {
278
-		return (int) $this->get_prop( 'product_id', $context );
279
-	}
280
-
281
-	/**
282
-	 * Get the subscription product.
283
-	 *
284
-	 * @since 1.0.19
285
-	 * @param  string $context View or edit context.
286
-	 * @return WPInv_Item
287
-	 */
288
-	public function get_product( $context = 'view' ) {
289
-		return new WPInv_Item( $this->get_product_id( $context ) );
290
-	}
291
-
292
-	/**
293
-	 * Get parent invoice's gateway.
294
-	 *
295
-	 * Here for backwards compatibility.
296
-	 *
297
-	 * @since 1.0.19
298
-	 * @param  string $context View or edit context.
299
-	 * @return string
300
-	 */
301
-	public function get_gateway( $context = 'view' ) {
302
-		return $this->get_parent_invoice( $context )->get_gateway();
303
-	}
304
-
305
-	/**
306
-	 * Get the period of a renewal.
307
-	 *
308
-	 * @since 1.0.19
309
-	 * @param  string $context View or edit context.
310
-	 * @return string
311
-	 */
312
-	public function get_period( $context = 'view' ) {
313
-		return $this->get_prop( 'period', $context );
314
-	}
315
-
316
-	/**
317
-	 * Get number of periods each renewal is valid for.
318
-	 *
319
-	 * @since 1.0.19
320
-	 * @param  string $context View or edit context.
321
-	 * @return int
322
-	 */
323
-	public function get_frequency( $context = 'view' ) {
324
-		return (int) $this->get_prop( 'frequency', $context );
325
-	}
326
-
327
-	/**
328
-	 * Get the initial amount for the subscription.
329
-	 *
330
-	 * @since 1.0.19
331
-	 * @param  string $context View or edit context.
332
-	 * @return float
333
-	 */
334
-	public function get_initial_amount( $context = 'view' ) {
335
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
336
-	}
337
-
338
-	/**
339
-	 * Get the recurring amount for the subscription.
340
-	 *
341
-	 * @since 1.0.19
342
-	 * @param  string $context View or edit context.
343
-	 * @return float
344
-	 */
345
-	public function get_recurring_amount( $context = 'view' ) {
346
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
347
-	}
348
-
349
-	/**
350
-	 * Get number of times that this subscription can be renewed.
351
-	 *
352
-	 * @since 1.0.19
353
-	 * @param  string $context View or edit context.
354
-	 * @return int
355
-	 */
356
-	public function get_bill_times( $context = 'view' ) {
357
-		return (int) $this->get_prop( 'bill_times', $context );
358
-	}
359
-
360
-	/**
361
-	 * Get transaction id of this subscription's parent invoice.
362
-	 *
363
-	 * @since 1.0.19
364
-	 * @param  string $context View or edit context.
365
-	 * @return string
366
-	 */
367
-	public function get_transaction_id( $context = 'view' ) {
368
-		return $this->get_prop( 'transaction_id', $context );
369
-	}
370
-
371
-	/**
372
-	 * Get the date that the subscription was created.
373
-	 *
374
-	 * @since 1.0.19
375
-	 * @param  string $context View or edit context.
376
-	 * @return string
377
-	 */
378
-	public function get_created( $context = 'view' ) {
379
-		return $this->get_prop( 'created', $context );
380
-	}
381
-
382
-	/**
383
-	 * Alias for self::get_created().
384
-	 *
385
-	 * @since 1.0.19
386
-	 * @param  string $context View or edit context.
387
-	 * @return string
388
-	 */
389
-	public function get_date_created( $context = 'view' ) {
390
-		return $this->get_created( $context );
391
-	}
392
-
393
-	/**
394
-	 * Retrieves the creation date in a timestamp
395
-	 *
396
-	 * @since  1.0.0
397
-	 * @return int
398
-	 */
399
-	public function get_time_created() {
400
-		$created = $this->get_date_created();
401
-		return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
402
-	}
403
-
404
-	/**
405
-	 * Get GMT date when the subscription was created.
406
-	 *
407
-	 * @since 1.0.19
408
-	 * @param  string $context View or edit context.
409
-	 * @return string
410
-	 */
411
-	public function get_date_created_gmt( $context = 'view' ) {
412
-        $date = $this->get_date_created( $context );
653
+    /**
654
+     * Set the date that the subscription will renew.
655
+     *
656
+     * @since 1.0.19
657
+     * @param string $value strtotime compliant date.
658
+     */
659
+    public function set_next_renewal_date( $value ) {
660
+        $date = strtotime( $value );
413 661
 
414
-        if ( $date ) {
415
-            $date = get_gmt_from_date( $date );
662
+        if ( $date && $value !== '0000-00-00 00:00:00' ) {
663
+            $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) );
664
+            return;
416 665
         }
417
-		return $date;
418
-	}
419
-
420
-	/**
421
-	 * Get the date that the subscription will renew.
422
-	 *
423
-	 * @since 1.0.19
424
-	 * @param  string $context View or edit context.
425
-	 * @return string
426
-	 */
427
-	public function get_next_renewal_date( $context = 'view' ) {
428
-		return $this->get_prop( 'expiration', $context );
429
-	}
430
-
431
-	/**
432
-	 * Alias for self::get_next_renewal_date().
433
-	 *
434
-	 * @since 1.0.19
435
-	 * @param  string $context View or edit context.
436
-	 * @return string
437
-	 */
438
-	public function get_expiration( $context = 'view' ) {
439
-		return $this->get_next_renewal_date( $context );
440
-	}
441
-
442
-	/**
443
-	 * Retrieves the expiration date in a timestamp
444
-	 *
445
-	 * @since  1.0.0
446
-	 * @return int
447
-	 */
448
-	public function get_expiration_time() {
449
-		$expiration = $this->get_expiration();
450
-
451
-		if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
452
-			return current_time( 'timestamp' );
453
-		}
454
-
455
-		$expiration = strtotime( $expiration, current_time( 'timestamp' ) );
456
-		return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
457
-	}
458
-
459
-	/**
460
-	 * Get GMT date when the subscription will renew.
461
-	 *
462
-	 * @since 1.0.19
463
-	 * @param  string $context View or edit context.
464
-	 * @return string
465
-	 */
466
-	public function get_next_renewal_date_gmt( $context = 'view' ) {
467
-        $date = $this->get_next_renewal_date( $context );
468 666
 
469
-        if ( $date ) {
470
-            $date = get_gmt_from_date( $date );
471
-        }
472
-		return $date;
473
-	}
474
-
475
-	/**
476
-	 * Get the subscription's trial period.
477
-	 *
478
-	 * @since 1.0.19
479
-	 * @param  string $context View or edit context.
480
-	 * @return string
481
-	 */
482
-	public function get_trial_period( $context = 'view' ) {
483
-		return $this->get_prop( 'trial_period', $context );
484
-	}
485
-
486
-	/**
487
-	 * Get the subscription's status.
488
-	 *
489
-	 * @since 1.0.19
490
-	 * @param  string $context View or edit context.
491
-	 * @return string
492
-	 */
493
-	public function get_status( $context = 'view' ) {
494
-		return $this->get_prop( 'status', $context );
495
-	}
496
-
497
-	/**
498
-	 * Get the subscription's profile id.
499
-	 *
500
-	 * @since 1.0.19
501
-	 * @param  string $context View or edit context.
502
-	 * @return string
503
-	 */
504
-	public function get_profile_id( $context = 'view' ) {
505
-		return $this->get_prop( 'profile_id', $context );
506
-	}
507
-
508
-	/*
509
-	|--------------------------------------------------------------------------
510
-	| Setters
511
-	|--------------------------------------------------------------------------
512
-	*/
667
+        $this->set_prop( 'expiration', '' );
513 668
 
514
-	/**
515
-	 * Set customer id.
516
-	 *
517
-	 * @since 1.0.19
518
-	 * @param  int $value The customer's id.
519
-	 */
520
-	public function set_customer_id( $value ) {
521
-		$this->set_prop( 'customer_id', (int) $value );
522
-	}
523
-
524
-	/**
525
-	 * Set parent invoice id.
526
-	 *
527
-	 * @since 1.0.19
528
-	 * @param  int $value The parent invoice id.
529
-	 */
530
-	public function set_parent_invoice_id( $value ) {
531
-		$this->set_prop( 'parent_payment_id', (int) $value );
532
-	}
533
-
534
-	/**
535
-	 * Alias for self::set_parent_invoice_id().
536
-	 *
537
-	 * @since 1.0.19
538
-	 * @param  int $value The parent invoice id.
539
-	 */
540
-    public function set_parent_payment_id( $value ) {
541
-        $this->set_parent_invoice_id( $value );
542
-	}
669
+    }
543 670
 
544
-	/**
545
-     * Alias for self::set_parent_invoice_id().
671
+    /**
672
+     * Alias for self::set_next_renewal_date().
546 673
      *
547 674
      * @since 1.0.19
548
-	 * @param  int $value The parent invoice id.
675
+     * @param string $value strtotime compliant date.
549 676
      */
550
-    public function set_original_payment_id( $value ) {
551
-        $this->set_parent_invoice_id( $value );
552
-	}
553
-
554
-	/**
555
-	 * Set subscription's product id.
556
-	 *
557
-	 * @since 1.0.19
558
-	 * @param  int $value The subscription product id.
559
-	 */
560
-	public function set_product_id( $value ) {
561
-		$this->set_prop( 'product_id', (int) $value );
562
-	}
563
-
564
-	/**
565
-	 * Set the period of a renewal.
566
-	 *
567
-	 * @since 1.0.19
568
-	 * @param  string $value The renewal period.
569
-	 */
570
-	public function set_period( $value ) {
571
-		$this->set_prop( 'period', $value );
572
-	}
573
-
574
-	/**
575
-	 * Set number of periods each renewal is valid for.
576
-	 *
577
-	 * @since 1.0.19
578
-	 * @param  int $value The subscription frequency.
579
-	 */
580
-	public function set_frequency( $value ) {
581
-		$value = empty( $value ) ? 1 : (int) $value;
582
-		$this->set_prop( 'frequency', absint( $value ) );
583
-	}
584
-
585
-	/**
586
-	 * Set the initial amount for the subscription.
587
-	 *
588
-	 * @since 1.0.19
589
-	 * @param  float $value The initial subcription amount.
590
-	 */
591
-	public function set_initial_amount( $value ) {
592
-		$this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
593
-	}
594
-
595
-	/**
596
-	 * Set the recurring amount for the subscription.
597
-	 *
598
-	 * @since 1.0.19
599
-	 * @param  float $value The recurring subcription amount.
600
-	 */
601
-	public function set_recurring_amount( $value ) {
602
-		$this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
603
-	}
604
-
605
-	/**
606
-	 * Set number of times that this subscription can be renewed.
607
-	 *
608
-	 * @since 1.0.19
609
-	 * @param  int $value Bill times.
610
-	 */
611
-	public function set_bill_times( $value ) {
612
-		$this->set_prop( 'bill_times', (int) $value );
613
-	}
614
-
615
-	/**
616
-	 * Get transaction id of this subscription's parent invoice.
617
-	 *
618
-	 * @since 1.0.19
619
-	 * @param string $value Bill times.
620
-	 */
621
-	public function set_transaction_id( $value ) {
622
-		$this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
623
-	}
624
-
625
-	/**
626
-	 * Set date when this subscription started.
627
-	 *
628
-	 * @since 1.0.19
629
-	 * @param string $value strtotime compliant date.
630
-	 */
631
-	public function set_created( $value ) {
632
-        $date = strtotime( $value );
677
+    public function set_expiration( $value ) {
678
+        $this->set_next_renewal_date( $value );
679
+    }
633 680
 
634
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
635
-            $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) );
681
+    /**
682
+     * Set the subscription's trial period.
683
+     *
684
+     * @since 1.0.19
685
+     * @param string $value trial period e.g 1 year.
686
+     */
687
+    public function set_trial_period( $value ) {
688
+        $this->set_prop( 'trial_period', $value );
689
+    }
690
+
691
+    /**
692
+     * Set the subscription's status.
693
+     *
694
+     * @since 1.0.19
695
+     * @param string $new_status    New subscription status.
696
+     */
697
+    public function set_status( $new_status ) {
698
+
699
+        // Abort if this is not a valid status;
700
+        if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
636 701
             return;
637 702
         }
638 703
 
639
-		$this->set_prop( 'created', '' );
640
-
641
-	}
704
+        $old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status();
705
+        if ( true === $this->object_read && $old_status !== $new_status ) {
706
+            $this->status_transition = array(
707
+                'from' => $old_status,
708
+                'to'   => $new_status,
709
+            );
710
+        }
642 711
 
643
-	/**
644
-	 * Alias for self::set_created().
645
-	 *
646
-	 * @since 1.0.19
647
-	 * @param string $value strtotime compliant date.
648
-	 */
649
-	public function set_date_created( $value ) {
650
-		$this->set_created( $value );
712
+        $this->set_prop( 'status', $new_status );
651 713
     }
652 714
 
653
-	/**
654
-	 * Set the date that the subscription will renew.
655
-	 *
656
-	 * @since 1.0.19
657
-	 * @param string $value strtotime compliant date.
658
-	 */
659
-	public function set_next_renewal_date( $value ) {
660
-		$date = strtotime( $value );
715
+    /**
716
+     * Set the subscription's (remote) profile id.
717
+     *
718
+     * @since 1.0.19
719
+     * @param  string $value the remote profile id.
720
+     */
721
+    public function set_profile_id( $value ) {
722
+        $this->set_prop( 'profile_id', sanitize_text_field( $value ) );
723
+    }
661 724
 
662
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
663
-            $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) );
664
-            return;
665
-		}
666
-
667
-		$this->set_prop( 'expiration', '' );
668
-
669
-	}
670
-
671
-	/**
672
-	 * Alias for self::set_next_renewal_date().
673
-	 *
674
-	 * @since 1.0.19
675
-	 * @param string $value strtotime compliant date.
676
-	 */
677
-	public function set_expiration( $value ) {
678
-		$this->set_next_renewal_date( $value );
679
-    }
680
-
681
-	/**
682
-	 * Set the subscription's trial period.
683
-	 *
684
-	 * @since 1.0.19
685
-	 * @param string $value trial period e.g 1 year.
686
-	 */
687
-	public function set_trial_period( $value ) {
688
-		$this->set_prop( 'trial_period', $value );
689
-	}
690
-
691
-	/**
692
-	 * Set the subscription's status.
693
-	 *
694
-	 * @since 1.0.19
695
-	 * @param string $new_status    New subscription status.
696
-	 */
697
-	public function set_status( $new_status ) {
698
-
699
-		// Abort if this is not a valid status;
700
-		if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
701
-			return;
702
-		}
703
-
704
-		$old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status();
705
-		if ( true === $this->object_read && $old_status !== $new_status ) {
706
-			$this->status_transition = array(
707
-				'from' => $old_status,
708
-				'to'   => $new_status,
709
-			);
710
-		}
711
-
712
-		$this->set_prop( 'status', $new_status );
713
-	}
714
-
715
-	/**
716
-	 * Set the subscription's (remote) profile id.
717
-	 *
718
-	 * @since 1.0.19
719
-	 * @param  string $value the remote profile id.
720
-	 */
721
-	public function set_profile_id( $value ) {
722
-		$this->set_prop( 'profile_id', sanitize_text_field( $value ) );
723
-	}
724
-
725
-	/*
725
+    /*
726 726
 	|--------------------------------------------------------------------------
727 727
 	| Boolean methods
728 728
 	|--------------------------------------------------------------------------
@@ -731,55 +731,55 @@  discard block
 block discarded – undo
731 731
 	|
732 732
 	*/
733 733
 
734
-	/**
734
+    /**
735 735
      * Checks if the subscription has a given status.
736
-	 *
737
-	 * @param string|array String or array of strings to check for.
738
-	 * @return bool
736
+     *
737
+     * @param string|array String or array of strings to check for.
738
+     * @return bool
739 739
      */
740 740
     public function has_status( $status ) {
741 741
         return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) );
742
-	}
742
+    }
743 743
 
744
-	/**
744
+    /**
745 745
      * Checks if the subscription has a trial period.
746
-	 *
747
-	 * @return bool
746
+     *
747
+     * @return bool
748 748
      */
749 749
     public function has_trial_period() {
750
-		$period = $this->get_trial_period();
750
+        $period = $this->get_trial_period();
751 751
         return ! empty( $period );
752
-	}
753
-
754
-	/**
755
-	 * Is the subscription active?
756
-	 *
757
-	 * @return bool
758
-	 */
759
-	public function is_active() {
760
-		return $this->has_status( 'active trialling' ) && ! $this->is_expired();
761
-	}
762
-
763
-	/**
764
-	 * Is the subscription expired?
765
-	 *
766
-	 * @return bool
767
-	 */
768
-	public function is_expired() {
769
-		return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) );
770
-	}
771
-
772
-	/**
773
-	 * Is this the last renewals?
774
-	 *
775
-	 * @return bool
776
-	 */
777
-	public function is_last_renewal() {
778
-		$max_bills = $this->get_bill_times();
779
-		return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
780
-	}
781
-
782
-	/*
752
+    }
753
+
754
+    /**
755
+     * Is the subscription active?
756
+     *
757
+     * @return bool
758
+     */
759
+    public function is_active() {
760
+        return $this->has_status( 'active trialling' ) && ! $this->is_expired();
761
+    }
762
+
763
+    /**
764
+     * Is the subscription expired?
765
+     *
766
+     * @return bool
767
+     */
768
+    public function is_expired() {
769
+        return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) );
770
+    }
771
+
772
+    /**
773
+     * Is this the last renewals?
774
+     *
775
+     * @return bool
776
+     */
777
+    public function is_last_renewal() {
778
+        $max_bills = $this->get_bill_times();
779
+        return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
780
+    }
781
+
782
+    /*
783 783
 	|--------------------------------------------------------------------------
784 784
 	| Additional methods
785 785
 	|--------------------------------------------------------------------------
@@ -788,27 +788,27 @@  discard block
 block discarded – undo
788 788
 	|
789 789
 	*/
790 790
 
791
-	/**
792
-	 * Backwards compatibilty.
793
-	 */
794
-	public function create( $data = array() ) {
791
+    /**
792
+     * Backwards compatibilty.
793
+     */
794
+    public function create( $data = array() ) {
795 795
 
796
-		// Set the properties.
797
-		if ( is_array( $data ) ) {
798
-			$this->set_props( $data );
799
-		}
796
+        // Set the properties.
797
+        if ( is_array( $data ) ) {
798
+            $this->set_props( $data );
799
+        }
800 800
 
801
-		// Save the item.
802
-		return $this->save();
801
+        // Save the item.
802
+        return $this->save();
803 803
 
804
-	}
804
+    }
805 805
 
806
-	/**
807
-	 * Backwards compatibilty.
808
-	 */
809
-	public function update( $args = array() ) {
810
-		return $this->create( $args );
811
-	}
806
+    /**
807
+     * Backwards compatibilty.
808
+     */
809
+    public function update( $args = array() ) {
810
+        return $this->create( $args );
811
+    }
812 812
 
813 813
     /**
814 814
      * Retrieve renewal payments for a subscription
@@ -818,22 +818,22 @@  discard block
 block discarded – undo
818 818
      */
819 819
     public function get_child_payments( $hide_pending = true ) {
820 820
 
821
-		$statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
821
+        $statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
822 822
 
823
-		if ( ! $hide_pending ) {
824
-			$statuses = array_keys( wpinv_get_invoice_statuses() );
825
-		}
823
+        if ( ! $hide_pending ) {
824
+            $statuses = array_keys( wpinv_get_invoice_statuses() );
825
+        }
826 826
 
827 827
         return get_posts(
828
-			array(
829
-            	'post_parent' => $this->get_parent_payment_id(),
830
-            	'numberposts' => -1,
831
-            	'post_status' => $statuses,
832
-            	'orderby'     => 'ID',
833
-            	'order'       => 'ASC',
834
-            	'post_type'   => 'wpi_invoice',
835
-			)
836
-		);
828
+            array(
829
+                'post_parent' => $this->get_parent_payment_id(),
830
+                'numberposts' => -1,
831
+                'post_status' => $statuses,
832
+                'orderby'     => 'ID',
833
+                'order'       => 'ASC',
834
+                'post_type'   => 'wpi_invoice',
835
+            )
836
+        );
837 837
     }
838 838
 
839 839
     /**
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
      * @return int
844 844
      */
845 845
     public function get_total_payments() {
846
-		return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() );
846
+        return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() );
847 847
     }
848 848
 
849 849
     /**
@@ -867,187 +867,187 @@  discard block
 block discarded – undo
867 867
      *
868 868
      * @since  2.4
869 869
      * @param  array $args Array of values for the payment, including amount and transaction ID
870
-	 * @param  WPInv_Invoice $invoice If adding an existing invoice.
870
+     * @param  WPInv_Invoice $invoice If adding an existing invoice.
871 871
      * @return bool
872 872
      */
873 873
     public function add_payment( $args = array(), $invoice = false ) {
874 874
 
875
-		// Process each payment once.
875
+        // Process each payment once.
876 876
         if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) {
877 877
             return false;
878 878
         }
879 879
 
880
-		// Are we creating a new invoice?
881
-		if ( empty( $invoice ) ) {
882
-			$invoice = $this->create_payment( false );
880
+        // Are we creating a new invoice?
881
+        if ( empty( $invoice ) ) {
882
+            $invoice = $this->create_payment( false );
883 883
 
884
-			if ( empty( $invoice ) ) {
885
-				return false;
886
-			}
887
-		}
884
+            if ( empty( $invoice ) ) {
885
+                return false;
886
+            }
887
+        }
888 888
 
889
-		// Maybe set a transaction id.
890
-		if ( ! empty( $args['transaction_id'] ) ) {
891
-			$invoice->set_transaction_id( $args['transaction_id'] );
892
-		}
889
+        // Maybe set a transaction id.
890
+        if ( ! empty( $args['transaction_id'] ) ) {
891
+            $invoice->set_transaction_id( $args['transaction_id'] );
892
+        }
893 893
 
894
-		// Set the completed date.
895
-		$invoice->set_completed_date( current_time( 'mysql' ) );
894
+        // Set the completed date.
895
+        $invoice->set_completed_date( current_time( 'mysql' ) );
896 896
 
897
-		// And the gateway.
898
-		if ( ! empty( $args['gateway'] ) ) {
899
-			$invoice->set_gateway( $args['gateway'] );
900
-		}
897
+        // And the gateway.
898
+        if ( ! empty( $args['gateway'] ) ) {
899
+            $invoice->set_gateway( $args['gateway'] );
900
+        }
901 901
 
902
-		$invoice->set_status( 'wpi-renewal' );
903
-		$invoice->save();
902
+        $invoice->set_status( 'wpi-renewal' );
903
+        $invoice->save();
904 904
 
905
-		if ( ! $invoice->exists() ) {
906
-			return false;
907
-		}
905
+        if ( ! $invoice->exists() ) {
906
+            return false;
907
+        }
908 908
 
909
-		do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
910
-		do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
909
+        do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
910
+        do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
911 911
         do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() );
912 912
 
913 913
         update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id );
914 914
 
915 915
         return $invoice->get_id();
916
-	}
916
+    }
917 917
 
918
-	/**
918
+    /**
919 919
      * Creates a new invoice and returns it.
920 920
      *
921 921
      * @since  1.0.19
922
-	 * @param bool $save Whether we should save the invoice.
922
+     * @param bool $save Whether we should save the invoice.
923 923
      * @return WPInv_Invoice|bool
924 924
      */
925 925
     public function create_payment( $save = true ) {
926 926
 
927
-		$parent_invoice = $this->get_parent_payment();
928
-
929
-		if ( ! $parent_invoice->exists() ) {
930
-			return false;
931
-		}
932
-
933
-		// Duplicate the parent invoice.
934
-		$invoice = getpaid_duplicate_invoice( $parent_invoice );
935
-		$invoice->set_parent_id( $parent_invoice->get_id() );
936
-		$invoice->set_subscription_id( $this->get_id() );
937
-		$invoice->set_remote_subscription_id( $this->get_profile_id() );
938
-
939
-		// Set invoice items.
940
-		$subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() );
941
-		$allowed_items      = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] );
942
-		$invoice_items      = array();
943
-
944
-		foreach ( $invoice->get_items() as $item ) {
945
-			if ( in_array( $item->get_id(), $allowed_items ) ) {
946
-				$invoice_items[] = $item;
947
-			}
948
-		}
949
-
950
-		$invoice->set_items( $invoice_items );
951
-
952
-		if ( ! empty( $subscription_group['fees'] ) ) {
953
-			$invoice->set_fees( $subscription_group['fees'] );
954
-		}
955
-
956
-		// Maybe recalculate discount (Pre-GetPaid Fix).
957
-		$discount = new WPInv_Discount( $invoice->get_discount_code() );
958
-		if ( $discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount() ) {
959
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
960
-		}
961
-
962
-		$invoice->recalculate_total();
963
-		$invoice->set_status( 'wpi-pending' );
964
-
965
-		if ( ! $save ) {
966
-			return $invoice;
967
-		}
968
-
969
-		$invoice->save();
970
-
971
-		return $invoice->exists() ? $invoice : false;
972
-    }
973
-
974
-	/**
975
-	 * Renews or completes a subscription
976
-	 *
977
-	 * @since  1.0.0
978
-	 * @return int The subscription's id
979
-	 */
980
-	public function renew( $calculate_from = null ) {
981
-
982
-		// Complete subscription if applicable
983
-		if ( $this->is_last_renewal() ) {
984
-			return $this->complete();
985
-		}
986
-
987
-		// Calculate new expiration
988
-		$frequency      = $this->get_frequency();
989
-		$period         = $this->get_period();
990
-		$calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from;
991
-		$new_expiration = strtotime( "+ $frequency $period", $calculate_from );
992
-
993
-		$this->set_expiration( date( 'Y-m-d H:i:s', $new_expiration ) );
994
-		$this->set_status( 'active' );
995
-		$this->save();
996
-
997
-		do_action( 'getpaid_subscription_renewed', $this );
998
-
999
-		return $this->get_id();
1000
-	}
1001
-
1002
-	/**
1003
-	 * Marks a subscription as completed
1004
-	 *
1005
-	 * Subscription is completed when the number of payments matches the billing_times field
1006
-	 *
1007
-	 * @since  1.0.0
1008
-	 * @return int|bool Subscription id or false if the subscription is cancelled.
1009
-	 */
1010
-	public function complete() {
1011
-
1012
-		// Only mark a subscription as complete if it's not already cancelled.
1013
-		if ( $this->has_status( 'cancelled' ) ) {
1014
-			return false;
1015
-		}
1016
-
1017
-		$this->set_status( 'completed' );
1018
-		return $this->save();
1019
-
1020
-	}
1021
-
1022
-	/**
1023
-	 * Marks a subscription as expired
1024
-	 *
1025
-	 * @since  1.0.0
1026
-	 * @param  bool $check_expiration
1027
-	 * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1028
-	 */
1029
-	public function expire( $check_expiration = false ) {
1030
-
1031
-		if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1032
-			// Do not mark as expired since real expiration date is in the future
1033
-			return false;
1034
-		}
1035
-
1036
-		$this->set_status( 'expired' );
1037
-		return $this->save();
1038
-
1039
-	}
1040
-
1041
-	/**
1042
-	 * Marks a subscription as failing
1043
-	 *
1044
-	 * @since  2.4.2
1045
-	 * @return int Subscription id.
1046
-	 */
1047
-	public function failing() {
1048
-		$this->set_status( 'failing' );
1049
-		return $this->save();
1050
-	}
927
+        $parent_invoice = $this->get_parent_payment();
928
+
929
+        if ( ! $parent_invoice->exists() ) {
930
+            return false;
931
+        }
932
+
933
+        // Duplicate the parent invoice.
934
+        $invoice = getpaid_duplicate_invoice( $parent_invoice );
935
+        $invoice->set_parent_id( $parent_invoice->get_id() );
936
+        $invoice->set_subscription_id( $this->get_id() );
937
+        $invoice->set_remote_subscription_id( $this->get_profile_id() );
938
+
939
+        // Set invoice items.
940
+        $subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() );
941
+        $allowed_items      = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] );
942
+        $invoice_items      = array();
943
+
944
+        foreach ( $invoice->get_items() as $item ) {
945
+            if ( in_array( $item->get_id(), $allowed_items ) ) {
946
+                $invoice_items[] = $item;
947
+            }
948
+        }
949
+
950
+        $invoice->set_items( $invoice_items );
951
+
952
+        if ( ! empty( $subscription_group['fees'] ) ) {
953
+            $invoice->set_fees( $subscription_group['fees'] );
954
+        }
955
+
956
+        // Maybe recalculate discount (Pre-GetPaid Fix).
957
+        $discount = new WPInv_Discount( $invoice->get_discount_code() );
958
+        if ( $discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount() ) {
959
+            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
960
+        }
961
+
962
+        $invoice->recalculate_total();
963
+        $invoice->set_status( 'wpi-pending' );
964
+
965
+        if ( ! $save ) {
966
+            return $invoice;
967
+        }
968
+
969
+        $invoice->save();
970
+
971
+        return $invoice->exists() ? $invoice : false;
972
+    }
973
+
974
+    /**
975
+     * Renews or completes a subscription
976
+     *
977
+     * @since  1.0.0
978
+     * @return int The subscription's id
979
+     */
980
+    public function renew( $calculate_from = null ) {
981
+
982
+        // Complete subscription if applicable
983
+        if ( $this->is_last_renewal() ) {
984
+            return $this->complete();
985
+        }
986
+
987
+        // Calculate new expiration
988
+        $frequency      = $this->get_frequency();
989
+        $period         = $this->get_period();
990
+        $calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from;
991
+        $new_expiration = strtotime( "+ $frequency $period", $calculate_from );
992
+
993
+        $this->set_expiration( date( 'Y-m-d H:i:s', $new_expiration ) );
994
+        $this->set_status( 'active' );
995
+        $this->save();
996
+
997
+        do_action( 'getpaid_subscription_renewed', $this );
998
+
999
+        return $this->get_id();
1000
+    }
1001
+
1002
+    /**
1003
+     * Marks a subscription as completed
1004
+     *
1005
+     * Subscription is completed when the number of payments matches the billing_times field
1006
+     *
1007
+     * @since  1.0.0
1008
+     * @return int|bool Subscription id or false if the subscription is cancelled.
1009
+     */
1010
+    public function complete() {
1011
+
1012
+        // Only mark a subscription as complete if it's not already cancelled.
1013
+        if ( $this->has_status( 'cancelled' ) ) {
1014
+            return false;
1015
+        }
1016
+
1017
+        $this->set_status( 'completed' );
1018
+        return $this->save();
1019
+
1020
+    }
1021
+
1022
+    /**
1023
+     * Marks a subscription as expired
1024
+     *
1025
+     * @since  1.0.0
1026
+     * @param  bool $check_expiration
1027
+     * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1028
+     */
1029
+    public function expire( $check_expiration = false ) {
1030
+
1031
+        if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1032
+            // Do not mark as expired since real expiration date is in the future
1033
+            return false;
1034
+        }
1035
+
1036
+        $this->set_status( 'expired' );
1037
+        return $this->save();
1038
+
1039
+    }
1040
+
1041
+    /**
1042
+     * Marks a subscription as failing
1043
+     *
1044
+     * @since  2.4.2
1045
+     * @return int Subscription id.
1046
+     */
1047
+    public function failing() {
1048
+        $this->set_status( 'failing' );
1049
+        return $this->save();
1050
+    }
1051 1051
 
1052 1052
     /**
1053 1053
      * Marks a subscription as cancelled
@@ -1056,19 +1056,19 @@  discard block
 block discarded – undo
1056 1056
      * @return int Subscription id.
1057 1057
      */
1058 1058
     public function cancel() {
1059
-		$this->set_status( 'cancelled' );
1060
-		return $this->save();
1059
+        $this->set_status( 'cancelled' );
1060
+        return $this->save();
1061 1061
     }
1062 1062
 
1063
-	/**
1064
-	 * Determines if a subscription can be cancelled both locally and with a payment processor.
1065
-	 *
1066
-	 * @since  1.0.0
1067
-	 * @return bool
1068
-	 */
1069
-	public function can_cancel() {
1070
-		return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1071
-	}
1063
+    /**
1064
+     * Determines if a subscription can be cancelled both locally and with a payment processor.
1065
+     *
1066
+     * @since  1.0.0
1067
+     * @return bool
1068
+     */
1069
+    public function can_cancel() {
1070
+        return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1071
+    }
1072 1072
 
1073 1073
     /**
1074 1074
      * Returns an array of subscription statuses that can be cancelled
@@ -1081,109 +1081,109 @@  discard block
 block discarded – undo
1081 1081
         return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) );
1082 1082
     }
1083 1083
 
1084
-	/**
1085
-	 * Retrieves the URL to cancel subscription
1086
-	 *
1087
-	 * @since  1.0.0
1088
-	 * @return string
1089
-	 */
1090
-	public function get_cancel_url() {
1091
-		$url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1092
-		return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1093
-	}
1094
-
1095
-	/**
1096
-	 * Retrieves the URL to view a subscription
1097
-	 *
1098
-	 * @since  1.0.19
1099
-	 * @return string
1100
-	 */
1101
-	public function get_view_url() {
1102
-
1103
-		$url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1104
-		$url = add_query_arg( 'subscription', $this->get_id(), $url );
1105
-
1106
-		return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1107
-	}
1108
-
1109
-	/**
1110
-	 * Determines if subscription can be manually renewed
1111
-	 *
1112
-	 * This method is filtered by payment gateways in order to return true on subscriptions
1113
-	 * that can be renewed manually
1114
-	 *
1115
-	 * @since  2.5
1116
-	 * @return bool
1117
-	 */
1118
-	public function can_renew() {
1119
-		return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1120
-	}
1121
-
1122
-	/**
1123
-	 * Retrieves the URL to renew a subscription
1124
-	 *
1125
-	 * @since  2.5
1126
-	 * @return string
1127
-	 */
1128
-	public function get_renew_url() {
1129
-		$url = wp_nonce_url(
1084
+    /**
1085
+     * Retrieves the URL to cancel subscription
1086
+     *
1087
+     * @since  1.0.0
1088
+     * @return string
1089
+     */
1090
+    public function get_cancel_url() {
1091
+        $url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1092
+        return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1093
+    }
1094
+
1095
+    /**
1096
+     * Retrieves the URL to view a subscription
1097
+     *
1098
+     * @since  1.0.19
1099
+     * @return string
1100
+     */
1101
+    public function get_view_url() {
1102
+
1103
+        $url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1104
+        $url = add_query_arg( 'subscription', $this->get_id(), $url );
1105
+
1106
+        return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1107
+    }
1108
+
1109
+    /**
1110
+     * Determines if subscription can be manually renewed
1111
+     *
1112
+     * This method is filtered by payment gateways in order to return true on subscriptions
1113
+     * that can be renewed manually
1114
+     *
1115
+     * @since  2.5
1116
+     * @return bool
1117
+     */
1118
+    public function can_renew() {
1119
+        return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1120
+    }
1121
+
1122
+    /**
1123
+     * Retrieves the URL to renew a subscription
1124
+     *
1125
+     * @since  2.5
1126
+     * @return string
1127
+     */
1128
+    public function get_renew_url() {
1129
+        $url = wp_nonce_url(
1130 1130
             add_query_arg(
1131 1131
                 array(
1132
-					'getpaid-action' => 'renew_subscription',
1133
-					'sub_id'         => $this->get_id,
1132
+                    'getpaid-action' => 'renew_subscription',
1133
+                    'sub_id'         => $this->get_id,
1134 1134
                 )
1135 1135
             ),
1136 1136
             'getpaid-nonce'
1137 1137
         );
1138
-		return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1139
-	}
1140
-
1141
-	/**
1142
-	 * Determines if subscription can have their payment method updated
1143
-	 *
1144
-	 * @since  1.0.0
1145
-	 * @return bool
1146
-	 */
1147
-	public function can_update() {
1148
-		return apply_filters( 'wpinv_subscription_can_update', false, $this );
1149
-	}
1150
-
1151
-	/**
1152
-	 * Retrieves the URL to update subscription
1153
-	 *
1154
-	 * @since  1.0.0
1155
-	 * @return string
1156
-	 */
1157
-	public function get_update_url() {
1158
-		$url = add_query_arg(
1138
+        return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1139
+    }
1140
+
1141
+    /**
1142
+     * Determines if subscription can have their payment method updated
1143
+     *
1144
+     * @since  1.0.0
1145
+     * @return bool
1146
+     */
1147
+    public function can_update() {
1148
+        return apply_filters( 'wpinv_subscription_can_update', false, $this );
1149
+    }
1150
+
1151
+    /**
1152
+     * Retrieves the URL to update subscription
1153
+     *
1154
+     * @since  1.0.0
1155
+     * @return string
1156
+     */
1157
+    public function get_update_url() {
1158
+        $url = add_query_arg(
1159 1159
             array(
1160
-				'action'          => 'update',
1161
-				'subscription_id' => $this->get_id(),
1160
+                'action'          => 'update',
1161
+                'subscription_id' => $this->get_id(),
1162 1162
             )
1163 1163
         );
1164
-		return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1165
-	}
1166
-
1167
-	/**
1168
-	 * Retrieves the subscription status label
1169
-	 *
1170
-	 * @since  1.0.0
1171
-	 * @return string
1172
-	 */
1173
-	public function get_status_label() {
1174
-		return getpaid_get_subscription_status_label( $this->get_status() );
1175
-	}
1176
-
1177
-	/**
1178
-	 * Retrieves the subscription status class
1179
-	 *
1180
-	 * @since  1.0.19
1181
-	 * @return string
1182
-	 */
1183
-	public function get_status_class() {
1184
-		$statuses = getpaid_get_subscription_status_classes();
1185
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
1186
-	}
1164
+        return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1165
+    }
1166
+
1167
+    /**
1168
+     * Retrieves the subscription status label
1169
+     *
1170
+     * @since  1.0.0
1171
+     * @return string
1172
+     */
1173
+    public function get_status_label() {
1174
+        return getpaid_get_subscription_status_label( $this->get_status() );
1175
+    }
1176
+
1177
+    /**
1178
+     * Retrieves the subscription status class
1179
+     *
1180
+     * @since  1.0.19
1181
+     * @return string
1182
+     */
1183
+    public function get_status_class() {
1184
+        $statuses = getpaid_get_subscription_status_classes();
1185
+        return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
1186
+    }
1187 1187
 
1188 1188
     /**
1189 1189
      * Retrieves the subscription status label
@@ -1193,11 +1193,11 @@  discard block
 block discarded – undo
1193 1193
      */
1194 1194
     public function get_status_label_html() {
1195 1195
 
1196
-		$status_label = sanitize_text_field( $this->get_status_label() );
1197
-		$class        = esc_attr( $this->get_status_class() );
1198
-		$status       = sanitize_html_class( $this->get_status() );
1196
+        $status_label = sanitize_text_field( $this->get_status_label() );
1197
+        $class        = esc_attr( $this->get_status_class() );
1198
+        $status       = sanitize_html_class( $this->get_status() );
1199 1199
 
1200
-		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
1200
+        return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
1201 1201
     }
1202 1202
 
1203 1203
     /**
@@ -1208,75 +1208,75 @@  discard block
 block discarded – undo
1208 1208
      * @return bool
1209 1209
      */
1210 1210
     public function payment_exists( $txn_id = '' ) {
1211
-		$invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1211
+        $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1212 1212
         return ! empty( $invoice_id );
1213
-	}
1214
-
1215
-	/**
1216
-	 * Handle the status transition.
1217
-	 */
1218
-	protected function status_transition() {
1219
-		$status_transition = $this->status_transition;
1220
-
1221
-		// Reset status transition variable.
1222
-		$this->status_transition = false;
1223
-
1224
-		if ( $status_transition ) {
1225
-			try {
1226
-
1227
-				// Fire a hook for the status change.
1228
-				do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1229
-				do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1230
-
1231
-				if ( ! empty( $status_transition['from'] ) ) {
1232
-
1233
-					/* translators: 1: old subscription status 2: new subscription status */
1234
-					$transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1235
-
1236
-					// Note the transition occurred.
1237
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1238
-
1239
-					// Fire another hook.
1240
-					do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1241
-					do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1242
-
1243
-				} else {
1244
-					/* translators: %s: new invoice status */
1245
-					$transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1246
-
1247
-					// Note the transition occurred.
1248
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1249
-
1250
-				}
1251
-			} catch ( Exception $e ) {
1252
-				$this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1253
-			}
1254
-		}
1255
-
1256
-	}
1257
-
1258
-	/**
1259
-	 * Save data to the database.
1260
-	 *
1261
-	 * @since 1.0.19
1262
-	 * @return int subscription ID
1263
-	 */
1264
-	public function save() {
1265
-		parent::save();
1266
-		$this->status_transition();
1267
-		return $this->get_id();
1268
-	}
1269
-
1270
-	/**
1271
-	 * Activates a subscription.
1272
-	 *
1273
-	 * @since 1.0.19
1274
-	 * @return int subscription ID
1275
-	 */
1276
-	public function activate() {
1277
-		$status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active';
1278
-		$this->set_status( $status );
1279
-		return $this->save();
1280
-	}
1213
+    }
1214
+
1215
+    /**
1216
+     * Handle the status transition.
1217
+     */
1218
+    protected function status_transition() {
1219
+        $status_transition = $this->status_transition;
1220
+
1221
+        // Reset status transition variable.
1222
+        $this->status_transition = false;
1223
+
1224
+        if ( $status_transition ) {
1225
+            try {
1226
+
1227
+                // Fire a hook for the status change.
1228
+                do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1229
+                do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1230
+
1231
+                if ( ! empty( $status_transition['from'] ) ) {
1232
+
1233
+                    /* translators: 1: old subscription status 2: new subscription status */
1234
+                    $transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1235
+
1236
+                    // Note the transition occurred.
1237
+                    $this->get_parent_payment()->add_note( $transition_note, false, false, true );
1238
+
1239
+                    // Fire another hook.
1240
+                    do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1241
+                    do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1242
+
1243
+                } else {
1244
+                    /* translators: %s: new invoice status */
1245
+                    $transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1246
+
1247
+                    // Note the transition occurred.
1248
+                    $this->get_parent_payment()->add_note( $transition_note, false, false, true );
1249
+
1250
+                }
1251
+            } catch ( Exception $e ) {
1252
+                $this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1253
+            }
1254
+        }
1255
+
1256
+    }
1257
+
1258
+    /**
1259
+     * Save data to the database.
1260
+     *
1261
+     * @since 1.0.19
1262
+     * @return int subscription ID
1263
+     */
1264
+    public function save() {
1265
+        parent::save();
1266
+        $this->status_transition();
1267
+        return $this->get_id();
1268
+    }
1269
+
1270
+    /**
1271
+     * Activates a subscription.
1272
+     *
1273
+     * @since 1.0.19
1274
+     * @return int subscription ID
1275
+     */
1276
+    public function activate() {
1277
+        $status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active';
1278
+        $this->set_status( $status );
1279
+        return $this->save();
1280
+    }
1281 1281
 
1282 1282
 }
Please login to merge, or discard this patch.
Spacing   +232 added lines, -232 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
  * The Subscription Class
@@ -68,27 +68,27 @@  discard block
 block discarded – undo
68 68
 	 * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69 69
 	 * @param  bool $deprecated
70 70
 	 */
71
-	function __construct( $subscription = 0, $deprecated = false ) {
71
+	function __construct($subscription = 0, $deprecated = false) {
72 72
 
73
-		parent::__construct( $subscription );
73
+		parent::__construct($subscription);
74 74
 
75
-		if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
-			$this->set_id( $subscription );
77
-		} elseif ( $subscription instanceof self ) {
78
-			$this->set_id( $subscription->get_id() );
79
-		} elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
80
-			$this->set_id( $subscription_id );
81
-		} elseif ( ! empty( $subscription->id ) ) {
82
-			$this->set_id( $subscription->id );
75
+		if (!$deprecated && !empty($subscription) && is_numeric($subscription)) {
76
+			$this->set_id($subscription);
77
+		} elseif ($subscription instanceof self) {
78
+			$this->set_id($subscription->get_id());
79
+		} elseif ($deprecated && $subscription_id = self::get_subscription_id_by_field($subscription, 'profile_id')) {
80
+			$this->set_id($subscription_id);
81
+		} elseif (!empty($subscription->id)) {
82
+			$this->set_id($subscription->id);
83 83
 		} else {
84
-			$this->set_object_read( true );
84
+			$this->set_object_read(true);
85 85
 		}
86 86
 
87 87
 		// Load the datastore.
88
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
88
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
89 89
 
90
-		if ( $this->get_id() > 0 ) {
91
-			$this->data_store->read( $this );
90
+		if ($this->get_id() > 0) {
91
+			$this->data_store->read($this);
92 92
 		}
93 93
 
94 94
 	}
@@ -103,17 +103,17 @@  discard block
 block discarded – undo
103 103
 	 * @since 1.0.19
104 104
 	 * @return int
105 105
 	 */
106
-	public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
106
+	public static function get_subscription_id_by_field($value, $field = 'profile_id') {
107 107
         global $wpdb;
108 108
 
109 109
 		// Trim the value.
110
-		$value = trim( $value );
110
+		$value = trim($value);
111 111
 
112
-		if ( empty( $value ) ) {
112
+		if (empty($value)) {
113 113
 			return 0;
114 114
 		}
115 115
 
116
-		if ( 'invoice_id' == $field ) {
116
+		if ('invoice_id' == $field) {
117 117
 			$field = 'parent_payment_id';
118 118
 		}
119 119
 
@@ -125,28 +125,28 @@  discard block
 block discarded – undo
125 125
 		);
126 126
 
127 127
 		// Ensure a field has been passed.
128
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
128
+		if (empty($field) || !in_array($field, $fields)) {
129 129
 			return 0;
130 130
 		}
131 131
 
132 132
 		// Maybe retrieve from the cache.
133
-		$subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
-		if ( ! empty( $subscription_id ) ) {
133
+		$subscription_id = wp_cache_get($value, "getpaid_subscription_{$field}s_to_subscription_ids");
134
+		if (!empty($subscription_id)) {
135 135
 			return $subscription_id;
136 136
 		}
137 137
 
138 138
         // Fetch from the db.
139 139
         $table            = $wpdb->prefix . 'wpinv_subscriptions';
140 140
         $subscription_id  = (int) $wpdb->get_var(
141
-            $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
141
+            $wpdb->prepare("SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value)
142 142
         );
143 143
 
144
-		if ( empty( $subscription_id ) ) {
144
+		if (empty($subscription_id)) {
145 145
 			return 0;
146 146
 		}
147 147
 
148 148
 		// Update the cache with our data.
149
-		wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
149
+		wp_cache_set($value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids");
150 150
 
151 151
 		return $subscription_id;
152 152
 	}
@@ -162,9 +162,9 @@  discard block
 block discarded – undo
162 162
 			'getpaid_subscriptions'                                       => $this->get_id(),
163 163
 		);
164 164
 
165
-		foreach ( $caches as $cache => $value ) {
166
-			if ( '' !== $value && false !== $value ) {
167
-				wp_cache_delete( $value, $cache );
165
+		foreach ($caches as $cache => $value) {
166
+			if ('' !== $value && false !== $value) {
167
+				wp_cache_delete($value, $cache);
168 168
 			}
169 169
 		}
170 170
 	}
@@ -172,8 +172,8 @@  discard block
 block discarded – undo
172 172
 	/**
173 173
      * Checks if a subscription key is set.
174 174
      */
175
-    public function _isset( $key ) {
176
-        return isset( $this->data[ $key ] ) || method_exists( $this, "get_$key" );
175
+    public function _isset($key) {
176
+        return isset($this->data[$key]) || method_exists($this, "get_$key");
177 177
 	}
178 178
 
179 179
 	/*
@@ -198,8 +198,8 @@  discard block
 block discarded – undo
198 198
 	 * @param  string $context View or edit context.
199 199
 	 * @return int
200 200
 	 */
201
-	public function get_customer_id( $context = 'view' ) {
202
-		return (int) $this->get_prop( 'customer_id', $context );
201
+	public function get_customer_id($context = 'view') {
202
+		return (int) $this->get_prop('customer_id', $context);
203 203
 	}
204 204
 
205 205
 	/**
@@ -209,8 +209,8 @@  discard block
 block discarded – undo
209 209
 	 * @param  string $context View or edit context.
210 210
 	 * @return WP_User|false WP_User object on success, false on failure.
211 211
 	 */
212
-	public function get_customer( $context = 'view' ) {
213
-		return get_userdata( $this->get_customer_id( $context ) );
212
+	public function get_customer($context = 'view') {
213
+		return get_userdata($this->get_customer_id($context));
214 214
 	}
215 215
 
216 216
 	/**
@@ -220,8 +220,8 @@  discard block
 block discarded – undo
220 220
 	 * @param  string $context View or edit context.
221 221
 	 * @return int
222 222
 	 */
223
-	public function get_parent_invoice_id( $context = 'view' ) {
224
-		return (int) $this->get_prop( 'parent_payment_id', $context );
223
+	public function get_parent_invoice_id($context = 'view') {
224
+		return (int) $this->get_prop('parent_payment_id', $context);
225 225
 	}
226 226
 
227 227
 	/**
@@ -231,8 +231,8 @@  discard block
 block discarded – undo
231 231
 	 * @param  string $context View or edit context.
232 232
 	 * @return int
233 233
 	 */
234
-    public function get_parent_payment_id( $context = 'view' ) {
235
-        return $this->get_parent_invoice_id( $context );
234
+    public function get_parent_payment_id($context = 'view') {
235
+        return $this->get_parent_invoice_id($context);
236 236
 	}
237 237
 
238 238
 	/**
@@ -241,8 +241,8 @@  discard block
 block discarded – undo
241 241
      * @since  1.0.0
242 242
      * @return int
243 243
      */
244
-    public function get_original_payment_id( $context = 'view' ) {
245
-        return $this->get_parent_invoice_id( $context );
244
+    public function get_original_payment_id($context = 'view') {
245
+        return $this->get_parent_invoice_id($context);
246 246
     }
247 247
 
248 248
 	/**
@@ -252,8 +252,8 @@  discard block
 block discarded – undo
252 252
 	 * @param  string $context View or edit context.
253 253
 	 * @return WPInv_Invoice
254 254
 	 */
255
-	public function get_parent_invoice( $context = 'view' ) {
256
-		return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
255
+	public function get_parent_invoice($context = 'view') {
256
+		return new WPInv_Invoice($this->get_parent_invoice_id($context));
257 257
 	}
258 258
 
259 259
 	/**
@@ -263,8 +263,8 @@  discard block
 block discarded – undo
263 263
 	 * @param  string $context View or edit context.
264 264
 	 * @return WPInv_Invoice
265 265
 	 */
266
-    public function get_parent_payment( $context = 'view' ) {
267
-        return $this->get_parent_invoice( $context );
266
+    public function get_parent_payment($context = 'view') {
267
+        return $this->get_parent_invoice($context);
268 268
 	}
269 269
 
270 270
 	/**
@@ -274,8 +274,8 @@  discard block
 block discarded – undo
274 274
 	 * @param  string $context View or edit context.
275 275
 	 * @return int
276 276
 	 */
277
-	public function get_product_id( $context = 'view' ) {
278
-		return (int) $this->get_prop( 'product_id', $context );
277
+	public function get_product_id($context = 'view') {
278
+		return (int) $this->get_prop('product_id', $context);
279 279
 	}
280 280
 
281 281
 	/**
@@ -285,8 +285,8 @@  discard block
 block discarded – undo
285 285
 	 * @param  string $context View or edit context.
286 286
 	 * @return WPInv_Item
287 287
 	 */
288
-	public function get_product( $context = 'view' ) {
289
-		return new WPInv_Item( $this->get_product_id( $context ) );
288
+	public function get_product($context = 'view') {
289
+		return new WPInv_Item($this->get_product_id($context));
290 290
 	}
291 291
 
292 292
 	/**
@@ -298,8 +298,8 @@  discard block
 block discarded – undo
298 298
 	 * @param  string $context View or edit context.
299 299
 	 * @return string
300 300
 	 */
301
-	public function get_gateway( $context = 'view' ) {
302
-		return $this->get_parent_invoice( $context )->get_gateway();
301
+	public function get_gateway($context = 'view') {
302
+		return $this->get_parent_invoice($context)->get_gateway();
303 303
 	}
304 304
 
305 305
 	/**
@@ -309,8 +309,8 @@  discard block
 block discarded – undo
309 309
 	 * @param  string $context View or edit context.
310 310
 	 * @return string
311 311
 	 */
312
-	public function get_period( $context = 'view' ) {
313
-		return $this->get_prop( 'period', $context );
312
+	public function get_period($context = 'view') {
313
+		return $this->get_prop('period', $context);
314 314
 	}
315 315
 
316 316
 	/**
@@ -320,8 +320,8 @@  discard block
 block discarded – undo
320 320
 	 * @param  string $context View or edit context.
321 321
 	 * @return int
322 322
 	 */
323
-	public function get_frequency( $context = 'view' ) {
324
-		return (int) $this->get_prop( 'frequency', $context );
323
+	public function get_frequency($context = 'view') {
324
+		return (int) $this->get_prop('frequency', $context);
325 325
 	}
326 326
 
327 327
 	/**
@@ -331,8 +331,8 @@  discard block
 block discarded – undo
331 331
 	 * @param  string $context View or edit context.
332 332
 	 * @return float
333 333
 	 */
334
-	public function get_initial_amount( $context = 'view' ) {
335
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
334
+	public function get_initial_amount($context = 'view') {
335
+		return (float) wpinv_sanitize_amount($this->get_prop('initial_amount', $context));
336 336
 	}
337 337
 
338 338
 	/**
@@ -342,8 +342,8 @@  discard block
 block discarded – undo
342 342
 	 * @param  string $context View or edit context.
343 343
 	 * @return float
344 344
 	 */
345
-	public function get_recurring_amount( $context = 'view' ) {
346
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
345
+	public function get_recurring_amount($context = 'view') {
346
+		return (float) wpinv_sanitize_amount($this->get_prop('recurring_amount', $context));
347 347
 	}
348 348
 
349 349
 	/**
@@ -353,8 +353,8 @@  discard block
 block discarded – undo
353 353
 	 * @param  string $context View or edit context.
354 354
 	 * @return int
355 355
 	 */
356
-	public function get_bill_times( $context = 'view' ) {
357
-		return (int) $this->get_prop( 'bill_times', $context );
356
+	public function get_bill_times($context = 'view') {
357
+		return (int) $this->get_prop('bill_times', $context);
358 358
 	}
359 359
 
360 360
 	/**
@@ -364,8 +364,8 @@  discard block
 block discarded – undo
364 364
 	 * @param  string $context View or edit context.
365 365
 	 * @return string
366 366
 	 */
367
-	public function get_transaction_id( $context = 'view' ) {
368
-		return $this->get_prop( 'transaction_id', $context );
367
+	public function get_transaction_id($context = 'view') {
368
+		return $this->get_prop('transaction_id', $context);
369 369
 	}
370 370
 
371 371
 	/**
@@ -375,8 +375,8 @@  discard block
 block discarded – undo
375 375
 	 * @param  string $context View or edit context.
376 376
 	 * @return string
377 377
 	 */
378
-	public function get_created( $context = 'view' ) {
379
-		return $this->get_prop( 'created', $context );
378
+	public function get_created($context = 'view') {
379
+		return $this->get_prop('created', $context);
380 380
 	}
381 381
 
382 382
 	/**
@@ -386,8 +386,8 @@  discard block
 block discarded – undo
386 386
 	 * @param  string $context View or edit context.
387 387
 	 * @return string
388 388
 	 */
389
-	public function get_date_created( $context = 'view' ) {
390
-		return $this->get_created( $context );
389
+	public function get_date_created($context = 'view') {
390
+		return $this->get_created($context);
391 391
 	}
392 392
 
393 393
 	/**
@@ -398,7 +398,7 @@  discard block
 block discarded – undo
398 398
 	 */
399 399
 	public function get_time_created() {
400 400
 		$created = $this->get_date_created();
401
-		return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
401
+		return empty($created) ? current_time('timestamp') : strtotime($created, current_time('timestamp'));
402 402
 	}
403 403
 
404 404
 	/**
@@ -408,11 +408,11 @@  discard block
 block discarded – undo
408 408
 	 * @param  string $context View or edit context.
409 409
 	 * @return string
410 410
 	 */
411
-	public function get_date_created_gmt( $context = 'view' ) {
412
-        $date = $this->get_date_created( $context );
411
+	public function get_date_created_gmt($context = 'view') {
412
+        $date = $this->get_date_created($context);
413 413
 
414
-        if ( $date ) {
415
-            $date = get_gmt_from_date( $date );
414
+        if ($date) {
415
+            $date = get_gmt_from_date($date);
416 416
         }
417 417
 		return $date;
418 418
 	}
@@ -424,8 +424,8 @@  discard block
 block discarded – undo
424 424
 	 * @param  string $context View or edit context.
425 425
 	 * @return string
426 426
 	 */
427
-	public function get_next_renewal_date( $context = 'view' ) {
428
-		return $this->get_prop( 'expiration', $context );
427
+	public function get_next_renewal_date($context = 'view') {
428
+		return $this->get_prop('expiration', $context);
429 429
 	}
430 430
 
431 431
 	/**
@@ -435,8 +435,8 @@  discard block
 block discarded – undo
435 435
 	 * @param  string $context View or edit context.
436 436
 	 * @return string
437 437
 	 */
438
-	public function get_expiration( $context = 'view' ) {
439
-		return $this->get_next_renewal_date( $context );
438
+	public function get_expiration($context = 'view') {
439
+		return $this->get_next_renewal_date($context);
440 440
 	}
441 441
 
442 442
 	/**
@@ -448,12 +448,12 @@  discard block
 block discarded – undo
448 448
 	public function get_expiration_time() {
449 449
 		$expiration = $this->get_expiration();
450 450
 
451
-		if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
452
-			return current_time( 'timestamp' );
451
+		if (empty($expiration) || '0000-00-00 00:00:00' == $expiration) {
452
+			return current_time('timestamp');
453 453
 		}
454 454
 
455
-		$expiration = strtotime( $expiration, current_time( 'timestamp' ) );
456
-		return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
455
+		$expiration = strtotime($expiration, current_time('timestamp'));
456
+		return $expiration < current_time('timestamp') ? current_time('timestamp') : $expiration;
457 457
 	}
458 458
 
459 459
 	/**
@@ -463,11 +463,11 @@  discard block
 block discarded – undo
463 463
 	 * @param  string $context View or edit context.
464 464
 	 * @return string
465 465
 	 */
466
-	public function get_next_renewal_date_gmt( $context = 'view' ) {
467
-        $date = $this->get_next_renewal_date( $context );
466
+	public function get_next_renewal_date_gmt($context = 'view') {
467
+        $date = $this->get_next_renewal_date($context);
468 468
 
469
-        if ( $date ) {
470
-            $date = get_gmt_from_date( $date );
469
+        if ($date) {
470
+            $date = get_gmt_from_date($date);
471 471
         }
472 472
 		return $date;
473 473
 	}
@@ -479,8 +479,8 @@  discard block
 block discarded – undo
479 479
 	 * @param  string $context View or edit context.
480 480
 	 * @return string
481 481
 	 */
482
-	public function get_trial_period( $context = 'view' ) {
483
-		return $this->get_prop( 'trial_period', $context );
482
+	public function get_trial_period($context = 'view') {
483
+		return $this->get_prop('trial_period', $context);
484 484
 	}
485 485
 
486 486
 	/**
@@ -490,8 +490,8 @@  discard block
 block discarded – undo
490 490
 	 * @param  string $context View or edit context.
491 491
 	 * @return string
492 492
 	 */
493
-	public function get_status( $context = 'view' ) {
494
-		return $this->get_prop( 'status', $context );
493
+	public function get_status($context = 'view') {
494
+		return $this->get_prop('status', $context);
495 495
 	}
496 496
 
497 497
 	/**
@@ -501,8 +501,8 @@  discard block
 block discarded – undo
501 501
 	 * @param  string $context View or edit context.
502 502
 	 * @return string
503 503
 	 */
504
-	public function get_profile_id( $context = 'view' ) {
505
-		return $this->get_prop( 'profile_id', $context );
504
+	public function get_profile_id($context = 'view') {
505
+		return $this->get_prop('profile_id', $context);
506 506
 	}
507 507
 
508 508
 	/*
@@ -517,8 +517,8 @@  discard block
 block discarded – undo
517 517
 	 * @since 1.0.19
518 518
 	 * @param  int $value The customer's id.
519 519
 	 */
520
-	public function set_customer_id( $value ) {
521
-		$this->set_prop( 'customer_id', (int) $value );
520
+	public function set_customer_id($value) {
521
+		$this->set_prop('customer_id', (int) $value);
522 522
 	}
523 523
 
524 524
 	/**
@@ -527,8 +527,8 @@  discard block
 block discarded – undo
527 527
 	 * @since 1.0.19
528 528
 	 * @param  int $value The parent invoice id.
529 529
 	 */
530
-	public function set_parent_invoice_id( $value ) {
531
-		$this->set_prop( 'parent_payment_id', (int) $value );
530
+	public function set_parent_invoice_id($value) {
531
+		$this->set_prop('parent_payment_id', (int) $value);
532 532
 	}
533 533
 
534 534
 	/**
@@ -537,8 +537,8 @@  discard block
 block discarded – undo
537 537
 	 * @since 1.0.19
538 538
 	 * @param  int $value The parent invoice id.
539 539
 	 */
540
-    public function set_parent_payment_id( $value ) {
541
-        $this->set_parent_invoice_id( $value );
540
+    public function set_parent_payment_id($value) {
541
+        $this->set_parent_invoice_id($value);
542 542
 	}
543 543
 
544 544
 	/**
@@ -547,8 +547,8 @@  discard block
 block discarded – undo
547 547
      * @since 1.0.19
548 548
 	 * @param  int $value The parent invoice id.
549 549
      */
550
-    public function set_original_payment_id( $value ) {
551
-        $this->set_parent_invoice_id( $value );
550
+    public function set_original_payment_id($value) {
551
+        $this->set_parent_invoice_id($value);
552 552
 	}
553 553
 
554 554
 	/**
@@ -557,8 +557,8 @@  discard block
 block discarded – undo
557 557
 	 * @since 1.0.19
558 558
 	 * @param  int $value The subscription product id.
559 559
 	 */
560
-	public function set_product_id( $value ) {
561
-		$this->set_prop( 'product_id', (int) $value );
560
+	public function set_product_id($value) {
561
+		$this->set_prop('product_id', (int) $value);
562 562
 	}
563 563
 
564 564
 	/**
@@ -567,8 +567,8 @@  discard block
 block discarded – undo
567 567
 	 * @since 1.0.19
568 568
 	 * @param  string $value The renewal period.
569 569
 	 */
570
-	public function set_period( $value ) {
571
-		$this->set_prop( 'period', $value );
570
+	public function set_period($value) {
571
+		$this->set_prop('period', $value);
572 572
 	}
573 573
 
574 574
 	/**
@@ -577,9 +577,9 @@  discard block
 block discarded – undo
577 577
 	 * @since 1.0.19
578 578
 	 * @param  int $value The subscription frequency.
579 579
 	 */
580
-	public function set_frequency( $value ) {
581
-		$value = empty( $value ) ? 1 : (int) $value;
582
-		$this->set_prop( 'frequency', absint( $value ) );
580
+	public function set_frequency($value) {
581
+		$value = empty($value) ? 1 : (int) $value;
582
+		$this->set_prop('frequency', absint($value));
583 583
 	}
584 584
 
585 585
 	/**
@@ -588,8 +588,8 @@  discard block
 block discarded – undo
588 588
 	 * @since 1.0.19
589 589
 	 * @param  float $value The initial subcription amount.
590 590
 	 */
591
-	public function set_initial_amount( $value ) {
592
-		$this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
591
+	public function set_initial_amount($value) {
592
+		$this->set_prop('initial_amount', wpinv_sanitize_amount($value));
593 593
 	}
594 594
 
595 595
 	/**
@@ -598,8 +598,8 @@  discard block
 block discarded – undo
598 598
 	 * @since 1.0.19
599 599
 	 * @param  float $value The recurring subcription amount.
600 600
 	 */
601
-	public function set_recurring_amount( $value ) {
602
-		$this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
601
+	public function set_recurring_amount($value) {
602
+		$this->set_prop('recurring_amount', wpinv_sanitize_amount($value));
603 603
 	}
604 604
 
605 605
 	/**
@@ -608,8 +608,8 @@  discard block
 block discarded – undo
608 608
 	 * @since 1.0.19
609 609
 	 * @param  int $value Bill times.
610 610
 	 */
611
-	public function set_bill_times( $value ) {
612
-		$this->set_prop( 'bill_times', (int) $value );
611
+	public function set_bill_times($value) {
612
+		$this->set_prop('bill_times', (int) $value);
613 613
 	}
614 614
 
615 615
 	/**
@@ -618,8 +618,8 @@  discard block
 block discarded – undo
618 618
 	 * @since 1.0.19
619 619
 	 * @param string $value Bill times.
620 620
 	 */
621
-	public function set_transaction_id( $value ) {
622
-		$this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
621
+	public function set_transaction_id($value) {
622
+		$this->set_prop('transaction_id', sanitize_text_field($value));
623 623
 	}
624 624
 
625 625
 	/**
@@ -628,15 +628,15 @@  discard block
 block discarded – undo
628 628
 	 * @since 1.0.19
629 629
 	 * @param string $value strtotime compliant date.
630 630
 	 */
631
-	public function set_created( $value ) {
632
-        $date = strtotime( $value );
631
+	public function set_created($value) {
632
+        $date = strtotime($value);
633 633
 
634
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
635
-            $this->set_prop( 'created', gmdate( 'Y-m-d H:i:s', $date ) );
634
+        if ($date && $value !== '0000-00-00 00:00:00') {
635
+            $this->set_prop('created', gmdate('Y-m-d H:i:s', $date));
636 636
             return;
637 637
         }
638 638
 
639
-		$this->set_prop( 'created', '' );
639
+		$this->set_prop('created', '');
640 640
 
641 641
 	}
642 642
 
@@ -646,8 +646,8 @@  discard block
 block discarded – undo
646 646
 	 * @since 1.0.19
647 647
 	 * @param string $value strtotime compliant date.
648 648
 	 */
649
-	public function set_date_created( $value ) {
650
-		$this->set_created( $value );
649
+	public function set_date_created($value) {
650
+		$this->set_created($value);
651 651
     }
652 652
 
653 653
 	/**
@@ -656,15 +656,15 @@  discard block
 block discarded – undo
656 656
 	 * @since 1.0.19
657 657
 	 * @param string $value strtotime compliant date.
658 658
 	 */
659
-	public function set_next_renewal_date( $value ) {
660
-		$date = strtotime( $value );
659
+	public function set_next_renewal_date($value) {
660
+		$date = strtotime($value);
661 661
 
662
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
663
-            $this->set_prop( 'expiration', gmdate( 'Y-m-d H:i:s', $date ) );
662
+        if ($date && $value !== '0000-00-00 00:00:00') {
663
+            $this->set_prop('expiration', gmdate('Y-m-d H:i:s', $date));
664 664
             return;
665 665
 		}
666 666
 
667
-		$this->set_prop( 'expiration', '' );
667
+		$this->set_prop('expiration', '');
668 668
 
669 669
 	}
670 670
 
@@ -674,8 +674,8 @@  discard block
 block discarded – undo
674 674
 	 * @since 1.0.19
675 675
 	 * @param string $value strtotime compliant date.
676 676
 	 */
677
-	public function set_expiration( $value ) {
678
-		$this->set_next_renewal_date( $value );
677
+	public function set_expiration($value) {
678
+		$this->set_next_renewal_date($value);
679 679
     }
680 680
 
681 681
 	/**
@@ -684,8 +684,8 @@  discard block
 block discarded – undo
684 684
 	 * @since 1.0.19
685 685
 	 * @param string $value trial period e.g 1 year.
686 686
 	 */
687
-	public function set_trial_period( $value ) {
688
-		$this->set_prop( 'trial_period', $value );
687
+	public function set_trial_period($value) {
688
+		$this->set_prop('trial_period', $value);
689 689
 	}
690 690
 
691 691
 	/**
@@ -694,22 +694,22 @@  discard block
 block discarded – undo
694 694
 	 * @since 1.0.19
695 695
 	 * @param string $new_status    New subscription status.
696 696
 	 */
697
-	public function set_status( $new_status ) {
697
+	public function set_status($new_status) {
698 698
 
699 699
 		// Abort if this is not a valid status;
700
-		if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
700
+		if (!array_key_exists($new_status, getpaid_get_subscription_statuses())) {
701 701
 			return;
702 702
 		}
703 703
 
704
-		$old_status = ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $this->get_status();
705
-		if ( true === $this->object_read && $old_status !== $new_status ) {
704
+		$old_status = !empty($this->status_transition['from']) ? $this->status_transition['from'] : $this->get_status();
705
+		if (true === $this->object_read && $old_status !== $new_status) {
706 706
 			$this->status_transition = array(
707 707
 				'from' => $old_status,
708 708
 				'to'   => $new_status,
709 709
 			);
710 710
 		}
711 711
 
712
-		$this->set_prop( 'status', $new_status );
712
+		$this->set_prop('status', $new_status);
713 713
 	}
714 714
 
715 715
 	/**
@@ -718,8 +718,8 @@  discard block
 block discarded – undo
718 718
 	 * @since 1.0.19
719 719
 	 * @param  string $value the remote profile id.
720 720
 	 */
721
-	public function set_profile_id( $value ) {
722
-		$this->set_prop( 'profile_id', sanitize_text_field( $value ) );
721
+	public function set_profile_id($value) {
722
+		$this->set_prop('profile_id', sanitize_text_field($value));
723 723
 	}
724 724
 
725 725
 	/*
@@ -737,8 +737,8 @@  discard block
 block discarded – undo
737 737
 	 * @param string|array String or array of strings to check for.
738 738
 	 * @return bool
739 739
      */
740
-    public function has_status( $status ) {
741
-        return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) );
740
+    public function has_status($status) {
741
+        return in_array($this->get_status(), wpinv_clean(wpinv_parse_list($status)));
742 742
 	}
743 743
 
744 744
 	/**
@@ -748,7 +748,7 @@  discard block
 block discarded – undo
748 748
      */
749 749
     public function has_trial_period() {
750 750
 		$period = $this->get_trial_period();
751
-        return ! empty( $period );
751
+        return !empty($period);
752 752
 	}
753 753
 
754 754
 	/**
@@ -757,7 +757,7 @@  discard block
 block discarded – undo
757 757
 	 * @return bool
758 758
 	 */
759 759
 	public function is_active() {
760
-		return $this->has_status( 'active trialling' ) && ! $this->is_expired();
760
+		return $this->has_status('active trialling') && !$this->is_expired();
761 761
 	}
762 762
 
763 763
 	/**
@@ -766,7 +766,7 @@  discard block
 block discarded – undo
766 766
 	 * @return bool
767 767
 	 */
768 768
 	public function is_expired() {
769
-		return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'timestamp' ) );
769
+		return $this->has_status('expired') || ($this->has_status('active cancelled trialling') && $this->get_expiration_time() < current_time('timestamp'));
770 770
 	}
771 771
 
772 772
 	/**
@@ -776,7 +776,7 @@  discard block
 block discarded – undo
776 776
 	 */
777 777
 	public function is_last_renewal() {
778 778
 		$max_bills = $this->get_bill_times();
779
-		return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
779
+		return !empty($max_bills) && $max_bills <= $this->get_times_billed();
780 780
 	}
781 781
 
782 782
 	/*
@@ -791,11 +791,11 @@  discard block
 block discarded – undo
791 791
 	/**
792 792
 	 * Backwards compatibilty.
793 793
 	 */
794
-	public function create( $data = array() ) {
794
+	public function create($data = array()) {
795 795
 
796 796
 		// Set the properties.
797
-		if ( is_array( $data ) ) {
798
-			$this->set_props( $data );
797
+		if (is_array($data)) {
798
+			$this->set_props($data);
799 799
 		}
800 800
 
801 801
 		// Save the item.
@@ -806,8 +806,8 @@  discard block
 block discarded – undo
806 806
 	/**
807 807
 	 * Backwards compatibilty.
808 808
 	 */
809
-	public function update( $args = array() ) {
810
-		return $this->create( $args );
809
+	public function update($args = array()) {
810
+		return $this->create($args);
811 811
 	}
812 812
 
813 813
     /**
@@ -816,12 +816,12 @@  discard block
 block discarded – undo
816 816
      * @since  1.0.0
817 817
      * @return WP_Post[]
818 818
      */
819
-    public function get_child_payments( $hide_pending = true ) {
819
+    public function get_child_payments($hide_pending = true) {
820 820
 
821
-		$statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
821
+		$statuses = array('publish', 'wpi-processing', 'wpi-renewal');
822 822
 
823
-		if ( ! $hide_pending ) {
824
-			$statuses = array_keys( wpinv_get_invoice_statuses() );
823
+		if (!$hide_pending) {
824
+			$statuses = array_keys(wpinv_get_invoice_statuses());
825 825
 		}
826 826
 
827 827
         return get_posts(
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
      * @return int
844 844
      */
845 845
     public function get_total_payments() {
846
-		return getpaid_count_subscription_invoices( $this->get_parent_invoice_id(), $this->get_id() );
846
+		return getpaid_count_subscription_invoices($this->get_parent_invoice_id(), $this->get_id());
847 847
     }
848 848
 
849 849
     /**
@@ -855,7 +855,7 @@  discard block
 block discarded – undo
855 855
     public function get_times_billed() {
856 856
         $times_billed = $this->get_total_payments();
857 857
 
858
-        if ( (float) $this->get_initial_amount() == 0 && $times_billed > 0 ) {
858
+        if ((float) $this->get_initial_amount() == 0 && $times_billed > 0) {
859 859
             $times_billed--;
860 860
         }
861 861
 
@@ -870,47 +870,47 @@  discard block
 block discarded – undo
870 870
 	 * @param  WPInv_Invoice $invoice If adding an existing invoice.
871 871
      * @return bool
872 872
      */
873
-    public function add_payment( $args = array(), $invoice = false ) {
873
+    public function add_payment($args = array(), $invoice = false) {
874 874
 
875 875
 		// Process each payment once.
876
-        if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) {
876
+        if (!empty($args['transaction_id']) && $this->payment_exists($args['transaction_id'])) {
877 877
             return false;
878 878
         }
879 879
 
880 880
 		// Are we creating a new invoice?
881
-		if ( empty( $invoice ) ) {
882
-			$invoice = $this->create_payment( false );
881
+		if (empty($invoice)) {
882
+			$invoice = $this->create_payment(false);
883 883
 
884
-			if ( empty( $invoice ) ) {
884
+			if (empty($invoice)) {
885 885
 				return false;
886 886
 			}
887 887
 		}
888 888
 
889 889
 		// Maybe set a transaction id.
890
-		if ( ! empty( $args['transaction_id'] ) ) {
891
-			$invoice->set_transaction_id( $args['transaction_id'] );
890
+		if (!empty($args['transaction_id'])) {
891
+			$invoice->set_transaction_id($args['transaction_id']);
892 892
 		}
893 893
 
894 894
 		// Set the completed date.
895
-		$invoice->set_completed_date( current_time( 'mysql' ) );
895
+		$invoice->set_completed_date(current_time('mysql'));
896 896
 
897 897
 		// And the gateway.
898
-		if ( ! empty( $args['gateway'] ) ) {
899
-			$invoice->set_gateway( $args['gateway'] );
898
+		if (!empty($args['gateway'])) {
899
+			$invoice->set_gateway($args['gateway']);
900 900
 		}
901 901
 
902
-		$invoice->set_status( 'wpi-renewal' );
902
+		$invoice->set_status('wpi-renewal');
903 903
 		$invoice->save();
904 904
 
905
-		if ( ! $invoice->exists() ) {
905
+		if (!$invoice->exists()) {
906 906
 			return false;
907 907
 		}
908 908
 
909
-		do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
910
-		do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
911
-        do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() );
909
+		do_action('getpaid_after_create_subscription_renewal_invoice', $invoice, $this);
910
+		do_action('wpinv_recurring_add_subscription_payment', $invoice, $this);
911
+        do_action('wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id());
912 912
 
913
-        update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id );
913
+        update_post_meta($invoice->get_id(), '_wpinv_subscription_id', $this->id);
914 914
 
915 915
         return $invoice->get_id();
916 916
 	}
@@ -922,47 +922,47 @@  discard block
 block discarded – undo
922 922
 	 * @param bool $save Whether we should save the invoice.
923 923
      * @return WPInv_Invoice|bool
924 924
      */
925
-    public function create_payment( $save = true ) {
925
+    public function create_payment($save = true) {
926 926
 
927 927
 		$parent_invoice = $this->get_parent_payment();
928 928
 
929
-		if ( ! $parent_invoice->exists() ) {
929
+		if (!$parent_invoice->exists()) {
930 930
 			return false;
931 931
 		}
932 932
 
933 933
 		// Duplicate the parent invoice.
934
-		$invoice = getpaid_duplicate_invoice( $parent_invoice );
935
-		$invoice->set_parent_id( $parent_invoice->get_id() );
936
-		$invoice->set_subscription_id( $this->get_id() );
937
-		$invoice->set_remote_subscription_id( $this->get_profile_id() );
934
+		$invoice = getpaid_duplicate_invoice($parent_invoice);
935
+		$invoice->set_parent_id($parent_invoice->get_id());
936
+		$invoice->set_subscription_id($this->get_id());
937
+		$invoice->set_remote_subscription_id($this->get_profile_id());
938 938
 
939 939
 		// Set invoice items.
940
-		$subscription_group = getpaid_get_invoice_subscription_group( $parent_invoice->get_id(), $this->get_id() );
941
-		$allowed_items      = empty( $subscription_group ) ? array( $this->get_product_id() ) : array_keys( $subscription_group['items'] );
940
+		$subscription_group = getpaid_get_invoice_subscription_group($parent_invoice->get_id(), $this->get_id());
941
+		$allowed_items      = empty($subscription_group) ? array($this->get_product_id()) : array_keys($subscription_group['items']);
942 942
 		$invoice_items      = array();
943 943
 
944
-		foreach ( $invoice->get_items() as $item ) {
945
-			if ( in_array( $item->get_id(), $allowed_items ) ) {
944
+		foreach ($invoice->get_items() as $item) {
945
+			if (in_array($item->get_id(), $allowed_items)) {
946 946
 				$invoice_items[] = $item;
947 947
 			}
948 948
 		}
949 949
 
950
-		$invoice->set_items( $invoice_items );
950
+		$invoice->set_items($invoice_items);
951 951
 
952
-		if ( ! empty( $subscription_group['fees'] ) ) {
953
-			$invoice->set_fees( $subscription_group['fees'] );
952
+		if (!empty($subscription_group['fees'])) {
953
+			$invoice->set_fees($subscription_group['fees']);
954 954
 		}
955 955
 
956 956
 		// Maybe recalculate discount (Pre-GetPaid Fix).
957
-		$discount = new WPInv_Discount( $invoice->get_discount_code() );
958
-		if ( $discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount() ) {
959
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
957
+		$discount = new WPInv_Discount($invoice->get_discount_code());
958
+		if ($discount->exists() && $discount->is_recurring() && 0 == $invoice->get_total_discount()) {
959
+			$invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
960 960
 		}
961 961
 
962 962
 		$invoice->recalculate_total();
963
-		$invoice->set_status( 'wpi-pending' );
963
+		$invoice->set_status('wpi-pending');
964 964
 
965
-		if ( ! $save ) {
965
+		if (!$save) {
966 966
 			return $invoice;
967 967
 		}
968 968
 
@@ -977,24 +977,24 @@  discard block
 block discarded – undo
977 977
 	 * @since  1.0.0
978 978
 	 * @return int The subscription's id
979 979
 	 */
980
-	public function renew( $calculate_from = null ) {
980
+	public function renew($calculate_from = null) {
981 981
 
982 982
 		// Complete subscription if applicable
983
-		if ( $this->is_last_renewal() ) {
983
+		if ($this->is_last_renewal()) {
984 984
 			return $this->complete();
985 985
 		}
986 986
 
987 987
 		// Calculate new expiration
988 988
 		$frequency      = $this->get_frequency();
989 989
 		$period         = $this->get_period();
990
-		$calculate_from = empty( $calculate_from ) ? $this->get_expiration_time() : $calculate_from;
991
-		$new_expiration = strtotime( "+ $frequency $period", $calculate_from );
990
+		$calculate_from = empty($calculate_from) ? $this->get_expiration_time() : $calculate_from;
991
+		$new_expiration = strtotime("+ $frequency $period", $calculate_from);
992 992
 
993
-		$this->set_expiration( date( 'Y-m-d H:i:s', $new_expiration ) );
994
-		$this->set_status( 'active' );
993
+		$this->set_expiration(date('Y-m-d H:i:s', $new_expiration));
994
+		$this->set_status('active');
995 995
 		$this->save();
996 996
 
997
-		do_action( 'getpaid_subscription_renewed', $this );
997
+		do_action('getpaid_subscription_renewed', $this);
998 998
 
999 999
 		return $this->get_id();
1000 1000
 	}
@@ -1010,11 +1010,11 @@  discard block
 block discarded – undo
1010 1010
 	public function complete() {
1011 1011
 
1012 1012
 		// Only mark a subscription as complete if it's not already cancelled.
1013
-		if ( $this->has_status( 'cancelled' ) ) {
1013
+		if ($this->has_status('cancelled')) {
1014 1014
 			return false;
1015 1015
 		}
1016 1016
 
1017
-		$this->set_status( 'completed' );
1017
+		$this->set_status('completed');
1018 1018
 		return $this->save();
1019 1019
 
1020 1020
 	}
@@ -1026,14 +1026,14 @@  discard block
 block discarded – undo
1026 1026
 	 * @param  bool $check_expiration
1027 1027
 	 * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1028 1028
 	 */
1029
-	public function expire( $check_expiration = false ) {
1029
+	public function expire($check_expiration = false) {
1030 1030
 
1031
-		if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1031
+		if ($check_expiration && $this->get_expiration_time() > current_time('timestamp')) {
1032 1032
 			// Do not mark as expired since real expiration date is in the future
1033 1033
 			return false;
1034 1034
 		}
1035 1035
 
1036
-		$this->set_status( 'expired' );
1036
+		$this->set_status('expired');
1037 1037
 		return $this->save();
1038 1038
 
1039 1039
 	}
@@ -1045,7 +1045,7 @@  discard block
 block discarded – undo
1045 1045
 	 * @return int Subscription id.
1046 1046
 	 */
1047 1047
 	public function failing() {
1048
-		$this->set_status( 'failing' );
1048
+		$this->set_status('failing');
1049 1049
 		return $this->save();
1050 1050
 	}
1051 1051
 
@@ -1056,7 +1056,7 @@  discard block
 block discarded – undo
1056 1056
      * @return int Subscription id.
1057 1057
      */
1058 1058
     public function cancel() {
1059
-		$this->set_status( 'cancelled' );
1059
+		$this->set_status('cancelled');
1060 1060
 		return $this->save();
1061 1061
     }
1062 1062
 
@@ -1067,7 +1067,7 @@  discard block
 block discarded – undo
1067 1067
 	 * @return bool
1068 1068
 	 */
1069 1069
 	public function can_cancel() {
1070
-		return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1070
+		return apply_filters('wpinv_subscription_can_cancel', $this->has_status($this->get_cancellable_statuses()), $this);
1071 1071
 	}
1072 1072
 
1073 1073
     /**
@@ -1078,7 +1078,7 @@  discard block
 block discarded – undo
1078 1078
      * @return      array
1079 1079
      */
1080 1080
     public function get_cancellable_statuses() {
1081
-        return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) );
1081
+        return apply_filters('wpinv_recurring_cancellable_statuses', array('active', 'trialling', 'failing'));
1082 1082
     }
1083 1083
 
1084 1084
 	/**
@@ -1088,8 +1088,8 @@  discard block
 block discarded – undo
1088 1088
 	 * @return string
1089 1089
 	 */
1090 1090
 	public function get_cancel_url() {
1091
-		$url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1092
-		return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1091
+		$url = getpaid_get_authenticated_action_url('subscription_cancel', $this->get_view_url());
1092
+		return apply_filters('wpinv_subscription_cancel_url', $url, $this);
1093 1093
 	}
1094 1094
 
1095 1095
 	/**
@@ -1100,10 +1100,10 @@  discard block
 block discarded – undo
1100 1100
 	 */
1101 1101
 	public function get_view_url() {
1102 1102
 
1103
-		$url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1104
-		$url = add_query_arg( 'subscription', $this->get_id(), $url );
1103
+		$url = getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page')));
1104
+		$url = add_query_arg('subscription', $this->get_id(), $url);
1105 1105
 
1106
-		return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1106
+		return apply_filters('getpaid_get_subscription_view_url', $url, $this);
1107 1107
 	}
1108 1108
 
1109 1109
 	/**
@@ -1116,7 +1116,7 @@  discard block
 block discarded – undo
1116 1116
 	 * @return bool
1117 1117
 	 */
1118 1118
 	public function can_renew() {
1119
-		return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1119
+		return apply_filters('wpinv_subscription_can_renew', true, $this);
1120 1120
 	}
1121 1121
 
1122 1122
 	/**
@@ -1135,7 +1135,7 @@  discard block
 block discarded – undo
1135 1135
             ),
1136 1136
             'getpaid-nonce'
1137 1137
         );
1138
-		return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1138
+		return apply_filters('wpinv_subscription_renew_url', $url, $this);
1139 1139
 	}
1140 1140
 
1141 1141
 	/**
@@ -1145,7 +1145,7 @@  discard block
 block discarded – undo
1145 1145
 	 * @return bool
1146 1146
 	 */
1147 1147
 	public function can_update() {
1148
-		return apply_filters( 'wpinv_subscription_can_update', false, $this );
1148
+		return apply_filters('wpinv_subscription_can_update', false, $this);
1149 1149
 	}
1150 1150
 
1151 1151
 	/**
@@ -1161,7 +1161,7 @@  discard block
 block discarded – undo
1161 1161
 				'subscription_id' => $this->get_id(),
1162 1162
             )
1163 1163
         );
1164
-		return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1164
+		return apply_filters('wpinv_subscription_update_url', $url, $this);
1165 1165
 	}
1166 1166
 
1167 1167
 	/**
@@ -1171,7 +1171,7 @@  discard block
 block discarded – undo
1171 1171
 	 * @return string
1172 1172
 	 */
1173 1173
 	public function get_status_label() {
1174
-		return getpaid_get_subscription_status_label( $this->get_status() );
1174
+		return getpaid_get_subscription_status_label($this->get_status());
1175 1175
 	}
1176 1176
 
1177 1177
 	/**
@@ -1182,7 +1182,7 @@  discard block
 block discarded – undo
1182 1182
 	 */
1183 1183
 	public function get_status_class() {
1184 1184
 		$statuses = getpaid_get_subscription_status_classes();
1185
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'bg-dark';
1185
+		return isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : 'bg-dark';
1186 1186
 	}
1187 1187
 
1188 1188
     /**
@@ -1193,9 +1193,9 @@  discard block
 block discarded – undo
1193 1193
      */
1194 1194
     public function get_status_label_html() {
1195 1195
 
1196
-		$status_label = sanitize_text_field( $this->get_status_label() );
1197
-		$class        = esc_attr( $this->get_status_class() );
1198
-		$status       = sanitize_html_class( $this->get_status() );
1196
+		$status_label = sanitize_text_field($this->get_status_label());
1197
+		$class        = esc_attr($this->get_status_class());
1198
+		$status       = sanitize_html_class($this->get_status());
1199 1199
 
1200 1200
 		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
1201 1201
     }
@@ -1207,9 +1207,9 @@  discard block
 block discarded – undo
1207 1207
      * @param  string $txn_id The transaction ID from the merchant processor
1208 1208
      * @return bool
1209 1209
      */
1210
-    public function payment_exists( $txn_id = '' ) {
1211
-		$invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1212
-        return ! empty( $invoice_id );
1210
+    public function payment_exists($txn_id = '') {
1211
+		$invoice_id = WPInv_Invoice::get_invoice_id_by_field($txn_id, 'transaction_id');
1212
+        return !empty($invoice_id);
1213 1213
 	}
1214 1214
 
1215 1215
 	/**
@@ -1221,35 +1221,35 @@  discard block
 block discarded – undo
1221 1221
 		// Reset status transition variable.
1222 1222
 		$this->status_transition = false;
1223 1223
 
1224
-		if ( $status_transition ) {
1224
+		if ($status_transition) {
1225 1225
 			try {
1226 1226
 
1227 1227
 				// Fire a hook for the status change.
1228
-				do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1229
-				do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1228
+				do_action('wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition);
1229
+				do_action('getpaid_subscription_' . $status_transition['to'], $this, $status_transition);
1230 1230
 
1231
-				if ( ! empty( $status_transition['from'] ) ) {
1231
+				if (!empty($status_transition['from'])) {
1232 1232
 
1233 1233
 					/* translators: 1: old subscription status 2: new subscription status */
1234
-					$transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1234
+					$transition_note = sprintf(__('Subscription status changed from %1$s to %2$s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['from']), getpaid_get_subscription_status_label($status_transition['to']));
1235 1235
 
1236 1236
 					// Note the transition occurred.
1237
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1237
+					$this->get_parent_payment()->add_note($transition_note, false, false, true);
1238 1238
 
1239 1239
 					// Fire another hook.
1240
-					do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1241
-					do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1240
+					do_action('getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this);
1241
+					do_action('getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to']);
1242 1242
 
1243 1243
 				} else {
1244 1244
 					/* translators: %s: new invoice status */
1245
-					$transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1245
+					$transition_note = sprintf(__('Subscription status set to %s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['to']));
1246 1246
 
1247 1247
 					// Note the transition occurred.
1248
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1248
+					$this->get_parent_payment()->add_note($transition_note, false, false, true);
1249 1249
 
1250 1250
 				}
1251
-			} catch ( Exception $e ) {
1252
-				$this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1251
+			} catch (Exception $e) {
1252
+				$this->get_parent_payment()->add_note(__('Error during subscription status transition.', 'invoicing') . ' ' . $e->getMessage());
1253 1253
 			}
1254 1254
 		}
1255 1255
 
@@ -1275,7 +1275,7 @@  discard block
 block discarded – undo
1275 1275
 	 */
1276 1276
 	public function activate() {
1277 1277
 		$status = $this->has_trial_period() && 'trialling' === $this->get_status() ? 'trialling' : 'active';
1278
-		$this->set_status( $status );
1278
+		$this->set_status($status);
1279 1279
 		return $this->save();
1280 1280
 	}
1281 1281
 
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', 'subscription_date_change' );
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' );
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', 'subscription_date_change' );
27
+    protected $supports = array('subscription', 'sandbox', 'tokens', 'addons', 'single_subscription_group', 'multiple_subscription_groups', 'subscription_date_change');
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' );
468
+        wpinv_set_error('card_declined');
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/class-getpaid-daily-maintenance.php 2 patches
Indentation   +139 added lines, -139 removed lines patch added patch discarded remove patch
@@ -12,144 +12,144 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Daily_Maintenance {
14 14
 
15
-	/**
16
-	 * Class constructor.
17
-	 */
18
-	public function __construct() {
19
-
20
-		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
-
23
-		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
-
26
-		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
-
33
-	}
34
-
35
-	/**
36
-	 * Schedules a cron to run every day at 7 a.m
37
-	 *
38
-	 */
39
-	public function maybe_create_scheduled_event() {
40
-
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
-		}
45
-
46
-	}
47
-
48
-	/**
49
-	 * Clears deprecated events.
50
-	 *
51
-	 */
52
-	public function maybe_clear_deprecated_events() {
53
-
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
58
-		}
59
-
60
-	}
61
-
62
-	/**
63
-	 * Fires the old hook for backwards compatibility.
64
-	 *
65
-	 */
66
-	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
68
-	}
69
-
70
-	/**
71
-	 * Checks for subscriptions that are scheduled to renew.
72
-	 *
73
-	 */
74
-	public function check_renewing_subscriptions() {
75
-
76
-		// Fetch subscriptions that expire today.
77
-		$args  = array(
78
-			'number'             => -1,
79
-			'count_total'        => false,
80
-			'status'             => 'trialling active',
81
-			'date_expires_query' => array(
82
-				array(
83
-					'year'    => gmdate( 'Y' ),
84
-					'month'   => gmdate( 'n' ),
85
-					'day'     => gmdate( 'j' ),
86
-					'compare' => '=',
87
-				),
88
-			),
89
-		);
90
-
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
92
-
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
94
-
95
-			/** @var WPInv_Subscription $subscription */
96
-			if ( $subscription->is_last_renewal() ) {
97
-				$subscription->complete();
98
-			} else {
99
-				do_action( 'getpaid_should_renew_subscription', $subscription );
100
-			}
101
-		}
102
-
103
-	}
104
-
105
-	/**
106
-	 * Expires expired subscriptions.
107
-	 *
108
-	 */
109
-	public function maybe_expire_subscriptions() {
110
-
111
-		// Fetch expired subscriptions (skips those that expire today).
112
-		$args  = array(
113
-			'number'             => -1,
114
-			'count_total'        => false,
115
-			'status'             => 'trialling active failing cancelled',
116
-			'date_expires_query' => array(
117
-				'before'    => 'yesterday',
118
-				'inclusive' => false,
119
-			),
120
-		);
121
-
122
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
123
-
124
-		foreach ( $subscriptions->get_results() as $subscription ) {
125
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
126
-				$subscription->set_status( 'expired' );
127
-				$subscription->save();
128
-			}
129
-		}
130
-
131
-	}
132
-
133
-	/**
134
-	 * Logs cron runs.
135
-	 *
136
-	 */
137
-	public function log_cron_run() {
138
-		wpinv_error_log( 'GetPaid Daily Cron', false );
139
-	}
140
-
141
-	/**
142
-	 * Updates GeoIP databases.
143
-	 *
144
-	 */
145
-	public function maybe_update_geoip_databases() {
146
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
147
-
148
-		if ( false === $updated ) {
149
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
150
-			do_action( 'getpaid_update_geoip_databases' );
151
-		}
152
-
153
-	}
15
+    /**
16
+     * Class constructor.
17
+     */
18
+    public function __construct() {
19
+
20
+        // Clear deprecated events.
21
+        add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
22
+
23
+        // (Maybe) schedule a cron that runs daily.
24
+        add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
25
+
26
+        // Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
+        add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
+        add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
+        add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
+        add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
32
+
33
+    }
34
+
35
+    /**
36
+     * Schedules a cron to run every day at 7 a.m
37
+     *
38
+     */
39
+    public function maybe_create_scheduled_event() {
40
+
41
+        if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
+            $timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
+            wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
44
+        }
45
+
46
+    }
47
+
48
+    /**
49
+     * Clears deprecated events.
50
+     *
51
+     */
52
+    public function maybe_clear_deprecated_events() {
53
+
54
+        if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
+            wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
+            update_option( 'wpinv_cleared_old_events', 1 );
58
+        }
59
+
60
+    }
61
+
62
+    /**
63
+     * Fires the old hook for backwards compatibility.
64
+     *
65
+     */
66
+    public function backwards_compat() {
67
+        do_action( 'wpinv_register_schedule_event_daily' );
68
+    }
69
+
70
+    /**
71
+     * Checks for subscriptions that are scheduled to renew.
72
+     *
73
+     */
74
+    public function check_renewing_subscriptions() {
75
+
76
+        // Fetch subscriptions that expire today.
77
+        $args  = array(
78
+            'number'             => -1,
79
+            'count_total'        => false,
80
+            'status'             => 'trialling active',
81
+            'date_expires_query' => array(
82
+                array(
83
+                    'year'    => gmdate( 'Y' ),
84
+                    'month'   => gmdate( 'n' ),
85
+                    'day'     => gmdate( 'j' ),
86
+                    'compare' => '=',
87
+                ),
88
+            ),
89
+        );
90
+
91
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
92
+
93
+        foreach ( $subscriptions->get_results() as $subscription ) {
94
+
95
+            /** @var WPInv_Subscription $subscription */
96
+            if ( $subscription->is_last_renewal() ) {
97
+                $subscription->complete();
98
+            } else {
99
+                do_action( 'getpaid_should_renew_subscription', $subscription );
100
+            }
101
+        }
102
+
103
+    }
104
+
105
+    /**
106
+     * Expires expired subscriptions.
107
+     *
108
+     */
109
+    public function maybe_expire_subscriptions() {
110
+
111
+        // Fetch expired subscriptions (skips those that expire today).
112
+        $args  = array(
113
+            'number'             => -1,
114
+            'count_total'        => false,
115
+            'status'             => 'trialling active failing cancelled',
116
+            'date_expires_query' => array(
117
+                'before'    => 'yesterday',
118
+                'inclusive' => false,
119
+            ),
120
+        );
121
+
122
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
123
+
124
+        foreach ( $subscriptions->get_results() as $subscription ) {
125
+            if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
126
+                $subscription->set_status( 'expired' );
127
+                $subscription->save();
128
+            }
129
+        }
130
+
131
+    }
132
+
133
+    /**
134
+     * Logs cron runs.
135
+     *
136
+     */
137
+    public function log_cron_run() {
138
+        wpinv_error_log( 'GetPaid Daily Cron', false );
139
+    }
140
+
141
+    /**
142
+     * Updates GeoIP databases.
143
+     *
144
+     */
145
+    public function maybe_update_geoip_databases() {
146
+        $updated = get_transient( 'getpaid_updated_geoip_databases' );
147
+
148
+        if ( false === $updated ) {
149
+            set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
150
+            do_action( 'getpaid_update_geoip_databases' );
151
+        }
152
+
153
+    }
154 154
 
155 155
 }
Please login to merge, or discard this patch.
Spacing   +34 added lines, -34 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
  * Daily maintenance class.
@@ -18,17 +18,17 @@  discard block
 block discarded – undo
18 18
 	public function __construct() {
19 19
 
20 20
 		// Clear deprecated events.
21
-		add_action( 'wp', array( $this, 'maybe_clear_deprecated_events' ) );
21
+		add_action('wp', array($this, 'maybe_clear_deprecated_events'));
22 22
 
23 23
 		// (Maybe) schedule a cron that runs daily.
24
-		add_action( 'wp', array( $this, 'maybe_create_scheduled_event' ) );
24
+		add_action('wp', array($this, 'maybe_create_scheduled_event'));
25 25
 
26 26
 		// Fired everyday at 7 a.m (this might vary for sites with few visitors)
27
-		add_action( 'getpaid_daily_maintenance', array( $this, 'log_cron_run' ) );
28
-		add_action( 'getpaid_daily_maintenance', array( $this, 'backwards_compat' ) );
29
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_expire_subscriptions' ) );
30
-		add_action( 'getpaid_daily_maintenance', array( $this, 'check_renewing_subscriptions' ) );
31
-		add_action( 'getpaid_daily_maintenance', array( $this, 'maybe_update_geoip_databases' ) );
27
+		add_action('getpaid_daily_maintenance', array($this, 'log_cron_run'));
28
+		add_action('getpaid_daily_maintenance', array($this, 'backwards_compat'));
29
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_expire_subscriptions'));
30
+		add_action('getpaid_daily_maintenance', array($this, 'check_renewing_subscriptions'));
31
+		add_action('getpaid_daily_maintenance', array($this, 'maybe_update_geoip_databases'));
32 32
 
33 33
 	}
34 34
 
@@ -38,9 +38,9 @@  discard block
 block discarded – undo
38 38
 	 */
39 39
 	public function maybe_create_scheduled_event() {
40 40
 
41
-		if ( ! wp_next_scheduled( 'getpaid_daily_maintenance' ) ) {
42
-			$timestamp = strtotime( 'tomorrow 07:00:00', current_time( 'timestamp' ) );
43
-			wp_schedule_event( $timestamp, 'daily', 'getpaid_daily_maintenance' );
41
+		if (!wp_next_scheduled('getpaid_daily_maintenance')) {
42
+			$timestamp = strtotime('tomorrow 07:00:00', current_time('timestamp'));
43
+			wp_schedule_event($timestamp, 'daily', 'getpaid_daily_maintenance');
44 44
 		}
45 45
 
46 46
 	}
@@ -51,10 +51,10 @@  discard block
 block discarded – undo
51 51
 	 */
52 52
 	public function maybe_clear_deprecated_events() {
53 53
 
54
-		if ( ! get_option( 'wpinv_cleared_old_events' ) ) {
55
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' );
56
-			wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' );
57
-			update_option( 'wpinv_cleared_old_events', 1 );
54
+		if (!get_option('wpinv_cleared_old_events')) {
55
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_twicedaily');
56
+			wp_clear_scheduled_hook('wpinv_register_schedule_event_daily');
57
+			update_option('wpinv_cleared_old_events', 1);
58 58
 		}
59 59
 
60 60
 	}
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	 *
65 65
 	 */
66 66
 	public function backwards_compat() {
67
-		do_action( 'wpinv_register_schedule_event_daily' );
67
+		do_action('wpinv_register_schedule_event_daily');
68 68
 	}
69 69
 
70 70
 	/**
@@ -74,29 +74,29 @@  discard block
 block discarded – undo
74 74
 	public function check_renewing_subscriptions() {
75 75
 
76 76
 		// Fetch subscriptions that expire today.
77
-		$args  = array(
77
+		$args = array(
78 78
 			'number'             => -1,
79 79
 			'count_total'        => false,
80 80
 			'status'             => 'trialling active',
81 81
 			'date_expires_query' => array(
82 82
 				array(
83
-					'year'    => gmdate( 'Y' ),
84
-					'month'   => gmdate( 'n' ),
85
-					'day'     => gmdate( 'j' ),
83
+					'year'    => gmdate('Y'),
84
+					'month'   => gmdate('n'),
85
+					'day'     => gmdate('j'),
86 86
 					'compare' => '=',
87 87
 				),
88 88
 			),
89 89
 		);
90 90
 
91
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
91
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
92 92
 
93
-		foreach ( $subscriptions->get_results() as $subscription ) {
93
+		foreach ($subscriptions->get_results() as $subscription) {
94 94
 
95 95
 			/** @var WPInv_Subscription $subscription */
96
-			if ( $subscription->is_last_renewal() ) {
96
+			if ($subscription->is_last_renewal()) {
97 97
 				$subscription->complete();
98 98
 			} else {
99
-				do_action( 'getpaid_should_renew_subscription', $subscription );
99
+				do_action('getpaid_should_renew_subscription', $subscription);
100 100
 			}
101 101
 		}
102 102
 
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
 	public function maybe_expire_subscriptions() {
110 110
 
111 111
 		// Fetch expired subscriptions (skips those that expire today).
112
-		$args  = array(
112
+		$args = array(
113 113
 			'number'             => -1,
114 114
 			'count_total'        => false,
115 115
 			'status'             => 'trialling active failing cancelled',
@@ -119,11 +119,11 @@  discard block
 block discarded – undo
119 119
 			),
120 120
 		);
121 121
 
122
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
122
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
123 123
 
124
-		foreach ( $subscriptions->get_results() as $subscription ) {
125
-			if ( apply_filters( 'getpaid_daily_maintenance_should_expire_subscription', false, $subscription ) ) {
126
-				$subscription->set_status( 'expired' );
124
+		foreach ($subscriptions->get_results() as $subscription) {
125
+			if (apply_filters('getpaid_daily_maintenance_should_expire_subscription', false, $subscription)) {
126
+				$subscription->set_status('expired');
127 127
 				$subscription->save();
128 128
 			}
129 129
 		}
@@ -135,7 +135,7 @@  discard block
 block discarded – undo
135 135
 	 *
136 136
 	 */
137 137
 	public function log_cron_run() {
138
-		wpinv_error_log( 'GetPaid Daily Cron', false );
138
+		wpinv_error_log('GetPaid Daily Cron', false);
139 139
 	}
140 140
 
141 141
 	/**
@@ -143,11 +143,11 @@  discard block
 block discarded – undo
143 143
 	 *
144 144
 	 */
145 145
 	public function maybe_update_geoip_databases() {
146
-		$updated = get_transient( 'getpaid_updated_geoip_databases' );
146
+		$updated = get_transient('getpaid_updated_geoip_databases');
147 147
 
148
-		if ( false === $updated ) {
149
-			set_transient( 'getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS );
150
-			do_action( 'getpaid_update_geoip_databases' );
148
+		if (false === $updated) {
149
+			set_transient('getpaid_updated_geoip_databases', 1, 15 * DAY_IN_SECONDS);
150
+			do_action('getpaid_update_geoip_databases');
151 151
 		}
152 152
 
153 153
 	}
Please login to merge, or discard this patch.