Passed
Push — master ( cc4fca...f27c0a )
by Stiofan
05:46
created
includes/class-wpinv-item.php 2 patches
Indentation   +729 added lines, -729 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 /**
@@ -10,30 +10,30 @@  discard block
 block discarded – undo
10 10
 class WPInv_Item  extends GetPaid_Data {
11 11
 
12 12
     /**
13
-	 * Which data store to load.
14
-	 *
15
-	 * @var string
16
-	 */
13
+     * Which data store to load.
14
+     *
15
+     * @var string
16
+     */
17 17
     protected $data_store_name = 'item';
18 18
 
19 19
     /**
20
-	 * This is the name of this object type.
21
-	 *
22
-	 * @var string
23
-	 */
24
-	protected $object_type = 'item';
20
+     * This is the name of this object type.
21
+     *
22
+     * @var string
23
+     */
24
+    protected $object_type = 'item';
25 25
 
26 26
     /**
27
-	 * Item Data array. This is the core item data exposed in APIs.
28
-	 *
29
-	 * @since 1.0.19
30
-	 * @var array
31
-	 */
32
-	protected $data = array(
33
-		'parent_id'            => 0,
34
-		'status'               => 'draft',
35
-		'version'              => '',
36
-		'date_created'         => null,
27
+     * Item Data array. This is the core item data exposed in APIs.
28
+     *
29
+     * @since 1.0.19
30
+     * @var array
31
+     */
32
+    protected $data = array(
33
+        'parent_id'            => 0,
34
+        'status'               => 'draft',
35
+        'version'              => '',
36
+        'date_created'         => null,
37 37
         'date_modified'        => null,
38 38
         'name'                 => '',
39 39
         'description'          => '',
@@ -58,13 +58,13 @@  discard block
 block discarded – undo
58 58
     );
59 59
 
60 60
     /**
61
-	 * Stores meta in cache for future reads.
62
-	 *
63
-	 * A group must be set to to enable caching.
64
-	 *
65
-	 * @var string
66
-	 */
67
-	protected $cache_group = 'getpaid_items';
61
+     * Stores meta in cache for future reads.
62
+     *
63
+     * A group must be set to to enable caching.
64
+     *
65
+     * @var string
66
+     */
67
+    protected $cache_group = 'getpaid_items';
68 68
 
69 69
     /**
70 70
      * Stores a reference to the original WP_Post object
@@ -74,37 +74,37 @@  discard block
 block discarded – undo
74 74
     protected $post = null;
75 75
 
76 76
     /**
77
-	 * Get the item if ID is passed, otherwise the item is new and empty.
78
-	 *
79
-	 * @param  int|object|WPInv_Item|WP_Post $item Item to read.
80
-	 */
81
-	public function __construct( $item = 0 ) {
82
-		parent::__construct( $item );
83
-
84
-		if ( ! empty( $item ) && is_numeric( $item ) && 'wpi_item' == get_post_type( $item ) ) {
85
-			$this->set_id( $item );
86
-		} elseif ( $item instanceof self ) {
87
-			$this->set_id( $item->get_id() );
88
-		} elseif ( ! empty( $item->ID ) ) {
89
-			$this->set_id( $item->ID );
90
-		} elseif ( is_scalar( $item ) && $item_id = self::get_item_id_by_field( $item, 'custom_id' ) ) {
91
-			$this->set_id( $item_id );
92
-		} elseif ( is_scalar( $item ) && $item_id = self::get_item_id_by_field( $item, 'name' ) ) {
93
-			$this->set_id( $item_id );
94
-		} else {
95
-			$this->set_object_read( true );
96
-		}
77
+     * Get the item if ID is passed, otherwise the item is new and empty.
78
+     *
79
+     * @param  int|object|WPInv_Item|WP_Post $item Item to read.
80
+     */
81
+    public function __construct( $item = 0 ) {
82
+        parent::__construct( $item );
83
+
84
+        if ( ! empty( $item ) && is_numeric( $item ) && 'wpi_item' == get_post_type( $item ) ) {
85
+            $this->set_id( $item );
86
+        } elseif ( $item instanceof self ) {
87
+            $this->set_id( $item->get_id() );
88
+        } elseif ( ! empty( $item->ID ) ) {
89
+            $this->set_id( $item->ID );
90
+        } elseif ( is_scalar( $item ) && $item_id = self::get_item_id_by_field( $item, 'custom_id' ) ) {
91
+            $this->set_id( $item_id );
92
+        } elseif ( is_scalar( $item ) && $item_id = self::get_item_id_by_field( $item, 'name' ) ) {
93
+            $this->set_id( $item_id );
94
+        } else {
95
+            $this->set_object_read( true );
96
+        }
97 97
 
98 98
         // Load the datastore.
99
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
99
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
100 100
 
101
-		if ( $this->get_id() > 0 ) {
101
+        if ( $this->get_id() > 0 ) {
102 102
             $this->post = get_post( $this->get_id() );
103 103
             $this->ID   = $this->get_id();
104
-			$this->data_store->read( $this );
104
+            $this->data_store->read( $this );
105 105
         }
106 106
 
107
-	}
107
+    }
108 108
 
109 109
     /*
110 110
 	|--------------------------------------------------------------------------
@@ -122,401 +122,401 @@  discard block
 block discarded – undo
122 122
     */
123 123
 
124 124
     /**
125
-	 * Get parent item ID.
126
-	 *
127
-	 * @since 1.0.19
128
-	 * @param  string $context View or edit context.
129
-	 * @return int
130
-	 */
131
-	public function get_parent_id( $context = 'view' ) {
132
-		return (int) $this->get_prop( 'parent_id', $context );
125
+     * Get parent item ID.
126
+     *
127
+     * @since 1.0.19
128
+     * @param  string $context View or edit context.
129
+     * @return int
130
+     */
131
+    public function get_parent_id( $context = 'view' ) {
132
+        return (int) $this->get_prop( 'parent_id', $context );
133 133
     }
134 134
 
135 135
     /**
136
-	 * Get item status.
137
-	 *
138
-	 * @since 1.0.19
139
-	 * @param  string $context View or edit context.
140
-	 * @return string
141
-	 */
142
-	public function get_status( $context = 'view' ) {
143
-		return $this->get_prop( 'status', $context );
136
+     * Get item status.
137
+     *
138
+     * @since 1.0.19
139
+     * @param  string $context View or edit context.
140
+     * @return string
141
+     */
142
+    public function get_status( $context = 'view' ) {
143
+        return $this->get_prop( 'status', $context );
144 144
     }
145 145
 
146 146
     /**
147
-	 * Get plugin version when the item was created.
148
-	 *
149
-	 * @since 1.0.19
150
-	 * @param  string $context View or edit context.
151
-	 * @return string
152
-	 */
153
-	public function get_version( $context = 'view' ) {
154
-		return $this->get_prop( 'version', $context );
147
+     * Get plugin version when the item was created.
148
+     *
149
+     * @since 1.0.19
150
+     * @param  string $context View or edit context.
151
+     * @return string
152
+     */
153
+    public function get_version( $context = 'view' ) {
154
+        return $this->get_prop( 'version', $context );
155 155
     }
156 156
 
157 157
     /**
158
-	 * Get date when the item was created.
159
-	 *
160
-	 * @since 1.0.19
161
-	 * @param  string $context View or edit context.
162
-	 * @return string
163
-	 */
164
-	public function get_date_created( $context = 'view' ) {
165
-		return $this->get_prop( 'date_created', $context );
158
+     * Get date when the item was created.
159
+     *
160
+     * @since 1.0.19
161
+     * @param  string $context View or edit context.
162
+     * @return string
163
+     */
164
+    public function get_date_created( $context = 'view' ) {
165
+        return $this->get_prop( 'date_created', $context );
166 166
     }
167 167
 
168 168
     /**
169
-	 * Get GMT date when the item was created.
170
-	 *
171
-	 * @since 1.0.19
172
-	 * @param  string $context View or edit context.
173
-	 * @return string
174
-	 */
175
-	public function get_date_created_gmt( $context = 'view' ) {
169
+     * Get GMT date when the item was created.
170
+     *
171
+     * @since 1.0.19
172
+     * @param  string $context View or edit context.
173
+     * @return string
174
+     */
175
+    public function get_date_created_gmt( $context = 'view' ) {
176 176
         $date = $this->get_date_created( $context );
177 177
 
178 178
         if ( $date ) {
179 179
             $date = get_gmt_from_date( $date );
180 180
         }
181
-		return $date;
181
+        return $date;
182 182
     }
183 183
 
184 184
     /**
185
-	 * Get date when the item was last modified.
186
-	 *
187
-	 * @since 1.0.19
188
-	 * @param  string $context View or edit context.
189
-	 * @return string
190
-	 */
191
-	public function get_date_modified( $context = 'view' ) {
192
-		return $this->get_prop( 'date_modified', $context );
185
+     * Get date when the item was last modified.
186
+     *
187
+     * @since 1.0.19
188
+     * @param  string $context View or edit context.
189
+     * @return string
190
+     */
191
+    public function get_date_modified( $context = 'view' ) {
192
+        return $this->get_prop( 'date_modified', $context );
193 193
     }
194 194
 
195 195
     /**
196
-	 * Get GMT date when the item was last modified.
197
-	 *
198
-	 * @since 1.0.19
199
-	 * @param  string $context View or edit context.
200
-	 * @return string
201
-	 */
202
-	public function get_date_modified_gmt( $context = 'view' ) {
196
+     * Get GMT date when the item was last modified.
197
+     *
198
+     * @since 1.0.19
199
+     * @param  string $context View or edit context.
200
+     * @return string
201
+     */
202
+    public function get_date_modified_gmt( $context = 'view' ) {
203 203
         $date = $this->get_date_modified( $context );
204 204
 
205 205
         if ( $date ) {
206 206
             $date = get_gmt_from_date( $date );
207 207
         }
208
-		return $date;
208
+        return $date;
209 209
     }
210 210
 
211 211
     /**
212
-	 * Get the item name.
213
-	 *
214
-	 * @since 1.0.19
215
-	 * @param  string $context View or edit context.
216
-	 * @return string
217
-	 */
218
-	public function get_name( $context = 'view' ) {
219
-		return $this->get_prop( 'name', $context );
212
+     * Get the item name.
213
+     *
214
+     * @since 1.0.19
215
+     * @param  string $context View or edit context.
216
+     * @return string
217
+     */
218
+    public function get_name( $context = 'view' ) {
219
+        return $this->get_prop( 'name', $context );
220 220
     }
221 221
 
222 222
     /**
223
-	 * Alias of self::get_name().
224
-	 *
225
-	 * @since 1.0.19
226
-	 * @param  string $context View or edit context.
227
-	 * @return string
228
-	 */
229
-	public function get_title( $context = 'view' ) {
230
-		return $this->get_name( $context );
223
+     * Alias of self::get_name().
224
+     *
225
+     * @since 1.0.19
226
+     * @param  string $context View or edit context.
227
+     * @return string
228
+     */
229
+    public function get_title( $context = 'view' ) {
230
+        return $this->get_name( $context );
231 231
     }
232 232
 
233 233
     /**
234
-	 * Get the item description.
235
-	 *
236
-	 * @since 1.0.19
237
-	 * @param  string $context View or edit context.
238
-	 * @return string
239
-	 */
240
-	public function get_description( $context = 'view' ) {
241
-		return $this->get_prop( 'description', $context );
234
+     * Get the item description.
235
+     *
236
+     * @since 1.0.19
237
+     * @param  string $context View or edit context.
238
+     * @return string
239
+     */
240
+    public function get_description( $context = 'view' ) {
241
+        return $this->get_prop( 'description', $context );
242 242
     }
243 243
 
244 244
     /**
245
-	 * Alias of self::get_description().
246
-	 *
247
-	 * @since 1.0.19
248
-	 * @param  string $context View or edit context.
249
-	 * @return string
250
-	 */
251
-	public function get_excerpt( $context = 'view' ) {
252
-		return $this->get_description( $context );
245
+     * Alias of self::get_description().
246
+     *
247
+     * @since 1.0.19
248
+     * @param  string $context View or edit context.
249
+     * @return string
250
+     */
251
+    public function get_excerpt( $context = 'view' ) {
252
+        return $this->get_description( $context );
253 253
     }
254 254
 
255 255
     /**
256
-	 * Alias of self::get_description().
257
-	 *
258
-	 * @since 1.0.19
259
-	 * @param  string $context View or edit context.
260
-	 * @return string
261
-	 */
262
-	public function get_summary( $context = 'view' ) {
263
-		return $this->get_description( $context );
256
+     * Alias of self::get_description().
257
+     *
258
+     * @since 1.0.19
259
+     * @param  string $context View or edit context.
260
+     * @return string
261
+     */
262
+    public function get_summary( $context = 'view' ) {
263
+        return $this->get_description( $context );
264 264
     }
265 265
 
266 266
     /**
267
-	 * Get the owner of the item.
268
-	 *
269
-	 * @since 1.0.19
270
-	 * @param  string $context View or edit context.
271
-	 * @return int
272
-	 */
273
-	public function get_author( $context = 'view' ) {
274
-		return (int) $this->get_prop( 'author', $context );
275
-	}
267
+     * Get the owner of the item.
268
+     *
269
+     * @since 1.0.19
270
+     * @param  string $context View or edit context.
271
+     * @return int
272
+     */
273
+    public function get_author( $context = 'view' ) {
274
+        return (int) $this->get_prop( 'author', $context );
275
+    }
276 276
 
277
-	/**
278
-	 * Alias of self::get_author().
279
-	 *
280
-	 * @since 1.0.19
281
-	 * @param  string $context View or edit context.
282
-	 * @return int
283
-	 */
284
-	public function get_owner( $context = 'view' ) {
285
-		return $this->get_author( $context );
277
+    /**
278
+     * Alias of self::get_author().
279
+     *
280
+     * @since 1.0.19
281
+     * @param  string $context View or edit context.
282
+     * @return int
283
+     */
284
+    public function get_owner( $context = 'view' ) {
285
+        return $this->get_author( $context );
286 286
     }
287 287
 
288 288
     /**
289
-	 * Get the price of the item.
290
-	 *
291
-	 * @since 1.0.19
292
-	 * @param  string $context View or edit context.
293
-	 * @return float
294
-	 */
295
-	public function get_price( $context = 'view' ) {
289
+     * Get the price of the item.
290
+     *
291
+     * @since 1.0.19
292
+     * @param  string $context View or edit context.
293
+     * @return float
294
+     */
295
+    public function get_price( $context = 'view' ) {
296 296
         return wpinv_sanitize_amount( $this->get_prop( 'price', $context ) );
297
-	}
297
+    }
298 298
 
299
-	/**
300
-	 * Get the inital price of the item.
301
-	 *
302
-	 * @since 1.0.19
303
-	 * @param  string $context View or edit context.
304
-	 * @return float
305
-	 */
306
-	public function get_initial_price( $context = 'view' ) {
299
+    /**
300
+     * Get the inital price of the item.
301
+     *
302
+     * @since 1.0.19
303
+     * @param  string $context View or edit context.
304
+     * @return float
305
+     */
306
+    public function get_initial_price( $context = 'view' ) {
307 307
 
308
-		$price = (float) $this->get_price( $context );
308
+        $price = (float) $this->get_price( $context );
309 309
 
310
-		if ( $this->has_free_trial() ) {
311
-			$price = 0;
312
-		}
310
+        if ( $this->has_free_trial() ) {
311
+            $price = 0;
312
+        }
313 313
 
314 314
         return wpinv_sanitize_amount( apply_filters( 'wpinv_get_initial_item_price', $price, $this ) );
315 315
     }
316 316
 
317 317
     /**
318
-	 * Returns a formated price.
319
-	 *
320
-	 * @since 1.0.19
321
-	 * @param  string $context View or edit context.
322
-	 * @return string
323
-	 */
318
+     * Returns a formated price.
319
+     *
320
+     * @since 1.0.19
321
+     * @param  string $context View or edit context.
322
+     * @return string
323
+     */
324 324
     public function get_the_price() {
325 325
         return wpinv_price( $this->get_price() );
326
-	}
327
-
328
-	/**
329
-	 * Returns the formated initial price.
330
-	 *
331
-	 * @since 1.0.19
332
-	 * @param  string $context View or edit context.
333
-	 * @return string
334
-	 */
326
+    }
327
+
328
+    /**
329
+     * Returns the formated initial price.
330
+     *
331
+     * @since 1.0.19
332
+     * @param  string $context View or edit context.
333
+     * @return string
334
+     */
335 335
     public function get_the_initial_price() {
336 336
         return wpinv_price( $this->get_initial_price() );
337 337
     }
338 338
 
339 339
     /**
340
-	 * Get the VAT rule of the item.
341
-	 *
342
-	 * @since 1.0.19
343
-	 * @param  string $context View or edit context.
344
-	 * @return string
345
-	 */
346
-	public function get_vat_rule( $context = 'view' ) {
340
+     * Get the VAT rule of the item.
341
+     *
342
+     * @since 1.0.19
343
+     * @param  string $context View or edit context.
344
+     * @return string
345
+     */
346
+    public function get_vat_rule( $context = 'view' ) {
347 347
         return $this->get_prop( 'vat_rule', $context );
348 348
     }
349 349
 
350 350
     /**
351
-	 * Get the VAT class of the item.
352
-	 *
353
-	 * @since 1.0.19
354
-	 * @param  string $context View or edit context.
355
-	 * @return string
356
-	 */
357
-	public function get_vat_class( $context = 'view' ) {
351
+     * Get the VAT class of the item.
352
+     *
353
+     * @since 1.0.19
354
+     * @param  string $context View or edit context.
355
+     * @return string
356
+     */
357
+    public function get_vat_class( $context = 'view' ) {
358 358
         return $this->get_prop( 'vat_class', $context );
359 359
     }
360 360
 
361 361
     /**
362
-	 * Get the type of the item.
363
-	 *
364
-	 * @since 1.0.19
365
-	 * @param  string $context View or edit context.
366
-	 * @return string
367
-	 */
368
-	public function get_type( $context = 'view' ) {
362
+     * Get the type of the item.
363
+     *
364
+     * @since 1.0.19
365
+     * @param  string $context View or edit context.
366
+     * @return string
367
+     */
368
+    public function get_type( $context = 'view' ) {
369 369
         return $this->get_prop( 'type', $context );
370 370
     }
371 371
 
372 372
     /**
373
-	 * Get the custom id of the item.
374
-	 *
375
-	 * @since 1.0.19
376
-	 * @param  string $context View or edit context.
377
-	 * @return string
378
-	 */
379
-	public function get_custom_id( $context = 'view' ) {
373
+     * Get the custom id of the item.
374
+     *
375
+     * @since 1.0.19
376
+     * @param  string $context View or edit context.
377
+     * @return string
378
+     */
379
+    public function get_custom_id( $context = 'view' ) {
380 380
         return $this->get_prop( 'custom_id', $context );
381 381
     }
382 382
 
383 383
     /**
384
-	 * Get the custom name of the item.
385
-	 *
386
-	 * @since 1.0.19
387
-	 * @param  string $context View or edit context.
388
-	 * @return string
389
-	 */
390
-	public function get_custom_name( $context = 'view' ) {
384
+     * Get the custom name of the item.
385
+     *
386
+     * @since 1.0.19
387
+     * @param  string $context View or edit context.
388
+     * @return string
389
+     */
390
+    public function get_custom_name( $context = 'view' ) {
391 391
         return $this->get_prop( 'custom_name', $context );
392 392
     }
393 393
 
394 394
     /**
395
-	 * Get the custom singular name of the item.
396
-	 *
397
-	 * @since 1.0.19
398
-	 * @param  string $context View or edit context.
399
-	 * @return string
400
-	 */
401
-	public function get_custom_singular_name( $context = 'view' ) {
395
+     * Get the custom singular name of the item.
396
+     *
397
+     * @since 1.0.19
398
+     * @param  string $context View or edit context.
399
+     * @return string
400
+     */
401
+    public function get_custom_singular_name( $context = 'view' ) {
402 402
         return $this->get_prop( 'custom_singular_name', $context );
403 403
     }
404 404
 
405 405
     /**
406
-	 * Checks if an item is editable..
407
-	 *
408
-	 * @since 1.0.19
409
-	 * @param  string $context View or edit context.
410
-	 * @return int
411
-	 */
412
-	public function get_is_editable( $context = 'view' ) {
406
+     * Checks if an item is editable..
407
+     *
408
+     * @since 1.0.19
409
+     * @param  string $context View or edit context.
410
+     * @return int
411
+     */
412
+    public function get_is_editable( $context = 'view' ) {
413 413
         return (int) $this->get_prop( 'is_editable', $context );
414 414
     }
415 415
 
416 416
     /**
417
-	 * Alias of self::get_is_editable().
418
-	 *
419
-	 * @since 1.0.19
420
-	 * @param  string $context View or edit context.
421
-	 * @return int
422
-	 */
423
-	public function get_editable( $context = 'view' ) {
424
-		return $this->get_is_editable( $context );
417
+     * Alias of self::get_is_editable().
418
+     *
419
+     * @since 1.0.19
420
+     * @param  string $context View or edit context.
421
+     * @return int
422
+     */
423
+    public function get_editable( $context = 'view' ) {
424
+        return $this->get_is_editable( $context );
425 425
     }
426 426
 
427 427
     /**
428
-	 * Checks if dynamic pricing is enabled.
429
-	 *
430
-	 * @since 1.0.19
431
-	 * @param  string $context View or edit context.
432
-	 * @return int
433
-	 */
434
-	public function get_is_dynamic_pricing( $context = 'view' ) {
428
+     * Checks if dynamic pricing is enabled.
429
+     *
430
+     * @since 1.0.19
431
+     * @param  string $context View or edit context.
432
+     * @return int
433
+     */
434
+    public function get_is_dynamic_pricing( $context = 'view' ) {
435 435
         return (int) $this->get_prop( 'is_dynamic_pricing', $context );
436 436
     }
437 437
 
438 438
     /**
439
-	 * Returns the minimum price if dynamic pricing is enabled.
440
-	 *
441
-	 * @since 1.0.19
442
-	 * @param  string $context View or edit context.
443
-	 * @return float
444
-	 */
445
-	public function get_minimum_price( $context = 'view' ) {
439
+     * Returns the minimum price if dynamic pricing is enabled.
440
+     *
441
+     * @since 1.0.19
442
+     * @param  string $context View or edit context.
443
+     * @return float
444
+     */
445
+    public function get_minimum_price( $context = 'view' ) {
446 446
         return wpinv_sanitize_amount( $this->get_prop( 'minimum_price', $context ) );
447 447
     }
448 448
 
449 449
     /**
450
-	 * Checks if this is a recurring item.
451
-	 *
452
-	 * @since 1.0.19
453
-	 * @param  string $context View or edit context.
454
-	 * @return int
455
-	 */
456
-	public function get_is_recurring( $context = 'view' ) {
450
+     * Checks if this is a recurring item.
451
+     *
452
+     * @since 1.0.19
453
+     * @param  string $context View or edit context.
454
+     * @return int
455
+     */
456
+    public function get_is_recurring( $context = 'view' ) {
457 457
         return (int) $this->get_prop( 'is_recurring', $context );
458
-	}
459
-
460
-	/**
461
-	 * Get the recurring price of the item.
462
-	 *
463
-	 * @since 1.0.19
464
-	 * @param  string $context View or edit context.
465
-	 * @return float
466
-	 */
467
-	public function get_recurring_price( $context = 'view' ) {
468
-		$price = $this->get_price( $context );
458
+    }
459
+
460
+    /**
461
+     * Get the recurring price of the item.
462
+     *
463
+     * @since 1.0.19
464
+     * @param  string $context View or edit context.
465
+     * @return float
466
+     */
467
+    public function get_recurring_price( $context = 'view' ) {
468
+        $price = $this->get_price( $context );
469 469
         return wpinv_sanitize_amount( apply_filters( 'wpinv_get_recurring_item_price', $price, $this->ID ) );
470
-	}
471
-
472
-	/**
473
-	 * Get the formatted recurring price of the item.
474
-	 *
475
-	 * @since 1.0.19
476
-	 * @param  string $context View or edit context.
477
-	 * @return string
478
-	 */
470
+    }
471
+
472
+    /**
473
+     * Get the formatted recurring price of the item.
474
+     *
475
+     * @since 1.0.19
476
+     * @param  string $context View or edit context.
477
+     * @return string
478
+     */
479 479
     public function get_the_recurring_price() {
480 480
         return wpinv_price( $this->get_recurring_price() );
481
-	}
482
-
483
-	/**
484
-	 * Get the first renewal date (in timestamps) of the item.
485
-	 *
486
-	 * @since 1.0.19
487
-	 * @return int
488
-	 */
489
-	public function get_first_renewal_date() {
490
-
491
-		$periods = array(
492
-			'D' => 'days',
493
-			'W' => 'weeks',
494
-			'M' => 'months',
495
-			'Y' => 'years',
496
-		);
497
-
498
-		$period   = $this->get_recurring_period();
499
-		$interval = $this->get_recurring_interval();
500
-
501
-		if ( $this->has_free_trial() ) {
502
-			$period   = $this->get_trial_period();
503
-			$interval = $this->get_trial_interval();
504
-		}
505
-
506
-		$period       = $periods[ $period ];
507
-		$interval     = empty( $interval ) ? 1 : $interval;
508
-		$next_renewal = strtotime( "+$interval $period", current_time( 'timestamp' ) );
481
+    }
482
+
483
+    /**
484
+     * Get the first renewal date (in timestamps) of the item.
485
+     *
486
+     * @since 1.0.19
487
+     * @return int
488
+     */
489
+    public function get_first_renewal_date() {
490
+
491
+        $periods = array(
492
+            'D' => 'days',
493
+            'W' => 'weeks',
494
+            'M' => 'months',
495
+            'Y' => 'years',
496
+        );
497
+
498
+        $period   = $this->get_recurring_period();
499
+        $interval = $this->get_recurring_interval();
500
+
501
+        if ( $this->has_free_trial() ) {
502
+            $period   = $this->get_trial_period();
503
+            $interval = $this->get_trial_interval();
504
+        }
505
+
506
+        $period       = $periods[ $period ];
507
+        $interval     = empty( $interval ) ? 1 : $interval;
508
+        $next_renewal = strtotime( "+$interval $period", current_time( 'timestamp' ) );
509 509
         return apply_filters( 'wpinv_get_first_renewal_date', $next_renewal, $this );
510 510
     }
511 511
 
512 512
     /**
513
-	 * Get the recurring period.
514
-	 *
515
-	 * @since 1.0.19
516
-	 * @param  bool $full Return abbreviation or in full.
517
-	 * @return string
518
-	 */
519
-	public function get_recurring_period( $full = false ) {
513
+     * Get the recurring period.
514
+     *
515
+     * @since 1.0.19
516
+     * @param  bool $full Return abbreviation or in full.
517
+     * @return string
518
+     */
519
+    public function get_recurring_period( $full = false ) {
520 520
         $period = $this->get_prop( 'recurring_period', 'view' );
521 521
 
522 522
         if ( $full && ! is_bool( $full ) ) {
@@ -527,58 +527,58 @@  discard block
 block discarded – undo
527 527
     }
528 528
 
529 529
     /**
530
-	 * Get the recurring interval.
531
-	 *
532
-	 * @since 1.0.19
533
-	 * @param  string $context View or edit context.
534
-	 * @return int
535
-	 */
536
-	public function get_recurring_interval( $context = 'view' ) {
537
-		$interval = absint( $this->get_prop( 'recurring_interval', $context ) );
538
-		return max( 1, $interval );
530
+     * Get the recurring interval.
531
+     *
532
+     * @since 1.0.19
533
+     * @param  string $context View or edit context.
534
+     * @return int
535
+     */
536
+    public function get_recurring_interval( $context = 'view' ) {
537
+        $interval = absint( $this->get_prop( 'recurring_interval', $context ) );
538
+        return max( 1, $interval );
539 539
     }
540 540
 
541 541
     /**
542
-	 * Get the recurring limit.
543
-	 *
544
-	 * @since 1.0.19
545
-	 * @param  string $context View or edit context.
546
-	 * @return int
547
-	 */
548
-	public function get_recurring_limit( $context = 'view' ) {
542
+     * Get the recurring limit.
543
+     *
544
+     * @since 1.0.19
545
+     * @param  string $context View or edit context.
546
+     * @return int
547
+     */
548
+    public function get_recurring_limit( $context = 'view' ) {
549 549
         return (int) $this->get_prop( 'recurring_limit', $context );
550 550
     }
551 551
 
552 552
     /**
553
-	 * Checks if we have a free trial.
554
-	 *
555
-	 * @since 1.0.19
556
-	 * @param  string $context View or edit context.
557
-	 * @return int
558
-	 */
559
-	public function get_is_free_trial( $context = 'view' ) {
553
+     * Checks if we have a free trial.
554
+     *
555
+     * @since 1.0.19
556
+     * @param  string $context View or edit context.
557
+     * @return int
558
+     */
559
+    public function get_is_free_trial( $context = 'view' ) {
560 560
         return (int) $this->get_prop( 'is_free_trial', $context );
561 561
     }
562 562
 
563 563
     /**
564
-	 * Alias for self::get_is_free_trial().
565
-	 *
566
-	 * @since 1.0.19
567
-	 * @param  string $context View or edit context.
568
-	 * @return int
569
-	 */
570
-	public function get_free_trial( $context = 'view' ) {
564
+     * Alias for self::get_is_free_trial().
565
+     *
566
+     * @since 1.0.19
567
+     * @param  string $context View or edit context.
568
+     * @return int
569
+     */
570
+    public function get_free_trial( $context = 'view' ) {
571 571
         return $this->get_is_free_trial( $context );
572 572
     }
573 573
 
574 574
     /**
575
-	 * Get the trial period.
576
-	 *
577
-	 * @since 1.0.19
578
-	 * @param  bool $full Return abbreviation or in full.
579
-	 * @return string
580
-	 */
581
-	public function get_trial_period( $full = false ) {
575
+     * Get the trial period.
576
+     *
577
+     * @since 1.0.19
578
+     * @param  bool $full Return abbreviation or in full.
579
+     * @return string
580
+     */
581
+    public function get_trial_period( $full = false ) {
582 582
         $period = $this->get_prop( 'trial_period', 'view' );
583 583
 
584 584
         if ( $full && ! is_bool( $full ) ) {
@@ -589,104 +589,104 @@  discard block
 block discarded – undo
589 589
     }
590 590
 
591 591
     /**
592
-	 * Get the trial interval.
593
-	 *
594
-	 * @since 1.0.19
595
-	 * @param  string $context View or edit context.
596
-	 * @return int
597
-	 */
598
-	public function get_trial_interval( $context = 'view' ) {
592
+     * Get the trial interval.
593
+     *
594
+     * @since 1.0.19
595
+     * @param  string $context View or edit context.
596
+     * @return int
597
+     */
598
+    public function get_trial_interval( $context = 'view' ) {
599 599
         return (int) $this->get_prop( 'trial_interval', $context );
600
-	}
601
-
602
-	/**
603
-	 * Get the item's edit url.
604
-	 *
605
-	 * @since 1.0.19
606
-	 * @return string
607
-	 */
608
-	public function get_edit_url() {
600
+    }
601
+
602
+    /**
603
+     * Get the item's edit url.
604
+     *
605
+     * @since 1.0.19
606
+     * @return string
607
+     */
608
+    public function get_edit_url() {
609 609
         return get_edit_post_link( $this->get_id(), 'edit' );
610
-	}
611
-
612
-	/**
613
-	 * Given an item's name/custom id, it returns its id.
614
-	 *
615
-	 *
616
-	 * @static
617
-	 * @param string $value The item name or custom id.
618
-	 * @param string $field Either name or custom_id.
619
-	 * @param string $type in case you need to search for a given type.
620
-	 * @since 1.0.15
621
-	 * @return int
622
-	 */
623
-	public static function get_item_id_by_field( $value, $field = 'custom_id', $type = '' ) {
624
-
625
-		// Trim the value.
626
-		$value = sanitize_text_field( $value );
627
-		if ( empty( $value ) ) {
628
-			return 0;
629
-		}
610
+    }
611
+
612
+    /**
613
+     * Given an item's name/custom id, it returns its id.
614
+     *
615
+     *
616
+     * @static
617
+     * @param string $value The item name or custom id.
618
+     * @param string $field Either name or custom_id.
619
+     * @param string $type in case you need to search for a given type.
620
+     * @since 1.0.15
621
+     * @return int
622
+     */
623
+    public static function get_item_id_by_field( $value, $field = 'custom_id', $type = '' ) {
624
+
625
+        // Trim the value.
626
+        $value = sanitize_text_field( $value );
627
+        if ( empty( $value ) ) {
628
+            return 0;
629
+        }
630 630
 
631 631
         // Valid fields.
632 632
         $fields = array( 'custom_id', 'name', 'slug' );
633 633
 
634
-		// Ensure a field has been passed.
635
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
636
-			return 0;
637
-		}
638
-
639
-		if ( $field == 'name' ) {
640
-			$field = 'slug';
641
-		}
642
-
643
-		// Maybe retrieve from the cache.
644
-		$item_id = wp_cache_get( $value, "getpaid_{$type}_item_{$field}s_to_item_ids" );
645
-		if ( ! empty( $item_id ) ) {
646
-			return $item_id;
647
-		}
648
-
649
-		// Fetch from the db.
650
-		$items = array();
651
-		if ( $field == 'slug' ) {
652
-			$items = get_posts(
653
-				array(
654
-					'post_type'      => 'wpi_item',
655
-					'name'           => $value,
656
-					'posts_per_page' => 1,
657
-					'post_status'    => 'any',
658
-				)
659
-			);
660
-		}
661
-
662
-		if ( $field == 'custom_id' ) {
663
-			$items = get_posts(
664
-				array(
665
-					'post_type'      => 'wpi_item',
666
-					'posts_per_page' => 1,
667
-					'post_status'    => 'any',
668
-					'meta_query'     => array(
669
-						array(
670
-							'key'   => '_wpinv_type',
671
-                			'value' => $type,
672
-						),
673
-						array(
674
-							'key'   => '_wpinv_custom_id',
675
-                			'value' => $value,
676
-						),
677
-					),
678
-				)
679
-			);
680
-		}
681
-
682
-		if ( empty( $items ) ) {
683
-			return 0;
684
-		}
685
-
686
-		// Update the cache with our data
687
-		wp_cache_set( $value, $items[0]->ID, "getpaid_{$type}_item_{$field}s_to_item_ids" );
688
-
689
-		return $items[0]->ID;
634
+        // Ensure a field has been passed.
635
+        if ( empty( $field ) || ! in_array( $field, $fields ) ) {
636
+            return 0;
637
+        }
638
+
639
+        if ( $field == 'name' ) {
640
+            $field = 'slug';
641
+        }
642
+
643
+        // Maybe retrieve from the cache.
644
+        $item_id = wp_cache_get( $value, "getpaid_{$type}_item_{$field}s_to_item_ids" );
645
+        if ( ! empty( $item_id ) ) {
646
+            return $item_id;
647
+        }
648
+
649
+        // Fetch from the db.
650
+        $items = array();
651
+        if ( $field == 'slug' ) {
652
+            $items = get_posts(
653
+                array(
654
+                    'post_type'      => 'wpi_item',
655
+                    'name'           => $value,
656
+                    'posts_per_page' => 1,
657
+                    'post_status'    => 'any',
658
+                )
659
+            );
660
+        }
661
+
662
+        if ( $field == 'custom_id' ) {
663
+            $items = get_posts(
664
+                array(
665
+                    'post_type'      => 'wpi_item',
666
+                    'posts_per_page' => 1,
667
+                    'post_status'    => 'any',
668
+                    'meta_query'     => array(
669
+                        array(
670
+                            'key'   => '_wpinv_type',
671
+                            'value' => $type,
672
+                        ),
673
+                        array(
674
+                            'key'   => '_wpinv_custom_id',
675
+                            'value' => $value,
676
+                        ),
677
+                    ),
678
+                )
679
+            );
680
+        }
681
+
682
+        if ( empty( $items ) ) {
683
+            return 0;
684
+        }
685
+
686
+        // Update the cache with our data
687
+        wp_cache_set( $value, $items[0]->ID, "getpaid_{$type}_item_{$field}s_to_item_ids" );
688
+
689
+        return $items[0]->ID;
690 690
     }
691 691
 
692 692
     /**
@@ -719,52 +719,52 @@  discard block
 block discarded – undo
719 719
     */
720 720
 
721 721
     /**
722
-	 * Set parent order ID.
723
-	 *
724
-	 * @since 1.0.19
725
-	 */
726
-	public function set_parent_id( $value ) {
727
-		if ( $value && ( $value === $this->get_id() || ! get_post( $value ) ) ) {
728
-			return;
729
-		}
730
-		$this->set_prop( 'parent_id', absint( $value ) );
731
-	}
732
-
733
-    /**
734
-	 * Sets item status.
735
-	 *
736
-	 * @since 1.0.19
737
-	 * @param  string $status New status.
738
-	 * @return array details of change.
739
-	 */
740
-	public function set_status( $status ) {
722
+     * Set parent order ID.
723
+     *
724
+     * @since 1.0.19
725
+     */
726
+    public function set_parent_id( $value ) {
727
+        if ( $value && ( $value === $this->get_id() || ! get_post( $value ) ) ) {
728
+            return;
729
+        }
730
+        $this->set_prop( 'parent_id', absint( $value ) );
731
+    }
732
+
733
+    /**
734
+     * Sets item status.
735
+     *
736
+     * @since 1.0.19
737
+     * @param  string $status New status.
738
+     * @return array details of change.
739
+     */
740
+    public function set_status( $status ) {
741 741
         $old_status = $this->get_status();
742 742
 
743 743
         $this->set_prop( 'status', $status );
744 744
 
745
-		return array(
746
-			'from' => $old_status,
747
-			'to'   => $status,
748
-		);
745
+        return array(
746
+            'from' => $old_status,
747
+            'to'   => $status,
748
+        );
749 749
     }
750 750
 
751 751
     /**
752
-	 * Set plugin version when the item was created.
753
-	 *
754
-	 * @since 1.0.19
755
-	 */
756
-	public function set_version( $value ) {
757
-		$this->set_prop( 'version', $value );
752
+     * Set plugin version when the item was created.
753
+     *
754
+     * @since 1.0.19
755
+     */
756
+    public function set_version( $value ) {
757
+        $this->set_prop( 'version', $value );
758 758
     }
759 759
 
760 760
     /**
761
-	 * Set date when the item was created.
762
-	 *
763
-	 * @since 1.0.19
764
-	 * @param string $value Value to set.
761
+     * Set date when the item was created.
762
+     *
763
+     * @since 1.0.19
764
+     * @param string $value Value to set.
765 765
      * @return bool Whether or not the date was set.
766
-	 */
767
-	public function set_date_created( $value ) {
766
+     */
767
+    public function set_date_created( $value ) {
768 768
         $date = strtotime( $value );
769 769
 
770 770
         if ( $date ) {
@@ -777,13 +777,13 @@  discard block
 block discarded – undo
777 777
     }
778 778
 
779 779
     /**
780
-	 * Set date when the item was last modified.
781
-	 *
782
-	 * @since 1.0.19
783
-	 * @param string $value Value to set.
780
+     * Set date when the item was last modified.
781
+     *
782
+     * @since 1.0.19
783
+     * @param string $value Value to set.
784 784
      * @return bool Whether or not the date was set.
785
-	 */
786
-	public function set_date_modified( $value ) {
785
+     */
786
+    public function set_date_modified( $value ) {
787 787
         $date = strtotime( $value );
788 788
 
789 789
         if ( $date ) {
@@ -796,115 +796,115 @@  discard block
 block discarded – undo
796 796
     }
797 797
 
798 798
     /**
799
-	 * Set the item name.
800
-	 *
801
-	 * @since 1.0.19
802
-	 * @param  string $value New name.
803
-	 */
804
-	public function set_name( $value ) {
799
+     * Set the item name.
800
+     *
801
+     * @since 1.0.19
802
+     * @param  string $value New name.
803
+     */
804
+    public function set_name( $value ) {
805 805
         $name = sanitize_text_field( $value );
806
-		$this->set_prop( 'name', $name );
806
+        $this->set_prop( 'name', $name );
807 807
     }
808 808
 
809 809
     /**
810
-	 * Alias of self::set_name().
811
-	 *
812
-	 * @since 1.0.19
813
-	 * @param  string $value New name.
814
-	 */
815
-	public function set_title( $value ) {
816
-		$this->set_name( $value );
810
+     * Alias of self::set_name().
811
+     *
812
+     * @since 1.0.19
813
+     * @param  string $value New name.
814
+     */
815
+    public function set_title( $value ) {
816
+        $this->set_name( $value );
817 817
     }
818 818
 
819 819
     /**
820
-	 * Set the item description.
821
-	 *
822
-	 * @since 1.0.19
823
-	 * @param  string $value New description.
824
-	 */
825
-	public function set_description( $value ) {
826
-		$description = wp_kses_post( wp_unslash( $value ) );
827
-		return $this->set_prop( 'description', $description );
820
+     * Set the item description.
821
+     *
822
+     * @since 1.0.19
823
+     * @param  string $value New description.
824
+     */
825
+    public function set_description( $value ) {
826
+        $description = wp_kses_post( wp_unslash( $value ) );
827
+        return $this->set_prop( 'description', $description );
828 828
     }
829 829
 
830 830
     /**
831
-	 * Alias of self::set_description().
832
-	 *
833
-	 * @since 1.0.19
834
-	 * @param  string $value New description.
835
-	 */
836
-	public function set_excerpt( $value ) {
837
-		$this->set_description( $value );
831
+     * Alias of self::set_description().
832
+     *
833
+     * @since 1.0.19
834
+     * @param  string $value New description.
835
+     */
836
+    public function set_excerpt( $value ) {
837
+        $this->set_description( $value );
838 838
     }
839 839
 
840 840
     /**
841
-	 * Alias of self::set_description().
842
-	 *
843
-	 * @since 1.0.19
844
-	 * @param  string $value New description.
845
-	 */
846
-	public function set_summary( $value ) {
847
-		$this->set_description( $value );
841
+     * Alias of self::set_description().
842
+     *
843
+     * @since 1.0.19
844
+     * @param  string $value New description.
845
+     */
846
+    public function set_summary( $value ) {
847
+        $this->set_description( $value );
848 848
     }
849 849
 
850 850
     /**
851
-	 * Set the owner of the item.
852
-	 *
853
-	 * @since 1.0.19
854
-	 * @param  int $value New author.
855
-	 */
856
-	public function set_author( $value ) {
857
-		$this->set_prop( 'author', (int) $value );
858
-	}
851
+     * Set the owner of the item.
852
+     *
853
+     * @since 1.0.19
854
+     * @param  int $value New author.
855
+     */
856
+    public function set_author( $value ) {
857
+        $this->set_prop( 'author', (int) $value );
858
+    }
859 859
 
860
-	/**
861
-	 * Alias of self::set_author().
862
-	 *
863
-	 * @since 1.0.19
864
-	 * @param  int $value New author.
865
-	 */
866
-	public function set_owner( $value ) {
867
-		$this->set_author( $value );
860
+    /**
861
+     * Alias of self::set_author().
862
+     *
863
+     * @since 1.0.19
864
+     * @param  int $value New author.
865
+     */
866
+    public function set_owner( $value ) {
867
+        $this->set_author( $value );
868 868
     }
869 869
 
870 870
     /**
871
-	 * Set the price of the item.
872
-	 *
873
-	 * @since 1.0.19
874
-	 * @param  float $value New price.
875
-	 */
876
-	public function set_price( $value ) {
871
+     * Set the price of the item.
872
+     *
873
+     * @since 1.0.19
874
+     * @param  float $value New price.
875
+     */
876
+    public function set_price( $value ) {
877 877
         $this->set_prop( 'price', (float) wpinv_sanitize_amount( $value ) );
878 878
     }
879 879
 
880 880
     /**
881
-	 * Set the VAT rule of the item.
882
-	 *
883
-	 * @since 1.0.19
884
-	 * @param  string $value new rule.
885
-	 */
886
-	public function set_vat_rule( $value ) {
881
+     * Set the VAT rule of the item.
882
+     *
883
+     * @since 1.0.19
884
+     * @param  string $value new rule.
885
+     */
886
+    public function set_vat_rule( $value ) {
887 887
         $this->set_prop( 'vat_rule', $value );
888 888
     }
889 889
 
890 890
     /**
891
-	 * Set the VAT class of the item.
892
-	 *
893
-	 * @since 1.0.19
894
-	 * @param  string $value new class.
895
-	 */
896
-	public function set_vat_class( $value ) {
891
+     * Set the VAT class of the item.
892
+     *
893
+     * @since 1.0.19
894
+     * @param  string $value new class.
895
+     */
896
+    public function set_vat_class( $value ) {
897 897
         $this->set_prop( 'vat_class', $value );
898 898
     }
899 899
 
900 900
     /**
901
-	 * Set the type of the item.
902
-	 *
903
-	 * @since 1.0.19
904
-	 * @param  string $value new item type.
905
-	 * @return string
906
-	 */
907
-	public function set_type( $value ) {
901
+     * Set the type of the item.
902
+     *
903
+     * @since 1.0.19
904
+     * @param  string $value new item type.
905
+     * @return string
906
+     */
907
+    public function set_type( $value ) {
908 908
 
909 909
         if ( empty( $value ) ) {
910 910
             $value = 'custom';
@@ -914,132 +914,132 @@  discard block
 block discarded – undo
914 914
     }
915 915
 
916 916
     /**
917
-	 * Set the custom id of the item.
918
-	 *
919
-	 * @since 1.0.19
920
-	 * @param  string $value new custom id.
921
-	 */
922
-	public function set_custom_id( $value ) {
917
+     * Set the custom id of the item.
918
+     *
919
+     * @since 1.0.19
920
+     * @param  string $value new custom id.
921
+     */
922
+    public function set_custom_id( $value ) {
923 923
         $this->set_prop( 'custom_id', $value );
924 924
     }
925 925
 
926 926
     /**
927
-	 * Set the custom name of the item.
928
-	 *
929
-	 * @since 1.0.19
930
-	 * @param  string $value new custom name.
931
-	 */
932
-	public function set_custom_name( $value ) {
927
+     * Set the custom name of the item.
928
+     *
929
+     * @since 1.0.19
930
+     * @param  string $value new custom name.
931
+     */
932
+    public function set_custom_name( $value ) {
933 933
         $this->set_prop( 'custom_name', $value );
934 934
     }
935 935
 
936 936
     /**
937
-	 * Set the custom singular name of the item.
938
-	 *
939
-	 * @since 1.0.19
940
-	 * @param  string $value new custom singular name.
941
-	 */
942
-	public function set_custom_singular_name( $value ) {
937
+     * Set the custom singular name of the item.
938
+     *
939
+     * @since 1.0.19
940
+     * @param  string $value new custom singular name.
941
+     */
942
+    public function set_custom_singular_name( $value ) {
943 943
         $this->set_prop( 'custom_singular_name', $value );
944 944
     }
945 945
 
946 946
     /**
947
-	 * Sets if an item is editable..
948
-	 *
949
-	 * @since 1.0.19
950
-	 * @param  int|bool $value whether or not the item is editable.
951
-	 */
952
-	public function set_is_editable( $value ) {
953
-		$this->set_prop( 'is_editable', (int) $value );
947
+     * Sets if an item is editable..
948
+     *
949
+     * @since 1.0.19
950
+     * @param  int|bool $value whether or not the item is editable.
951
+     */
952
+    public function set_is_editable( $value ) {
953
+        $this->set_prop( 'is_editable', (int) $value );
954 954
     }
955 955
 
956 956
     /**
957
-	 * Sets if dynamic pricing is enabled.
958
-	 *
959
-	 * @since 1.0.19
960
-	 * @param  int|bool $value whether or not dynamic pricing is allowed.
961
-	 */
962
-	public function set_is_dynamic_pricing( $value ) {
957
+     * Sets if dynamic pricing is enabled.
958
+     *
959
+     * @since 1.0.19
960
+     * @param  int|bool $value whether or not dynamic pricing is allowed.
961
+     */
962
+    public function set_is_dynamic_pricing( $value ) {
963 963
         $this->set_prop( 'is_dynamic_pricing', (int) $value );
964 964
     }
965 965
 
966 966
     /**
967
-	 * Sets the minimum price if dynamic pricing is enabled.
968
-	 *
969
-	 * @since 1.0.19
970
-	 * @param  float $value minimum price.
971
-	 */
972
-	public function set_minimum_price( $value ) {
967
+     * Sets the minimum price if dynamic pricing is enabled.
968
+     *
969
+     * @since 1.0.19
970
+     * @param  float $value minimum price.
971
+     */
972
+    public function set_minimum_price( $value ) {
973 973
         $this->set_prop( 'minimum_price', (float) wpinv_sanitize_amount( $value ) );
974 974
     }
975 975
 
976 976
     /**
977
-	 * Sets if this is a recurring item.
978
-	 *
979
-	 * @since 1.0.19
980
-	 * @param  int|bool $value whether or not dynamic pricing is allowed.
981
-	 */
982
-	public function set_is_recurring( $value ) {
977
+     * Sets if this is a recurring item.
978
+     *
979
+     * @since 1.0.19
980
+     * @param  int|bool $value whether or not dynamic pricing is allowed.
981
+     */
982
+    public function set_is_recurring( $value ) {
983 983
         $this->set_prop( 'is_recurring', (int) $value );
984 984
     }
985 985
 
986 986
     /**
987
-	 * Set the recurring period.
988
-	 *
989
-	 * @since 1.0.19
990
-	 * @param  string $value new period.
991
-	 */
992
-	public function set_recurring_period( $value ) {
987
+     * Set the recurring period.
988
+     *
989
+     * @since 1.0.19
990
+     * @param  string $value new period.
991
+     */
992
+    public function set_recurring_period( $value ) {
993 993
         $this->set_prop( 'recurring_period', $value );
994 994
     }
995 995
 
996 996
     /**
997
-	 * Set the recurring interval.
998
-	 *
999
-	 * @since 1.0.19
1000
-	 * @param  int $value recurring interval.
1001
-	 */
1002
-	public function set_recurring_interval( $value ) {
997
+     * Set the recurring interval.
998
+     *
999
+     * @since 1.0.19
1000
+     * @param  int $value recurring interval.
1001
+     */
1002
+    public function set_recurring_interval( $value ) {
1003 1003
         return $this->set_prop( 'recurring_interval', (int) $value );
1004 1004
     }
1005 1005
 
1006 1006
     /**
1007
-	 * Get the recurring limit.
1008
-	 * @since 1.0.19
1009
-	 * @param  int $value The recurring limit.
1010
-	 * @return int
1011
-	 */
1012
-	public function set_recurring_limit( $value ) {
1007
+     * Get the recurring limit.
1008
+     * @since 1.0.19
1009
+     * @param  int $value The recurring limit.
1010
+     * @return int
1011
+     */
1012
+    public function set_recurring_limit( $value ) {
1013 1013
         $this->set_prop( 'recurring_limit', (int) $value );
1014 1014
     }
1015 1015
 
1016 1016
     /**
1017
-	 * Checks if we have a free trial.
1018
-	 *
1019
-	 * @since 1.0.19
1020
-	 * @param  int|bool $value whether or not it has a free trial.
1021
-	 */
1022
-	public function set_is_free_trial( $value ) {
1017
+     * Checks if we have a free trial.
1018
+     *
1019
+     * @since 1.0.19
1020
+     * @param  int|bool $value whether or not it has a free trial.
1021
+     */
1022
+    public function set_is_free_trial( $value ) {
1023 1023
         $this->set_prop( 'is_free_trial', (int) $value );
1024 1024
     }
1025 1025
 
1026 1026
     /**
1027
-	 * Set the trial period.
1028
-	 *
1029
-	 * @since 1.0.19
1030
-	 * @param  string $value trial period.
1031
-	 */
1032
-	public function set_trial_period( $value ) {
1027
+     * Set the trial period.
1028
+     *
1029
+     * @since 1.0.19
1030
+     * @param  string $value trial period.
1031
+     */
1032
+    public function set_trial_period( $value ) {
1033 1033
         $this->set_prop( 'trial_period', $value );
1034 1034
     }
1035 1035
 
1036 1036
     /**
1037
-	 * Set the trial interval.
1038
-	 *
1039
-	 * @since 1.0.19
1040
-	 * @param  int $value trial interval.
1041
-	 */
1042
-	public function set_trial_interval( $value ) {
1037
+     * Set the trial interval.
1038
+     *
1039
+     * @since 1.0.19
1040
+     * @param  int $value trial interval.
1041
+     */
1042
+    public function set_trial_interval( $value ) {
1043 1043
         $this->set_prop( 'trial_interval', $value );
1044 1044
     }
1045 1045
 
@@ -1047,17 +1047,17 @@  discard block
 block discarded – undo
1047 1047
      * Create an item. For backwards compatibilty.
1048 1048
      *
1049 1049
      * @deprecated
1050
-	 * @return int item id
1050
+     * @return int item id
1051 1051
      */
1052 1052
     public function create( $data = array() ) {
1053 1053
 
1054
-		// Set the properties.
1055
-		if ( is_array( $data ) ) {
1056
-			$this->set_props( $data );
1057
-		}
1054
+        // Set the properties.
1055
+        if ( is_array( $data ) ) {
1056
+            $this->set_props( $data );
1057
+        }
1058 1058
 
1059
-		// Save the item.
1060
-		return $this->save();
1059
+        // Save the item.
1060
+        return $this->save();
1061 1061
 
1062 1062
     }
1063 1063
 
@@ -1065,7 +1065,7 @@  discard block
 block discarded – undo
1065 1065
      * Updates an item. For backwards compatibilty.
1066 1066
      *
1067 1067
      * @deprecated
1068
-	 * @return int item id
1068
+     * @return int item id
1069 1069
      */
1070 1070
     public function update( $data = array() ) {
1071 1071
         return $this->create( $data );
@@ -1081,93 +1081,93 @@  discard block
 block discarded – undo
1081 1081
 	*/
1082 1082
 
1083 1083
     /**
1084
-	 * Checks whether the item has enabled dynamic pricing.
1085
-	 *
1086
-	 * @since 1.0.19
1087
-	 * @return bool
1088
-	 */
1089
-	public function user_can_set_their_price() {
1084
+     * Checks whether the item has enabled dynamic pricing.
1085
+     *
1086
+     * @since 1.0.19
1087
+     * @return bool
1088
+     */
1089
+    public function user_can_set_their_price() {
1090 1090
         return (bool) $this->get_is_dynamic_pricing();
1091
-	}
1092
-
1093
-	/**
1094
-	 * Checks whether the item is recurring.
1095
-	 *
1096
-	 * @since 1.0.19
1097
-	 * @return bool
1098
-	 */
1099
-	public function is_recurring() {
1091
+    }
1092
+
1093
+    /**
1094
+     * Checks whether the item is recurring.
1095
+     *
1096
+     * @since 1.0.19
1097
+     * @return bool
1098
+     */
1099
+    public function is_recurring() {
1100 1100
         return (bool) $this->get_is_recurring();
1101 1101
     }
1102 1102
 
1103 1103
     /**
1104
-	 * Checks whether the item has a free trial.
1105
-	 *
1106
-	 * @since 1.0.19
1107
-	 * @return bool
1108
-	 */
1104
+     * Checks whether the item has a free trial.
1105
+     *
1106
+     * @since 1.0.19
1107
+     * @return bool
1108
+     */
1109 1109
     public function has_free_trial() {
1110 1110
         $has_trial = $this->is_recurring() && (bool) $this->get_free_trial() ? true : false;
1111 1111
         return (bool) apply_filters( 'wpinv_item_has_free_trial', $has_trial, $this->ID, $this );
1112 1112
     }
1113 1113
 
1114 1114
     /**
1115
-	 * Checks whether the item is free.
1116
-	 *
1117
-	 * @since 1.0.19
1118
-	 * @return bool
1119
-	 */
1115
+     * Checks whether the item is free.
1116
+     *
1117
+     * @since 1.0.19
1118
+     * @return bool
1119
+     */
1120 1120
     public function is_free() {
1121 1121
         $is_free   = $this->get_price() == 0;
1122 1122
         return (bool) apply_filters( 'wpinv_is_free_item', $is_free, $this->ID, $this );
1123 1123
     }
1124 1124
 
1125 1125
     /**
1126
-	 * Checks the item status against a passed in status.
1127
-	 *
1128
-	 * @param array|string $status Status to check.
1129
-	 * @return bool
1130
-	 */
1131
-	public function has_status( $status ) {
1132
-		$has_status = ( is_array( $status ) && in_array( $this->get_status(), $status, true ) ) || $this->get_status() === $status;
1133
-		return (bool) apply_filters( 'getpaid_item_has_status', $has_status, $this, $status );
1126
+     * Checks the item status against a passed in status.
1127
+     *
1128
+     * @param array|string $status Status to check.
1129
+     * @return bool
1130
+     */
1131
+    public function has_status( $status ) {
1132
+        $has_status = ( is_array( $status ) && in_array( $this->get_status(), $status, true ) ) || $this->get_status() === $status;
1133
+        return (bool) apply_filters( 'getpaid_item_has_status', $has_status, $this, $status );
1134 1134
     }
1135 1135
 
1136 1136
     /**
1137
-	 * Checks the item type against a passed in types.
1138
-	 *
1139
-	 * @param array|string $type Type to check.
1140
-	 * @return bool
1141
-	 */
1142
-	public function is_type( $type ) {
1143
-		$is_type = ( is_array( $type ) && in_array( $this->get_type(), $type, true ) ) || $this->get_type() === $type;
1144
-		return (bool) apply_filters( 'getpaid_item_is_type', $is_type, $this, $type );
1145
-	}
1137
+     * Checks the item type against a passed in types.
1138
+     *
1139
+     * @param array|string $type Type to check.
1140
+     * @return bool
1141
+     */
1142
+    public function is_type( $type ) {
1143
+        $is_type = ( is_array( $type ) && in_array( $this->get_type(), $type, true ) ) || $this->get_type() === $type;
1144
+        return (bool) apply_filters( 'getpaid_item_is_type', $is_type, $this, $type );
1145
+    }
1146 1146
 
1147 1147
     /**
1148
-	 * Checks whether the item is editable.
1149
-	 *
1150
-	 * @since 1.0.19
1151
-	 * @return bool
1152
-	 */
1148
+     * Checks whether the item is editable.
1149
+     *
1150
+     * @since 1.0.19
1151
+     * @return bool
1152
+     */
1153 1153
     public function is_editable() {
1154 1154
         $is_editable = $this->get_is_editable();
1155 1155
         return (bool) apply_filters( 'wpinv_item_is_editable', $is_editable, $this->ID, $this );
1156
-	}
1156
+    }
1157 1157
 
1158
-	/**
1159
-	 * Returns an array of cart fees.
1160
-	 */
1161
-	public function get_fees() {
1158
+    /**
1159
+     * Returns an array of cart fees.
1160
+     */
1161
+    public function get_fees() {
1162 1162
         return array();
1163 1163
     }
1164 1164
 
1165 1165
     /**
1166
-	 * Checks whether the item is purchasable.
1167
-	 *
1168
-	 * @since 1.0.19
1169
-	 * @return bool
1170
-	 */
1166
+     * Checks whether the item is purchasable.
1167
+     *
1168
+     * @since 1.0.19
1169
+     * @return bool
1170
+     */
1171 1171
     public function can_purchase() {
1172 1172
         $can_purchase = $this->exists();
1173 1173
 
@@ -1179,11 +1179,11 @@  discard block
 block discarded – undo
1179 1179
     }
1180 1180
 
1181 1181
     /**
1182
-	 * Checks whether the item supports dynamic pricing.
1183
-	 *
1184
-	 * @since 1.0.19
1185
-	 * @return bool
1186
-	 */
1182
+     * Checks whether the item supports dynamic pricing.
1183
+     *
1184
+     * @since 1.0.19
1185
+     * @return bool
1186
+     */
1187 1187
     public function supports_dynamic_pricing() {
1188 1188
         return (bool) apply_filters( 'wpinv_item_supports_dynamic_pricing', true, $this );
1189 1189
     }
Please login to merge, or discard this patch.
Spacing   +211 added lines, -211 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -78,30 +78,30 @@  discard block
 block discarded – undo
78 78
 	 *
79 79
 	 * @param  int|object|WPInv_Item|WP_Post $item Item to read.
80 80
 	 */
81
-	public function __construct( $item = 0 ) {
82
-		parent::__construct( $item );
83
-
84
-		if ( ! empty( $item ) && is_numeric( $item ) && 'wpi_item' == get_post_type( $item ) ) {
85
-			$this->set_id( $item );
86
-		} elseif ( $item instanceof self ) {
87
-			$this->set_id( $item->get_id() );
88
-		} elseif ( ! empty( $item->ID ) ) {
89
-			$this->set_id( $item->ID );
90
-		} elseif ( is_scalar( $item ) && $item_id = self::get_item_id_by_field( $item, 'custom_id' ) ) {
91
-			$this->set_id( $item_id );
92
-		} elseif ( is_scalar( $item ) && $item_id = self::get_item_id_by_field( $item, 'name' ) ) {
93
-			$this->set_id( $item_id );
81
+	public function __construct($item = 0) {
82
+		parent::__construct($item);
83
+
84
+		if (!empty($item) && is_numeric($item) && 'wpi_item' == get_post_type($item)) {
85
+			$this->set_id($item);
86
+		} elseif ($item instanceof self) {
87
+			$this->set_id($item->get_id());
88
+		} elseif (!empty($item->ID)) {
89
+			$this->set_id($item->ID);
90
+		} elseif (is_scalar($item) && $item_id = self::get_item_id_by_field($item, 'custom_id')) {
91
+			$this->set_id($item_id);
92
+		} elseif (is_scalar($item) && $item_id = self::get_item_id_by_field($item, 'name')) {
93
+			$this->set_id($item_id);
94 94
 		} else {
95
-			$this->set_object_read( true );
95
+			$this->set_object_read(true);
96 96
 		}
97 97
 
98 98
         // Load the datastore.
99
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
99
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
100 100
 
101
-		if ( $this->get_id() > 0 ) {
102
-            $this->post = get_post( $this->get_id() );
101
+		if ($this->get_id() > 0) {
102
+            $this->post = get_post($this->get_id());
103 103
             $this->ID   = $this->get_id();
104
-			$this->data_store->read( $this );
104
+			$this->data_store->read($this);
105 105
         }
106 106
 
107 107
 	}
@@ -128,8 +128,8 @@  discard block
 block discarded – undo
128 128
 	 * @param  string $context View or edit context.
129 129
 	 * @return int
130 130
 	 */
131
-	public function get_parent_id( $context = 'view' ) {
132
-		return (int) $this->get_prop( 'parent_id', $context );
131
+	public function get_parent_id($context = 'view') {
132
+		return (int) $this->get_prop('parent_id', $context);
133 133
     }
134 134
 
135 135
     /**
@@ -139,8 +139,8 @@  discard block
 block discarded – undo
139 139
 	 * @param  string $context View or edit context.
140 140
 	 * @return string
141 141
 	 */
142
-	public function get_status( $context = 'view' ) {
143
-		return $this->get_prop( 'status', $context );
142
+	public function get_status($context = 'view') {
143
+		return $this->get_prop('status', $context);
144 144
     }
145 145
 
146 146
     /**
@@ -150,8 +150,8 @@  discard block
 block discarded – undo
150 150
 	 * @param  string $context View or edit context.
151 151
 	 * @return string
152 152
 	 */
153
-	public function get_version( $context = 'view' ) {
154
-		return $this->get_prop( 'version', $context );
153
+	public function get_version($context = 'view') {
154
+		return $this->get_prop('version', $context);
155 155
     }
156 156
 
157 157
     /**
@@ -161,8 +161,8 @@  discard block
 block discarded – undo
161 161
 	 * @param  string $context View or edit context.
162 162
 	 * @return string
163 163
 	 */
164
-	public function get_date_created( $context = 'view' ) {
165
-		return $this->get_prop( 'date_created', $context );
164
+	public function get_date_created($context = 'view') {
165
+		return $this->get_prop('date_created', $context);
166 166
     }
167 167
 
168 168
     /**
@@ -172,11 +172,11 @@  discard block
 block discarded – undo
172 172
 	 * @param  string $context View or edit context.
173 173
 	 * @return string
174 174
 	 */
175
-	public function get_date_created_gmt( $context = 'view' ) {
176
-        $date = $this->get_date_created( $context );
175
+	public function get_date_created_gmt($context = 'view') {
176
+        $date = $this->get_date_created($context);
177 177
 
178
-        if ( $date ) {
179
-            $date = get_gmt_from_date( $date );
178
+        if ($date) {
179
+            $date = get_gmt_from_date($date);
180 180
         }
181 181
 		return $date;
182 182
     }
@@ -188,8 +188,8 @@  discard block
 block discarded – undo
188 188
 	 * @param  string $context View or edit context.
189 189
 	 * @return string
190 190
 	 */
191
-	public function get_date_modified( $context = 'view' ) {
192
-		return $this->get_prop( 'date_modified', $context );
191
+	public function get_date_modified($context = 'view') {
192
+		return $this->get_prop('date_modified', $context);
193 193
     }
194 194
 
195 195
     /**
@@ -199,11 +199,11 @@  discard block
 block discarded – undo
199 199
 	 * @param  string $context View or edit context.
200 200
 	 * @return string
201 201
 	 */
202
-	public function get_date_modified_gmt( $context = 'view' ) {
203
-        $date = $this->get_date_modified( $context );
202
+	public function get_date_modified_gmt($context = 'view') {
203
+        $date = $this->get_date_modified($context);
204 204
 
205
-        if ( $date ) {
206
-            $date = get_gmt_from_date( $date );
205
+        if ($date) {
206
+            $date = get_gmt_from_date($date);
207 207
         }
208 208
 		return $date;
209 209
     }
@@ -215,8 +215,8 @@  discard block
 block discarded – undo
215 215
 	 * @param  string $context View or edit context.
216 216
 	 * @return string
217 217
 	 */
218
-	public function get_name( $context = 'view' ) {
219
-		return $this->get_prop( 'name', $context );
218
+	public function get_name($context = 'view') {
219
+		return $this->get_prop('name', $context);
220 220
     }
221 221
 
222 222
     /**
@@ -226,8 +226,8 @@  discard block
 block discarded – undo
226 226
 	 * @param  string $context View or edit context.
227 227
 	 * @return string
228 228
 	 */
229
-	public function get_title( $context = 'view' ) {
230
-		return $this->get_name( $context );
229
+	public function get_title($context = 'view') {
230
+		return $this->get_name($context);
231 231
     }
232 232
 
233 233
     /**
@@ -237,8 +237,8 @@  discard block
 block discarded – undo
237 237
 	 * @param  string $context View or edit context.
238 238
 	 * @return string
239 239
 	 */
240
-	public function get_description( $context = 'view' ) {
241
-		return $this->get_prop( 'description', $context );
240
+	public function get_description($context = 'view') {
241
+		return $this->get_prop('description', $context);
242 242
     }
243 243
 
244 244
     /**
@@ -248,8 +248,8 @@  discard block
 block discarded – undo
248 248
 	 * @param  string $context View or edit context.
249 249
 	 * @return string
250 250
 	 */
251
-	public function get_excerpt( $context = 'view' ) {
252
-		return $this->get_description( $context );
251
+	public function get_excerpt($context = 'view') {
252
+		return $this->get_description($context);
253 253
     }
254 254
 
255 255
     /**
@@ -259,8 +259,8 @@  discard block
 block discarded – undo
259 259
 	 * @param  string $context View or edit context.
260 260
 	 * @return string
261 261
 	 */
262
-	public function get_summary( $context = 'view' ) {
263
-		return $this->get_description( $context );
262
+	public function get_summary($context = 'view') {
263
+		return $this->get_description($context);
264 264
     }
265 265
 
266 266
     /**
@@ -270,8 +270,8 @@  discard block
 block discarded – undo
270 270
 	 * @param  string $context View or edit context.
271 271
 	 * @return int
272 272
 	 */
273
-	public function get_author( $context = 'view' ) {
274
-		return (int) $this->get_prop( 'author', $context );
273
+	public function get_author($context = 'view') {
274
+		return (int) $this->get_prop('author', $context);
275 275
 	}
276 276
 
277 277
 	/**
@@ -281,8 +281,8 @@  discard block
 block discarded – undo
281 281
 	 * @param  string $context View or edit context.
282 282
 	 * @return int
283 283
 	 */
284
-	public function get_owner( $context = 'view' ) {
285
-		return $this->get_author( $context );
284
+	public function get_owner($context = 'view') {
285
+		return $this->get_author($context);
286 286
     }
287 287
 
288 288
     /**
@@ -292,8 +292,8 @@  discard block
 block discarded – undo
292 292
 	 * @param  string $context View or edit context.
293 293
 	 * @return float
294 294
 	 */
295
-	public function get_price( $context = 'view' ) {
296
-        return wpinv_sanitize_amount( $this->get_prop( 'price', $context ) );
295
+	public function get_price($context = 'view') {
296
+        return wpinv_sanitize_amount($this->get_prop('price', $context));
297 297
 	}
298 298
 
299 299
 	/**
@@ -303,15 +303,15 @@  discard block
 block discarded – undo
303 303
 	 * @param  string $context View or edit context.
304 304
 	 * @return float
305 305
 	 */
306
-	public function get_initial_price( $context = 'view' ) {
306
+	public function get_initial_price($context = 'view') {
307 307
 
308
-		$price = (float) $this->get_price( $context );
308
+		$price = (float) $this->get_price($context);
309 309
 
310
-		if ( $this->has_free_trial() ) {
310
+		if ($this->has_free_trial()) {
311 311
 			$price = 0;
312 312
 		}
313 313
 
314
-        return wpinv_sanitize_amount( apply_filters( 'wpinv_get_initial_item_price', $price, $this ) );
314
+        return wpinv_sanitize_amount(apply_filters('wpinv_get_initial_item_price', $price, $this));
315 315
     }
316 316
 
317 317
     /**
@@ -322,7 +322,7 @@  discard block
 block discarded – undo
322 322
 	 * @return string
323 323
 	 */
324 324
     public function get_the_price() {
325
-        return wpinv_price( $this->get_price() );
325
+        return wpinv_price($this->get_price());
326 326
 	}
327 327
 
328 328
 	/**
@@ -333,7 +333,7 @@  discard block
 block discarded – undo
333 333
 	 * @return string
334 334
 	 */
335 335
     public function get_the_initial_price() {
336
-        return wpinv_price( $this->get_initial_price() );
336
+        return wpinv_price($this->get_initial_price());
337 337
     }
338 338
 
339 339
     /**
@@ -343,8 +343,8 @@  discard block
 block discarded – undo
343 343
 	 * @param  string $context View or edit context.
344 344
 	 * @return string
345 345
 	 */
346
-	public function get_vat_rule( $context = 'view' ) {
347
-        return $this->get_prop( 'vat_rule', $context );
346
+	public function get_vat_rule($context = 'view') {
347
+        return $this->get_prop('vat_rule', $context);
348 348
     }
349 349
 
350 350
     /**
@@ -354,8 +354,8 @@  discard block
 block discarded – undo
354 354
 	 * @param  string $context View or edit context.
355 355
 	 * @return string
356 356
 	 */
357
-	public function get_vat_class( $context = 'view' ) {
358
-        return $this->get_prop( 'vat_class', $context );
357
+	public function get_vat_class($context = 'view') {
358
+        return $this->get_prop('vat_class', $context);
359 359
     }
360 360
 
361 361
     /**
@@ -365,8 +365,8 @@  discard block
 block discarded – undo
365 365
 	 * @param  string $context View or edit context.
366 366
 	 * @return string
367 367
 	 */
368
-	public function get_type( $context = 'view' ) {
369
-        return $this->get_prop( 'type', $context );
368
+	public function get_type($context = 'view') {
369
+        return $this->get_prop('type', $context);
370 370
     }
371 371
 
372 372
     /**
@@ -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_custom_id( $context = 'view' ) {
380
-        return $this->get_prop( 'custom_id', $context );
379
+	public function get_custom_id($context = 'view') {
380
+        return $this->get_prop('custom_id', $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_custom_name( $context = 'view' ) {
391
-        return $this->get_prop( 'custom_name', $context );
390
+	public function get_custom_name($context = 'view') {
391
+        return $this->get_prop('custom_name', $context);
392 392
     }
393 393
 
394 394
     /**
@@ -398,8 +398,8 @@  discard block
 block discarded – undo
398 398
 	 * @param  string $context View or edit context.
399 399
 	 * @return string
400 400
 	 */
401
-	public function get_custom_singular_name( $context = 'view' ) {
402
-        return $this->get_prop( 'custom_singular_name', $context );
401
+	public function get_custom_singular_name($context = 'view') {
402
+        return $this->get_prop('custom_singular_name', $context);
403 403
     }
404 404
 
405 405
     /**
@@ -409,8 +409,8 @@  discard block
 block discarded – undo
409 409
 	 * @param  string $context View or edit context.
410 410
 	 * @return int
411 411
 	 */
412
-	public function get_is_editable( $context = 'view' ) {
413
-        return (int) $this->get_prop( 'is_editable', $context );
412
+	public function get_is_editable($context = 'view') {
413
+        return (int) $this->get_prop('is_editable', $context);
414 414
     }
415 415
 
416 416
     /**
@@ -420,8 +420,8 @@  discard block
 block discarded – undo
420 420
 	 * @param  string $context View or edit context.
421 421
 	 * @return int
422 422
 	 */
423
-	public function get_editable( $context = 'view' ) {
424
-		return $this->get_is_editable( $context );
423
+	public function get_editable($context = 'view') {
424
+		return $this->get_is_editable($context);
425 425
     }
426 426
 
427 427
     /**
@@ -431,8 +431,8 @@  discard block
 block discarded – undo
431 431
 	 * @param  string $context View or edit context.
432 432
 	 * @return int
433 433
 	 */
434
-	public function get_is_dynamic_pricing( $context = 'view' ) {
435
-        return (int) $this->get_prop( 'is_dynamic_pricing', $context );
434
+	public function get_is_dynamic_pricing($context = 'view') {
435
+        return (int) $this->get_prop('is_dynamic_pricing', $context);
436 436
     }
437 437
 
438 438
     /**
@@ -442,8 +442,8 @@  discard block
 block discarded – undo
442 442
 	 * @param  string $context View or edit context.
443 443
 	 * @return float
444 444
 	 */
445
-	public function get_minimum_price( $context = 'view' ) {
446
-        return wpinv_sanitize_amount( $this->get_prop( 'minimum_price', $context ) );
445
+	public function get_minimum_price($context = 'view') {
446
+        return wpinv_sanitize_amount($this->get_prop('minimum_price', $context));
447 447
     }
448 448
 
449 449
     /**
@@ -453,8 +453,8 @@  discard block
 block discarded – undo
453 453
 	 * @param  string $context View or edit context.
454 454
 	 * @return int
455 455
 	 */
456
-	public function get_is_recurring( $context = 'view' ) {
457
-        return (int) $this->get_prop( 'is_recurring', $context );
456
+	public function get_is_recurring($context = 'view') {
457
+        return (int) $this->get_prop('is_recurring', $context);
458 458
 	}
459 459
 
460 460
 	/**
@@ -464,9 +464,9 @@  discard block
 block discarded – undo
464 464
 	 * @param  string $context View or edit context.
465 465
 	 * @return float
466 466
 	 */
467
-	public function get_recurring_price( $context = 'view' ) {
468
-		$price = $this->get_price( $context );
469
-        return wpinv_sanitize_amount( apply_filters( 'wpinv_get_recurring_item_price', $price, $this->ID ) );
467
+	public function get_recurring_price($context = 'view') {
468
+		$price = $this->get_price($context);
469
+        return wpinv_sanitize_amount(apply_filters('wpinv_get_recurring_item_price', $price, $this->ID));
470 470
 	}
471 471
 
472 472
 	/**
@@ -477,7 +477,7 @@  discard block
 block discarded – undo
477 477
 	 * @return string
478 478
 	 */
479 479
     public function get_the_recurring_price() {
480
-        return wpinv_price( $this->get_recurring_price() );
480
+        return wpinv_price($this->get_recurring_price());
481 481
 	}
482 482
 
483 483
 	/**
@@ -498,15 +498,15 @@  discard block
 block discarded – undo
498 498
 		$period   = $this->get_recurring_period();
499 499
 		$interval = $this->get_recurring_interval();
500 500
 
501
-		if ( $this->has_free_trial() ) {
501
+		if ($this->has_free_trial()) {
502 502
 			$period   = $this->get_trial_period();
503 503
 			$interval = $this->get_trial_interval();
504 504
 		}
505 505
 
506
-		$period       = $periods[ $period ];
507
-		$interval     = empty( $interval ) ? 1 : $interval;
508
-		$next_renewal = strtotime( "+$interval $period", current_time( 'timestamp' ) );
509
-        return apply_filters( 'wpinv_get_first_renewal_date', $next_renewal, $this );
506
+		$period       = $periods[$period];
507
+		$interval     = empty($interval) ? 1 : $interval;
508
+		$next_renewal = strtotime("+$interval $period", current_time('timestamp'));
509
+        return apply_filters('wpinv_get_first_renewal_date', $next_renewal, $this);
510 510
     }
511 511
 
512 512
     /**
@@ -516,14 +516,14 @@  discard block
 block discarded – undo
516 516
 	 * @param  bool $full Return abbreviation or in full.
517 517
 	 * @return string
518 518
 	 */
519
-	public function get_recurring_period( $full = false ) {
520
-        $period = $this->get_prop( 'recurring_period', 'view' );
519
+	public function get_recurring_period($full = false) {
520
+        $period = $this->get_prop('recurring_period', 'view');
521 521
 
522
-        if ( $full && ! is_bool( $full ) ) {
522
+        if ($full && !is_bool($full)) {
523 523
             $full = false;
524 524
         }
525 525
 
526
-        return getpaid_sanitize_recurring_period( $period, $full );
526
+        return getpaid_sanitize_recurring_period($period, $full);
527 527
     }
528 528
 
529 529
     /**
@@ -533,9 +533,9 @@  discard block
 block discarded – undo
533 533
 	 * @param  string $context View or edit context.
534 534
 	 * @return int
535 535
 	 */
536
-	public function get_recurring_interval( $context = 'view' ) {
537
-		$interval = absint( $this->get_prop( 'recurring_interval', $context ) );
538
-		return max( 1, $interval );
536
+	public function get_recurring_interval($context = 'view') {
537
+		$interval = absint($this->get_prop('recurring_interval', $context));
538
+		return max(1, $interval);
539 539
     }
540 540
 
541 541
     /**
@@ -545,8 +545,8 @@  discard block
 block discarded – undo
545 545
 	 * @param  string $context View or edit context.
546 546
 	 * @return int
547 547
 	 */
548
-	public function get_recurring_limit( $context = 'view' ) {
549
-        return (int) $this->get_prop( 'recurring_limit', $context );
548
+	public function get_recurring_limit($context = 'view') {
549
+        return (int) $this->get_prop('recurring_limit', $context);
550 550
     }
551 551
 
552 552
     /**
@@ -556,8 +556,8 @@  discard block
 block discarded – undo
556 556
 	 * @param  string $context View or edit context.
557 557
 	 * @return int
558 558
 	 */
559
-	public function get_is_free_trial( $context = 'view' ) {
560
-        return (int) $this->get_prop( 'is_free_trial', $context );
559
+	public function get_is_free_trial($context = 'view') {
560
+        return (int) $this->get_prop('is_free_trial', $context);
561 561
     }
562 562
 
563 563
     /**
@@ -567,8 +567,8 @@  discard block
 block discarded – undo
567 567
 	 * @param  string $context View or edit context.
568 568
 	 * @return int
569 569
 	 */
570
-	public function get_free_trial( $context = 'view' ) {
571
-        return $this->get_is_free_trial( $context );
570
+	public function get_free_trial($context = 'view') {
571
+        return $this->get_is_free_trial($context);
572 572
     }
573 573
 
574 574
     /**
@@ -578,14 +578,14 @@  discard block
 block discarded – undo
578 578
 	 * @param  bool $full Return abbreviation or in full.
579 579
 	 * @return string
580 580
 	 */
581
-	public function get_trial_period( $full = false ) {
582
-        $period = $this->get_prop( 'trial_period', 'view' );
581
+	public function get_trial_period($full = false) {
582
+        $period = $this->get_prop('trial_period', 'view');
583 583
 
584
-        if ( $full && ! is_bool( $full ) ) {
584
+        if ($full && !is_bool($full)) {
585 585
             $full = false;
586 586
         }
587 587
 
588
-        return getpaid_sanitize_recurring_period( $period, $full );
588
+        return getpaid_sanitize_recurring_period($period, $full);
589 589
     }
590 590
 
591 591
     /**
@@ -595,8 +595,8 @@  discard block
 block discarded – undo
595 595
 	 * @param  string $context View or edit context.
596 596
 	 * @return int
597 597
 	 */
598
-	public function get_trial_interval( $context = 'view' ) {
599
-        return (int) $this->get_prop( 'trial_interval', $context );
598
+	public function get_trial_interval($context = 'view') {
599
+        return (int) $this->get_prop('trial_interval', $context);
600 600
 	}
601 601
 
602 602
 	/**
@@ -606,7 +606,7 @@  discard block
 block discarded – undo
606 606
 	 * @return string
607 607
 	 */
608 608
 	public function get_edit_url() {
609
-        return get_edit_post_link( $this->get_id(), 'edit' );
609
+        return get_edit_post_link($this->get_id(), 'edit');
610 610
 	}
611 611
 
612 612
 	/**
@@ -620,35 +620,35 @@  discard block
 block discarded – undo
620 620
 	 * @since 1.0.15
621 621
 	 * @return int
622 622
 	 */
623
-	public static function get_item_id_by_field( $value, $field = 'custom_id', $type = '' ) {
623
+	public static function get_item_id_by_field($value, $field = 'custom_id', $type = '') {
624 624
 
625 625
 		// Trim the value.
626
-		$value = sanitize_text_field( $value );
627
-		if ( empty( $value ) ) {
626
+		$value = sanitize_text_field($value);
627
+		if (empty($value)) {
628 628
 			return 0;
629 629
 		}
630 630
 
631 631
         // Valid fields.
632
-        $fields = array( 'custom_id', 'name', 'slug' );
632
+        $fields = array('custom_id', 'name', 'slug');
633 633
 
634 634
 		// Ensure a field has been passed.
635
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
635
+		if (empty($field) || !in_array($field, $fields)) {
636 636
 			return 0;
637 637
 		}
638 638
 
639
-		if ( $field == 'name' ) {
639
+		if ($field == 'name') {
640 640
 			$field = 'slug';
641 641
 		}
642 642
 
643 643
 		// Maybe retrieve from the cache.
644
-		$item_id = wp_cache_get( $value, "getpaid_{$type}_item_{$field}s_to_item_ids" );
645
-		if ( ! empty( $item_id ) ) {
644
+		$item_id = wp_cache_get($value, "getpaid_{$type}_item_{$field}s_to_item_ids");
645
+		if (!empty($item_id)) {
646 646
 			return $item_id;
647 647
 		}
648 648
 
649 649
 		// Fetch from the db.
650 650
 		$items = array();
651
-		if ( $field == 'slug' ) {
651
+		if ($field == 'slug') {
652 652
 			$items = get_posts(
653 653
 				array(
654 654
 					'post_type'      => 'wpi_item',
@@ -659,7 +659,7 @@  discard block
 block discarded – undo
659 659
 			);
660 660
 		}
661 661
 
662
-		if ( $field == 'custom_id' ) {
662
+		if ($field == 'custom_id') {
663 663
 			$items = get_posts(
664 664
 				array(
665 665
 					'post_type'      => 'wpi_item',
@@ -679,12 +679,12 @@  discard block
 block discarded – undo
679 679
 			);
680 680
 		}
681 681
 
682
-		if ( empty( $items ) ) {
682
+		if (empty($items)) {
683 683
 			return 0;
684 684
 		}
685 685
 
686 686
 		// Update the cache with our data
687
-		wp_cache_set( $value, $items[0]->ID, "getpaid_{$type}_item_{$field}s_to_item_ids" );
687
+		wp_cache_set($value, $items[0]->ID, "getpaid_{$type}_item_{$field}s_to_item_ids");
688 688
 
689 689
 		return $items[0]->ID;
690 690
     }
@@ -692,19 +692,19 @@  discard block
 block discarded – undo
692 692
     /**
693 693
      * Margic method for retrieving a property.
694 694
      */
695
-    public function __get( $key ) {
695
+    public function __get($key) {
696 696
 
697 697
         // Check if we have a helper method for that.
698
-        if ( method_exists( $this, 'get_' . $key ) ) {
699
-            return call_user_func( array( $this, 'get_' . $key ) );
698
+        if (method_exists($this, 'get_' . $key)) {
699
+            return call_user_func(array($this, 'get_' . $key));
700 700
         }
701 701
 
702 702
         // Check if the key is in the associated $post object.
703
-        if ( ! empty( $this->post ) && isset( $this->post->$key ) ) {
703
+        if (!empty($this->post) && isset($this->post->$key)) {
704 704
             return $this->post->$key;
705 705
         }
706 706
 
707
-        return $this->get_prop( $key );
707
+        return $this->get_prop($key);
708 708
 
709 709
     }
710 710
 
@@ -723,11 +723,11 @@  discard block
 block discarded – undo
723 723
 	 *
724 724
 	 * @since 1.0.19
725 725
 	 */
726
-	public function set_parent_id( $value ) {
727
-		if ( $value && ( $value === $this->get_id() || ! get_post( $value ) ) ) {
726
+	public function set_parent_id($value) {
727
+		if ($value && ($value === $this->get_id() || !get_post($value))) {
728 728
 			return;
729 729
 		}
730
-		$this->set_prop( 'parent_id', absint( $value ) );
730
+		$this->set_prop('parent_id', absint($value));
731 731
 	}
732 732
 
733 733
     /**
@@ -737,10 +737,10 @@  discard block
 block discarded – undo
737 737
 	 * @param  string $status New status.
738 738
 	 * @return array details of change.
739 739
 	 */
740
-	public function set_status( $status ) {
740
+	public function set_status($status) {
741 741
         $old_status = $this->get_status();
742 742
 
743
-        $this->set_prop( 'status', $status );
743
+        $this->set_prop('status', $status);
744 744
 
745 745
 		return array(
746 746
 			'from' => $old_status,
@@ -753,8 +753,8 @@  discard block
 block discarded – undo
753 753
 	 *
754 754
 	 * @since 1.0.19
755 755
 	 */
756
-	public function set_version( $value ) {
757
-		$this->set_prop( 'version', $value );
756
+	public function set_version($value) {
757
+		$this->set_prop('version', $value);
758 758
     }
759 759
 
760 760
     /**
@@ -764,11 +764,11 @@  discard block
 block discarded – undo
764 764
 	 * @param string $value Value to set.
765 765
      * @return bool Whether or not the date was set.
766 766
 	 */
767
-	public function set_date_created( $value ) {
768
-        $date = strtotime( $value );
767
+	public function set_date_created($value) {
768
+        $date = strtotime($value);
769 769
 
770
-        if ( $date ) {
771
-            $this->set_prop( 'date_created', date( 'Y-m-d H:i:s', $date ) );
770
+        if ($date) {
771
+            $this->set_prop('date_created', date('Y-m-d H:i:s', $date));
772 772
             return true;
773 773
         }
774 774
 
@@ -783,11 +783,11 @@  discard block
 block discarded – undo
783 783
 	 * @param string $value Value to set.
784 784
      * @return bool Whether or not the date was set.
785 785
 	 */
786
-	public function set_date_modified( $value ) {
787
-        $date = strtotime( $value );
786
+	public function set_date_modified($value) {
787
+        $date = strtotime($value);
788 788
 
789
-        if ( $date ) {
790
-            $this->set_prop( 'date_modified', date( 'Y-m-d H:i:s', $date ) );
789
+        if ($date) {
790
+            $this->set_prop('date_modified', date('Y-m-d H:i:s', $date));
791 791
             return true;
792 792
         }
793 793
 
@@ -801,9 +801,9 @@  discard block
 block discarded – undo
801 801
 	 * @since 1.0.19
802 802
 	 * @param  string $value New name.
803 803
 	 */
804
-	public function set_name( $value ) {
805
-        $name = sanitize_text_field( $value );
806
-		$this->set_prop( 'name', $name );
804
+	public function set_name($value) {
805
+        $name = sanitize_text_field($value);
806
+		$this->set_prop('name', $name);
807 807
     }
808 808
 
809 809
     /**
@@ -812,8 +812,8 @@  discard block
 block discarded – undo
812 812
 	 * @since 1.0.19
813 813
 	 * @param  string $value New name.
814 814
 	 */
815
-	public function set_title( $value ) {
816
-		$this->set_name( $value );
815
+	public function set_title($value) {
816
+		$this->set_name($value);
817 817
     }
818 818
 
819 819
     /**
@@ -822,9 +822,9 @@  discard block
 block discarded – undo
822 822
 	 * @since 1.0.19
823 823
 	 * @param  string $value New description.
824 824
 	 */
825
-	public function set_description( $value ) {
826
-		$description = wp_kses_post( wp_unslash( $value ) );
827
-		return $this->set_prop( 'description', $description );
825
+	public function set_description($value) {
826
+		$description = wp_kses_post(wp_unslash($value));
827
+		return $this->set_prop('description', $description);
828 828
     }
829 829
 
830 830
     /**
@@ -833,8 +833,8 @@  discard block
 block discarded – undo
833 833
 	 * @since 1.0.19
834 834
 	 * @param  string $value New description.
835 835
 	 */
836
-	public function set_excerpt( $value ) {
837
-		$this->set_description( $value );
836
+	public function set_excerpt($value) {
837
+		$this->set_description($value);
838 838
     }
839 839
 
840 840
     /**
@@ -843,8 +843,8 @@  discard block
 block discarded – undo
843 843
 	 * @since 1.0.19
844 844
 	 * @param  string $value New description.
845 845
 	 */
846
-	public function set_summary( $value ) {
847
-		$this->set_description( $value );
846
+	public function set_summary($value) {
847
+		$this->set_description($value);
848 848
     }
849 849
 
850 850
     /**
@@ -853,8 +853,8 @@  discard block
 block discarded – undo
853 853
 	 * @since 1.0.19
854 854
 	 * @param  int $value New author.
855 855
 	 */
856
-	public function set_author( $value ) {
857
-		$this->set_prop( 'author', (int) $value );
856
+	public function set_author($value) {
857
+		$this->set_prop('author', (int) $value);
858 858
 	}
859 859
 
860 860
 	/**
@@ -863,8 +863,8 @@  discard block
 block discarded – undo
863 863
 	 * @since 1.0.19
864 864
 	 * @param  int $value New author.
865 865
 	 */
866
-	public function set_owner( $value ) {
867
-		$this->set_author( $value );
866
+	public function set_owner($value) {
867
+		$this->set_author($value);
868 868
     }
869 869
 
870 870
     /**
@@ -873,8 +873,8 @@  discard block
 block discarded – undo
873 873
 	 * @since 1.0.19
874 874
 	 * @param  float $value New price.
875 875
 	 */
876
-	public function set_price( $value ) {
877
-        $this->set_prop( 'price', (float) wpinv_sanitize_amount( $value ) );
876
+	public function set_price($value) {
877
+        $this->set_prop('price', (float) wpinv_sanitize_amount($value));
878 878
     }
879 879
 
880 880
     /**
@@ -883,8 +883,8 @@  discard block
 block discarded – undo
883 883
 	 * @since 1.0.19
884 884
 	 * @param  string $value new rule.
885 885
 	 */
886
-	public function set_vat_rule( $value ) {
887
-        $this->set_prop( 'vat_rule', $value );
886
+	public function set_vat_rule($value) {
887
+        $this->set_prop('vat_rule', $value);
888 888
     }
889 889
 
890 890
     /**
@@ -893,8 +893,8 @@  discard block
 block discarded – undo
893 893
 	 * @since 1.0.19
894 894
 	 * @param  string $value new class.
895 895
 	 */
896
-	public function set_vat_class( $value ) {
897
-        $this->set_prop( 'vat_class', $value );
896
+	public function set_vat_class($value) {
897
+        $this->set_prop('vat_class', $value);
898 898
     }
899 899
 
900 900
     /**
@@ -904,13 +904,13 @@  discard block
 block discarded – undo
904 904
 	 * @param  string $value new item type.
905 905
 	 * @return string
906 906
 	 */
907
-	public function set_type( $value ) {
907
+	public function set_type($value) {
908 908
 
909
-        if ( empty( $value ) ) {
909
+        if (empty($value)) {
910 910
             $value = 'custom';
911 911
         }
912 912
 
913
-        $this->set_prop( 'type', $value );
913
+        $this->set_prop('type', $value);
914 914
     }
915 915
 
916 916
     /**
@@ -919,8 +919,8 @@  discard block
 block discarded – undo
919 919
 	 * @since 1.0.19
920 920
 	 * @param  string $value new custom id.
921 921
 	 */
922
-	public function set_custom_id( $value ) {
923
-        $this->set_prop( 'custom_id', $value );
922
+	public function set_custom_id($value) {
923
+        $this->set_prop('custom_id', $value);
924 924
     }
925 925
 
926 926
     /**
@@ -929,8 +929,8 @@  discard block
 block discarded – undo
929 929
 	 * @since 1.0.19
930 930
 	 * @param  string $value new custom name.
931 931
 	 */
932
-	public function set_custom_name( $value ) {
933
-        $this->set_prop( 'custom_name', $value );
932
+	public function set_custom_name($value) {
933
+        $this->set_prop('custom_name', $value);
934 934
     }
935 935
 
936 936
     /**
@@ -939,8 +939,8 @@  discard block
 block discarded – undo
939 939
 	 * @since 1.0.19
940 940
 	 * @param  string $value new custom singular name.
941 941
 	 */
942
-	public function set_custom_singular_name( $value ) {
943
-        $this->set_prop( 'custom_singular_name', $value );
942
+	public function set_custom_singular_name($value) {
943
+        $this->set_prop('custom_singular_name', $value);
944 944
     }
945 945
 
946 946
     /**
@@ -949,8 +949,8 @@  discard block
 block discarded – undo
949 949
 	 * @since 1.0.19
950 950
 	 * @param  int|bool $value whether or not the item is editable.
951 951
 	 */
952
-	public function set_is_editable( $value ) {
953
-		$this->set_prop( 'is_editable', (int) $value );
952
+	public function set_is_editable($value) {
953
+		$this->set_prop('is_editable', (int) $value);
954 954
     }
955 955
 
956 956
     /**
@@ -959,8 +959,8 @@  discard block
 block discarded – undo
959 959
 	 * @since 1.0.19
960 960
 	 * @param  int|bool $value whether or not dynamic pricing is allowed.
961 961
 	 */
962
-	public function set_is_dynamic_pricing( $value ) {
963
-        $this->set_prop( 'is_dynamic_pricing', (int) $value );
962
+	public function set_is_dynamic_pricing($value) {
963
+        $this->set_prop('is_dynamic_pricing', (int) $value);
964 964
     }
965 965
 
966 966
     /**
@@ -969,8 +969,8 @@  discard block
 block discarded – undo
969 969
 	 * @since 1.0.19
970 970
 	 * @param  float $value minimum price.
971 971
 	 */
972
-	public function set_minimum_price( $value ) {
973
-        $this->set_prop( 'minimum_price', (float) wpinv_sanitize_amount( $value ) );
972
+	public function set_minimum_price($value) {
973
+        $this->set_prop('minimum_price', (float) wpinv_sanitize_amount($value));
974 974
     }
975 975
 
976 976
     /**
@@ -979,8 +979,8 @@  discard block
 block discarded – undo
979 979
 	 * @since 1.0.19
980 980
 	 * @param  int|bool $value whether or not dynamic pricing is allowed.
981 981
 	 */
982
-	public function set_is_recurring( $value ) {
983
-        $this->set_prop( 'is_recurring', (int) $value );
982
+	public function set_is_recurring($value) {
983
+        $this->set_prop('is_recurring', (int) $value);
984 984
     }
985 985
 
986 986
     /**
@@ -989,8 +989,8 @@  discard block
 block discarded – undo
989 989
 	 * @since 1.0.19
990 990
 	 * @param  string $value new period.
991 991
 	 */
992
-	public function set_recurring_period( $value ) {
993
-        $this->set_prop( 'recurring_period', $value );
992
+	public function set_recurring_period($value) {
993
+        $this->set_prop('recurring_period', $value);
994 994
     }
995 995
 
996 996
     /**
@@ -999,8 +999,8 @@  discard block
 block discarded – undo
999 999
 	 * @since 1.0.19
1000 1000
 	 * @param  int $value recurring interval.
1001 1001
 	 */
1002
-	public function set_recurring_interval( $value ) {
1003
-        return $this->set_prop( 'recurring_interval', (int) $value );
1002
+	public function set_recurring_interval($value) {
1003
+        return $this->set_prop('recurring_interval', (int) $value);
1004 1004
     }
1005 1005
 
1006 1006
     /**
@@ -1009,8 +1009,8 @@  discard block
 block discarded – undo
1009 1009
 	 * @param  int $value The recurring limit.
1010 1010
 	 * @return int
1011 1011
 	 */
1012
-	public function set_recurring_limit( $value ) {
1013
-        $this->set_prop( 'recurring_limit', (int) $value );
1012
+	public function set_recurring_limit($value) {
1013
+        $this->set_prop('recurring_limit', (int) $value);
1014 1014
     }
1015 1015
 
1016 1016
     /**
@@ -1019,8 +1019,8 @@  discard block
 block discarded – undo
1019 1019
 	 * @since 1.0.19
1020 1020
 	 * @param  int|bool $value whether or not it has a free trial.
1021 1021
 	 */
1022
-	public function set_is_free_trial( $value ) {
1023
-        $this->set_prop( 'is_free_trial', (int) $value );
1022
+	public function set_is_free_trial($value) {
1023
+        $this->set_prop('is_free_trial', (int) $value);
1024 1024
     }
1025 1025
 
1026 1026
     /**
@@ -1029,8 +1029,8 @@  discard block
 block discarded – undo
1029 1029
 	 * @since 1.0.19
1030 1030
 	 * @param  string $value trial period.
1031 1031
 	 */
1032
-	public function set_trial_period( $value ) {
1033
-        $this->set_prop( 'trial_period', $value );
1032
+	public function set_trial_period($value) {
1033
+        $this->set_prop('trial_period', $value);
1034 1034
     }
1035 1035
 
1036 1036
     /**
@@ -1039,8 +1039,8 @@  discard block
 block discarded – undo
1039 1039
 	 * @since 1.0.19
1040 1040
 	 * @param  int $value trial interval.
1041 1041
 	 */
1042
-	public function set_trial_interval( $value ) {
1043
-        $this->set_prop( 'trial_interval', $value );
1042
+	public function set_trial_interval($value) {
1043
+        $this->set_prop('trial_interval', $value);
1044 1044
     }
1045 1045
 
1046 1046
     /**
@@ -1049,11 +1049,11 @@  discard block
 block discarded – undo
1049 1049
      * @deprecated
1050 1050
 	 * @return int item id
1051 1051
      */
1052
-    public function create( $data = array() ) {
1052
+    public function create($data = array()) {
1053 1053
 
1054 1054
 		// Set the properties.
1055
-		if ( is_array( $data ) ) {
1056
-			$this->set_props( $data );
1055
+		if (is_array($data)) {
1056
+			$this->set_props($data);
1057 1057
 		}
1058 1058
 
1059 1059
 		// Save the item.
@@ -1067,8 +1067,8 @@  discard block
 block discarded – undo
1067 1067
      * @deprecated
1068 1068
 	 * @return int item id
1069 1069
      */
1070
-    public function update( $data = array() ) {
1071
-        return $this->create( $data );
1070
+    public function update($data = array()) {
1071
+        return $this->create($data);
1072 1072
     }
1073 1073
 
1074 1074
     /*
@@ -1108,7 +1108,7 @@  discard block
 block discarded – undo
1108 1108
 	 */
1109 1109
     public function has_free_trial() {
1110 1110
         $has_trial = $this->is_recurring() && (bool) $this->get_free_trial() ? true : false;
1111
-        return (bool) apply_filters( 'wpinv_item_has_free_trial', $has_trial, $this->ID, $this );
1111
+        return (bool) apply_filters('wpinv_item_has_free_trial', $has_trial, $this->ID, $this);
1112 1112
     }
1113 1113
 
1114 1114
     /**
@@ -1118,8 +1118,8 @@  discard block
 block discarded – undo
1118 1118
 	 * @return bool
1119 1119
 	 */
1120 1120
     public function is_free() {
1121
-        $is_free   = $this->get_price() == 0;
1122
-        return (bool) apply_filters( 'wpinv_is_free_item', $is_free, $this->ID, $this );
1121
+        $is_free = $this->get_price() == 0;
1122
+        return (bool) apply_filters('wpinv_is_free_item', $is_free, $this->ID, $this);
1123 1123
     }
1124 1124
 
1125 1125
     /**
@@ -1128,9 +1128,9 @@  discard block
 block discarded – undo
1128 1128
 	 * @param array|string $status Status to check.
1129 1129
 	 * @return bool
1130 1130
 	 */
1131
-	public function has_status( $status ) {
1132
-		$has_status = ( is_array( $status ) && in_array( $this->get_status(), $status, true ) ) || $this->get_status() === $status;
1133
-		return (bool) apply_filters( 'getpaid_item_has_status', $has_status, $this, $status );
1131
+	public function has_status($status) {
1132
+		$has_status = (is_array($status) && in_array($this->get_status(), $status, true)) || $this->get_status() === $status;
1133
+		return (bool) apply_filters('getpaid_item_has_status', $has_status, $this, $status);
1134 1134
     }
1135 1135
 
1136 1136
     /**
@@ -1139,9 +1139,9 @@  discard block
 block discarded – undo
1139 1139
 	 * @param array|string $type Type to check.
1140 1140
 	 * @return bool
1141 1141
 	 */
1142
-	public function is_type( $type ) {
1143
-		$is_type = ( is_array( $type ) && in_array( $this->get_type(), $type, true ) ) || $this->get_type() === $type;
1144
-		return (bool) apply_filters( 'getpaid_item_is_type', $is_type, $this, $type );
1142
+	public function is_type($type) {
1143
+		$is_type = (is_array($type) && in_array($this->get_type(), $type, true)) || $this->get_type() === $type;
1144
+		return (bool) apply_filters('getpaid_item_is_type', $is_type, $this, $type);
1145 1145
 	}
1146 1146
 
1147 1147
     /**
@@ -1152,7 +1152,7 @@  discard block
 block discarded – undo
1152 1152
 	 */
1153 1153
     public function is_editable() {
1154 1154
         $is_editable = $this->get_is_editable();
1155
-        return (bool) apply_filters( 'wpinv_item_is_editable', $is_editable, $this->ID, $this );
1155
+        return (bool) apply_filters('wpinv_item_is_editable', $is_editable, $this->ID, $this);
1156 1156
 	}
1157 1157
 
1158 1158
 	/**
@@ -1171,11 +1171,11 @@  discard block
 block discarded – undo
1171 1171
     public function can_purchase() {
1172 1172
         $can_purchase = $this->exists();
1173 1173
 
1174
-        if ( ! current_user_can( 'edit_post', $this->ID ) && $this->post_status != 'publish' ) {
1174
+        if (!current_user_can('edit_post', $this->ID) && $this->post_status != 'publish') {
1175 1175
             $can_purchase = false;
1176 1176
         }
1177 1177
 
1178
-        return (bool) apply_filters( 'wpinv_can_purchase_item', $can_purchase, $this );
1178
+        return (bool) apply_filters('wpinv_can_purchase_item', $can_purchase, $this);
1179 1179
     }
1180 1180
 
1181 1181
     /**
@@ -1185,6 +1185,6 @@  discard block
 block discarded – undo
1185 1185
 	 * @return bool
1186 1186
 	 */
1187 1187
     public function supports_dynamic_pricing() {
1188
-        return (bool) apply_filters( 'wpinv_item_supports_dynamic_pricing', true, $this );
1188
+        return (bool) apply_filters('wpinv_item_supports_dynamic_pricing', true, $this);
1189 1189
     }
1190 1190
 }
Please login to merge, or discard this patch.
includes/admin/class-wpinv-subscriptions-list-table.php 2 patches
Indentation   +463 added lines, -463 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
 }
9 9
 
10 10
 if ( ! class_exists( 'WP_List_Table' ) ) {
11
-	include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
11
+    include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
12 12
 }
13 13
 
14 14
 /**
@@ -16,468 +16,468 @@  discard block
 block discarded – undo
16 16
  */
17 17
 class WPInv_Subscriptions_List_Table extends WP_List_Table {
18 18
 
19
-	/**
20
-	 * URL of this page
21
-	 *
22
-	 * @var   string
23
-	 * @since 1.0.19
24
-	 */
25
-	public $base_url;
26
-
27
-	/**
28
-	 * Query
29
-	 *
30
-	 * @var   GetPaid_Subscriptions_Query
31
-	 * @since 1.0.19
32
-	 */
33
-	public $query;
34
-
35
-	/**
36
-	 * Total subscriptions
37
-	 *
38
-	 * @var   string
39
-	 * @since 1.0.0
40
-	 */
41
-	public $total_count;
42
-
43
-	/**
44
-	 * Current status subscriptions
45
-	 *
46
-	 * @var   string
47
-	 * @since 1.0.0
48
-	 */
49
-	public $current_total_count;
50
-
51
-	/**
52
-	 * Status counts
53
-	 *
54
-	 * @var   array
55
-	 * @since 1.0.19
56
-	 */
57
-	public $status_counts;
58
-
59
-	/**
60
-	 * Number of results to show per page
61
-	 *
62
-	 * @var   int
63
-	 * @since 1.0.0
64
-	 */
65
-	public $per_page = 10;
66
-
67
-	/**
68
-	 *  Constructor function.
69
-	 */
70
-	public function __construct() {
71
-
72
-		parent::__construct(
73
-			array(
74
-				'singular' => 'subscription',
75
-				'plural'   => 'subscriptions',
76
-			)
77
-		);
78
-
79
-		$this->process_bulk_action();
80
-
81
-		$this->prepare_query();
82
-
83
-		$this->base_url = remove_query_arg( 'status' );
84
-
85
-	}
86
-
87
-	/**
88
-	 *  Prepares the display query
89
-	 */
90
-	public function prepare_query() {
91
-
92
-		// Prepare query args.
93
-		$query = array(
94
-			'number'      => $this->per_page,
95
-			'paged'       => $this->get_paged(),
96
-			'status'      => ( isset( $_GET['status'] ) && array_key_exists( $_GET['status'], getpaid_get_subscription_statuses() ) ) ? sanitize_text_field( $_GET['status'] ) : 'all',
97
-			'orderby'     => ( isset( $_GET['orderby'] ) ) ? sanitize_text_field( $_GET['orderby'] ) : 'id',
98
-			'order'       => ( isset( $_GET['order'] ) ) ? sanitize_text_field( $_GET['order'] ) : 'DESC',
99
-			'customer_in' => $this->get_user_in(),
100
-		);
101
-
102
-		if ( is_array( $query['customer_in'] ) && empty( $query['customer_in'] ) ) {
103
-			$this->total_count         = 0;
104
-			$this->current_total_count = 0;
105
-			$this->items               = array();
106
-			$this->status_counts       = array();
107
-			return;
108
-		}
109
-
110
-		// Prepare class properties.
111
-		$this->query               = new GetPaid_Subscriptions_Query( $query );
112
-		$this->total_count         = $this->query->get_total();
113
-		$this->current_total_count = $this->query->get_total();
114
-		$this->items               = $this->query->get_results();
115
-		$this->status_counts       = getpaid_get_subscription_status_counts( $query );
116
-
117
-		if ( 'all' != $query['status'] ) {
118
-			unset( $query['status'] );
119
-			$this->total_count   = getpaid_get_subscriptions( $query, 'count' );
120
-		}
121
-
122
-	}
123
-
124
-	/**
125
-	 * Get user in.
126
-	 *
127
-	 */
128
-	public function get_user_in() {
129
-
130
-		// Abort if no user.
131
-		if ( empty( $_GET['s'] ) ) {
132
-			return null;
133
-		}
134
-
135
-		// Or invalid user.
136
-		$user = wp_unslash( sanitize_text_field( $_REQUEST['s'] ) );
137
-
138
-		if ( empty( $user ) ) {
139
-			return null;
140
-		}
141
-
142
-		// Search matching users.
143
-		$user  = '*' . $user . '*';
144
-		$users = new WP_User_Query(
145
-			array(
146
-				'fields'      => 'ID',
147
-				'search'      => $user,
148
-				'count_total' => false,
149
-			)
150
-		);
151
-
152
-		return $users->get_results();
153
-	}
154
-
155
-	/**
156
-	 * Gets the list of views available on this table.
157
-	 *
158
-	 * The format is an associative array:
159
-	 * - `'id' => 'link'`
160
-	 *
161
-	 * @since 1.0.0
162
-	 *
163
-	 * @return array
164
-	 */
165
-	public function get_views() {
166
-
167
-		$current  = isset( $_GET['status'] ) ? sanitize_text_field( $_GET['status'] ) : 'all';
168
-		$views    = array(
169
-
170
-			'all' => sprintf(
171
-				'<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
172
-				esc_url( add_query_arg( 'status', false, $this->base_url ) ),
173
-				$current === 'all' ? ' class="current"' : '',
174
-				__( 'All', 'invoicing' ),
175
-				$this->total_count
176
-			),
177
-
178
-		);
179
-
180
-		foreach ( array_filter( $this->status_counts ) as $status => $count ) {
181
-
182
-			$views[ $status ] = sprintf(
183
-				'<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
184
-				esc_url( add_query_arg( 'status', urlencode( $status ), $this->base_url ) ),
185
-				$current === $status ? ' class="current"' : '',
186
-				esc_html( getpaid_get_subscription_status_label( $status ) ),
187
-				$count
188
-			);
189
-
190
-		}
191
-
192
-		return $views;
193
-
194
-	}
195
-
196
-	/**
197
-	 * Render most columns
198
-	 *
199
-	 * @access      private
200
-	 * @since       1.0.0
201
-	 * @return      string
202
-	 */
203
-	public function column_default( $item, $column_name ) {
204
-		return apply_filters( "getpaid_subscriptions_table_column_$column_name", $item->$column_name );
205
-	}
206
-
207
-	/**
208
-	 * This is how checkbox column renders.
209
-	 *
210
-	 * @param WPInv_Subscription $item
211
-	 * @return string
212
-	 */
213
-	public function column_cb( $item ) {
214
-		return sprintf( '<input type="checkbox" name="id[]" value="%s" />', esc_html( $item->get_id() ) );
215
-	}
216
-
217
-	/**
218
-	 * Status column
219
-	 *
220
-	 * @param WPInv_Subscription $item
221
-	 * @since       1.0.0
222
-	 * @return      string
223
-	 */
224
-	public function column_status( $item ) {
225
-		return $item->get_status_label_html();
226
-	}
227
-
228
-	/**
229
-	 * Subscription column
230
-	 *
231
-	 * @param WPInv_Subscription $item
232
-	 * @since       1.0.0
233
-	 * @return      string
234
-	 */
235
-	public function column_subscription( $item ) {
236
-
237
-		$username = __( '(Missing User)', 'invoicing' );
238
-
239
-		$user = get_userdata( $item->get_customer_id() );
240
-		if ( $user ) {
241
-
242
-			$username = sprintf(
243
-				'<a href="user-edit.php?user_id=%s">%s</a>',
244
-				absint( $user->ID ),
245
-				! empty( $user->display_name ) ? esc_html( $user->display_name ) : sanitize_email( $user->user_email )
246
-			);
247
-
248
-		}
249
-
250
-		// translators: $1: is opening link, $2: is subscription id number, $3: is closing link tag, $4: is user's name
251
-		$column_content = sprintf(
252
-			_x( '%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing' ),
253
-			'<a href="' . esc_url( admin_url( 'admin.php?page=wpinv-subscriptions&id=' . absint( $item->get_id() ) ) ) . '">',
254
-			'<strong>' . esc_attr( $item->get_id() ) . '</strong>',
19
+    /**
20
+     * URL of this page
21
+     *
22
+     * @var   string
23
+     * @since 1.0.19
24
+     */
25
+    public $base_url;
26
+
27
+    /**
28
+     * Query
29
+     *
30
+     * @var   GetPaid_Subscriptions_Query
31
+     * @since 1.0.19
32
+     */
33
+    public $query;
34
+
35
+    /**
36
+     * Total subscriptions
37
+     *
38
+     * @var   string
39
+     * @since 1.0.0
40
+     */
41
+    public $total_count;
42
+
43
+    /**
44
+     * Current status subscriptions
45
+     *
46
+     * @var   string
47
+     * @since 1.0.0
48
+     */
49
+    public $current_total_count;
50
+
51
+    /**
52
+     * Status counts
53
+     *
54
+     * @var   array
55
+     * @since 1.0.19
56
+     */
57
+    public $status_counts;
58
+
59
+    /**
60
+     * Number of results to show per page
61
+     *
62
+     * @var   int
63
+     * @since 1.0.0
64
+     */
65
+    public $per_page = 10;
66
+
67
+    /**
68
+     *  Constructor function.
69
+     */
70
+    public function __construct() {
71
+
72
+        parent::__construct(
73
+            array(
74
+                'singular' => 'subscription',
75
+                'plural'   => 'subscriptions',
76
+            )
77
+        );
78
+
79
+        $this->process_bulk_action();
80
+
81
+        $this->prepare_query();
82
+
83
+        $this->base_url = remove_query_arg( 'status' );
84
+
85
+    }
86
+
87
+    /**
88
+     *  Prepares the display query
89
+     */
90
+    public function prepare_query() {
91
+
92
+        // Prepare query args.
93
+        $query = array(
94
+            'number'      => $this->per_page,
95
+            'paged'       => $this->get_paged(),
96
+            'status'      => ( isset( $_GET['status'] ) && array_key_exists( $_GET['status'], getpaid_get_subscription_statuses() ) ) ? sanitize_text_field( $_GET['status'] ) : 'all',
97
+            'orderby'     => ( isset( $_GET['orderby'] ) ) ? sanitize_text_field( $_GET['orderby'] ) : 'id',
98
+            'order'       => ( isset( $_GET['order'] ) ) ? sanitize_text_field( $_GET['order'] ) : 'DESC',
99
+            'customer_in' => $this->get_user_in(),
100
+        );
101
+
102
+        if ( is_array( $query['customer_in'] ) && empty( $query['customer_in'] ) ) {
103
+            $this->total_count         = 0;
104
+            $this->current_total_count = 0;
105
+            $this->items               = array();
106
+            $this->status_counts       = array();
107
+            return;
108
+        }
109
+
110
+        // Prepare class properties.
111
+        $this->query               = new GetPaid_Subscriptions_Query( $query );
112
+        $this->total_count         = $this->query->get_total();
113
+        $this->current_total_count = $this->query->get_total();
114
+        $this->items               = $this->query->get_results();
115
+        $this->status_counts       = getpaid_get_subscription_status_counts( $query );
116
+
117
+        if ( 'all' != $query['status'] ) {
118
+            unset( $query['status'] );
119
+            $this->total_count   = getpaid_get_subscriptions( $query, 'count' );
120
+        }
121
+
122
+    }
123
+
124
+    /**
125
+     * Get user in.
126
+     *
127
+     */
128
+    public function get_user_in() {
129
+
130
+        // Abort if no user.
131
+        if ( empty( $_GET['s'] ) ) {
132
+            return null;
133
+        }
134
+
135
+        // Or invalid user.
136
+        $user = wp_unslash( sanitize_text_field( $_REQUEST['s'] ) );
137
+
138
+        if ( empty( $user ) ) {
139
+            return null;
140
+        }
141
+
142
+        // Search matching users.
143
+        $user  = '*' . $user . '*';
144
+        $users = new WP_User_Query(
145
+            array(
146
+                'fields'      => 'ID',
147
+                'search'      => $user,
148
+                'count_total' => false,
149
+            )
150
+        );
151
+
152
+        return $users->get_results();
153
+    }
154
+
155
+    /**
156
+     * Gets the list of views available on this table.
157
+     *
158
+     * The format is an associative array:
159
+     * - `'id' => 'link'`
160
+     *
161
+     * @since 1.0.0
162
+     *
163
+     * @return array
164
+     */
165
+    public function get_views() {
166
+
167
+        $current  = isset( $_GET['status'] ) ? sanitize_text_field( $_GET['status'] ) : 'all';
168
+        $views    = array(
169
+
170
+            'all' => sprintf(
171
+                '<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
172
+                esc_url( add_query_arg( 'status', false, $this->base_url ) ),
173
+                $current === 'all' ? ' class="current"' : '',
174
+                __( 'All', 'invoicing' ),
175
+                $this->total_count
176
+            ),
177
+
178
+        );
179
+
180
+        foreach ( array_filter( $this->status_counts ) as $status => $count ) {
181
+
182
+            $views[ $status ] = sprintf(
183
+                '<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
184
+                esc_url( add_query_arg( 'status', urlencode( $status ), $this->base_url ) ),
185
+                $current === $status ? ' class="current"' : '',
186
+                esc_html( getpaid_get_subscription_status_label( $status ) ),
187
+                $count
188
+            );
189
+
190
+        }
191
+
192
+        return $views;
193
+
194
+    }
195
+
196
+    /**
197
+     * Render most columns
198
+     *
199
+     * @access      private
200
+     * @since       1.0.0
201
+     * @return      string
202
+     */
203
+    public function column_default( $item, $column_name ) {
204
+        return apply_filters( "getpaid_subscriptions_table_column_$column_name", $item->$column_name );
205
+    }
206
+
207
+    /**
208
+     * This is how checkbox column renders.
209
+     *
210
+     * @param WPInv_Subscription $item
211
+     * @return string
212
+     */
213
+    public function column_cb( $item ) {
214
+        return sprintf( '<input type="checkbox" name="id[]" value="%s" />', esc_html( $item->get_id() ) );
215
+    }
216
+
217
+    /**
218
+     * Status column
219
+     *
220
+     * @param WPInv_Subscription $item
221
+     * @since       1.0.0
222
+     * @return      string
223
+     */
224
+    public function column_status( $item ) {
225
+        return $item->get_status_label_html();
226
+    }
227
+
228
+    /**
229
+     * Subscription column
230
+     *
231
+     * @param WPInv_Subscription $item
232
+     * @since       1.0.0
233
+     * @return      string
234
+     */
235
+    public function column_subscription( $item ) {
236
+
237
+        $username = __( '(Missing User)', 'invoicing' );
238
+
239
+        $user = get_userdata( $item->get_customer_id() );
240
+        if ( $user ) {
241
+
242
+            $username = sprintf(
243
+                '<a href="user-edit.php?user_id=%s">%s</a>',
244
+                absint( $user->ID ),
245
+                ! empty( $user->display_name ) ? esc_html( $user->display_name ) : sanitize_email( $user->user_email )
246
+            );
247
+
248
+        }
249
+
250
+        // translators: $1: is opening link, $2: is subscription id number, $3: is closing link tag, $4: is user's name
251
+        $column_content = sprintf(
252
+            _x( '%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing' ),
253
+            '<a href="' . esc_url( admin_url( 'admin.php?page=wpinv-subscriptions&id=' . absint( $item->get_id() ) ) ) . '">',
254
+            '<strong>' . esc_attr( $item->get_id() ) . '</strong>',
255 255
             '</a>',
256
-			$username
257
-		);
258
-
259
-		$row_actions = array();
260
-
261
-		// View subscription.
262
-		$view_url    = esc_url( add_query_arg( 'id', $item->get_id(), admin_url( 'admin.php?page=wpinv-subscriptions' ) ) );
263
-		$row_actions['view'] = '<a href="' . $view_url . '">' . __( 'View Subscription', 'invoicing' ) . '</a>';
264
-
265
-		// View invoice.
266
-		$invoice = get_post( $item->get_parent_invoice_id() );
267
-
268
-		if ( ! empty( $invoice ) ) {
269
-			$invoice_url            = get_edit_post_link( $invoice );
270
-			$row_actions['invoice'] = '<a href="' . $invoice_url . '">' . __( 'View Invoice', 'invoicing' ) . '</a>';
271
-		}
272
-
273
-		$delete_url            = esc_url(
274
-			wp_nonce_url(
275
-				add_query_arg(
276
-					array(
277
-						'getpaid-admin-action' => 'subscription_manual_delete',
278
-						'id'                   => $item->get_id(),
279
-					)
280
-				),
281
-				'getpaid-nonce',
282
-				'getpaid-nonce'
283
-			)
284
-		);
285
-		$row_actions['delete'] = '<a class="text-danger" href="' . $delete_url . '">' . __( 'Delete Subscription', 'invoicing' ) . '</a>';
286
-
287
-		$row_actions = $this->row_actions( apply_filters( 'getpaid_subscription_table_row_actions', $row_actions, $item ) );
288
-
289
-		return "<strong>$column_content</strong>" . $this->column_amount( $item ) . $row_actions;
290
-	}
291
-
292
-	/**
293
-	 * Renewal date column
294
-	 *
295
-	 * @param WPInv_Subscription $item
296
-	 * @since       1.0.0
297
-	 * @return      string
298
-	 */
299
-	public function column_renewal_date( $item ) {
300
-		return getpaid_format_date_value( $item->get_expiration() );
301
-	}
302
-
303
-	/**
304
-	 * Start date column
305
-	 *
306
-	 * @param WPInv_Subscription $item
307
-	 * @since       1.0.0
308
-	 * @return      string
309
-	 */
310
-	public function column_start_date( $item ) {
311
-
312
-		$gateway = $item->get_parent_invoice()->get_gateway_title();
313
-
314
-		if ( empty( $gateway ) ) {
315
-			return getpaid_format_date_value( $item->get_date_created() );
316
-		}
317
-
318
-		$url = apply_filters( 'getpaid_remote_subscription_profile_url', '', $item );
319
-		if ( ! empty( $url ) ) {
320
-
321
-			return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf(
322
-				__( 'Via %s', 'invoicing' ),
323
-				'<strong><a href="' . esc_url( $url ) . '" target="_blank">' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</a></strong>'
324
-			);
325
-
326
-		}
327
-
328
-		return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf(
329
-			__( 'Via %s', 'invoicing' ),
330
-			'<strong>' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</strong>'
331
-		);
332
-
333
-	}
334
-
335
-	/**
336
-	 * Amount column
337
-	 *
338
-	 * @param WPInv_Subscription $item
339
-	 * @since       1.0.19
340
-	 * @return      string
341
-	 */
342
-	public static function column_amount( $item ) {
343
-		$amount = getpaid_get_formatted_subscription_amount( $item );
344
-		return "<span class='text-muted form-text mt-2 mb-2'>$amount</span>";
345
-	}
346
-
347
-	/**
348
-	 * Billing Times column
349
-	 *
350
-	 * @param WPInv_Subscription $item
351
-	 * @since       1.0.0
352
-	 * @return      string
353
-	 */
354
-	public function column_renewals( $item ) {
355
-		$max_bills = $item->get_bill_times();
356
-		return $item->get_times_billed() . ' / ' . ( empty( $max_bills ) ? '&infin;' : $max_bills );
357
-	}
358
-
359
-	/**
360
-	 * Product ID column
361
-	 *
362
-	 * @param WPInv_Subscription $item
363
-	 * @since       1.0.0
364
-	 * @return      string
365
-	 */
366
-	public function column_item( $item ) {
367
-		$subscription_group = getpaid_get_invoice_subscription_group( $item->get_parent_invoice_id(), $item->get_id() );
368
-
369
-		if ( empty( $subscription_group ) ) {
370
-			return $this->generate_item_markup( $item->get_product_id() );
371
-		}
372
-
373
-		$markup = array_map( array( $this, 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
374
-		return implode( ' | ', $markup );
375
-
376
-	}
377
-
378
-	/**
379
-	 * Generates the items markup.
380
-	 *
381
-	 * @param int $item_id
382
-	 * @since       1.0.0
383
-	 * @return      string
384
-	 */
385
-	public static function generate_item_markup( $item_id ) {
386
-		$item = get_post( $item_id );
387
-
388
-		if ( ! empty( $item ) ) {
389
-			$link = get_edit_post_link( $item );
390
-			$link = esc_url( $link );
391
-			$name = esc_html( get_the_title( $item ) );
392
-			return wpinv_current_user_can_manage_invoicing() ? "<a href='$link'>$name</a>" : $name;
393
-		} else {
394
-			return sprintf( __( 'Item #%s', 'invoicing' ), $item_id );
395
-		}
396
-
397
-	}
398
-
399
-	/**
400
-	 * Retrieve the current page number
401
-	 *
402
-	 * @return      int
403
-	 */
404
-	public function get_paged() {
405
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
406
-	}
407
-
408
-	/**
409
-	 * Setup the final data for the table
410
-	 *
411
-	 */
412
-	public function prepare_items() {
413
-
414
-		$columns  = $this->get_columns();
415
-		$hidden   = array();
416
-		$sortable = $this->get_sortable_columns();
417
-
418
-		$this->_column_headers = array( $columns, $hidden, $sortable );
419
-
420
-		$this->set_pagination_args(
421
-			array(
422
-				'total_items' => $this->current_total_count,
423
-				'per_page'    => $this->per_page,
424
-				'total_pages' => ceil( $this->current_total_count / $this->per_page ),
425
-			)
426
-		);
427
-	}
428
-
429
-	/**
430
-	 * Table columns
431
-	 *
432
-	 * @return array
433
-	 */
434
-	public function get_columns() {
435
-		$columns = array(
436
-			'cb'           => '<input type="checkbox" />',
437
-			'subscription' => __( 'Subscription', 'invoicing' ),
438
-			'start_date'   => __( 'Start Date', 'invoicing' ),
439
-			'renewal_date' => __( 'Next Payment', 'invoicing' ),
440
-			'renewals'     => __( 'Payments', 'invoicing' ),
441
-			'item'         => __( 'Items', 'invoicing' ),
442
-			'status'       => __( 'Status', 'invoicing' ),
443
-		);
444
-
445
-		return apply_filters( 'manage_getpaid_subscriptions_table_columns', $columns );
446
-	}
447
-
448
-	/**
449
-	 * Sortable table columns.
450
-	 *
451
-	 * @return array
452
-	 */
453
-	public function get_sortable_columns() {
454
-		$sortable = array(
455
-			'subscription' => array( 'id', true ),
456
-			'start_date'   => array( 'created', true ),
457
-			'renewal_date' => array( 'expiration', true ),
458
-			'renewals'     => array( 'bill_times', true ),
459
-			'item'         => array( 'product_id', true ),
460
-			'status'       => array( 'status', true ),
461
-		);
462
-
463
-		return apply_filters( 'manage_getpaid_subscriptions_sortable_table_columns', $sortable );
464
-	}
465
-
466
-	/**
467
-	 * Whether the table has items to display or not
468
-	 *
469
-	 * @return bool
470
-	 */
471
-	public function has_items() {
472
-		return ! empty( $this->current_total_count );
473
-	}
474
-
475
-	/**
476
-	 * Processes bulk actions.
477
-	 *
478
-	 */
479
-	public function process_bulk_action() {
480
-
481
-	}
256
+            $username
257
+        );
258
+
259
+        $row_actions = array();
260
+
261
+        // View subscription.
262
+        $view_url    = esc_url( add_query_arg( 'id', $item->get_id(), admin_url( 'admin.php?page=wpinv-subscriptions' ) ) );
263
+        $row_actions['view'] = '<a href="' . $view_url . '">' . __( 'View Subscription', 'invoicing' ) . '</a>';
264
+
265
+        // View invoice.
266
+        $invoice = get_post( $item->get_parent_invoice_id() );
267
+
268
+        if ( ! empty( $invoice ) ) {
269
+            $invoice_url            = get_edit_post_link( $invoice );
270
+            $row_actions['invoice'] = '<a href="' . $invoice_url . '">' . __( 'View Invoice', 'invoicing' ) . '</a>';
271
+        }
272
+
273
+        $delete_url            = esc_url(
274
+            wp_nonce_url(
275
+                add_query_arg(
276
+                    array(
277
+                        'getpaid-admin-action' => 'subscription_manual_delete',
278
+                        'id'                   => $item->get_id(),
279
+                    )
280
+                ),
281
+                'getpaid-nonce',
282
+                'getpaid-nonce'
283
+            )
284
+        );
285
+        $row_actions['delete'] = '<a class="text-danger" href="' . $delete_url . '">' . __( 'Delete Subscription', 'invoicing' ) . '</a>';
286
+
287
+        $row_actions = $this->row_actions( apply_filters( 'getpaid_subscription_table_row_actions', $row_actions, $item ) );
288
+
289
+        return "<strong>$column_content</strong>" . $this->column_amount( $item ) . $row_actions;
290
+    }
291
+
292
+    /**
293
+     * Renewal date column
294
+     *
295
+     * @param WPInv_Subscription $item
296
+     * @since       1.0.0
297
+     * @return      string
298
+     */
299
+    public function column_renewal_date( $item ) {
300
+        return getpaid_format_date_value( $item->get_expiration() );
301
+    }
302
+
303
+    /**
304
+     * Start date column
305
+     *
306
+     * @param WPInv_Subscription $item
307
+     * @since       1.0.0
308
+     * @return      string
309
+     */
310
+    public function column_start_date( $item ) {
311
+
312
+        $gateway = $item->get_parent_invoice()->get_gateway_title();
313
+
314
+        if ( empty( $gateway ) ) {
315
+            return getpaid_format_date_value( $item->get_date_created() );
316
+        }
317
+
318
+        $url = apply_filters( 'getpaid_remote_subscription_profile_url', '', $item );
319
+        if ( ! empty( $url ) ) {
320
+
321
+            return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf(
322
+                __( 'Via %s', 'invoicing' ),
323
+                '<strong><a href="' . esc_url( $url ) . '" target="_blank">' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</a></strong>'
324
+            );
325
+
326
+        }
327
+
328
+        return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf(
329
+            __( 'Via %s', 'invoicing' ),
330
+            '<strong>' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</strong>'
331
+        );
332
+
333
+    }
334
+
335
+    /**
336
+     * Amount column
337
+     *
338
+     * @param WPInv_Subscription $item
339
+     * @since       1.0.19
340
+     * @return      string
341
+     */
342
+    public static function column_amount( $item ) {
343
+        $amount = getpaid_get_formatted_subscription_amount( $item );
344
+        return "<span class='text-muted form-text mt-2 mb-2'>$amount</span>";
345
+    }
346
+
347
+    /**
348
+     * Billing Times column
349
+     *
350
+     * @param WPInv_Subscription $item
351
+     * @since       1.0.0
352
+     * @return      string
353
+     */
354
+    public function column_renewals( $item ) {
355
+        $max_bills = $item->get_bill_times();
356
+        return $item->get_times_billed() . ' / ' . ( empty( $max_bills ) ? '&infin;' : $max_bills );
357
+    }
358
+
359
+    /**
360
+     * Product ID column
361
+     *
362
+     * @param WPInv_Subscription $item
363
+     * @since       1.0.0
364
+     * @return      string
365
+     */
366
+    public function column_item( $item ) {
367
+        $subscription_group = getpaid_get_invoice_subscription_group( $item->get_parent_invoice_id(), $item->get_id() );
368
+
369
+        if ( empty( $subscription_group ) ) {
370
+            return $this->generate_item_markup( $item->get_product_id() );
371
+        }
372
+
373
+        $markup = array_map( array( $this, 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
374
+        return implode( ' | ', $markup );
375
+
376
+    }
377
+
378
+    /**
379
+     * Generates the items markup.
380
+     *
381
+     * @param int $item_id
382
+     * @since       1.0.0
383
+     * @return      string
384
+     */
385
+    public static function generate_item_markup( $item_id ) {
386
+        $item = get_post( $item_id );
387
+
388
+        if ( ! empty( $item ) ) {
389
+            $link = get_edit_post_link( $item );
390
+            $link = esc_url( $link );
391
+            $name = esc_html( get_the_title( $item ) );
392
+            return wpinv_current_user_can_manage_invoicing() ? "<a href='$link'>$name</a>" : $name;
393
+        } else {
394
+            return sprintf( __( 'Item #%s', 'invoicing' ), $item_id );
395
+        }
396
+
397
+    }
398
+
399
+    /**
400
+     * Retrieve the current page number
401
+     *
402
+     * @return      int
403
+     */
404
+    public function get_paged() {
405
+        return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
406
+    }
407
+
408
+    /**
409
+     * Setup the final data for the table
410
+     *
411
+     */
412
+    public function prepare_items() {
413
+
414
+        $columns  = $this->get_columns();
415
+        $hidden   = array();
416
+        $sortable = $this->get_sortable_columns();
417
+
418
+        $this->_column_headers = array( $columns, $hidden, $sortable );
419
+
420
+        $this->set_pagination_args(
421
+            array(
422
+                'total_items' => $this->current_total_count,
423
+                'per_page'    => $this->per_page,
424
+                'total_pages' => ceil( $this->current_total_count / $this->per_page ),
425
+            )
426
+        );
427
+    }
428
+
429
+    /**
430
+     * Table columns
431
+     *
432
+     * @return array
433
+     */
434
+    public function get_columns() {
435
+        $columns = array(
436
+            'cb'           => '<input type="checkbox" />',
437
+            'subscription' => __( 'Subscription', 'invoicing' ),
438
+            'start_date'   => __( 'Start Date', 'invoicing' ),
439
+            'renewal_date' => __( 'Next Payment', 'invoicing' ),
440
+            'renewals'     => __( 'Payments', 'invoicing' ),
441
+            'item'         => __( 'Items', 'invoicing' ),
442
+            'status'       => __( 'Status', 'invoicing' ),
443
+        );
444
+
445
+        return apply_filters( 'manage_getpaid_subscriptions_table_columns', $columns );
446
+    }
447
+
448
+    /**
449
+     * Sortable table columns.
450
+     *
451
+     * @return array
452
+     */
453
+    public function get_sortable_columns() {
454
+        $sortable = array(
455
+            'subscription' => array( 'id', true ),
456
+            'start_date'   => array( 'created', true ),
457
+            'renewal_date' => array( 'expiration', true ),
458
+            'renewals'     => array( 'bill_times', true ),
459
+            'item'         => array( 'product_id', true ),
460
+            'status'       => array( 'status', true ),
461
+        );
462
+
463
+        return apply_filters( 'manage_getpaid_subscriptions_sortable_table_columns', $sortable );
464
+    }
465
+
466
+    /**
467
+     * Whether the table has items to display or not
468
+     *
469
+     * @return bool
470
+     */
471
+    public function has_items() {
472
+        return ! empty( $this->current_total_count );
473
+    }
474
+
475
+    /**
476
+     * Processes bulk actions.
477
+     *
478
+     */
479
+    public function process_bulk_action() {
480
+
481
+    }
482 482
 
483 483
 }
Please login to merge, or discard this patch.
Spacing   +94 added lines, -94 removed lines patch added patch discarded remove patch
@@ -3,11 +3,11 @@  discard block
 block discarded – undo
3 3
  * Displays a list of all subscriptions rules
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
 exit;
8 8
 }
9 9
 
10
-if ( ! class_exists( 'WP_List_Table' ) ) {
10
+if (!class_exists('WP_List_Table')) {
11 11
 	include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
12 12
 }
13 13
 
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
 
81 81
 		$this->prepare_query();
82 82
 
83
-		$this->base_url = remove_query_arg( 'status' );
83
+		$this->base_url = remove_query_arg('status');
84 84
 
85 85
 	}
86 86
 
@@ -93,13 +93,13 @@  discard block
 block discarded – undo
93 93
 		$query = array(
94 94
 			'number'      => $this->per_page,
95 95
 			'paged'       => $this->get_paged(),
96
-			'status'      => ( isset( $_GET['status'] ) && array_key_exists( $_GET['status'], getpaid_get_subscription_statuses() ) ) ? sanitize_text_field( $_GET['status'] ) : 'all',
97
-			'orderby'     => ( isset( $_GET['orderby'] ) ) ? sanitize_text_field( $_GET['orderby'] ) : 'id',
98
-			'order'       => ( isset( $_GET['order'] ) ) ? sanitize_text_field( $_GET['order'] ) : 'DESC',
96
+			'status'      => (isset($_GET['status']) && array_key_exists($_GET['status'], getpaid_get_subscription_statuses())) ? sanitize_text_field($_GET['status']) : 'all',
97
+			'orderby'     => (isset($_GET['orderby'])) ? sanitize_text_field($_GET['orderby']) : 'id',
98
+			'order'       => (isset($_GET['order'])) ? sanitize_text_field($_GET['order']) : 'DESC',
99 99
 			'customer_in' => $this->get_user_in(),
100 100
 		);
101 101
 
102
-		if ( is_array( $query['customer_in'] ) && empty( $query['customer_in'] ) ) {
102
+		if (is_array($query['customer_in']) && empty($query['customer_in'])) {
103 103
 			$this->total_count         = 0;
104 104
 			$this->current_total_count = 0;
105 105
 			$this->items               = array();
@@ -108,15 +108,15 @@  discard block
 block discarded – undo
108 108
 		}
109 109
 
110 110
 		// Prepare class properties.
111
-		$this->query               = new GetPaid_Subscriptions_Query( $query );
111
+		$this->query               = new GetPaid_Subscriptions_Query($query);
112 112
 		$this->total_count         = $this->query->get_total();
113 113
 		$this->current_total_count = $this->query->get_total();
114 114
 		$this->items               = $this->query->get_results();
115
-		$this->status_counts       = getpaid_get_subscription_status_counts( $query );
115
+		$this->status_counts       = getpaid_get_subscription_status_counts($query);
116 116
 
117
-		if ( 'all' != $query['status'] ) {
118
-			unset( $query['status'] );
119
-			$this->total_count   = getpaid_get_subscriptions( $query, 'count' );
117
+		if ('all' != $query['status']) {
118
+			unset($query['status']);
119
+			$this->total_count = getpaid_get_subscriptions($query, 'count');
120 120
 		}
121 121
 
122 122
 	}
@@ -128,14 +128,14 @@  discard block
 block discarded – undo
128 128
 	public function get_user_in() {
129 129
 
130 130
 		// Abort if no user.
131
-		if ( empty( $_GET['s'] ) ) {
131
+		if (empty($_GET['s'])) {
132 132
 			return null;
133 133
 		}
134 134
 
135 135
 		// Or invalid user.
136
-		$user = wp_unslash( sanitize_text_field( $_REQUEST['s'] ) );
136
+		$user = wp_unslash(sanitize_text_field($_REQUEST['s']));
137 137
 
138
-		if ( empty( $user ) ) {
138
+		if (empty($user)) {
139 139
 			return null;
140 140
 		}
141 141
 
@@ -164,26 +164,26 @@  discard block
 block discarded – undo
164 164
 	 */
165 165
 	public function get_views() {
166 166
 
167
-		$current  = isset( $_GET['status'] ) ? sanitize_text_field( $_GET['status'] ) : 'all';
167
+		$current  = isset($_GET['status']) ? sanitize_text_field($_GET['status']) : 'all';
168 168
 		$views    = array(
169 169
 
170 170
 			'all' => sprintf(
171 171
 				'<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
172
-				esc_url( add_query_arg( 'status', false, $this->base_url ) ),
172
+				esc_url(add_query_arg('status', false, $this->base_url)),
173 173
 				$current === 'all' ? ' class="current"' : '',
174
-				__( 'All', 'invoicing' ),
174
+				__('All', 'invoicing'),
175 175
 				$this->total_count
176 176
 			),
177 177
 
178 178
 		);
179 179
 
180
-		foreach ( array_filter( $this->status_counts ) as $status => $count ) {
180
+		foreach (array_filter($this->status_counts) as $status => $count) {
181 181
 
182
-			$views[ $status ] = sprintf(
182
+			$views[$status] = sprintf(
183 183
 				'<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
184
-				esc_url( add_query_arg( 'status', urlencode( $status ), $this->base_url ) ),
184
+				esc_url(add_query_arg('status', urlencode($status), $this->base_url)),
185 185
 				$current === $status ? ' class="current"' : '',
186
-				esc_html( getpaid_get_subscription_status_label( $status ) ),
186
+				esc_html(getpaid_get_subscription_status_label($status)),
187 187
 				$count
188 188
 			);
189 189
 
@@ -200,8 +200,8 @@  discard block
 block discarded – undo
200 200
 	 * @since       1.0.0
201 201
 	 * @return      string
202 202
 	 */
203
-	public function column_default( $item, $column_name ) {
204
-		return apply_filters( "getpaid_subscriptions_table_column_$column_name", $item->$column_name );
203
+	public function column_default($item, $column_name) {
204
+		return apply_filters("getpaid_subscriptions_table_column_$column_name", $item->$column_name);
205 205
 	}
206 206
 
207 207
 	/**
@@ -210,8 +210,8 @@  discard block
 block discarded – undo
210 210
 	 * @param WPInv_Subscription $item
211 211
 	 * @return string
212 212
 	 */
213
-	public function column_cb( $item ) {
214
-		return sprintf( '<input type="checkbox" name="id[]" value="%s" />', esc_html( $item->get_id() ) );
213
+	public function column_cb($item) {
214
+		return sprintf('<input type="checkbox" name="id[]" value="%s" />', esc_html($item->get_id()));
215 215
 	}
216 216
 
217 217
 	/**
@@ -221,7 +221,7 @@  discard block
 block discarded – undo
221 221
 	 * @since       1.0.0
222 222
 	 * @return      string
223 223
 	 */
224
-	public function column_status( $item ) {
224
+	public function column_status($item) {
225 225
 		return $item->get_status_label_html();
226 226
 	}
227 227
 
@@ -232,26 +232,26 @@  discard block
 block discarded – undo
232 232
 	 * @since       1.0.0
233 233
 	 * @return      string
234 234
 	 */
235
-	public function column_subscription( $item ) {
235
+	public function column_subscription($item) {
236 236
 
237
-		$username = __( '(Missing User)', 'invoicing' );
237
+		$username = __('(Missing User)', 'invoicing');
238 238
 
239
-		$user = get_userdata( $item->get_customer_id() );
240
-		if ( $user ) {
239
+		$user = get_userdata($item->get_customer_id());
240
+		if ($user) {
241 241
 
242 242
 			$username = sprintf(
243 243
 				'<a href="user-edit.php?user_id=%s">%s</a>',
244
-				absint( $user->ID ),
245
-				! empty( $user->display_name ) ? esc_html( $user->display_name ) : sanitize_email( $user->user_email )
244
+				absint($user->ID),
245
+				!empty($user->display_name) ? esc_html($user->display_name) : sanitize_email($user->user_email)
246 246
 			);
247 247
 
248 248
 		}
249 249
 
250 250
 		// translators: $1: is opening link, $2: is subscription id number, $3: is closing link tag, $4: is user's name
251 251
 		$column_content = sprintf(
252
-			_x( '%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing' ),
253
-			'<a href="' . esc_url( admin_url( 'admin.php?page=wpinv-subscriptions&id=' . absint( $item->get_id() ) ) ) . '">',
254
-			'<strong>' . esc_attr( $item->get_id() ) . '</strong>',
252
+			_x('%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing'),
253
+			'<a href="' . esc_url(admin_url('admin.php?page=wpinv-subscriptions&id=' . absint($item->get_id()))) . '">',
254
+			'<strong>' . esc_attr($item->get_id()) . '</strong>',
255 255
             '</a>',
256 256
 			$username
257 257
 		);
@@ -259,18 +259,18 @@  discard block
 block discarded – undo
259 259
 		$row_actions = array();
260 260
 
261 261
 		// View subscription.
262
-		$view_url    = esc_url( add_query_arg( 'id', $item->get_id(), admin_url( 'admin.php?page=wpinv-subscriptions' ) ) );
263
-		$row_actions['view'] = '<a href="' . $view_url . '">' . __( 'View Subscription', 'invoicing' ) . '</a>';
262
+		$view_url    = esc_url(add_query_arg('id', $item->get_id(), admin_url('admin.php?page=wpinv-subscriptions')));
263
+		$row_actions['view'] = '<a href="' . $view_url . '">' . __('View Subscription', 'invoicing') . '</a>';
264 264
 
265 265
 		// View invoice.
266
-		$invoice = get_post( $item->get_parent_invoice_id() );
266
+		$invoice = get_post($item->get_parent_invoice_id());
267 267
 
268
-		if ( ! empty( $invoice ) ) {
269
-			$invoice_url            = get_edit_post_link( $invoice );
270
-			$row_actions['invoice'] = '<a href="' . $invoice_url . '">' . __( 'View Invoice', 'invoicing' ) . '</a>';
268
+		if (!empty($invoice)) {
269
+			$invoice_url            = get_edit_post_link($invoice);
270
+			$row_actions['invoice'] = '<a href="' . $invoice_url . '">' . __('View Invoice', 'invoicing') . '</a>';
271 271
 		}
272 272
 
273
-		$delete_url            = esc_url(
273
+		$delete_url = esc_url(
274 274
 			wp_nonce_url(
275 275
 				add_query_arg(
276 276
 					array(
@@ -282,11 +282,11 @@  discard block
 block discarded – undo
282 282
 				'getpaid-nonce'
283 283
 			)
284 284
 		);
285
-		$row_actions['delete'] = '<a class="text-danger" href="' . $delete_url . '">' . __( 'Delete Subscription', 'invoicing' ) . '</a>';
285
+		$row_actions['delete'] = '<a class="text-danger" href="' . $delete_url . '">' . __('Delete Subscription', 'invoicing') . '</a>';
286 286
 
287
-		$row_actions = $this->row_actions( apply_filters( 'getpaid_subscription_table_row_actions', $row_actions, $item ) );
287
+		$row_actions = $this->row_actions(apply_filters('getpaid_subscription_table_row_actions', $row_actions, $item));
288 288
 
289
-		return "<strong>$column_content</strong>" . $this->column_amount( $item ) . $row_actions;
289
+		return "<strong>$column_content</strong>" . $this->column_amount($item) . $row_actions;
290 290
 	}
291 291
 
292 292
 	/**
@@ -296,8 +296,8 @@  discard block
 block discarded – undo
296 296
 	 * @since       1.0.0
297 297
 	 * @return      string
298 298
 	 */
299
-	public function column_renewal_date( $item ) {
300
-		return getpaid_format_date_value( $item->get_expiration() );
299
+	public function column_renewal_date($item) {
300
+		return getpaid_format_date_value($item->get_expiration());
301 301
 	}
302 302
 
303 303
 	/**
@@ -307,27 +307,27 @@  discard block
 block discarded – undo
307 307
 	 * @since       1.0.0
308 308
 	 * @return      string
309 309
 	 */
310
-	public function column_start_date( $item ) {
310
+	public function column_start_date($item) {
311 311
 
312 312
 		$gateway = $item->get_parent_invoice()->get_gateway_title();
313 313
 
314
-		if ( empty( $gateway ) ) {
315
-			return getpaid_format_date_value( $item->get_date_created() );
314
+		if (empty($gateway)) {
315
+			return getpaid_format_date_value($item->get_date_created());
316 316
 		}
317 317
 
318
-		$url = apply_filters( 'getpaid_remote_subscription_profile_url', '', $item );
319
-		if ( ! empty( $url ) ) {
318
+		$url = apply_filters('getpaid_remote_subscription_profile_url', '', $item);
319
+		if (!empty($url)) {
320 320
 
321
-			return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf(
322
-				__( 'Via %s', 'invoicing' ),
323
-				'<strong><a href="' . esc_url( $url ) . '" target="_blank">' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</a></strong>'
321
+			return getpaid_format_date_value($item->get_date_created()) . '<br>' . sprintf(
322
+				__('Via %s', 'invoicing'),
323
+				'<strong><a href="' . esc_url($url) . '" target="_blank">' . esc_html($item->get_parent_invoice()->get_gateway_title()) . '</a></strong>'
324 324
 			);
325 325
 
326 326
 		}
327 327
 
328
-		return getpaid_format_date_value( $item->get_date_created() ) . '<br>' . sprintf(
329
-			__( 'Via %s', 'invoicing' ),
330
-			'<strong>' . esc_html( $item->get_parent_invoice()->get_gateway_title() ) . '</strong>'
328
+		return getpaid_format_date_value($item->get_date_created()) . '<br>' . sprintf(
329
+			__('Via %s', 'invoicing'),
330
+			'<strong>' . esc_html($item->get_parent_invoice()->get_gateway_title()) . '</strong>'
331 331
 		);
332 332
 
333 333
 	}
@@ -339,8 +339,8 @@  discard block
 block discarded – undo
339 339
 	 * @since       1.0.19
340 340
 	 * @return      string
341 341
 	 */
342
-	public static function column_amount( $item ) {
343
-		$amount = getpaid_get_formatted_subscription_amount( $item );
342
+	public static function column_amount($item) {
343
+		$amount = getpaid_get_formatted_subscription_amount($item);
344 344
 		return "<span class='text-muted form-text mt-2 mb-2'>$amount</span>";
345 345
 	}
346 346
 
@@ -351,9 +351,9 @@  discard block
 block discarded – undo
351 351
 	 * @since       1.0.0
352 352
 	 * @return      string
353 353
 	 */
354
-	public function column_renewals( $item ) {
354
+	public function column_renewals($item) {
355 355
 		$max_bills = $item->get_bill_times();
356
-		return $item->get_times_billed() . ' / ' . ( empty( $max_bills ) ? '&infin;' : $max_bills );
356
+		return $item->get_times_billed() . ' / ' . (empty($max_bills) ? '&infin;' : $max_bills);
357 357
 	}
358 358
 
359 359
 	/**
@@ -363,15 +363,15 @@  discard block
 block discarded – undo
363 363
 	 * @since       1.0.0
364 364
 	 * @return      string
365 365
 	 */
366
-	public function column_item( $item ) {
367
-		$subscription_group = getpaid_get_invoice_subscription_group( $item->get_parent_invoice_id(), $item->get_id() );
366
+	public function column_item($item) {
367
+		$subscription_group = getpaid_get_invoice_subscription_group($item->get_parent_invoice_id(), $item->get_id());
368 368
 
369
-		if ( empty( $subscription_group ) ) {
370
-			return $this->generate_item_markup( $item->get_product_id() );
369
+		if (empty($subscription_group)) {
370
+			return $this->generate_item_markup($item->get_product_id());
371 371
 		}
372 372
 
373
-		$markup = array_map( array( $this, 'generate_item_markup' ), array_keys( $subscription_group['items'] ) );
374
-		return implode( ' | ', $markup );
373
+		$markup = array_map(array($this, 'generate_item_markup'), array_keys($subscription_group['items']));
374
+		return implode(' | ', $markup);
375 375
 
376 376
 	}
377 377
 
@@ -382,16 +382,16 @@  discard block
 block discarded – undo
382 382
 	 * @since       1.0.0
383 383
 	 * @return      string
384 384
 	 */
385
-	public static function generate_item_markup( $item_id ) {
386
-		$item = get_post( $item_id );
385
+	public static function generate_item_markup($item_id) {
386
+		$item = get_post($item_id);
387 387
 
388
-		if ( ! empty( $item ) ) {
389
-			$link = get_edit_post_link( $item );
390
-			$link = esc_url( $link );
391
-			$name = esc_html( get_the_title( $item ) );
388
+		if (!empty($item)) {
389
+			$link = get_edit_post_link($item);
390
+			$link = esc_url($link);
391
+			$name = esc_html(get_the_title($item));
392 392
 			return wpinv_current_user_can_manage_invoicing() ? "<a href='$link'>$name</a>" : $name;
393 393
 		} else {
394
-			return sprintf( __( 'Item #%s', 'invoicing' ), $item_id );
394
+			return sprintf(__('Item #%s', 'invoicing'), $item_id);
395 395
 		}
396 396
 
397 397
 	}
@@ -402,7 +402,7 @@  discard block
 block discarded – undo
402 402
 	 * @return      int
403 403
 	 */
404 404
 	public function get_paged() {
405
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
405
+		return isset($_GET['paged']) ? absint($_GET['paged']) : 1;
406 406
 	}
407 407
 
408 408
 	/**
@@ -415,13 +415,13 @@  discard block
 block discarded – undo
415 415
 		$hidden   = array();
416 416
 		$sortable = $this->get_sortable_columns();
417 417
 
418
-		$this->_column_headers = array( $columns, $hidden, $sortable );
418
+		$this->_column_headers = array($columns, $hidden, $sortable);
419 419
 
420 420
 		$this->set_pagination_args(
421 421
 			array(
422 422
 				'total_items' => $this->current_total_count,
423 423
 				'per_page'    => $this->per_page,
424
-				'total_pages' => ceil( $this->current_total_count / $this->per_page ),
424
+				'total_pages' => ceil($this->current_total_count / $this->per_page),
425 425
 			)
426 426
 		);
427 427
 	}
@@ -434,15 +434,15 @@  discard block
 block discarded – undo
434 434
 	public function get_columns() {
435 435
 		$columns = array(
436 436
 			'cb'           => '<input type="checkbox" />',
437
-			'subscription' => __( 'Subscription', 'invoicing' ),
438
-			'start_date'   => __( 'Start Date', 'invoicing' ),
439
-			'renewal_date' => __( 'Next Payment', 'invoicing' ),
440
-			'renewals'     => __( 'Payments', 'invoicing' ),
441
-			'item'         => __( 'Items', 'invoicing' ),
442
-			'status'       => __( 'Status', 'invoicing' ),
437
+			'subscription' => __('Subscription', 'invoicing'),
438
+			'start_date'   => __('Start Date', 'invoicing'),
439
+			'renewal_date' => __('Next Payment', 'invoicing'),
440
+			'renewals'     => __('Payments', 'invoicing'),
441
+			'item'         => __('Items', 'invoicing'),
442
+			'status'       => __('Status', 'invoicing'),
443 443
 		);
444 444
 
445
-		return apply_filters( 'manage_getpaid_subscriptions_table_columns', $columns );
445
+		return apply_filters('manage_getpaid_subscriptions_table_columns', $columns);
446 446
 	}
447 447
 
448 448
 	/**
@@ -452,15 +452,15 @@  discard block
 block discarded – undo
452 452
 	 */
453 453
 	public function get_sortable_columns() {
454 454
 		$sortable = array(
455
-			'subscription' => array( 'id', true ),
456
-			'start_date'   => array( 'created', true ),
457
-			'renewal_date' => array( 'expiration', true ),
458
-			'renewals'     => array( 'bill_times', true ),
459
-			'item'         => array( 'product_id', true ),
460
-			'status'       => array( 'status', true ),
455
+			'subscription' => array('id', true),
456
+			'start_date'   => array('created', true),
457
+			'renewal_date' => array('expiration', true),
458
+			'renewals'     => array('bill_times', true),
459
+			'item'         => array('product_id', true),
460
+			'status'       => array('status', true),
461 461
 		);
462 462
 
463
-		return apply_filters( 'manage_getpaid_subscriptions_sortable_table_columns', $sortable );
463
+		return apply_filters('manage_getpaid_subscriptions_sortable_table_columns', $sortable);
464 464
 	}
465 465
 
466 466
 	/**
@@ -469,7 +469,7 @@  discard block
 block discarded – undo
469 469
 	 * @return bool
470 470
 	 */
471 471
 	public function has_items() {
472
-		return ! empty( $this->current_total_count );
472
+		return !empty($this->current_total_count);
473 473
 	}
474 474
 
475 475
 	/**
Please login to merge, or discard this patch.
includes/admin/views/html-gateways-edit.php 2 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -44,9 +44,9 @@  discard block
 block discarded – undo
44 44
                         <?php
45 45
 
46 46
                             if ( wpinv_is_gateway_active( $id ) ) {
47
-							echo "<i class='text-success fa fa-check'></i>";
47
+                            echo "<i class='text-success fa fa-check'></i>";
48 48
                             } else {
49
-							echo "<i class='text-dark fa fa-times'></i>";
49
+                            echo "<i class='text-dark fa fa-times'></i>";
50 50
                             }
51 51
 
52 52
                         ?>
@@ -58,9 +58,9 @@  discard block
 block discarded – undo
58 58
                             $supports = apply_filters( 'getapid_gateway_supports_subscription', $supports, $id );
59 59
 
60 60
                             if ( $supports ) {
61
-							echo "<i class='text-success fa fa-check'></i>";
61
+                            echo "<i class='text-success fa fa-check'></i>";
62 62
                             } else {
63
-							echo "<i class='text-dark fa fa-times'></i>";
63
+                            echo "<i class='text-dark fa fa-times'></i>";
64 64
                             }
65 65
 
66 66
                         ?>
Please login to merge, or discard this patch.
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -4,29 +4,29 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 $gateways = wpinv_get_payment_gateways();
10
-ksort( $gateways );
10
+ksort($gateways);
11 11
 
12 12
 ?>
13 13
 <div class="table-responsive">
14 14
     <table id="wpinv_gateways_select" class="table border bg-white form-table">
15
-        <caption><?php echo esc_html_e( 'This table displays installed payment methods.', 'invoicing' ); ?></caption>
15
+        <caption><?php echo esc_html_e('This table displays installed payment methods.', 'invoicing'); ?></caption>
16 16
 
17 17
         <thead>
18 18
             <tr class="table-light">
19 19
 
20 20
                 <th scope="col" class="border-bottom border-top text-left">
21
-                    <?php esc_html_e( 'Payment Method', 'invoicing' ); ?>
21
+                    <?php esc_html_e('Payment Method', 'invoicing'); ?>
22 22
                 </th>
23 23
 
24 24
                 <th scope="col" class="border-bottom border-top text-center">
25
-                    <?php esc_html_e( 'Enabled', 'invoicing' ); ?>
25
+                    <?php esc_html_e('Enabled', 'invoicing'); ?>
26 26
                 </th>
27 27
 
28 28
                 <th scope="col" class="border-bottom border-top text-center">
29
-                    <?php esc_html_e( 'Supports Subscriptions', 'invoicing' ); ?>
29
+                    <?php esc_html_e('Supports Subscriptions', 'invoicing'); ?>
30 30
                 </th>
31 31
 
32 32
                 <th scope="col" class="border-bottom border-top text-right" style="width:32px">&nbsp;</th>
@@ -35,15 +35,15 @@  discard block
 block discarded – undo
35 35
         </thead>
36 36
 
37 37
         <tbody>
38
-            <?php foreach ( $gateways as $id => $gateway ) : ?>
38
+            <?php foreach ($gateways as $id => $gateway) : ?>
39 39
                 <tr>
40 40
                     <td class="getpaid-payment-method text-left">
41
-                        <a style="color: #0073aa;" href="<?php echo esc_url( add_query_arg( 'section', $id ) ); ?>" class="font-weight-bold"><?php echo esc_html( $gateway['admin_label'] ); ?></a>
41
+                        <a style="color: #0073aa;" href="<?php echo esc_url(add_query_arg('section', $id)); ?>" class="font-weight-bold"><?php echo esc_html($gateway['admin_label']); ?></a>
42 42
                     </td>
43 43
                     <td class="getpaid-payment-method-enabled text-center">
44 44
                         <?php
45 45
 
46
-                            if ( wpinv_is_gateway_active( $id ) ) {
46
+                            if (wpinv_is_gateway_active($id)) {
47 47
 							echo "<i class='text-success fa fa-check'></i>";
48 48
                             } else {
49 49
 							echo "<i class='text-dark fa fa-times'></i>";
@@ -54,10 +54,10 @@  discard block
 block discarded – undo
54 54
                     <td class="getpaid-payment-method-subscription text-center">
55 55
                         <?php
56 56
 
57
-                            $supports = apply_filters( "wpinv_{$id}_support_subscription", false );
58
-                            $supports = apply_filters( 'getapid_gateway_supports_subscription', $supports, $id );
57
+                            $supports = apply_filters("wpinv_{$id}_support_subscription", false);
58
+                            $supports = apply_filters('getapid_gateway_supports_subscription', $supports, $id);
59 59
 
60
-                            if ( $supports ) {
60
+                            if ($supports) {
61 61
 							echo "<i class='text-success fa fa-check'></i>";
62 62
                             } else {
63 63
 							echo "<i class='text-dark fa fa-times'></i>";
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
                     </td>
68 68
 
69 69
                     <td class="getpaid-payment-method-action text-right">
70
-                        <a class="button button-secondary" href="<?php echo esc_url( add_query_arg( 'section', $id ) ); ?>"><?php esc_html_e( 'Manage', 'invoicing' ); ?></a>
70
+                        <a class="button button-secondary" href="<?php echo esc_url(add_query_arg('section', $id)); ?>"><?php esc_html_e('Manage', 'invoicing'); ?></a>
71 71
                     </td>
72 72
 
73 73
                 </tr>
@@ -77,8 +77,8 @@  discard block
 block discarded – undo
77 77
         <tfoot>
78 78
             <tr class="table-light">
79 79
                 <td colspan="4" class="border-top">
80
-                    <a class="button button-secondary getpaid-install-gateways" href="<?php echo esc_url( admin_url( 'admin.php?page=wpi-addons&tab=gateways' ) ); ?>">
81
-                        <span><?php esc_html_e( 'Add Payment Methods', 'invoicing' ); ?></span>
80
+                    <a class="button button-secondary getpaid-install-gateways" href="<?php echo esc_url(admin_url('admin.php?page=wpi-addons&tab=gateways')); ?>">
81
+                        <span><?php esc_html_e('Add Payment Methods', 'invoicing'); ?></span>
82 82
                     </a>
83 83
                 </td>
84 84
             </tr>
Please login to merge, or discard this patch.
includes/admin/views/wizard-plugins.php 2 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -27,7 +27,7 @@
 block discarded – undo
27 27
 						<input type="checkbox" name="plugins[<?php echo esc_attr( $plugin['slug'] ); ?>]" value="<?php echo esc_attr( $plugin['file'] ); ?>" class="custom-control-input"  
28 28
                                                                         <?php
29 29
                         if ( is_plugin_active( $plugin['slug'] ) ) {
30
-																								echo 'checked';}
30
+                                                                                                echo 'checked';}
31 31
 ?>
32 32
 >
33 33
 						<label class="custom-control-label" for="ac-setting-updates"></label>
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -4,35 +4,35 @@  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
 
11 11
 <div class="card shadow-sm my-5">'
12 12
 
13
-    <form method="post" class="text-center card-body" action="<?php echo esc_url( admin_url() ); ?>">
14
-		<?php getpaid_hidden_field( 'getpaid-admin-action', 'install_plugin' ); ?>
15
-		<?php wp_nonce_field( 'getpaid-nonce', 'getpaid-nonce' ); ?>
16
-		<?php getpaid_hidden_field( 'redirect', $next_url ); ?>
13
+    <form method="post" class="text-center card-body" action="<?php echo esc_url(admin_url()); ?>">
14
+		<?php getpaid_hidden_field('getpaid-admin-action', 'install_plugin'); ?>
15
+		<?php wp_nonce_field('getpaid-nonce', 'getpaid-nonce'); ?>
16
+		<?php getpaid_hidden_field('redirect', $next_url); ?>
17 17
 		<div class="gd-wizard-recommend">
18 18
 
19
-			<h2 class="gd-settings-title h3"><?php esc_html_e( 'Recommended Plugins', 'invoicing' ); ?></h2>
20
-			<p><?php esc_html_e( 'Below are a few of our own plugins that may help you.', 'invoicing' ); ?></p>
19
+			<h2 class="gd-settings-title h3"><?php esc_html_e('Recommended Plugins', 'invoicing'); ?></h2>
20
+			<p><?php esc_html_e('Below are a few of our own plugins that may help you.', 'invoicing'); ?></p>
21 21
 
22 22
 			<ul class="list-group">
23
-				<?php foreach ( $recommended_plugins as $plugin ) : ?>
23
+				<?php foreach ($recommended_plugins as $plugin) : ?>
24 24
 				<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap text-left">
25
-					<span class="mr-auto"><?php echo esc_html( $plugin['name'] ); ?></span>
25
+					<span class="mr-auto"><?php echo esc_html($plugin['name']); ?></span>
26 26
 					<div class="custom-control custom-switch getpaid-install-plugin-siwtch-div mr-n2">
27
-						<input type="checkbox" name="plugins[<?php echo esc_attr( $plugin['slug'] ); ?>]" value="<?php echo esc_attr( $plugin['file'] ); ?>" class="custom-control-input"  
27
+						<input type="checkbox" name="plugins[<?php echo esc_attr($plugin['slug']); ?>]" value="<?php echo esc_attr($plugin['file']); ?>" class="custom-control-input"  
28 28
                                                                         <?php
29
-                        if ( is_plugin_active( $plugin['slug'] ) ) {
30
-																								echo 'checked';}
29
+                        if (is_plugin_active($plugin['slug'])) {
30
+																								echo 'checked'; }
31 31
 ?>
32 32
 >
33 33
 						<label class="custom-control-label" for="ac-setting-updates"></label>
34 34
 					</div>
35
-					<small class="w-100"><?php echo esc_attr( $plugin['desc'] ); ?></small>
35
+					<small class="w-100"><?php echo esc_attr($plugin['desc']); ?></small>
36 36
 				</li>
37 37
 				<?php endforeach; ?>
38 38
 			</ul>
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 				<input
42 42
                 	type="submit"
43 43
                 	class="btn btn-primary button-next"
44
-				    value="<?php esc_attr_e( 'Continue', 'invoicing' ); ?>" name="save_step"/>
44
+				    value="<?php esc_attr_e('Continue', 'invoicing'); ?>" name="save_step"/>
45 45
 			</p>
46 46
 
47 47
 		</div>
Please login to merge, or discard this patch.
admin/meta-boxes/class-getpaid-meta-box-invoice-shipping-address.php 2 patches
Indentation   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  */
8 8
 
9 9
 if ( ! defined( 'ABSPATH' ) ) {
10
-	exit; // Exit if accessed directly
10
+    exit; // Exit if accessed directly
11 11
 }
12 12
 
13 13
 /**
@@ -15,22 +15,22 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class GetPaid_Meta_Box_Invoice_Shipping_Address {
17 17
 
18
-	/**
19
-	 * Output the metabox.
20
-	 *
21
-	 * @param WP_Post $post
22
-	 */
23
-	public static function output( $post ) {
18
+    /**
19
+     * Output the metabox.
20
+     *
21
+     * @param WP_Post $post
22
+     */
23
+    public static function output( $post ) {
24 24
 
25
-		// Retrieve shipping address.
26
-		$shipping_address = get_post_meta( $post->ID, 'shipping_address', true );
25
+        // Retrieve shipping address.
26
+        $shipping_address = get_post_meta( $post->ID, 'shipping_address', true );
27 27
 
28
-		// Abort if it is invalid.
29
-		if ( ! is_array( $shipping_address ) ) {
30
-			return;
31
-		}
28
+        // Abort if it is invalid.
29
+        if ( ! is_array( $shipping_address ) ) {
30
+            return;
31
+        }
32 32
 
33
-		?>
33
+        ?>
34 34
 
35 35
 		<div class="bsui">
36 36
 
@@ -68,31 +68,31 @@  discard block
 block discarded – undo
68 68
 
69 69
 		<?php
70 70
 
71
-	}
71
+    }
72 72
 
73
-	/**
74
-	 * Prepares a value.
75
-	 *
76
-	 * @param array $address
77
-	 * @param string $key
78
-	 * @return string
79
-	 */
80
-	public static function prepare_for_display( $address, $key ) {
73
+    /**
74
+     * Prepares a value.
75
+     *
76
+     * @param array $address
77
+     * @param string $key
78
+     * @return string
79
+     */
80
+    public static function prepare_for_display( $address, $key ) {
81 81
 
82
-		// Prepare the value.
83
-		$value = $address[ $key ];
82
+        // Prepare the value.
83
+        $value = $address[ $key ];
84 84
 
85
-		if ( $key == 'country' ) {
86
-			$value = wpinv_country_name( $value );
87
-		}
85
+        if ( $key == 'country' ) {
86
+            $value = wpinv_country_name( $value );
87
+        }
88 88
 
89
-		if ( $key == 'state' ) {
90
-			$country = isset( $address['country'] ) ? $address['country'] : wpinv_get_default_country();
91
-			$value = wpinv_state_name( $value, $country );
92
-		}
89
+        if ( $key == 'state' ) {
90
+            $country = isset( $address['country'] ) ? $address['country'] : wpinv_get_default_country();
91
+            $value = wpinv_state_name( $value, $country );
92
+        }
93 93
 
94
-		return esc_html( $value );
94
+        return esc_html( $value );
95 95
 
96
-	}
96
+    }
97 97
 
98 98
 }
Please login to merge, or discard this patch.
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  *
7 7
  */
8 8
 
9
-if ( ! defined( 'ABSPATH' ) ) {
9
+if (!defined('ABSPATH')) {
10 10
 	exit; // Exit if accessed directly
11 11
 }
12 12
 
@@ -20,13 +20,13 @@  discard block
 block discarded – undo
20 20
 	 *
21 21
 	 * @param WP_Post $post
22 22
 	 */
23
-	public static function output( $post ) {
23
+	public static function output($post) {
24 24
 
25 25
 		// Retrieve shipping address.
26
-		$shipping_address = get_post_meta( $post->ID, 'shipping_address', true );
26
+		$shipping_address = get_post_meta($post->ID, 'shipping_address', true);
27 27
 
28 28
 		// Abort if it is invalid.
29
-		if ( ! is_array( $shipping_address ) ) {
29
+		if (!is_array($shipping_address)) {
30 30
 			return;
31 31
 		}
32 32
 
@@ -34,29 +34,29 @@  discard block
 block discarded – undo
34 34
 
35 35
 		<div class="bsui">
36 36
 
37
-			<?php if ( ! empty( $shipping_address['method'] ) ) : ?>
37
+			<?php if (!empty($shipping_address['method'])) : ?>
38 38
 
39 39
 				<div class="form-group mb-3 form-row row" style="color: green;">
40 40
 					<div class="col">
41
-						<span style="font-weight: 600"><?php esc_html_e( 'Shipping Method', 'invoicing' ); ?>:</span>
41
+						<span style="font-weight: 600"><?php esc_html_e('Shipping Method', 'invoicing'); ?>:</span>
42 42
 					</div>
43 43
 					<div class="col">
44
-						<?php echo wp_kses_post( $shipping_address['method'] ); ?>
44
+						<?php echo wp_kses_post($shipping_address['method']); ?>
45 45
 					</div>
46 46
 				</div>
47 47
 
48 48
 			<?php endif; ?>
49 49
 
50
-			<?php foreach ( getpaid_user_address_fields() as $key => $label ) : ?>
50
+			<?php foreach (getpaid_user_address_fields() as $key => $label) : ?>
51 51
 
52
-					<?php if ( ! empty( $shipping_address[ $key ] ) ) : ?>
52
+					<?php if (!empty($shipping_address[$key])) : ?>
53 53
 
54 54
 						<div class="form-group mb-3 form-row row">
55 55
 							<div class="col">
56
-								<span style="font-weight: 600"><?php echo esc_html( $label ); ?>:</span>
56
+								<span style="font-weight: 600"><?php echo esc_html($label); ?>:</span>
57 57
 							</div>
58 58
 							<div class="col">
59
-								<?php echo esc_html( self::prepare_for_display( $shipping_address, $key ) ); ?>
59
+								<?php echo esc_html(self::prepare_for_display($shipping_address, $key)); ?>
60 60
 							</div>
61 61
 						</div>
62 62
 
@@ -77,21 +77,21 @@  discard block
 block discarded – undo
77 77
 	 * @param string $key
78 78
 	 * @return string
79 79
 	 */
80
-	public static function prepare_for_display( $address, $key ) {
80
+	public static function prepare_for_display($address, $key) {
81 81
 
82 82
 		// Prepare the value.
83
-		$value = $address[ $key ];
83
+		$value = $address[$key];
84 84
 
85
-		if ( $key == 'country' ) {
86
-			$value = wpinv_country_name( $value );
85
+		if ($key == 'country') {
86
+			$value = wpinv_country_name($value);
87 87
 		}
88 88
 
89
-		if ( $key == 'state' ) {
90
-			$country = isset( $address['country'] ) ? $address['country'] : wpinv_get_default_country();
91
-			$value = wpinv_state_name( $value, $country );
89
+		if ($key == 'state') {
90
+			$country = isset($address['country']) ? $address['country'] : wpinv_get_default_country();
91
+			$value = wpinv_state_name($value, $country);
92 92
 		}
93 93
 
94
-		return esc_html( $value );
94
+		return esc_html($value);
95 95
 
96 96
 	}
97 97
 
Please login to merge, or discard this patch.
includes/admin/meta-boxes/class-getpaid-meta-box-discount-details.php 3 patches
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  */
9 9
 
10 10
 if ( ! defined( 'ABSPATH' ) ) {
11
-	exit; // Exit if accessed directly
11
+    exit; // Exit if accessed directly
12 12
 }
13 13
 
14 14
 /**
@@ -17,10 +17,10 @@  discard block
 block discarded – undo
17 17
 class GetPaid_Meta_Box_Discount_Details {
18 18
 
19 19
     /**
20
-	 * Output the metabox.
21
-	 *
22
-	 * @param WP_Post $post
23
-	 */
20
+     * Output the metabox.
21
+     *
22
+     * @param WP_Post $post
23
+     */
24 24
     public static function output( $post ) {
25 25
 
26 26
         // Prepare the discount.
@@ -396,35 +396,35 @@  discard block
 block discarded – undo
396 396
     }
397 397
 
398 398
     /**
399
-	 * Save meta box data.
400
-	 *
401
-	 * @param int $post_id
402
-	 */
403
-	public static function save( $post_id ) {
399
+     * Save meta box data.
400
+     *
401
+     * @param int $post_id
402
+     */
403
+    public static function save( $post_id ) {
404 404
 
405 405
         // Prepare the discount.
406 406
         $discount = new WPInv_Discount( $post_id );
407 407
 
408 408
         // Load new data.
409 409
         $discount->set_props(
410
-			array(
411
-				'code'           => isset( $_POST['wpinv_discount_code'] ) ? wpinv_clean( $_POST['wpinv_discount_code'] ) : null,
412
-				'amount'         => isset( $_POST['wpinv_discount_amount'] ) ? floatval( $_POST['wpinv_discount_amount'] ) : null,
413
-				'start'          => isset( $_POST['wpinv_discount_start'] ) ? wpinv_clean( $_POST['wpinv_discount_start'] ) : null,
414
-				'expiration'     => isset( $_POST['wpinv_discount_expiration'] ) ? wpinv_clean( $_POST['wpinv_discount_expiration'] ) : null,
415
-				'is_single_use'  => ! empty( $_POST['wpinv_discount_single_use'] ),
410
+            array(
411
+                'code'           => isset( $_POST['wpinv_discount_code'] ) ? wpinv_clean( $_POST['wpinv_discount_code'] ) : null,
412
+                'amount'         => isset( $_POST['wpinv_discount_amount'] ) ? floatval( $_POST['wpinv_discount_amount'] ) : null,
413
+                'start'          => isset( $_POST['wpinv_discount_start'] ) ? wpinv_clean( $_POST['wpinv_discount_start'] ) : null,
414
+                'expiration'     => isset( $_POST['wpinv_discount_expiration'] ) ? wpinv_clean( $_POST['wpinv_discount_expiration'] ) : null,
415
+                'is_single_use'  => ! empty( $_POST['wpinv_discount_single_use'] ),
416 416
                 'type'           => isset( $_POST['wpinv_discount_type'] ) ? wpinv_clean( $_POST['wpinv_discount_type'] ) : null,
417
-				'is_recurring'   => ! empty( $_POST['wpinv_discount_recurring'] ),
418
-				'items'          => isset( $_POST['wpinv_discount_items'] ) ? wpinv_clean( $_POST['wpinv_discount_items'] ) : array(),
419
-				'excluded_items' => isset( $_POST['wpinv_discount_excluded_items'] ) ? wpinv_clean( $_POST['wpinv_discount_excluded_items'] ) : array(),
417
+                'is_recurring'   => ! empty( $_POST['wpinv_discount_recurring'] ),
418
+                'items'          => isset( $_POST['wpinv_discount_items'] ) ? wpinv_clean( $_POST['wpinv_discount_items'] ) : array(),
419
+                'excluded_items' => isset( $_POST['wpinv_discount_excluded_items'] ) ? wpinv_clean( $_POST['wpinv_discount_excluded_items'] ) : array(),
420 420
                 'required_items' => isset( $_POST['wpinv_discount_required_items'] ) ? wpinv_clean( $_POST['wpinv_discount_required_items'] ) : array(),
421
-				'max_uses'       => isset( $_POST['wpinv_discount_max_uses'] ) ? intval( $_POST['wpinv_discount_max_uses'] ) : null,
422
-				'min_total'      => isset( $_POST['wpinv_discount_min_total'] ) ? floatval( $_POST['wpinv_discount_min_total'] ) : null,
423
-				'max_total'      => isset( $_POST['wpinv_discount_max_total'] ) ? floatval( $_POST['wpinv_discount_max_total'] ) : null,
424
-			)
421
+                'max_uses'       => isset( $_POST['wpinv_discount_max_uses'] ) ? intval( $_POST['wpinv_discount_max_uses'] ) : null,
422
+                'min_total'      => isset( $_POST['wpinv_discount_min_total'] ) ? floatval( $_POST['wpinv_discount_min_total'] ) : null,
423
+                'max_total'      => isset( $_POST['wpinv_discount_max_total'] ) ? floatval( $_POST['wpinv_discount_max_total'] ) : null,
424
+            )
425 425
         );
426 426
 
427
-		$discount->save();
428
-		do_action( 'getpaid_discount_metabox_save', $post_id, $discount );
429
-	}
427
+        $discount->save();
428
+        do_action( 'getpaid_discount_metabox_save', $post_id, $discount );
429
+    }
430 430
 }
Please login to merge, or discard this patch.
Spacing   +123 added lines, -123 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  *
8 8
  */
9 9
 
10
-if ( ! defined( 'ABSPATH' ) ) {
10
+if (!defined('ABSPATH')) {
11 11
 	exit; // Exit if accessed directly
12 12
 }
13 13
 
@@ -21,24 +21,24 @@  discard block
 block discarded – undo
21 21
 	 *
22 22
 	 * @param WP_Post $post
23 23
 	 */
24
-    public static function output( $post ) {
24
+    public static function output($post) {
25 25
 
26 26
         // Prepare the discount.
27
-        $discount = new WPInv_Discount( $post );
27
+        $discount = new WPInv_Discount($post);
28 28
 
29 29
         // Nonce field.
30
-        wp_nonce_field( 'getpaid_meta_nonce', 'getpaid_meta_nonce' );
30
+        wp_nonce_field('getpaid_meta_nonce', 'getpaid_meta_nonce');
31 31
 
32
-        do_action( 'wpinv_discount_form_top', $discount );
32
+        do_action('wpinv_discount_form_top', $discount);
33 33
 
34 34
         // Set the currency position.
35 35
         $position = wpinv_currency_position();
36 36
 
37
-        if ( $position == 'left_space' ) {
37
+        if ($position == 'left_space') {
38 38
             $position = 'left';
39 39
         }
40 40
 
41
-        if ( $position == 'right_space' ) {
41
+        if ($position == 'right_space') {
42 42
             $position = 'right';
43 43
         }
44 44
 
@@ -52,69 +52,69 @@  discard block
 block discarded – undo
52 52
         </style>
53 53
         <div class='bsui' style='max-width: 600px;padding-top: 10px;'>
54 54
 
55
-            <?php do_action( 'wpinv_discount_form_first', $discount ); ?>
55
+            <?php do_action('wpinv_discount_form_first', $discount); ?>
56 56
 
57
-            <?php do_action( 'wpinv_discount_form_before_code', $discount ); ?>
57
+            <?php do_action('wpinv_discount_form_before_code', $discount); ?>
58 58
 
59 59
             <div class="form-group mb-3 row">
60 60
                 <label for="wpinv_discount_code" class="col-sm-3 col-form-label">
61
-                    <?php esc_html_e( 'Discount Code', 'invoicing' ); ?>
61
+                    <?php esc_html_e('Discount Code', 'invoicing'); ?>
62 62
                 </label>
63 63
                 <div class="col-sm-8">
64 64
                     <div class="row">
65 65
                         <div class="col-sm-12 form-group mb-3">
66
-                            <input type="text" value="<?php echo esc_attr( $discount->get_code( 'edit' ) ); ?>" placeholder="SUMMER_SALE" name="wpinv_discount_code" id="wpinv_discount_code" style="width: 100%;" />
66
+                            <input type="text" value="<?php echo esc_attr($discount->get_code('edit')); ?>" placeholder="SUMMER_SALE" name="wpinv_discount_code" id="wpinv_discount_code" style="width: 100%;" />
67 67
                         </div>
68 68
                         <div class="col-sm-12">
69 69
                             <?php
70
-                                do_action( 'wpinv_discount_form_before_single_use', $discount );
70
+                                do_action('wpinv_discount_form_before_single_use', $discount);
71 71
 
72 72
                                 aui()->input(
73 73
                                     array(
74 74
                                         'id'      => 'wpinv_discount_single_use',
75 75
                                         'name'    => 'wpinv_discount_single_use',
76 76
                                         'type'    => 'checkbox',
77
-                                        'label'   => __( 'Each customer can only use this discount once', 'invoicing' ),
77
+                                        'label'   => __('Each customer can only use this discount once', 'invoicing'),
78 78
                                         'value'   => '1',
79 79
                                         'checked' => $discount->is_single_use(),
80 80
                                     ),
81 81
                                     true
82 82
                                 );
83 83
 
84
-                                do_action( 'wpinv_discount_form_single_use', $discount );
84
+                                do_action('wpinv_discount_form_single_use', $discount);
85 85
                             ?>
86 86
                         </div>
87 87
                         <div class="col-sm-12">
88 88
                             <?php
89
-                                do_action( 'wpinv_discount_form_before_recurring', $discount );
89
+                                do_action('wpinv_discount_form_before_recurring', $discount);
90 90
 
91 91
                                 aui()->input(
92 92
                                     array(
93 93
                                         'id'      => 'wpinv_discount_recurring',
94 94
                                         'name'    => 'wpinv_discount_recurring',
95 95
                                         'type'    => 'checkbox',
96
-                                        'label'   => __( 'Apply this discount to all recurring payments for subscriptions', 'invoicing' ),
96
+                                        'label'   => __('Apply this discount to all recurring payments for subscriptions', 'invoicing'),
97 97
                                         'value'   => '1',
98 98
                                         'checked' => $discount->is_recurring(),
99 99
                                     ),
100 100
                                     true
101 101
                                 );
102 102
 
103
-                                do_action( 'wpinv_discount_form_recurring', $discount );
103
+                                do_action('wpinv_discount_form_recurring', $discount);
104 104
                             ?>
105 105
                         </div>
106 106
                     </div>
107 107
                 </div>
108 108
                 <div class="col-sm-1 pt-2 pl-0">
109
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Enter a discount code such as 10OFF.', 'invoicing' ); ?>"></span>
109
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Enter a discount code such as 10OFF.', 'invoicing'); ?>"></span>
110 110
                 </div>
111 111
             </div>
112
-            <?php do_action( 'wpinv_discount_form_code', $discount ); ?>
112
+            <?php do_action('wpinv_discount_form_code', $discount); ?>
113 113
 
114
-            <?php do_action( 'wpinv_discount_form_before_type', $discount ); ?>
114
+            <?php do_action('wpinv_discount_form_before_type', $discount); ?>
115 115
             <div class="form-group mb-3 row">
116 116
                 <label for="wpinv_discount_type" class="col-sm-3 col-form-label">
117
-                    <?php esc_html_e( 'Discount Type', 'invoicing' ); ?>
117
+                    <?php esc_html_e('Discount Type', 'invoicing'); ?>
118 118
                 </label>
119 119
                 <div class="col-sm-8">
120 120
                     <?php
@@ -122,9 +122,9 @@  discard block
 block discarded – undo
122 122
                             array(
123 123
                                 'id'               => 'wpinv_discount_type',
124 124
                                 'name'             => 'wpinv_discount_type',
125
-                                'label'            => __( 'Discount Type', 'invoicing' ),
126
-                                'placeholder'      => __( 'Select Discount Type', 'invoicing' ),
127
-                                'value'            => $discount->get_type( 'edit' ),
125
+                                'label'            => __('Discount Type', 'invoicing'),
126
+                                'placeholder'      => __('Select Discount Type', 'invoicing'),
127
+                                'value'            => $discount->get_type('edit'),
128 128
                                 'select2'          => true,
129 129
                                 'data-allow-clear' => 'false',
130 130
                                 'options'          => wpinv_get_discount_types(),
@@ -134,49 +134,49 @@  discard block
 block discarded – undo
134 134
                     ?>
135 135
                 </div>
136 136
                 <div class="col-sm-1 pt-2 pl-0">
137
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Discount type.', 'invoicing' ); ?>"></span>
137
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Discount type.', 'invoicing'); ?>"></span>
138 138
                 </div>
139 139
             </div>
140
-            <?php do_action( 'wpinv_discount_form_type', $discount ); ?>
140
+            <?php do_action('wpinv_discount_form_type', $discount); ?>
141 141
 
142
-            <?php do_action( 'wpinv_discount_form_before_amount', $discount ); ?>
143
-            <div class="form-group mb-3 row <?php echo esc_attr( $discount->get_type( 'edit' ) ); ?>" id="wpinv_discount_amount_wrap">
142
+            <?php do_action('wpinv_discount_form_before_amount', $discount); ?>
143
+            <div class="form-group mb-3 row <?php echo esc_attr($discount->get_type('edit')); ?>" id="wpinv_discount_amount_wrap">
144 144
                 <label for="wpinv_discount_amount" class="col-sm-3 col-form-label">
145
-                    <?php esc_html_e( 'Discount Amount', 'invoicing' ); ?>
145
+                    <?php esc_html_e('Discount Amount', 'invoicing'); ?>
146 146
                 </label>
147 147
                 <div class="col-sm-8">
148 148
                     <div class="input-group input-group-sm">
149 149
 
150
-                        <?php if ( 'left' == $position ) : ?>
151
-                            <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?>
150
+                        <?php if ('left' == $position) : ?>
151
+                            <?php if (empty($GLOBALS['aui_bs5'])) : ?>
152 152
                                 <div class="input-group-prepend left wpinv-if-flat">
153 153
                                     <span class="input-group-text">
154
-                                        <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
154
+                                        <?php echo wp_kses_post(wpinv_currency_symbol()); ?>
155 155
                                     </span>
156 156
                                 </div>
157 157
                             <?php else : ?>
158 158
                                 <span class="input-group-text left wpinv-if-flat">
159
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
159
+                                    <?php echo wp_kses_post(wpinv_currency_symbol()); ?>
160 160
                                 </span>
161 161
                             <?php endif; ?>
162 162
                         <?php endif; ?>
163 163
 
164
-                        <input type="text" name="wpinv_discount_amount" id="wpinv_discount_amount" value="<?php echo esc_attr( $discount->get_amount( 'edit' ) ); ?>" placeholder="0" class="form-control">
164
+                        <input type="text" name="wpinv_discount_amount" id="wpinv_discount_amount" value="<?php echo esc_attr($discount->get_amount('edit')); ?>" placeholder="0" class="form-control">
165 165
 
166
-                        <?php if ( 'right' == $position ) : ?>
167
-                            <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?>
166
+                        <?php if ('right' == $position) : ?>
167
+                            <?php if (empty($GLOBALS['aui_bs5'])) : ?>
168 168
                                 <div class="input-group-append right wpinv-if-flat">
169 169
                                     <span class="input-group-text">
170
-                                        <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
170
+                                        <?php echo wp_kses_post(wpinv_currency_symbol()); ?>
171 171
                                     </span>
172 172
                                 </div>
173 173
                             <?php else : ?>
174 174
                                 <span class="input-group-text left wpinv-if-flat">
175
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
175
+                                    <?php echo wp_kses_post(wpinv_currency_symbol()); ?>
176 176
                                 </span>
177 177
                             <?php endif; ?>
178 178
                         <?php endif; ?>
179
-                        <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?>
179
+                        <?php if (empty($GLOBALS['aui_bs5'])) : ?>
180 180
                             <div class="input-group-append right wpinv-if-percent">
181 181
                                 <span class="input-group-text">%</span>
182 182
                             </div>
@@ -186,15 +186,15 @@  discard block
 block discarded – undo
186 186
                     </div>
187 187
                 </div>
188 188
                 <div class="col-sm-1 pt-2 pl-0">
189
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Enter the discount value. Ex: 10', 'invoicing' ); ?>"></span>
189
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Enter the discount value. Ex: 10', 'invoicing'); ?>"></span>
190 190
                 </div>
191 191
             </div>
192
-            <?php do_action( 'wpinv_discount_form_amount', $discount ); ?>
192
+            <?php do_action('wpinv_discount_form_amount', $discount); ?>
193 193
 
194
-            <?php do_action( 'wpinv_discount_form_before_items', $discount ); ?>
194
+            <?php do_action('wpinv_discount_form_before_items', $discount); ?>
195 195
             <div class="form-group mb-3 row">
196 196
                 <label for="wpinv_discount_items" class="col-sm-3 col-form-label">
197
-                    <?php esc_html_e( 'Items', 'invoicing' ); ?>
197
+                    <?php esc_html_e('Items', 'invoicing'); ?>
198 198
                 </label>
199 199
                 <div class="col-sm-8">
200 200
                     <?php
@@ -202,9 +202,9 @@  discard block
 block discarded – undo
202 202
                             array(
203 203
                                 'id'               => 'wpinv_discount_items',
204 204
                                 'name'             => 'wpinv_discount_items[]',
205
-                                'label'            => __( 'Items', 'invoicing' ),
206
-                                'placeholder'      => __( 'Select Items', 'invoicing' ),
207
-                                'value'            => $discount->get_items( 'edit' ),
205
+                                'label'            => __('Items', 'invoicing'),
206
+                                'placeholder'      => __('Select Items', 'invoicing'),
207
+                                'value'            => $discount->get_items('edit'),
208 208
                                 'select2'          => true,
209 209
                                 'multiple'         => true,
210 210
                                 'data-allow-clear' => 'false',
@@ -215,15 +215,15 @@  discard block
 block discarded – undo
215 215
                     ?>
216 216
                 </div>
217 217
                 <div class="col-sm-1 pt-2 pl-0">
218
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Select the items that are allowed to use this discount or leave blank to use this discount all items.', 'invoicing' ); ?>"></span>
218
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Select the items that are allowed to use this discount or leave blank to use this discount all items.', 'invoicing'); ?>"></span>
219 219
                 </div>
220 220
             </div>
221
-            <?php do_action( 'wpinv_discount_form_items', $discount ); ?>
221
+            <?php do_action('wpinv_discount_form_items', $discount); ?>
222 222
 
223
-            <?php do_action( 'wpinv_discount_form_before_excluded_items', $discount ); ?>
223
+            <?php do_action('wpinv_discount_form_before_excluded_items', $discount); ?>
224 224
             <div class="form-group mb-3 row">
225 225
                 <label for="wpinv_discount_excluded_items" class="col-sm-3 col-form-label">
226
-                    <?php esc_html_e( 'Excluded Items', 'invoicing' ); ?>
226
+                    <?php esc_html_e('Excluded Items', 'invoicing'); ?>
227 227
                 </label>
228 228
                 <div class="col-sm-8">
229 229
                     <?php
@@ -231,9 +231,9 @@  discard block
 block discarded – undo
231 231
                             array(
232 232
                                 'id'               => 'wpinv_discount_excluded_items',
233 233
                                 'name'             => 'wpinv_discount_excluded_items[]',
234
-                                'label'            => __( 'Excluded Items', 'invoicing' ),
235
-                                'placeholder'      => __( 'Select Items', 'invoicing' ),
236
-                                'value'            => $discount->get_excluded_items( 'edit' ),
234
+                                'label'            => __('Excluded Items', 'invoicing'),
235
+                                'placeholder'      => __('Select Items', 'invoicing'),
236
+                                'value'            => $discount->get_excluded_items('edit'),
237 237
                                 'select2'          => true,
238 238
                                 'multiple'         => true,
239 239
                                 'data-allow-clear' => 'false',
@@ -244,15 +244,15 @@  discard block
 block discarded – undo
244 244
                     ?>
245 245
                 </div>
246 246
                 <div class="col-sm-1 pt-2 pl-0">
247
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Select all the items that are not allowed to use this discount.', 'invoicing' ); ?>"></span>
247
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Select all the items that are not allowed to use this discount.', 'invoicing'); ?>"></span>
248 248
                 </div>
249 249
             </div>
250
-            <?php do_action( 'wpinv_discount_form_excluded_items', $discount ); ?>
250
+            <?php do_action('wpinv_discount_form_excluded_items', $discount); ?>
251 251
 
252
-            <?php do_action( 'wpinv_discount_form_before_required_items', $discount ); ?>
252
+            <?php do_action('wpinv_discount_form_before_required_items', $discount); ?>
253 253
             <div class="form-group mb-3 row">
254 254
                 <label for="wpinv_discount_required_items" class="col-sm-3 col-form-label">
255
-                    <?php esc_html_e( 'Required Items', 'invoicing' ); ?>
255
+                    <?php esc_html_e('Required Items', 'invoicing'); ?>
256 256
                 </label>
257 257
                 <div class="col-sm-8">
258 258
                     <?php
@@ -260,9 +260,9 @@  discard block
 block discarded – undo
260 260
                             array(
261 261
                                 'id'               => 'wpinv_discount_required_items',
262 262
                                 'name'             => 'wpinv_discount_required_items[]',
263
-                                'label'            => __( 'Required Items', 'invoicing' ),
264
-                                'placeholder'      => __( 'Select Items', 'invoicing' ),
265
-                                'value'            => $discount->get_required_items( 'edit' ),
263
+                                'label'            => __('Required Items', 'invoicing'),
264
+                                'placeholder'      => __('Select Items', 'invoicing'),
265
+                                'value'            => $discount->get_required_items('edit'),
266 266
                                 'select2'          => true,
267 267
                                 'multiple'         => true,
268 268
                                 'data-allow-clear' => 'false',
@@ -273,15 +273,15 @@  discard block
 block discarded – undo
273 273
                     ?>
274 274
                 </div>
275 275
                 <div class="col-sm-1 pt-2 pl-0">
276
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Select all the items that are required to be in the cart before using this discount.', 'invoicing' ); ?>"></span>
276
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Select all the items that are required to be in the cart before using this discount.', 'invoicing'); ?>"></span>
277 277
                 </div>
278 278
             </div>
279
-            <?php do_action( 'wpinv_discount_form_required_items', $discount ); ?>
279
+            <?php do_action('wpinv_discount_form_required_items', $discount); ?>
280 280
 
281
-            <?php do_action( 'wpinv_discount_form_before_start', $discount ); ?>
281
+            <?php do_action('wpinv_discount_form_before_start', $discount); ?>
282 282
             <div class="form-group mb-3 row">
283 283
                 <label for="wpinv_discount_start" class="col-sm-3 col-form-label">
284
-                    <?php esc_html_e( 'Start Date', 'invoicing' ); ?>
284
+                    <?php esc_html_e('Start Date', 'invoicing'); ?>
285 285
                 </label>
286 286
                 <div class="col-sm-8">
287 287
                     <?php
@@ -290,10 +290,10 @@  discard block
 block discarded – undo
290 290
                                 'type'             => 'datepicker',
291 291
                                 'id'               => 'wpinv_discount_start',
292 292
                                 'name'             => 'wpinv_discount_start',
293
-                                'label'            => __( 'Start Date', 'invoicing' ),
293
+                                'label'            => __('Start Date', 'invoicing'),
294 294
                                 'placeholder'      => 'YYYY-MM-DD 00:00',
295 295
                                 'class'            => 'form-control-sm',
296
-                                'value'            => $discount->get_start_date( 'edit' ),
296
+                                'value'            => $discount->get_start_date('edit'),
297 297
                                 'extra_attributes' => array(
298 298
                                     'data-enable-time' => 'true',
299 299
                                     'data-time_24hr'   => 'true',
@@ -305,15 +305,15 @@  discard block
 block discarded – undo
305 305
                     ?>
306 306
                 </div>
307 307
                 <div class="col-sm-1 pt-2 pl-0">
308
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing' ); ?>"></span>
308
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing'); ?>"></span>
309 309
                 </div>
310 310
             </div>
311
-            <?php do_action( 'wpinv_discount_form_start', $discount ); ?>
311
+            <?php do_action('wpinv_discount_form_start', $discount); ?>
312 312
 
313
-            <?php do_action( 'wpinv_discount_form_before_expiration', $discount ); ?>
313
+            <?php do_action('wpinv_discount_form_before_expiration', $discount); ?>
314 314
             <div class="form-group mb-3 row">
315 315
                 <label for="wpinv_discount_expiration" class="col-sm-3 col-form-label">
316
-                    <?php esc_html_e( 'Expiration Date', 'invoicing' ); ?>
316
+                    <?php esc_html_e('Expiration Date', 'invoicing'); ?>
317 317
                 </label>
318 318
                 <div class="col-sm-8">
319 319
                     <?php
@@ -322,10 +322,10 @@  discard block
 block discarded – undo
322 322
                                 'type'             => 'datepicker',
323 323
                                 'id'               => 'wpinv_discount_expiration',
324 324
                                 'name'             => 'wpinv_discount_expiration',
325
-                                'label'            => __( 'Expiration Date', 'invoicing' ),
325
+                                'label'            => __('Expiration Date', 'invoicing'),
326 326
                                 'placeholder'      => 'YYYY-MM-DD 00:00',
327 327
                                 'class'            => 'form-control-sm',
328
-                                'value'            => $discount->get_end_date( 'edit' ),
328
+                                'value'            => $discount->get_end_date('edit'),
329 329
                                 'extra_attributes' => array(
330 330
                                     'data-enable-time' => 'true',
331 331
                                     'data-time_24hr'   => 'true',
@@ -339,111 +339,111 @@  discard block
 block discarded – undo
339 339
                     ?>
340 340
                 </div>
341 341
                 <div class="col-sm-1 pt-2 pl-0">
342
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Optionally set the date after which the discount will expire.', 'invoicing' ); ?>"></span>
342
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Optionally set the date after which the discount will expire.', 'invoicing'); ?>"></span>
343 343
                 </div>
344 344
             </div>
345
-            <?php do_action( 'wpinv_discount_form_expiration', $discount ); ?>
345
+            <?php do_action('wpinv_discount_form_expiration', $discount); ?>
346 346
 
347
-            <?php do_action( 'wpinv_discount_form_before_min_total', $discount ); ?>
347
+            <?php do_action('wpinv_discount_form_before_min_total', $discount); ?>
348 348
             <div class="form-group mb-3 row">
349 349
                 <label for="wpinv_discount_min_total" class="col-sm-3 col-form-label">
350
-                    <?php esc_html_e( 'Minimum Amount', 'invoicing' ); ?>
350
+                    <?php esc_html_e('Minimum Amount', 'invoicing'); ?>
351 351
                 </label>
352 352
                 <div class="col-sm-8">
353 353
                     <div class="input-group input-group-sm">
354 354
 
355
-                        <?php if ( 'left' == $position ) : ?>
356
-                            <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?>
355
+                        <?php if ('left' == $position) : ?>
356
+                            <?php if (empty($GLOBALS['aui_bs5'])) : ?>
357 357
                                 <div class="input-group-prepend">
358
-                                    <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span>
358
+                                    <span class="input-group-text"><?php echo wp_kses_post(wpinv_currency_symbol()); ?></span>
359 359
                                 </div>
360 360
                             <?php else : ?>
361 361
                                 <span class="input-group-text">
362
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
362
+                                    <?php echo wp_kses_post(wpinv_currency_symbol()); ?>
363 363
                                 </span>
364 364
                             <?php endif; ?>
365 365
                         <?php endif; ?>
366 366
 
367
-                        <input type="text" name="wpinv_discount_min_total" id="wpinv_discount_min_total" value="<?php echo esc_attr( $discount->get_minimum_total( 'edit' ) ); ?>" placeholder="<?php esc_attr_e( 'No minimum', 'invoicing' ); ?>" class="form-control">
367
+                        <input type="text" name="wpinv_discount_min_total" id="wpinv_discount_min_total" value="<?php echo esc_attr($discount->get_minimum_total('edit')); ?>" placeholder="<?php esc_attr_e('No minimum', 'invoicing'); ?>" class="form-control">
368 368
 
369
-                        <?php if ( 'left' != $position ) : ?>
370
-                            <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?>
369
+                        <?php if ('left' != $position) : ?>
370
+                            <?php if (empty($GLOBALS['aui_bs5'])) : ?>
371 371
                                 <div class="input-group-append">
372
-                                    <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span>
372
+                                    <span class="input-group-text"><?php echo wp_kses_post(wpinv_currency_symbol()); ?></span>
373 373
                                 </div>
374 374
                             <?php else : ?>
375 375
                                 <span class="input-group-text">
376
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
376
+                                    <?php echo wp_kses_post(wpinv_currency_symbol()); ?>
377 377
                                 </span>
378 378
                             <?php endif; ?>
379 379
                         <?php endif; ?>
380 380
                     </div>
381 381
                 </div>
382 382
                 <div class="col-sm-1 pt-2 pl-0">
383
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Optionally set the minimum amount (including taxes) required to use this discount.', 'invoicing' ); ?>"></span>
383
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Optionally set the minimum amount (including taxes) required to use this discount.', 'invoicing'); ?>"></span>
384 384
                 </div>
385 385
             </div>
386
-            <?php do_action( 'wpinv_discount_form_min_total', $discount ); ?>
386
+            <?php do_action('wpinv_discount_form_min_total', $discount); ?>
387 387
 
388
-            <?php do_action( 'wpinv_discount_form_before_max_total', $discount ); ?>
388
+            <?php do_action('wpinv_discount_form_before_max_total', $discount); ?>
389 389
             <div class="form-group mb-3 row">
390 390
                 <label for="wpinv_discount_max_total" class="col-sm-3 col-form-label">
391
-                    <?php esc_html_e( 'Maximum Amount', 'invoicing' ); ?>
391
+                    <?php esc_html_e('Maximum Amount', 'invoicing'); ?>
392 392
                 </label>
393 393
                 <div class="col-sm-8">
394 394
                     <div class="input-group input-group-sm">
395
-                        <?php if ( 'left' == $position ) : ?>
396
-                            <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?>
395
+                        <?php if ('left' == $position) : ?>
396
+                            <?php if (empty($GLOBALS['aui_bs5'])) : ?>
397 397
                                 <div class="input-group-prepend">
398
-                                    <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span>
398
+                                    <span class="input-group-text"><?php echo wp_kses_post(wpinv_currency_symbol()); ?></span>
399 399
                                 </div>
400 400
                             <?php else : ?>
401 401
                                 <span class="input-group-text">
402
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
402
+                                    <?php echo wp_kses_post(wpinv_currency_symbol()); ?>
403 403
                                 </span>
404 404
                             <?php endif; ?>
405 405
                         <?php endif; ?>
406 406
 
407
-                        <input type="text" name="wpinv_discount_max_total" id="wpinv_discount_max_total" value="<?php echo esc_attr( $discount->get_maximum_total( 'edit' ) ); ?>" placeholder="<?php esc_attr_e( 'No maximum', 'invoicing' ); ?>" class="form-control">
407
+                        <input type="text" name="wpinv_discount_max_total" id="wpinv_discount_max_total" value="<?php echo esc_attr($discount->get_maximum_total('edit')); ?>" placeholder="<?php esc_attr_e('No maximum', 'invoicing'); ?>" class="form-control">
408 408
 
409
-                        <?php if ( 'left' != $position ) : ?>
410
-                            <?php if ( empty( $GLOBALS['aui_bs5'] ) ) : ?>
409
+                        <?php if ('left' != $position) : ?>
410
+                            <?php if (empty($GLOBALS['aui_bs5'])) : ?>
411 411
                                 <div class="input-group-append">
412
-                                    <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span>
412
+                                    <span class="input-group-text"><?php echo wp_kses_post(wpinv_currency_symbol()); ?></span>
413 413
                                 </div>
414 414
                             <?php else : ?>
415 415
                                 <span class="input-group-text">
416
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
416
+                                    <?php echo wp_kses_post(wpinv_currency_symbol()); ?>
417 417
                                 </span>
418 418
                             <?php endif; ?>
419 419
                         <?php endif; ?>
420 420
                     </div>
421 421
                 </div>
422 422
                 <div class="col-sm-1 pt-2 pl-0">
423
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Optionally set the maximum amount (including taxes) allowed when using this discount.', 'invoicing' ); ?>"></span>
423
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Optionally set the maximum amount (including taxes) allowed when using this discount.', 'invoicing'); ?>"></span>
424 424
                 </div>
425 425
             </div>
426
-            <?php do_action( 'wpinv_discount_form_before_max_total', $discount ); ?>
426
+            <?php do_action('wpinv_discount_form_before_max_total', $discount); ?>
427 427
 
428
-            <?php do_action( 'wpinv_discount_form_before_max_uses', $discount ); ?>
428
+            <?php do_action('wpinv_discount_form_before_max_uses', $discount); ?>
429 429
             <div class="form-group mb-3 row">
430 430
                 <label for="wpinv_discount_max_uses" class="col-sm-3 col-form-label">
431
-                    <?php esc_html_e( 'Maximum Uses', 'invoicing' ); ?>
431
+                    <?php esc_html_e('Maximum Uses', 'invoicing'); ?>
432 432
                 </label>
433 433
                 <div class="col-sm-8">
434
-                    <input type="text" value="<?php echo esc_attr( $discount->get_max_uses( 'edit' ) ); ?>" placeholder="<?php esc_attr_e( 'Unlimited', 'invoicing' ); ?>" name="wpinv_discount_max_uses" id="wpinv_discount_max_uses" style="width: 100%;" />
434
+                    <input type="text" value="<?php echo esc_attr($discount->get_max_uses('edit')); ?>" placeholder="<?php esc_attr_e('Unlimited', 'invoicing'); ?>" name="wpinv_discount_max_uses" id="wpinv_discount_max_uses" style="width: 100%;" />
435 435
                 </div>
436 436
                 <div class="col-sm-1 pt-2 pl-0">
437
-                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e( 'Optionally set the maximum number of times that this discount code can be used.', 'invoicing' ); ?>"></span>
437
+                    <span class="wpi-help-tip dashicons dashicons-editor-help" title="<?php esc_attr_e('Optionally set the maximum number of times that this discount code can be used.', 'invoicing'); ?>"></span>
438 438
                 </div>
439 439
             </div>
440
-            <?php do_action( 'wpinv_discount_form_max_uses', $discount ); ?>
440
+            <?php do_action('wpinv_discount_form_max_uses', $discount); ?>
441 441
 
442
-            <?php do_action( 'wpinv_discount_form_last', $discount ); ?>
442
+            <?php do_action('wpinv_discount_form_last', $discount); ?>
443 443
 
444 444
         </div>
445 445
         <?php
446
-        do_action( 'wpinv_discount_form_bottom', $post );
446
+        do_action('wpinv_discount_form_bottom', $post);
447 447
     }
448 448
 
449 449
     /**
@@ -451,31 +451,31 @@  discard block
 block discarded – undo
451 451
 	 *
452 452
 	 * @param int $post_id
453 453
 	 */
454
-	public static function save( $post_id ) {
454
+	public static function save($post_id) {
455 455
 
456 456
         // Prepare the discount.
457
-        $discount = new WPInv_Discount( $post_id );
457
+        $discount = new WPInv_Discount($post_id);
458 458
 
459 459
         // Load new data.
460 460
         $discount->set_props(
461 461
 			array(
462
-				'code'           => isset( $_POST['wpinv_discount_code'] ) ? wpinv_clean( $_POST['wpinv_discount_code'] ) : null,
463
-				'amount'         => isset( $_POST['wpinv_discount_amount'] ) ? floatval( $_POST['wpinv_discount_amount'] ) : null,
464
-				'start'          => isset( $_POST['wpinv_discount_start'] ) ? wpinv_clean( $_POST['wpinv_discount_start'] ) : null,
465
-				'expiration'     => isset( $_POST['wpinv_discount_expiration'] ) ? wpinv_clean( $_POST['wpinv_discount_expiration'] ) : null,
466
-				'is_single_use'  => ! empty( $_POST['wpinv_discount_single_use'] ),
467
-                'type'           => isset( $_POST['wpinv_discount_type'] ) ? wpinv_clean( $_POST['wpinv_discount_type'] ) : null,
468
-				'is_recurring'   => ! empty( $_POST['wpinv_discount_recurring'] ),
469
-				'items'          => isset( $_POST['wpinv_discount_items'] ) ? wpinv_clean( $_POST['wpinv_discount_items'] ) : array(),
470
-				'excluded_items' => isset( $_POST['wpinv_discount_excluded_items'] ) ? wpinv_clean( $_POST['wpinv_discount_excluded_items'] ) : array(),
471
-                'required_items' => isset( $_POST['wpinv_discount_required_items'] ) ? wpinv_clean( $_POST['wpinv_discount_required_items'] ) : array(),
472
-				'max_uses'       => isset( $_POST['wpinv_discount_max_uses'] ) ? intval( $_POST['wpinv_discount_max_uses'] ) : null,
473
-				'min_total'      => isset( $_POST['wpinv_discount_min_total'] ) ? floatval( $_POST['wpinv_discount_min_total'] ) : null,
474
-				'max_total'      => isset( $_POST['wpinv_discount_max_total'] ) ? floatval( $_POST['wpinv_discount_max_total'] ) : null,
462
+				'code'           => isset($_POST['wpinv_discount_code']) ? wpinv_clean($_POST['wpinv_discount_code']) : null,
463
+				'amount'         => isset($_POST['wpinv_discount_amount']) ? floatval($_POST['wpinv_discount_amount']) : null,
464
+				'start'          => isset($_POST['wpinv_discount_start']) ? wpinv_clean($_POST['wpinv_discount_start']) : null,
465
+				'expiration'     => isset($_POST['wpinv_discount_expiration']) ? wpinv_clean($_POST['wpinv_discount_expiration']) : null,
466
+				'is_single_use'  => !empty($_POST['wpinv_discount_single_use']),
467
+                'type'           => isset($_POST['wpinv_discount_type']) ? wpinv_clean($_POST['wpinv_discount_type']) : null,
468
+				'is_recurring'   => !empty($_POST['wpinv_discount_recurring']),
469
+				'items'          => isset($_POST['wpinv_discount_items']) ? wpinv_clean($_POST['wpinv_discount_items']) : array(),
470
+				'excluded_items' => isset($_POST['wpinv_discount_excluded_items']) ? wpinv_clean($_POST['wpinv_discount_excluded_items']) : array(),
471
+                'required_items' => isset($_POST['wpinv_discount_required_items']) ? wpinv_clean($_POST['wpinv_discount_required_items']) : array(),
472
+				'max_uses'       => isset($_POST['wpinv_discount_max_uses']) ? intval($_POST['wpinv_discount_max_uses']) : null,
473
+				'min_total'      => isset($_POST['wpinv_discount_min_total']) ? floatval($_POST['wpinv_discount_min_total']) : null,
474
+				'max_total'      => isset($_POST['wpinv_discount_max_total']) ? floatval($_POST['wpinv_discount_max_total']) : null,
475 475
 			)
476 476
         );
477 477
 
478 478
 		$discount->save();
479
-		do_action( 'getpaid_discount_metabox_save', $post_id, $discount );
479
+		do_action('getpaid_discount_metabox_save', $post_id, $discount);
480 480
 	}
481 481
 }
Please login to merge, or discard this patch.
Braces   +35 added lines, -14 removed lines patch added patch discarded remove patch
@@ -154,9 +154,12 @@  discard block
 block discarded – undo
154 154
                                         <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
155 155
                                     </span>
156 156
                                 </div>
157
-                            <?php else : ?>
157
+                            <?php else {
158
+    : ?>
158 159
                                 <span class="input-group-text left wpinv-if-flat">
159
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
160
+                                    <?php echo wp_kses_post( wpinv_currency_symbol() );
161
+}
162
+?>
160 163
                                 </span>
161 164
                             <?php endif; ?>
162 165
                         <?php endif; ?>
@@ -170,9 +173,12 @@  discard block
 block discarded – undo
170 173
                                         <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
171 174
                                     </span>
172 175
                                 </div>
173
-                            <?php else : ?>
176
+                            <?php else {
177
+    : ?>
174 178
                                 <span class="input-group-text left wpinv-if-flat">
175
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
179
+                                    <?php echo wp_kses_post( wpinv_currency_symbol() );
180
+}
181
+?>
176 182
                                 </span>
177 183
                             <?php endif; ?>
178 184
                         <?php endif; ?>
@@ -180,9 +186,12 @@  discard block
 block discarded – undo
180 186
                             <div class="input-group-append right wpinv-if-percent">
181 187
                                 <span class="input-group-text">%</span>
182 188
                             </div>
183
-                        <?php else : ?>
189
+                        <?php else {
190
+    : ?>
184 191
                             <span class="input-group-text right wpinv-if-percent">%</span>
185
-                        <?php endif; ?>
192
+                        <?php endif;
193
+}
194
+?>
186 195
                     </div>
187 196
                 </div>
188 197
                 <div class="col-sm-1 pt-2 pl-0">
@@ -357,9 +366,12 @@  discard block
 block discarded – undo
357 366
                                 <div class="input-group-prepend">
358 367
                                     <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span>
359 368
                                 </div>
360
-                            <?php else : ?>
369
+                            <?php else {
370
+    : ?>
361 371
                                 <span class="input-group-text">
362
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
372
+                                    <?php echo wp_kses_post( wpinv_currency_symbol() );
373
+}
374
+?>
363 375
                                 </span>
364 376
                             <?php endif; ?>
365 377
                         <?php endif; ?>
@@ -371,9 +383,12 @@  discard block
 block discarded – undo
371 383
                                 <div class="input-group-append">
372 384
                                     <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span>
373 385
                                 </div>
374
-                            <?php else : ?>
386
+                            <?php else {
387
+    : ?>
375 388
                                 <span class="input-group-text">
376
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
389
+                                    <?php echo wp_kses_post( wpinv_currency_symbol() );
390
+}
391
+?>
377 392
                                 </span>
378 393
                             <?php endif; ?>
379 394
                         <?php endif; ?>
@@ -397,9 +412,12 @@  discard block
 block discarded – undo
397 412
                                 <div class="input-group-prepend">
398 413
                                     <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span>
399 414
                                 </div>
400
-                            <?php else : ?>
415
+                            <?php else {
416
+    : ?>
401 417
                                 <span class="input-group-text">
402
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
418
+                                    <?php echo wp_kses_post( wpinv_currency_symbol() );
419
+}
420
+?>
403 421
                                 </span>
404 422
                             <?php endif; ?>
405 423
                         <?php endif; ?>
@@ -411,9 +429,12 @@  discard block
 block discarded – undo
411 429
                                 <div class="input-group-append">
412 430
                                     <span class="input-group-text"><?php echo wp_kses_post( wpinv_currency_symbol() ); ?></span>
413 431
                                 </div>
414
-                            <?php else : ?>
432
+                            <?php else {
433
+    : ?>
415 434
                                 <span class="input-group-text">
416
-                                    <?php echo wp_kses_post( wpinv_currency_symbol() ); ?>
435
+                                    <?php echo wp_kses_post( wpinv_currency_symbol() );
436
+}
437
+?>
417 438
                                 </span>
418 439
                             <?php endif; ?>
419 440
                         <?php endif; ?>
Please login to merge, or discard this patch.
includes/admin/class-wpinv-admin-menus.php 2 patches
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -24,14 +24,14 @@  discard block
 block discarded – undo
24 24
     }
25 25
 
26 26
     /**
27
-	 * Highlights sub menus.
28
-	 */
29
-	public function set_admin_menu_class() {
30
-		global $current_screen, $parent_file, $submenu_file;
27
+     * Highlights sub menus.
28
+     */
29
+    public function set_admin_menu_class() {
30
+        global $current_screen, $parent_file, $submenu_file;
31 31
 
32 32
         if ( ! empty( $current_screen->id ) && in_array( $current_screen->id, array( 'wpi_discount', 'wpi_payment_form', 'wpi_invoice' ) ) ) {
33
-			$parent_file = 'wpinv';
34
-			$submenu_file = 'edit.php?post_type=' . $current_screen->id;
33
+            $parent_file = 'wpinv';
34
+            $submenu_file = 'edit.php?post_type=' . $current_screen->id;
35 35
         }
36 36
 
37 37
     }
@@ -165,8 +165,8 @@  discard block
 block discarded – undo
165 165
                 foreach ( wpinv_get_settings_tabs() as $tab_id => $tab_name ) {
166 166
                     $tab_url = add_query_arg(
167 167
                         array(
168
-							'settings-updated' => false,
169
-							'tab'              => $tab_id,
168
+                            'settings-updated' => false,
169
+                            'tab'              => $tab_id,
170 170
                         ),
171 171
                         'admin.php?page=wpinv-settings'
172 172
                     );
@@ -193,9 +193,9 @@  discard block
 block discarded – undo
193 193
                     $number++;
194 194
                     $tab_url = add_query_arg(
195 195
                         array(
196
-							'settings-updated' => false,
197
-							'tab'              => $active_tab,
198
-							'section'          => $section_id,
196
+                            'settings-updated' => false,
197
+                            'tab'              => $active_tab,
198
+                            'section'          => $section_id,
199 199
                         ),
200 200
                         admin_url( 'admin.php?page=wpinv-settings' )
201 201
                     );
Please login to merge, or discard this patch.
Spacing   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Setup menus in WP admin.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * WC_Admin_Menus Class.
@@ -13,14 +13,14 @@  discard block
 block discarded – undo
13 13
      * Hook in tabs.
14 14
      */
15 15
     public function __construct() {
16
-        add_action( 'admin_head', array( $this, 'set_admin_menu_class' ) );
17
-        add_action( 'admin_menu', array( $this, 'admin_menu' ), 10 );
18
-        add_action( 'admin_menu', array( $this, 'add_customers_menu' ), 18 );
19
-        add_action( 'admin_menu', array( $this, 'add_subscriptions_menu' ), 40 );
20
-        add_action( 'admin_menu', array( $this, 'add_addons_menu' ), 100 );
21
-        add_action( 'admin_menu', array( $this, 'add_settings_menu' ), 60 );
22
-        add_action( 'admin_menu', array( $this, 'remove_admin_submenus' ), 10 );
23
-        add_action( 'admin_head-nav-menus.php', array( $this, 'add_nav_menu_meta_boxes' ) );
16
+        add_action('admin_head', array($this, 'set_admin_menu_class'));
17
+        add_action('admin_menu', array($this, 'admin_menu'), 10);
18
+        add_action('admin_menu', array($this, 'add_customers_menu'), 18);
19
+        add_action('admin_menu', array($this, 'add_subscriptions_menu'), 40);
20
+        add_action('admin_menu', array($this, 'add_addons_menu'), 100);
21
+        add_action('admin_menu', array($this, 'add_settings_menu'), 60);
22
+        add_action('admin_menu', array($this, 'remove_admin_submenus'), 10);
23
+        add_action('admin_head-nav-menus.php', array($this, 'add_nav_menu_meta_boxes'));
24 24
     }
25 25
 
26 26
     /**
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
 	public function set_admin_menu_class() {
30 30
 		global $current_screen, $parent_file, $submenu_file;
31 31
 
32
-        if ( ! empty( $current_screen->id ) && in_array( $current_screen->id, array( 'wpi_discount', 'wpi_payment_form', 'wpi_invoice' ) ) ) {
32
+        if (!empty($current_screen->id) && in_array($current_screen->id, array('wpi_discount', 'wpi_payment_form', 'wpi_invoice'))) {
33 33
 			$parent_file = 'wpinv';
34 34
 			$submenu_file = 'edit.php?post_type=' . $current_screen->id;
35 35
         }
@@ -38,14 +38,14 @@  discard block
 block discarded – undo
38 38
 
39 39
     public function admin_menu() {
40 40
 
41
-        $capability = apply_filters( 'invoicing_capability', wpinv_get_capability() );
41
+        $capability = apply_filters('invoicing_capability', wpinv_get_capability());
42 42
         add_menu_page(
43
-            __( 'GetPaid', 'invoicing' ),
44
-            __( 'GetPaid', 'invoicing' ),
43
+            __('GetPaid', 'invoicing'),
44
+            __('GetPaid', 'invoicing'),
45 45
             $capability,
46 46
             'wpinv',
47 47
             null,
48
-            'data:image/svg+xml;base64,' . base64_encode( file_get_contents( WPINV_PLUGIN_DIR . 'assets/images/GetPaid.svg' ) ),
48
+            'data:image/svg+xml;base64,' . base64_encode(file_get_contents(WPINV_PLUGIN_DIR . 'assets/images/GetPaid.svg')),
49 49
             '54.123460'
50 50
         );
51 51
 
@@ -57,11 +57,11 @@  discard block
 block discarded – undo
57 57
     public function add_customers_menu() {
58 58
         add_submenu_page(
59 59
             'wpinv',
60
-            __( 'Customers', 'invoicing' ),
61
-            __( 'Customers', 'invoicing' ),
60
+            __('Customers', 'invoicing'),
61
+            __('Customers', 'invoicing'),
62 62
             wpinv_get_capability(),
63 63
             'wpinv-customers',
64
-            array( $this, 'customers_page' )
64
+            array($this, 'customers_page')
65 65
         );
66 66
     }
67 67
 
@@ -71,8 +71,8 @@  discard block
 block discarded – undo
71 71
     public function add_subscriptions_menu() {
72 72
         add_submenu_page(
73 73
             'wpinv',
74
-            __( 'Subscriptions', 'invoicing' ),
75
-            __( 'Subscriptions', 'invoicing' ),
74
+            __('Subscriptions', 'invoicing'),
75
+            __('Subscriptions', 'invoicing'),
76 76
             wpinv_get_capability(),
77 77
             'wpinv-subscriptions',
78 78
             'wpinv_subscriptions_page'
@@ -94,13 +94,13 @@  discard block
 block discarded – undo
94 94
                     width: 120px;
95 95
                 }
96 96
             </style>
97
-            <h1><?php echo esc_html( __( 'Customers', 'invoicing' ) ); ?>&nbsp;<a href="<?php echo esc_url( wp_nonce_url( add_query_arg( 'getpaid-admin-action', 'download_customers' ), 'getpaid-nonce', 'getpaid-nonce' ) ); ?>" class="page-title-action"><?php esc_html_e( 'Export', 'invoicing' ); ?></a></h1>
98
-            <form method="get" style="overflow: auto; width: 100%" action=<?php echo esc_url( add_query_arg( array() ) ); ?>>
97
+            <h1><?php echo esc_html(__('Customers', 'invoicing')); ?>&nbsp;<a href="<?php echo esc_url(wp_nonce_url(add_query_arg('getpaid-admin-action', 'download_customers'), 'getpaid-nonce', 'getpaid-nonce')); ?>" class="page-title-action"><?php esc_html_e('Export', 'invoicing'); ?></a></h1>
98
+            <form method="get" style="overflow: auto; width: 100%" action=<?php echo esc_url(add_query_arg(array())); ?>>
99 99
                 <input type="hidden" name="page" value="wpinv-customers" />
100 100
                 <?php
101 101
                     $table = new WPInv_Customers_Table();
102 102
                     $table->prepare_items();
103
-                    $table->search_box( __( 'Search Customers', 'invoicing' ), 'search-customers' );
103
+                    $table->search_box(__('Search Customers', 'invoicing'), 'search-customers');
104 104
                     $table->display();
105 105
                 ?>
106 106
             </form>
@@ -114,26 +114,26 @@  discard block
 block discarded – undo
114 114
     public function add_settings_menu() {
115 115
         add_submenu_page(
116 116
             'wpinv',
117
-            __( 'Invoice Settings', 'invoicing' ),
118
-            __( 'Settings', 'invoicing' ),
119
-            apply_filters( 'invoicing_capability', wpinv_get_capability() ),
117
+            __('Invoice Settings', 'invoicing'),
118
+            __('Settings', 'invoicing'),
119
+            apply_filters('invoicing_capability', wpinv_get_capability()),
120 120
             'wpinv-settings',
121
-            array( $this, 'options_page' )
121
+            array($this, 'options_page')
122 122
         );
123 123
     }
124 124
 
125 125
     public function add_addons_menu() {
126
-        if ( ! apply_filters( 'wpi_show_addons_page', true ) ) {
126
+        if (!apply_filters('wpi_show_addons_page', true)) {
127 127
             return;
128 128
         }
129 129
 
130 130
         add_submenu_page(
131 131
             'wpinv',
132
-            __( 'Invoicing extensions', 'invoicing' ),
133
-            __( 'Extensions', 'invoicing' ),
132
+            __('Invoicing extensions', 'invoicing'),
133
+            __('Extensions', 'invoicing'),
134 134
             'manage_options',
135 135
             'wpi-addons',
136
-            array( $this, 'addons_page' )
136
+            array($this, 'addons_page')
137 137
         );
138 138
     }
139 139
 
@@ -144,29 +144,29 @@  discard block
 block discarded – undo
144 144
 
145 145
     function options_page() {
146 146
 
147
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
147
+        if (!wpinv_current_user_can_manage_invoicing()) {
148 148
             return;
149 149
         }
150 150
 
151 151
         $settings_tabs = wpinv_get_settings_tabs();
152
-        $settings_tabs = empty( $settings_tabs ) ? array() : $settings_tabs;
153
-        $active_tab    = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $settings_tabs ) ? sanitize_text_field( $_GET['tab'] ) : 'general';
154
-        $sections      = wpinv_get_settings_tab_sections( $active_tab );
152
+        $settings_tabs = empty($settings_tabs) ? array() : $settings_tabs;
153
+        $active_tab    = isset($_GET['tab']) && array_key_exists($_GET['tab'], $settings_tabs) ? sanitize_text_field($_GET['tab']) : 'general';
154
+        $sections      = wpinv_get_settings_tab_sections($active_tab);
155 155
         $key           = 'main';
156 156
 
157
-        if ( is_array( $sections ) ) {
158
-            $key = key( $sections );
157
+        if (is_array($sections)) {
158
+            $key = key($sections);
159 159
         }
160 160
 
161 161
         add_thickbox();
162 162
 
163
-        $registered_sections = wpinv_get_settings_tab_sections( $active_tab );
164
-        $section             = isset( $_GET['section'] ) && ! empty( $registered_sections ) && array_key_exists( $_GET['section'], $registered_sections ) ? sanitize_text_field( $_GET['section'] ) : $key;
163
+        $registered_sections = wpinv_get_settings_tab_sections($active_tab);
164
+        $section             = isset($_GET['section']) && !empty($registered_sections) && array_key_exists($_GET['section'], $registered_sections) ? sanitize_text_field($_GET['section']) : $key;
165 165
         ?>
166 166
         <div class="wrap">
167 167
             <h1 class="nav-tab-wrapper">
168 168
                 <?php
169
-                foreach ( wpinv_get_settings_tabs() as $tab_id => $tab_name ) {
169
+                foreach (wpinv_get_settings_tabs() as $tab_id => $tab_name) {
170 170
                     $tab_url = add_query_arg(
171 171
                         array(
172 172
 							'settings-updated' => false,
@@ -176,23 +176,23 @@  discard block
 block discarded – undo
176 176
                     );
177 177
 
178 178
                     // Remove the section from the tabs so we always end up at the main section
179
-                    $tab_url = remove_query_arg( 'section', $tab_url );
180
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
179
+                    $tab_url = remove_query_arg('section', $tab_url);
180
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
181 181
 
182 182
                     $active = $active_tab == $tab_id ? ' nav-tab-active' : '';
183 183
 
184
-                    echo '<a href="' . esc_url( $tab_url ) . '" title="' . esc_attr( $tab_name ) . '" class="nav-tab' . esc_attr( $active ) . '">';
185
-                    echo esc_html( $tab_name );
184
+                    echo '<a href="' . esc_url($tab_url) . '" title="' . esc_attr($tab_name) . '" class="nav-tab' . esc_attr($active) . '">';
185
+                    echo esc_html($tab_name);
186 186
                     echo '</a>';
187 187
                 }
188 188
                 ?>
189 189
             </h1>
190 190
             <?php
191
-            $number_of_sections = count( $sections );
191
+            $number_of_sections = count($sections);
192 192
             $number = 0;
193
-            if ( $number_of_sections > 1 ) {
193
+            if ($number_of_sections > 1) {
194 194
                 echo '<div><ul class="subsubsub">';
195
-                foreach ( $sections as $section_id => $section_name ) {
195
+                foreach ($sections as $section_id => $section_name) {
196 196
                     echo '<li>';
197 197
                     $number++;
198 198
                     $tab_url = add_query_arg(
@@ -201,16 +201,16 @@  discard block
 block discarded – undo
201 201
 							'tab'              => $active_tab,
202 202
 							'section'          => $section_id,
203 203
                         ),
204
-                        admin_url( 'admin.php?page=wpinv-settings' )
204
+                        admin_url('admin.php?page=wpinv-settings')
205 205
                     );
206
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
206
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
207 207
                     $class = '';
208
-                    if ( $section == $section_id ) {
208
+                    if ($section == $section_id) {
209 209
                         $class = 'current';
210 210
                     }
211
-                    echo '<a class="' . esc_attr( $class ) . '" href="' . esc_url( $tab_url ) . '">' . esc_html( $section_name ) . '</a>';
211
+                    echo '<a class="' . esc_attr($class) . '" href="' . esc_url($tab_url) . '">' . esc_html($section_name) . '</a>';
212 212
 
213
-                    if ( $number != $number_of_sections ) {
213
+                    if ($number != $number_of_sections) {
214 214
                         echo ' | ';
215 215
                     }
216 216
                     echo '</li>';
@@ -222,20 +222,20 @@  discard block
 block discarded – undo
222 222
                 <form method="post" action="options.php">
223 223
                     <table class="form-table">
224 224
                         <?php
225
-                        settings_fields( 'wpinv_settings' );
225
+                        settings_fields('wpinv_settings');
226 226
 
227
-                        if ( 'main' === $section ) {
228
-                            do_action( 'wpinv_settings_tab_top', $active_tab );
227
+                        if ('main' === $section) {
228
+                            do_action('wpinv_settings_tab_top', $active_tab);
229 229
                         }
230 230
 
231
-                        do_action( 'wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section );
232
-                        do_settings_sections( 'wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section );
233
-                        do_action( 'wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section );
234
-                        do_action( 'getpaid_settings_tab_bottom', $active_tab, $section );
231
+                        do_action('wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section);
232
+                        do_settings_sections('wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section);
233
+                        do_action('wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section);
234
+                        do_action('getpaid_settings_tab_bottom', $active_tab, $section);
235 235
 
236 236
                         // For backwards compatibility
237
-                        if ( 'main' === $section ) {
238
-                            do_action( 'wpinv_settings_tab_bottom', $active_tab );
237
+                        if ('main' === $section) {
238
+                            do_action('wpinv_settings_tab_bottom', $active_tab);
239 239
                         }
240 240
                         ?>
241 241
                     </table>
@@ -247,7 +247,7 @@  discard block
 block discarded – undo
247 247
     }
248 248
 
249 249
     public function remove_admin_submenus() {
250
-        remove_submenu_page( 'edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice' );
250
+        remove_submenu_page('edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice');
251 251
     }
252 252
 
253 253
     /**
@@ -257,8 +257,8 @@  discard block
 block discarded – undo
257 257
 
258 258
         add_meta_box(
259 259
             'wpinv_endpoints_nav_link',
260
-            __( 'GetPaid endpoints', 'invoicing' ),
261
-            array( $this, 'nav_menu_links' ),
260
+            __('GetPaid endpoints', 'invoicing'),
261
+            array($this, 'nav_menu_links'),
262 262
             'nav-menus',
263 263
             'side',
264 264
             'low'
@@ -273,12 +273,12 @@  discard block
 block discarded – undo
273 273
         $endpoints = $this->get_menu_items();
274 274
         ?>
275 275
         <div id="invoicing-endpoints" class="posttypediv">
276
-            <?php if ( ! empty( $endpoints['pages'] ) ) : ?>
276
+            <?php if (!empty($endpoints['pages'])) : ?>
277 277
                 <div id="tabs-panel-invoicing-endpoints" class="tabs-panel tabs-panel-active">
278 278
                     <ul id="invoicing-endpoints-checklist" class="categorychecklist form-no-clear">
279 279
                         <?php
280
-                            $walker = new Walker_Nav_Menu_Checklist( array() );
281
-                            echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $endpoints['pages'] ), 0, (object) array( 'walker' => $walker ) );
280
+                            $walker = new Walker_Nav_Menu_Checklist(array());
281
+                            echo walk_nav_menu_tree(array_map('wp_setup_nav_menu_item', $endpoints['pages']), 0, (object) array('walker' => $walker));
282 282
                         ?>
283 283
                     </ul>
284 284
                 </div>
@@ -287,11 +287,11 @@  discard block
 block discarded – undo
287 287
             <p class="button-controls wp-clearfix" data-items-type="invoicing-endpoints">
288 288
                 <span class="list-controls hide-if-no-js">
289 289
                     <input type="checkbox" id="invoicing-endpoints-tab" class="select-all">
290
-                    <label for="invoicing-endpoints-tab"><?php esc_html_e( 'Select all', 'invoicing' ); ?></label>
290
+                    <label for="invoicing-endpoints-tab"><?php esc_html_e('Select all', 'invoicing'); ?></label>
291 291
                 </span>
292 292
 
293 293
                 <span class="add-to-menu">
294
-                    <input type="submit" class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to menu', 'invoicing' ); ?>" name="add-invoicing-endpoints-item" id="submit-invoicing-endpoints">
294
+                    <input type="submit" class="button submit-add-to-menu right" value="<?php esc_attr_e('Add to menu', 'invoicing'); ?>" name="add-invoicing-endpoints-item" id="submit-invoicing-endpoints">
295 295
                     <span class="spinner"></span>
296 296
                 </span>
297 297
             </p>
@@ -309,18 +309,18 @@  discard block
 block discarded – undo
309 309
 
310 310
         $pages = array(
311 311
             array(
312
-                'id'    => wpinv_get_option( 'invoice_history_page' ),
313
-                'label' => __( 'My Invoices', 'invoicing' ),
312
+                'id'    => wpinv_get_option('invoice_history_page'),
313
+                'label' => __('My Invoices', 'invoicing'),
314 314
             ),
315 315
             array(
316
-                'id'    => wpinv_get_option( 'invoice_subscription_page' ),
317
-                'label' => __( 'My Subscriptions', 'invoicing' ),
316
+                'id'    => wpinv_get_option('invoice_subscription_page'),
317
+                'label' => __('My Subscriptions', 'invoicing'),
318 318
             ),
319 319
         );
320 320
 
321
-        foreach ( apply_filters( 'getpaid_menu_pages', $pages ) as $page ) {
321
+        foreach (apply_filters('getpaid_menu_pages', $pages) as $page) {
322 322
 
323
-            if ( (int) $page['id'] > 0 ) {
323
+            if ((int) $page['id'] > 0) {
324 324
 
325 325
                 $item                   = new stdClass();
326 326
                 $item->object_id        = (int) $page['id'];
@@ -328,11 +328,11 @@  discard block
 block discarded – undo
328 328
                 $item->object           = 'page';
329 329
                 $item->menu_item_parent = 0;
330 330
                 $item->type             = 'post_type';
331
-                $item->title            = esc_html( $page['label'] );
332
-                $item->url              = get_permalink( (int) $page['id'] );
331
+                $item->title            = esc_html($page['label']);
332
+                $item->url              = get_permalink((int) $page['id']);
333 333
                 $item->target           = '';
334 334
                 $item->attr_title       = '';
335
-                $item->classes          = array( 'wpinv-menu-item' );
335
+                $item->classes          = array('wpinv-menu-item');
336 336
                 $item->xfn              = '';
337 337
 
338 338
                 $items['pages'][]       = $item;
@@ -340,7 +340,7 @@  discard block
 block discarded – undo
340 340
             }
341 341
 }
342 342
 
343
-        return apply_filters( 'wpinv_menu_items', $items );
343
+        return apply_filters('wpinv_menu_items', $items);
344 344
     }
345 345
 
346 346
 }
Please login to merge, or discard this patch.
includes/api/class-getpaid-rest-controller.php 2 patches
Indentation   +539 added lines, -539 removed lines patch added patch discarded remove patch
@@ -21,569 +21,569 @@
 block discarded – undo
21 21
  */
22 22
 class GetPaid_REST_Controller extends WP_REST_Controller {
23 23
 
24
-	/**
24
+    /**
25 25
      * The namespaces of this controller's route.
26 26
      *
27 27
      * @since 1.0.19
28 28
      * @var array
29 29
      */
30
-	protected $namespaces;
30
+    protected $namespaces;
31 31
 
32
-	/**
32
+    /**
33 33
      * The official namespace of this controller's route.
34 34
      *
35 35
      * @since 1.0.19
36 36
      * @var string
37 37
      */
38
-	protected $namespace = 'getpaid/v1';
38
+    protected $namespace = 'getpaid/v1';
39 39
 
40
-	/**
40
+    /**
41 41
      * Cached results of get_item_schema.
42 42
      *
43 43
      * @since 1.0.19
44 44
      * @var array
45 45
      */
46
-	protected $schema;
46
+    protected $schema;
47 47
 
48 48
     /**
49
-	 * Constructor.
50
-	 *
51
-	 * @since 1.0.19
52
-	 *
53
-	 */
54
-	public function __construct() {
55
-
56
-		// Offer several namespaces for backwards compatibility.
57
-		$this->namespaces = apply_filters(
58
-			'getpaid_rest_api_namespaces',
59
-			array(
60
-				'getpaid/v1',
61
-				'invoicing/v1',
62
-				'wpi/v1',
63
-			)
64
-		);
65
-
66
-		// Register REST routes.
49
+     * Constructor.
50
+     *
51
+     * @since 1.0.19
52
+     *
53
+     */
54
+    public function __construct() {
55
+
56
+        // Offer several namespaces for backwards compatibility.
57
+        $this->namespaces = apply_filters(
58
+            'getpaid_rest_api_namespaces',
59
+            array(
60
+                'getpaid/v1',
61
+                'invoicing/v1',
62
+                'wpi/v1',
63
+            )
64
+        );
65
+
66
+        // Register REST routes.
67 67
         add_action( 'rest_api_init', array( $this, 'register_routes' ) );
68 68
 
69
-	}
70
-
71
-	/**
72
-	 * Registers routes for each namespace.
73
-	 *
74
-	 * @since 1.0.19
75
-	 *
76
-	 */
77
-	public function register_routes() {
78
-
79
-		foreach ( $this->namespaces as $namespace ) {
80
-			$this->register_namespace_routes( $namespace );
81
-		}
82
-
83
-	}
84
-
85
-	/**
86
-	 * Registers routes for a namespace.
87
-	 *
88
-	 * @since 1.0.19
89
-	 *
90
-	 * @param string $namespace
91
-	 */
92
-	public function register_namespace_routes( /** @scrutinizer ignore-unused */ $namespace ) {
93
-
94
-		getpaid_doing_it_wrong(
95
-			__CLASS__ . '::' . __METHOD__,
96
-			/* translators: %s: register_namespace_routes() */
97
-			sprintf( __( "Method '%s' must be overridden." ), __METHOD__ ),
98
-			'1.0.19'
99
-		);
100
-
101
-	}
102
-
103
-	/**
104
-	 * Get normalized rest base.
105
-	 *
106
-	 * @return string
107
-	 */
108
-	protected function get_normalized_rest_base() {
109
-		return preg_replace( '/\(.*\)\//i', '', $this->rest_base );
110
-	}
111
-
112
-	/**
113
-	 * Fill batches.
114
-	 *
115
-	 * @param array array of request items.
116
-	 * @return array
117
-	 */
118
-	protected function fill_batch_keys( $items ) {
119
-
120
-		$items['create'] = empty( $items['create'] ) ? array() : $items['create'];
121
-		$items['update'] = empty( $items['update'] ) ? array() : $items['update'];
122
-		$items['delete'] = empty( $items['delete'] ) ? array() : wp_parse_id_list( $items['delete'] );
123
-		return $items;
124
-
125
-	}
126
-
127
-	/**
128
-	 * Check batch limit.
129
-	 *
130
-	 * @param array $items Request items.
131
-	 * @return bool|WP_Error
132
-	 */
133
-	protected function check_batch_limit( $items ) {
134
-		$limit = apply_filters( 'getpaid_rest_batch_items_limit', 100, $this->get_normalized_rest_base() );
135
-		$total = count( $items['create'] ) + count( $items['update'] ) + count( $items['delete'] );
136
-
137
-		if ( $total > $limit ) {
138
-			/* translators: %s: items limit */
139
-			return new WP_Error( 'getpaid_rest_request_entity_too_large', sprintf( __( 'Unable to accept more than %s items for this request.', 'invoicing' ), $limit ), array( 'status' => 413 ) );
140
-		}
141
-
142
-		return true;
143
-	}
144
-
145
-	/**
146
-	 * Bulk create items.
147
-	 *
148
-	 * @param array $items Array of items to create.
149
-	 * @param WP_REST_Request $request Full details about the request.
150
-	 * @param WP_REST_Server $wp_rest_server
151
-	 * @return array()
152
-	 */
153
-	protected function batch_create_items( $items, $request, $wp_rest_server ) {
154
-
155
-		$query  = $request->get_query_params();
156
-		$create = array();
157
-
158
-		foreach ( $items as $item ) {
159
-			$_item = new WP_REST_Request( 'POST' );
160
-
161
-			// Default parameters.
162
-			$defaults = array();
163
-			$schema   = $this->get_public_item_schema();
164
-			foreach ( $schema['properties'] as $arg => $options ) {
165
-				if ( isset( $options['default'] ) ) {
166
-					$defaults[ $arg ] = $options['default'];
167
-				}
168
-			}
169
-			$_item->set_default_params( $defaults );
170
-
171
-			// Set request parameters.
172
-			$_item->set_body_params( $item );
173
-
174
-			// Set query (GET) parameters.
175
-			$_item->set_query_params( $query );
176
-
177
-			// Create the item.
178
-			$_response = $this->create_item( $_item );
179
-
180
-			// If an error occured...
181
-			if ( is_wp_error( $_response ) ) {
182
-
183
-				$create[]   = array(
184
-					'id'    => 0,
185
-					'error' => array(
186
-						'code'    => $_response->get_error_code(),
187
-						'message' => $_response->get_error_message(),
188
-						'data'    => $_response->get_error_data(),
189
-					),
190
-				);
191
-
192
-				continue;
193
-			}
194
-
195
-			$create[] = $wp_rest_server->response_to_data( /** @scrutinizer ignore-type */ $_response, false );
196
-
197
-		}
198
-
199
-		return $create;
69
+    }
70
+
71
+    /**
72
+     * Registers routes for each namespace.
73
+     *
74
+     * @since 1.0.19
75
+     *
76
+     */
77
+    public function register_routes() {
78
+
79
+        foreach ( $this->namespaces as $namespace ) {
80
+            $this->register_namespace_routes( $namespace );
81
+        }
82
+
83
+    }
84
+
85
+    /**
86
+     * Registers routes for a namespace.
87
+     *
88
+     * @since 1.0.19
89
+     *
90
+     * @param string $namespace
91
+     */
92
+    public function register_namespace_routes( /** @scrutinizer ignore-unused */ $namespace ) {
93
+
94
+        getpaid_doing_it_wrong(
95
+            __CLASS__ . '::' . __METHOD__,
96
+            /* translators: %s: register_namespace_routes() */
97
+            sprintf( __( "Method '%s' must be overridden." ), __METHOD__ ),
98
+            '1.0.19'
99
+        );
100
+
101
+    }
102
+
103
+    /**
104
+     * Get normalized rest base.
105
+     *
106
+     * @return string
107
+     */
108
+    protected function get_normalized_rest_base() {
109
+        return preg_replace( '/\(.*\)\//i', '', $this->rest_base );
110
+    }
111
+
112
+    /**
113
+     * Fill batches.
114
+     *
115
+     * @param array array of request items.
116
+     * @return array
117
+     */
118
+    protected function fill_batch_keys( $items ) {
119
+
120
+        $items['create'] = empty( $items['create'] ) ? array() : $items['create'];
121
+        $items['update'] = empty( $items['update'] ) ? array() : $items['update'];
122
+        $items['delete'] = empty( $items['delete'] ) ? array() : wp_parse_id_list( $items['delete'] );
123
+        return $items;
124
+
125
+    }
126
+
127
+    /**
128
+     * Check batch limit.
129
+     *
130
+     * @param array $items Request items.
131
+     * @return bool|WP_Error
132
+     */
133
+    protected function check_batch_limit( $items ) {
134
+        $limit = apply_filters( 'getpaid_rest_batch_items_limit', 100, $this->get_normalized_rest_base() );
135
+        $total = count( $items['create'] ) + count( $items['update'] ) + count( $items['delete'] );
136
+
137
+        if ( $total > $limit ) {
138
+            /* translators: %s: items limit */
139
+            return new WP_Error( 'getpaid_rest_request_entity_too_large', sprintf( __( 'Unable to accept more than %s items for this request.', 'invoicing' ), $limit ), array( 'status' => 413 ) );
140
+        }
141
+
142
+        return true;
143
+    }
144
+
145
+    /**
146
+     * Bulk create items.
147
+     *
148
+     * @param array $items Array of items to create.
149
+     * @param WP_REST_Request $request Full details about the request.
150
+     * @param WP_REST_Server $wp_rest_server
151
+     * @return array()
152
+     */
153
+    protected function batch_create_items( $items, $request, $wp_rest_server ) {
154
+
155
+        $query  = $request->get_query_params();
156
+        $create = array();
157
+
158
+        foreach ( $items as $item ) {
159
+            $_item = new WP_REST_Request( 'POST' );
160
+
161
+            // Default parameters.
162
+            $defaults = array();
163
+            $schema   = $this->get_public_item_schema();
164
+            foreach ( $schema['properties'] as $arg => $options ) {
165
+                if ( isset( $options['default'] ) ) {
166
+                    $defaults[ $arg ] = $options['default'];
167
+                }
168
+            }
169
+            $_item->set_default_params( $defaults );
170
+
171
+            // Set request parameters.
172
+            $_item->set_body_params( $item );
173
+
174
+            // Set query (GET) parameters.
175
+            $_item->set_query_params( $query );
176
+
177
+            // Create the item.
178
+            $_response = $this->create_item( $_item );
179
+
180
+            // If an error occured...
181
+            if ( is_wp_error( $_response ) ) {
182
+
183
+                $create[]   = array(
184
+                    'id'    => 0,
185
+                    'error' => array(
186
+                        'code'    => $_response->get_error_code(),
187
+                        'message' => $_response->get_error_message(),
188
+                        'data'    => $_response->get_error_data(),
189
+                    ),
190
+                );
191
+
192
+                continue;
193
+            }
194
+
195
+            $create[] = $wp_rest_server->response_to_data( /** @scrutinizer ignore-type */ $_response, false );
196
+
197
+        }
198
+
199
+        return $create;
200
+
201
+    }
202
+
203
+    /**
204
+     * Bulk update items.
205
+     *
206
+     * @param array $items Array of items to update.
207
+     * @param WP_REST_Request $request Full details about the request.
208
+     * @param WP_REST_Server $wp_rest_server
209
+     * @return array()
210
+     */
211
+    protected function batch_update_items( $items, $request, $wp_rest_server ) {
212
+
213
+        $query  = $request->get_query_params();
214
+        $update = array();
215
+
216
+        foreach ( $items as $item ) {
217
+
218
+            // Create a dummy request.
219
+            $_item = new WP_REST_Request( 'PUT' );
220
+
221
+            // Add body params.
222
+            $_item->set_body_params( $item );
223
+
224
+            // Set query (GET) parameters.
225
+            $_item->set_query_params( $query );
226
+
227
+            // Update the item.
228
+            $_response = $this->update_item( $_item );
229
+
230
+            // If an error occured...
231
+            if ( is_wp_error( $_response ) ) {
232
+
233
+                $update[] = array(
234
+                    'id'    => $item['id'],
235
+                    'error' => array(
236
+                        'code'    => $_response->get_error_code(),
237
+                        'message' => $_response->get_error_message(),
238
+                        'data'    => $_response->get_error_data(),
239
+                    ),
240
+                );
241
+
242
+                continue;
243
+
244
+            }
245
+
246
+            $update[] = $wp_rest_server->response_to_data( /** @scrutinizer ignore-type */ $_response, false );
247
+
248
+        }
249
+
250
+        return $update;
251
+
252
+    }
253
+
254
+    /**
255
+     * Bulk delete items.
256
+     *
257
+     * @param array $items Array of items to delete.
258
+     * @param WP_REST_Server $wp_rest_server
259
+     * @return array()
260
+     */
261
+    protected function batch_delete_items( $items, $wp_rest_server ) {
262
+
263
+        $delete = array();
264
+
265
+        foreach ( array_filter( $items ) as $id ) {
266
+
267
+            // Prepare the request.
268
+            $_item = new WP_REST_Request( 'DELETE' );
269
+            $_item->set_query_params(
270
+                array(
271
+                    'id'    => $id,
272
+                    'force' => true,
273
+                )
274
+            );
275
+
276
+            // Delete the item.
277
+            $_response = $this->delete_item( $_item );
278
+
279
+            if ( is_wp_error( $_response ) ) {
280
+
281
+                $delete[] = array(
282
+                    'id'    => $id,
283
+                    'error' => array(
284
+                        'code'    => $_response->get_error_code(),
285
+                        'message' => $_response->get_error_message(),
286
+                        'data'    => $_response->get_error_data(),
287
+                    ),
288
+                );
289
+
290
+                continue;
291
+            }
200 292
 
201
-	}
202
-
203
-	/**
204
-	 * Bulk update items.
205
-	 *
206
-	 * @param array $items Array of items to update.
207
-	 * @param WP_REST_Request $request Full details about the request.
208
-	 * @param WP_REST_Server $wp_rest_server
209
-	 * @return array()
210
-	 */
211
-	protected function batch_update_items( $items, $request, $wp_rest_server ) {
212
-
213
-		$query  = $request->get_query_params();
214
-		$update = array();
215
-
216
-		foreach ( $items as $item ) {
217
-
218
-			// Create a dummy request.
219
-			$_item = new WP_REST_Request( 'PUT' );
220
-
221
-			// Add body params.
222
-			$_item->set_body_params( $item );
223
-
224
-			// Set query (GET) parameters.
225
-			$_item->set_query_params( $query );
226
-
227
-			// Update the item.
228
-			$_response = $this->update_item( $_item );
229
-
230
-			// If an error occured...
231
-			if ( is_wp_error( $_response ) ) {
232
-
233
-				$update[] = array(
234
-					'id'    => $item['id'],
235
-					'error' => array(
236
-						'code'    => $_response->get_error_code(),
237
-						'message' => $_response->get_error_message(),
238
-						'data'    => $_response->get_error_data(),
239
-					),
240
-				);
241
-
242
-				continue;
243
-
244
-			}
245
-
246
-			$update[] = $wp_rest_server->response_to_data( /** @scrutinizer ignore-type */ $_response, false );
247
-
248
-		}
249
-
250
-		return $update;
251
-
252
-	}
293
+            $delete[] = $wp_rest_server->response_to_data( /** @scrutinizer ignore-type */ $_response, false );
253 294
 
254
-	/**
255
-	 * Bulk delete items.
256
-	 *
257
-	 * @param array $items Array of items to delete.
258
-	 * @param WP_REST_Server $wp_rest_server
259
-	 * @return array()
260
-	 */
261
-	protected function batch_delete_items( $items, $wp_rest_server ) {
262
-
263
-		$delete = array();
264
-
265
-		foreach ( array_filter( $items ) as $id ) {
266
-
267
-			// Prepare the request.
268
-			$_item = new WP_REST_Request( 'DELETE' );
269
-			$_item->set_query_params(
270
-				array(
271
-					'id'    => $id,
272
-					'force' => true,
273
-				)
274
-			);
275
-
276
-			// Delete the item.
277
-			$_response = $this->delete_item( $_item );
278
-
279
-			if ( is_wp_error( $_response ) ) {
280
-
281
-				$delete[] = array(
282
-					'id'    => $id,
283
-					'error' => array(
284
-						'code'    => $_response->get_error_code(),
285
-						'message' => $_response->get_error_message(),
286
-						'data'    => $_response->get_error_data(),
287
-					),
288
-				);
289
-
290
-				continue;
291
-			}
292
-
293
-			$delete[] = $wp_rest_server->response_to_data( /** @scrutinizer ignore-type */ $_response, false );
294
-
295
-		}
296
-
297
-		return $delete;
298
-
299
-	}
300
-
301
-	/**
302
-	 * Bulk create, update and delete items.
303
-	 *
304
-	 * @param WP_REST_Request $request Full details about the request.
305
-	 * @return WP_Error|array.
306
-	 */
307
-	public function batch_items( $request ) {
308
-		global $wp_rest_server;
309
-
310
-		// Prepare the batch items.
311
-		$items = $this->fill_batch_keys( array_filter( $request->get_params() ) );
312
-
313
-		// Ensure that the batch has not exceeded the limit to prevent abuse.
314
-		$limit = $this->check_batch_limit( $items );
315
-		if ( is_wp_error( $limit ) ) {
316
-			return $limit;
317
-		}
318
-
319
-		// Process the items.
320
-		return array(
321
-			'create' => $this->batch_create_items( $items['create'], $request, $wp_rest_server ),
322
-			'update' => $this->batch_update_items( $items['update'], $request, $wp_rest_server ),
323
-			'delete' => $this->batch_delete_items( $items['delete'], $wp_rest_server ),
324
-		);
325
-
326
-	}
327
-
328
-	/**
329
-	 * Add meta query.
330
-	 *
331
-	 * @since 1.0.19
332
-	 * @param array $args       Query args.
333
-	 * @param array $meta_query Meta query.
334
-	 * @return array
335
-	 */
336
-	protected function add_meta_query( $args, $meta_query ) {
337
-		if ( empty( $args['meta_query'] ) ) {
338
-			$args['meta_query'] = array();
339
-		}
340
-
341
-		$args['meta_query'][] = $meta_query;
342
-
343
-		return $args['meta_query'];
344
-	}
345
-
346
-	/**
347
-	 * Get the batch schema, conforming to JSON Schema.
348
-	 *
349
-	 * @return array
350
-	 */
351
-	public function get_public_batch_schema() {
352
-
353
-		return array(
354
-			'$schema'    => 'http://json-schema.org/draft-04/schema#',
355
-			'title'      => 'batch',
356
-			'type'       => 'object',
357
-			'properties' => array(
358
-				'create' => array(
359
-					'description' => __( 'List of created resources.', 'invoicing' ),
360
-					'type'        => 'array',
361
-					'context'     => array( 'view', 'edit' ),
362
-					'items'       => array(
363
-						'type' => 'object',
364
-					),
365
-				),
366
-				'update' => array(
367
-					'description' => __( 'List of updated resources.', 'invoicing' ),
368
-					'type'        => 'array',
369
-					'context'     => array( 'view', 'edit' ),
370
-					'items'       => array(
371
-						'type' => 'object',
372
-					),
373
-				),
374
-				'delete' => array(
375
-					'description' => __( 'List of deleted resources.', 'invoicing' ),
376
-					'type'        => 'array',
377
-					'context'     => array( 'view', 'edit' ),
378
-					'items'       => array(
379
-						'type' => 'integer',
380
-					),
381
-				),
382
-			),
383
-		);
384
-
385
-	}
386
-
387
-	/**
388
-	 * Returns the value of schema['properties']
389
-	 *
390
-	 * i.e Schema fields.
391
-	 *
392
-	 * @since 1.0.19
393
-	 * @return array
394
-	 */
395
-	protected function get_schema_properties() {
396
-
397
-		$schema     = $this->get_item_schema();
398
-		$properties = isset( $schema['properties'] ) ? $schema['properties'] : array();
399
-
400
-		// For back-compat, include any field with an empty schema
401
-		// because it won't be present in $this->get_item_schema().
402
-		foreach ( $this->get_additional_fields() as $field_name => $field_options ) {
403
-			if ( is_null( $field_options['schema'] ) ) {
404
-				$properties[ $field_name ] = $field_options;
405
-			}
406
-		}
407
-
408
-		return $properties;
409
-	}
410
-
411
-	/**
412
-	 * Filters fields by context.
413
-	 *
414
-	 * @param array $fields Array of fields
415
-	 * @param string|null context view, edit or embed
416
-	 * @since 1.0.19
417
-	 * @return array
418
-	 */
419
-	protected function filter_response_fields_by_context( $fields, $context ) {
420
-
421
-		if ( empty( $context ) ) {
422
-			return $fields;
423
-		}
424
-
425
-		foreach ( $fields as $name => $options ) {
426
-			if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) {
427
-				unset( $fields[ $name ] );
428
-			}
429
-		}
430
-
431
-		return $fields;
432
-
433
-	}
434
-
435
-	/**
436
-	 * Filters fields by an array of requested fields.
437
-	 *
438
-	 * @param array $fields Array of available fields
439
-	 * @param array $requested array of requested fields.
440
-	 * @since 1.0.19
441
-	 * @return array
442
-	 */
443
-	protected function filter_response_fields_by_array( $fields, $requested ) {
444
-
445
-		// Trim off any whitespace from the list array.
446
-		$requested = array_map( 'trim', $requested );
447
-
448
-		// Always persist 'id', because it can be needed for add_additional_fields_to_object().
449
-		if ( in_array( 'id', $fields, true ) ) {
450
-			$requested[] = 'id';
451
-		}
452
-
453
-		// Get rid of duplicate fields.
454
-		$requested = array_unique( $requested );
455
-
456
-		// Return the list of all included fields which are available.
457
-		return array_reduce(
458
-			$requested,
459
-			function( $response_fields, $field ) use ( $fields ) {
460
-
461
-				if ( in_array( $field, $fields, true ) ) {
462
-					$response_fields[] = $field;
463
-					return $response_fields;
464
-				}
465
-
466
-				// Check for nested fields if $field is not a direct match.
467
-				$nested_fields = explode( '.', $field );
468
-
469
-				// A nested field is included so long as its top-level property is
470
-				// present in the schema.
471
-				if ( in_array( $nested_fields[0], $fields, true ) ) {
472
-					$response_fields[] = $field;
473
-				}
474
-
475
-				return $response_fields;
476
-			},
477
-			array()
478
-		);
479
-
480
-	}
481
-
482
-	/**
483
-	 * Gets an array of fields to be included on the response.
484
-	 *
485
-	 * Included fields are based on item schema and `_fields=` request argument.
486
-	 * Copied from WordPress 5.3 to support old versions.
487
-	 *
488
-	 * @since 1.0.19
489
-	 * @param WP_REST_Request $request Full details about the request.
490
-	 * @return array Fields to be included in the response.
491
-	 */
492
-	public function get_fields_for_response( $request ) {
493
-
494
-		// Retrieve fields in the schema.
495
-		$properties = $this->get_schema_properties();
496
-
497
-		// Exclude fields that specify a different context than the request context.
498
-		$properties = $this->filter_response_fields_by_context( $properties, $request['context'] );
499
-
500
-		// We only need the field keys.
501
-		$fields = array_keys( $properties );
502
-
503
-		// Is the user filtering the response fields??
504
-		if ( empty( $request['_fields'] ) ) {
505
-			return $fields;
506
-		}
507
-
508
-		return $this->filter_response_fields_by_array( $fields, wpinv_parse_list( $request['_fields'] ) );
509
-
510
-	}
511
-
512
-	/**
513
-	 * Limits an object to the requested fields.
514
-	 *
515
-	 * Included fields are based on the `_fields` request argument.
516
-	 *
517
-	 * @since 1.0.19
518
-	 * @param array $data Fields to include in the response.
519
-	 * @param array $fields Requested fields.
520
-	 * @return array Fields to be included in the response.
521
-	 */
522
-	public function limit_object_to_requested_fields( $data, $fields, $prefix = '' ) {
523
-
524
-		// Is the user filtering the response fields??
525
-		if ( empty( $fields ) ) {
526
-			return $data;
527
-		}
528
-
529
-		foreach ( $data as $key => $value ) {
530
-
531
-			// Numeric arrays.
532
-			if ( is_numeric( $key ) && is_array( $value ) ) {
533
-				$data[ $key ] = $this->limit_object_to_requested_fields( $value, $fields, $prefix );
534
-				continue;
535
-			}
536
-
537
-			// Generate a new prefix.
538
-			$new_prefix = empty( $prefix ) ? $key : "$prefix.$key";
539
-
540
-			// Check if it was requested.
541
-			if ( ! empty( $key ) && ! $this->is_field_included( $new_prefix, $fields ) ) {
542
-				unset( $data[ $key ] );
543
-				continue;
544
-			}
545
-
546
-			if ( $key != 'meta_data' && is_array( $value ) ) {
547
-				$data[ $key ] = $this->limit_object_to_requested_fields( $value, $fields, $new_prefix );
548
-			}
295
+        }
296
+
297
+        return $delete;
298
+
299
+    }
300
+
301
+    /**
302
+     * Bulk create, update and delete items.
303
+     *
304
+     * @param WP_REST_Request $request Full details about the request.
305
+     * @return WP_Error|array.
306
+     */
307
+    public function batch_items( $request ) {
308
+        global $wp_rest_server;
309
+
310
+        // Prepare the batch items.
311
+        $items = $this->fill_batch_keys( array_filter( $request->get_params() ) );
312
+
313
+        // Ensure that the batch has not exceeded the limit to prevent abuse.
314
+        $limit = $this->check_batch_limit( $items );
315
+        if ( is_wp_error( $limit ) ) {
316
+            return $limit;
317
+        }
318
+
319
+        // Process the items.
320
+        return array(
321
+            'create' => $this->batch_create_items( $items['create'], $request, $wp_rest_server ),
322
+            'update' => $this->batch_update_items( $items['update'], $request, $wp_rest_server ),
323
+            'delete' => $this->batch_delete_items( $items['delete'], $wp_rest_server ),
324
+        );
325
+
326
+    }
327
+
328
+    /**
329
+     * Add meta query.
330
+     *
331
+     * @since 1.0.19
332
+     * @param array $args       Query args.
333
+     * @param array $meta_query Meta query.
334
+     * @return array
335
+     */
336
+    protected function add_meta_query( $args, $meta_query ) {
337
+        if ( empty( $args['meta_query'] ) ) {
338
+            $args['meta_query'] = array();
339
+        }
340
+
341
+        $args['meta_query'][] = $meta_query;
342
+
343
+        return $args['meta_query'];
344
+    }
345
+
346
+    /**
347
+     * Get the batch schema, conforming to JSON Schema.
348
+     *
349
+     * @return array
350
+     */
351
+    public function get_public_batch_schema() {
352
+
353
+        return array(
354
+            '$schema'    => 'http://json-schema.org/draft-04/schema#',
355
+            'title'      => 'batch',
356
+            'type'       => 'object',
357
+            'properties' => array(
358
+                'create' => array(
359
+                    'description' => __( 'List of created resources.', 'invoicing' ),
360
+                    'type'        => 'array',
361
+                    'context'     => array( 'view', 'edit' ),
362
+                    'items'       => array(
363
+                        'type' => 'object',
364
+                    ),
365
+                ),
366
+                'update' => array(
367
+                    'description' => __( 'List of updated resources.', 'invoicing' ),
368
+                    'type'        => 'array',
369
+                    'context'     => array( 'view', 'edit' ),
370
+                    'items'       => array(
371
+                        'type' => 'object',
372
+                    ),
373
+                ),
374
+                'delete' => array(
375
+                    'description' => __( 'List of deleted resources.', 'invoicing' ),
376
+                    'type'        => 'array',
377
+                    'context'     => array( 'view', 'edit' ),
378
+                    'items'       => array(
379
+                        'type' => 'integer',
380
+                    ),
381
+                ),
382
+            ),
383
+        );
384
+
385
+    }
386
+
387
+    /**
388
+     * Returns the value of schema['properties']
389
+     *
390
+     * i.e Schema fields.
391
+     *
392
+     * @since 1.0.19
393
+     * @return array
394
+     */
395
+    protected function get_schema_properties() {
396
+
397
+        $schema     = $this->get_item_schema();
398
+        $properties = isset( $schema['properties'] ) ? $schema['properties'] : array();
399
+
400
+        // For back-compat, include any field with an empty schema
401
+        // because it won't be present in $this->get_item_schema().
402
+        foreach ( $this->get_additional_fields() as $field_name => $field_options ) {
403
+            if ( is_null( $field_options['schema'] ) ) {
404
+                $properties[ $field_name ] = $field_options;
405
+            }
406
+        }
407
+
408
+        return $properties;
409
+    }
410
+
411
+    /**
412
+     * Filters fields by context.
413
+     *
414
+     * @param array $fields Array of fields
415
+     * @param string|null context view, edit or embed
416
+     * @since 1.0.19
417
+     * @return array
418
+     */
419
+    protected function filter_response_fields_by_context( $fields, $context ) {
420
+
421
+        if ( empty( $context ) ) {
422
+            return $fields;
423
+        }
424
+
425
+        foreach ( $fields as $name => $options ) {
426
+            if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) {
427
+                unset( $fields[ $name ] );
428
+            }
429
+        }
430
+
431
+        return $fields;
432
+
433
+    }
434
+
435
+    /**
436
+     * Filters fields by an array of requested fields.
437
+     *
438
+     * @param array $fields Array of available fields
439
+     * @param array $requested array of requested fields.
440
+     * @since 1.0.19
441
+     * @return array
442
+     */
443
+    protected function filter_response_fields_by_array( $fields, $requested ) {
444
+
445
+        // Trim off any whitespace from the list array.
446
+        $requested = array_map( 'trim', $requested );
447
+
448
+        // Always persist 'id', because it can be needed for add_additional_fields_to_object().
449
+        if ( in_array( 'id', $fields, true ) ) {
450
+            $requested[] = 'id';
451
+        }
452
+
453
+        // Get rid of duplicate fields.
454
+        $requested = array_unique( $requested );
455
+
456
+        // Return the list of all included fields which are available.
457
+        return array_reduce(
458
+            $requested,
459
+            function( $response_fields, $field ) use ( $fields ) {
460
+
461
+                if ( in_array( $field, $fields, true ) ) {
462
+                    $response_fields[] = $field;
463
+                    return $response_fields;
464
+                }
465
+
466
+                // Check for nested fields if $field is not a direct match.
467
+                $nested_fields = explode( '.', $field );
468
+
469
+                // A nested field is included so long as its top-level property is
470
+                // present in the schema.
471
+                if ( in_array( $nested_fields[0], $fields, true ) ) {
472
+                    $response_fields[] = $field;
473
+                }
474
+
475
+                return $response_fields;
476
+            },
477
+            array()
478
+        );
479
+
480
+    }
481
+
482
+    /**
483
+     * Gets an array of fields to be included on the response.
484
+     *
485
+     * Included fields are based on item schema and `_fields=` request argument.
486
+     * Copied from WordPress 5.3 to support old versions.
487
+     *
488
+     * @since 1.0.19
489
+     * @param WP_REST_Request $request Full details about the request.
490
+     * @return array Fields to be included in the response.
491
+     */
492
+    public function get_fields_for_response( $request ) {
493
+
494
+        // Retrieve fields in the schema.
495
+        $properties = $this->get_schema_properties();
496
+
497
+        // Exclude fields that specify a different context than the request context.
498
+        $properties = $this->filter_response_fields_by_context( $properties, $request['context'] );
499
+
500
+        // We only need the field keys.
501
+        $fields = array_keys( $properties );
502
+
503
+        // Is the user filtering the response fields??
504
+        if ( empty( $request['_fields'] ) ) {
505
+            return $fields;
506
+        }
507
+
508
+        return $this->filter_response_fields_by_array( $fields, wpinv_parse_list( $request['_fields'] ) );
509
+
510
+    }
511
+
512
+    /**
513
+     * Limits an object to the requested fields.
514
+     *
515
+     * Included fields are based on the `_fields` request argument.
516
+     *
517
+     * @since 1.0.19
518
+     * @param array $data Fields to include in the response.
519
+     * @param array $fields Requested fields.
520
+     * @return array Fields to be included in the response.
521
+     */
522
+    public function limit_object_to_requested_fields( $data, $fields, $prefix = '' ) {
523
+
524
+        // Is the user filtering the response fields??
525
+        if ( empty( $fields ) ) {
526
+            return $data;
527
+        }
528
+
529
+        foreach ( $data as $key => $value ) {
530
+
531
+            // Numeric arrays.
532
+            if ( is_numeric( $key ) && is_array( $value ) ) {
533
+                $data[ $key ] = $this->limit_object_to_requested_fields( $value, $fields, $prefix );
534
+                continue;
535
+            }
536
+
537
+            // Generate a new prefix.
538
+            $new_prefix = empty( $prefix ) ? $key : "$prefix.$key";
539
+
540
+            // Check if it was requested.
541
+            if ( ! empty( $key ) && ! $this->is_field_included( $new_prefix, $fields ) ) {
542
+                unset( $data[ $key ] );
543
+                continue;
544
+            }
545
+
546
+            if ( $key != 'meta_data' && is_array( $value ) ) {
547
+                $data[ $key ] = $this->limit_object_to_requested_fields( $value, $fields, $new_prefix );
548
+            }
549 549
 }
550 550
 
551
-		return $data;
552
-	}
553
-
554
-	/**
555
-	 * Given an array of fields to include in a response, some of which may be
556
-	 * `nested.fields`, determine whether the provided field should be included
557
-	 * in the response body.
558
-	 *
559
-	 * Copied from WordPress 5.3 to support old versions.
560
-	 *
561
-	 * @since 1.0.19
562
-	 *
563
-	 * @param string $field  A field to test for inclusion in the response body.
564
-	 * @param array  $fields An array of string fields supported by the endpoint.
565
-	 * @return bool Whether to include the field or not.
566
-	 * @see rest_is_field_included()
567
-	 */
568
-	public function is_field_included( $field, $fields ) {
569
-		if ( in_array( $field, $fields, true ) ) {
570
-			return true;
571
-		}
572
-
573
-		foreach ( $fields as $accepted_field ) {
574
-			// Check to see if $field is the parent of any item in $fields.
575
-			// A field "parent" should be accepted if "parent.child" is accepted.
576
-			if ( strpos( $accepted_field, "$field." ) === 0 ) {
577
-				return true;
578
-			}
579
-			// Conversely, if "parent" is accepted, all "parent.child" fields
580
-			// should also be accepted.
581
-			if ( strpos( $field, "$accepted_field." ) === 0 ) {
582
-				return true;
583
-			}
584
-		}
585
-
586
-		return false;
587
-	}
551
+        return $data;
552
+    }
553
+
554
+    /**
555
+     * Given an array of fields to include in a response, some of which may be
556
+     * `nested.fields`, determine whether the provided field should be included
557
+     * in the response body.
558
+     *
559
+     * Copied from WordPress 5.3 to support old versions.
560
+     *
561
+     * @since 1.0.19
562
+     *
563
+     * @param string $field  A field to test for inclusion in the response body.
564
+     * @param array  $fields An array of string fields supported by the endpoint.
565
+     * @return bool Whether to include the field or not.
566
+     * @see rest_is_field_included()
567
+     */
568
+    public function is_field_included( $field, $fields ) {
569
+        if ( in_array( $field, $fields, true ) ) {
570
+            return true;
571
+        }
572
+
573
+        foreach ( $fields as $accepted_field ) {
574
+            // Check to see if $field is the parent of any item in $fields.
575
+            // A field "parent" should be accepted if "parent.child" is accepted.
576
+            if ( strpos( $accepted_field, "$field." ) === 0 ) {
577
+                return true;
578
+            }
579
+            // Conversely, if "parent" is accepted, all "parent.child" fields
580
+            // should also be accepted.
581
+            if ( strpos( $field, "$accepted_field." ) === 0 ) {
582
+                return true;
583
+            }
584
+        }
585
+
586
+        return false;
587
+    }
588 588
 
589 589
 }
Please login to merge, or discard this patch.
Spacing   +95 added lines, -95 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  * @version 1.0.19
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 /**
14 14
  * Core class to access posts via the REST API.
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 		);
65 65
 
66 66
 		// Register REST routes.
67
-        add_action( 'rest_api_init', array( $this, 'register_routes' ) );
67
+        add_action('rest_api_init', array($this, 'register_routes'));
68 68
 
69 69
 	}
70 70
 
@@ -76,8 +76,8 @@  discard block
 block discarded – undo
76 76
 	 */
77 77
 	public function register_routes() {
78 78
 
79
-		foreach ( $this->namespaces as $namespace ) {
80
-			$this->register_namespace_routes( $namespace );
79
+		foreach ($this->namespaces as $namespace) {
80
+			$this->register_namespace_routes($namespace);
81 81
 		}
82 82
 
83 83
 	}
@@ -89,12 +89,12 @@  discard block
 block discarded – undo
89 89
 	 *
90 90
 	 * @param string $namespace
91 91
 	 */
92
-	public function register_namespace_routes( /** @scrutinizer ignore-unused */ $namespace ) {
92
+	public function register_namespace_routes(/** @scrutinizer ignore-unused */ $namespace) {
93 93
 
94 94
 		getpaid_doing_it_wrong(
95 95
 			__CLASS__ . '::' . __METHOD__,
96 96
 			/* translators: %s: register_namespace_routes() */
97
-			sprintf( __( "Method '%s' must be overridden." ), __METHOD__ ),
97
+			sprintf(__("Method '%s' must be overridden."), __METHOD__),
98 98
 			'1.0.19'
99 99
 		);
100 100
 
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
 	 * @return string
107 107
 	 */
108 108
 	protected function get_normalized_rest_base() {
109
-		return preg_replace( '/\(.*\)\//i', '', $this->rest_base );
109
+		return preg_replace('/\(.*\)\//i', '', $this->rest_base);
110 110
 	}
111 111
 
112 112
 	/**
@@ -115,11 +115,11 @@  discard block
 block discarded – undo
115 115
 	 * @param array array of request items.
116 116
 	 * @return array
117 117
 	 */
118
-	protected function fill_batch_keys( $items ) {
118
+	protected function fill_batch_keys($items) {
119 119
 
120
-		$items['create'] = empty( $items['create'] ) ? array() : $items['create'];
121
-		$items['update'] = empty( $items['update'] ) ? array() : $items['update'];
122
-		$items['delete'] = empty( $items['delete'] ) ? array() : wp_parse_id_list( $items['delete'] );
120
+		$items['create'] = empty($items['create']) ? array() : $items['create'];
121
+		$items['update'] = empty($items['update']) ? array() : $items['update'];
122
+		$items['delete'] = empty($items['delete']) ? array() : wp_parse_id_list($items['delete']);
123 123
 		return $items;
124 124
 
125 125
 	}
@@ -130,13 +130,13 @@  discard block
 block discarded – undo
130 130
 	 * @param array $items Request items.
131 131
 	 * @return bool|WP_Error
132 132
 	 */
133
-	protected function check_batch_limit( $items ) {
134
-		$limit = apply_filters( 'getpaid_rest_batch_items_limit', 100, $this->get_normalized_rest_base() );
135
-		$total = count( $items['create'] ) + count( $items['update'] ) + count( $items['delete'] );
133
+	protected function check_batch_limit($items) {
134
+		$limit = apply_filters('getpaid_rest_batch_items_limit', 100, $this->get_normalized_rest_base());
135
+		$total = count($items['create']) + count($items['update']) + count($items['delete']);
136 136
 
137
-		if ( $total > $limit ) {
137
+		if ($total > $limit) {
138 138
 			/* translators: %s: items limit */
139
-			return new WP_Error( 'getpaid_rest_request_entity_too_large', sprintf( __( 'Unable to accept more than %s items for this request.', 'invoicing' ), $limit ), array( 'status' => 413 ) );
139
+			return new WP_Error('getpaid_rest_request_entity_too_large', sprintf(__('Unable to accept more than %s items for this request.', 'invoicing'), $limit), array('status' => 413));
140 140
 		}
141 141
 
142 142
 		return true;
@@ -150,37 +150,37 @@  discard block
 block discarded – undo
150 150
 	 * @param WP_REST_Server $wp_rest_server
151 151
 	 * @return array()
152 152
 	 */
153
-	protected function batch_create_items( $items, $request, $wp_rest_server ) {
153
+	protected function batch_create_items($items, $request, $wp_rest_server) {
154 154
 
155 155
 		$query  = $request->get_query_params();
156 156
 		$create = array();
157 157
 
158
-		foreach ( $items as $item ) {
159
-			$_item = new WP_REST_Request( 'POST' );
158
+		foreach ($items as $item) {
159
+			$_item = new WP_REST_Request('POST');
160 160
 
161 161
 			// Default parameters.
162 162
 			$defaults = array();
163 163
 			$schema   = $this->get_public_item_schema();
164
-			foreach ( $schema['properties'] as $arg => $options ) {
165
-				if ( isset( $options['default'] ) ) {
166
-					$defaults[ $arg ] = $options['default'];
164
+			foreach ($schema['properties'] as $arg => $options) {
165
+				if (isset($options['default'])) {
166
+					$defaults[$arg] = $options['default'];
167 167
 				}
168 168
 			}
169
-			$_item->set_default_params( $defaults );
169
+			$_item->set_default_params($defaults);
170 170
 
171 171
 			// Set request parameters.
172
-			$_item->set_body_params( $item );
172
+			$_item->set_body_params($item);
173 173
 
174 174
 			// Set query (GET) parameters.
175
-			$_item->set_query_params( $query );
175
+			$_item->set_query_params($query);
176 176
 
177 177
 			// Create the item.
178
-			$_response = $this->create_item( $_item );
178
+			$_response = $this->create_item($_item);
179 179
 
180 180
 			// If an error occured...
181
-			if ( is_wp_error( $_response ) ) {
181
+			if (is_wp_error($_response)) {
182 182
 
183
-				$create[]   = array(
183
+				$create[] = array(
184 184
 					'id'    => 0,
185 185
 					'error' => array(
186 186
 						'code'    => $_response->get_error_code(),
@@ -192,7 +192,7 @@  discard block
 block discarded – undo
192 192
 				continue;
193 193
 			}
194 194
 
195
-			$create[] = $wp_rest_server->response_to_data( /** @scrutinizer ignore-type */ $_response, false );
195
+			$create[] = $wp_rest_server->response_to_data(/** @scrutinizer ignore-type */ $_response, false);
196 196
 
197 197
 		}
198 198
 
@@ -208,27 +208,27 @@  discard block
 block discarded – undo
208 208
 	 * @param WP_REST_Server $wp_rest_server
209 209
 	 * @return array()
210 210
 	 */
211
-	protected function batch_update_items( $items, $request, $wp_rest_server ) {
211
+	protected function batch_update_items($items, $request, $wp_rest_server) {
212 212
 
213 213
 		$query  = $request->get_query_params();
214 214
 		$update = array();
215 215
 
216
-		foreach ( $items as $item ) {
216
+		foreach ($items as $item) {
217 217
 
218 218
 			// Create a dummy request.
219
-			$_item = new WP_REST_Request( 'PUT' );
219
+			$_item = new WP_REST_Request('PUT');
220 220
 
221 221
 			// Add body params.
222
-			$_item->set_body_params( $item );
222
+			$_item->set_body_params($item);
223 223
 
224 224
 			// Set query (GET) parameters.
225
-			$_item->set_query_params( $query );
225
+			$_item->set_query_params($query);
226 226
 
227 227
 			// Update the item.
228
-			$_response = $this->update_item( $_item );
228
+			$_response = $this->update_item($_item);
229 229
 
230 230
 			// If an error occured...
231
-			if ( is_wp_error( $_response ) ) {
231
+			if (is_wp_error($_response)) {
232 232
 
233 233
 				$update[] = array(
234 234
 					'id'    => $item['id'],
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
 
244 244
 			}
245 245
 
246
-			$update[] = $wp_rest_server->response_to_data( /** @scrutinizer ignore-type */ $_response, false );
246
+			$update[] = $wp_rest_server->response_to_data(/** @scrutinizer ignore-type */ $_response, false);
247 247
 
248 248
 		}
249 249
 
@@ -258,14 +258,14 @@  discard block
 block discarded – undo
258 258
 	 * @param WP_REST_Server $wp_rest_server
259 259
 	 * @return array()
260 260
 	 */
261
-	protected function batch_delete_items( $items, $wp_rest_server ) {
261
+	protected function batch_delete_items($items, $wp_rest_server) {
262 262
 
263 263
 		$delete = array();
264 264
 
265
-		foreach ( array_filter( $items ) as $id ) {
265
+		foreach (array_filter($items) as $id) {
266 266
 
267 267
 			// Prepare the request.
268
-			$_item = new WP_REST_Request( 'DELETE' );
268
+			$_item = new WP_REST_Request('DELETE');
269 269
 			$_item->set_query_params(
270 270
 				array(
271 271
 					'id'    => $id,
@@ -274,9 +274,9 @@  discard block
 block discarded – undo
274 274
 			);
275 275
 
276 276
 			// Delete the item.
277
-			$_response = $this->delete_item( $_item );
277
+			$_response = $this->delete_item($_item);
278 278
 
279
-			if ( is_wp_error( $_response ) ) {
279
+			if (is_wp_error($_response)) {
280 280
 
281 281
 				$delete[] = array(
282 282
 					'id'    => $id,
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
 				continue;
291 291
 			}
292 292
 
293
-			$delete[] = $wp_rest_server->response_to_data( /** @scrutinizer ignore-type */ $_response, false );
293
+			$delete[] = $wp_rest_server->response_to_data(/** @scrutinizer ignore-type */ $_response, false);
294 294
 
295 295
 		}
296 296
 
@@ -304,23 +304,23 @@  discard block
 block discarded – undo
304 304
 	 * @param WP_REST_Request $request Full details about the request.
305 305
 	 * @return WP_Error|array.
306 306
 	 */
307
-	public function batch_items( $request ) {
307
+	public function batch_items($request) {
308 308
 		global $wp_rest_server;
309 309
 
310 310
 		// Prepare the batch items.
311
-		$items = $this->fill_batch_keys( array_filter( $request->get_params() ) );
311
+		$items = $this->fill_batch_keys(array_filter($request->get_params()));
312 312
 
313 313
 		// Ensure that the batch has not exceeded the limit to prevent abuse.
314
-		$limit = $this->check_batch_limit( $items );
315
-		if ( is_wp_error( $limit ) ) {
314
+		$limit = $this->check_batch_limit($items);
315
+		if (is_wp_error($limit)) {
316 316
 			return $limit;
317 317
 		}
318 318
 
319 319
 		// Process the items.
320 320
 		return array(
321
-			'create' => $this->batch_create_items( $items['create'], $request, $wp_rest_server ),
322
-			'update' => $this->batch_update_items( $items['update'], $request, $wp_rest_server ),
323
-			'delete' => $this->batch_delete_items( $items['delete'], $wp_rest_server ),
321
+			'create' => $this->batch_create_items($items['create'], $request, $wp_rest_server),
322
+			'update' => $this->batch_update_items($items['update'], $request, $wp_rest_server),
323
+			'delete' => $this->batch_delete_items($items['delete'], $wp_rest_server),
324 324
 		);
325 325
 
326 326
 	}
@@ -333,8 +333,8 @@  discard block
 block discarded – undo
333 333
 	 * @param array $meta_query Meta query.
334 334
 	 * @return array
335 335
 	 */
336
-	protected function add_meta_query( $args, $meta_query ) {
337
-		if ( empty( $args['meta_query'] ) ) {
336
+	protected function add_meta_query($args, $meta_query) {
337
+		if (empty($args['meta_query'])) {
338 338
 			$args['meta_query'] = array();
339 339
 		}
340 340
 
@@ -356,25 +356,25 @@  discard block
 block discarded – undo
356 356
 			'type'       => 'object',
357 357
 			'properties' => array(
358 358
 				'create' => array(
359
-					'description' => __( 'List of created resources.', 'invoicing' ),
359
+					'description' => __('List of created resources.', 'invoicing'),
360 360
 					'type'        => 'array',
361
-					'context'     => array( 'view', 'edit' ),
361
+					'context'     => array('view', 'edit'),
362 362
 					'items'       => array(
363 363
 						'type' => 'object',
364 364
 					),
365 365
 				),
366 366
 				'update' => array(
367
-					'description' => __( 'List of updated resources.', 'invoicing' ),
367
+					'description' => __('List of updated resources.', 'invoicing'),
368 368
 					'type'        => 'array',
369
-					'context'     => array( 'view', 'edit' ),
369
+					'context'     => array('view', 'edit'),
370 370
 					'items'       => array(
371 371
 						'type' => 'object',
372 372
 					),
373 373
 				),
374 374
 				'delete' => array(
375
-					'description' => __( 'List of deleted resources.', 'invoicing' ),
375
+					'description' => __('List of deleted resources.', 'invoicing'),
376 376
 					'type'        => 'array',
377
-					'context'     => array( 'view', 'edit' ),
377
+					'context'     => array('view', 'edit'),
378 378
 					'items'       => array(
379 379
 						'type' => 'integer',
380 380
 					),
@@ -395,13 +395,13 @@  discard block
 block discarded – undo
395 395
 	protected function get_schema_properties() {
396 396
 
397 397
 		$schema     = $this->get_item_schema();
398
-		$properties = isset( $schema['properties'] ) ? $schema['properties'] : array();
398
+		$properties = isset($schema['properties']) ? $schema['properties'] : array();
399 399
 
400 400
 		// For back-compat, include any field with an empty schema
401 401
 		// because it won't be present in $this->get_item_schema().
402
-		foreach ( $this->get_additional_fields() as $field_name => $field_options ) {
403
-			if ( is_null( $field_options['schema'] ) ) {
404
-				$properties[ $field_name ] = $field_options;
402
+		foreach ($this->get_additional_fields() as $field_name => $field_options) {
403
+			if (is_null($field_options['schema'])) {
404
+				$properties[$field_name] = $field_options;
405 405
 			}
406 406
 		}
407 407
 
@@ -416,15 +416,15 @@  discard block
 block discarded – undo
416 416
 	 * @since 1.0.19
417 417
 	 * @return array
418 418
 	 */
419
-	protected function filter_response_fields_by_context( $fields, $context ) {
419
+	protected function filter_response_fields_by_context($fields, $context) {
420 420
 
421
-		if ( empty( $context ) ) {
421
+		if (empty($context)) {
422 422
 			return $fields;
423 423
 		}
424 424
 
425
-		foreach ( $fields as $name => $options ) {
426
-			if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) {
427
-				unset( $fields[ $name ] );
425
+		foreach ($fields as $name => $options) {
426
+			if (!empty($options['context']) && !in_array($context, $options['context'], true)) {
427
+				unset($fields[$name]);
428 428
 			}
429 429
 		}
430 430
 
@@ -440,35 +440,35 @@  discard block
 block discarded – undo
440 440
 	 * @since 1.0.19
441 441
 	 * @return array
442 442
 	 */
443
-	protected function filter_response_fields_by_array( $fields, $requested ) {
443
+	protected function filter_response_fields_by_array($fields, $requested) {
444 444
 
445 445
 		// Trim off any whitespace from the list array.
446
-		$requested = array_map( 'trim', $requested );
446
+		$requested = array_map('trim', $requested);
447 447
 
448 448
 		// Always persist 'id', because it can be needed for add_additional_fields_to_object().
449
-		if ( in_array( 'id', $fields, true ) ) {
449
+		if (in_array('id', $fields, true)) {
450 450
 			$requested[] = 'id';
451 451
 		}
452 452
 
453 453
 		// Get rid of duplicate fields.
454
-		$requested = array_unique( $requested );
454
+		$requested = array_unique($requested);
455 455
 
456 456
 		// Return the list of all included fields which are available.
457 457
 		return array_reduce(
458 458
 			$requested,
459
-			function( $response_fields, $field ) use ( $fields ) {
459
+			function($response_fields, $field) use ($fields) {
460 460
 
461
-				if ( in_array( $field, $fields, true ) ) {
461
+				if (in_array($field, $fields, true)) {
462 462
 					$response_fields[] = $field;
463 463
 					return $response_fields;
464 464
 				}
465 465
 
466 466
 				// Check for nested fields if $field is not a direct match.
467
-				$nested_fields = explode( '.', $field );
467
+				$nested_fields = explode('.', $field);
468 468
 
469 469
 				// A nested field is included so long as its top-level property is
470 470
 				// present in the schema.
471
-				if ( in_array( $nested_fields[0], $fields, true ) ) {
471
+				if (in_array($nested_fields[0], $fields, true)) {
472 472
 					$response_fields[] = $field;
473 473
 				}
474 474
 
@@ -489,23 +489,23 @@  discard block
 block discarded – undo
489 489
 	 * @param WP_REST_Request $request Full details about the request.
490 490
 	 * @return array Fields to be included in the response.
491 491
 	 */
492
-	public function get_fields_for_response( $request ) {
492
+	public function get_fields_for_response($request) {
493 493
 
494 494
 		// Retrieve fields in the schema.
495 495
 		$properties = $this->get_schema_properties();
496 496
 
497 497
 		// Exclude fields that specify a different context than the request context.
498
-		$properties = $this->filter_response_fields_by_context( $properties, $request['context'] );
498
+		$properties = $this->filter_response_fields_by_context($properties, $request['context']);
499 499
 
500 500
 		// We only need the field keys.
501
-		$fields = array_keys( $properties );
501
+		$fields = array_keys($properties);
502 502
 
503 503
 		// Is the user filtering the response fields??
504
-		if ( empty( $request['_fields'] ) ) {
504
+		if (empty($request['_fields'])) {
505 505
 			return $fields;
506 506
 		}
507 507
 
508
-		return $this->filter_response_fields_by_array( $fields, wpinv_parse_list( $request['_fields'] ) );
508
+		return $this->filter_response_fields_by_array($fields, wpinv_parse_list($request['_fields']));
509 509
 
510 510
 	}
511 511
 
@@ -519,32 +519,32 @@  discard block
 block discarded – undo
519 519
 	 * @param array $fields Requested fields.
520 520
 	 * @return array Fields to be included in the response.
521 521
 	 */
522
-	public function limit_object_to_requested_fields( $data, $fields, $prefix = '' ) {
522
+	public function limit_object_to_requested_fields($data, $fields, $prefix = '') {
523 523
 
524 524
 		// Is the user filtering the response fields??
525
-		if ( empty( $fields ) ) {
525
+		if (empty($fields)) {
526 526
 			return $data;
527 527
 		}
528 528
 
529
-		foreach ( $data as $key => $value ) {
529
+		foreach ($data as $key => $value) {
530 530
 
531 531
 			// Numeric arrays.
532
-			if ( is_numeric( $key ) && is_array( $value ) ) {
533
-				$data[ $key ] = $this->limit_object_to_requested_fields( $value, $fields, $prefix );
532
+			if (is_numeric($key) && is_array($value)) {
533
+				$data[$key] = $this->limit_object_to_requested_fields($value, $fields, $prefix);
534 534
 				continue;
535 535
 			}
536 536
 
537 537
 			// Generate a new prefix.
538
-			$new_prefix = empty( $prefix ) ? $key : "$prefix.$key";
538
+			$new_prefix = empty($prefix) ? $key : "$prefix.$key";
539 539
 
540 540
 			// Check if it was requested.
541
-			if ( ! empty( $key ) && ! $this->is_field_included( $new_prefix, $fields ) ) {
542
-				unset( $data[ $key ] );
541
+			if (!empty($key) && !$this->is_field_included($new_prefix, $fields)) {
542
+				unset($data[$key]);
543 543
 				continue;
544 544
 			}
545 545
 
546
-			if ( $key != 'meta_data' && is_array( $value ) ) {
547
-				$data[ $key ] = $this->limit_object_to_requested_fields( $value, $fields, $new_prefix );
546
+			if ($key != 'meta_data' && is_array($value)) {
547
+				$data[$key] = $this->limit_object_to_requested_fields($value, $fields, $new_prefix);
548 548
 			}
549 549
 }
550 550
 
@@ -565,20 +565,20 @@  discard block
 block discarded – undo
565 565
 	 * @return bool Whether to include the field or not.
566 566
 	 * @see rest_is_field_included()
567 567
 	 */
568
-	public function is_field_included( $field, $fields ) {
569
-		if ( in_array( $field, $fields, true ) ) {
568
+	public function is_field_included($field, $fields) {
569
+		if (in_array($field, $fields, true)) {
570 570
 			return true;
571 571
 		}
572 572
 
573
-		foreach ( $fields as $accepted_field ) {
573
+		foreach ($fields as $accepted_field) {
574 574
 			// Check to see if $field is the parent of any item in $fields.
575 575
 			// A field "parent" should be accepted if "parent.child" is accepted.
576
-			if ( strpos( $accepted_field, "$field." ) === 0 ) {
576
+			if (strpos($accepted_field, "$field.") === 0) {
577 577
 				return true;
578 578
 			}
579 579
 			// Conversely, if "parent" is accepted, all "parent.child" fields
580 580
 			// should also be accepted.
581
-			if ( strpos( $field, "$accepted_field." ) === 0 ) {
581
+			if (strpos($field, "$accepted_field.") === 0) {
582 582
 				return true;
583 583
 			}
584 584
 		}
Please login to merge, or discard this patch.
includes/api/class-getpaid-rest-report-top-sellers-controller.php 2 patches
Indentation   +175 added lines, -175 removed lines patch added patch discarded remove patch
@@ -18,179 +18,179 @@
 block discarded – undo
18 18
  */
19 19
 class GetPaid_REST_Report_Top_Sellers_Controller extends GetPaid_REST_Report_Sales_Controller {
20 20
 
21
-	/**
22
-	 * Route base.
23
-	 *
24
-	 * @var string
25
-	 */
26
-	protected $rest_base = 'reports/top_sellers';
27
-
28
-	/**
29
-	 * Get top sellers report.
30
-	 *
31
-	 * @param WP_REST_Request $request
32
-	 * @return array|WP_Error
33
-	 */
34
-	public function get_items( $request ) {
35
-
36
-		// Prepare items.
37
-		$this->report_range = $this->get_date_range( $request );
38
-		$report_data        = $this->get_report_data();
39
-
40
-		$top_sellers = array();
41
-
42
-		foreach ( $report_data as $item ) {
43
-
44
-			$item_obj  = new WPInv_Item( $item );
45
-			$item_name = $item->invoice_item_name;
46
-			$item_qty  = floatval( $item->invoice_item_qty );
47
-			$item_id   = absint( $item->invoice_item_id );
48
-			$price     = sanitize_text_field( wpinv_price( $item->invoice_item_price ) );
49
-
50
-			$item_obj  = new WPInv_Item( $item_id );
51
-
52
-			if ( $item_obj->exists() ) {
53
-				$item_name = $item_obj->get_name();
54
-			} else {
55
-				$item_id   = 0;
56
-			}
57
-
58
-			$top_sellers[] = array(
59
-				'name'               => sanitize_text_field( $item_name ),
60
-				'item_id'            => $item_id,
61
-				'quantity'           => $item_qty,
62
-				'earnings'           => wpinv_round_amount( $item->invoice_item_price ),
63
-				'earnings_formatted' => sanitize_text_field( wpinv_price( $price ) ),
64
-			);
65
-
66
-		}
67
-
68
-		$data = array();
69
-		foreach ( $top_sellers as $top_seller ) {
70
-			$item   = $this->prepare_item_for_response( (object) $top_seller, $request );
71
-			$data[] = $this->prepare_response_for_collection( $item );
72
-		}
73
-
74
-		return rest_ensure_response( $data );
75
-
76
-	}
77
-
78
-	/**
79
-	 * Prepare a report sales object for serialization.
80
-	 *
81
-	 * @param stdClass $top_seller
82
-	 * @param WP_REST_Request $request Request object.
83
-	 * @return WP_REST_Response $response Response data.
84
-	 */
85
-	public function prepare_item_for_response( $top_seller, $request ) {
86
-		$data    = (array) $top_seller;
87
-
88
-		$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
89
-		$data    = $this->add_additional_fields_to_object( $data, $request );
90
-		$data    = $this->filter_response_by_context( $data, $context );
91
-
92
-		// Wrap the data in a response object.
93
-		$response = rest_ensure_response( $data );
94
-		$links = array(
95
-			'about' => array(
96
-				'href' => rest_url( sprintf( '%s/reports', $this->namespace ) ),
97
-			),
98
-		);
99
-
100
-		if ( ! empty( $top_seller->item_id ) ) {
101
-			$links['item']   = array(
102
-				'href'       => rest_url( sprintf( '/%s/items/%s', $this->namespace, $top_seller->item_id ) ),
103
-				'embeddable' => true,
104
-			);
105
-		}
106
-
107
-		$response->add_links( $links );
108
-		return apply_filters( 'getpaid_rest_prepare_report_' . $this->rest_base, $response, $top_seller, $request );
109
-	}
110
-
111
-	/**
112
-	 * Get all data needed for this report and store in the class.
113
-	 */
114
-	protected function query_report_data() {
115
-
116
-		$this->report_data = GetPaid_Reports_Helper::get_invoice_report_data(
117
-			array(
118
-				'data'         => array(
119
-					'quantity'  => array(
120
-						'type'     => 'invoice_item',
121
-						'function' => 'SUM',
122
-						'name'     => 'invoice_item_qty',
123
-					),
124
-					'item_id'   => array(
125
-						'type'     => 'invoice_item',
126
-						'function' => '',
127
-						'name'     => 'invoice_item_id',
128
-					),
129
-					'item_name' => array(
130
-						'type'     => 'invoice_item',
131
-						'function' => '',
132
-						'name'     => 'invoice_item_name',
133
-					),
134
-					'price'     => array(
135
-						'type'     => 'invoice_item',
136
-						'function' => 'SUM',
137
-						'name'     => 'invoice_item_price',
138
-					),
139
-				),
140
-				'group_by'     => 'invoice_item_id',
141
-				'order_by'     => 'invoice_item_qty DESC',
142
-				'query_type'   => 'get_results',
143
-				'limit'        => 10,
144
-				'filter_range' => $this->report_range,
145
-			)
146
-		);
147
-
148
-	}
149
-
150
-	/**
151
-	 * Get the Report's schema, conforming to JSON Schema.
152
-	 *
153
-	 * @return array
154
-	 */
155
-	public function get_item_schema() {
156
-		$schema = array(
157
-			'$schema'    => 'http://json-schema.org/draft-04/schema#',
158
-			'title'      => $this->rest_base,
159
-			'type'       => 'object',
160
-			'properties' => array(
161
-				'name'                => array(
162
-					'description' => __( 'Item name.', 'invoicing' ),
163
-					'type'        => 'string',
164
-					'context'     => array( 'view' ),
165
-					'readonly'    => true,
166
-				),
167
-				'item_id'             => array(
168
-					'description' => __( 'Item ID.', 'invoicing' ),
169
-					'type'        => 'integer',
170
-					'context'     => array( 'view' ),
171
-					'readonly'    => true,
172
-				),
173
-				'quantity'            => array(
174
-					'description' => __( 'Total number of purchases.', 'invoicing' ),
175
-					'type'        => 'number',
176
-					'context'     => array( 'view' ),
177
-					'readonly'    => true,
178
-				),
179
-				'earnings'            => array(
180
-					'description' => __( 'Total earnings for the item.', 'invoicing' ),
181
-					'type'        => 'number',
182
-					'context'     => array( 'view' ),
183
-					'readonly'    => true,
184
-				),
185
-				'earnings_formatted"' => array(
186
-					'description' => __( 'Total earnings (formatted) for the item.', 'invoicing' ),
187
-					'type'        => 'string',
188
-					'context'     => array( 'view' ),
189
-					'readonly'    => true,
190
-				),
191
-			),
192
-		);
193
-
194
-		return $this->add_additional_fields_schema( $schema );
195
-	}
21
+    /**
22
+     * Route base.
23
+     *
24
+     * @var string
25
+     */
26
+    protected $rest_base = 'reports/top_sellers';
27
+
28
+    /**
29
+     * Get top sellers report.
30
+     *
31
+     * @param WP_REST_Request $request
32
+     * @return array|WP_Error
33
+     */
34
+    public function get_items( $request ) {
35
+
36
+        // Prepare items.
37
+        $this->report_range = $this->get_date_range( $request );
38
+        $report_data        = $this->get_report_data();
39
+
40
+        $top_sellers = array();
41
+
42
+        foreach ( $report_data as $item ) {
43
+
44
+            $item_obj  = new WPInv_Item( $item );
45
+            $item_name = $item->invoice_item_name;
46
+            $item_qty  = floatval( $item->invoice_item_qty );
47
+            $item_id   = absint( $item->invoice_item_id );
48
+            $price     = sanitize_text_field( wpinv_price( $item->invoice_item_price ) );
49
+
50
+            $item_obj  = new WPInv_Item( $item_id );
51
+
52
+            if ( $item_obj->exists() ) {
53
+                $item_name = $item_obj->get_name();
54
+            } else {
55
+                $item_id   = 0;
56
+            }
57
+
58
+            $top_sellers[] = array(
59
+                'name'               => sanitize_text_field( $item_name ),
60
+                'item_id'            => $item_id,
61
+                'quantity'           => $item_qty,
62
+                'earnings'           => wpinv_round_amount( $item->invoice_item_price ),
63
+                'earnings_formatted' => sanitize_text_field( wpinv_price( $price ) ),
64
+            );
65
+
66
+        }
67
+
68
+        $data = array();
69
+        foreach ( $top_sellers as $top_seller ) {
70
+            $item   = $this->prepare_item_for_response( (object) $top_seller, $request );
71
+            $data[] = $this->prepare_response_for_collection( $item );
72
+        }
73
+
74
+        return rest_ensure_response( $data );
75
+
76
+    }
77
+
78
+    /**
79
+     * Prepare a report sales object for serialization.
80
+     *
81
+     * @param stdClass $top_seller
82
+     * @param WP_REST_Request $request Request object.
83
+     * @return WP_REST_Response $response Response data.
84
+     */
85
+    public function prepare_item_for_response( $top_seller, $request ) {
86
+        $data    = (array) $top_seller;
87
+
88
+        $context = ! empty( $request['context'] ) ? $request['context'] : 'view';
89
+        $data    = $this->add_additional_fields_to_object( $data, $request );
90
+        $data    = $this->filter_response_by_context( $data, $context );
91
+
92
+        // Wrap the data in a response object.
93
+        $response = rest_ensure_response( $data );
94
+        $links = array(
95
+            'about' => array(
96
+                'href' => rest_url( sprintf( '%s/reports', $this->namespace ) ),
97
+            ),
98
+        );
99
+
100
+        if ( ! empty( $top_seller->item_id ) ) {
101
+            $links['item']   = array(
102
+                'href'       => rest_url( sprintf( '/%s/items/%s', $this->namespace, $top_seller->item_id ) ),
103
+                'embeddable' => true,
104
+            );
105
+        }
106
+
107
+        $response->add_links( $links );
108
+        return apply_filters( 'getpaid_rest_prepare_report_' . $this->rest_base, $response, $top_seller, $request );
109
+    }
110
+
111
+    /**
112
+     * Get all data needed for this report and store in the class.
113
+     */
114
+    protected function query_report_data() {
115
+
116
+        $this->report_data = GetPaid_Reports_Helper::get_invoice_report_data(
117
+            array(
118
+                'data'         => array(
119
+                    'quantity'  => array(
120
+                        'type'     => 'invoice_item',
121
+                        'function' => 'SUM',
122
+                        'name'     => 'invoice_item_qty',
123
+                    ),
124
+                    'item_id'   => array(
125
+                        'type'     => 'invoice_item',
126
+                        'function' => '',
127
+                        'name'     => 'invoice_item_id',
128
+                    ),
129
+                    'item_name' => array(
130
+                        'type'     => 'invoice_item',
131
+                        'function' => '',
132
+                        'name'     => 'invoice_item_name',
133
+                    ),
134
+                    'price'     => array(
135
+                        'type'     => 'invoice_item',
136
+                        'function' => 'SUM',
137
+                        'name'     => 'invoice_item_price',
138
+                    ),
139
+                ),
140
+                'group_by'     => 'invoice_item_id',
141
+                'order_by'     => 'invoice_item_qty DESC',
142
+                'query_type'   => 'get_results',
143
+                'limit'        => 10,
144
+                'filter_range' => $this->report_range,
145
+            )
146
+        );
147
+
148
+    }
149
+
150
+    /**
151
+     * Get the Report's schema, conforming to JSON Schema.
152
+     *
153
+     * @return array
154
+     */
155
+    public function get_item_schema() {
156
+        $schema = array(
157
+            '$schema'    => 'http://json-schema.org/draft-04/schema#',
158
+            'title'      => $this->rest_base,
159
+            'type'       => 'object',
160
+            'properties' => array(
161
+                'name'                => array(
162
+                    'description' => __( 'Item name.', 'invoicing' ),
163
+                    'type'        => 'string',
164
+                    'context'     => array( 'view' ),
165
+                    'readonly'    => true,
166
+                ),
167
+                'item_id'             => array(
168
+                    'description' => __( 'Item ID.', 'invoicing' ),
169
+                    'type'        => 'integer',
170
+                    'context'     => array( 'view' ),
171
+                    'readonly'    => true,
172
+                ),
173
+                'quantity'            => array(
174
+                    'description' => __( 'Total number of purchases.', 'invoicing' ),
175
+                    'type'        => 'number',
176
+                    'context'     => array( 'view' ),
177
+                    'readonly'    => true,
178
+                ),
179
+                'earnings'            => array(
180
+                    'description' => __( 'Total earnings for the item.', 'invoicing' ),
181
+                    'type'        => 'number',
182
+                    'context'     => array( 'view' ),
183
+                    'readonly'    => true,
184
+                ),
185
+                'earnings_formatted"' => array(
186
+                    'description' => __( 'Total earnings (formatted) for the item.', 'invoicing' ),
187
+                    'type'        => 'string',
188
+                    'context'     => array( 'view' ),
189
+                    'readonly'    => true,
190
+                ),
191
+            ),
192
+        );
193
+
194
+        return $this->add_additional_fields_schema( $schema );
195
+    }
196 196
 }
Please login to merge, or discard this patch.
Spacing   +39 added lines, -39 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
  * @since   2.0.0
10 10
  */
11 11
 
12
-defined( 'ABSPATH' ) || exit;
12
+defined('ABSPATH') || exit;
13 13
 
14 14
 /**
15 15
  * GetPaid REST top sellers controller class.
@@ -31,47 +31,47 @@  discard block
 block discarded – undo
31 31
 	 * @param WP_REST_Request $request
32 32
 	 * @return array|WP_Error
33 33
 	 */
34
-	public function get_items( $request ) {
34
+	public function get_items($request) {
35 35
 
36 36
 		// Prepare items.
37
-		$this->report_range = $this->get_date_range( $request );
37
+		$this->report_range = $this->get_date_range($request);
38 38
 		$report_data        = $this->get_report_data();
39 39
 
40 40
 		$top_sellers = array();
41 41
 
42
-		foreach ( $report_data as $item ) {
42
+		foreach ($report_data as $item) {
43 43
 
44
-			$item_obj  = new WPInv_Item( $item );
44
+			$item_obj  = new WPInv_Item($item);
45 45
 			$item_name = $item->invoice_item_name;
46
-			$item_qty  = floatval( $item->invoice_item_qty );
47
-			$item_id   = absint( $item->invoice_item_id );
48
-			$price     = sanitize_text_field( wpinv_price( $item->invoice_item_price ) );
46
+			$item_qty  = floatval($item->invoice_item_qty);
47
+			$item_id   = absint($item->invoice_item_id);
48
+			$price     = sanitize_text_field(wpinv_price($item->invoice_item_price));
49 49
 
50
-			$item_obj  = new WPInv_Item( $item_id );
50
+			$item_obj  = new WPInv_Item($item_id);
51 51
 
52
-			if ( $item_obj->exists() ) {
52
+			if ($item_obj->exists()) {
53 53
 				$item_name = $item_obj->get_name();
54 54
 			} else {
55 55
 				$item_id   = 0;
56 56
 			}
57 57
 
58 58
 			$top_sellers[] = array(
59
-				'name'               => sanitize_text_field( $item_name ),
59
+				'name'               => sanitize_text_field($item_name),
60 60
 				'item_id'            => $item_id,
61 61
 				'quantity'           => $item_qty,
62
-				'earnings'           => wpinv_round_amount( $item->invoice_item_price ),
63
-				'earnings_formatted' => sanitize_text_field( wpinv_price( $price ) ),
62
+				'earnings'           => wpinv_round_amount($item->invoice_item_price),
63
+				'earnings_formatted' => sanitize_text_field(wpinv_price($price)),
64 64
 			);
65 65
 
66 66
 		}
67 67
 
68 68
 		$data = array();
69
-		foreach ( $top_sellers as $top_seller ) {
70
-			$item   = $this->prepare_item_for_response( (object) $top_seller, $request );
71
-			$data[] = $this->prepare_response_for_collection( $item );
69
+		foreach ($top_sellers as $top_seller) {
70
+			$item   = $this->prepare_item_for_response((object) $top_seller, $request);
71
+			$data[] = $this->prepare_response_for_collection($item);
72 72
 		}
73 73
 
74
-		return rest_ensure_response( $data );
74
+		return rest_ensure_response($data);
75 75
 
76 76
 	}
77 77
 
@@ -82,30 +82,30 @@  discard block
 block discarded – undo
82 82
 	 * @param WP_REST_Request $request Request object.
83 83
 	 * @return WP_REST_Response $response Response data.
84 84
 	 */
85
-	public function prepare_item_for_response( $top_seller, $request ) {
85
+	public function prepare_item_for_response($top_seller, $request) {
86 86
 		$data    = (array) $top_seller;
87 87
 
88
-		$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
89
-		$data    = $this->add_additional_fields_to_object( $data, $request );
90
-		$data    = $this->filter_response_by_context( $data, $context );
88
+		$context = !empty($request['context']) ? $request['context'] : 'view';
89
+		$data    = $this->add_additional_fields_to_object($data, $request);
90
+		$data    = $this->filter_response_by_context($data, $context);
91 91
 
92 92
 		// Wrap the data in a response object.
93
-		$response = rest_ensure_response( $data );
93
+		$response = rest_ensure_response($data);
94 94
 		$links = array(
95 95
 			'about' => array(
96
-				'href' => rest_url( sprintf( '%s/reports', $this->namespace ) ),
96
+				'href' => rest_url(sprintf('%s/reports', $this->namespace)),
97 97
 			),
98 98
 		);
99 99
 
100
-		if ( ! empty( $top_seller->item_id ) ) {
101
-			$links['item']   = array(
102
-				'href'       => rest_url( sprintf( '/%s/items/%s', $this->namespace, $top_seller->item_id ) ),
100
+		if (!empty($top_seller->item_id)) {
101
+			$links['item'] = array(
102
+				'href'       => rest_url(sprintf('/%s/items/%s', $this->namespace, $top_seller->item_id)),
103 103
 				'embeddable' => true,
104 104
 			);
105 105
 		}
106 106
 
107
-		$response->add_links( $links );
108
-		return apply_filters( 'getpaid_rest_prepare_report_' . $this->rest_base, $response, $top_seller, $request );
107
+		$response->add_links($links);
108
+		return apply_filters('getpaid_rest_prepare_report_' . $this->rest_base, $response, $top_seller, $request);
109 109
 	}
110 110
 
111 111
 	/**
@@ -159,38 +159,38 @@  discard block
 block discarded – undo
159 159
 			'type'       => 'object',
160 160
 			'properties' => array(
161 161
 				'name'                => array(
162
-					'description' => __( 'Item name.', 'invoicing' ),
162
+					'description' => __('Item name.', 'invoicing'),
163 163
 					'type'        => 'string',
164
-					'context'     => array( 'view' ),
164
+					'context'     => array('view'),
165 165
 					'readonly'    => true,
166 166
 				),
167 167
 				'item_id'             => array(
168
-					'description' => __( 'Item ID.', 'invoicing' ),
168
+					'description' => __('Item ID.', 'invoicing'),
169 169
 					'type'        => 'integer',
170
-					'context'     => array( 'view' ),
170
+					'context'     => array('view'),
171 171
 					'readonly'    => true,
172 172
 				),
173 173
 				'quantity'            => array(
174
-					'description' => __( 'Total number of purchases.', 'invoicing' ),
174
+					'description' => __('Total number of purchases.', 'invoicing'),
175 175
 					'type'        => 'number',
176
-					'context'     => array( 'view' ),
176
+					'context'     => array('view'),
177 177
 					'readonly'    => true,
178 178
 				),
179 179
 				'earnings'            => array(
180
-					'description' => __( 'Total earnings for the item.', 'invoicing' ),
180
+					'description' => __('Total earnings for the item.', 'invoicing'),
181 181
 					'type'        => 'number',
182
-					'context'     => array( 'view' ),
182
+					'context'     => array('view'),
183 183
 					'readonly'    => true,
184 184
 				),
185 185
 				'earnings_formatted"' => array(
186
-					'description' => __( 'Total earnings (formatted) for the item.', 'invoicing' ),
186
+					'description' => __('Total earnings (formatted) for the item.', 'invoicing'),
187 187
 					'type'        => 'string',
188
-					'context'     => array( 'view' ),
188
+					'context'     => array('view'),
189 189
 					'readonly'    => true,
190 190
 				),
191 191
 			),
192 192
 		);
193 193
 
194
-		return $this->add_additional_fields_schema( $schema );
194
+		return $this->add_additional_fields_schema($schema);
195 195
 	}
196 196
 }
Please login to merge, or discard this patch.