Passed
Pull Request — master (#462)
by Viktor
04:15
created
ayecode/wp-ayecode-ui/includes/components/class-aui-component-input.php 3 patches
Indentation   +1002 added lines, -1002 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
4
+    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -11,1012 +11,1012 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Input {
13 13
 
14
-	/**
15
-	 * Build the component.
16
-	 *
17
-	 * @param array $args
18
-	 *
19
-	 * @return string The rendered component.
20
-	 */
21
-	public static function input($args = array()){
22
-		$defaults = array(
23
-			'type'       => 'text',
24
-			'name'       => '',
25
-			'class'      => '',
26
-			'wrap_class' => '',
27
-			'id'         => '',
28
-			'placeholder'=> '',
29
-			'title'      => '',
30
-			'value'      => '',
31
-			'required'   => false,
32
-			'label'      => '',
33
-			'label_after'=> false,
34
-			'label_class'=> '',
35
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
36
-			'help_text'  => '',
37
-			'validation_text'   => '',
38
-			'validation_pattern' => '',
39
-			'no_wrap'    => false,
40
-			'input_group_right' => '',
41
-			'input_group_left' => '',
42
-			'input_group_right_inside' => false, // forces the input group inside the input
43
-			'input_group_left_inside' => false, // forces the input group inside the input
44
-			'step'       => '',
45
-			'switch'     => false, // to show checkbox as a switch
46
-			'checked'   => false, // set a checkbox or radio as selected
47
-			'password_toggle' => true, // toggle view/hide password
48
-			'element_require'   => '', // [%element_id%] == "1"
49
-			'extra_attributes'  => array() // an array of extra attributes
50
-		);
51
-
52
-		/**
53
-		 * Parse incoming $args into an array and merge it with $defaults
54
-		 */
55
-		$args   = wp_parse_args( $args, $defaults );
56
-		$output = '';
57
-		if ( ! empty( $args['type'] ) ) {
58
-			// hidden label option needs to be empty
59
-			$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
60
-
61
-			$type = sanitize_html_class( $args['type'] );
62
-
63
-			$help_text = '';
64
-			$label = '';
65
-			$label_after = $args['label_after'];
66
-			$label_args = array(
67
-				'title'=> $args['label'],
68
-				'for'=> $args['id'],
69
-				'class' => $args['label_class']." ",
70
-				'label_type' => $args['label_type']
71
-			);
72
-
73
-			// floating labels need label after
74
-			if( $args['label_type'] == 'floating' && $type != 'checkbox' ){
75
-				$label_after = true;
76
-				$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
77
-			}
78
-
79
-			// Some special sauce for files
80
-			if($type=='file' ){
81
-				$label_after = true; // if type file we need the label after
82
-				$args['class'] .= ' custom-file-input ';
83
-			}elseif($type=='checkbox'){
84
-				$label_after = true; // if type file we need the label after
85
-				$args['class'] .= ' custom-control-input ';
86
-			}elseif($type=='datepicker' || $type=='timepicker'){
87
-				$type = 'text';
88
-				//$args['class'] .= ' aui-flatpickr bg-initial ';
89
-				$args['class'] .= ' bg-initial ';
90
-
91
-				$args['extra_attributes']['data-aui-init'] = 'flatpickr';
92
-				// enqueue the script
93
-				$aui_settings = AyeCode_UI_Settings::instance();
94
-				$aui_settings->enqueue_flatpickr();
95
-			}
96
-
97
-
98
-			// open/type
99
-			$output .= '<input type="' . $type . '" ';
100
-
101
-			// name
102
-			if(!empty($args['name'])){
103
-				$output .= ' name="'.esc_attr($args['name']).'" ';
104
-			}
105
-
106
-			// id
107
-			if(!empty($args['id'])){
108
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
109
-			}
110
-
111
-			// placeholder
112
-			if(isset($args['placeholder']) && '' != $args['placeholder'] ){
113
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
114
-			}
115
-
116
-			// title
117
-			if(!empty($args['title'])){
118
-				$output .= ' title="'.esc_attr($args['title']).'" ';
119
-			}
120
-
121
-			// value
122
-			if(!empty($args['value'])){
123
-				$output .= ' value="'.sanitize_text_field($args['value']).'" ';
124
-			}
125
-
126
-			// checked, for radio and checkboxes
127
-			if( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ){
128
-				$output .= ' checked ';
129
-			}
130
-
131
-			// validation text
132
-			if(!empty($args['validation_text'])){
133
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
134
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
135
-			}
136
-
137
-			// validation_pattern
138
-			if(!empty($args['validation_pattern'])){
139
-				$output .= ' pattern="'.$args['validation_pattern'].'" ';
140
-			}
141
-
142
-			// step (for numbers)
143
-			if(!empty($args['step'])){
144
-				$output .= ' step="'.$args['step'].'" ';
145
-			}
146
-
147
-			// required
148
-			if(!empty($args['required'])){
149
-				$output .= ' required ';
150
-			}
151
-
152
-			// class
153
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
154
-			$output .= ' class="form-control '.$class.'" ';
155
-
156
-			// data-attributes
157
-			$output .= AUI_Component_Helper::data_attributes($args);
158
-
159
-			// extra attributes
160
-			if(!empty($args['extra_attributes'])){
161
-				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
162
-			}
163
-
164
-			// close
165
-			$output .= ' >';
166
-
167
-
168
-			// label
169
-			if(!empty($args['label'])){
170
-				if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
171
-				elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
172
-				$label = self::label( $label_args, $type );
173
-			}
174
-
175
-			// help text
176
-			if(!empty($args['help_text'])){
177
-				$help_text = AUI_Component_Helper::help_text($args['help_text']);
178
-			}
179
-
180
-
181
-			// set help text in the correct possition
182
-			if($label_after){
183
-				$output .= $label . $help_text;
184
-			}
185
-
186
-			// some input types need a separate wrap
187
-			if($type == 'file') {
188
-				$output = self::wrap( array(
189
-					'content' => $output,
190
-					'class'   => 'form-group custom-file'
191
-				) );
192
-			}elseif($type == 'checkbox'){
193
-				$wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
194
-				$output = self::wrap( array(
195
-					'content' => $output,
196
-					'class'   => 'custom-control '.$wrap_class
197
-				) );
198
-
199
-				if($args['label_type']=='horizontal'){
200
-					$output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
201
-				}
202
-			}elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
203
-
204
-
205
-				// allow password field to toggle view
206
-				$args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
14
+    /**
15
+     * Build the component.
16
+     *
17
+     * @param array $args
18
+     *
19
+     * @return string The rendered component.
20
+     */
21
+    public static function input($args = array()){
22
+        $defaults = array(
23
+            'type'       => 'text',
24
+            'name'       => '',
25
+            'class'      => '',
26
+            'wrap_class' => '',
27
+            'id'         => '',
28
+            'placeholder'=> '',
29
+            'title'      => '',
30
+            'value'      => '',
31
+            'required'   => false,
32
+            'label'      => '',
33
+            'label_after'=> false,
34
+            'label_class'=> '',
35
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
36
+            'help_text'  => '',
37
+            'validation_text'   => '',
38
+            'validation_pattern' => '',
39
+            'no_wrap'    => false,
40
+            'input_group_right' => '',
41
+            'input_group_left' => '',
42
+            'input_group_right_inside' => false, // forces the input group inside the input
43
+            'input_group_left_inside' => false, // forces the input group inside the input
44
+            'step'       => '',
45
+            'switch'     => false, // to show checkbox as a switch
46
+            'checked'   => false, // set a checkbox or radio as selected
47
+            'password_toggle' => true, // toggle view/hide password
48
+            'element_require'   => '', // [%element_id%] == "1"
49
+            'extra_attributes'  => array() // an array of extra attributes
50
+        );
51
+
52
+        /**
53
+         * Parse incoming $args into an array and merge it with $defaults
54
+         */
55
+        $args   = wp_parse_args( $args, $defaults );
56
+        $output = '';
57
+        if ( ! empty( $args['type'] ) ) {
58
+            // hidden label option needs to be empty
59
+            $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
60
+
61
+            $type = sanitize_html_class( $args['type'] );
62
+
63
+            $help_text = '';
64
+            $label = '';
65
+            $label_after = $args['label_after'];
66
+            $label_args = array(
67
+                'title'=> $args['label'],
68
+                'for'=> $args['id'],
69
+                'class' => $args['label_class']." ",
70
+                'label_type' => $args['label_type']
71
+            );
72
+
73
+            // floating labels need label after
74
+            if( $args['label_type'] == 'floating' && $type != 'checkbox' ){
75
+                $label_after = true;
76
+                $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
77
+            }
78
+
79
+            // Some special sauce for files
80
+            if($type=='file' ){
81
+                $label_after = true; // if type file we need the label after
82
+                $args['class'] .= ' custom-file-input ';
83
+            }elseif($type=='checkbox'){
84
+                $label_after = true; // if type file we need the label after
85
+                $args['class'] .= ' custom-control-input ';
86
+            }elseif($type=='datepicker' || $type=='timepicker'){
87
+                $type = 'text';
88
+                //$args['class'] .= ' aui-flatpickr bg-initial ';
89
+                $args['class'] .= ' bg-initial ';
90
+
91
+                $args['extra_attributes']['data-aui-init'] = 'flatpickr';
92
+                // enqueue the script
93
+                $aui_settings = AyeCode_UI_Settings::instance();
94
+                $aui_settings->enqueue_flatpickr();
95
+            }
96
+
97
+
98
+            // open/type
99
+            $output .= '<input type="' . $type . '" ';
100
+
101
+            // name
102
+            if(!empty($args['name'])){
103
+                $output .= ' name="'.esc_attr($args['name']).'" ';
104
+            }
105
+
106
+            // id
107
+            if(!empty($args['id'])){
108
+                $output .= ' id="'.sanitize_html_class($args['id']).'" ';
109
+            }
110
+
111
+            // placeholder
112
+            if(isset($args['placeholder']) && '' != $args['placeholder'] ){
113
+                $output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
114
+            }
115
+
116
+            // title
117
+            if(!empty($args['title'])){
118
+                $output .= ' title="'.esc_attr($args['title']).'" ';
119
+            }
120
+
121
+            // value
122
+            if(!empty($args['value'])){
123
+                $output .= ' value="'.sanitize_text_field($args['value']).'" ';
124
+            }
125
+
126
+            // checked, for radio and checkboxes
127
+            if( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ){
128
+                $output .= ' checked ';
129
+            }
130
+
131
+            // validation text
132
+            if(!empty($args['validation_text'])){
133
+                $output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
134
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
135
+            }
136
+
137
+            // validation_pattern
138
+            if(!empty($args['validation_pattern'])){
139
+                $output .= ' pattern="'.$args['validation_pattern'].'" ';
140
+            }
141
+
142
+            // step (for numbers)
143
+            if(!empty($args['step'])){
144
+                $output .= ' step="'.$args['step'].'" ';
145
+            }
146
+
147
+            // required
148
+            if(!empty($args['required'])){
149
+                $output .= ' required ';
150
+            }
151
+
152
+            // class
153
+            $class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
154
+            $output .= ' class="form-control '.$class.'" ';
155
+
156
+            // data-attributes
157
+            $output .= AUI_Component_Helper::data_attributes($args);
158
+
159
+            // extra attributes
160
+            if(!empty($args['extra_attributes'])){
161
+                $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
162
+            }
163
+
164
+            // close
165
+            $output .= ' >';
166
+
167
+
168
+            // label
169
+            if(!empty($args['label'])){
170
+                if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
171
+                elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
172
+                $label = self::label( $label_args, $type );
173
+            }
174
+
175
+            // help text
176
+            if(!empty($args['help_text'])){
177
+                $help_text = AUI_Component_Helper::help_text($args['help_text']);
178
+            }
179
+
180
+
181
+            // set help text in the correct possition
182
+            if($label_after){
183
+                $output .= $label . $help_text;
184
+            }
185
+
186
+            // some input types need a separate wrap
187
+            if($type == 'file') {
188
+                $output = self::wrap( array(
189
+                    'content' => $output,
190
+                    'class'   => 'form-group custom-file'
191
+                ) );
192
+            }elseif($type == 'checkbox'){
193
+                $wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
194
+                $output = self::wrap( array(
195
+                    'content' => $output,
196
+                    'class'   => 'custom-control '.$wrap_class
197
+                ) );
198
+
199
+                if($args['label_type']=='horizontal'){
200
+                    $output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
201
+                }
202
+            }elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
203
+
204
+
205
+                // allow password field to toggle view
206
+                $args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
207 207
 onclick="var $el = jQuery(this).find(\'i\');$el.toggleClass(\'fa-eye fa-eye-slash\');
208 208
 var $eli = jQuery(this).parent().parent().find(\'input\');
209 209
 if($el.hasClass(\'fa-eye\'))
210 210
 {$eli.attr(\'type\',\'text\');}
211 211
 else{$eli.attr(\'type\',\'password\');}"
212 212
 ><i class="far fa-fw fa-eye-slash"></i></span>';
213
-			}
214
-
215
-			// input group wraps
216
-			if($args['input_group_left'] || $args['input_group_right']){
217
-				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
218
-				if($args['input_group_left']){
219
-					$output = self::wrap( array(
220
-						'content' => $output,
221
-						'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative'.$w100  : 'input-group',
222
-						'input_group_left' => $args['input_group_left'],
223
-						'input_group_left_inside'    => $args['input_group_left_inside']
224
-					) );
225
-				}
226
-				if($args['input_group_right']){
227
-					$output = self::wrap( array(
228
-						'content' => $output,
229
-						'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative'.$w100 : 'input-group',
230
-						'input_group_right' => $args['input_group_right'],
231
-						'input_group_right_inside'    => $args['input_group_right_inside']
232
-					) );
233
-				}
234
-
235
-			}
236
-
237
-			if(!$label_after){
238
-				$output .= $help_text;
239
-			}
240
-
241
-
242
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
243
-				$output = self::wrap( array(
244
-					'content' => $output,
245
-					'class'   => 'col-sm-10',
246
-				) );
247
-			}
248
-
249
-			if(!$label_after){
250
-				$output = $label . $output;
251
-			}
252
-
253
-			// wrap
254
-			if(!$args['no_wrap']){
255
-
256
-				$form_group_class = $args['label_type']=='floating' && $type != 'checkbox' ? 'form-label-group' : 'form-group';
257
-				$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
258
-				$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
259
-				$output = self::wrap(array(
260
-					'content' => $output,
261
-					'class'   => $wrap_class,
262
-					'element_require'   => $args['element_require'],
263
-					'argument_id'  => $args['id']
264
-				));
265
-			}
266
-
267
-
268
-
269
-		}
270
-
271
-		return $output;
272
-	}
273
-
274
-	/**
275
-	 * Build the component.
276
-	 *
277
-	 * @param array $args
278
-	 *
279
-	 * @return string The rendered component.
280
-	 */
281
-	public static function textarea($args = array()){
282
-		$defaults = array(
283
-			'name'       => '',
284
-			'class'      => '',
285
-			'wrap_class' => '',
286
-			'id'         => '',
287
-			'placeholder'=> '',
288
-			'title'      => '',
289
-			'value'      => '',
290
-			'required'   => false,
291
-			'label'      => '',
292
-			'label_after'=> false,
293
-			'label_class'      => '',
294
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
295
-			'help_text'  => '',
296
-			'validation_text'   => '',
297
-			'validation_pattern' => '',
298
-			'no_wrap'    => false,
299
-			'rows'      => '',
300
-			'wysiwyg'   => false,
301
-			'element_require'   => '', // [%element_id%] == "1"
302
-		);
303
-
304
-		/**
305
-		 * Parse incoming $args into an array and merge it with $defaults
306
-		 */
307
-		$args   = wp_parse_args( $args, $defaults );
308
-		$output = '';
309
-
310
-		// hidden label option needs to be empty
311
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
312
-
313
-		// floating labels don't work with wysiwyg so set it as top
314
-		if($args['label_type'] == 'floating' && !empty($args['wysiwyg'])){
315
-			$args['label_type'] = 'top';
316
-		}
317
-
318
-		$label_after = $args['label_after'];
319
-
320
-		// floating labels need label after
321
-		if( $args['label_type'] == 'floating' && empty($args['wysiwyg']) ){
322
-			$label_after = true;
323
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
324
-		}
325
-
326
-		// label
327
-		if(!empty($args['label']) && is_array($args['label'])){
328
-		}elseif(!empty($args['label']) && !$label_after){
329
-			$label_args = array(
330
-				'title'=> $args['label'],
331
-				'for'=> $args['id'],
332
-				'class' => $args['label_class']." ",
333
-				'label_type' => $args['label_type']
334
-			);
335
-			$output .= self::label( $label_args );
336
-		}
337
-
338
-		// maybe horizontal label
339
-		if($args['label_type']=='horizontal'){
340
-			$output .= '<div class="col-sm-10">';
341
-		}
342
-
343
-		if(!empty($args['wysiwyg'])){
344
-			ob_start();
345
-			$content = $args['value'];
346
-			$editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
347
-			$settings = array(
348
-				'textarea_rows' => !empty(absint($args['rows'])) ? absint($args['rows']) : 4,
349
-				'quicktags'     => false,
350
-				'media_buttons' => false,
351
-				'editor_class'  => 'form-control',
352
-				'textarea_name' => !empty($args['name']) ? sanitize_html_class($args['name']) : sanitize_html_class($args['id']),
353
-				'teeny'         => true,
354
-			);
355
-
356
-			// maybe set settings if array
357
-			if(is_array($args['wysiwyg'])){
358
-				$settings  = wp_parse_args( $args['wysiwyg'], $settings );
359
-			}
360
-
361
-			wp_editor( $content, $editor_id, $settings );
362
-			$output .= ob_get_clean();
363
-		}else{
364
-
365
-			// open
366
-			$output .= '<textarea ';
367
-
368
-			// name
369
-			if(!empty($args['name'])){
370
-				$output .= ' name="'.sanitize_html_class($args['name']).'" ';
371
-			}
372
-
373
-			// id
374
-			if(!empty($args['id'])){
375
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
376
-			}
377
-
378
-			// placeholder
379
-			if(isset($args['placeholder']) && '' != $args['placeholder']){
380
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
381
-			}
382
-
383
-			// title
384
-			if(!empty($args['title'])){
385
-				$output .= ' title="'.esc_attr($args['title']).'" ';
386
-			}
387
-
388
-			// validation text
389
-			if(!empty($args['validation_text'])){
390
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
391
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
392
-			}
393
-
394
-			// validation_pattern
395
-			if(!empty($args['validation_pattern'])){
396
-				$output .= ' pattern="'.$args['validation_pattern'].'" ';
397
-			}
398
-
399
-			// required
400
-			if(!empty($args['required'])){
401
-				$output .= ' required ';
402
-			}
403
-
404
-			// rows
405
-			if(!empty($args['rows'])){
406
-				$output .= ' rows="'.absint($args['rows']).'" ';
407
-			}
408
-
409
-
410
-			// class
411
-			$class = !empty($args['class']) ? $args['class'] : '';
412
-			$output .= ' class="form-control '.$class.'" ';
413
-
414
-
415
-			// close tag
416
-			$output .= ' >';
417
-
418
-			// value
419
-			if(!empty($args['value'])){
420
-				$output .= sanitize_textarea_field($args['value']);
421
-			}
422
-
423
-			// closing tag
424
-			$output .= '</textarea>';
425
-
426
-		}
427
-
428
-		if(!empty($args['label']) && $label_after){
429
-			$label_args = array(
430
-				'title'=> $args['label'],
431
-				'for'=> $args['id'],
432
-				'class' => $args['label_class']." ",
433
-				'label_type' => $args['label_type']
434
-			);
435
-			$output .= self::label( $label_args );
436
-		}
437
-
438
-		// help text
439
-		if(!empty($args['help_text'])){
440
-			$output .= AUI_Component_Helper::help_text($args['help_text']);
441
-		}
442
-
443
-		// maybe horizontal label
444
-		if($args['label_type']=='horizontal'){
445
-			$output .= '</div>';
446
-		}
447
-
448
-
449
-		// wrap
450
-		if(!$args['no_wrap']){
451
-			$form_group_class = $args['label_type']=='floating' ? 'form-label-group' : 'form-group';
452
-			$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
453
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
454
-			$output = self::wrap(array(
455
-				'content' => $output,
456
-				'class'   => $wrap_class,
457
-				'element_require'   => $args['element_require'],
458
-				'argument_id'  => $args['id']
459
-			));
460
-		}
461
-
462
-
463
-		return $output;
464
-	}
465
-
466
-	public static function label($args = array(), $type = ''){
467
-		//<label for="exampleInputEmail1">Email address</label>
468
-		$defaults = array(
469
-			'title'       => 'div',
470
-			'for'      => '',
471
-			'class'      => '',
472
-			'label_type'    => '', // empty = hidden, top, horizontal
473
-		);
474
-
475
-		/**
476
-		 * Parse incoming $args into an array and merge it with $defaults
477
-		 */
478
-		$args   = wp_parse_args( $args, $defaults );
479
-		$output = '';
480
-
481
-		if($args['title']){
482
-
483
-			// maybe hide labels //@todo set a global option for visibility class
484
-			if($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type']) ){
485
-				$class = $args['class'];
486
-			}else{
487
-				$class = 'sr-only '.$args['class'];
488
-			}
489
-
490
-			// maybe horizontal
491
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
492
-				$class .= ' col-sm-2 col-form-label';
493
-			}
494
-
495
-			// open
496
-			$output .= '<label ';
497
-
498
-			// for
499
-			if(!empty($args['for'])){
500
-				$output .= ' for="'.sanitize_text_field($args['for']).'" ';
501
-			}
502
-
503
-			// class
504
-			$class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
505
-			$output .= ' class="'.$class.'" ';
506
-
507
-			// close
508
-			$output .= '>';
509
-
510
-
511
-			// title, don't escape fully as can contain html
512
-			if(!empty($args['title'])){
513
-				$output .= wp_kses_post($args['title']);
514
-			}
515
-
516
-			// close wrap
517
-			$output .= '</label>';
518
-
519
-
520
-		}
521
-
522
-
523
-		return $output;
524
-	}
525
-
526
-	/**
527
-	 * Wrap some content in a HTML wrapper.
528
-	 *
529
-	 * @param array $args
530
-	 *
531
-	 * @return string
532
-	 */
533
-	public static function wrap($args = array()){
534
-		$defaults = array(
535
-			'type'       => 'div',
536
-			'class'      => 'form-group',
537
-			'content'   => '',
538
-			'input_group_left' => '',
539
-			'input_group_right' => '',
540
-			'input_group_left_inside' => false,
541
-			'input_group_right_inside' => false,
542
-			'element_require'   => '',
543
-			'argument_id'   => '',
544
-		);
545
-
546
-		/**
547
-		 * Parse incoming $args into an array and merge it with $defaults
548
-		 */
549
-		$args   = wp_parse_args( $args, $defaults );
550
-		$output = '';
551
-		if($args['type']){
552
-
553
-			// open
554
-			$output .= '<'.sanitize_html_class($args['type']);
555
-
556
-			// element require
557
-			if(!empty($args['element_require'])){
558
-				$output .= AUI_Component_Helper::element_require($args['element_require']);
559
-				$args['class'] .= " aui-conditional-field";
560
-			}
561
-
562
-			// argument_id
563
-			if( !empty($args['argument_id']) ){
564
-				$output .= ' data-argument="'.esc_attr($args['argument_id']).'"';
565
-			}
566
-
567
-			// class
568
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
569
-			$output .= ' class="'.$class.'" ';
570
-
571
-			// close wrap
572
-			$output .= ' >';
573
-
574
-
575
-			// Input group left
576
-			if(!empty($args['input_group_left'])){
577
-				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
578
-				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">'.$args['input_group_left'].'</span>';
579
-				$output .= '<div class="input-group-prepend '.$position_class.'">'.$input_group_left.'</div>';
580
-			}
581
-
582
-			// content
583
-			$output .= $args['content'];
584
-
585
-			// Input group right
586
-			if(!empty($args['input_group_right'])){
587
-				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
588
-				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">'.$args['input_group_right'].'</span>';
589
-				$output .= '<div class="input-group-append '.$position_class.'">'.$input_group_right.'</div>';
590
-			}
591
-
592
-
593
-			// close wrap
594
-			$output .= '</'.sanitize_html_class($args['type']).'>';
595
-
596
-
597
-		}else{
598
-			$output = $args['content'];
599
-		}
600
-
601
-		return $output;
602
-	}
603
-
604
-	/**
605
-	 * Build the component.
606
-	 *
607
-	 * @param array $args
608
-	 *
609
-	 * @return string The rendered component.
610
-	 */
611
-	public static function select($args = array()){
612
-		$defaults = array(
613
-			'class'      => '',
614
-			'wrap_class' => '',
615
-			'id'         => '',
616
-			'title'      => '',
617
-			'value'      => '', // can be an array or a string
618
-			'required'   => false,
619
-			'label'      => '',
620
-			'label_after'=> false,
621
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
622
-			'label_class'      => '',
623
-			'help_text'  => '',
624
-			'placeholder'=> '',
625
-			'options'    => array(), // array or string
626
-			'icon'       => '',
627
-			'multiple'   => false,
628
-			'select2'    => false,
629
-			'no_wrap'    => false,
630
-			'element_require'   => '', // [%element_id%] == "1"
631
-			'extra_attributes'  => array(), // an array of extra attributes
632
-		);
633
-
634
-		/**
635
-		 * Parse incoming $args into an array and merge it with $defaults
636
-		 */
637
-		$args   = wp_parse_args( $args, $defaults );
638
-		$output = '';
639
-
640
-		// for now lets hide floating labels
641
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'hidden';}
642
-
643
-		// hidden label option needs to be empty
644
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
645
-
646
-
647
-		$label_after = $args['label_after'];
648
-
649
-		// floating labels need label after
650
-		if( $args['label_type'] == 'floating' ){
651
-			$label_after = true;
652
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
653
-		}
654
-
655
-		// Maybe setup select2
656
-		$is_select2 = false;
657
-		if(!empty($args['select2'])){
658
-			$args['class'] .= ' aui-select2';
659
-			$is_select2 = true;
660
-		}elseif( strpos($args['class'], 'aui-select2') !== false){
661
-			$is_select2 = true;
662
-		}
663
-
664
-		// select2 tags
665
-		if( !empty($args['select2']) && $args['select2'] === 'tags'){ // triple equals needed here for some reason
666
-			$args['data-tags'] = 'true';
667
-			$args['data-token-separators'] = "[',']";
668
-			$args['multiple'] = true;
669
-		}
670
-
671
-		// select2 placeholder
672
-		if($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])){
673
-			$args['data-placeholder'] = esc_attr($args['placeholder']);
674
-			$args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
675
-		}
676
-
677
-		// label
678
-		if(!empty($args['label']) && is_array($args['label'])){
679
-		}elseif(!empty($args['label']) && !$label_after){
680
-			$label_args = array(
681
-				'title'=> $args['label'],
682
-				'for'=> $args['id'],
683
-				'class' => $args['label_class']." ",
684
-				'label_type' => $args['label_type']
685
-			);
686
-			$output .= self::label($label_args);
687
-		}
688
-
689
-		// maybe horizontal label
690
-		if($args['label_type']=='horizontal'){
691
-			$output .= '<div class="col-sm-10">';
692
-		}
693
-
694
-		// open/type
695
-		$output .= '<select ';
696
-
697
-		// style
698
-		if($is_select2){
699
-			$output .= " style='width:100%;' ";
700
-		}
701
-
702
-		// element require
703
-		if(!empty($args['element_require'])){
704
-			$output .= AUI_Component_Helper::element_require($args['element_require']);
705
-			$args['class'] .= " aui-conditional-field";
706
-		}
707
-
708
-		// class
709
-		$class = !empty($args['class']) ? $args['class'] : '';
710
-		$output .= AUI_Component_Helper::class_attr('custom-select '.$class);
711
-
712
-		// name
713
-		if(!empty($args['name'])){
714
-			$output .= AUI_Component_Helper::name($args['name'],$args['multiple']);
715
-		}
716
-
717
-		// id
718
-		if(!empty($args['id'])){
719
-			$output .= AUI_Component_Helper::id($args['id']);
720
-		}
721
-
722
-		// title
723
-		if(!empty($args['title'])){
724
-			$output .= AUI_Component_Helper::title($args['title']);
725
-		}
726
-
727
-		// data-attributes
728
-		$output .= AUI_Component_Helper::data_attributes($args);
729
-
730
-		// aria-attributes
731
-		$output .= AUI_Component_Helper::aria_attributes($args);
732
-
733
-		// extra attributes
734
-		if(!empty($args['extra_attributes'])){
735
-			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
736
-		}
737
-
738
-		// required
739
-		if(!empty($args['required'])){
740
-			$output .= ' required ';
741
-		}
742
-
743
-		// multiple
744
-		if(!empty($args['multiple'])){
745
-			$output .= ' multiple ';
746
-		}
747
-
748
-		// close opening tag
749
-		$output .= ' >';
750
-
751
-		// placeholder
752
-		if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
753
-			$output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
754
-		}elseif($is_select2 && !empty($args['placeholder'])){
755
-			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
756
-		}
757
-
758
-		// Options
759
-		if(!empty($args['options'])){
760
-
761
-			if(!is_array($args['options'])){
762
-				$output .= $args['options']; // not the preferred way but an option
763
-			}else{
764
-				foreach($args['options'] as $val => $name){
765
-					$selected = '';
766
-					if(is_array($name)){
767
-						if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
768
-							$option_label = isset($name['label']) ? $name['label'] : '';
769
-
770
-							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr($option_label) . '">' : '</optgroup>';
771
-						} else {
772
-							$option_label = isset($name['label']) ? $name['label'] : '';
773
-							$option_value = isset($name['value']) ? $name['value'] : '';
774
-							if(!empty($args['multiple']) && !empty($args['value']) && is_array($args['value']) ){
775
-								$selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
776
-							} elseif(!empty($args['value'])) {
777
-								$selected = selected($option_value,stripslashes_deep($args['value']), false);
778
-							}
779
-
780
-							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
781
-						}
782
-					}else{
783
-						if(!empty($args['value'])){
784
-							if(is_array($args['value'])){
785
-								$selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
786
-							} elseif(!empty($args['value'])) {
787
-								$selected = selected( $args['value'], $val, false);
788
-							}
789
-						}
790
-						$output .= '<option value="'.esc_attr($val).'" '.$selected.'>'.esc_attr($name).'</option>';
791
-					}
792
-				}
793
-			}
794
-
795
-		}
796
-
797
-		// closing tag
798
-		$output .= '</select>';
799
-
800
-		if(!empty($args['label']) && $label_after){
801
-			$label_args = array(
802
-				'title'=> $args['label'],
803
-				'for'=> $args['id'],
804
-				'class' => $args['label_class']." ",
805
-				'label_type' => $args['label_type']
806
-			);
807
-			$output .= self::label($label_args);
808
-		}
809
-
810
-		// help text
811
-		if(!empty($args['help_text'])){
812
-			$output .= AUI_Component_Helper::help_text($args['help_text']);
813
-		}
814
-
815
-		// maybe horizontal label
816
-		if($args['label_type']=='horizontal'){
817
-			$output .= '</div>';
818
-		}
819
-
820
-
821
-		// wrap
822
-		if(!$args['no_wrap']){
823
-			$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
824
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
825
-			$output = self::wrap(array(
826
-				'content' => $output,
827
-				'class'   => $wrap_class,
828
-				'element_require'   => $args['element_require'],
829
-				'argument_id'  => $args['id']
830
-			));
831
-		}
832
-
833
-
834
-		return $output;
835
-	}
836
-
837
-	/**
838
-	 * Build the component.
839
-	 *
840
-	 * @param array $args
841
-	 *
842
-	 * @return string The rendered component.
843
-	 */
844
-	public static function radio($args = array()){
845
-		$defaults = array(
846
-			'class'      => '',
847
-			'wrap_class' => '',
848
-			'id'         => '',
849
-			'title'      => '',
850
-			'horizontal' => false, // sets the lable horizontal
851
-			'value'      => '',
852
-			'label'      => '',
853
-			'label_class'=> '',
854
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
855
-			'inline'     => true,
856
-			'required'   => false,
857
-			'options'    => array(),
858
-			'icon'       => '',
859
-			'no_wrap'    => false,
860
-			'element_require'   => '', // [%element_id%] == "1"
861
-			'extra_attributes'  => array() // an array of extra attributes
862
-		);
863
-
864
-		/**
865
-		 * Parse incoming $args into an array and merge it with $defaults
866
-		 */
867
-		$args   = wp_parse_args( $args, $defaults );
868
-
869
-		// for now lets use horizontal for floating
870
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'horizontal';}
871
-
872
-		$label_args = array(
873
-			'title'=> $args['label'],
874
-			'class' => $args['label_class']." pt-0 ",
875
-			'label_type' => $args['label_type']
876
-		);
877
-
878
-		$output = '';
879
-
880
-
881
-
882
-		// label before
883
-		if(!empty($args['label'])){
884
-			$output .= self::label( $label_args, 'radio' );
885
-		}
886
-
887
-		// maybe horizontal label
888
-		if($args['label_type']=='horizontal'){
889
-			$output .= '<div class="col-sm-10">';
890
-		}
891
-
892
-		if(!empty($args['options'])){
893
-			$count = 0;
894
-			foreach($args['options'] as $value => $label){
895
-				$option_args = $args;
896
-				$option_args['value'] = $value;
897
-				$option_args['label'] = $label;
898
-				$option_args['checked'] = $value == $args['value'] ? true : false;
899
-				$output .= self::radio_option($option_args,$count);
900
-				$count++;
901
-			}
902
-		}
903
-
904
-		// maybe horizontal label
905
-		if($args['label_type']=='horizontal'){
906
-			$output .= '</div>';
907
-		}
908
-
909
-
910
-		// wrap
911
-		$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
912
-		$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
913
-		$output = self::wrap(array(
914
-			'content' => $output,
915
-			'class'   => $wrap_class,
916
-			'element_require'   => $args['element_require'],
917
-			'argument_id'  => $args['id']
918
-		));
919
-
920
-
921
-		return $output;
922
-	}
923
-
924
-	/**
925
-	 * Build the component.
926
-	 *
927
-	 * @param array $args
928
-	 *
929
-	 * @return string The rendered component.
930
-	 */
931
-	public static function radio_option($args = array(),$count = ''){
932
-		$defaults = array(
933
-			'class'      => '',
934
-			'id'         => '',
935
-			'title'      => '',
936
-			'value'      => '',
937
-			'required'   => false,
938
-			'inline'     => true,
939
-			'label'      => '',
940
-			'options'    => array(),
941
-			'icon'       => '',
942
-			'no_wrap'    => false,
943
-			'extra_attributes'  => array() // an array of extra attributes
944
-		);
945
-
946
-		/**
947
-		 * Parse incoming $args into an array and merge it with $defaults
948
-		 */
949
-		$args   = wp_parse_args( $args, $defaults );
950
-
951
-		$output = '';
952
-
953
-		// open/type
954
-		$output .= '<input type="radio"';
955
-
956
-		// class
957
-		$output .= ' class="form-check-input" ';
958
-
959
-		// name
960
-		if(!empty($args['name'])){
961
-			$output .= AUI_Component_Helper::name($args['name']);
962
-		}
963
-
964
-		// id
965
-		if(!empty($args['id'])){
966
-			$output .= AUI_Component_Helper::id($args['id'].$count);
967
-		}
968
-
969
-		// title
970
-		if(!empty($args['title'])){
971
-			$output .= AUI_Component_Helper::title($args['title']);
972
-		}
973
-
974
-		// value
975
-		if(isset($args['value'])){
976
-			$output .= ' value="'.sanitize_text_field($args['value']).'" ';
977
-		}
978
-
979
-		// checked, for radio and checkboxes
980
-		if( $args['checked'] ){
981
-			$output .= ' checked ';
982
-		}
983
-
984
-		// data-attributes
985
-		$output .= AUI_Component_Helper::data_attributes($args);
986
-
987
-		// aria-attributes
988
-		$output .= AUI_Component_Helper::aria_attributes($args);
989
-
990
-		// extra attributes
991
-		if(!empty($args['extra_attributes'])){
992
-			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
993
-		}
994
-
995
-		// required
996
-		if(!empty($args['required'])){
997
-			$output .= ' required ';
998
-		}
999
-
1000
-		// close opening tag
1001
-		$output .= ' >';
1002
-
1003
-		// label
1004
-		if(!empty($args['label']) && is_array($args['label'])){
1005
-		}elseif(!empty($args['label'])){
1006
-			$output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1007
-		}
1008
-
1009
-		// wrap
1010
-		if(!$args['no_wrap']){
1011
-			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1012
-			$output = self::wrap(array(
1013
-				'content' => $output,
1014
-				'class' => $wrap_class
1015
-			));
1016
-		}
1017
-
1018
-
1019
-		return $output;
1020
-	}
213
+            }
214
+
215
+            // input group wraps
216
+            if($args['input_group_left'] || $args['input_group_right']){
217
+                $w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
218
+                if($args['input_group_left']){
219
+                    $output = self::wrap( array(
220
+                        'content' => $output,
221
+                        'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative'.$w100  : 'input-group',
222
+                        'input_group_left' => $args['input_group_left'],
223
+                        'input_group_left_inside'    => $args['input_group_left_inside']
224
+                    ) );
225
+                }
226
+                if($args['input_group_right']){
227
+                    $output = self::wrap( array(
228
+                        'content' => $output,
229
+                        'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative'.$w100 : 'input-group',
230
+                        'input_group_right' => $args['input_group_right'],
231
+                        'input_group_right_inside'    => $args['input_group_right_inside']
232
+                    ) );
233
+                }
234
+
235
+            }
236
+
237
+            if(!$label_after){
238
+                $output .= $help_text;
239
+            }
240
+
241
+
242
+            if($args['label_type']=='horizontal' && $type != 'checkbox'){
243
+                $output = self::wrap( array(
244
+                    'content' => $output,
245
+                    'class'   => 'col-sm-10',
246
+                ) );
247
+            }
248
+
249
+            if(!$label_after){
250
+                $output = $label . $output;
251
+            }
252
+
253
+            // wrap
254
+            if(!$args['no_wrap']){
255
+
256
+                $form_group_class = $args['label_type']=='floating' && $type != 'checkbox' ? 'form-label-group' : 'form-group';
257
+                $wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
258
+                $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
259
+                $output = self::wrap(array(
260
+                    'content' => $output,
261
+                    'class'   => $wrap_class,
262
+                    'element_require'   => $args['element_require'],
263
+                    'argument_id'  => $args['id']
264
+                ));
265
+            }
266
+
267
+
268
+
269
+        }
270
+
271
+        return $output;
272
+    }
273
+
274
+    /**
275
+     * Build the component.
276
+     *
277
+     * @param array $args
278
+     *
279
+     * @return string The rendered component.
280
+     */
281
+    public static function textarea($args = array()){
282
+        $defaults = array(
283
+            'name'       => '',
284
+            'class'      => '',
285
+            'wrap_class' => '',
286
+            'id'         => '',
287
+            'placeholder'=> '',
288
+            'title'      => '',
289
+            'value'      => '',
290
+            'required'   => false,
291
+            'label'      => '',
292
+            'label_after'=> false,
293
+            'label_class'      => '',
294
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
295
+            'help_text'  => '',
296
+            'validation_text'   => '',
297
+            'validation_pattern' => '',
298
+            'no_wrap'    => false,
299
+            'rows'      => '',
300
+            'wysiwyg'   => false,
301
+            'element_require'   => '', // [%element_id%] == "1"
302
+        );
303
+
304
+        /**
305
+         * Parse incoming $args into an array and merge it with $defaults
306
+         */
307
+        $args   = wp_parse_args( $args, $defaults );
308
+        $output = '';
309
+
310
+        // hidden label option needs to be empty
311
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
312
+
313
+        // floating labels don't work with wysiwyg so set it as top
314
+        if($args['label_type'] == 'floating' && !empty($args['wysiwyg'])){
315
+            $args['label_type'] = 'top';
316
+        }
317
+
318
+        $label_after = $args['label_after'];
319
+
320
+        // floating labels need label after
321
+        if( $args['label_type'] == 'floating' && empty($args['wysiwyg']) ){
322
+            $label_after = true;
323
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
324
+        }
325
+
326
+        // label
327
+        if(!empty($args['label']) && is_array($args['label'])){
328
+        }elseif(!empty($args['label']) && !$label_after){
329
+            $label_args = array(
330
+                'title'=> $args['label'],
331
+                'for'=> $args['id'],
332
+                'class' => $args['label_class']." ",
333
+                'label_type' => $args['label_type']
334
+            );
335
+            $output .= self::label( $label_args );
336
+        }
337
+
338
+        // maybe horizontal label
339
+        if($args['label_type']=='horizontal'){
340
+            $output .= '<div class="col-sm-10">';
341
+        }
342
+
343
+        if(!empty($args['wysiwyg'])){
344
+            ob_start();
345
+            $content = $args['value'];
346
+            $editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
347
+            $settings = array(
348
+                'textarea_rows' => !empty(absint($args['rows'])) ? absint($args['rows']) : 4,
349
+                'quicktags'     => false,
350
+                'media_buttons' => false,
351
+                'editor_class'  => 'form-control',
352
+                'textarea_name' => !empty($args['name']) ? sanitize_html_class($args['name']) : sanitize_html_class($args['id']),
353
+                'teeny'         => true,
354
+            );
355
+
356
+            // maybe set settings if array
357
+            if(is_array($args['wysiwyg'])){
358
+                $settings  = wp_parse_args( $args['wysiwyg'], $settings );
359
+            }
360
+
361
+            wp_editor( $content, $editor_id, $settings );
362
+            $output .= ob_get_clean();
363
+        }else{
364
+
365
+            // open
366
+            $output .= '<textarea ';
367
+
368
+            // name
369
+            if(!empty($args['name'])){
370
+                $output .= ' name="'.sanitize_html_class($args['name']).'" ';
371
+            }
372
+
373
+            // id
374
+            if(!empty($args['id'])){
375
+                $output .= ' id="'.sanitize_html_class($args['id']).'" ';
376
+            }
377
+
378
+            // placeholder
379
+            if(isset($args['placeholder']) && '' != $args['placeholder']){
380
+                $output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
381
+            }
382
+
383
+            // title
384
+            if(!empty($args['title'])){
385
+                $output .= ' title="'.esc_attr($args['title']).'" ';
386
+            }
387
+
388
+            // validation text
389
+            if(!empty($args['validation_text'])){
390
+                $output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
391
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
392
+            }
393
+
394
+            // validation_pattern
395
+            if(!empty($args['validation_pattern'])){
396
+                $output .= ' pattern="'.$args['validation_pattern'].'" ';
397
+            }
398
+
399
+            // required
400
+            if(!empty($args['required'])){
401
+                $output .= ' required ';
402
+            }
403
+
404
+            // rows
405
+            if(!empty($args['rows'])){
406
+                $output .= ' rows="'.absint($args['rows']).'" ';
407
+            }
408
+
409
+
410
+            // class
411
+            $class = !empty($args['class']) ? $args['class'] : '';
412
+            $output .= ' class="form-control '.$class.'" ';
413
+
414
+
415
+            // close tag
416
+            $output .= ' >';
417
+
418
+            // value
419
+            if(!empty($args['value'])){
420
+                $output .= sanitize_textarea_field($args['value']);
421
+            }
422
+
423
+            // closing tag
424
+            $output .= '</textarea>';
425
+
426
+        }
427
+
428
+        if(!empty($args['label']) && $label_after){
429
+            $label_args = array(
430
+                'title'=> $args['label'],
431
+                'for'=> $args['id'],
432
+                'class' => $args['label_class']." ",
433
+                'label_type' => $args['label_type']
434
+            );
435
+            $output .= self::label( $label_args );
436
+        }
437
+
438
+        // help text
439
+        if(!empty($args['help_text'])){
440
+            $output .= AUI_Component_Helper::help_text($args['help_text']);
441
+        }
442
+
443
+        // maybe horizontal label
444
+        if($args['label_type']=='horizontal'){
445
+            $output .= '</div>';
446
+        }
447
+
448
+
449
+        // wrap
450
+        if(!$args['no_wrap']){
451
+            $form_group_class = $args['label_type']=='floating' ? 'form-label-group' : 'form-group';
452
+            $wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
453
+            $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
454
+            $output = self::wrap(array(
455
+                'content' => $output,
456
+                'class'   => $wrap_class,
457
+                'element_require'   => $args['element_require'],
458
+                'argument_id'  => $args['id']
459
+            ));
460
+        }
461
+
462
+
463
+        return $output;
464
+    }
465
+
466
+    public static function label($args = array(), $type = ''){
467
+        //<label for="exampleInputEmail1">Email address</label>
468
+        $defaults = array(
469
+            'title'       => 'div',
470
+            'for'      => '',
471
+            'class'      => '',
472
+            'label_type'    => '', // empty = hidden, top, horizontal
473
+        );
474
+
475
+        /**
476
+         * Parse incoming $args into an array and merge it with $defaults
477
+         */
478
+        $args   = wp_parse_args( $args, $defaults );
479
+        $output = '';
480
+
481
+        if($args['title']){
482
+
483
+            // maybe hide labels //@todo set a global option for visibility class
484
+            if($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type']) ){
485
+                $class = $args['class'];
486
+            }else{
487
+                $class = 'sr-only '.$args['class'];
488
+            }
489
+
490
+            // maybe horizontal
491
+            if($args['label_type']=='horizontal' && $type != 'checkbox'){
492
+                $class .= ' col-sm-2 col-form-label';
493
+            }
494
+
495
+            // open
496
+            $output .= '<label ';
497
+
498
+            // for
499
+            if(!empty($args['for'])){
500
+                $output .= ' for="'.sanitize_text_field($args['for']).'" ';
501
+            }
502
+
503
+            // class
504
+            $class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
505
+            $output .= ' class="'.$class.'" ';
506
+
507
+            // close
508
+            $output .= '>';
509
+
510
+
511
+            // title, don't escape fully as can contain html
512
+            if(!empty($args['title'])){
513
+                $output .= wp_kses_post($args['title']);
514
+            }
515
+
516
+            // close wrap
517
+            $output .= '</label>';
518
+
519
+
520
+        }
521
+
522
+
523
+        return $output;
524
+    }
525
+
526
+    /**
527
+     * Wrap some content in a HTML wrapper.
528
+     *
529
+     * @param array $args
530
+     *
531
+     * @return string
532
+     */
533
+    public static function wrap($args = array()){
534
+        $defaults = array(
535
+            'type'       => 'div',
536
+            'class'      => 'form-group',
537
+            'content'   => '',
538
+            'input_group_left' => '',
539
+            'input_group_right' => '',
540
+            'input_group_left_inside' => false,
541
+            'input_group_right_inside' => false,
542
+            'element_require'   => '',
543
+            'argument_id'   => '',
544
+        );
545
+
546
+        /**
547
+         * Parse incoming $args into an array and merge it with $defaults
548
+         */
549
+        $args   = wp_parse_args( $args, $defaults );
550
+        $output = '';
551
+        if($args['type']){
552
+
553
+            // open
554
+            $output .= '<'.sanitize_html_class($args['type']);
555
+
556
+            // element require
557
+            if(!empty($args['element_require'])){
558
+                $output .= AUI_Component_Helper::element_require($args['element_require']);
559
+                $args['class'] .= " aui-conditional-field";
560
+            }
561
+
562
+            // argument_id
563
+            if( !empty($args['argument_id']) ){
564
+                $output .= ' data-argument="'.esc_attr($args['argument_id']).'"';
565
+            }
566
+
567
+            // class
568
+            $class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
569
+            $output .= ' class="'.$class.'" ';
570
+
571
+            // close wrap
572
+            $output .= ' >';
573
+
574
+
575
+            // Input group left
576
+            if(!empty($args['input_group_left'])){
577
+                $position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
578
+                $input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">'.$args['input_group_left'].'</span>';
579
+                $output .= '<div class="input-group-prepend '.$position_class.'">'.$input_group_left.'</div>';
580
+            }
581
+
582
+            // content
583
+            $output .= $args['content'];
584
+
585
+            // Input group right
586
+            if(!empty($args['input_group_right'])){
587
+                $position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
588
+                $input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">'.$args['input_group_right'].'</span>';
589
+                $output .= '<div class="input-group-append '.$position_class.'">'.$input_group_right.'</div>';
590
+            }
591
+
592
+
593
+            // close wrap
594
+            $output .= '</'.sanitize_html_class($args['type']).'>';
595
+
596
+
597
+        }else{
598
+            $output = $args['content'];
599
+        }
600
+
601
+        return $output;
602
+    }
603
+
604
+    /**
605
+     * Build the component.
606
+     *
607
+     * @param array $args
608
+     *
609
+     * @return string The rendered component.
610
+     */
611
+    public static function select($args = array()){
612
+        $defaults = array(
613
+            'class'      => '',
614
+            'wrap_class' => '',
615
+            'id'         => '',
616
+            'title'      => '',
617
+            'value'      => '', // can be an array or a string
618
+            'required'   => false,
619
+            'label'      => '',
620
+            'label_after'=> false,
621
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
622
+            'label_class'      => '',
623
+            'help_text'  => '',
624
+            'placeholder'=> '',
625
+            'options'    => array(), // array or string
626
+            'icon'       => '',
627
+            'multiple'   => false,
628
+            'select2'    => false,
629
+            'no_wrap'    => false,
630
+            'element_require'   => '', // [%element_id%] == "1"
631
+            'extra_attributes'  => array(), // an array of extra attributes
632
+        );
633
+
634
+        /**
635
+         * Parse incoming $args into an array and merge it with $defaults
636
+         */
637
+        $args   = wp_parse_args( $args, $defaults );
638
+        $output = '';
639
+
640
+        // for now lets hide floating labels
641
+        if( $args['label_type'] == 'floating' ){$args['label_type'] = 'hidden';}
642
+
643
+        // hidden label option needs to be empty
644
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
645
+
646
+
647
+        $label_after = $args['label_after'];
648
+
649
+        // floating labels need label after
650
+        if( $args['label_type'] == 'floating' ){
651
+            $label_after = true;
652
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
653
+        }
654
+
655
+        // Maybe setup select2
656
+        $is_select2 = false;
657
+        if(!empty($args['select2'])){
658
+            $args['class'] .= ' aui-select2';
659
+            $is_select2 = true;
660
+        }elseif( strpos($args['class'], 'aui-select2') !== false){
661
+            $is_select2 = true;
662
+        }
663
+
664
+        // select2 tags
665
+        if( !empty($args['select2']) && $args['select2'] === 'tags'){ // triple equals needed here for some reason
666
+            $args['data-tags'] = 'true';
667
+            $args['data-token-separators'] = "[',']";
668
+            $args['multiple'] = true;
669
+        }
670
+
671
+        // select2 placeholder
672
+        if($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])){
673
+            $args['data-placeholder'] = esc_attr($args['placeholder']);
674
+            $args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
675
+        }
676
+
677
+        // label
678
+        if(!empty($args['label']) && is_array($args['label'])){
679
+        }elseif(!empty($args['label']) && !$label_after){
680
+            $label_args = array(
681
+                'title'=> $args['label'],
682
+                'for'=> $args['id'],
683
+                'class' => $args['label_class']." ",
684
+                'label_type' => $args['label_type']
685
+            );
686
+            $output .= self::label($label_args);
687
+        }
688
+
689
+        // maybe horizontal label
690
+        if($args['label_type']=='horizontal'){
691
+            $output .= '<div class="col-sm-10">';
692
+        }
693
+
694
+        // open/type
695
+        $output .= '<select ';
696
+
697
+        // style
698
+        if($is_select2){
699
+            $output .= " style='width:100%;' ";
700
+        }
701
+
702
+        // element require
703
+        if(!empty($args['element_require'])){
704
+            $output .= AUI_Component_Helper::element_require($args['element_require']);
705
+            $args['class'] .= " aui-conditional-field";
706
+        }
707
+
708
+        // class
709
+        $class = !empty($args['class']) ? $args['class'] : '';
710
+        $output .= AUI_Component_Helper::class_attr('custom-select '.$class);
711
+
712
+        // name
713
+        if(!empty($args['name'])){
714
+            $output .= AUI_Component_Helper::name($args['name'],$args['multiple']);
715
+        }
716
+
717
+        // id
718
+        if(!empty($args['id'])){
719
+            $output .= AUI_Component_Helper::id($args['id']);
720
+        }
721
+
722
+        // title
723
+        if(!empty($args['title'])){
724
+            $output .= AUI_Component_Helper::title($args['title']);
725
+        }
726
+
727
+        // data-attributes
728
+        $output .= AUI_Component_Helper::data_attributes($args);
729
+
730
+        // aria-attributes
731
+        $output .= AUI_Component_Helper::aria_attributes($args);
732
+
733
+        // extra attributes
734
+        if(!empty($args['extra_attributes'])){
735
+            $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
736
+        }
737
+
738
+        // required
739
+        if(!empty($args['required'])){
740
+            $output .= ' required ';
741
+        }
742
+
743
+        // multiple
744
+        if(!empty($args['multiple'])){
745
+            $output .= ' multiple ';
746
+        }
747
+
748
+        // close opening tag
749
+        $output .= ' >';
750
+
751
+        // placeholder
752
+        if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
753
+            $output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
754
+        }elseif($is_select2 && !empty($args['placeholder'])){
755
+            $output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
756
+        }
757
+
758
+        // Options
759
+        if(!empty($args['options'])){
760
+
761
+            if(!is_array($args['options'])){
762
+                $output .= $args['options']; // not the preferred way but an option
763
+            }else{
764
+                foreach($args['options'] as $val => $name){
765
+                    $selected = '';
766
+                    if(is_array($name)){
767
+                        if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
768
+                            $option_label = isset($name['label']) ? $name['label'] : '';
769
+
770
+                            $output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr($option_label) . '">' : '</optgroup>';
771
+                        } else {
772
+                            $option_label = isset($name['label']) ? $name['label'] : '';
773
+                            $option_value = isset($name['value']) ? $name['value'] : '';
774
+                            if(!empty($args['multiple']) && !empty($args['value']) && is_array($args['value']) ){
775
+                                $selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
776
+                            } elseif(!empty($args['value'])) {
777
+                                $selected = selected($option_value,stripslashes_deep($args['value']), false);
778
+                            }
779
+
780
+                            $output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
781
+                        }
782
+                    }else{
783
+                        if(!empty($args['value'])){
784
+                            if(is_array($args['value'])){
785
+                                $selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
786
+                            } elseif(!empty($args['value'])) {
787
+                                $selected = selected( $args['value'], $val, false);
788
+                            }
789
+                        }
790
+                        $output .= '<option value="'.esc_attr($val).'" '.$selected.'>'.esc_attr($name).'</option>';
791
+                    }
792
+                }
793
+            }
794
+
795
+        }
796
+
797
+        // closing tag
798
+        $output .= '</select>';
799
+
800
+        if(!empty($args['label']) && $label_after){
801
+            $label_args = array(
802
+                'title'=> $args['label'],
803
+                'for'=> $args['id'],
804
+                'class' => $args['label_class']." ",
805
+                'label_type' => $args['label_type']
806
+            );
807
+            $output .= self::label($label_args);
808
+        }
809
+
810
+        // help text
811
+        if(!empty($args['help_text'])){
812
+            $output .= AUI_Component_Helper::help_text($args['help_text']);
813
+        }
814
+
815
+        // maybe horizontal label
816
+        if($args['label_type']=='horizontal'){
817
+            $output .= '</div>';
818
+        }
819
+
820
+
821
+        // wrap
822
+        if(!$args['no_wrap']){
823
+            $wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
824
+            $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
825
+            $output = self::wrap(array(
826
+                'content' => $output,
827
+                'class'   => $wrap_class,
828
+                'element_require'   => $args['element_require'],
829
+                'argument_id'  => $args['id']
830
+            ));
831
+        }
832
+
833
+
834
+        return $output;
835
+    }
836
+
837
+    /**
838
+     * Build the component.
839
+     *
840
+     * @param array $args
841
+     *
842
+     * @return string The rendered component.
843
+     */
844
+    public static function radio($args = array()){
845
+        $defaults = array(
846
+            'class'      => '',
847
+            'wrap_class' => '',
848
+            'id'         => '',
849
+            'title'      => '',
850
+            'horizontal' => false, // sets the lable horizontal
851
+            'value'      => '',
852
+            'label'      => '',
853
+            'label_class'=> '',
854
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
855
+            'inline'     => true,
856
+            'required'   => false,
857
+            'options'    => array(),
858
+            'icon'       => '',
859
+            'no_wrap'    => false,
860
+            'element_require'   => '', // [%element_id%] == "1"
861
+            'extra_attributes'  => array() // an array of extra attributes
862
+        );
863
+
864
+        /**
865
+         * Parse incoming $args into an array and merge it with $defaults
866
+         */
867
+        $args   = wp_parse_args( $args, $defaults );
868
+
869
+        // for now lets use horizontal for floating
870
+        if( $args['label_type'] == 'floating' ){$args['label_type'] = 'horizontal';}
871
+
872
+        $label_args = array(
873
+            'title'=> $args['label'],
874
+            'class' => $args['label_class']." pt-0 ",
875
+            'label_type' => $args['label_type']
876
+        );
877
+
878
+        $output = '';
879
+
880
+
881
+
882
+        // label before
883
+        if(!empty($args['label'])){
884
+            $output .= self::label( $label_args, 'radio' );
885
+        }
886
+
887
+        // maybe horizontal label
888
+        if($args['label_type']=='horizontal'){
889
+            $output .= '<div class="col-sm-10">';
890
+        }
891
+
892
+        if(!empty($args['options'])){
893
+            $count = 0;
894
+            foreach($args['options'] as $value => $label){
895
+                $option_args = $args;
896
+                $option_args['value'] = $value;
897
+                $option_args['label'] = $label;
898
+                $option_args['checked'] = $value == $args['value'] ? true : false;
899
+                $output .= self::radio_option($option_args,$count);
900
+                $count++;
901
+            }
902
+        }
903
+
904
+        // maybe horizontal label
905
+        if($args['label_type']=='horizontal'){
906
+            $output .= '</div>';
907
+        }
908
+
909
+
910
+        // wrap
911
+        $wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
912
+        $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
913
+        $output = self::wrap(array(
914
+            'content' => $output,
915
+            'class'   => $wrap_class,
916
+            'element_require'   => $args['element_require'],
917
+            'argument_id'  => $args['id']
918
+        ));
919
+
920
+
921
+        return $output;
922
+    }
923
+
924
+    /**
925
+     * Build the component.
926
+     *
927
+     * @param array $args
928
+     *
929
+     * @return string The rendered component.
930
+     */
931
+    public static function radio_option($args = array(),$count = ''){
932
+        $defaults = array(
933
+            'class'      => '',
934
+            'id'         => '',
935
+            'title'      => '',
936
+            'value'      => '',
937
+            'required'   => false,
938
+            'inline'     => true,
939
+            'label'      => '',
940
+            'options'    => array(),
941
+            'icon'       => '',
942
+            'no_wrap'    => false,
943
+            'extra_attributes'  => array() // an array of extra attributes
944
+        );
945
+
946
+        /**
947
+         * Parse incoming $args into an array and merge it with $defaults
948
+         */
949
+        $args   = wp_parse_args( $args, $defaults );
950
+
951
+        $output = '';
952
+
953
+        // open/type
954
+        $output .= '<input type="radio"';
955
+
956
+        // class
957
+        $output .= ' class="form-check-input" ';
958
+
959
+        // name
960
+        if(!empty($args['name'])){
961
+            $output .= AUI_Component_Helper::name($args['name']);
962
+        }
963
+
964
+        // id
965
+        if(!empty($args['id'])){
966
+            $output .= AUI_Component_Helper::id($args['id'].$count);
967
+        }
968
+
969
+        // title
970
+        if(!empty($args['title'])){
971
+            $output .= AUI_Component_Helper::title($args['title']);
972
+        }
973
+
974
+        // value
975
+        if(isset($args['value'])){
976
+            $output .= ' value="'.sanitize_text_field($args['value']).'" ';
977
+        }
978
+
979
+        // checked, for radio and checkboxes
980
+        if( $args['checked'] ){
981
+            $output .= ' checked ';
982
+        }
983
+
984
+        // data-attributes
985
+        $output .= AUI_Component_Helper::data_attributes($args);
986
+
987
+        // aria-attributes
988
+        $output .= AUI_Component_Helper::aria_attributes($args);
989
+
990
+        // extra attributes
991
+        if(!empty($args['extra_attributes'])){
992
+            $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
993
+        }
994
+
995
+        // required
996
+        if(!empty($args['required'])){
997
+            $output .= ' required ';
998
+        }
999
+
1000
+        // close opening tag
1001
+        $output .= ' >';
1002
+
1003
+        // label
1004
+        if(!empty($args['label']) && is_array($args['label'])){
1005
+        }elseif(!empty($args['label'])){
1006
+            $output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1007
+        }
1008
+
1009
+        // wrap
1010
+        if(!$args['no_wrap']){
1011
+            $wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1012
+            $output = self::wrap(array(
1013
+                'content' => $output,
1014
+                'class' => $wrap_class
1015
+            ));
1016
+        }
1017
+
1018
+
1019
+        return $output;
1020
+    }
1021 1021
 
1022 1022
 }
1023 1023
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +208 added lines, -208 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
3
+if (!defined('ABSPATH')) {
4 4
 	exit; // Exit if accessed directly
5 5
 }
6 6
 
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 20
 	 */
21
-	public static function input($args = array()){
21
+	public static function input($args = array()) {
22 22
 		$defaults = array(
23 23
 			'type'       => 'text',
24 24
 			'name'       => '',
@@ -52,13 +52,13 @@  discard block
 block discarded – undo
52 52
 		/**
53 53
 		 * Parse incoming $args into an array and merge it with $defaults
54 54
 		 */
55
-		$args   = wp_parse_args( $args, $defaults );
55
+		$args   = wp_parse_args($args, $defaults);
56 56
 		$output = '';
57
-		if ( ! empty( $args['type'] ) ) {
57
+		if (!empty($args['type'])) {
58 58
 			// hidden label option needs to be empty
59 59
 			$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
60 60
 
61
-			$type = sanitize_html_class( $args['type'] );
61
+			$type = sanitize_html_class($args['type']);
62 62
 
63 63
 			$help_text = '';
64 64
 			$label = '';
@@ -66,24 +66,24 @@  discard block
 block discarded – undo
66 66
 			$label_args = array(
67 67
 				'title'=> $args['label'],
68 68
 				'for'=> $args['id'],
69
-				'class' => $args['label_class']." ",
69
+				'class' => $args['label_class'] . " ",
70 70
 				'label_type' => $args['label_type']
71 71
 			);
72 72
 
73 73
 			// floating labels need label after
74
-			if( $args['label_type'] == 'floating' && $type != 'checkbox' ){
74
+			if ($args['label_type'] == 'floating' && $type != 'checkbox') {
75 75
 				$label_after = true;
76 76
 				$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
77 77
 			}
78 78
 
79 79
 			// Some special sauce for files
80
-			if($type=='file' ){
80
+			if ($type == 'file') {
81 81
 				$label_after = true; // if type file we need the label after
82 82
 				$args['class'] .= ' custom-file-input ';
83
-			}elseif($type=='checkbox'){
83
+			}elseif ($type == 'checkbox') {
84 84
 				$label_after = true; // if type file we need the label after
85 85
 				$args['class'] .= ' custom-control-input ';
86
-			}elseif($type=='datepicker' || $type=='timepicker'){
86
+			}elseif ($type == 'datepicker' || $type == 'timepicker') {
87 87
 				$type = 'text';
88 88
 				//$args['class'] .= ' aui-flatpickr bg-initial ';
89 89
 				$args['class'] .= ' bg-initial ';
@@ -99,65 +99,65 @@  discard block
 block discarded – undo
99 99
 			$output .= '<input type="' . $type . '" ';
100 100
 
101 101
 			// name
102
-			if(!empty($args['name'])){
103
-				$output .= ' name="'.esc_attr($args['name']).'" ';
102
+			if (!empty($args['name'])) {
103
+				$output .= ' name="' . esc_attr($args['name']) . '" ';
104 104
 			}
105 105
 
106 106
 			// id
107
-			if(!empty($args['id'])){
108
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
107
+			if (!empty($args['id'])) {
108
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
109 109
 			}
110 110
 
111 111
 			// placeholder
112
-			if(isset($args['placeholder']) && '' != $args['placeholder'] ){
113
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
112
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
113
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
114 114
 			}
115 115
 
116 116
 			// title
117
-			if(!empty($args['title'])){
118
-				$output .= ' title="'.esc_attr($args['title']).'" ';
117
+			if (!empty($args['title'])) {
118
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
119 119
 			}
120 120
 
121 121
 			// value
122
-			if(!empty($args['value'])){
123
-				$output .= ' value="'.sanitize_text_field($args['value']).'" ';
122
+			if (!empty($args['value'])) {
123
+				$output .= ' value="' . sanitize_text_field($args['value']) . '" ';
124 124
 			}
125 125
 
126 126
 			// checked, for radio and checkboxes
127
-			if( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ){
127
+			if (($type == 'checkbox' || $type == 'radio') && $args['checked']) {
128 128
 				$output .= ' checked ';
129 129
 			}
130 130
 
131 131
 			// validation text
132
-			if(!empty($args['validation_text'])){
133
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
132
+			if (!empty($args['validation_text'])) {
133
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr($args['validation_text']) . '\')" ';
134 134
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
135 135
 			}
136 136
 
137 137
 			// validation_pattern
138
-			if(!empty($args['validation_pattern'])){
139
-				$output .= ' pattern="'.$args['validation_pattern'].'" ';
138
+			if (!empty($args['validation_pattern'])) {
139
+				$output .= ' pattern="' . $args['validation_pattern'] . '" ';
140 140
 			}
141 141
 
142 142
 			// step (for numbers)
143
-			if(!empty($args['step'])){
144
-				$output .= ' step="'.$args['step'].'" ';
143
+			if (!empty($args['step'])) {
144
+				$output .= ' step="' . $args['step'] . '" ';
145 145
 			}
146 146
 
147 147
 			// required
148
-			if(!empty($args['required'])){
148
+			if (!empty($args['required'])) {
149 149
 				$output .= ' required ';
150 150
 			}
151 151
 
152 152
 			// class
153
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
154
-			$output .= ' class="form-control '.$class.'" ';
153
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
154
+			$output .= ' class="form-control ' . $class . '" ';
155 155
 
156 156
 			// data-attributes
157 157
 			$output .= AUI_Component_Helper::data_attributes($args);
158 158
 
159 159
 			// extra attributes
160
-			if(!empty($args['extra_attributes'])){
160
+			if (!empty($args['extra_attributes'])) {
161 161
 				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
162 162
 			}
163 163
 
@@ -166,40 +166,40 @@  discard block
 block discarded – undo
166 166
 
167 167
 
168 168
 			// label
169
-			if(!empty($args['label'])){
170
-				if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
171
-				elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
172
-				$label = self::label( $label_args, $type );
169
+			if (!empty($args['label'])) {
170
+				if ($type == 'file') {$label_args['class'] .= 'custom-file-label'; }
171
+				elseif ($type == 'checkbox') {$label_args['class'] .= 'custom-control-label'; }
172
+				$label = self::label($label_args, $type);
173 173
 			}
174 174
 
175 175
 			// help text
176
-			if(!empty($args['help_text'])){
176
+			if (!empty($args['help_text'])) {
177 177
 				$help_text = AUI_Component_Helper::help_text($args['help_text']);
178 178
 			}
179 179
 
180 180
 
181 181
 			// set help text in the correct possition
182
-			if($label_after){
182
+			if ($label_after) {
183 183
 				$output .= $label . $help_text;
184 184
 			}
185 185
 
186 186
 			// some input types need a separate wrap
187
-			if($type == 'file') {
188
-				$output = self::wrap( array(
187
+			if ($type == 'file') {
188
+				$output = self::wrap(array(
189 189
 					'content' => $output,
190 190
 					'class'   => 'form-group custom-file'
191
-				) );
192
-			}elseif($type == 'checkbox'){
191
+				));
192
+			}elseif ($type == 'checkbox') {
193 193
 				$wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
194
-				$output = self::wrap( array(
194
+				$output = self::wrap(array(
195 195
 					'content' => $output,
196
-					'class'   => 'custom-control '.$wrap_class
197
-				) );
196
+					'class'   => 'custom-control ' . $wrap_class
197
+				));
198 198
 
199
-				if($args['label_type']=='horizontal'){
199
+				if ($args['label_type'] == 'horizontal') {
200 200
 					$output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
201 201
 				}
202
-			}elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
202
+			}elseif ($type == 'password' && $args['password_toggle'] && !$args['input_group_right']) {
203 203
 
204 204
 
205 205
 				// allow password field to toggle view
@@ -213,49 +213,49 @@  discard block
 block discarded – undo
213 213
 			}
214 214
 
215 215
 			// input group wraps
216
-			if($args['input_group_left'] || $args['input_group_right']){
216
+			if ($args['input_group_left'] || $args['input_group_right']) {
217 217
 				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
218
-				if($args['input_group_left']){
219
-					$output = self::wrap( array(
218
+				if ($args['input_group_left']) {
219
+					$output = self::wrap(array(
220 220
 						'content' => $output,
221
-						'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative'.$w100  : 'input-group',
221
+						'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
222 222
 						'input_group_left' => $args['input_group_left'],
223 223
 						'input_group_left_inside'    => $args['input_group_left_inside']
224
-					) );
224
+					));
225 225
 				}
226
-				if($args['input_group_right']){
227
-					$output = self::wrap( array(
226
+				if ($args['input_group_right']) {
227
+					$output = self::wrap(array(
228 228
 						'content' => $output,
229
-						'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative'.$w100 : 'input-group',
229
+						'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
230 230
 						'input_group_right' => $args['input_group_right'],
231 231
 						'input_group_right_inside'    => $args['input_group_right_inside']
232
-					) );
232
+					));
233 233
 				}
234 234
 
235 235
 			}
236 236
 
237
-			if(!$label_after){
237
+			if (!$label_after) {
238 238
 				$output .= $help_text;
239 239
 			}
240 240
 
241 241
 
242
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
243
-				$output = self::wrap( array(
242
+			if ($args['label_type'] == 'horizontal' && $type != 'checkbox') {
243
+				$output = self::wrap(array(
244 244
 					'content' => $output,
245 245
 					'class'   => 'col-sm-10',
246
-				) );
246
+				));
247 247
 			}
248 248
 
249
-			if(!$label_after){
249
+			if (!$label_after) {
250 250
 				$output = $label . $output;
251 251
 			}
252 252
 
253 253
 			// wrap
254
-			if(!$args['no_wrap']){
254
+			if (!$args['no_wrap']) {
255 255
 
256
-				$form_group_class = $args['label_type']=='floating' && $type != 'checkbox' ? 'form-label-group' : 'form-group';
257
-				$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
258
-				$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
256
+				$form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : 'form-group';
257
+				$wrap_class = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
258
+				$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
259 259
 				$output = self::wrap(array(
260 260
 					'content' => $output,
261 261
 					'class'   => $wrap_class,
@@ -278,7 +278,7 @@  discard block
 block discarded – undo
278 278
 	 *
279 279
 	 * @return string The rendered component.
280 280
 	 */
281
-	public static function textarea($args = array()){
281
+	public static function textarea($args = array()) {
282 282
 		$defaults = array(
283 283
 			'name'       => '',
284 284
 			'class'      => '',
@@ -304,43 +304,43 @@  discard block
 block discarded – undo
304 304
 		/**
305 305
 		 * Parse incoming $args into an array and merge it with $defaults
306 306
 		 */
307
-		$args   = wp_parse_args( $args, $defaults );
307
+		$args   = wp_parse_args($args, $defaults);
308 308
 		$output = '';
309 309
 
310 310
 		// hidden label option needs to be empty
311 311
 		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
312 312
 
313 313
 		// floating labels don't work with wysiwyg so set it as top
314
-		if($args['label_type'] == 'floating' && !empty($args['wysiwyg'])){
314
+		if ($args['label_type'] == 'floating' && !empty($args['wysiwyg'])) {
315 315
 			$args['label_type'] = 'top';
316 316
 		}
317 317
 
318 318
 		$label_after = $args['label_after'];
319 319
 
320 320
 		// floating labels need label after
321
-		if( $args['label_type'] == 'floating' && empty($args['wysiwyg']) ){
321
+		if ($args['label_type'] == 'floating' && empty($args['wysiwyg'])) {
322 322
 			$label_after = true;
323 323
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
324 324
 		}
325 325
 
326 326
 		// label
327
-		if(!empty($args['label']) && is_array($args['label'])){
328
-		}elseif(!empty($args['label']) && !$label_after){
327
+		if (!empty($args['label']) && is_array($args['label'])) {
328
+		}elseif (!empty($args['label']) && !$label_after) {
329 329
 			$label_args = array(
330 330
 				'title'=> $args['label'],
331 331
 				'for'=> $args['id'],
332
-				'class' => $args['label_class']." ",
332
+				'class' => $args['label_class'] . " ",
333 333
 				'label_type' => $args['label_type']
334 334
 			);
335
-			$output .= self::label( $label_args );
335
+			$output .= self::label($label_args);
336 336
 		}
337 337
 
338 338
 		// maybe horizontal label
339
-		if($args['label_type']=='horizontal'){
339
+		if ($args['label_type'] == 'horizontal') {
340 340
 			$output .= '<div class="col-sm-10">';
341 341
 		}
342 342
 
343
-		if(!empty($args['wysiwyg'])){
343
+		if (!empty($args['wysiwyg'])) {
344 344
 			ob_start();
345 345
 			$content = $args['value'];
346 346
 			$editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
@@ -354,69 +354,69 @@  discard block
 block discarded – undo
354 354
 			);
355 355
 
356 356
 			// maybe set settings if array
357
-			if(is_array($args['wysiwyg'])){
358
-				$settings  = wp_parse_args( $args['wysiwyg'], $settings );
357
+			if (is_array($args['wysiwyg'])) {
358
+				$settings = wp_parse_args($args['wysiwyg'], $settings);
359 359
 			}
360 360
 
361
-			wp_editor( $content, $editor_id, $settings );
361
+			wp_editor($content, $editor_id, $settings);
362 362
 			$output .= ob_get_clean();
363
-		}else{
363
+		} else {
364 364
 
365 365
 			// open
366 366
 			$output .= '<textarea ';
367 367
 
368 368
 			// name
369
-			if(!empty($args['name'])){
370
-				$output .= ' name="'.sanitize_html_class($args['name']).'" ';
369
+			if (!empty($args['name'])) {
370
+				$output .= ' name="' . sanitize_html_class($args['name']) . '" ';
371 371
 			}
372 372
 
373 373
 			// id
374
-			if(!empty($args['id'])){
375
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
374
+			if (!empty($args['id'])) {
375
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
376 376
 			}
377 377
 
378 378
 			// placeholder
379
-			if(isset($args['placeholder']) && '' != $args['placeholder']){
380
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
379
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
380
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
381 381
 			}
382 382
 
383 383
 			// title
384
-			if(!empty($args['title'])){
385
-				$output .= ' title="'.esc_attr($args['title']).'" ';
384
+			if (!empty($args['title'])) {
385
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
386 386
 			}
387 387
 
388 388
 			// validation text
389
-			if(!empty($args['validation_text'])){
390
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
389
+			if (!empty($args['validation_text'])) {
390
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr($args['validation_text']) . '\')" ';
391 391
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
392 392
 			}
393 393
 
394 394
 			// validation_pattern
395
-			if(!empty($args['validation_pattern'])){
396
-				$output .= ' pattern="'.$args['validation_pattern'].'" ';
395
+			if (!empty($args['validation_pattern'])) {
396
+				$output .= ' pattern="' . $args['validation_pattern'] . '" ';
397 397
 			}
398 398
 
399 399
 			// required
400
-			if(!empty($args['required'])){
400
+			if (!empty($args['required'])) {
401 401
 				$output .= ' required ';
402 402
 			}
403 403
 
404 404
 			// rows
405
-			if(!empty($args['rows'])){
406
-				$output .= ' rows="'.absint($args['rows']).'" ';
405
+			if (!empty($args['rows'])) {
406
+				$output .= ' rows="' . absint($args['rows']) . '" ';
407 407
 			}
408 408
 
409 409
 
410 410
 			// class
411 411
 			$class = !empty($args['class']) ? $args['class'] : '';
412
-			$output .= ' class="form-control '.$class.'" ';
412
+			$output .= ' class="form-control ' . $class . '" ';
413 413
 
414 414
 
415 415
 			// close tag
416 416
 			$output .= ' >';
417 417
 
418 418
 			// value
419
-			if(!empty($args['value'])){
419
+			if (!empty($args['value'])) {
420 420
 				$output .= sanitize_textarea_field($args['value']);
421 421
 			}
422 422
 
@@ -425,32 +425,32 @@  discard block
 block discarded – undo
425 425
 
426 426
 		}
427 427
 
428
-		if(!empty($args['label']) && $label_after){
428
+		if (!empty($args['label']) && $label_after) {
429 429
 			$label_args = array(
430 430
 				'title'=> $args['label'],
431 431
 				'for'=> $args['id'],
432
-				'class' => $args['label_class']." ",
432
+				'class' => $args['label_class'] . " ",
433 433
 				'label_type' => $args['label_type']
434 434
 			);
435
-			$output .= self::label( $label_args );
435
+			$output .= self::label($label_args);
436 436
 		}
437 437
 
438 438
 		// help text
439
-		if(!empty($args['help_text'])){
439
+		if (!empty($args['help_text'])) {
440 440
 			$output .= AUI_Component_Helper::help_text($args['help_text']);
441 441
 		}
442 442
 
443 443
 		// maybe horizontal label
444
-		if($args['label_type']=='horizontal'){
444
+		if ($args['label_type'] == 'horizontal') {
445 445
 			$output .= '</div>';
446 446
 		}
447 447
 
448 448
 
449 449
 		// wrap
450
-		if(!$args['no_wrap']){
451
-			$form_group_class = $args['label_type']=='floating' ? 'form-label-group' : 'form-group';
452
-			$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
453
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
450
+		if (!$args['no_wrap']) {
451
+			$form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : 'form-group';
452
+			$wrap_class = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
453
+			$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
454 454
 			$output = self::wrap(array(
455 455
 				'content' => $output,
456 456
 				'class'   => $wrap_class,
@@ -463,7 +463,7 @@  discard block
 block discarded – undo
463 463
 		return $output;
464 464
 	}
465 465
 
466
-	public static function label($args = array(), $type = ''){
466
+	public static function label($args = array(), $type = '') {
467 467
 		//<label for="exampleInputEmail1">Email address</label>
468 468
 		$defaults = array(
469 469
 			'title'       => 'div',
@@ -475,20 +475,20 @@  discard block
 block discarded – undo
475 475
 		/**
476 476
 		 * Parse incoming $args into an array and merge it with $defaults
477 477
 		 */
478
-		$args   = wp_parse_args( $args, $defaults );
478
+		$args   = wp_parse_args($args, $defaults);
479 479
 		$output = '';
480 480
 
481
-		if($args['title']){
481
+		if ($args['title']) {
482 482
 
483 483
 			// maybe hide labels //@todo set a global option for visibility class
484
-			if($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type']) ){
484
+			if ($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type'])) {
485 485
 				$class = $args['class'];
486
-			}else{
487
-				$class = 'sr-only '.$args['class'];
486
+			} else {
487
+				$class = 'sr-only ' . $args['class'];
488 488
 			}
489 489
 
490 490
 			// maybe horizontal
491
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
491
+			if ($args['label_type'] == 'horizontal' && $type != 'checkbox') {
492 492
 				$class .= ' col-sm-2 col-form-label';
493 493
 			}
494 494
 
@@ -496,20 +496,20 @@  discard block
 block discarded – undo
496 496
 			$output .= '<label ';
497 497
 
498 498
 			// for
499
-			if(!empty($args['for'])){
500
-				$output .= ' for="'.sanitize_text_field($args['for']).'" ';
499
+			if (!empty($args['for'])) {
500
+				$output .= ' for="' . sanitize_text_field($args['for']) . '" ';
501 501
 			}
502 502
 
503 503
 			// class
504
-			$class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
505
-			$output .= ' class="'.$class.'" ';
504
+			$class = $class ? AUI_Component_Helper::esc_classes($class) : '';
505
+			$output .= ' class="' . $class . '" ';
506 506
 
507 507
 			// close
508 508
 			$output .= '>';
509 509
 
510 510
 
511 511
 			// title, don't escape fully as can contain html
512
-			if(!empty($args['title'])){
512
+			if (!empty($args['title'])) {
513 513
 				$output .= wp_kses_post($args['title']);
514 514
 			}
515 515
 
@@ -530,7 +530,7 @@  discard block
 block discarded – undo
530 530
 	 *
531 531
 	 * @return string
532 532
 	 */
533
-	public static function wrap($args = array()){
533
+	public static function wrap($args = array()) {
534 534
 		$defaults = array(
535 535
 			'type'       => 'div',
536 536
 			'class'      => 'form-group',
@@ -546,55 +546,55 @@  discard block
 block discarded – undo
546 546
 		/**
547 547
 		 * Parse incoming $args into an array and merge it with $defaults
548 548
 		 */
549
-		$args   = wp_parse_args( $args, $defaults );
549
+		$args   = wp_parse_args($args, $defaults);
550 550
 		$output = '';
551
-		if($args['type']){
551
+		if ($args['type']) {
552 552
 
553 553
 			// open
554
-			$output .= '<'.sanitize_html_class($args['type']);
554
+			$output .= '<' . sanitize_html_class($args['type']);
555 555
 
556 556
 			// element require
557
-			if(!empty($args['element_require'])){
557
+			if (!empty($args['element_require'])) {
558 558
 				$output .= AUI_Component_Helper::element_require($args['element_require']);
559 559
 				$args['class'] .= " aui-conditional-field";
560 560
 			}
561 561
 
562 562
 			// argument_id
563
-			if( !empty($args['argument_id']) ){
564
-				$output .= ' data-argument="'.esc_attr($args['argument_id']).'"';
563
+			if (!empty($args['argument_id'])) {
564
+				$output .= ' data-argument="' . esc_attr($args['argument_id']) . '"';
565 565
 			}
566 566
 
567 567
 			// class
568
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
569
-			$output .= ' class="'.$class.'" ';
568
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
569
+			$output .= ' class="' . $class . '" ';
570 570
 
571 571
 			// close wrap
572 572
 			$output .= ' >';
573 573
 
574 574
 
575 575
 			// Input group left
576
-			if(!empty($args['input_group_left'])){
576
+			if (!empty($args['input_group_left'])) {
577 577
 				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
578
-				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">'.$args['input_group_left'].'</span>';
579
-				$output .= '<div class="input-group-prepend '.$position_class.'">'.$input_group_left.'</div>';
578
+				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
579
+				$output .= '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
580 580
 			}
581 581
 
582 582
 			// content
583 583
 			$output .= $args['content'];
584 584
 
585 585
 			// Input group right
586
-			if(!empty($args['input_group_right'])){
586
+			if (!empty($args['input_group_right'])) {
587 587
 				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
588
-				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">'.$args['input_group_right'].'</span>';
589
-				$output .= '<div class="input-group-append '.$position_class.'">'.$input_group_right.'</div>';
588
+				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
589
+				$output .= '<div class="input-group-append ' . $position_class . '">' . $input_group_right . '</div>';
590 590
 			}
591 591
 
592 592
 
593 593
 			// close wrap
594
-			$output .= '</'.sanitize_html_class($args['type']).'>';
594
+			$output .= '</' . sanitize_html_class($args['type']) . '>';
595 595
 
596 596
 
597
-		}else{
597
+		} else {
598 598
 			$output = $args['content'];
599 599
 		}
600 600
 
@@ -608,7 +608,7 @@  discard block
 block discarded – undo
608 608
 	 *
609 609
 	 * @return string The rendered component.
610 610
 	 */
611
-	public static function select($args = array()){
611
+	public static function select($args = array()) {
612 612
 		$defaults = array(
613 613
 			'class'      => '',
614 614
 			'wrap_class' => '',
@@ -634,11 +634,11 @@  discard block
 block discarded – undo
634 634
 		/**
635 635
 		 * Parse incoming $args into an array and merge it with $defaults
636 636
 		 */
637
-		$args   = wp_parse_args( $args, $defaults );
637
+		$args   = wp_parse_args($args, $defaults);
638 638
 		$output = '';
639 639
 
640 640
 		// for now lets hide floating labels
641
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'hidden';}
641
+		if ($args['label_type'] == 'floating') {$args['label_type'] = 'hidden'; }
642 642
 
643 643
 		// hidden label option needs to be empty
644 644
 		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
@@ -647,47 +647,47 @@  discard block
 block discarded – undo
647 647
 		$label_after = $args['label_after'];
648 648
 
649 649
 		// floating labels need label after
650
-		if( $args['label_type'] == 'floating' ){
650
+		if ($args['label_type'] == 'floating') {
651 651
 			$label_after = true;
652 652
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
653 653
 		}
654 654
 
655 655
 		// Maybe setup select2
656 656
 		$is_select2 = false;
657
-		if(!empty($args['select2'])){
657
+		if (!empty($args['select2'])) {
658 658
 			$args['class'] .= ' aui-select2';
659 659
 			$is_select2 = true;
660
-		}elseif( strpos($args['class'], 'aui-select2') !== false){
660
+		}elseif (strpos($args['class'], 'aui-select2') !== false) {
661 661
 			$is_select2 = true;
662 662
 		}
663 663
 
664 664
 		// select2 tags
665
-		if( !empty($args['select2']) && $args['select2'] === 'tags'){ // triple equals needed here for some reason
665
+		if (!empty($args['select2']) && $args['select2'] === 'tags') { // triple equals needed here for some reason
666 666
 			$args['data-tags'] = 'true';
667 667
 			$args['data-token-separators'] = "[',']";
668 668
 			$args['multiple'] = true;
669 669
 		}
670 670
 
671 671
 		// select2 placeholder
672
-		if($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])){
672
+		if ($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])) {
673 673
 			$args['data-placeholder'] = esc_attr($args['placeholder']);
674 674
 			$args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
675 675
 		}
676 676
 
677 677
 		// label
678
-		if(!empty($args['label']) && is_array($args['label'])){
679
-		}elseif(!empty($args['label']) && !$label_after){
678
+		if (!empty($args['label']) && is_array($args['label'])) {
679
+		}elseif (!empty($args['label']) && !$label_after) {
680 680
 			$label_args = array(
681 681
 				'title'=> $args['label'],
682 682
 				'for'=> $args['id'],
683
-				'class' => $args['label_class']." ",
683
+				'class' => $args['label_class'] . " ",
684 684
 				'label_type' => $args['label_type']
685 685
 			);
686 686
 			$output .= self::label($label_args);
687 687
 		}
688 688
 
689 689
 		// maybe horizontal label
690
-		if($args['label_type']=='horizontal'){
690
+		if ($args['label_type'] == 'horizontal') {
691 691
 			$output .= '<div class="col-sm-10">';
692 692
 		}
693 693
 
@@ -695,32 +695,32 @@  discard block
 block discarded – undo
695 695
 		$output .= '<select ';
696 696
 
697 697
 		// style
698
-		if($is_select2){
698
+		if ($is_select2) {
699 699
 			$output .= " style='width:100%;' ";
700 700
 		}
701 701
 
702 702
 		// element require
703
-		if(!empty($args['element_require'])){
703
+		if (!empty($args['element_require'])) {
704 704
 			$output .= AUI_Component_Helper::element_require($args['element_require']);
705 705
 			$args['class'] .= " aui-conditional-field";
706 706
 		}
707 707
 
708 708
 		// class
709 709
 		$class = !empty($args['class']) ? $args['class'] : '';
710
-		$output .= AUI_Component_Helper::class_attr('custom-select '.$class);
710
+		$output .= AUI_Component_Helper::class_attr('custom-select ' . $class);
711 711
 
712 712
 		// name
713
-		if(!empty($args['name'])){
714
-			$output .= AUI_Component_Helper::name($args['name'],$args['multiple']);
713
+		if (!empty($args['name'])) {
714
+			$output .= AUI_Component_Helper::name($args['name'], $args['multiple']);
715 715
 		}
716 716
 
717 717
 		// id
718
-		if(!empty($args['id'])){
718
+		if (!empty($args['id'])) {
719 719
 			$output .= AUI_Component_Helper::id($args['id']);
720 720
 		}
721 721
 
722 722
 		// title
723
-		if(!empty($args['title'])){
723
+		if (!empty($args['title'])) {
724 724
 			$output .= AUI_Component_Helper::title($args['title']);
725 725
 		}
726 726
 
@@ -731,17 +731,17 @@  discard block
 block discarded – undo
731 731
 		$output .= AUI_Component_Helper::aria_attributes($args);
732 732
 
733 733
 		// extra attributes
734
-		if(!empty($args['extra_attributes'])){
734
+		if (!empty($args['extra_attributes'])) {
735 735
 			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
736 736
 		}
737 737
 
738 738
 		// required
739
-		if(!empty($args['required'])){
739
+		if (!empty($args['required'])) {
740 740
 			$output .= ' required ';
741 741
 		}
742 742
 
743 743
 		// multiple
744
-		if(!empty($args['multiple'])){
744
+		if (!empty($args['multiple'])) {
745 745
 			$output .= ' multiple ';
746 746
 		}
747 747
 
@@ -749,21 +749,21 @@  discard block
 block discarded – undo
749 749
 		$output .= ' >';
750 750
 
751 751
 		// placeholder
752
-		if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
753
-			$output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
754
-		}elseif($is_select2 && !empty($args['placeholder'])){
752
+		if (isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2) {
753
+			$output .= '<option value="" disabled selected hidden>' . esc_attr($args['placeholder']) . '</option>';
754
+		}elseif ($is_select2 && !empty($args['placeholder'])) {
755 755
 			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
756 756
 		}
757 757
 
758 758
 		// Options
759
-		if(!empty($args['options'])){
759
+		if (!empty($args['options'])) {
760 760
 
761
-			if(!is_array($args['options'])){
761
+			if (!is_array($args['options'])) {
762 762
 				$output .= $args['options']; // not the preferred way but an option
763
-			}else{
764
-				foreach($args['options'] as $val => $name){
763
+			} else {
764
+				foreach ($args['options'] as $val => $name) {
765 765
 					$selected = '';
766
-					if(is_array($name)){
766
+					if (is_array($name)) {
767 767
 						if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
768 768
 							$option_label = isset($name['label']) ? $name['label'] : '';
769 769
 
@@ -771,23 +771,23 @@  discard block
 block discarded – undo
771 771
 						} else {
772 772
 							$option_label = isset($name['label']) ? $name['label'] : '';
773 773
 							$option_value = isset($name['value']) ? $name['value'] : '';
774
-							if(!empty($args['multiple']) && !empty($args['value']) && is_array($args['value']) ){
774
+							if (!empty($args['multiple']) && !empty($args['value']) && is_array($args['value'])) {
775 775
 								$selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
776
-							} elseif(!empty($args['value'])) {
777
-								$selected = selected($option_value,stripslashes_deep($args['value']), false);
776
+							} elseif (!empty($args['value'])) {
777
+								$selected = selected($option_value, stripslashes_deep($args['value']), false);
778 778
 							}
779 779
 
780 780
 							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
781 781
 						}
782
-					}else{
783
-						if(!empty($args['value'])){
784
-							if(is_array($args['value'])){
785
-								$selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
786
-							} elseif(!empty($args['value'])) {
787
-								$selected = selected( $args['value'], $val, false);
782
+					} else {
783
+						if (!empty($args['value'])) {
784
+							if (is_array($args['value'])) {
785
+								$selected = in_array($val, $args['value']) ? 'selected="selected"' : '';
786
+							} elseif (!empty($args['value'])) {
787
+								$selected = selected($args['value'], $val, false);
788 788
 							}
789 789
 						}
790
-						$output .= '<option value="'.esc_attr($val).'" '.$selected.'>'.esc_attr($name).'</option>';
790
+						$output .= '<option value="' . esc_attr($val) . '" ' . $selected . '>' . esc_attr($name) . '</option>';
791 791
 					}
792 792
 				}
793 793
 			}
@@ -797,31 +797,31 @@  discard block
 block discarded – undo
797 797
 		// closing tag
798 798
 		$output .= '</select>';
799 799
 
800
-		if(!empty($args['label']) && $label_after){
800
+		if (!empty($args['label']) && $label_after) {
801 801
 			$label_args = array(
802 802
 				'title'=> $args['label'],
803 803
 				'for'=> $args['id'],
804
-				'class' => $args['label_class']." ",
804
+				'class' => $args['label_class'] . " ",
805 805
 				'label_type' => $args['label_type']
806 806
 			);
807 807
 			$output .= self::label($label_args);
808 808
 		}
809 809
 
810 810
 		// help text
811
-		if(!empty($args['help_text'])){
811
+		if (!empty($args['help_text'])) {
812 812
 			$output .= AUI_Component_Helper::help_text($args['help_text']);
813 813
 		}
814 814
 
815 815
 		// maybe horizontal label
816
-		if($args['label_type']=='horizontal'){
816
+		if ($args['label_type'] == 'horizontal') {
817 817
 			$output .= '</div>';
818 818
 		}
819 819
 
820 820
 
821 821
 		// wrap
822
-		if(!$args['no_wrap']){
823
-			$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
824
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
822
+		if (!$args['no_wrap']) {
823
+			$wrap_class = $args['label_type'] == 'horizontal' ? 'form-group row' : 'form-group';
824
+			$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
825 825
 			$output = self::wrap(array(
826 826
 				'content' => $output,
827 827
 				'class'   => $wrap_class,
@@ -841,7 +841,7 @@  discard block
 block discarded – undo
841 841
 	 *
842 842
 	 * @return string The rendered component.
843 843
 	 */
844
-	public static function radio($args = array()){
844
+	public static function radio($args = array()) {
845 845
 		$defaults = array(
846 846
 			'class'      => '',
847 847
 			'wrap_class' => '',
@@ -864,14 +864,14 @@  discard block
 block discarded – undo
864 864
 		/**
865 865
 		 * Parse incoming $args into an array and merge it with $defaults
866 866
 		 */
867
-		$args   = wp_parse_args( $args, $defaults );
867
+		$args = wp_parse_args($args, $defaults);
868 868
 
869 869
 		// for now lets use horizontal for floating
870
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'horizontal';}
870
+		if ($args['label_type'] == 'floating') {$args['label_type'] = 'horizontal'; }
871 871
 
872 872
 		$label_args = array(
873 873
 			'title'=> $args['label'],
874
-			'class' => $args['label_class']." pt-0 ",
874
+			'class' => $args['label_class'] . " pt-0 ",
875 875
 			'label_type' => $args['label_type']
876 876
 		);
877 877
 
@@ -880,36 +880,36 @@  discard block
 block discarded – undo
880 880
 
881 881
 
882 882
 		// label before
883
-		if(!empty($args['label'])){
884
-			$output .= self::label( $label_args, 'radio' );
883
+		if (!empty($args['label'])) {
884
+			$output .= self::label($label_args, 'radio');
885 885
 		}
886 886
 
887 887
 		// maybe horizontal label
888
-		if($args['label_type']=='horizontal'){
888
+		if ($args['label_type'] == 'horizontal') {
889 889
 			$output .= '<div class="col-sm-10">';
890 890
 		}
891 891
 
892
-		if(!empty($args['options'])){
892
+		if (!empty($args['options'])) {
893 893
 			$count = 0;
894
-			foreach($args['options'] as $value => $label){
894
+			foreach ($args['options'] as $value => $label) {
895 895
 				$option_args = $args;
896 896
 				$option_args['value'] = $value;
897 897
 				$option_args['label'] = $label;
898 898
 				$option_args['checked'] = $value == $args['value'] ? true : false;
899
-				$output .= self::radio_option($option_args,$count);
899
+				$output .= self::radio_option($option_args, $count);
900 900
 				$count++;
901 901
 			}
902 902
 		}
903 903
 
904 904
 		// maybe horizontal label
905
-		if($args['label_type']=='horizontal'){
905
+		if ($args['label_type'] == 'horizontal') {
906 906
 			$output .= '</div>';
907 907
 		}
908 908
 
909 909
 
910 910
 		// wrap
911
-		$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
912
-		$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
911
+		$wrap_class = $args['label_type'] == 'horizontal' ? 'form-group row' : 'form-group';
912
+		$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
913 913
 		$output = self::wrap(array(
914 914
 			'content' => $output,
915 915
 			'class'   => $wrap_class,
@@ -928,7 +928,7 @@  discard block
 block discarded – undo
928 928
 	 *
929 929
 	 * @return string The rendered component.
930 930
 	 */
931
-	public static function radio_option($args = array(),$count = ''){
931
+	public static function radio_option($args = array(), $count = '') {
932 932
 		$defaults = array(
933 933
 			'class'      => '',
934 934
 			'id'         => '',
@@ -946,7 +946,7 @@  discard block
 block discarded – undo
946 946
 		/**
947 947
 		 * Parse incoming $args into an array and merge it with $defaults
948 948
 		 */
949
-		$args   = wp_parse_args( $args, $defaults );
949
+		$args   = wp_parse_args($args, $defaults);
950 950
 
951 951
 		$output = '';
952 952
 
@@ -957,27 +957,27 @@  discard block
 block discarded – undo
957 957
 		$output .= ' class="form-check-input" ';
958 958
 
959 959
 		// name
960
-		if(!empty($args['name'])){
960
+		if (!empty($args['name'])) {
961 961
 			$output .= AUI_Component_Helper::name($args['name']);
962 962
 		}
963 963
 
964 964
 		// id
965
-		if(!empty($args['id'])){
966
-			$output .= AUI_Component_Helper::id($args['id'].$count);
965
+		if (!empty($args['id'])) {
966
+			$output .= AUI_Component_Helper::id($args['id'] . $count);
967 967
 		}
968 968
 
969 969
 		// title
970
-		if(!empty($args['title'])){
970
+		if (!empty($args['title'])) {
971 971
 			$output .= AUI_Component_Helper::title($args['title']);
972 972
 		}
973 973
 
974 974
 		// value
975
-		if(isset($args['value'])){
976
-			$output .= ' value="'.sanitize_text_field($args['value']).'" ';
975
+		if (isset($args['value'])) {
976
+			$output .= ' value="' . sanitize_text_field($args['value']) . '" ';
977 977
 		}
978 978
 
979 979
 		// checked, for radio and checkboxes
980
-		if( $args['checked'] ){
980
+		if ($args['checked']) {
981 981
 			$output .= ' checked ';
982 982
 		}
983 983
 
@@ -988,12 +988,12 @@  discard block
 block discarded – undo
988 988
 		$output .= AUI_Component_Helper::aria_attributes($args);
989 989
 
990 990
 		// extra attributes
991
-		if(!empty($args['extra_attributes'])){
991
+		if (!empty($args['extra_attributes'])) {
992 992
 			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
993 993
 		}
994 994
 
995 995
 		// required
996
-		if(!empty($args['required'])){
996
+		if (!empty($args['required'])) {
997 997
 			$output .= ' required ';
998 998
 		}
999 999
 
@@ -1001,13 +1001,13 @@  discard block
 block discarded – undo
1001 1001
 		$output .= ' >';
1002 1002
 
1003 1003
 		// label
1004
-		if(!empty($args['label']) && is_array($args['label'])){
1005
-		}elseif(!empty($args['label'])){
1006
-			$output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1004
+		if (!empty($args['label']) && is_array($args['label'])) {
1005
+		}elseif (!empty($args['label'])) {
1006
+			$output .= self::label(array('title'=>$args['label'], 'for'=>$args['id'] . $count, 'class'=>'form-check-label'), 'radio');
1007 1007
 		}
1008 1008
 
1009 1009
 		// wrap
1010
-		if(!$args['no_wrap']){
1010
+		if (!$args['no_wrap']) {
1011 1011
 			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1012 1012
 			$output = self::wrap(array(
1013 1013
 				'content' => $output,
Please login to merge, or discard this patch.
Braces   +15 added lines, -16 removed lines patch added patch discarded remove patch
@@ -80,10 +80,10 @@  discard block
 block discarded – undo
80 80
 			if($type=='file' ){
81 81
 				$label_after = true; // if type file we need the label after
82 82
 				$args['class'] .= ' custom-file-input ';
83
-			}elseif($type=='checkbox'){
83
+			} elseif($type=='checkbox'){
84 84
 				$label_after = true; // if type file we need the label after
85 85
 				$args['class'] .= ' custom-control-input ';
86
-			}elseif($type=='datepicker' || $type=='timepicker'){
86
+			} elseif($type=='datepicker' || $type=='timepicker'){
87 87
 				$type = 'text';
88 88
 				//$args['class'] .= ' aui-flatpickr bg-initial ';
89 89
 				$args['class'] .= ' bg-initial ';
@@ -167,8 +167,7 @@  discard block
 block discarded – undo
167 167
 
168 168
 			// label
169 169
 			if(!empty($args['label'])){
170
-				if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
171
-				elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
170
+				if($type == 'file'){$label_args['class'] .= 'custom-file-label';} elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
172 171
 				$label = self::label( $label_args, $type );
173 172
 			}
174 173
 
@@ -189,7 +188,7 @@  discard block
 block discarded – undo
189 188
 					'content' => $output,
190 189
 					'class'   => 'form-group custom-file'
191 190
 				) );
192
-			}elseif($type == 'checkbox'){
191
+			} elseif($type == 'checkbox'){
193 192
 				$wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
194 193
 				$output = self::wrap( array(
195 194
 					'content' => $output,
@@ -199,7 +198,7 @@  discard block
 block discarded – undo
199 198
 				if($args['label_type']=='horizontal'){
200 199
 					$output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
201 200
 				}
202
-			}elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
201
+			} elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
203 202
 
204 203
 
205 204
 				// allow password field to toggle view
@@ -325,7 +324,7 @@  discard block
 block discarded – undo
325 324
 
326 325
 		// label
327 326
 		if(!empty($args['label']) && is_array($args['label'])){
328
-		}elseif(!empty($args['label']) && !$label_after){
327
+		} elseif(!empty($args['label']) && !$label_after){
329 328
 			$label_args = array(
330 329
 				'title'=> $args['label'],
331 330
 				'for'=> $args['id'],
@@ -360,7 +359,7 @@  discard block
 block discarded – undo
360 359
 
361 360
 			wp_editor( $content, $editor_id, $settings );
362 361
 			$output .= ob_get_clean();
363
-		}else{
362
+		} else{
364 363
 
365 364
 			// open
366 365
 			$output .= '<textarea ';
@@ -483,7 +482,7 @@  discard block
 block discarded – undo
483 482
 			// maybe hide labels //@todo set a global option for visibility class
484 483
 			if($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type']) ){
485 484
 				$class = $args['class'];
486
-			}else{
485
+			} else{
487 486
 				$class = 'sr-only '.$args['class'];
488 487
 			}
489 488
 
@@ -594,7 +593,7 @@  discard block
 block discarded – undo
594 593
 			$output .= '</'.sanitize_html_class($args['type']).'>';
595 594
 
596 595
 
597
-		}else{
596
+		} else{
598 597
 			$output = $args['content'];
599 598
 		}
600 599
 
@@ -657,7 +656,7 @@  discard block
 block discarded – undo
657 656
 		if(!empty($args['select2'])){
658 657
 			$args['class'] .= ' aui-select2';
659 658
 			$is_select2 = true;
660
-		}elseif( strpos($args['class'], 'aui-select2') !== false){
659
+		} elseif( strpos($args['class'], 'aui-select2') !== false){
661 660
 			$is_select2 = true;
662 661
 		}
663 662
 
@@ -676,7 +675,7 @@  discard block
 block discarded – undo
676 675
 
677 676
 		// label
678 677
 		if(!empty($args['label']) && is_array($args['label'])){
679
-		}elseif(!empty($args['label']) && !$label_after){
678
+		} elseif(!empty($args['label']) && !$label_after){
680 679
 			$label_args = array(
681 680
 				'title'=> $args['label'],
682 681
 				'for'=> $args['id'],
@@ -751,7 +750,7 @@  discard block
 block discarded – undo
751 750
 		// placeholder
752 751
 		if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
753 752
 			$output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
754
-		}elseif($is_select2 && !empty($args['placeholder'])){
753
+		} elseif($is_select2 && !empty($args['placeholder'])){
755 754
 			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
756 755
 		}
757 756
 
@@ -760,7 +759,7 @@  discard block
 block discarded – undo
760 759
 
761 760
 			if(!is_array($args['options'])){
762 761
 				$output .= $args['options']; // not the preferred way but an option
763
-			}else{
762
+			} else{
764 763
 				foreach($args['options'] as $val => $name){
765 764
 					$selected = '';
766 765
 					if(is_array($name)){
@@ -779,7 +778,7 @@  discard block
 block discarded – undo
779 778
 
780 779
 							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
781 780
 						}
782
-					}else{
781
+					} else{
783 782
 						if(!empty($args['value'])){
784 783
 							if(is_array($args['value'])){
785 784
 								$selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
@@ -1002,7 +1001,7 @@  discard block
 block discarded – undo
1002 1001
 
1003 1002
 		// label
1004 1003
 		if(!empty($args['label']) && is_array($args['label'])){
1005
-		}elseif(!empty($args['label'])){
1004
+		} elseif(!empty($args['label'])){
1006 1005
 			$output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1007 1006
 		}
1008 1007
 
Please login to merge, or discard this patch.
templates/payment-forms/form.php 1 patch
Spacing   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -7,44 +7,44 @@  discard block
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 // Make sure that the form is active.
13
-if ( ! $form->is_active() ) {
13
+if (!$form->is_active()) {
14 14
     echo aui()->alert(
15 15
         array(
16 16
             'type'    => 'warning',
17
-            'content' => __( 'This payment form is no longer active', 'invoicing' ),
17
+            'content' => __('This payment form is no longer active', 'invoicing'),
18 18
         )
19 19
     );
20 20
     return;
21 21
 }
22 22
 
23 23
 // Fires before displaying a payment form.
24
-do_action( 'getpaid_before_payment_form', $form );
24
+do_action('getpaid_before_payment_form', $form);
25 25
 ?>
26 26
 
27
-<form class='getpaid-payment-form getpaid-payment-form-<?php echo absint( $form->get_id() ); ?> bsui' method='POST' data-key='<?php echo uniqid('gpf'); ?>'>
27
+<form class='getpaid-payment-form getpaid-payment-form-<?php echo absint($form->get_id()); ?> bsui' method='POST' data-key='<?php echo uniqid('gpf'); ?>'>
28 28
 
29 29
 
30 30
     <?php 
31 31
     
32 32
         // Fires when printing the top of a payment form.
33
-        do_action( 'getpaid_payment_form_top', $form );
33
+        do_action('getpaid_payment_form_top', $form);
34 34
 
35 35
         // And the optional invoice id.
36
-        if ( ! empty( $form->invoice ) ) {
37
-            echo getpaid_hidden_field( 'invoice_id', $form->invoice->get_id() );
36
+        if (!empty($form->invoice)) {
37
+            echo getpaid_hidden_field('invoice_id', $form->invoice->get_id());
38 38
         }
39 39
 
40 40
         // We also want to include the form id.
41
-        echo getpaid_hidden_field( 'form_id', $form->get_id() );
41
+        echo getpaid_hidden_field('form_id', $form->get_id());
42 42
 
43 43
         // And an indication that this is a payment form submission.
44
-        echo getpaid_hidden_field( 'getpaid_payment_form_submission', '1' );
44
+        echo getpaid_hidden_field('getpaid_payment_form_submission', '1');
45 45
 
46 46
         // Fires before displaying payment form elements.
47
-        do_action( 'getpaid_payment_form_before_elements', $form );
47
+        do_action('getpaid_payment_form_before_elements', $form);
48 48
 
49 49
         // Display the elements.
50 50
         ?>
@@ -52,13 +52,13 @@  discard block
 block discarded – undo
52 52
             <div class="row">
53 53
                 <?php
54 54
 
55
-                    foreach ( $form->get_elements() as $element ) {
55
+                    foreach ($form->get_elements() as $element) {
56 56
 
57
-                        if ( isset( $element['type'] ) ) {
58
-                            $grid_class = esc_attr( getpaid_get_form_element_grid_class( $element ) );
57
+                        if (isset($element['type'])) {
58
+                            $grid_class = esc_attr(getpaid_get_form_element_grid_class($element));
59 59
                             echo "<div class='$grid_class'>";
60
-                            do_action( 'getpaid_payment_form_element', $element, $form );
61
-                            do_action( "getpaid_payment_form_element_{$element['type']}_template", $element, $form );
60
+                            do_action('getpaid_payment_form_element', $element, $form);
61
+                            do_action("getpaid_payment_form_element_{$element['type']}_template", $element, $form);
62 62
                             echo "</div>";
63 63
                         }
64 64
 
@@ -70,16 +70,16 @@  discard block
 block discarded – undo
70 70
 
71 71
         <?php
72 72
         // Fires after displaying payment form elements.
73
-        do_action( 'getpaid_payment_form_after_elements', $form );
73
+        do_action('getpaid_payment_form_after_elements', $form);
74 74
 
75 75
         echo "<div class='getpaid-payment-form-errors alert alert-danger d-none'></div>";
76 76
 
77
-        if ( wpinv_current_user_can_manage_invoicing() ) {
77
+        if (wpinv_current_user_can_manage_invoicing()) {
78 78
 
79 79
             edit_post_link(
80
-                __( 'Edit this form.', 'invoicing' ),
80
+                __('Edit this form.', 'invoicing'),
81 81
                 '<small class="form-text text-muted">',
82
-                '&nbsp;' . __( 'This is only visible to website administators.', 'invoicing' ) . '</small>',
82
+                '&nbsp;' . __('This is only visible to website administators.', 'invoicing') . '</small>',
83 83
                 $form->get_id(),
84 84
                 'text-danger'
85 85
             );
@@ -94,4 +94,4 @@  discard block
 block discarded – undo
94 94
 <?php
95 95
 
96 96
 // Fires after displaying a payment form.
97
-do_action( 'getpaid_after_payment_form', $form );
97
+do_action('getpaid_after_payment_form', $form);
Please login to merge, or discard this patch.
templates/payment-forms-admin/edit/pay_button.php 1 patch
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -7,44 +7,44 @@
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 ?>
13 13
 
14 14
 <div class='form-group'>
15 15
     <label class="d-block">
16
-        <span><?php esc_html_e( 'Button Text', 'invoicing' ); ?></span>
16
+        <span><?php esc_html_e('Button Text', 'invoicing'); ?></span>
17 17
         <input v-model='active_form_element.label' class='form-control' type="text"/>
18
-        <small class="form-text text-muted"><?php _e( '%price% will be replaced by the total payable amount', 'invoicing' ); ?></small>
18
+        <small class="form-text text-muted"><?php _e('%price% will be replaced by the total payable amount', 'invoicing'); ?></small>
19 19
     </label>
20 20
 </div>
21 21
 
22 22
 <div class='form-group'>
23 23
     <label class="d-block">
24
-        <span><?php esc_html_e( 'Free Checkout Text', 'invoicing' ); ?></span>
24
+        <span><?php esc_html_e('Free Checkout Text', 'invoicing'); ?></span>
25 25
         <input v-model='active_form_element.free' class='form-control' type="text"/>
26
-        <small class="form-text text-muted"><?php _e( 'The text to display if the total payable amount is zero', 'invoicing' ); ?></small>
26
+        <small class="form-text text-muted"><?php _e('The text to display if the total payable amount is zero', 'invoicing'); ?></small>
27 27
     </label>
28 28
 </div>
29 29
 
30 30
 <div class='form-group'>
31 31
     <label class="d-block">
32
-        <span><?php esc_html_e( 'Help Text', 'invoicing' ); ?></span>
33
-        <textarea placeholder='<?php esc_attr_e( 'Add some help text for this field', 'invoicing' ); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
32
+        <span><?php esc_html_e('Help Text', 'invoicing'); ?></span>
33
+        <textarea placeholder='<?php esc_attr_e('Add some help text for this field', 'invoicing'); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
34 34
     </label>
35 35
 </div>
36 36
 
37 37
 <div class='form-group'>
38
-    <label :for="active_form_element.id + '_edit_type'"><?php esc_html_e( 'Button Type', 'invoicing' ) ?></label>
38
+    <label :for="active_form_element.id + '_edit_type'"><?php esc_html_e('Button Type', 'invoicing') ?></label>
39 39
     <select class='form-control custom-select' :id="active_form_element.id + '_edit_type'" v-model='active_form_element.class'>
40
-        <option value='btn-primary'><?php esc_html_e( 'Primary', 'invoicing' ); ?></option>
41
-        <option value='btn-secondary'><?php esc_html_e( 'Secondary', 'invoicing' ); ?></option>
42
-        <option value='btn-success'><?php esc_html_e( 'Success', 'invoicing' ); ?></option>
43
-        <option value='btn-danger'><?php esc_html_e( 'Danger', 'invoicing' ); ?></option>
44
-        <option value='btn-warning'><?php esc_html_e( 'Warning', 'invoicing' ); ?></option>
45
-        <option value='btn-info'><?php esc_html_e( 'Info', 'invoicing' ); ?></option>
46
-        <option value='btn-light'><?php esc_html_e( 'Light', 'invoicing' ); ?></option>
47
-        <option value='btn-dark'><?php esc_html_e( 'Dark', 'invoicing' ); ?></option>
48
-        <option value='btn-link'><?php esc_html_e( 'Link', 'invoicing' ); ?></option>
40
+        <option value='btn-primary'><?php esc_html_e('Primary', 'invoicing'); ?></option>
41
+        <option value='btn-secondary'><?php esc_html_e('Secondary', 'invoicing'); ?></option>
42
+        <option value='btn-success'><?php esc_html_e('Success', 'invoicing'); ?></option>
43
+        <option value='btn-danger'><?php esc_html_e('Danger', 'invoicing'); ?></option>
44
+        <option value='btn-warning'><?php esc_html_e('Warning', 'invoicing'); ?></option>
45
+        <option value='btn-info'><?php esc_html_e('Info', 'invoicing'); ?></option>
46
+        <option value='btn-light'><?php esc_html_e('Light', 'invoicing'); ?></option>
47
+        <option value='btn-dark'><?php esc_html_e('Dark', 'invoicing'); ?></option>
48
+        <option value='btn-link'><?php esc_html_e('Link', 'invoicing'); ?></option>
49 49
     </select>
50 50
 </div>
Please login to merge, or discard this patch.
includes/wpinv-address-functions.php 2 patches
Indentation   +88 added lines, -88 removed lines patch added patch discarded remove patch
@@ -13,9 +13,9 @@  discard block
 block discarded – undo
13 13
 
14 14
 
15 15
 function wpinv_get_default_country() {
16
-	$country = wpinv_get_option( 'default_country', 'UK' );
16
+    $country = wpinv_get_option( 'default_country', 'UK' );
17 17
 
18
-	return apply_filters( 'wpinv_default_country', $country );
18
+    return apply_filters( 'wpinv_default_country', $country );
19 19
 }
20 20
 
21 21
 /**
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
  */
27 27
 function wpinv_sanitize_country( $country ) {
28 28
 
29
-	// Enure the country is specified
29
+    // Enure the country is specified
30 30
     if ( empty( $country ) ) {
31 31
         $country = wpinv_get_default_country();
32 32
     }
@@ -56,9 +56,9 @@  discard block
 block discarded – undo
56 56
 }
57 57
 
58 58
 function wpinv_get_default_state() {
59
-	$state = wpinv_get_option( 'default_state', '' );
59
+    $state = wpinv_get_option( 'default_state', '' );
60 60
 
61
-	return apply_filters( 'wpinv_default_state', $state );
61
+    return apply_filters( 'wpinv_default_state', $state );
62 62
 }
63 63
 
64 64
 function wpinv_state_name( $state_code = '', $country_code = '' ) {
@@ -288,11 +288,11 @@  discard block
 block discarded – undo
288 288
 
289 289
     $country = wpinv_sanitize_country( $country );
290 290
     
291
-	foreach ( wpinv_get_continents( 'countries' ) as $continent_code => $countries ) {
292
-		if ( false !== array_search( $country, $countries, true ) ) {
293
-			return $continent_code;
294
-		}
295
-	}
291
+    foreach ( wpinv_get_continents( 'countries' ) as $continent_code => $countries ) {
292
+        if ( false !== array_search( $country, $countries, true ) ) {
293
+            return $continent_code;
294
+        }
295
+    }
296 296
 
297 297
     return '';
298 298
     
@@ -584,30 +584,30 @@  discard block
 block discarded – undo
584 584
 }
585 585
 
586 586
 function wpinv_get_states_field() {
587
-	if( empty( $_POST['country'] ) ) {
588
-		$_POST['country'] = wpinv_get_default_country();
589
-	}
590
-	$states = wpinv_get_country_states( sanitize_text_field( $_POST['country'] ) );
587
+    if( empty( $_POST['country'] ) ) {
588
+        $_POST['country'] = wpinv_get_default_country();
589
+    }
590
+    $states = wpinv_get_country_states( sanitize_text_field( $_POST['country'] ) );
591 591
 
592
-	if( !empty( $states ) ) {
593
-		$sanitized_field_name = sanitize_text_field( $_POST['field_name'] );
592
+    if( !empty( $states ) ) {
593
+        $sanitized_field_name = sanitize_text_field( $_POST['field_name'] );
594 594
         
595 595
         $args = array(
596
-			'name'    => $sanitized_field_name,
597
-			'id'      => $sanitized_field_name,
598
-			'class'   => $sanitized_field_name . 'custom-select wpinv-select wpi_select2',
599
-			'options' => array_merge( array( '' => '' ), $states ),
600
-			'show_option_all'  => false,
601
-			'show_option_none' => false
602
-		);
603
-
604
-		$response = wpinv_html_select( $args );
605
-
606
-	} else {
607
-		$response = 'nostates';
608
-	}
596
+            'name'    => $sanitized_field_name,
597
+            'id'      => $sanitized_field_name,
598
+            'class'   => $sanitized_field_name . 'custom-select wpinv-select wpi_select2',
599
+            'options' => array_merge( array( '' => '' ), $states ),
600
+            'show_option_all'  => false,
601
+            'show_option_none' => false
602
+        );
603
+
604
+        $response = wpinv_html_select( $args );
605
+
606
+    } else {
607
+        $response = 'nostates';
608
+    }
609 609
 
610
-	return $response;
610
+    return $response;
611 611
 }
612 612
 
613 613
 function wpinv_default_billing_country( $country = '', $user_id = 0 ) {
@@ -625,46 +625,46 @@  discard block
 block discarded – undo
625 625
  */
626 626
 function wpinv_get_address_formats() {
627 627
 
628
-		return apply_filters( 'wpinv_localisation_address_formats',
629
-			array(
630
-				'default' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}\n{{zip}}\n{{country}}",
631
-				'AU'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}} {{zip}}\n{{country}}",
632
-				'AT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
633
-				'BE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
634
-				'CA'      => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{state_code}}&nbsp;&nbsp;{{zip}}\n{{country}}",
635
-				'CH'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
636
-				'CL'      => "{{company}}\n{{name}}\n{{address}}\n{{state}}\n{{zip}} {{city}}\n{{country}}",
637
-				'CN'      => "{{country}} {{zip}}\n{{state}}, {{city}}, {{address}}\n{{company}}\n{{name}}",
638
-				'CZ'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
639
-				'DE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
640
-				'EE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
641
-				'FI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
642
-				'DK'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
643
-				'FR'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city_upper}}\n{{country}}",
644
-				'HK'      => "{{company}}\n{{first_name}} {{last_name_upper}}\n{{address}}\n{{city_upper}}\n{{state_upper}}\n{{country}}",
645
-				'HU'      => "{{name}}\n{{company}}\n{{city}}\n{{address}}\n{{zip}}\n{{country}}",
646
-				'IN'      => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{zip}}\n{{state}}, {{country}}",
647
-				'IS'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
648
-				'IT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}}\n{{city}}\n{{state_upper}}\n{{country}}",
649
-				'JP'      => "{{zip}}\n{{state}} {{city}} {{address}}\n{{company}}\n{{last_name}} {{first_name}}\n{{country}}",
650
-				'TW'      => "{{company}}\n{{last_name}} {{first_name}}\n{{address}}\n{{state}}, {{city}} {{zip}}\n{{country}}",
651
-				'LI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
652
-				'NL'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
653
-				'NZ'      => "{{name}}\n{{company}}\n{{address}}\n{{city}} {{zip}}\n{{country}}",
654
-				'NO'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
655
-				'PL'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
656
-				'PT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
657
-				'SK'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
658
-				'RS'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
659
-				'SI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
660
-				'ES'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{state}}\n{{country}}",
661
-				'SE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
662
-				'TR'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}} {{state}}\n{{country}}",
663
-				'UG'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}, {{country}}",
664
-				'US'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}, {{state_code}} {{zip}}\n{{country}}",
665
-				'VN'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{country}}",
666
-			)
667
-		);
628
+        return apply_filters( 'wpinv_localisation_address_formats',
629
+            array(
630
+                'default' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}\n{{zip}}\n{{country}}",
631
+                'AU'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}} {{zip}}\n{{country}}",
632
+                'AT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
633
+                'BE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
634
+                'CA'      => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{state_code}}&nbsp;&nbsp;{{zip}}\n{{country}}",
635
+                'CH'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
636
+                'CL'      => "{{company}}\n{{name}}\n{{address}}\n{{state}}\n{{zip}} {{city}}\n{{country}}",
637
+                'CN'      => "{{country}} {{zip}}\n{{state}}, {{city}}, {{address}}\n{{company}}\n{{name}}",
638
+                'CZ'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
639
+                'DE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
640
+                'EE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
641
+                'FI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
642
+                'DK'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
643
+                'FR'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city_upper}}\n{{country}}",
644
+                'HK'      => "{{company}}\n{{first_name}} {{last_name_upper}}\n{{address}}\n{{city_upper}}\n{{state_upper}}\n{{country}}",
645
+                'HU'      => "{{name}}\n{{company}}\n{{city}}\n{{address}}\n{{zip}}\n{{country}}",
646
+                'IN'      => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{zip}}\n{{state}}, {{country}}",
647
+                'IS'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
648
+                'IT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}}\n{{city}}\n{{state_upper}}\n{{country}}",
649
+                'JP'      => "{{zip}}\n{{state}} {{city}} {{address}}\n{{company}}\n{{last_name}} {{first_name}}\n{{country}}",
650
+                'TW'      => "{{company}}\n{{last_name}} {{first_name}}\n{{address}}\n{{state}}, {{city}} {{zip}}\n{{country}}",
651
+                'LI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
652
+                'NL'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
653
+                'NZ'      => "{{name}}\n{{company}}\n{{address}}\n{{city}} {{zip}}\n{{country}}",
654
+                'NO'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
655
+                'PL'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
656
+                'PT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
657
+                'SK'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
658
+                'RS'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
659
+                'SI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
660
+                'ES'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{state}}\n{{country}}",
661
+                'SE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
662
+                'TR'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}} {{state}}\n{{country}}",
663
+                'UG'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}, {{country}}",
664
+                'US'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}, {{state_code}} {{zip}}\n{{country}}",
665
+                'VN'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{country}}",
666
+            )
667
+        );
668 668
 }
669 669
 
670 670
 /**
@@ -681,21 +681,21 @@  discard block
 block discarded – undo
681 681
     }
682 682
 
683 683
     // Get all formats.
684
-	$formats = wpinv_get_address_formats();
684
+    $formats = wpinv_get_address_formats();
685 685
 
686
-	// Get format for the specified country.
687
-	$format = ( $country && isset( $formats[ $country ] ) ) ? $formats[ $country ] : $formats['default'];
686
+    // Get format for the specified country.
687
+    $format = ( $country && isset( $formats[ $country ] ) ) ? $formats[ $country ] : $formats['default'];
688 688
     
689 689
     /**
690
-	 * Filters the address format to use on Invoices.
690
+     * Filters the address format to use on Invoices.
691 691
      * 
692 692
      * New lines will be replaced by a `br` element. Double new lines will be replaced by a paragraph. HTML tags are allowed.
693
-	 *
694
-	 * @since 1.0.13
695
-	 *
696
-	 * @param string $format  The address format to use.
693
+     *
694
+     * @since 1.0.13
695
+     *
696
+     * @param string $format  The address format to use.
697 697
      * @param string $country The country who's address format is being retrieved.
698
-	 */
698
+     */
699 699
     return apply_filters( 'wpinv_get_full_address_format', $format, $country );
700 700
 }
701 701
 
@@ -716,8 +716,8 @@  discard block
 block discarded – undo
716 716
         'country'           => '',
717 717
         'zip'               => '',
718 718
         'first_name'        => '',
719
-		'last_name'         => '',
720
-		'company'           => '',
719
+        'last_name'         => '',
720
+        'company'           => '',
721 721
     );
722 722
 
723 723
     $args    = map_deep( wp_parse_args( $billing_details, $default_args ), 'trim' );
@@ -738,14 +738,14 @@  discard block
 block discarded – undo
738 738
     $args['country_code']= $country;
739 739
 
740 740
     /**
741
-	 * Filters the address format replacements to use on Invoices.
741
+     * Filters the address format replacements to use on Invoices.
742 742
      * 
743
-	 *
744
-	 * @since 1.0.13
745
-	 *
746
-	 * @param array $replacements  The address replacements to use.
743
+     *
744
+     * @since 1.0.13
745
+     *
746
+     * @param array $replacements  The address replacements to use.
747 747
      * @param array $billing_details  The billing details to use.
748
-	 */
748
+     */
749 749
     $replacements = apply_filters( 'wpinv_get_invoice_address_replacements', $args, $billing_details );
750 750
 
751 751
     $return = array();
@@ -768,5 +768,5 @@  discard block
 block discarded – undo
768 768
  * @return string
769 769
  */
770 770
 function wpinv_trim_formatted_address_line( $line ) {
771
-	return trim( $line, ', ' );
771
+    return trim( $line, ', ' );
772 772
 }
773 773
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +139 added lines, -139 removed lines patch added patch discarded remove patch
@@ -7,15 +7,15 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 
15 15
 function wpinv_get_default_country() {
16
-	$country = wpinv_get_option( 'default_country', 'UK' );
16
+	$country = wpinv_get_option('default_country', 'UK');
17 17
 
18
-	return apply_filters( 'wpinv_default_country', $country );
18
+	return apply_filters('wpinv_default_country', $country);
19 19
 }
20 20
 
21 21
 /**
@@ -23,8 +23,8 @@  discard block
 block discarded – undo
23 23
  *
24 24
  * @return string
25 25
  */
26
-function getpaid_get_ip_country( $ip_address = '' ) {
27
-    $country = GetPaid_Geolocation::geolocate_ip( $ip_address, true );
26
+function getpaid_get_ip_country($ip_address = '') {
27
+    $country = GetPaid_Geolocation::geolocate_ip($ip_address, true);
28 28
     return $country['country'];
29 29
 }
30 30
 
@@ -34,59 +34,59 @@  discard block
 block discarded – undo
34 34
  * @param string $country The country code to sanitize
35 35
  * @return array
36 36
  */
37
-function wpinv_sanitize_country( $country ) {
37
+function wpinv_sanitize_country($country) {
38 38
 
39 39
 	// Enure the country is specified
40
-    if ( empty( $country ) ) {
40
+    if (empty($country)) {
41 41
         $country = wpinv_get_default_country();
42 42
     }
43
-    return trim( wpinv_utf8_strtoupper( $country ) );
43
+    return trim(wpinv_utf8_strtoupper($country));
44 44
 
45 45
 }
46 46
 
47
-function wpinv_is_base_country( $country ) {
47
+function wpinv_is_base_country($country) {
48 48
     $base_country = wpinv_get_default_country();
49 49
     
50
-    if ( $base_country === 'UK' ) {
50
+    if ($base_country === 'UK') {
51 51
         $base_country = 'GB';
52 52
     }
53
-    if ( $country == 'UK' ) {
53
+    if ($country == 'UK') {
54 54
         $country = 'GB';
55 55
     }
56 56
 
57
-    return ( $country && $country === $base_country ) ? true : false;
57
+    return ($country && $country === $base_country) ? true : false;
58 58
 }
59 59
 
60
-function wpinv_country_name( $country_code = '' ) { 
60
+function wpinv_country_name($country_code = '') { 
61 61
     $countries = wpinv_get_country_list();
62 62
     $country_code = $country_code == 'UK' ? 'GB' : $country_code;
63
-    $country = isset( $countries[$country_code] ) ? $countries[$country_code] : $country_code;
63
+    $country = isset($countries[$country_code]) ? $countries[$country_code] : $country_code;
64 64
 
65
-    return apply_filters( 'wpinv_country_name', $country, $country_code );
65
+    return apply_filters('wpinv_country_name', $country, $country_code);
66 66
 }
67 67
 
68 68
 function wpinv_get_default_state() {
69
-	$state = wpinv_get_option( 'default_state', '' );
69
+	$state = wpinv_get_option('default_state', '');
70 70
 
71
-	return apply_filters( 'wpinv_default_state', $state );
71
+	return apply_filters('wpinv_default_state', $state);
72 72
 }
73 73
 
74
-function wpinv_state_name( $state_code = '', $country_code = '' ) {
74
+function wpinv_state_name($state_code = '', $country_code = '') {
75 75
     $state = $state_code;
76 76
     
77
-    if ( !empty( $country_code ) ) {
78
-        $states = wpinv_get_country_states( $country_code );
77
+    if (!empty($country_code)) {
78
+        $states = wpinv_get_country_states($country_code);
79 79
         
80
-        $state = !empty( $states ) && isset( $states[$state_code] ) ? $states[$state_code] : $state;
80
+        $state = !empty($states) && isset($states[$state_code]) ? $states[$state_code] : $state;
81 81
     }
82 82
 
83
-    return apply_filters( 'wpinv_state_name', $state, $state_code, $country_code );
83
+    return apply_filters('wpinv_state_name', $state, $state_code, $country_code);
84 84
 }
85 85
 
86 86
 function wpinv_store_address() {
87
-    $address = wpinv_get_option( 'store_address', '' );
87
+    $address = wpinv_get_option('store_address', '');
88 88
 
89
-    return apply_filters( 'wpinv_store_address', $address );
89
+    return apply_filters('wpinv_store_address', $address);
90 90
 }
91 91
 
92 92
 /**
@@ -94,24 +94,24 @@  discard block
 block discarded – undo
94 94
  *
95 95
  * @param WPInv_Invoice $invoice
96 96
  */
97
-function getpaid_maybe_add_default_address( &$invoice ) {
97
+function getpaid_maybe_add_default_address(&$invoice) {
98 98
 
99 99
     $user_id = $invoice->get_user_id();
100 100
 
101 101
     // Abort if the invoice belongs to no one.
102
-    if ( empty( $user_id ) ) {
102
+    if (empty($user_id)) {
103 103
         return;
104 104
     }
105 105
 
106 106
     // Fill in defaults whenever necessary.
107
-    foreach ( wpinv_get_user_address( $user_id ) as $key => $value ) {
107
+    foreach (wpinv_get_user_address($user_id) as $key => $value) {
108 108
 
109
-        if ( is_callable( $invoice, "get_$key" ) ) {
110
-            $current = call_user_func( array( $invoice, "get_$key" ) );
109
+        if (is_callable($invoice, "get_$key")) {
110
+            $current = call_user_func(array($invoice, "get_$key"));
111 111
 
112
-            if ( empty( $current ) ) {
112
+            if (empty($current)) {
113 113
                 $method = "set_$key";
114
-                $invoice->$method( $value );
114
+                $invoice->$method($value);
115 115
             }
116 116
 
117 117
         }
@@ -130,16 +130,16 @@  discard block
 block discarded – undo
130 130
     return apply_filters(
131 131
         'getpaid_user_address_fields',
132 132
         array(
133
-            'first_name' => __( 'First Name', 'invoicing' ),
134
-            'last_name'  => __( 'Last Name', 'invoicing' ),
135
-            'country'    => __( 'Country', 'invoicing' ),
136
-            'state'      => __( 'State', 'invoicing' ),
137
-            'city'       => __( 'City', 'invoicing' ),
138
-            'zip'        => __( 'Zip/Postal Code', 'invoicing' ),
139
-            'address'    => __( 'Address', 'invoicing' ),
140
-            'phone'      => __( 'Phone Number', 'invoicing' ),
141
-            'company'    => __( 'Company', 'invoicing' ),
142
-            'vat_number' => __( 'VAT Number', 'invoicing' ),
133
+            'first_name' => __('First Name', 'invoicing'),
134
+            'last_name'  => __('Last Name', 'invoicing'),
135
+            'country'    => __('Country', 'invoicing'),
136
+            'state'      => __('State', 'invoicing'),
137
+            'city'       => __('City', 'invoicing'),
138
+            'zip'        => __('Zip/Postal Code', 'invoicing'),
139
+            'address'    => __('Address', 'invoicing'),
140
+            'phone'      => __('Phone Number', 'invoicing'),
141
+            'company'    => __('Company', 'invoicing'),
142
+            'vat_number' => __('VAT Number', 'invoicing'),
143 143
         )
144 144
     );
145 145
 
@@ -150,8 +150,8 @@  discard block
 block discarded – undo
150 150
  * 
151 151
  * @return bool
152 152
  */
153
-function getpaid_is_address_field_whitelisted( $key ) {
154
-    return array_key_exists( $key, getpaid_user_address_fields() );
153
+function getpaid_is_address_field_whitelisted($key) {
154
+    return array_key_exists($key, getpaid_user_address_fields());
155 155
 }
156 156
 
157 157
 /**
@@ -161,24 +161,24 @@  discard block
 block discarded – undo
161 161
  *
162 162
  * @param WPInv_Invoice $invoice
163 163
  */
164
-function getpaid_save_invoice_user_address( $invoice ) {
164
+function getpaid_save_invoice_user_address($invoice) {
165 165
 
166 166
     // Retrieve the invoice.
167
-    $invoice = wpinv_get_invoice( $invoice );
167
+    $invoice = wpinv_get_invoice($invoice);
168 168
 
169 169
     // Abort if it does not exist.
170
-    if ( empty( $invoice ) ) {
170
+    if (empty($invoice)) {
171 171
         return;
172 172
     }
173 173
 
174
-    foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
174
+    foreach (array_keys(getpaid_user_address_fields()) as $field) {
175 175
 
176
-        if ( is_callable( array( $invoice, "get_$field" ) ) ) {
177
-            $value = call_user_func( array( $invoice, "get_$field" ) );
176
+        if (is_callable(array($invoice, "get_$field"))) {
177
+            $value = call_user_func(array($invoice, "get_$field"));
178 178
 
179 179
             // Only save if it is not empty.
180
-            if ( ! empty( $value ) ) {
181
-                update_user_meta( $invoice->get_user_id(), '_wpinv_' . $field, $value );
180
+            if (!empty($value)) {
181
+                update_user_meta($invoice->get_user_id(), '_wpinv_' . $field, $value);
182 182
             }
183 183
 
184 184
         }
@@ -186,8 +186,8 @@  discard block
 block discarded – undo
186 186
     }
187 187
 
188 188
 }
189
-add_action( 'getpaid_new_invoice', 'getpaid_save_invoice_user_address' );
190
-add_action( 'getpaid_update_invoice', 'getpaid_save_invoice_user_address' );
189
+add_action('getpaid_new_invoice', 'getpaid_save_invoice_user_address');
190
+add_action('getpaid_update_invoice', 'getpaid_save_invoice_user_address');
191 191
 
192 192
 /**
193 193
  * Retrieves a saved user address.
@@ -196,14 +196,14 @@  discard block
 block discarded – undo
196 196
  * @param bool $with_default Whether or not we should use the default country and state.
197 197
  * @return array
198 198
  */
199
-function wpinv_get_user_address( $user_id = 0, $with_default = true ) {
199
+function wpinv_get_user_address($user_id = 0, $with_default = true) {
200 200
 
201 201
     // Prepare the user id.
202
-    $user_id   = empty( $user_id ) ? get_current_user_id() : $user_id;
203
-    $user_info = get_userdata( $user_id );
202
+    $user_id   = empty($user_id) ? get_current_user_id() : $user_id;
203
+    $user_info = get_userdata($user_id);
204 204
 
205 205
     // Abort if non exists.
206
-    if ( empty( $user_info ) ) {
206
+    if (empty($user_info)) {
207 207
         return array();
208 208
     }
209 209
 
@@ -213,11 +213,11 @@  discard block
 block discarded – undo
213 213
         'email'   => $user_info->user_email,
214 214
     );
215 215
 
216
-    foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
217
-        $address[$field] = getpaid_get_user_address_field( $user_id, $field );
216
+    foreach (array_keys(getpaid_user_address_fields()) as $field) {
217
+        $address[$field] = getpaid_get_user_address_field($user_id, $field);
218 218
     }
219 219
 
220
-    if ( ! $with_default ) {
220
+    if (!$with_default) {
221 221
         return $address;
222 222
     }
223 223
 
@@ -228,7 +228,7 @@  discard block
 block discarded – undo
228 228
         'state'      => wpinv_get_default_country(),
229 229
     );
230 230
 
231
-    return getpaid_array_merge_if_empty( $address, $defaults );
231
+    return getpaid_array_merge_if_empty($address, $defaults);
232 232
 
233 233
 }
234 234
 
@@ -239,7 +239,7 @@  discard block
 block discarded – undo
239 239
  * @param string $field The field to use.
240 240
  * @return string|null
241 241
  */
242
-function getpaid_get_user_address_field( $user_id, $field ) {
242
+function getpaid_get_user_address_field($user_id, $field) {
243 243
 
244 244
     $prefixes = array(
245 245
         '_wpinv_',
@@ -247,15 +247,15 @@  discard block
 block discarded – undo
247 247
         ''
248 248
     );
249 249
 
250
-    foreach ( $prefixes as $prefix ) {
250
+    foreach ($prefixes as $prefix) {
251 251
 
252 252
         // Meta table.
253
-        $value = get_user_meta( $user_id, $prefix . $field, true );
253
+        $value = get_user_meta($user_id, $prefix . $field, true);
254 254
         
255 255
         // UWP table.
256
-        $value = ( empty( $value ) && function_exists( 'uwp_get_usermeta' ) ) ? uwp_get_usermeta( $user_id, $prefix . $field ) : $value;
256
+        $value = (empty($value) && function_exists('uwp_get_usermeta')) ? uwp_get_usermeta($user_id, $prefix . $field) : $value;
257 257
 
258
-        if ( ! empty( $value ) ) {
258
+        if (!empty($value)) {
259 259
             return $value;
260 260
         }
261 261
 
@@ -272,16 +272,16 @@  discard block
 block discarded – undo
272 272
  * @param string $return What to return.
273 273
  * @return array
274 274
  */
275
-function wpinv_get_continents( $return = 'all' ) {
275
+function wpinv_get_continents($return = 'all') {
276 276
 
277
-    $continents = wpinv_get_data( 'continents' );
277
+    $continents = wpinv_get_data('continents');
278 278
 
279
-    switch( $return ) {
279
+    switch ($return) {
280 280
         case 'name' :
281
-            return wp_list_pluck( $continents, 'name' );
281
+            return wp_list_pluck($continents, 'name');
282 282
             break;
283 283
         case 'countries' :
284
-            return wp_list_pluck( $continents, 'countries' );
284
+            return wp_list_pluck($continents, 'countries');
285 285
             break;
286 286
         default :
287 287
             return $continents;
@@ -297,12 +297,12 @@  discard block
 block discarded – undo
297 297
  * @param string $country Country code. If no code is specified, defaults to the default country.
298 298
  * @return string
299 299
  */
300
-function wpinv_get_continent_code_for_country( $country = false ) {
300
+function wpinv_get_continent_code_for_country($country = false) {
301 301
 
302
-    $country = wpinv_sanitize_country( $country );
302
+    $country = wpinv_sanitize_country($country);
303 303
     
304
-	foreach ( wpinv_get_continents( 'countries' ) as $continent_code => $countries ) {
305
-		if ( false !== array_search( $country, $countries, true ) ) {
304
+	foreach (wpinv_get_continents('countries') as $continent_code => $countries) {
305
+		if (false !== array_search($country, $countries, true)) {
306 306
 			return $continent_code;
307 307
 		}
308 308
 	}
@@ -318,13 +318,13 @@  discard block
 block discarded – undo
318 318
  * @param string $country Country code. If no code is specified, defaults to the default country.
319 319
  * @return array
320 320
  */
321
-function wpinv_get_country_calling_code( $country = null) {
321
+function wpinv_get_country_calling_code($country = null) {
322 322
 
323
-    $country = wpinv_sanitize_country( $country );
324
-    $codes   = wpinv_get_data( 'phone-codes' );
325
-    $code    = isset( $codes[ $country ] ) ? $codes[ $country ] : '';
323
+    $country = wpinv_sanitize_country($country);
324
+    $codes   = wpinv_get_data('phone-codes');
325
+    $code    = isset($codes[$country]) ? $codes[$country] : '';
326 326
 
327
-    if ( is_array( $code ) ) {
327
+    if (is_array($code)) {
328 328
         return $code[0];
329 329
     }
330 330
     return $code;
@@ -337,8 +337,8 @@  discard block
 block discarded – undo
337 337
  * @param bool $first_empty Whether or not the first item in the list should be empty
338 338
  * @return array
339 339
  */
340
-function wpinv_get_country_list( $first_empty = false ) {
341
-    return wpinv_maybe_add_empty_option( apply_filters( 'wpinv_countries', wpinv_get_data( 'countries' ) ), $first_empty );
340
+function wpinv_get_country_list($first_empty = false) {
341
+    return wpinv_maybe_add_empty_option(apply_filters('wpinv_countries', wpinv_get_data('countries')), $first_empty);
342 342
 }
343 343
 
344 344
 /**
@@ -348,22 +348,22 @@  discard block
 block discarded – undo
348 348
  * @param bool $first_empty Whether or not the first item in the list should be empty
349 349
  * @return array
350 350
  */
351
-function wpinv_get_country_states( $country = null, $first_empty = false ) {
351
+function wpinv_get_country_states($country = null, $first_empty = false) {
352 352
     
353 353
     // Prepare the country.
354
-    $country = wpinv_sanitize_country( $country );
354
+    $country = wpinv_sanitize_country($country);
355 355
 
356 356
     // Fetch all states.
357
-    $all_states = wpinv_get_data( 'states' );
357
+    $all_states = wpinv_get_data('states');
358 358
 
359 359
     // Fetch the specified country's states.
360
-    $states     = isset( $all_states[ $country ] ) ? $all_states[ $country ] : array() ;
361
-    $states     = apply_filters( "wpinv_{$country}_states", $states );
362
-    $states     = apply_filters( 'wpinv_country_states', $states, $country );
360
+    $states     = isset($all_states[$country]) ? $all_states[$country] : array();
361
+    $states     = apply_filters("wpinv_{$country}_states", $states);
362
+    $states     = apply_filters('wpinv_country_states', $states, $country);
363 363
 
364
-    asort( $states );
364
+    asort($states);
365 365
      
366
-    return wpinv_maybe_add_empty_option( $states, $first_empty );
366
+    return wpinv_maybe_add_empty_option($states, $first_empty);
367 367
 }
368 368
 
369 369
 /**
@@ -373,7 +373,7 @@  discard block
 block discarded – undo
373 373
  * @return array
374 374
  */
375 375
 function wpinv_get_us_states_list() {
376
-    return apply_filters( 'wpinv_usa_states', wpinv_get_country_states( 'US' ) );
376
+    return apply_filters('wpinv_usa_states', wpinv_get_country_states('US'));
377 377
 }
378 378
 
379 379
 /**
@@ -383,7 +383,7 @@  discard block
 block discarded – undo
383 383
  * @return array
384 384
  */
385 385
 function wpinv_get_canada_states_list() {
386
-    return apply_filters( 'wpinv_canada_provinces', wpinv_get_country_states( 'CA' ) );
386
+    return apply_filters('wpinv_canada_provinces', wpinv_get_country_states('CA'));
387 387
 }
388 388
 
389 389
 /**
@@ -393,7 +393,7 @@  discard block
 block discarded – undo
393 393
  * @return array
394 394
  */
395 395
 function wpinv_get_australia_states_list() {
396
-    return apply_filters( 'wpinv_australia_states', wpinv_get_country_states( 'AU' ) );
396
+    return apply_filters('wpinv_australia_states', wpinv_get_country_states('AU'));
397 397
 }
398 398
 
399 399
 /**
@@ -403,7 +403,7 @@  discard block
 block discarded – undo
403 403
  * @return array
404 404
  */
405 405
 function wpinv_get_bangladesh_states_list() {
406
-    return apply_filters( 'wpinv_bangladesh_states', wpinv_get_country_states( 'BD' ) );
406
+    return apply_filters('wpinv_bangladesh_states', wpinv_get_country_states('BD'));
407 407
 }
408 408
 
409 409
 /**
@@ -413,7 +413,7 @@  discard block
 block discarded – undo
413 413
  * @return array
414 414
  */
415 415
 function wpinv_get_brazil_states_list() {
416
-    return apply_filters( 'wpinv_brazil_states', wpinv_get_country_states( 'BR' ) );
416
+    return apply_filters('wpinv_brazil_states', wpinv_get_country_states('BR'));
417 417
 }
418 418
 
419 419
 /**
@@ -423,7 +423,7 @@  discard block
 block discarded – undo
423 423
  * @return array
424 424
  */
425 425
 function wpinv_get_bulgaria_states_list() {
426
-    return apply_filters( 'wpinv_bulgaria_states', wpinv_get_country_states( 'BG' ) );
426
+    return apply_filters('wpinv_bulgaria_states', wpinv_get_country_states('BG'));
427 427
 }
428 428
 
429 429
 /**
@@ -433,7 +433,7 @@  discard block
 block discarded – undo
433 433
  * @return array
434 434
  */
435 435
 function wpinv_get_hong_kong_states_list() {
436
-    return apply_filters( 'wpinv_hong_kong_states', wpinv_get_country_states( 'HK' ) );
436
+    return apply_filters('wpinv_hong_kong_states', wpinv_get_country_states('HK'));
437 437
 }
438 438
 
439 439
 /**
@@ -443,7 +443,7 @@  discard block
 block discarded – undo
443 443
  * @return array
444 444
  */
445 445
 function wpinv_get_hungary_states_list() {
446
-    return apply_filters( 'wpinv_hungary_states', wpinv_get_country_states( 'HU' ) );
446
+    return apply_filters('wpinv_hungary_states', wpinv_get_country_states('HU'));
447 447
 }
448 448
 
449 449
 /**
@@ -453,7 +453,7 @@  discard block
 block discarded – undo
453 453
  * @return array
454 454
  */
455 455
 function wpinv_get_japan_states_list() {
456
-    return apply_filters( 'wpinv_japan_states', wpinv_get_country_states( 'JP' ) );
456
+    return apply_filters('wpinv_japan_states', wpinv_get_country_states('JP'));
457 457
 }
458 458
 
459 459
 /**
@@ -463,7 +463,7 @@  discard block
 block discarded – undo
463 463
  * @return array
464 464
  */
465 465
 function wpinv_get_china_states_list() {
466
-    return apply_filters( 'wpinv_china_states', wpinv_get_country_states( 'CN' ) );
466
+    return apply_filters('wpinv_china_states', wpinv_get_country_states('CN'));
467 467
 }
468 468
 
469 469
 /**
@@ -473,7 +473,7 @@  discard block
 block discarded – undo
473 473
  * @return array
474 474
  */
475 475
 function wpinv_get_new_zealand_states_list() {
476
-    return apply_filters( 'wpinv_new_zealand_states', wpinv_get_country_states( 'NZ' ) );
476
+    return apply_filters('wpinv_new_zealand_states', wpinv_get_country_states('NZ'));
477 477
 }
478 478
 
479 479
 /**
@@ -483,7 +483,7 @@  discard block
 block discarded – undo
483 483
  * @return array
484 484
  */
485 485
 function wpinv_get_peru_states_list() {
486
-    return apply_filters( 'wpinv_peru_states', wpinv_get_country_states( 'PE' ) );
486
+    return apply_filters('wpinv_peru_states', wpinv_get_country_states('PE'));
487 487
 }
488 488
 
489 489
 /**
@@ -493,7 +493,7 @@  discard block
 block discarded – undo
493 493
  * @return array
494 494
  */
495 495
 function wpinv_get_indonesia_states_list() {
496
-    return apply_filters( 'wpinv_indonesia_states', wpinv_get_country_states( 'ID' ) );
496
+    return apply_filters('wpinv_indonesia_states', wpinv_get_country_states('ID'));
497 497
 }
498 498
 
499 499
 /**
@@ -503,7 +503,7 @@  discard block
 block discarded – undo
503 503
  * @return array
504 504
  */
505 505
 function wpinv_get_india_states_list() {
506
-    return apply_filters( 'wpinv_india_states', wpinv_get_country_states( 'IN' ) );
506
+    return apply_filters('wpinv_india_states', wpinv_get_country_states('IN'));
507 507
 }
508 508
 
509 509
 /**
@@ -513,7 +513,7 @@  discard block
 block discarded – undo
513 513
  * @return array
514 514
  */
515 515
 function wpinv_get_iran_states_list() {
516
-    return apply_filters( 'wpinv_iran_states', wpinv_get_country_states( 'IR' ) );
516
+    return apply_filters('wpinv_iran_states', wpinv_get_country_states('IR'));
517 517
 }
518 518
 
519 519
 /**
@@ -523,7 +523,7 @@  discard block
 block discarded – undo
523 523
  * @return array
524 524
  */
525 525
 function wpinv_get_italy_states_list() {
526
-    return apply_filters( 'wpinv_italy_states', wpinv_get_country_states( 'IT' ) );
526
+    return apply_filters('wpinv_italy_states', wpinv_get_country_states('IT'));
527 527
 }
528 528
 
529 529
 /**
@@ -533,7 +533,7 @@  discard block
 block discarded – undo
533 533
  * @return array
534 534
  */
535 535
 function wpinv_get_malaysia_states_list() {
536
-    return apply_filters( 'wpinv_malaysia_states', wpinv_get_country_states( 'MY' ) );
536
+    return apply_filters('wpinv_malaysia_states', wpinv_get_country_states('MY'));
537 537
 }
538 538
 
539 539
 /**
@@ -543,7 +543,7 @@  discard block
 block discarded – undo
543 543
  * @return array
544 544
  */
545 545
 function wpinv_get_mexico_states_list() {
546
-    return apply_filters( 'wpinv_mexico_states', wpinv_get_country_states( 'MX' ) );
546
+    return apply_filters('wpinv_mexico_states', wpinv_get_country_states('MX'));
547 547
 }
548 548
 
549 549
 /**
@@ -553,7 +553,7 @@  discard block
 block discarded – undo
553 553
  * @return array
554 554
  */
555 555
 function wpinv_get_nepal_states_list() {
556
-    return apply_filters( 'wpinv_nepal_states', wpinv_get_country_states( 'NP' ) );
556
+    return apply_filters('wpinv_nepal_states', wpinv_get_country_states('NP'));
557 557
 }
558 558
 
559 559
 /**
@@ -563,7 +563,7 @@  discard block
 block discarded – undo
563 563
  * @return array
564 564
  */
565 565
 function wpinv_get_south_africa_states_list() {
566
-    return apply_filters( 'wpinv_south_africa_states', wpinv_get_country_states( 'ZA' ) );
566
+    return apply_filters('wpinv_south_africa_states', wpinv_get_country_states('ZA'));
567 567
 }
568 568
 
569 569
 /**
@@ -573,7 +573,7 @@  discard block
 block discarded – undo
573 573
  * @return array
574 574
  */
575 575
 function wpinv_get_thailand_states_list() {
576
-    return apply_filters( 'wpinv_thailand_states', wpinv_get_country_states( 'TH' ) );
576
+    return apply_filters('wpinv_thailand_states', wpinv_get_country_states('TH'));
577 577
 }
578 578
 
579 579
 /**
@@ -583,7 +583,7 @@  discard block
 block discarded – undo
583 583
  * @return array
584 584
  */
585 585
 function wpinv_get_turkey_states_list() {
586
-    return apply_filters( 'wpinv_turkey_states', wpinv_get_country_states( 'TR' ) );
586
+    return apply_filters('wpinv_turkey_states', wpinv_get_country_states('TR'));
587 587
 }
588 588
 
589 589
 /**
@@ -593,28 +593,28 @@  discard block
 block discarded – undo
593 593
  * @return array
594 594
  */
595 595
 function wpinv_get_spain_states_list() {
596
-    return apply_filters( 'wpinv_spain_states', wpinv_get_country_states( 'ES' ) );
596
+    return apply_filters('wpinv_spain_states', wpinv_get_country_states('ES'));
597 597
 }
598 598
 
599 599
 function wpinv_get_states_field() {
600
-	if( empty( $_POST['country'] ) ) {
600
+	if (empty($_POST['country'])) {
601 601
 		$_POST['country'] = wpinv_get_default_country();
602 602
 	}
603
-	$states = wpinv_get_country_states( sanitize_text_field( $_POST['country'] ) );
603
+	$states = wpinv_get_country_states(sanitize_text_field($_POST['country']));
604 604
 
605
-	if( !empty( $states ) ) {
606
-		$sanitized_field_name = sanitize_text_field( $_POST['field_name'] );
605
+	if (!empty($states)) {
606
+		$sanitized_field_name = sanitize_text_field($_POST['field_name']);
607 607
         
608 608
         $args = array(
609 609
 			'name'    => $sanitized_field_name,
610 610
 			'id'      => $sanitized_field_name,
611 611
 			'class'   => $sanitized_field_name . 'custom-select wpinv-select wpi_select2',
612
-			'options' => array_merge( array( '' => '' ), $states ),
612
+			'options' => array_merge(array('' => ''), $states),
613 613
 			'show_option_all'  => false,
614 614
 			'show_option_none' => false
615 615
 		);
616 616
 
617
-		$response = wpinv_html_select( $args );
617
+		$response = wpinv_html_select($args);
618 618
 
619 619
 	} else {
620 620
 		$response = 'nostates';
@@ -623,10 +623,10 @@  discard block
 block discarded – undo
623 623
 	return $response;
624 624
 }
625 625
 
626
-function wpinv_default_billing_country( $country = '', $user_id = 0 ) {
627
-    $country = !empty( $country ) ? $country : wpinv_get_default_country();
626
+function wpinv_default_billing_country($country = '', $user_id = 0) {
627
+    $country = !empty($country) ? $country : wpinv_get_default_country();
628 628
     
629
-    return apply_filters( 'wpinv_default_billing_country', $country, $user_id );
629
+    return apply_filters('wpinv_default_billing_country', $country, $user_id);
630 630
 }
631 631
 
632 632
 /**
@@ -638,7 +638,7 @@  discard block
 block discarded – undo
638 638
  */
639 639
 function wpinv_get_address_formats() {
640 640
 
641
-		return apply_filters( 'wpinv_localisation_address_formats',
641
+		return apply_filters('wpinv_localisation_address_formats',
642 642
 			array(
643 643
 				'default' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}\n{{zip}}\n{{country}}",
644 644
 				'AU'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}} {{zip}}\n{{country}}",
@@ -687,9 +687,9 @@  discard block
 block discarded – undo
687 687
  * @see `wpinv_get_invoice_address_replacements`
688 688
  * @return string
689 689
  */
690
-function wpinv_get_full_address_format( $country = false) {
690
+function wpinv_get_full_address_format($country = false) {
691 691
 
692
-    if( empty( $country ) ) {
692
+    if (empty($country)) {
693 693
         $country = wpinv_get_default_country();
694 694
     }
695 695
 
@@ -697,7 +697,7 @@  discard block
 block discarded – undo
697 697
 	$formats = wpinv_get_address_formats();
698 698
 
699 699
 	// Get format for the specified country.
700
-	$format = ( $country && isset( $formats[ $country ] ) ) ? $formats[ $country ] : $formats['default'];
700
+	$format = ($country && isset($formats[$country])) ? $formats[$country] : $formats['default'];
701 701
     
702 702
     /**
703 703
 	 * Filters the address format to use on Invoices.
@@ -709,7 +709,7 @@  discard block
 block discarded – undo
709 709
 	 * @param string $format  The address format to use.
710 710
      * @param string $country The country who's address format is being retrieved.
711 711
 	 */
712
-    return apply_filters( 'wpinv_get_full_address_format', $format, $country );
712
+    return apply_filters('wpinv_get_full_address_format', $format, $country);
713 713
 }
714 714
 
715 715
 /**
@@ -720,7 +720,7 @@  discard block
 block discarded – undo
720 720
  * @param array $billing_details customer's billing details
721 721
  * @return array
722 722
  */
723
-function wpinv_get_invoice_address_replacements( $billing_details ) {
723
+function wpinv_get_invoice_address_replacements($billing_details) {
724 724
 
725 725
     $default_args = array(
726 726
         'address'           => '',
@@ -733,22 +733,22 @@  discard block
 block discarded – undo
733 733
 		'company'           => '',
734 734
     );
735 735
 
736
-    $args    = map_deep( wp_parse_args( $billing_details, $default_args ), 'trim' );
736
+    $args    = map_deep(wp_parse_args($billing_details, $default_args), 'trim');
737 737
     $state   = $args['state'];
738 738
     $country = $args['country'];
739 739
 
740 740
     // Handle full country name.
741
-    $full_country = empty( $country ) ? $country : wpinv_country_name( $country );
741
+    $full_country = empty($country) ? $country : wpinv_country_name($country);
742 742
 
743 743
     // Handle full state name.
744
-    $full_state   = ( $country && $state ) ?  wpinv_state_name( $state, $country ) : $state;
744
+    $full_state   = ($country && $state) ?  wpinv_state_name($state, $country) : $state;
745 745
 
746 746
     $args['postcode']    = $args['zip'];
747 747
     $args['name']        = $args['first_name'] . ' ' . $args['last_name'];
748 748
     $args['state']       = $full_state;
749 749
     $args['state_code']  = $state;
750 750
     $args['country']     = $full_country;
751
-    $args['country_code']= $country;
751
+    $args['country_code'] = $country;
752 752
 
753 753
     /**
754 754
 	 * Filters the address format replacements to use on Invoices.
@@ -759,14 +759,14 @@  discard block
 block discarded – undo
759 759
 	 * @param array $replacements  The address replacements to use.
760 760
      * @param array $billing_details  The billing details to use.
761 761
 	 */
762
-    $replacements = apply_filters( 'wpinv_get_invoice_address_replacements', $args, $billing_details );
762
+    $replacements = apply_filters('wpinv_get_invoice_address_replacements', $args, $billing_details);
763 763
 
764 764
     $return = array();
765 765
 
766
-    foreach( $replacements as $key => $value ) {
767
-        $value  = is_scalar( $value ) ? trim( sanitize_text_field( $value ) ) : '';
766
+    foreach ($replacements as $key => $value) {
767
+        $value = is_scalar($value) ? trim(sanitize_text_field($value)) : '';
768 768
         $return['{{' . $key . '}}'] = $value;
769
-        $return['{{' . $key . '_upper}}'] = wpinv_utf8_strtoupper( $value );
769
+        $return['{{' . $key . '_upper}}'] = wpinv_utf8_strtoupper($value);
770 770
     }
771 771
 
772 772
     return $return;
@@ -780,6 +780,6 @@  discard block
 block discarded – undo
780 780
  * @since 1.0.14
781 781
  * @return string
782 782
  */
783
-function wpinv_trim_formatted_address_line( $line ) {
784
-	return trim( $line, ', ' );
783
+function wpinv_trim_formatted_address_line($line) {
784
+	return trim($line, ', ');
785 785
 }
786 786
\ No newline at end of file
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-data.php 2 patches
Indentation   +860 added lines, -860 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
  */
10 10
 
11 11
 if ( ! defined( 'ABSPATH' ) ) {
12
-	exit;
12
+    exit;
13 13
 }
14 14
 
15 15
 /**
@@ -21,356 +21,356 @@  discard block
 block discarded – undo
21 21
  */
22 22
 abstract class GetPaid_Data {
23 23
 
24
-	/**
25
-	 * ID for this object.
26
-	 *
27
-	 * @since 1.0.19
28
-	 * @var int
29
-	 */
30
-	protected $id = 0;
31
-
32
-	/**
33
-	 * Core data for this object. Name value pairs (name + default value).
34
-	 *
35
-	 * @since 1.0.19
36
-	 * @var array
37
-	 */
38
-	protected $data = array();
39
-
40
-	/**
41
-	 * Core data changes for this object.
42
-	 *
43
-	 * @since 1.0.19
44
-	 * @var array
45
-	 */
46
-	protected $changes = array();
47
-
48
-	/**
49
-	 * This is false until the object is read from the DB.
50
-	 *
51
-	 * @since 1.0.19
52
-	 * @var bool
53
-	 */
54
-	protected $object_read = false;
55
-
56
-	/**
57
-	 * This is the name of this object type.
58
-	 *
59
-	 * @since 1.0.19
60
-	 * @var string
61
-	 */
62
-	protected $object_type = 'data';
63
-
64
-	/**
65
-	 * Extra data for this object. Name value pairs (name + default value).
66
-	 * Used as a standard way for sub classes (like item types) to add
67
-	 * additional information to an inherited class.
68
-	 *
69
-	 * @since 1.0.19
70
-	 * @var array
71
-	 */
72
-	protected $extra_data = array();
73
-
74
-	/**
75
-	 * Set to _data on construct so we can track and reset data if needed.
76
-	 *
77
-	 * @since 1.0.19
78
-	 * @var array
79
-	 */
80
-	protected $default_data = array();
81
-
82
-	/**
83
-	 * Contains a reference to the data store for this class.
84
-	 *
85
-	 * @since 1.0.19
86
-	 * @var GetPaid_Data_Store
87
-	 */
88
-	protected $data_store;
89
-
90
-	/**
91
-	 * Stores meta in cache for future reads.
92
-	 * A group must be set to to enable caching.
93
-	 *
94
-	 * @since 1.0.19
95
-	 * @var string
96
-	 */
97
-	protected $cache_group = '';
98
-
99
-	/**
100
-	 * Stores the last error.
101
-	 *
102
-	 * @since 1.0.19
103
-	 * @var string
104
-	 */
105
-	public $last_error = '';
106
-
107
-	/**
108
-	 * Stores additional meta data.
109
-	 *
110
-	 * @since 1.0.19
111
-	 * @var array
112
-	 */
113
-	protected $meta_data = null;
114
-
115
-	/**
116
-	 * Default constructor.
117
-	 *
118
-	 * @param int|object|array|string $read ID to load from the DB (optional) or already queried data.
119
-	 */
120
-	public function __construct( $read = 0 ) {
121
-		$this->data         = array_merge( $this->data, $this->extra_data );
122
-		$this->default_data = $this->data;
123
-	}
124
-
125
-	/**
126
-	 * Only store the object ID to avoid serializing the data object instance.
127
-	 *
128
-	 * @return array
129
-	 */
130
-	public function __sleep() {
131
-		return array( 'id' );
132
-	}
133
-
134
-	/**
135
-	 * Re-run the constructor with the object ID.
136
-	 *
137
-	 * If the object no longer exists, remove the ID.
138
-	 */
139
-	public function __wakeup() {
140
-		$this->__construct( absint( $this->id ) );
141
-
142
-		if ( ! empty( $this->last_error ) ) {
143
-			$this->set_id( 0 );
144
-		}
145
-
146
-	}
147
-
148
-	/**
149
-	 * When the object is cloned, make sure meta is duplicated correctly.
150
-	 *
151
-	 * @since 1.0.19
152
-	 */
153
-	public function __clone() {
154
-		$this->maybe_read_meta_data();
155
-		if ( ! empty( $this->meta_data ) ) {
156
-			foreach ( $this->meta_data as $array_key => $meta ) {
157
-				$this->meta_data[ $array_key ] = clone $meta;
158
-				if ( ! empty( $meta->id ) ) {
159
-					$this->meta_data[ $array_key ]->id = null;
160
-				}
161
-			}
162
-		}
163
-	}
164
-
165
-	/**
166
-	 * Get the data store.
167
-	 *
168
-	 * @since  1.0.19
169
-	 * @return object
170
-	 */
171
-	public function get_data_store() {
172
-		return $this->data_store;
173
-	}
174
-
175
-	/**
176
-	 * Get the object type.
177
-	 *
178
-	 * @since  1.0.19
179
-	 * @return string
180
-	 */
181
-	public function get_object_type() {
182
-		return $this->object_type;
183
-	}
184
-
185
-	/**
186
-	 * Returns the unique ID for this object.
187
-	 *
188
-	 * @since  1.0.19
189
-	 * @return int
190
-	 */
191
-	public function get_id() {
192
-		return $this->id;
193
-	}
194
-
195
-	/**
196
-	 * Get form status.
197
-	 *
198
-	 * @since 1.0.19
199
-	 * @param  string $context View or edit context.
200
-	 * @return string
201
-	 */
202
-	public function get_status( $context = 'view' ) {
203
-		return $this->get_prop( 'status', $context );
204
-    }
205
-
206
-	/**
207
-	 * Delete an object, set the ID to 0, and return result.
208
-	 *
209
-	 * @since  1.0.19
210
-	 * @param  bool $force_delete Should the data be deleted permanently.
211
-	 * @return bool result
212
-	 */
213
-	public function delete( $force_delete = false ) {
214
-		if ( $this->data_store && $this->get_id() ) {
215
-			$this->data_store->delete( $this, array( 'force_delete' => $force_delete ) );
216
-			$this->set_id( 0 );
217
-			return true;
218
-		}
219
-		return false;
220
-	}
221
-
222
-	/**
223
-	 * Save should create or update based on object existence.
224
-	 *
225
-	 * @since  1.0.19
226
-	 * @return int
227
-	 */
228
-	public function save() {
229
-		if ( ! $this->data_store ) {
230
-			return $this->get_id();
231
-		}
232
-
233
-		/**
234
-		 * Trigger action before saving to the DB. Allows you to adjust object props before save.
235
-		 *
236
-		 * @param GetPaid_Data          $this The object being saved.
237
-		 * @param GetPaid_Data_Store_WP $data_store The data store persisting the data.
238
-		 */
239
-		do_action( 'getpaid_before_' . $this->object_type . '_object_save', $this, $this->data_store );
240
-
241
-		if ( $this->get_id() ) {
242
-			$this->data_store->update( $this );
243
-		} else {
244
-			$this->data_store->create( $this );
245
-		}
246
-
247
-		/**
248
-		 * Trigger action after saving to the DB.
249
-		 *
250
-		 * @param GetPaid_Data          $this The object being saved.
251
-		 * @param GetPaid_Data_Store_WP $data_store The data store persisting the data.
252
-		 */
253
-		do_action( 'getpaid_after_' . $this->object_type . '_object_save', $this, $this->data_store );
254
-
255
-		return $this->get_id();
256
-	}
257
-
258
-	/**
259
-	 * Change data to JSON format.
260
-	 *
261
-	 * @since  1.0.19
262
-	 * @return string Data in JSON format.
263
-	 */
264
-	public function __toString() {
265
-		return wp_json_encode( $this->get_data() );
266
-	}
267
-
268
-	/**
269
-	 * Returns all data for this object.
270
-	 *
271
-	 * @since  1.0.19
272
-	 * @return array
273
-	 */
274
-	public function get_data() {
275
-		return array_merge( array( 'id' => $this->get_id() ), $this->data, array( 'meta_data' => $this->get_meta_data() ) );
276
-	}
277
-
278
-	/**
279
-	 * Returns array of expected data keys for this object.
280
-	 *
281
-	 * @since   1.0.19
282
-	 * @return array
283
-	 */
284
-	public function get_data_keys() {
285
-		return array_keys( $this->data );
286
-	}
287
-
288
-	/**
289
-	 * Returns all "extra" data keys for an object (for sub objects like item types).
290
-	 *
291
-	 * @since  1.0.19
292
-	 * @return array
293
-	 */
294
-	public function get_extra_data_keys() {
295
-		return array_keys( $this->extra_data );
296
-	}
297
-
298
-	/**
299
-	 * Filter null meta values from array.
300
-	 *
301
-	 * @since  1.0.19
302
-	 * @param mixed $meta Meta value to check.
303
-	 * @return bool
304
-	 */
305
-	protected function filter_null_meta( $meta ) {
306
-		return ! is_null( $meta->value );
307
-	}
308
-
309
-	/**
310
-	 * Get All Meta Data.
311
-	 *
312
-	 * @since 1.0.19
313
-	 * @return array of objects.
314
-	 */
315
-	public function get_meta_data() {
316
-		$this->maybe_read_meta_data();
317
-		return array_values( array_filter( $this->meta_data, array( $this, 'filter_null_meta' ) ) );
318
-	}
319
-
320
-	/**
321
-	 * Check if the key is an internal one.
322
-	 *
323
-	 * @since  1.0.19
324
-	 * @param  string $key Key to check.
325
-	 * @return bool   true if it's an internal key, false otherwise
326
-	 */
327
-	protected function is_internal_meta_key( $key ) {
328
-		$internal_meta_key = ! empty( $key ) && $this->data_store && in_array( $key, $this->data_store->get_internal_meta_keys(), true );
329
-
330
-		if ( ! $internal_meta_key ) {
331
-			return false;
332
-		}
333
-
334
-		$has_setter_or_getter = is_callable( array( $this, 'set_' . $key ) ) || is_callable( array( $this, 'get_' . $key ) );
335
-
336
-		if ( ! $has_setter_or_getter ) {
337
-			return false;
338
-		}
339
-
340
-		/* translators: %s: $key Key to check */
341
-		getpaid_doing_it_wrong( __FUNCTION__, sprintf( __( 'Generic add/update/get meta methods should not be used for internal meta data, including "%s". Use getters and setters.', 'getpaid' ), $key ), '1.0.19' );
342
-
343
-		return true;
344
-	}
345
-
346
-	/**
347
-	 * Magic method for setting data fields.
348
-	 *
349
-	 * This method does not update custom fields in the database.
350
-	 *
351
-	 * @since 1.0.19
352
-	 * @access public
353
-	 *
354
-	 */
355
-	public function __set( $key, $value ) {
356
-
357
-		if ( 'id' == strtolower( $key ) ) {
358
-			return $this->set_id( $value );
359
-		}
360
-
361
-		if ( method_exists( $this, "set_$key") ) {
362
-
363
-			/* translators: %s: $key Key to set */
364
-			getpaid_doing_it_wrong( __FUNCTION__, sprintf( __( 'Object data such as "%s" should not be accessed directly. Use getters and setters.', 'getpaid' ), $key ), '1.0.19' );
365
-
366
-			call_user_func( array( $this, "set_$key" ), $value );
367
-		} else {
368
-			$this->set_prop( $key, $value );
369
-		}
370
-
371
-	}
372
-
373
-	/**
24
+    /**
25
+     * ID for this object.
26
+     *
27
+     * @since 1.0.19
28
+     * @var int
29
+     */
30
+    protected $id = 0;
31
+
32
+    /**
33
+     * Core data for this object. Name value pairs (name + default value).
34
+     *
35
+     * @since 1.0.19
36
+     * @var array
37
+     */
38
+    protected $data = array();
39
+
40
+    /**
41
+     * Core data changes for this object.
42
+     *
43
+     * @since 1.0.19
44
+     * @var array
45
+     */
46
+    protected $changes = array();
47
+
48
+    /**
49
+     * This is false until the object is read from the DB.
50
+     *
51
+     * @since 1.0.19
52
+     * @var bool
53
+     */
54
+    protected $object_read = false;
55
+
56
+    /**
57
+     * This is the name of this object type.
58
+     *
59
+     * @since 1.0.19
60
+     * @var string
61
+     */
62
+    protected $object_type = 'data';
63
+
64
+    /**
65
+     * Extra data for this object. Name value pairs (name + default value).
66
+     * Used as a standard way for sub classes (like item types) to add
67
+     * additional information to an inherited class.
68
+     *
69
+     * @since 1.0.19
70
+     * @var array
71
+     */
72
+    protected $extra_data = array();
73
+
74
+    /**
75
+     * Set to _data on construct so we can track and reset data if needed.
76
+     *
77
+     * @since 1.0.19
78
+     * @var array
79
+     */
80
+    protected $default_data = array();
81
+
82
+    /**
83
+     * Contains a reference to the data store for this class.
84
+     *
85
+     * @since 1.0.19
86
+     * @var GetPaid_Data_Store
87
+     */
88
+    protected $data_store;
89
+
90
+    /**
91
+     * Stores meta in cache for future reads.
92
+     * A group must be set to to enable caching.
93
+     *
94
+     * @since 1.0.19
95
+     * @var string
96
+     */
97
+    protected $cache_group = '';
98
+
99
+    /**
100
+     * Stores the last error.
101
+     *
102
+     * @since 1.0.19
103
+     * @var string
104
+     */
105
+    public $last_error = '';
106
+
107
+    /**
108
+     * Stores additional meta data.
109
+     *
110
+     * @since 1.0.19
111
+     * @var array
112
+     */
113
+    protected $meta_data = null;
114
+
115
+    /**
116
+     * Default constructor.
117
+     *
118
+     * @param int|object|array|string $read ID to load from the DB (optional) or already queried data.
119
+     */
120
+    public function __construct( $read = 0 ) {
121
+        $this->data         = array_merge( $this->data, $this->extra_data );
122
+        $this->default_data = $this->data;
123
+    }
124
+
125
+    /**
126
+     * Only store the object ID to avoid serializing the data object instance.
127
+     *
128
+     * @return array
129
+     */
130
+    public function __sleep() {
131
+        return array( 'id' );
132
+    }
133
+
134
+    /**
135
+     * Re-run the constructor with the object ID.
136
+     *
137
+     * If the object no longer exists, remove the ID.
138
+     */
139
+    public function __wakeup() {
140
+        $this->__construct( absint( $this->id ) );
141
+
142
+        if ( ! empty( $this->last_error ) ) {
143
+            $this->set_id( 0 );
144
+        }
145
+
146
+    }
147
+
148
+    /**
149
+     * When the object is cloned, make sure meta is duplicated correctly.
150
+     *
151
+     * @since 1.0.19
152
+     */
153
+    public function __clone() {
154
+        $this->maybe_read_meta_data();
155
+        if ( ! empty( $this->meta_data ) ) {
156
+            foreach ( $this->meta_data as $array_key => $meta ) {
157
+                $this->meta_data[ $array_key ] = clone $meta;
158
+                if ( ! empty( $meta->id ) ) {
159
+                    $this->meta_data[ $array_key ]->id = null;
160
+                }
161
+            }
162
+        }
163
+    }
164
+
165
+    /**
166
+     * Get the data store.
167
+     *
168
+     * @since  1.0.19
169
+     * @return object
170
+     */
171
+    public function get_data_store() {
172
+        return $this->data_store;
173
+    }
174
+
175
+    /**
176
+     * Get the object type.
177
+     *
178
+     * @since  1.0.19
179
+     * @return string
180
+     */
181
+    public function get_object_type() {
182
+        return $this->object_type;
183
+    }
184
+
185
+    /**
186
+     * Returns the unique ID for this object.
187
+     *
188
+     * @since  1.0.19
189
+     * @return int
190
+     */
191
+    public function get_id() {
192
+        return $this->id;
193
+    }
194
+
195
+    /**
196
+     * Get form status.
197
+     *
198
+     * @since 1.0.19
199
+     * @param  string $context View or edit context.
200
+     * @return string
201
+     */
202
+    public function get_status( $context = 'view' ) {
203
+        return $this->get_prop( 'status', $context );
204
+    }
205
+
206
+    /**
207
+     * Delete an object, set the ID to 0, and return result.
208
+     *
209
+     * @since  1.0.19
210
+     * @param  bool $force_delete Should the data be deleted permanently.
211
+     * @return bool result
212
+     */
213
+    public function delete( $force_delete = false ) {
214
+        if ( $this->data_store && $this->get_id() ) {
215
+            $this->data_store->delete( $this, array( 'force_delete' => $force_delete ) );
216
+            $this->set_id( 0 );
217
+            return true;
218
+        }
219
+        return false;
220
+    }
221
+
222
+    /**
223
+     * Save should create or update based on object existence.
224
+     *
225
+     * @since  1.0.19
226
+     * @return int
227
+     */
228
+    public function save() {
229
+        if ( ! $this->data_store ) {
230
+            return $this->get_id();
231
+        }
232
+
233
+        /**
234
+         * Trigger action before saving to the DB. Allows you to adjust object props before save.
235
+         *
236
+         * @param GetPaid_Data          $this The object being saved.
237
+         * @param GetPaid_Data_Store_WP $data_store The data store persisting the data.
238
+         */
239
+        do_action( 'getpaid_before_' . $this->object_type . '_object_save', $this, $this->data_store );
240
+
241
+        if ( $this->get_id() ) {
242
+            $this->data_store->update( $this );
243
+        } else {
244
+            $this->data_store->create( $this );
245
+        }
246
+
247
+        /**
248
+         * Trigger action after saving to the DB.
249
+         *
250
+         * @param GetPaid_Data          $this The object being saved.
251
+         * @param GetPaid_Data_Store_WP $data_store The data store persisting the data.
252
+         */
253
+        do_action( 'getpaid_after_' . $this->object_type . '_object_save', $this, $this->data_store );
254
+
255
+        return $this->get_id();
256
+    }
257
+
258
+    /**
259
+     * Change data to JSON format.
260
+     *
261
+     * @since  1.0.19
262
+     * @return string Data in JSON format.
263
+     */
264
+    public function __toString() {
265
+        return wp_json_encode( $this->get_data() );
266
+    }
267
+
268
+    /**
269
+     * Returns all data for this object.
270
+     *
271
+     * @since  1.0.19
272
+     * @return array
273
+     */
274
+    public function get_data() {
275
+        return array_merge( array( 'id' => $this->get_id() ), $this->data, array( 'meta_data' => $this->get_meta_data() ) );
276
+    }
277
+
278
+    /**
279
+     * Returns array of expected data keys for this object.
280
+     *
281
+     * @since   1.0.19
282
+     * @return array
283
+     */
284
+    public function get_data_keys() {
285
+        return array_keys( $this->data );
286
+    }
287
+
288
+    /**
289
+     * Returns all "extra" data keys for an object (for sub objects like item types).
290
+     *
291
+     * @since  1.0.19
292
+     * @return array
293
+     */
294
+    public function get_extra_data_keys() {
295
+        return array_keys( $this->extra_data );
296
+    }
297
+
298
+    /**
299
+     * Filter null meta values from array.
300
+     *
301
+     * @since  1.0.19
302
+     * @param mixed $meta Meta value to check.
303
+     * @return bool
304
+     */
305
+    protected function filter_null_meta( $meta ) {
306
+        return ! is_null( $meta->value );
307
+    }
308
+
309
+    /**
310
+     * Get All Meta Data.
311
+     *
312
+     * @since 1.0.19
313
+     * @return array of objects.
314
+     */
315
+    public function get_meta_data() {
316
+        $this->maybe_read_meta_data();
317
+        return array_values( array_filter( $this->meta_data, array( $this, 'filter_null_meta' ) ) );
318
+    }
319
+
320
+    /**
321
+     * Check if the key is an internal one.
322
+     *
323
+     * @since  1.0.19
324
+     * @param  string $key Key to check.
325
+     * @return bool   true if it's an internal key, false otherwise
326
+     */
327
+    protected function is_internal_meta_key( $key ) {
328
+        $internal_meta_key = ! empty( $key ) && $this->data_store && in_array( $key, $this->data_store->get_internal_meta_keys(), true );
329
+
330
+        if ( ! $internal_meta_key ) {
331
+            return false;
332
+        }
333
+
334
+        $has_setter_or_getter = is_callable( array( $this, 'set_' . $key ) ) || is_callable( array( $this, 'get_' . $key ) );
335
+
336
+        if ( ! $has_setter_or_getter ) {
337
+            return false;
338
+        }
339
+
340
+        /* translators: %s: $key Key to check */
341
+        getpaid_doing_it_wrong( __FUNCTION__, sprintf( __( 'Generic add/update/get meta methods should not be used for internal meta data, including "%s". Use getters and setters.', 'getpaid' ), $key ), '1.0.19' );
342
+
343
+        return true;
344
+    }
345
+
346
+    /**
347
+     * Magic method for setting data fields.
348
+     *
349
+     * This method does not update custom fields in the database.
350
+     *
351
+     * @since 1.0.19
352
+     * @access public
353
+     *
354
+     */
355
+    public function __set( $key, $value ) {
356
+
357
+        if ( 'id' == strtolower( $key ) ) {
358
+            return $this->set_id( $value );
359
+        }
360
+
361
+        if ( method_exists( $this, "set_$key") ) {
362
+
363
+            /* translators: %s: $key Key to set */
364
+            getpaid_doing_it_wrong( __FUNCTION__, sprintf( __( 'Object data such as "%s" should not be accessed directly. Use getters and setters.', 'getpaid' ), $key ), '1.0.19' );
365
+
366
+            call_user_func( array( $this, "set_$key" ), $value );
367
+        } else {
368
+            $this->set_prop( $key, $value );
369
+        }
370
+
371
+    }
372
+
373
+    /**
374 374
      * Margic method for retrieving a property.
375 375
      */
376 376
     public function __get( $key ) {
@@ -378,10 +378,10 @@  discard block
 block discarded – undo
378 378
         // Check if we have a helper method for that.
379 379
         if ( method_exists( $this, 'get_' . $key ) ) {
380 380
 
381
-			if ( 'post_type' != $key ) {
382
-				/* translators: %s: $key Key to set */
383
-				getpaid_doing_it_wrong( __FUNCTION__, sprintf( __( 'Object data such as "%s" should not be accessed directly. Use getters and setters.', 'getpaid' ), $key ), '1.0.19' );
384
-			}
381
+            if ( 'post_type' != $key ) {
382
+                /* translators: %s: $key Key to set */
383
+                getpaid_doing_it_wrong( __FUNCTION__, sprintf( __( 'Object data such as "%s" should not be accessed directly. Use getters and setters.', 'getpaid' ), $key ), '1.0.19' );
384
+            }
385 385
 
386 386
             return call_user_func( array( $this, 'get_' . $key ) );
387 387
         }
@@ -391,512 +391,512 @@  discard block
 block discarded – undo
391 391
             return $this->post->$key;
392 392
         }
393 393
 
394
-		return $this->get_prop( $key );
395
-
396
-    }
397
-
398
-	/**
399
-	 * Get Meta Data by Key.
400
-	 *
401
-	 * @since  1.0.19
402
-	 * @param  string $key Meta Key.
403
-	 * @param  bool   $single return first found meta with key, or all with $key.
404
-	 * @param  string $context What the value is for. Valid values are view and edit.
405
-	 * @return mixed
406
-	 */
407
-	public function get_meta( $key = '', $single = true, $context = 'view' ) {
408
-
409
-		// Check if this is an internal meta key.
410
-		$_key = str_replace( '_wpinv', '', $key );
411
-		$_key = str_replace( 'wpinv', '', $_key );
412
-		if ( $this->is_internal_meta_key( $_key ) ) {
413
-			$function = 'get_' . $_key;
414
-
415
-			if ( is_callable( array( $this, $function ) ) ) {
416
-				return $this->{$function}();
417
-			}
418
-		}
419
-
420
-		// Read the meta data if not yet read.
421
-		$this->maybe_read_meta_data();
422
-		$meta_data  = $this->get_meta_data();
423
-		$array_keys = array_keys( wp_list_pluck( $meta_data, 'key' ), $key, true );
424
-		$value      = $single ? '' : array();
425
-
426
-		if ( ! empty( $array_keys ) ) {
427
-			// We don't use the $this->meta_data property directly here because we don't want meta with a null value (i.e. meta which has been deleted via $this->delete_meta_data()).
428
-			if ( $single ) {
429
-				$value = $meta_data[ current( $array_keys ) ]->value;
430
-			} else {
431
-				$value = array_intersect_key( $meta_data, array_flip( $array_keys ) );
432
-			}
433
-		}
434
-
435
-		if ( 'view' === $context ) {
436
-			$value = apply_filters( $this->get_hook_prefix() . $key, $value, $this );
437
-		}
438
-
439
-		return $value;
440
-	}
441
-
442
-	/**
443
-	 * See if meta data exists, since get_meta always returns a '' or array().
444
-	 *
445
-	 * @since  1.0.19
446
-	 * @param  string $key Meta Key.
447
-	 * @return boolean
448
-	 */
449
-	public function meta_exists( $key = '' ) {
450
-		$this->maybe_read_meta_data();
451
-		$array_keys = wp_list_pluck( $this->get_meta_data(), 'key' );
452
-		return in_array( $key, $array_keys, true );
453
-	}
454
-
455
-	/**
456
-	 * Set all meta data from array.
457
-	 *
458
-	 * @since 1.0.19
459
-	 * @param array $data Key/Value pairs.
460
-	 */
461
-	public function set_meta_data( $data ) {
462
-		if ( ! empty( $data ) && is_array( $data ) ) {
463
-			$this->maybe_read_meta_data();
464
-			foreach ( $data as $meta ) {
465
-				$meta = (array) $meta;
466
-				if ( isset( $meta['key'], $meta['value'], $meta['id'] ) ) {
467
-					$this->meta_data[] = new GetPaid_Meta_Data(
468
-						array(
469
-							'id'    => $meta['id'],
470
-							'key'   => $meta['key'],
471
-							'value' => $meta['value'],
472
-						)
473
-					);
474
-				}
475
-			}
476
-		}
477
-	}
478
-
479
-	/**
480
-	 * Add meta data.
481
-	 *
482
-	 * @since 1.0.19
483
-	 *
484
-	 * @param string       $key Meta key.
485
-	 * @param string|array $value Meta value.
486
-	 * @param bool         $unique Should this be a unique key?.
487
-	 */
488
-	public function add_meta_data( $key, $value, $unique = false ) {
489
-		if ( $this->is_internal_meta_key( $key ) ) {
490
-			$function = 'set_' . $key;
491
-
492
-			if ( is_callable( array( $this, $function ) ) ) {
493
-				return $this->{$function}( $value );
494
-			}
495
-		}
496
-
497
-		$this->maybe_read_meta_data();
498
-		if ( $unique ) {
499
-			$this->delete_meta_data( $key );
500
-		}
501
-		$this->meta_data[] = new GetPaid_Meta_Data(
502
-			array(
503
-				'key'   => $key,
504
-				'value' => $value,
505
-			)
506
-		);
507
-	}
508
-
509
-	/**
510
-	 * Update meta data by key or ID, if provided.
511
-	 *
512
-	 * @since  1.0.19
513
-	 *
514
-	 * @param  string       $key Meta key.
515
-	 * @param  string|array $value Meta value.
516
-	 * @param  int          $meta_id Meta ID.
517
-	 */
518
-	public function update_meta_data( $key, $value, $meta_id = 0 ) {
519
-		if ( $this->is_internal_meta_key( $key ) ) {
520
-			$function = 'set_' . $key;
521
-
522
-			if ( is_callable( array( $this, $function ) ) ) {
523
-				return $this->{$function}( $value );
524
-			}
525
-		}
526
-
527
-		$this->maybe_read_meta_data();
528
-
529
-		$array_key = false;
530
-
531
-		if ( $meta_id ) {
532
-			$array_keys = array_keys( wp_list_pluck( $this->meta_data, 'id' ), $meta_id, true );
533
-			$array_key  = $array_keys ? current( $array_keys ) : false;
534
-		} else {
535
-			// Find matches by key.
536
-			$matches = array();
537
-			foreach ( $this->meta_data as $meta_data_array_key => $meta ) {
538
-				if ( $meta->key === $key ) {
539
-					$matches[] = $meta_data_array_key;
540
-				}
541
-			}
542
-
543
-			if ( ! empty( $matches ) ) {
544
-				// Set matches to null so only one key gets the new value.
545
-				foreach ( $matches as $meta_data_array_key ) {
546
-					$this->meta_data[ $meta_data_array_key ]->value = null;
547
-				}
548
-				$array_key = current( $matches );
549
-			}
550
-		}
551
-
552
-		if ( false !== $array_key ) {
553
-			$meta        = $this->meta_data[ $array_key ];
554
-			$meta->key   = $key;
555
-			$meta->value = $value;
556
-		} else {
557
-			$this->add_meta_data( $key, $value, true );
558
-		}
559
-	}
560
-
561
-	/**
562
-	 * Delete meta data.
563
-	 *
564
-	 * @since 1.0.19
565
-	 * @param string $key Meta key.
566
-	 */
567
-	public function delete_meta_data( $key ) {
568
-		$this->maybe_read_meta_data();
569
-		$array_keys = array_keys( wp_list_pluck( $this->meta_data, 'key' ), $key, true );
570
-
571
-		if ( $array_keys ) {
572
-			foreach ( $array_keys as $array_key ) {
573
-				$this->meta_data[ $array_key ]->value = null;
574
-			}
575
-		}
576
-	}
577
-
578
-	/**
579
-	 * Delete meta data.
580
-	 *
581
-	 * @since 1.0.19
582
-	 * @param int $mid Meta ID.
583
-	 */
584
-	public function delete_meta_data_by_mid( $mid ) {
585
-		$this->maybe_read_meta_data();
586
-		$array_keys = array_keys( wp_list_pluck( $this->meta_data, 'id' ), (int) $mid, true );
587
-
588
-		if ( $array_keys ) {
589
-			foreach ( $array_keys as $array_key ) {
590
-				$this->meta_data[ $array_key ]->value = null;
591
-			}
592
-		}
593
-	}
594
-
595
-	/**
596
-	 * Read meta data if null.
597
-	 *
598
-	 * @since 1.0.19
599
-	 */
600
-	protected function maybe_read_meta_data() {
601
-		if ( is_null( $this->meta_data ) ) {
602
-			$this->read_meta_data();
603
-		}
604
-	}
605
-
606
-	/**
607
-	 * Read Meta Data from the database. Ignore any internal properties.
608
-	 * Uses it's own caches because get_metadata does not provide meta_ids.
609
-	 *
610
-	 * @since 1.0.19
611
-	 * @param bool $force_read True to force a new DB read (and update cache).
612
-	 */
613
-	public function read_meta_data( $force_read = false ) {
614
-
615
-		// Reset meta data.
616
-		$this->meta_data = array();
617
-
618
-		// Maybe abort early.
619
-		if ( ! $this->get_id() || ! $this->data_store ) {
620
-			return;
621
-		}
622
-
623
-		// Only read from cache if the cache key is set.
624
-		$cache_key = null;
625
-		if ( ! $force_read && ! empty( $this->cache_group ) ) {
626
-			$cache_key     = GetPaid_Cache_Helper::get_cache_prefix( $this->cache_group ) . GetPaid_Cache_Helper::get_cache_prefix( 'object_' . $this->get_id() ) . 'object_meta_' . $this->get_id();
627
-			$raw_meta_data = wp_cache_get( $cache_key, $this->cache_group );
628
-		}
629
-
630
-		// Should we force read?
631
-		if ( empty( $raw_meta_data ) ) {
632
-			$raw_meta_data = $this->data_store->read_meta( $this );
633
-
634
-			if ( ! empty( $cache_key ) ) {
635
-				wp_cache_set( $cache_key, $raw_meta_data, $this->cache_group );
636
-			}
637
-
638
-		}
639
-
640
-		// Set meta data.
641
-		if ( is_array( $raw_meta_data ) ) {
642
-
643
-			foreach ( $raw_meta_data as $meta ) {
644
-				$this->meta_data[] = new GetPaid_Meta_Data(
645
-					array(
646
-						'id'    => (int) $meta->meta_id,
647
-						'key'   => $meta->meta_key,
648
-						'value' => maybe_unserialize( $meta->meta_value ),
649
-					)
650
-				);
651
-			}
652
-
653
-		}
654
-
655
-	}
656
-
657
-	/**
658
-	 * Update Meta Data in the database.
659
-	 *
660
-	 * @since 1.0.19
661
-	 */
662
-	public function save_meta_data() {
663
-		if ( ! $this->data_store || is_null( $this->meta_data ) ) {
664
-			return;
665
-		}
666
-		foreach ( $this->meta_data as $array_key => $meta ) {
667
-			if ( is_null( $meta->value ) ) {
668
-				if ( ! empty( $meta->id ) ) {
669
-					$this->data_store->delete_meta( $this, $meta );
670
-					unset( $this->meta_data[ $array_key ] );
671
-				}
672
-			} elseif ( empty( $meta->id ) ) {
673
-				$meta->id = $this->data_store->add_meta( $this, $meta );
674
-				$meta->apply_changes();
675
-			} else {
676
-				if ( $meta->get_changes() ) {
677
-					$this->data_store->update_meta( $this, $meta );
678
-					$meta->apply_changes();
679
-				}
680
-			}
681
-		}
682
-		if ( ! empty( $this->cache_group ) ) {
683
-			$cache_key = GetPaid_Cache_Helper::get_cache_prefix( $this->cache_group ) . GetPaid_Cache_Helper::get_cache_prefix( 'object_' . $this->get_id() ) . 'object_meta_' . $this->get_id();
684
-			wp_cache_delete( $cache_key, $this->cache_group );
685
-		}
686
-	}
687
-
688
-	/**
689
-	 * Set ID.
690
-	 *
691
-	 * @since 1.0.19
692
-	 * @param int $id ID.
693
-	 */
694
-	public function set_id( $id ) {
695
-		$this->id = absint( $id );
696
-	}
697
-
698
-	/**
699
-	 * Sets item status.
700
-	 *
701
-	 * @since 1.0.19
702
-	 * @param string $status New status.
703
-	 * @return array details of change.
704
-	 */
705
-	public function set_status( $status ) {
394
+        return $this->get_prop( $key );
395
+
396
+    }
397
+
398
+    /**
399
+     * Get Meta Data by Key.
400
+     *
401
+     * @since  1.0.19
402
+     * @param  string $key Meta Key.
403
+     * @param  bool   $single return first found meta with key, or all with $key.
404
+     * @param  string $context What the value is for. Valid values are view and edit.
405
+     * @return mixed
406
+     */
407
+    public function get_meta( $key = '', $single = true, $context = 'view' ) {
408
+
409
+        // Check if this is an internal meta key.
410
+        $_key = str_replace( '_wpinv', '', $key );
411
+        $_key = str_replace( 'wpinv', '', $_key );
412
+        if ( $this->is_internal_meta_key( $_key ) ) {
413
+            $function = 'get_' . $_key;
414
+
415
+            if ( is_callable( array( $this, $function ) ) ) {
416
+                return $this->{$function}();
417
+            }
418
+        }
419
+
420
+        // Read the meta data if not yet read.
421
+        $this->maybe_read_meta_data();
422
+        $meta_data  = $this->get_meta_data();
423
+        $array_keys = array_keys( wp_list_pluck( $meta_data, 'key' ), $key, true );
424
+        $value      = $single ? '' : array();
425
+
426
+        if ( ! empty( $array_keys ) ) {
427
+            // We don't use the $this->meta_data property directly here because we don't want meta with a null value (i.e. meta which has been deleted via $this->delete_meta_data()).
428
+            if ( $single ) {
429
+                $value = $meta_data[ current( $array_keys ) ]->value;
430
+            } else {
431
+                $value = array_intersect_key( $meta_data, array_flip( $array_keys ) );
432
+            }
433
+        }
434
+
435
+        if ( 'view' === $context ) {
436
+            $value = apply_filters( $this->get_hook_prefix() . $key, $value, $this );
437
+        }
438
+
439
+        return $value;
440
+    }
441
+
442
+    /**
443
+     * See if meta data exists, since get_meta always returns a '' or array().
444
+     *
445
+     * @since  1.0.19
446
+     * @param  string $key Meta Key.
447
+     * @return boolean
448
+     */
449
+    public function meta_exists( $key = '' ) {
450
+        $this->maybe_read_meta_data();
451
+        $array_keys = wp_list_pluck( $this->get_meta_data(), 'key' );
452
+        return in_array( $key, $array_keys, true );
453
+    }
454
+
455
+    /**
456
+     * Set all meta data from array.
457
+     *
458
+     * @since 1.0.19
459
+     * @param array $data Key/Value pairs.
460
+     */
461
+    public function set_meta_data( $data ) {
462
+        if ( ! empty( $data ) && is_array( $data ) ) {
463
+            $this->maybe_read_meta_data();
464
+            foreach ( $data as $meta ) {
465
+                $meta = (array) $meta;
466
+                if ( isset( $meta['key'], $meta['value'], $meta['id'] ) ) {
467
+                    $this->meta_data[] = new GetPaid_Meta_Data(
468
+                        array(
469
+                            'id'    => $meta['id'],
470
+                            'key'   => $meta['key'],
471
+                            'value' => $meta['value'],
472
+                        )
473
+                    );
474
+                }
475
+            }
476
+        }
477
+    }
478
+
479
+    /**
480
+     * Add meta data.
481
+     *
482
+     * @since 1.0.19
483
+     *
484
+     * @param string       $key Meta key.
485
+     * @param string|array $value Meta value.
486
+     * @param bool         $unique Should this be a unique key?.
487
+     */
488
+    public function add_meta_data( $key, $value, $unique = false ) {
489
+        if ( $this->is_internal_meta_key( $key ) ) {
490
+            $function = 'set_' . $key;
491
+
492
+            if ( is_callable( array( $this, $function ) ) ) {
493
+                return $this->{$function}( $value );
494
+            }
495
+        }
496
+
497
+        $this->maybe_read_meta_data();
498
+        if ( $unique ) {
499
+            $this->delete_meta_data( $key );
500
+        }
501
+        $this->meta_data[] = new GetPaid_Meta_Data(
502
+            array(
503
+                'key'   => $key,
504
+                'value' => $value,
505
+            )
506
+        );
507
+    }
508
+
509
+    /**
510
+     * Update meta data by key or ID, if provided.
511
+     *
512
+     * @since  1.0.19
513
+     *
514
+     * @param  string       $key Meta key.
515
+     * @param  string|array $value Meta value.
516
+     * @param  int          $meta_id Meta ID.
517
+     */
518
+    public function update_meta_data( $key, $value, $meta_id = 0 ) {
519
+        if ( $this->is_internal_meta_key( $key ) ) {
520
+            $function = 'set_' . $key;
521
+
522
+            if ( is_callable( array( $this, $function ) ) ) {
523
+                return $this->{$function}( $value );
524
+            }
525
+        }
526
+
527
+        $this->maybe_read_meta_data();
528
+
529
+        $array_key = false;
530
+
531
+        if ( $meta_id ) {
532
+            $array_keys = array_keys( wp_list_pluck( $this->meta_data, 'id' ), $meta_id, true );
533
+            $array_key  = $array_keys ? current( $array_keys ) : false;
534
+        } else {
535
+            // Find matches by key.
536
+            $matches = array();
537
+            foreach ( $this->meta_data as $meta_data_array_key => $meta ) {
538
+                if ( $meta->key === $key ) {
539
+                    $matches[] = $meta_data_array_key;
540
+                }
541
+            }
542
+
543
+            if ( ! empty( $matches ) ) {
544
+                // Set matches to null so only one key gets the new value.
545
+                foreach ( $matches as $meta_data_array_key ) {
546
+                    $this->meta_data[ $meta_data_array_key ]->value = null;
547
+                }
548
+                $array_key = current( $matches );
549
+            }
550
+        }
551
+
552
+        if ( false !== $array_key ) {
553
+            $meta        = $this->meta_data[ $array_key ];
554
+            $meta->key   = $key;
555
+            $meta->value = $value;
556
+        } else {
557
+            $this->add_meta_data( $key, $value, true );
558
+        }
559
+    }
560
+
561
+    /**
562
+     * Delete meta data.
563
+     *
564
+     * @since 1.0.19
565
+     * @param string $key Meta key.
566
+     */
567
+    public function delete_meta_data( $key ) {
568
+        $this->maybe_read_meta_data();
569
+        $array_keys = array_keys( wp_list_pluck( $this->meta_data, 'key' ), $key, true );
570
+
571
+        if ( $array_keys ) {
572
+            foreach ( $array_keys as $array_key ) {
573
+                $this->meta_data[ $array_key ]->value = null;
574
+            }
575
+        }
576
+    }
577
+
578
+    /**
579
+     * Delete meta data.
580
+     *
581
+     * @since 1.0.19
582
+     * @param int $mid Meta ID.
583
+     */
584
+    public function delete_meta_data_by_mid( $mid ) {
585
+        $this->maybe_read_meta_data();
586
+        $array_keys = array_keys( wp_list_pluck( $this->meta_data, 'id' ), (int) $mid, true );
587
+
588
+        if ( $array_keys ) {
589
+            foreach ( $array_keys as $array_key ) {
590
+                $this->meta_data[ $array_key ]->value = null;
591
+            }
592
+        }
593
+    }
594
+
595
+    /**
596
+     * Read meta data if null.
597
+     *
598
+     * @since 1.0.19
599
+     */
600
+    protected function maybe_read_meta_data() {
601
+        if ( is_null( $this->meta_data ) ) {
602
+            $this->read_meta_data();
603
+        }
604
+    }
605
+
606
+    /**
607
+     * Read Meta Data from the database. Ignore any internal properties.
608
+     * Uses it's own caches because get_metadata does not provide meta_ids.
609
+     *
610
+     * @since 1.0.19
611
+     * @param bool $force_read True to force a new DB read (and update cache).
612
+     */
613
+    public function read_meta_data( $force_read = false ) {
614
+
615
+        // Reset meta data.
616
+        $this->meta_data = array();
617
+
618
+        // Maybe abort early.
619
+        if ( ! $this->get_id() || ! $this->data_store ) {
620
+            return;
621
+        }
622
+
623
+        // Only read from cache if the cache key is set.
624
+        $cache_key = null;
625
+        if ( ! $force_read && ! empty( $this->cache_group ) ) {
626
+            $cache_key     = GetPaid_Cache_Helper::get_cache_prefix( $this->cache_group ) . GetPaid_Cache_Helper::get_cache_prefix( 'object_' . $this->get_id() ) . 'object_meta_' . $this->get_id();
627
+            $raw_meta_data = wp_cache_get( $cache_key, $this->cache_group );
628
+        }
629
+
630
+        // Should we force read?
631
+        if ( empty( $raw_meta_data ) ) {
632
+            $raw_meta_data = $this->data_store->read_meta( $this );
633
+
634
+            if ( ! empty( $cache_key ) ) {
635
+                wp_cache_set( $cache_key, $raw_meta_data, $this->cache_group );
636
+            }
637
+
638
+        }
639
+
640
+        // Set meta data.
641
+        if ( is_array( $raw_meta_data ) ) {
642
+
643
+            foreach ( $raw_meta_data as $meta ) {
644
+                $this->meta_data[] = new GetPaid_Meta_Data(
645
+                    array(
646
+                        'id'    => (int) $meta->meta_id,
647
+                        'key'   => $meta->meta_key,
648
+                        'value' => maybe_unserialize( $meta->meta_value ),
649
+                    )
650
+                );
651
+            }
652
+
653
+        }
654
+
655
+    }
656
+
657
+    /**
658
+     * Update Meta Data in the database.
659
+     *
660
+     * @since 1.0.19
661
+     */
662
+    public function save_meta_data() {
663
+        if ( ! $this->data_store || is_null( $this->meta_data ) ) {
664
+            return;
665
+        }
666
+        foreach ( $this->meta_data as $array_key => $meta ) {
667
+            if ( is_null( $meta->value ) ) {
668
+                if ( ! empty( $meta->id ) ) {
669
+                    $this->data_store->delete_meta( $this, $meta );
670
+                    unset( $this->meta_data[ $array_key ] );
671
+                }
672
+            } elseif ( empty( $meta->id ) ) {
673
+                $meta->id = $this->data_store->add_meta( $this, $meta );
674
+                $meta->apply_changes();
675
+            } else {
676
+                if ( $meta->get_changes() ) {
677
+                    $this->data_store->update_meta( $this, $meta );
678
+                    $meta->apply_changes();
679
+                }
680
+            }
681
+        }
682
+        if ( ! empty( $this->cache_group ) ) {
683
+            $cache_key = GetPaid_Cache_Helper::get_cache_prefix( $this->cache_group ) . GetPaid_Cache_Helper::get_cache_prefix( 'object_' . $this->get_id() ) . 'object_meta_' . $this->get_id();
684
+            wp_cache_delete( $cache_key, $this->cache_group );
685
+        }
686
+    }
687
+
688
+    /**
689
+     * Set ID.
690
+     *
691
+     * @since 1.0.19
692
+     * @param int $id ID.
693
+     */
694
+    public function set_id( $id ) {
695
+        $this->id = absint( $id );
696
+    }
697
+
698
+    /**
699
+     * Sets item status.
700
+     *
701
+     * @since 1.0.19
702
+     * @param string $status New status.
703
+     * @return array details of change.
704
+     */
705
+    public function set_status( $status ) {
706 706
         $old_status = $this->get_status();
707 707
 
708
-		$this->set_prop( 'status', $status );
709
-
710
-		return array(
711
-			'from' => $old_status,
712
-			'to'   => $status,
713
-		);
714
-    }
715
-
716
-	/**
717
-	 * Set all props to default values.
718
-	 *
719
-	 * @since 1.0.19
720
-	 */
721
-	public function set_defaults() {
722
-		$this->data    = $this->default_data;
723
-		$this->changes = array();
724
-		$this->set_object_read( false );
725
-	}
726
-
727
-	/**
728
-	 * Set object read property.
729
-	 *
730
-	 * @since 1.0.19
731
-	 * @param boolean $read Should read?.
732
-	 */
733
-	public function set_object_read( $read = true ) {
734
-		$this->object_read = (bool) $read;
735
-	}
736
-
737
-	/**
738
-	 * Get object read property.
739
-	 *
740
-	 * @since  1.0.19
741
-	 * @return boolean
742
-	 */
743
-	public function get_object_read() {
744
-		return (bool) $this->object_read;
745
-	}
746
-
747
-	/**
748
-	 * Set a collection of props in one go, collect any errors, and return the result.
749
-	 * Only sets using public methods.
750
-	 *
751
-	 * @since  1.0.19
752
-	 *
753
-	 * @param array  $props Key value pairs to set. Key is the prop and should map to a setter function name.
754
-	 * @param string $context In what context to run this.
755
-	 *
756
-	 * @return bool|WP_Error
757
-	 */
758
-	public function set_props( $props, $context = 'set' ) {
759
-		$errors = false;
760
-
761
-		foreach ( $props as $prop => $value ) {
762
-			try {
763
-				/**
764
-				 * Checks if the prop being set is allowed, and the value is not null.
765
-				 */
766
-				if ( is_null( $value ) || in_array( $prop, array( 'prop', 'date_prop', 'meta_data' ), true ) ) {
767
-					continue;
768
-				}
769
-				$setter = "set_$prop";
770
-
771
-				if ( is_callable( array( $this, $setter ) ) ) {
772
-					$this->{$setter}( $value );
773
-				}
774
-			} catch ( Exception $e ) {
775
-				if ( ! $errors ) {
776
-					$errors = new WP_Error();
777
-				}
778
-				$errors->add( $e->getCode(), $e->getMessage() );
779
-				$this->last_error = $e->getMessage();
780
-			}
781
-		}
782
-
783
-		return $errors && count( $errors->get_error_codes() ) ? $errors : true;
784
-	}
785
-
786
-	/**
787
-	 * Sets a prop for a setter method.
788
-	 *
789
-	 * This stores changes in a special array so we can track what needs saving
790
-	 * the the DB later.
791
-	 *
792
-	 * @since 1.0.19
793
-	 * @param string $prop Name of prop to set.
794
-	 * @param mixed  $value Value of the prop.
795
-	 */
796
-	protected function set_prop( $prop, $value ) {
797
-		if ( array_key_exists( $prop, $this->data ) ) {
798
-			if ( true === $this->object_read ) {
799
-				if ( $value !== $this->data[ $prop ] || array_key_exists( $prop, $this->changes ) ) {
800
-					$this->changes[ $prop ] = $value;
801
-				}
802
-			} else {
803
-				$this->data[ $prop ] = $value;
804
-			}
805
-		}
806
-	}
807
-
808
-	/**
809
-	 * Return data changes only.
810
-	 *
811
-	 * @since 1.0.19
812
-	 * @return array
813
-	 */
814
-	public function get_changes() {
815
-		return $this->changes;
816
-	}
817
-
818
-	/**
819
-	 * Merge changes with data and clear.
820
-	 *
821
-	 * @since 1.0.19
822
-	 */
823
-	public function apply_changes() {
824
-		$this->data    = array_replace_recursive( $this->data, $this->changes );
825
-		$this->changes = array();
826
-	}
827
-
828
-	/**
829
-	 * Prefix for action and filter hooks on data.
830
-	 *
831
-	 * @since  1.0.19
832
-	 * @return string
833
-	 */
834
-	protected function get_hook_prefix() {
835
-		return 'wpinv_get_' . $this->object_type . '_';
836
-	}
837
-
838
-	/**
839
-	 * Gets a prop for a getter method.
840
-	 *
841
-	 * Gets the value from either current pending changes, or the data itself.
842
-	 * Context controls what happens to the value before it's returned.
843
-	 *
844
-	 * @since  1.0.19
845
-	 * @param  string $prop Name of prop to get.
846
-	 * @param  string $context What the value is for. Valid values are view and edit.
847
-	 * @return mixed
848
-	 */
849
-	protected function get_prop( $prop, $context = 'view' ) {
850
-		$value = null;
851
-
852
-		if ( array_key_exists( $prop, $this->data ) ) {
853
-			$value = array_key_exists( $prop, $this->changes ) ? $this->changes[ $prop ] : $this->data[ $prop ];
854
-
855
-			if ( 'view' === $context ) {
856
-				$value = apply_filters( $this->get_hook_prefix() . $prop, $value, $this );
857
-			}
858
-		}
859
-
860
-		return $value;
861
-	}
862
-
863
-	/**
864
-	 * Sets a date prop whilst handling formatting and datetime objects.
865
-	 *
866
-	 * @since 1.0.19
867
-	 * @param string         $prop Name of prop to set.
868
-	 * @param string|integer $value Value of the prop.
869
-	 */
870
-	protected function set_date_prop( $prop, $value ) {
871
-
872
-		if ( empty( $value ) ) {
873
-			$this->set_prop( $prop, null );
874
-			return;
875
-		}
876
-		$this->set_prop( $prop, $value );
877
-
878
-	}
879
-
880
-	/**
881
-	 * When invalid data is found, throw an exception unless reading from the DB.
882
-	 *
883
-	 * @since 1.0.19
884
-	 * @param string $code             Error code.
885
-	 * @param string $message          Error message.
886
-	 */
887
-	protected function error( $code, $message ) {
888
-		$this->last_error = $message;
889
-	}
890
-
891
-	/**
892
-	 * Checks if the object is saved in the database
893
-	 *
894
-	 * @since 1.0.19
895
-	 * @return bool
896
-	 */
897
-	public function exists() {
898
-		$id = $this->get_id();
899
-		return ! empty( $id );
900
-	}
708
+        $this->set_prop( 'status', $status );
709
+
710
+        return array(
711
+            'from' => $old_status,
712
+            'to'   => $status,
713
+        );
714
+    }
715
+
716
+    /**
717
+     * Set all props to default values.
718
+     *
719
+     * @since 1.0.19
720
+     */
721
+    public function set_defaults() {
722
+        $this->data    = $this->default_data;
723
+        $this->changes = array();
724
+        $this->set_object_read( false );
725
+    }
726
+
727
+    /**
728
+     * Set object read property.
729
+     *
730
+     * @since 1.0.19
731
+     * @param boolean $read Should read?.
732
+     */
733
+    public function set_object_read( $read = true ) {
734
+        $this->object_read = (bool) $read;
735
+    }
736
+
737
+    /**
738
+     * Get object read property.
739
+     *
740
+     * @since  1.0.19
741
+     * @return boolean
742
+     */
743
+    public function get_object_read() {
744
+        return (bool) $this->object_read;
745
+    }
746
+
747
+    /**
748
+     * Set a collection of props in one go, collect any errors, and return the result.
749
+     * Only sets using public methods.
750
+     *
751
+     * @since  1.0.19
752
+     *
753
+     * @param array  $props Key value pairs to set. Key is the prop and should map to a setter function name.
754
+     * @param string $context In what context to run this.
755
+     *
756
+     * @return bool|WP_Error
757
+     */
758
+    public function set_props( $props, $context = 'set' ) {
759
+        $errors = false;
760
+
761
+        foreach ( $props as $prop => $value ) {
762
+            try {
763
+                /**
764
+                 * Checks if the prop being set is allowed, and the value is not null.
765
+                 */
766
+                if ( is_null( $value ) || in_array( $prop, array( 'prop', 'date_prop', 'meta_data' ), true ) ) {
767
+                    continue;
768
+                }
769
+                $setter = "set_$prop";
770
+
771
+                if ( is_callable( array( $this, $setter ) ) ) {
772
+                    $this->{$setter}( $value );
773
+                }
774
+            } catch ( Exception $e ) {
775
+                if ( ! $errors ) {
776
+                    $errors = new WP_Error();
777
+                }
778
+                $errors->add( $e->getCode(), $e->getMessage() );
779
+                $this->last_error = $e->getMessage();
780
+            }
781
+        }
782
+
783
+        return $errors && count( $errors->get_error_codes() ) ? $errors : true;
784
+    }
785
+
786
+    /**
787
+     * Sets a prop for a setter method.
788
+     *
789
+     * This stores changes in a special array so we can track what needs saving
790
+     * the the DB later.
791
+     *
792
+     * @since 1.0.19
793
+     * @param string $prop Name of prop to set.
794
+     * @param mixed  $value Value of the prop.
795
+     */
796
+    protected function set_prop( $prop, $value ) {
797
+        if ( array_key_exists( $prop, $this->data ) ) {
798
+            if ( true === $this->object_read ) {
799
+                if ( $value !== $this->data[ $prop ] || array_key_exists( $prop, $this->changes ) ) {
800
+                    $this->changes[ $prop ] = $value;
801
+                }
802
+            } else {
803
+                $this->data[ $prop ] = $value;
804
+            }
805
+        }
806
+    }
807
+
808
+    /**
809
+     * Return data changes only.
810
+     *
811
+     * @since 1.0.19
812
+     * @return array
813
+     */
814
+    public function get_changes() {
815
+        return $this->changes;
816
+    }
817
+
818
+    /**
819
+     * Merge changes with data and clear.
820
+     *
821
+     * @since 1.0.19
822
+     */
823
+    public function apply_changes() {
824
+        $this->data    = array_replace_recursive( $this->data, $this->changes );
825
+        $this->changes = array();
826
+    }
827
+
828
+    /**
829
+     * Prefix for action and filter hooks on data.
830
+     *
831
+     * @since  1.0.19
832
+     * @return string
833
+     */
834
+    protected function get_hook_prefix() {
835
+        return 'wpinv_get_' . $this->object_type . '_';
836
+    }
837
+
838
+    /**
839
+     * Gets a prop for a getter method.
840
+     *
841
+     * Gets the value from either current pending changes, or the data itself.
842
+     * Context controls what happens to the value before it's returned.
843
+     *
844
+     * @since  1.0.19
845
+     * @param  string $prop Name of prop to get.
846
+     * @param  string $context What the value is for. Valid values are view and edit.
847
+     * @return mixed
848
+     */
849
+    protected function get_prop( $prop, $context = 'view' ) {
850
+        $value = null;
851
+
852
+        if ( array_key_exists( $prop, $this->data ) ) {
853
+            $value = array_key_exists( $prop, $this->changes ) ? $this->changes[ $prop ] : $this->data[ $prop ];
854
+
855
+            if ( 'view' === $context ) {
856
+                $value = apply_filters( $this->get_hook_prefix() . $prop, $value, $this );
857
+            }
858
+        }
859
+
860
+        return $value;
861
+    }
862
+
863
+    /**
864
+     * Sets a date prop whilst handling formatting and datetime objects.
865
+     *
866
+     * @since 1.0.19
867
+     * @param string         $prop Name of prop to set.
868
+     * @param string|integer $value Value of the prop.
869
+     */
870
+    protected function set_date_prop( $prop, $value ) {
871
+
872
+        if ( empty( $value ) ) {
873
+            $this->set_prop( $prop, null );
874
+            return;
875
+        }
876
+        $this->set_prop( $prop, $value );
877
+
878
+    }
879
+
880
+    /**
881
+     * When invalid data is found, throw an exception unless reading from the DB.
882
+     *
883
+     * @since 1.0.19
884
+     * @param string $code             Error code.
885
+     * @param string $message          Error message.
886
+     */
887
+    protected function error( $code, $message ) {
888
+        $this->last_error = $message;
889
+    }
890
+
891
+    /**
892
+     * Checks if the object is saved in the database
893
+     *
894
+     * @since 1.0.19
895
+     * @return bool
896
+     */
897
+    public function exists() {
898
+        $id = $this->get_id();
899
+        return ! empty( $id );
900
+    }
901 901
 
902 902
 }
Please login to merge, or discard this patch.
Spacing   +161 added lines, -161 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  *
9 9
  */
10 10
 
11
-if ( ! defined( 'ABSPATH' ) ) {
11
+if (!defined('ABSPATH')) {
12 12
 	exit;
13 13
 }
14 14
 
@@ -117,8 +117,8 @@  discard block
 block discarded – undo
117 117
 	 *
118 118
 	 * @param int|object|array|string $read ID to load from the DB (optional) or already queried data.
119 119
 	 */
120
-	public function __construct( $read = 0 ) {
121
-		$this->data         = array_merge( $this->data, $this->extra_data );
120
+	public function __construct($read = 0) {
121
+		$this->data         = array_merge($this->data, $this->extra_data);
122 122
 		$this->default_data = $this->data;
123 123
 	}
124 124
 
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
 	 * @return array
129 129
 	 */
130 130
 	public function __sleep() {
131
-		return array( 'id' );
131
+		return array('id');
132 132
 	}
133 133
 
134 134
 	/**
@@ -137,10 +137,10 @@  discard block
 block discarded – undo
137 137
 	 * If the object no longer exists, remove the ID.
138 138
 	 */
139 139
 	public function __wakeup() {
140
-		$this->__construct( absint( $this->id ) );
140
+		$this->__construct(absint($this->id));
141 141
 
142
-		if ( ! empty( $this->last_error ) ) {
143
-			$this->set_id( 0 );
142
+		if (!empty($this->last_error)) {
143
+			$this->set_id(0);
144 144
 		}
145 145
 
146 146
 	}
@@ -152,11 +152,11 @@  discard block
 block discarded – undo
152 152
 	 */
153 153
 	public function __clone() {
154 154
 		$this->maybe_read_meta_data();
155
-		if ( ! empty( $this->meta_data ) ) {
156
-			foreach ( $this->meta_data as $array_key => $meta ) {
157
-				$this->meta_data[ $array_key ] = clone $meta;
158
-				if ( ! empty( $meta->id ) ) {
159
-					$this->meta_data[ $array_key ]->id = null;
155
+		if (!empty($this->meta_data)) {
156
+			foreach ($this->meta_data as $array_key => $meta) {
157
+				$this->meta_data[$array_key] = clone $meta;
158
+				if (!empty($meta->id)) {
159
+					$this->meta_data[$array_key]->id = null;
160 160
 				}
161 161
 			}
162 162
 		}
@@ -199,8 +199,8 @@  discard block
 block discarded – undo
199 199
 	 * @param  string $context View or edit context.
200 200
 	 * @return string
201 201
 	 */
202
-	public function get_status( $context = 'view' ) {
203
-		return $this->get_prop( 'status', $context );
202
+	public function get_status($context = 'view') {
203
+		return $this->get_prop('status', $context);
204 204
     }
205 205
 
206 206
 	/**
@@ -210,10 +210,10 @@  discard block
 block discarded – undo
210 210
 	 * @param  bool $force_delete Should the data be deleted permanently.
211 211
 	 * @return bool result
212 212
 	 */
213
-	public function delete( $force_delete = false ) {
214
-		if ( $this->data_store && $this->get_id() ) {
215
-			$this->data_store->delete( $this, array( 'force_delete' => $force_delete ) );
216
-			$this->set_id( 0 );
213
+	public function delete($force_delete = false) {
214
+		if ($this->data_store && $this->get_id()) {
215
+			$this->data_store->delete($this, array('force_delete' => $force_delete));
216
+			$this->set_id(0);
217 217
 			return true;
218 218
 		}
219 219
 		return false;
@@ -226,7 +226,7 @@  discard block
 block discarded – undo
226 226
 	 * @return int
227 227
 	 */
228 228
 	public function save() {
229
-		if ( ! $this->data_store ) {
229
+		if (!$this->data_store) {
230 230
 			return $this->get_id();
231 231
 		}
232 232
 
@@ -236,12 +236,12 @@  discard block
 block discarded – undo
236 236
 		 * @param GetPaid_Data          $this The object being saved.
237 237
 		 * @param GetPaid_Data_Store_WP $data_store The data store persisting the data.
238 238
 		 */
239
-		do_action( 'getpaid_before_' . $this->object_type . '_object_save', $this, $this->data_store );
239
+		do_action('getpaid_before_' . $this->object_type . '_object_save', $this, $this->data_store);
240 240
 
241
-		if ( $this->get_id() ) {
242
-			$this->data_store->update( $this );
241
+		if ($this->get_id()) {
242
+			$this->data_store->update($this);
243 243
 		} else {
244
-			$this->data_store->create( $this );
244
+			$this->data_store->create($this);
245 245
 		}
246 246
 
247 247
 		/**
@@ -250,7 +250,7 @@  discard block
 block discarded – undo
250 250
 		 * @param GetPaid_Data          $this The object being saved.
251 251
 		 * @param GetPaid_Data_Store_WP $data_store The data store persisting the data.
252 252
 		 */
253
-		do_action( 'getpaid_after_' . $this->object_type . '_object_save', $this, $this->data_store );
253
+		do_action('getpaid_after_' . $this->object_type . '_object_save', $this, $this->data_store);
254 254
 
255 255
 		return $this->get_id();
256 256
 	}
@@ -262,7 +262,7 @@  discard block
 block discarded – undo
262 262
 	 * @return string Data in JSON format.
263 263
 	 */
264 264
 	public function __toString() {
265
-		return wp_json_encode( $this->get_data() );
265
+		return wp_json_encode($this->get_data());
266 266
 	}
267 267
 
268 268
 	/**
@@ -272,7 +272,7 @@  discard block
 block discarded – undo
272 272
 	 * @return array
273 273
 	 */
274 274
 	public function get_data() {
275
-		return array_merge( array( 'id' => $this->get_id() ), $this->data, array( 'meta_data' => $this->get_meta_data() ) );
275
+		return array_merge(array('id' => $this->get_id()), $this->data, array('meta_data' => $this->get_meta_data()));
276 276
 	}
277 277
 
278 278
 	/**
@@ -282,7 +282,7 @@  discard block
 block discarded – undo
282 282
 	 * @return array
283 283
 	 */
284 284
 	public function get_data_keys() {
285
-		return array_keys( $this->data );
285
+		return array_keys($this->data);
286 286
 	}
287 287
 
288 288
 	/**
@@ -292,7 +292,7 @@  discard block
 block discarded – undo
292 292
 	 * @return array
293 293
 	 */
294 294
 	public function get_extra_data_keys() {
295
-		return array_keys( $this->extra_data );
295
+		return array_keys($this->extra_data);
296 296
 	}
297 297
 
298 298
 	/**
@@ -302,8 +302,8 @@  discard block
 block discarded – undo
302 302
 	 * @param mixed $meta Meta value to check.
303 303
 	 * @return bool
304 304
 	 */
305
-	protected function filter_null_meta( $meta ) {
306
-		return ! is_null( $meta->value );
305
+	protected function filter_null_meta($meta) {
306
+		return !is_null($meta->value);
307 307
 	}
308 308
 
309 309
 	/**
@@ -314,7 +314,7 @@  discard block
 block discarded – undo
314 314
 	 */
315 315
 	public function get_meta_data() {
316 316
 		$this->maybe_read_meta_data();
317
-		return array_values( array_filter( $this->meta_data, array( $this, 'filter_null_meta' ) ) );
317
+		return array_values(array_filter($this->meta_data, array($this, 'filter_null_meta')));
318 318
 	}
319 319
 
320 320
 	/**
@@ -324,21 +324,21 @@  discard block
 block discarded – undo
324 324
 	 * @param  string $key Key to check.
325 325
 	 * @return bool   true if it's an internal key, false otherwise
326 326
 	 */
327
-	protected function is_internal_meta_key( $key ) {
328
-		$internal_meta_key = ! empty( $key ) && $this->data_store && in_array( $key, $this->data_store->get_internal_meta_keys(), true );
327
+	protected function is_internal_meta_key($key) {
328
+		$internal_meta_key = !empty($key) && $this->data_store && in_array($key, $this->data_store->get_internal_meta_keys(), true);
329 329
 
330
-		if ( ! $internal_meta_key ) {
330
+		if (!$internal_meta_key) {
331 331
 			return false;
332 332
 		}
333 333
 
334
-		$has_setter_or_getter = is_callable( array( $this, 'set_' . $key ) ) || is_callable( array( $this, 'get_' . $key ) );
334
+		$has_setter_or_getter = is_callable(array($this, 'set_' . $key)) || is_callable(array($this, 'get_' . $key));
335 335
 
336
-		if ( ! $has_setter_or_getter ) {
336
+		if (!$has_setter_or_getter) {
337 337
 			return false;
338 338
 		}
339 339
 
340 340
 		/* translators: %s: $key Key to check */
341
-		getpaid_doing_it_wrong( __FUNCTION__, sprintf( __( 'Generic add/update/get meta methods should not be used for internal meta data, including "%s". Use getters and setters.', 'getpaid' ), $key ), '1.0.19' );
341
+		getpaid_doing_it_wrong(__FUNCTION__, sprintf(__('Generic add/update/get meta methods should not be used for internal meta data, including "%s". Use getters and setters.', 'getpaid'), $key), '1.0.19');
342 342
 
343 343
 		return true;
344 344
 	}
@@ -352,20 +352,20 @@  discard block
 block discarded – undo
352 352
 	 * @access public
353 353
 	 *
354 354
 	 */
355
-	public function __set( $key, $value ) {
355
+	public function __set($key, $value) {
356 356
 
357
-		if ( 'id' == strtolower( $key ) ) {
358
-			return $this->set_id( $value );
357
+		if ('id' == strtolower($key)) {
358
+			return $this->set_id($value);
359 359
 		}
360 360
 
361
-		if ( method_exists( $this, "set_$key") ) {
361
+		if (method_exists($this, "set_$key")) {
362 362
 
363 363
 			/* translators: %s: $key Key to set */
364
-			getpaid_doing_it_wrong( __FUNCTION__, sprintf( __( 'Object data such as "%s" should not be accessed directly. Use getters and setters.', 'getpaid' ), $key ), '1.0.19' );
364
+			getpaid_doing_it_wrong(__FUNCTION__, sprintf(__('Object data such as "%s" should not be accessed directly. Use getters and setters.', 'getpaid'), $key), '1.0.19');
365 365
 
366
-			call_user_func( array( $this, "set_$key" ), $value );
366
+			call_user_func(array($this, "set_$key"), $value);
367 367
 		} else {
368
-			$this->set_prop( $key, $value );
368
+			$this->set_prop($key, $value);
369 369
 		}
370 370
 
371 371
 	}
@@ -373,25 +373,25 @@  discard block
 block discarded – undo
373 373
 	/**
374 374
      * Margic method for retrieving a property.
375 375
      */
376
-    public function __get( $key ) {
376
+    public function __get($key) {
377 377
 
378 378
         // Check if we have a helper method for that.
379
-        if ( method_exists( $this, 'get_' . $key ) ) {
379
+        if (method_exists($this, 'get_' . $key)) {
380 380
 
381
-			if ( 'post_type' != $key ) {
381
+			if ('post_type' != $key) {
382 382
 				/* translators: %s: $key Key to set */
383
-				getpaid_doing_it_wrong( __FUNCTION__, sprintf( __( 'Object data such as "%s" should not be accessed directly. Use getters and setters.', 'getpaid' ), $key ), '1.0.19' );
383
+				getpaid_doing_it_wrong(__FUNCTION__, sprintf(__('Object data such as "%s" should not be accessed directly. Use getters and setters.', 'getpaid'), $key), '1.0.19');
384 384
 			}
385 385
 
386
-            return call_user_func( array( $this, 'get_' . $key ) );
386
+            return call_user_func(array($this, 'get_' . $key));
387 387
         }
388 388
 
389 389
         // Check if the key is in the associated $post object.
390
-        if ( ! empty( $this->post ) && isset( $this->post->$key ) ) {
390
+        if (!empty($this->post) && isset($this->post->$key)) {
391 391
             return $this->post->$key;
392 392
         }
393 393
 
394
-		return $this->get_prop( $key );
394
+		return $this->get_prop($key);
395 395
 
396 396
     }
397 397
 
@@ -404,15 +404,15 @@  discard block
 block discarded – undo
404 404
 	 * @param  string $context What the value is for. Valid values are view and edit.
405 405
 	 * @return mixed
406 406
 	 */
407
-	public function get_meta( $key = '', $single = true, $context = 'view' ) {
407
+	public function get_meta($key = '', $single = true, $context = 'view') {
408 408
 
409 409
 		// Check if this is an internal meta key.
410
-		$_key = str_replace( '_wpinv', '', $key );
411
-		$_key = str_replace( 'wpinv', '', $_key );
412
-		if ( $this->is_internal_meta_key( $_key ) ) {
410
+		$_key = str_replace('_wpinv', '', $key);
411
+		$_key = str_replace('wpinv', '', $_key);
412
+		if ($this->is_internal_meta_key($_key)) {
413 413
 			$function = 'get_' . $_key;
414 414
 
415
-			if ( is_callable( array( $this, $function ) ) ) {
415
+			if (is_callable(array($this, $function))) {
416 416
 				return $this->{$function}();
417 417
 			}
418 418
 		}
@@ -420,20 +420,20 @@  discard block
 block discarded – undo
420 420
 		// Read the meta data if not yet read.
421 421
 		$this->maybe_read_meta_data();
422 422
 		$meta_data  = $this->get_meta_data();
423
-		$array_keys = array_keys( wp_list_pluck( $meta_data, 'key' ), $key, true );
423
+		$array_keys = array_keys(wp_list_pluck($meta_data, 'key'), $key, true);
424 424
 		$value      = $single ? '' : array();
425 425
 
426
-		if ( ! empty( $array_keys ) ) {
426
+		if (!empty($array_keys)) {
427 427
 			// We don't use the $this->meta_data property directly here because we don't want meta with a null value (i.e. meta which has been deleted via $this->delete_meta_data()).
428
-			if ( $single ) {
429
-				$value = $meta_data[ current( $array_keys ) ]->value;
428
+			if ($single) {
429
+				$value = $meta_data[current($array_keys)]->value;
430 430
 			} else {
431
-				$value = array_intersect_key( $meta_data, array_flip( $array_keys ) );
431
+				$value = array_intersect_key($meta_data, array_flip($array_keys));
432 432
 			}
433 433
 		}
434 434
 
435
-		if ( 'view' === $context ) {
436
-			$value = apply_filters( $this->get_hook_prefix() . $key, $value, $this );
435
+		if ('view' === $context) {
436
+			$value = apply_filters($this->get_hook_prefix() . $key, $value, $this);
437 437
 		}
438 438
 
439 439
 		return $value;
@@ -446,10 +446,10 @@  discard block
 block discarded – undo
446 446
 	 * @param  string $key Meta Key.
447 447
 	 * @return boolean
448 448
 	 */
449
-	public function meta_exists( $key = '' ) {
449
+	public function meta_exists($key = '') {
450 450
 		$this->maybe_read_meta_data();
451
-		$array_keys = wp_list_pluck( $this->get_meta_data(), 'key' );
452
-		return in_array( $key, $array_keys, true );
451
+		$array_keys = wp_list_pluck($this->get_meta_data(), 'key');
452
+		return in_array($key, $array_keys, true);
453 453
 	}
454 454
 
455 455
 	/**
@@ -458,12 +458,12 @@  discard block
 block discarded – undo
458 458
 	 * @since 1.0.19
459 459
 	 * @param array $data Key/Value pairs.
460 460
 	 */
461
-	public function set_meta_data( $data ) {
462
-		if ( ! empty( $data ) && is_array( $data ) ) {
461
+	public function set_meta_data($data) {
462
+		if (!empty($data) && is_array($data)) {
463 463
 			$this->maybe_read_meta_data();
464
-			foreach ( $data as $meta ) {
464
+			foreach ($data as $meta) {
465 465
 				$meta = (array) $meta;
466
-				if ( isset( $meta['key'], $meta['value'], $meta['id'] ) ) {
466
+				if (isset($meta['key'], $meta['value'], $meta['id'])) {
467 467
 					$this->meta_data[] = new GetPaid_Meta_Data(
468 468
 						array(
469 469
 							'id'    => $meta['id'],
@@ -485,18 +485,18 @@  discard block
 block discarded – undo
485 485
 	 * @param string|array $value Meta value.
486 486
 	 * @param bool         $unique Should this be a unique key?.
487 487
 	 */
488
-	public function add_meta_data( $key, $value, $unique = false ) {
489
-		if ( $this->is_internal_meta_key( $key ) ) {
488
+	public function add_meta_data($key, $value, $unique = false) {
489
+		if ($this->is_internal_meta_key($key)) {
490 490
 			$function = 'set_' . $key;
491 491
 
492
-			if ( is_callable( array( $this, $function ) ) ) {
493
-				return $this->{$function}( $value );
492
+			if (is_callable(array($this, $function))) {
493
+				return $this->{$function}($value);
494 494
 			}
495 495
 		}
496 496
 
497 497
 		$this->maybe_read_meta_data();
498
-		if ( $unique ) {
499
-			$this->delete_meta_data( $key );
498
+		if ($unique) {
499
+			$this->delete_meta_data($key);
500 500
 		}
501 501
 		$this->meta_data[] = new GetPaid_Meta_Data(
502 502
 			array(
@@ -515,12 +515,12 @@  discard block
 block discarded – undo
515 515
 	 * @param  string|array $value Meta value.
516 516
 	 * @param  int          $meta_id Meta ID.
517 517
 	 */
518
-	public function update_meta_data( $key, $value, $meta_id = 0 ) {
519
-		if ( $this->is_internal_meta_key( $key ) ) {
518
+	public function update_meta_data($key, $value, $meta_id = 0) {
519
+		if ($this->is_internal_meta_key($key)) {
520 520
 			$function = 'set_' . $key;
521 521
 
522
-			if ( is_callable( array( $this, $function ) ) ) {
523
-				return $this->{$function}( $value );
522
+			if (is_callable(array($this, $function))) {
523
+				return $this->{$function}($value);
524 524
 			}
525 525
 		}
526 526
 
@@ -528,33 +528,33 @@  discard block
 block discarded – undo
528 528
 
529 529
 		$array_key = false;
530 530
 
531
-		if ( $meta_id ) {
532
-			$array_keys = array_keys( wp_list_pluck( $this->meta_data, 'id' ), $meta_id, true );
533
-			$array_key  = $array_keys ? current( $array_keys ) : false;
531
+		if ($meta_id) {
532
+			$array_keys = array_keys(wp_list_pluck($this->meta_data, 'id'), $meta_id, true);
533
+			$array_key  = $array_keys ? current($array_keys) : false;
534 534
 		} else {
535 535
 			// Find matches by key.
536 536
 			$matches = array();
537
-			foreach ( $this->meta_data as $meta_data_array_key => $meta ) {
538
-				if ( $meta->key === $key ) {
537
+			foreach ($this->meta_data as $meta_data_array_key => $meta) {
538
+				if ($meta->key === $key) {
539 539
 					$matches[] = $meta_data_array_key;
540 540
 				}
541 541
 			}
542 542
 
543
-			if ( ! empty( $matches ) ) {
543
+			if (!empty($matches)) {
544 544
 				// Set matches to null so only one key gets the new value.
545
-				foreach ( $matches as $meta_data_array_key ) {
546
-					$this->meta_data[ $meta_data_array_key ]->value = null;
545
+				foreach ($matches as $meta_data_array_key) {
546
+					$this->meta_data[$meta_data_array_key]->value = null;
547 547
 				}
548
-				$array_key = current( $matches );
548
+				$array_key = current($matches);
549 549
 			}
550 550
 		}
551 551
 
552
-		if ( false !== $array_key ) {
553
-			$meta        = $this->meta_data[ $array_key ];
552
+		if (false !== $array_key) {
553
+			$meta        = $this->meta_data[$array_key];
554 554
 			$meta->key   = $key;
555 555
 			$meta->value = $value;
556 556
 		} else {
557
-			$this->add_meta_data( $key, $value, true );
557
+			$this->add_meta_data($key, $value, true);
558 558
 		}
559 559
 	}
560 560
 
@@ -564,13 +564,13 @@  discard block
 block discarded – undo
564 564
 	 * @since 1.0.19
565 565
 	 * @param string $key Meta key.
566 566
 	 */
567
-	public function delete_meta_data( $key ) {
567
+	public function delete_meta_data($key) {
568 568
 		$this->maybe_read_meta_data();
569
-		$array_keys = array_keys( wp_list_pluck( $this->meta_data, 'key' ), $key, true );
569
+		$array_keys = array_keys(wp_list_pluck($this->meta_data, 'key'), $key, true);
570 570
 
571
-		if ( $array_keys ) {
572
-			foreach ( $array_keys as $array_key ) {
573
-				$this->meta_data[ $array_key ]->value = null;
571
+		if ($array_keys) {
572
+			foreach ($array_keys as $array_key) {
573
+				$this->meta_data[$array_key]->value = null;
574 574
 			}
575 575
 		}
576 576
 	}
@@ -581,13 +581,13 @@  discard block
 block discarded – undo
581 581
 	 * @since 1.0.19
582 582
 	 * @param int $mid Meta ID.
583 583
 	 */
584
-	public function delete_meta_data_by_mid( $mid ) {
584
+	public function delete_meta_data_by_mid($mid) {
585 585
 		$this->maybe_read_meta_data();
586
-		$array_keys = array_keys( wp_list_pluck( $this->meta_data, 'id' ), (int) $mid, true );
586
+		$array_keys = array_keys(wp_list_pluck($this->meta_data, 'id'), (int) $mid, true);
587 587
 
588
-		if ( $array_keys ) {
589
-			foreach ( $array_keys as $array_key ) {
590
-				$this->meta_data[ $array_key ]->value = null;
588
+		if ($array_keys) {
589
+			foreach ($array_keys as $array_key) {
590
+				$this->meta_data[$array_key]->value = null;
591 591
 			}
592 592
 		}
593 593
 	}
@@ -598,7 +598,7 @@  discard block
 block discarded – undo
598 598
 	 * @since 1.0.19
599 599
 	 */
600 600
 	protected function maybe_read_meta_data() {
601
-		if ( is_null( $this->meta_data ) ) {
601
+		if (is_null($this->meta_data)) {
602 602
 			$this->read_meta_data();
603 603
 		}
604 604
 	}
@@ -610,42 +610,42 @@  discard block
 block discarded – undo
610 610
 	 * @since 1.0.19
611 611
 	 * @param bool $force_read True to force a new DB read (and update cache).
612 612
 	 */
613
-	public function read_meta_data( $force_read = false ) {
613
+	public function read_meta_data($force_read = false) {
614 614
 
615 615
 		// Reset meta data.
616 616
 		$this->meta_data = array();
617 617
 
618 618
 		// Maybe abort early.
619
-		if ( ! $this->get_id() || ! $this->data_store ) {
619
+		if (!$this->get_id() || !$this->data_store) {
620 620
 			return;
621 621
 		}
622 622
 
623 623
 		// Only read from cache if the cache key is set.
624 624
 		$cache_key = null;
625
-		if ( ! $force_read && ! empty( $this->cache_group ) ) {
626
-			$cache_key     = GetPaid_Cache_Helper::get_cache_prefix( $this->cache_group ) . GetPaid_Cache_Helper::get_cache_prefix( 'object_' . $this->get_id() ) . 'object_meta_' . $this->get_id();
627
-			$raw_meta_data = wp_cache_get( $cache_key, $this->cache_group );
625
+		if (!$force_read && !empty($this->cache_group)) {
626
+			$cache_key     = GetPaid_Cache_Helper::get_cache_prefix($this->cache_group) . GetPaid_Cache_Helper::get_cache_prefix('object_' . $this->get_id()) . 'object_meta_' . $this->get_id();
627
+			$raw_meta_data = wp_cache_get($cache_key, $this->cache_group);
628 628
 		}
629 629
 
630 630
 		// Should we force read?
631
-		if ( empty( $raw_meta_data ) ) {
632
-			$raw_meta_data = $this->data_store->read_meta( $this );
631
+		if (empty($raw_meta_data)) {
632
+			$raw_meta_data = $this->data_store->read_meta($this);
633 633
 
634
-			if ( ! empty( $cache_key ) ) {
635
-				wp_cache_set( $cache_key, $raw_meta_data, $this->cache_group );
634
+			if (!empty($cache_key)) {
635
+				wp_cache_set($cache_key, $raw_meta_data, $this->cache_group);
636 636
 			}
637 637
 
638 638
 		}
639 639
 
640 640
 		// Set meta data.
641
-		if ( is_array( $raw_meta_data ) ) {
641
+		if (is_array($raw_meta_data)) {
642 642
 
643
-			foreach ( $raw_meta_data as $meta ) {
643
+			foreach ($raw_meta_data as $meta) {
644 644
 				$this->meta_data[] = new GetPaid_Meta_Data(
645 645
 					array(
646 646
 						'id'    => (int) $meta->meta_id,
647 647
 						'key'   => $meta->meta_key,
648
-						'value' => maybe_unserialize( $meta->meta_value ),
648
+						'value' => maybe_unserialize($meta->meta_value),
649 649
 					)
650 650
 				);
651 651
 			}
@@ -660,28 +660,28 @@  discard block
 block discarded – undo
660 660
 	 * @since 1.0.19
661 661
 	 */
662 662
 	public function save_meta_data() {
663
-		if ( ! $this->data_store || is_null( $this->meta_data ) ) {
663
+		if (!$this->data_store || is_null($this->meta_data)) {
664 664
 			return;
665 665
 		}
666
-		foreach ( $this->meta_data as $array_key => $meta ) {
667
-			if ( is_null( $meta->value ) ) {
668
-				if ( ! empty( $meta->id ) ) {
669
-					$this->data_store->delete_meta( $this, $meta );
670
-					unset( $this->meta_data[ $array_key ] );
666
+		foreach ($this->meta_data as $array_key => $meta) {
667
+			if (is_null($meta->value)) {
668
+				if (!empty($meta->id)) {
669
+					$this->data_store->delete_meta($this, $meta);
670
+					unset($this->meta_data[$array_key]);
671 671
 				}
672
-			} elseif ( empty( $meta->id ) ) {
673
-				$meta->id = $this->data_store->add_meta( $this, $meta );
672
+			} elseif (empty($meta->id)) {
673
+				$meta->id = $this->data_store->add_meta($this, $meta);
674 674
 				$meta->apply_changes();
675 675
 			} else {
676
-				if ( $meta->get_changes() ) {
677
-					$this->data_store->update_meta( $this, $meta );
676
+				if ($meta->get_changes()) {
677
+					$this->data_store->update_meta($this, $meta);
678 678
 					$meta->apply_changes();
679 679
 				}
680 680
 			}
681 681
 		}
682
-		if ( ! empty( $this->cache_group ) ) {
683
-			$cache_key = GetPaid_Cache_Helper::get_cache_prefix( $this->cache_group ) . GetPaid_Cache_Helper::get_cache_prefix( 'object_' . $this->get_id() ) . 'object_meta_' . $this->get_id();
684
-			wp_cache_delete( $cache_key, $this->cache_group );
682
+		if (!empty($this->cache_group)) {
683
+			$cache_key = GetPaid_Cache_Helper::get_cache_prefix($this->cache_group) . GetPaid_Cache_Helper::get_cache_prefix('object_' . $this->get_id()) . 'object_meta_' . $this->get_id();
684
+			wp_cache_delete($cache_key, $this->cache_group);
685 685
 		}
686 686
 	}
687 687
 
@@ -691,8 +691,8 @@  discard block
 block discarded – undo
691 691
 	 * @since 1.0.19
692 692
 	 * @param int $id ID.
693 693
 	 */
694
-	public function set_id( $id ) {
695
-		$this->id = absint( $id );
694
+	public function set_id($id) {
695
+		$this->id = absint($id);
696 696
 	}
697 697
 
698 698
 	/**
@@ -702,10 +702,10 @@  discard block
 block discarded – undo
702 702
 	 * @param string $status New status.
703 703
 	 * @return array details of change.
704 704
 	 */
705
-	public function set_status( $status ) {
705
+	public function set_status($status) {
706 706
         $old_status = $this->get_status();
707 707
 
708
-		$this->set_prop( 'status', $status );
708
+		$this->set_prop('status', $status);
709 709
 
710 710
 		return array(
711 711
 			'from' => $old_status,
@@ -721,7 +721,7 @@  discard block
 block discarded – undo
721 721
 	public function set_defaults() {
722 722
 		$this->data    = $this->default_data;
723 723
 		$this->changes = array();
724
-		$this->set_object_read( false );
724
+		$this->set_object_read(false);
725 725
 	}
726 726
 
727 727
 	/**
@@ -730,7 +730,7 @@  discard block
 block discarded – undo
730 730
 	 * @since 1.0.19
731 731
 	 * @param boolean $read Should read?.
732 732
 	 */
733
-	public function set_object_read( $read = true ) {
733
+	public function set_object_read($read = true) {
734 734
 		$this->object_read = (bool) $read;
735 735
 	}
736 736
 
@@ -755,32 +755,32 @@  discard block
 block discarded – undo
755 755
 	 *
756 756
 	 * @return bool|WP_Error
757 757
 	 */
758
-	public function set_props( $props, $context = 'set' ) {
758
+	public function set_props($props, $context = 'set') {
759 759
 		$errors = false;
760 760
 
761
-		foreach ( $props as $prop => $value ) {
761
+		foreach ($props as $prop => $value) {
762 762
 			try {
763 763
 				/**
764 764
 				 * Checks if the prop being set is allowed, and the value is not null.
765 765
 				 */
766
-				if ( is_null( $value ) || in_array( $prop, array( 'prop', 'date_prop', 'meta_data' ), true ) ) {
766
+				if (is_null($value) || in_array($prop, array('prop', 'date_prop', 'meta_data'), true)) {
767 767
 					continue;
768 768
 				}
769 769
 				$setter = "set_$prop";
770 770
 
771
-				if ( is_callable( array( $this, $setter ) ) ) {
772
-					$this->{$setter}( $value );
771
+				if (is_callable(array($this, $setter))) {
772
+					$this->{$setter}($value);
773 773
 				}
774
-			} catch ( Exception $e ) {
775
-				if ( ! $errors ) {
774
+			} catch (Exception $e) {
775
+				if (!$errors) {
776 776
 					$errors = new WP_Error();
777 777
 				}
778
-				$errors->add( $e->getCode(), $e->getMessage() );
778
+				$errors->add($e->getCode(), $e->getMessage());
779 779
 				$this->last_error = $e->getMessage();
780 780
 			}
781 781
 		}
782 782
 
783
-		return $errors && count( $errors->get_error_codes() ) ? $errors : true;
783
+		return $errors && count($errors->get_error_codes()) ? $errors : true;
784 784
 	}
785 785
 
786 786
 	/**
@@ -793,14 +793,14 @@  discard block
 block discarded – undo
793 793
 	 * @param string $prop Name of prop to set.
794 794
 	 * @param mixed  $value Value of the prop.
795 795
 	 */
796
-	protected function set_prop( $prop, $value ) {
797
-		if ( array_key_exists( $prop, $this->data ) ) {
798
-			if ( true === $this->object_read ) {
799
-				if ( $value !== $this->data[ $prop ] || array_key_exists( $prop, $this->changes ) ) {
800
-					$this->changes[ $prop ] = $value;
796
+	protected function set_prop($prop, $value) {
797
+		if (array_key_exists($prop, $this->data)) {
798
+			if (true === $this->object_read) {
799
+				if ($value !== $this->data[$prop] || array_key_exists($prop, $this->changes)) {
800
+					$this->changes[$prop] = $value;
801 801
 				}
802 802
 			} else {
803
-				$this->data[ $prop ] = $value;
803
+				$this->data[$prop] = $value;
804 804
 			}
805 805
 		}
806 806
 	}
@@ -821,7 +821,7 @@  discard block
 block discarded – undo
821 821
 	 * @since 1.0.19
822 822
 	 */
823 823
 	public function apply_changes() {
824
-		$this->data    = array_replace_recursive( $this->data, $this->changes );
824
+		$this->data    = array_replace_recursive($this->data, $this->changes);
825 825
 		$this->changes = array();
826 826
 	}
827 827
 
@@ -846,14 +846,14 @@  discard block
 block discarded – undo
846 846
 	 * @param  string $context What the value is for. Valid values are view and edit.
847 847
 	 * @return mixed
848 848
 	 */
849
-	protected function get_prop( $prop, $context = 'view' ) {
849
+	protected function get_prop($prop, $context = 'view') {
850 850
 		$value = null;
851 851
 
852
-		if ( array_key_exists( $prop, $this->data ) ) {
853
-			$value = array_key_exists( $prop, $this->changes ) ? $this->changes[ $prop ] : $this->data[ $prop ];
852
+		if (array_key_exists($prop, $this->data)) {
853
+			$value = array_key_exists($prop, $this->changes) ? $this->changes[$prop] : $this->data[$prop];
854 854
 
855
-			if ( 'view' === $context ) {
856
-				$value = apply_filters( $this->get_hook_prefix() . $prop, $value, $this );
855
+			if ('view' === $context) {
856
+				$value = apply_filters($this->get_hook_prefix() . $prop, $value, $this);
857 857
 			}
858 858
 		}
859 859
 
@@ -867,13 +867,13 @@  discard block
 block discarded – undo
867 867
 	 * @param string         $prop Name of prop to set.
868 868
 	 * @param string|integer $value Value of the prop.
869 869
 	 */
870
-	protected function set_date_prop( $prop, $value ) {
870
+	protected function set_date_prop($prop, $value) {
871 871
 
872
-		if ( empty( $value ) ) {
873
-			$this->set_prop( $prop, null );
872
+		if (empty($value)) {
873
+			$this->set_prop($prop, null);
874 874
 			return;
875 875
 		}
876
-		$this->set_prop( $prop, $value );
876
+		$this->set_prop($prop, $value);
877 877
 
878 878
 	}
879 879
 
@@ -884,7 +884,7 @@  discard block
 block discarded – undo
884 884
 	 * @param string $code             Error code.
885 885
 	 * @param string $message          Error message.
886 886
 	 */
887
-	protected function error( $code, $message ) {
887
+	protected function error($code, $message) {
888 888
 		$this->last_error = $message;
889 889
 	}
890 890
 
@@ -896,7 +896,7 @@  discard block
 block discarded – undo
896 896
 	 */
897 897
 	public function exists() {
898 898
 		$id = $this->get_id();
899
-		return ! empty( $id );
899
+		return !empty($id);
900 900
 	}
901 901
 
902 902
 }
Please login to merge, or discard this patch.
includes/class-wpinv-invoice.php 3 patches
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -158,7 +158,7 @@
 block discarded – undo
158 158
 			$this->set_id( $invoice_id );
159 159
 		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
160 160
 			$this->set_id( $invoice_id );
161
-		}else {
161
+		} else {
162 162
 			$this->set_object_read( true );
163 163
 		}
164 164
 
Please login to merge, or discard this patch.
Indentation   +2380 added lines, -2380 removed lines patch added patch discarded remove patch
@@ -14,30 +14,30 @@  discard block
 block discarded – undo
14 14
 class WPInv_Invoice extends GetPaid_Data {
15 15
 
16 16
     /**
17
-	 * Which data store to load.
18
-	 *
19
-	 * @var string
20
-	 */
17
+     * Which data store to load.
18
+     *
19
+     * @var string
20
+     */
21 21
     protected $data_store_name = 'invoice';
22 22
 
23 23
     /**
24
-	 * This is the name of this object type.
25
-	 *
26
-	 * @var string
27
-	 */
24
+     * This is the name of this object type.
25
+     *
26
+     * @var string
27
+     */
28 28
     protected $object_type = 'invoice';
29 29
 
30 30
     /**
31
-	 * Item Data array. This is the core item data exposed in APIs.
32
-	 *
33
-	 * @since 1.0.19
34
-	 * @var array
35
-	 */
36
-	protected $data = array(
37
-		'parent_id'            => 0,
38
-		'status'               => 'wpi-pending',
39
-		'version'              => '',
40
-		'date_created'         => null,
31
+     * Item Data array. This is the core item data exposed in APIs.
32
+     *
33
+     * @since 1.0.19
34
+     * @var array
35
+     */
36
+    protected $data = array(
37
+        'parent_id'            => 0,
38
+        'status'               => 'wpi-pending',
39
+        'version'              => '',
40
+        'date_created'         => null,
41 41
         'date_modified'        => null,
42 42
         'due_date'             => null,
43 43
         'completed_date'       => null,
@@ -79,22 +79,22 @@  discard block
 block discarded – undo
79 79
         'transaction_id'       => '',
80 80
         'currency'             => '',
81 81
         'disable_taxes'        => false,
82
-		'subscription_id'      => null,
83
-		'remote_subscription_id' => null,
84
-		'is_viewed'            => false,
85
-		'email_cc'             => '',
86
-		'template'             => 'quantity', // hours, amount only
87
-		'created_via'          => null,
82
+        'subscription_id'      => null,
83
+        'remote_subscription_id' => null,
84
+        'is_viewed'            => false,
85
+        'email_cc'             => '',
86
+        'template'             => 'quantity', // hours, amount only
87
+        'created_via'          => null,
88 88
     );
89 89
 
90 90
     /**
91
-	 * Stores meta in cache for future reads.
92
-	 *
93
-	 * A group must be set to to enable caching.
94
-	 *
95
-	 * @var string
96
-	 */
97
-	protected $cache_group = 'getpaid_invoices';
91
+     * Stores meta in cache for future reads.
92
+     *
93
+     * A group must be set to to enable caching.
94
+     *
95
+     * @var string
96
+     */
97
+    protected $cache_group = 'getpaid_invoices';
98 98
 
99 99
     /**
100 100
      * Stores a reference to the original WP_Post object
@@ -108,104 +108,104 @@  discard block
 block discarded – undo
108 108
      *
109 109
      * @var int
110 110
      */
111
-	protected $recurring_item = null;
111
+    protected $recurring_item = null;
112 112
 
113
-	/**
113
+    /**
114 114
      * Stores an array of item totals.
115
-	 *
116
-	 * e.g $totals['discount'] = array(
117
-	 * 		'initial'   => 10,
118
-	 * 		'recurring' => 10,
119
-	 * )
115
+     *
116
+     * e.g $totals['discount'] = array(
117
+     * 		'initial'   => 10,
118
+     * 		'recurring' => 10,
119
+     * )
120 120
      *
121 121
      * @var array
122 122
      */
123
-	protected $totals = array();
123
+    protected $totals = array();
124 124
 
125
-	/**
126
-	 * Stores the status transition information.
127
-	 *
128
-	 * @since 1.0.19
129
-	 * @var bool|array
130
-	 */
131
-	protected $status_transition = false;
125
+    /**
126
+     * Stores the status transition information.
127
+     *
128
+     * @since 1.0.19
129
+     * @var bool|array
130
+     */
131
+    protected $status_transition = false;
132 132
 
133 133
     /**
134
-	 * Get the invoice if ID is passed, otherwise the invoice is new and empty.
135
-	 *
136
-	 * @param  int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object to read.
137
-	 */
134
+     * Get the invoice if ID is passed, otherwise the invoice is new and empty.
135
+     *
136
+     * @param  int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object to read.
137
+     */
138 138
     public function __construct( $invoice = 0 ) {
139 139
 
140 140
         parent::__construct( $invoice );
141 141
 
142
-		if ( ! empty( $invoice ) && is_numeric( $invoice ) && getpaid_is_invoice_post_type( get_post_type( (int) $invoice ) ) ) {
143
-			$this->set_id( (int) $invoice );
144
-		} elseif ( $invoice instanceof self ) {
145
-			$this->set_id( $invoice->get_id() );
146
-		} elseif ( ! empty( $invoice->ID ) ) {
147
-			$this->set_id( $invoice->ID );
148
-		} elseif ( is_array( $invoice ) ) {
149
-			$this->set_props( $invoice );
150
-
151
-			if ( isset( $invoice['ID'] ) ) {
152
-				$this->set_id( $invoice['ID'] );
153
-			}
154
-
155
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'key' ) ) {
156
-			$this->set_id( $invoice_id );
157
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'number' ) ) {
158
-			$this->set_id( $invoice_id );
159
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
160
-			$this->set_id( $invoice_id );
161
-		}else {
162
-			$this->set_object_read( true );
163
-		}
142
+        if ( ! empty( $invoice ) && is_numeric( $invoice ) && getpaid_is_invoice_post_type( get_post_type( (int) $invoice ) ) ) {
143
+            $this->set_id( (int) $invoice );
144
+        } elseif ( $invoice instanceof self ) {
145
+            $this->set_id( $invoice->get_id() );
146
+        } elseif ( ! empty( $invoice->ID ) ) {
147
+            $this->set_id( $invoice->ID );
148
+        } elseif ( is_array( $invoice ) ) {
149
+            $this->set_props( $invoice );
150
+
151
+            if ( isset( $invoice['ID'] ) ) {
152
+                $this->set_id( $invoice['ID'] );
153
+            }
154
+
155
+        } elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'key' ) ) {
156
+            $this->set_id( $invoice_id );
157
+        } elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'number' ) ) {
158
+            $this->set_id( $invoice_id );
159
+        } elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
160
+            $this->set_id( $invoice_id );
161
+        }else {
162
+            $this->set_object_read( true );
163
+        }
164 164
 
165 165
         // Load the datastore.
166
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
166
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
167 167
 
168
-		if ( $this->get_id() > 0 ) {
168
+        if ( $this->get_id() > 0 ) {
169 169
             $this->post = get_post( $this->get_id() );
170 170
             $this->ID   = $this->get_id();
171
-			$this->data_store->read( $this );
171
+            $this->data_store->read( $this );
172 172
         }
173 173
 
174 174
     }
175 175
 
176 176
     /**
177
-	 * Given an invoice key/number, it returns its id.
178
-	 *
179
-	 *
180
-	 * @static
181
-	 * @param string $value The invoice key or number
182
-	 * @param string $field Either key, transaction_id or number.
183
-	 * @since 1.0.15
184
-	 * @return int
185
-	 */
186
-	public static function get_invoice_id_by_field( $value, $field = 'key' ) {
177
+     * Given an invoice key/number, it returns its id.
178
+     *
179
+     *
180
+     * @static
181
+     * @param string $value The invoice key or number
182
+     * @param string $field Either key, transaction_id or number.
183
+     * @since 1.0.15
184
+     * @return int
185
+     */
186
+    public static function get_invoice_id_by_field( $value, $field = 'key' ) {
187 187
         global $wpdb;
188 188
 
189
-		// Trim the value.
190
-		$value = trim( $value );
189
+        // Trim the value.
190
+        $value = trim( $value );
191 191
 
192
-		if ( empty( $value ) ) {
193
-			return 0;
194
-		}
192
+        if ( empty( $value ) ) {
193
+            return 0;
194
+        }
195 195
 
196 196
         // Valid fields.
197 197
         $fields = array( 'key', 'number', 'transaction_id' );
198 198
 
199
-		// Ensure a field has been passed.
200
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
201
-			return 0;
202
-		}
199
+        // Ensure a field has been passed.
200
+        if ( empty( $field ) || ! in_array( $field, $fields ) ) {
201
+            return 0;
202
+        }
203 203
 
204
-		// Maybe retrieve from the cache.
205
-		$invoice_id   = wp_cache_get( $value, "getpaid_invoice_{$field}s_to_invoice_ids" );
206
-		if ( false !== $invoice_id ) {
207
-			return $invoice_id;
208
-		}
204
+        // Maybe retrieve from the cache.
205
+        $invoice_id   = wp_cache_get( $value, "getpaid_invoice_{$field}s_to_invoice_ids" );
206
+        if ( false !== $invoice_id ) {
207
+            return $invoice_id;
208
+        }
209 209
 
210 210
         // Fetch from the db.
211 211
         $table       = $wpdb->prefix . 'getpaid_invoices';
@@ -213,10 +213,10 @@  discard block
 block discarded – undo
213 213
             $wpdb->prepare( "SELECT `post_id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
214 214
         );
215 215
 
216
-		// Update the cache with our data
217
-		wp_cache_set( $value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids" );
216
+        // Update the cache with our data
217
+        wp_cache_set( $value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids" );
218 218
 
219
-		return $invoice_id;
219
+        return $invoice_id;
220 220
     }
221 221
 
222 222
     /**
@@ -242,83 +242,83 @@  discard block
 block discarded – undo
242 242
     */
243 243
 
244 244
     /**
245
-	 * Get parent invoice ID.
246
-	 *
247
-	 * @since 1.0.19
248
-	 * @param  string $context View or edit context.
249
-	 * @return int
250
-	 */
251
-	public function get_parent_id( $context = 'view' ) {
252
-		return (int) $this->get_prop( 'parent_id', $context );
245
+     * Get parent invoice ID.
246
+     *
247
+     * @since 1.0.19
248
+     * @param  string $context View or edit context.
249
+     * @return int
250
+     */
251
+    public function get_parent_id( $context = 'view' ) {
252
+        return (int) $this->get_prop( 'parent_id', $context );
253 253
     }
254 254
 
255 255
     /**
256
-	 * Get parent invoice.
257
-	 *
258
-	 * @since 1.0.19
259
-	 * @return WPInv_Invoice
260
-	 */
256
+     * Get parent invoice.
257
+     *
258
+     * @since 1.0.19
259
+     * @return WPInv_Invoice
260
+     */
261 261
     public function get_parent_payment() {
262 262
         return new WPInv_Invoice( $this->get_parent_id() );
263 263
     }
264 264
 
265 265
     /**
266
-	 * Alias for self::get_parent_payment().
267
-	 *
268
-	 * @since 1.0.19
269
-	 * @return WPInv_Invoice
270
-	 */
266
+     * Alias for self::get_parent_payment().
267
+     *
268
+     * @since 1.0.19
269
+     * @return WPInv_Invoice
270
+     */
271 271
     public function get_parent() {
272 272
         return $this->get_parent_payment();
273 273
     }
274 274
 
275 275
     /**
276
-	 * Get invoice status.
277
-	 *
278
-	 * @since 1.0.19
279
-	 * @param  string $context View or edit context.
280
-	 * @return string
281
-	 */
282
-	public function get_status( $context = 'view' ) {
283
-		return $this->get_prop( 'status', $context );
284
-	}
276
+     * Get invoice status.
277
+     *
278
+     * @since 1.0.19
279
+     * @param  string $context View or edit context.
280
+     * @return string
281
+     */
282
+    public function get_status( $context = 'view' ) {
283
+        return $this->get_prop( 'status', $context );
284
+    }
285 285
 	
286
-	/**
287
-	 * Retrieves an array of possible invoice statuses.
288
-	 *
289
-	 * @since 1.0.19
290
-	 * @return array
291
-	 */
292
-	public function get_all_statuses() {
293
-		return wpinv_get_invoice_statuses( true, true, $this );
294
-    }
295
-
296
-    /**
297
-	 * Get invoice status nice name.
298
-	 *
299
-	 * @since 1.0.19
300
-	 * @return string
301
-	 */
286
+    /**
287
+     * Retrieves an array of possible invoice statuses.
288
+     *
289
+     * @since 1.0.19
290
+     * @return array
291
+     */
292
+    public function get_all_statuses() {
293
+        return wpinv_get_invoice_statuses( true, true, $this );
294
+    }
295
+
296
+    /**
297
+     * Get invoice status nice name.
298
+     *
299
+     * @since 1.0.19
300
+     * @return string
301
+     */
302 302
     public function get_status_nicename() {
303
-		$statuses = $this->get_all_statuses();
303
+        $statuses = $this->get_all_statuses();
304 304
 
305 305
         $status = isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : $this->get_status();
306 306
 
307 307
         return apply_filters( 'wpinv_get_invoice_status_nicename', $status, $this );
308 308
     }
309 309
 
310
-	/**
311
-	 * Retrieves the invoice status class
312
-	 *
313
-	 * @since  1.0.19
314
-	 * @return string
315
-	 */
316
-	public function get_status_class() {
317
-		$statuses = getpaid_get_invoice_status_classes();
318
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'badge-dark';
319
-	}
310
+    /**
311
+     * Retrieves the invoice status class
312
+     *
313
+     * @since  1.0.19
314
+     * @return string
315
+     */
316
+    public function get_status_class() {
317
+        $statuses = getpaid_get_invoice_status_classes();
318
+        return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'badge-dark';
319
+    }
320 320
 
321
-	/**
321
+    /**
322 322
      * Retrieves the invoice status label html
323 323
      *
324 324
      * @since  1.0.0
@@ -326,263 +326,263 @@  discard block
 block discarded – undo
326 326
      */
327 327
     public function get_status_label_html() {
328 328
 
329
-		$status_label = sanitize_text_field( $this->get_status_nicename() );
330
-		$status       = sanitize_html_class( $this->get_status() );
331
-		$class        = esc_attr( $this->get_status_class() );
329
+        $status_label = sanitize_text_field( $this->get_status_nicename() );
330
+        $status       = sanitize_html_class( $this->get_status() );
331
+        $class        = esc_attr( $this->get_status_class() );
332 332
 
333
-		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
334
-	}
333
+        return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
334
+    }
335 335
 
336 336
     /**
337
-	 * Get plugin version when the invoice was created.
338
-	 *
339
-	 * @since 1.0.19
340
-	 * @param  string $context View or edit context.
341
-	 * @return string
342
-	 */
343
-	public function get_version( $context = 'view' ) {
344
-		return $this->get_prop( 'version', $context );
345
-	}
337
+     * Get plugin version when the invoice was created.
338
+     *
339
+     * @since 1.0.19
340
+     * @param  string $context View or edit context.
341
+     * @return string
342
+     */
343
+    public function get_version( $context = 'view' ) {
344
+        return $this->get_prop( 'version', $context );
345
+    }
346 346
 
347
-	/**
348
-	 * @deprecated
349
-	 */
350
-	public function get_invoice_date( $format = true ) {
351
-		$date      = getpaid_format_date( $this->get_date_completed() );
352
-		$date      = empty( $date ) ? $this->get_date_created() : $this->get_date_completed();
353
-		$formatted = getpaid_format_date( $date );
347
+    /**
348
+     * @deprecated
349
+     */
350
+    public function get_invoice_date( $format = true ) {
351
+        $date      = getpaid_format_date( $this->get_date_completed() );
352
+        $date      = empty( $date ) ? $this->get_date_created() : $this->get_date_completed();
353
+        $formatted = getpaid_format_date( $date );
354 354
 
355
-		if ( $format ) {
356
-			return $formatted;
357
-		}
355
+        if ( $format ) {
356
+            return $formatted;
357
+        }
358 358
 
359
-		return empty( $formatted ) ? '' : $date;
359
+        return empty( $formatted ) ? '' : $date;
360 360
 
361 361
     }
362 362
 
363 363
     /**
364
-	 * Get date when the invoice was created.
365
-	 *
366
-	 * @since 1.0.19
367
-	 * @param  string $context View or edit context.
368
-	 * @return string
369
-	 */
370
-	public function get_date_created( $context = 'view' ) {
371
-		return $this->get_prop( 'date_created', $context );
372
-	}
364
+     * Get date when the invoice was created.
365
+     *
366
+     * @since 1.0.19
367
+     * @param  string $context View or edit context.
368
+     * @return string
369
+     */
370
+    public function get_date_created( $context = 'view' ) {
371
+        return $this->get_prop( 'date_created', $context );
372
+    }
373 373
 	
374
-	/**
375
-	 * Alias for self::get_date_created().
376
-	 *
377
-	 * @since 1.0.19
378
-	 * @param  string $context View or edit context.
379
-	 * @return string
380
-	 */
381
-	public function get_created_date( $context = 'view' ) {
382
-		return $this->get_date_created( $context );
383
-    }
384
-
385
-    /**
386
-	 * Get GMT date when the invoice was created.
387
-	 *
388
-	 * @since 1.0.19
389
-	 * @param  string $context View or edit context.
390
-	 * @return string
391
-	 */
392
-	public function get_date_created_gmt( $context = 'view' ) {
374
+    /**
375
+     * Alias for self::get_date_created().
376
+     *
377
+     * @since 1.0.19
378
+     * @param  string $context View or edit context.
379
+     * @return string
380
+     */
381
+    public function get_created_date( $context = 'view' ) {
382
+        return $this->get_date_created( $context );
383
+    }
384
+
385
+    /**
386
+     * Get GMT date when the invoice was created.
387
+     *
388
+     * @since 1.0.19
389
+     * @param  string $context View or edit context.
390
+     * @return string
391
+     */
392
+    public function get_date_created_gmt( $context = 'view' ) {
393 393
         $date = $this->get_date_created( $context );
394 394
 
395 395
         if ( $date ) {
396 396
             $date = get_gmt_from_date( $date );
397 397
         }
398
-		return $date;
398
+        return $date;
399 399
     }
400 400
 
401 401
     /**
402
-	 * Get date when the invoice was last modified.
403
-	 *
404
-	 * @since 1.0.19
405
-	 * @param  string $context View or edit context.
406
-	 * @return string
407
-	 */
408
-	public function get_date_modified( $context = 'view' ) {
409
-		return $this->get_prop( 'date_modified', $context );
410
-	}
402
+     * Get date when the invoice was last modified.
403
+     *
404
+     * @since 1.0.19
405
+     * @param  string $context View or edit context.
406
+     * @return string
407
+     */
408
+    public function get_date_modified( $context = 'view' ) {
409
+        return $this->get_prop( 'date_modified', $context );
410
+    }
411 411
 
412
-	/**
413
-	 * Alias for self::get_date_modified().
414
-	 *
415
-	 * @since 1.0.19
416
-	 * @param  string $context View or edit context.
417
-	 * @return string
418
-	 */
419
-	public function get_modified_date( $context = 'view' ) {
420
-		return $this->get_date_modified( $context );
412
+    /**
413
+     * Alias for self::get_date_modified().
414
+     *
415
+     * @since 1.0.19
416
+     * @param  string $context View or edit context.
417
+     * @return string
418
+     */
419
+    public function get_modified_date( $context = 'view' ) {
420
+        return $this->get_date_modified( $context );
421 421
     }
422 422
 
423 423
     /**
424
-	 * Get GMT date when the invoice was last modified.
425
-	 *
426
-	 * @since 1.0.19
427
-	 * @param  string $context View or edit context.
428
-	 * @return string
429
-	 */
430
-	public function get_date_modified_gmt( $context = 'view' ) {
424
+     * Get GMT date when the invoice was last modified.
425
+     *
426
+     * @since 1.0.19
427
+     * @param  string $context View or edit context.
428
+     * @return string
429
+     */
430
+    public function get_date_modified_gmt( $context = 'view' ) {
431 431
         $date = $this->get_date_modified( $context );
432 432
 
433 433
         if ( $date ) {
434 434
             $date = get_gmt_from_date( $date );
435 435
         }
436
-		return $date;
436
+        return $date;
437 437
     }
438 438
 
439 439
     /**
440
-	 * Get the invoice due date.
441
-	 *
442
-	 * @since 1.0.19
443
-	 * @param  string $context View or edit context.
444
-	 * @return string
445
-	 */
446
-	public function get_due_date( $context = 'view' ) {
447
-		return $this->get_prop( 'due_date', $context );
440
+     * Get the invoice due date.
441
+     *
442
+     * @since 1.0.19
443
+     * @param  string $context View or edit context.
444
+     * @return string
445
+     */
446
+    public function get_due_date( $context = 'view' ) {
447
+        return $this->get_prop( 'due_date', $context );
448 448
     }
449 449
 
450 450
     /**
451
-	 * Alias for self::get_due_date().
452
-	 *
453
-	 * @since 1.0.19
454
-	 * @param  string $context View or edit context.
455
-	 * @return string
456
-	 */
457
-	public function get_date_due( $context = 'view' ) {
458
-		return $this->get_due_date( $context );
451
+     * Alias for self::get_due_date().
452
+     *
453
+     * @since 1.0.19
454
+     * @param  string $context View or edit context.
455
+     * @return string
456
+     */
457
+    public function get_date_due( $context = 'view' ) {
458
+        return $this->get_due_date( $context );
459 459
     }
460 460
 
461 461
     /**
462
-	 * Get the invoice GMT due date.
463
-	 *
464
-	 * @since 1.0.19
465
-	 * @param  string $context View or edit context.
466
-	 * @return string
467
-	 */
468
-	public function get_due_date_gmt( $context = 'view' ) {
462
+     * Get the invoice GMT due date.
463
+     *
464
+     * @since 1.0.19
465
+     * @param  string $context View or edit context.
466
+     * @return string
467
+     */
468
+    public function get_due_date_gmt( $context = 'view' ) {
469 469
         $date = $this->get_due_date( $context );
470 470
 
471 471
         if ( $date ) {
472 472
             $date = get_gmt_from_date( $date );
473 473
         }
474
-		return $date;
474
+        return $date;
475 475
     }
476 476
 
477 477
     /**
478
-	 * Alias for self::get_due_date_gmt().
479
-	 *
480
-	 * @since 1.0.19
481
-	 * @param  string $context View or edit context.
482
-	 * @return string
483
-	 */
484
-	public function get_gmt_date_due( $context = 'view' ) {
485
-		return $this->get_due_date_gmt( $context );
478
+     * Alias for self::get_due_date_gmt().
479
+     *
480
+     * @since 1.0.19
481
+     * @param  string $context View or edit context.
482
+     * @return string
483
+     */
484
+    public function get_gmt_date_due( $context = 'view' ) {
485
+        return $this->get_due_date_gmt( $context );
486 486
     }
487 487
 
488 488
     /**
489
-	 * Get date when the invoice was completed.
490
-	 *
491
-	 * @since 1.0.19
492
-	 * @param  string $context View or edit context.
493
-	 * @return string
494
-	 */
495
-	public function get_completed_date( $context = 'view' ) {
496
-		return $this->get_prop( 'completed_date', $context );
489
+     * Get date when the invoice was completed.
490
+     *
491
+     * @since 1.0.19
492
+     * @param  string $context View or edit context.
493
+     * @return string
494
+     */
495
+    public function get_completed_date( $context = 'view' ) {
496
+        return $this->get_prop( 'completed_date', $context );
497 497
     }
498 498
 
499 499
     /**
500
-	 * Alias for self::get_completed_date().
501
-	 *
502
-	 * @since 1.0.19
503
-	 * @param  string $context View or edit context.
504
-	 * @return string
505
-	 */
506
-	public function get_date_completed( $context = 'view' ) {
507
-		return $this->get_completed_date( $context );
500
+     * Alias for self::get_completed_date().
501
+     *
502
+     * @since 1.0.19
503
+     * @param  string $context View or edit context.
504
+     * @return string
505
+     */
506
+    public function get_date_completed( $context = 'view' ) {
507
+        return $this->get_completed_date( $context );
508 508
     }
509 509
 
510 510
     /**
511
-	 * Get GMT date when the invoice was was completed.
512
-	 *
513
-	 * @since 1.0.19
514
-	 * @param  string $context View or edit context.
515
-	 * @return string
516
-	 */
517
-	public function get_completed_date_gmt( $context = 'view' ) {
511
+     * Get GMT date when the invoice was was completed.
512
+     *
513
+     * @since 1.0.19
514
+     * @param  string $context View or edit context.
515
+     * @return string
516
+     */
517
+    public function get_completed_date_gmt( $context = 'view' ) {
518 518
         $date = $this->get_completed_date( $context );
519 519
 
520 520
         if ( $date ) {
521 521
             $date = get_gmt_from_date( $date );
522 522
         }
523
-		return $date;
523
+        return $date;
524 524
     }
525 525
 
526 526
     /**
527
-	 * Alias for self::get_completed_date_gmt().
528
-	 *
529
-	 * @since 1.0.19
530
-	 * @param  string $context View or edit context.
531
-	 * @return string
532
-	 */
533
-	public function get_gmt_completed_date( $context = 'view' ) {
534
-		return $this->get_completed_date_gmt( $context );
527
+     * Alias for self::get_completed_date_gmt().
528
+     *
529
+     * @since 1.0.19
530
+     * @param  string $context View or edit context.
531
+     * @return string
532
+     */
533
+    public function get_gmt_completed_date( $context = 'view' ) {
534
+        return $this->get_completed_date_gmt( $context );
535 535
     }
536 536
 
537 537
     /**
538
-	 * Get the invoice number.
539
-	 *
540
-	 * @since 1.0.19
541
-	 * @param  string $context View or edit context.
542
-	 * @return string
543
-	 */
544
-	public function get_number( $context = 'view' ) {
545
-		$number = $this->get_prop( 'number', $context );
538
+     * Get the invoice number.
539
+     *
540
+     * @since 1.0.19
541
+     * @param  string $context View or edit context.
542
+     * @return string
543
+     */
544
+    public function get_number( $context = 'view' ) {
545
+        $number = $this->get_prop( 'number', $context );
546 546
 
547
-		if ( empty( $number ) ) {
548
-			$number = $this->generate_number();
549
-			$this->set_number( $this->generate_number() );
550
-		}
547
+        if ( empty( $number ) ) {
548
+            $number = $this->generate_number();
549
+            $this->set_number( $this->generate_number() );
550
+        }
551 551
 
552
-		return $number;
552
+        return $number;
553 553
     }
554 554
 
555
-	/**
556
-	 * Set the invoice number.
557
-	 *
558
-	 * @since 1.0.19
559
-	 */
560
-	public function maybe_set_number() {
555
+    /**
556
+     * Set the invoice number.
557
+     *
558
+     * @since 1.0.19
559
+     */
560
+    public function maybe_set_number() {
561 561
         $number = $this->get_number();
562 562
 
563 563
         if ( empty( $number ) || $this->get_id() == $number ) {
564
-			$this->set_number( $this->generate_number() );
564
+            $this->set_number( $this->generate_number() );
565 565
         }
566 566
 
567
-	}
567
+    }
568 568
 
569 569
     /**
570
-	 * Get the invoice key.
571
-	 *
572
-	 * @since 1.0.19
573
-	 * @param  string $context View or edit context.
574
-	 * @return string
575
-	 */
576
-	public function get_key( $context = 'view' ) {
570
+     * Get the invoice key.
571
+     *
572
+     * @since 1.0.19
573
+     * @param  string $context View or edit context.
574
+     * @return string
575
+     */
576
+    public function get_key( $context = 'view' ) {
577 577
         return $this->get_prop( 'key', $context );
578
-	}
579
-
580
-	/**
581
-	 * Set the invoice key.
582
-	 *
583
-	 * @since 1.0.19
584
-	 */
585
-	public function maybe_set_key() {
578
+    }
579
+
580
+    /**
581
+     * Set the invoice key.
582
+     *
583
+     * @since 1.0.19
584
+     */
585
+    public function maybe_set_key() {
586 586
         $key = $this->get_key();
587 587
 
588 588
         if ( empty( $key ) ) {
@@ -593,140 +593,140 @@  discard block
 block discarded – undo
593 593
     }
594 594
 
595 595
     /**
596
-	 * Get the invoice type.
597
-	 *
598
-	 * @since 1.0.19
599
-	 * @param  string $context View or edit context.
600
-	 * @return string
601
-	 */
602
-	public function get_type( $context = 'view' ) {
596
+     * Get the invoice type.
597
+     *
598
+     * @since 1.0.19
599
+     * @param  string $context View or edit context.
600
+     * @return string
601
+     */
602
+    public function get_type( $context = 'view' ) {
603 603
         return $this->get_prop( 'type', $context );
604
-	}
605
-
606
-	/**
607
-	 * Returns the post type name.
608
-	 *
609
-	 * @since 1.0.19
610
-	 * @return string
611
-	 */
612
-	public function get_invoice_quote_type() {
604
+    }
605
+
606
+    /**
607
+     * Returns the post type name.
608
+     *
609
+     * @since 1.0.19
610
+     * @return string
611
+     */
612
+    public function get_invoice_quote_type() {
613 613
         return getpaid_get_post_type_label( $this->get_post_type(), false );
614 614
     }
615 615
 
616 616
     /**
617
-	 * Get the invoice post type label.
618
-	 *
619
-	 * @since 1.0.19
620
-	 * @param  string $context View or edit context.
621
-	 * @return string
622
-	 */
623
-	public function get_label( $context = 'view' ) {
617
+     * Get the invoice post type label.
618
+     *
619
+     * @since 1.0.19
620
+     * @param  string $context View or edit context.
621
+     * @return string
622
+     */
623
+    public function get_label( $context = 'view' ) {
624 624
         return getpaid_get_post_type_label( $this->get_post_type( $context ), false );
625
-	}
626
-
627
-	/**
628
-	 * Get the invoice post type.
629
-	 *
630
-	 * @since 1.0.19
631
-	 * @param  string $context View or edit context.
632
-	 * @return string
633
-	 */
634
-	public function get_post_type( $context = 'view' ) {
625
+    }
626
+
627
+    /**
628
+     * Get the invoice post type.
629
+     *
630
+     * @since 1.0.19
631
+     * @param  string $context View or edit context.
632
+     * @return string
633
+     */
634
+    public function get_post_type( $context = 'view' ) {
635 635
         return $this->get_prop( 'post_type', $context );
636 636
     }
637 637
 
638 638
     /**
639
-	 * Get the invoice mode.
640
-	 *
641
-	 * @since 1.0.19
642
-	 * @param  string $context View or edit context.
643
-	 * @return string
644
-	 */
645
-	public function get_mode( $context = 'view' ) {
639
+     * Get the invoice mode.
640
+     *
641
+     * @since 1.0.19
642
+     * @param  string $context View or edit context.
643
+     * @return string
644
+     */
645
+    public function get_mode( $context = 'view' ) {
646 646
         return $this->get_prop( 'mode', $context );
647 647
     }
648 648
 
649 649
     /**
650
-	 * Get the invoice path.
651
-	 *
652
-	 * @since 1.0.19
653
-	 * @param  string $context View or edit context.
654
-	 * @return string
655
-	 */
656
-	public function get_path( $context = 'view' ) {
650
+     * Get the invoice path.
651
+     *
652
+     * @since 1.0.19
653
+     * @param  string $context View or edit context.
654
+     * @return string
655
+     */
656
+    public function get_path( $context = 'view' ) {
657 657
         $path   = $this->get_prop( 'path', $context );
658
-		$prefix = $this->get_type();
658
+        $prefix = $this->get_type();
659 659
 
660
-		if ( 0 !== strpos( $path, $prefix ) ) {
661
-			$path = sanitize_title(  $prefix . '-' . $this->get_id()  );
662
-			$this->set_path( $path );
663
-		}
660
+        if ( 0 !== strpos( $path, $prefix ) ) {
661
+            $path = sanitize_title(  $prefix . '-' . $this->get_id()  );
662
+            $this->set_path( $path );
663
+        }
664 664
 
665
-		return $path;
665
+        return $path;
666 666
     }
667 667
 
668 668
     /**
669
-	 * Get the invoice name/title.
670
-	 *
671
-	 * @since 1.0.19
672
-	 * @param  string $context View or edit context.
673
-	 * @return string
674
-	 */
675
-	public function get_name( $context = 'view' ) {
669
+     * Get the invoice name/title.
670
+     *
671
+     * @since 1.0.19
672
+     * @param  string $context View or edit context.
673
+     * @return string
674
+     */
675
+    public function get_name( $context = 'view' ) {
676 676
         return $this->get_prop( 'title', $context );
677 677
     }
678 678
 
679 679
     /**
680
-	 * Alias of self::get_name().
681
-	 *
682
-	 * @since 1.0.19
683
-	 * @param  string $context View or edit context.
684
-	 * @return string
685
-	 */
686
-	public function get_title( $context = 'view' ) {
687
-		return $this->get_name( $context );
680
+     * Alias of self::get_name().
681
+     *
682
+     * @since 1.0.19
683
+     * @param  string $context View or edit context.
684
+     * @return string
685
+     */
686
+    public function get_title( $context = 'view' ) {
687
+        return $this->get_name( $context );
688 688
     }
689 689
 
690 690
     /**
691
-	 * Get the invoice description.
692
-	 *
693
-	 * @since 1.0.19
694
-	 * @param  string $context View or edit context.
695
-	 * @return string
696
-	 */
697
-	public function get_description( $context = 'view' ) {
698
-		return $this->get_prop( 'description', $context );
691
+     * Get the invoice description.
692
+     *
693
+     * @since 1.0.19
694
+     * @param  string $context View or edit context.
695
+     * @return string
696
+     */
697
+    public function get_description( $context = 'view' ) {
698
+        return $this->get_prop( 'description', $context );
699 699
     }
700 700
 
701 701
     /**
702
-	 * Alias of self::get_description().
703
-	 *
704
-	 * @since 1.0.19
705
-	 * @param  string $context View or edit context.
706
-	 * @return string
707
-	 */
708
-	public function get_excerpt( $context = 'view' ) {
709
-		return $this->get_description( $context );
702
+     * Alias of self::get_description().
703
+     *
704
+     * @since 1.0.19
705
+     * @param  string $context View or edit context.
706
+     * @return string
707
+     */
708
+    public function get_excerpt( $context = 'view' ) {
709
+        return $this->get_description( $context );
710 710
     }
711 711
 
712 712
     /**
713
-	 * Alias of self::get_description().
714
-	 *
715
-	 * @since 1.0.19
716
-	 * @param  string $context View or edit context.
717
-	 * @return string
718
-	 */
719
-	public function get_summary( $context = 'view' ) {
720
-		return $this->get_description( $context );
713
+     * Alias of self::get_description().
714
+     *
715
+     * @since 1.0.19
716
+     * @param  string $context View or edit context.
717
+     * @return string
718
+     */
719
+    public function get_summary( $context = 'view' ) {
720
+        return $this->get_description( $context );
721 721
     }
722 722
 
723 723
     /**
724
-	 * Returns the user info.
725
-	 *
726
-	 * @since 1.0.19
724
+     * Returns the user info.
725
+     *
726
+     * @since 1.0.19
727 727
      * @param  string $context View or edit context.
728
-	 * @return array
729
-	 */
728
+     * @return array
729
+     */
730 730
     public function get_user_info( $context = 'view' ) {
731 731
 
732 732
         $user_info = array(
@@ -743,616 +743,616 @@  discard block
 block discarded – undo
743 743
             'company'    => $this->get_company( $context ),
744 744
             'vat_number' => $this->get_vat_number( $context ),
745 745
             'discount'   => $this->get_discount_code( $context ),
746
-		);
746
+        );
747
+
748
+        return apply_filters( 'wpinv_user_info', $user_info, $this->get_id(), $this );
749
+
750
+    }
751
+
752
+    /**
753
+     * Get the customer id.
754
+     *
755
+     * @since 1.0.19
756
+     * @param  string $context View or edit context.
757
+     * @return int
758
+     */
759
+    public function get_author( $context = 'view' ) {
760
+        return (int) $this->get_prop( 'author', $context );
761
+    }
762
+
763
+    /**
764
+     * Alias of self::get_author().
765
+     *
766
+     * @since 1.0.19
767
+     * @param  string $context View or edit context.
768
+     * @return int
769
+     */
770
+    public function get_user_id( $context = 'view' ) {
771
+        return $this->get_author( $context );
772
+    }
773
+
774
+        /**
775
+         * Alias of self::get_author().
776
+         *
777
+         * @since 1.0.19
778
+         * @param  string $context View or edit context.
779
+         * @return int
780
+         */
781
+    public function get_customer_id( $context = 'view' ) {
782
+        return $this->get_author( $context );
783
+    }
784
+
785
+    /**
786
+     * Get the customer's ip.
787
+     *
788
+     * @since 1.0.19
789
+     * @param  string $context View or edit context.
790
+     * @return string
791
+     */
792
+    public function get_ip( $context = 'view' ) {
793
+        return $this->get_prop( 'user_ip', $context );
794
+    }
795
+
796
+    /**
797
+     * Alias of self::get_ip().
798
+     *
799
+     * @since 1.0.19
800
+     * @param  string $context View or edit context.
801
+     * @return string
802
+     */
803
+    public function get_user_ip( $context = 'view' ) {
804
+        return $this->get_ip( $context );
805
+    }
747 806
 
748
-		return apply_filters( 'wpinv_user_info', $user_info, $this->get_id(), $this );
807
+        /**
808
+         * Alias of self::get_ip().
809
+         *
810
+         * @since 1.0.19
811
+         * @param  string $context View or edit context.
812
+         * @return string
813
+         */
814
+    public function get_customer_ip( $context = 'view' ) {
815
+        return $this->get_ip( $context );
816
+    }
749 817
 
818
+    /**
819
+     * Get the customer's first name.
820
+     *
821
+     * @since 1.0.19
822
+     * @param  string $context View or edit context.
823
+     * @return string
824
+     */
825
+    public function get_first_name( $context = 'view' ) {
826
+        return $this->get_prop( 'first_name', $context );
750 827
     }
751 828
 
752 829
     /**
753
-	 * Get the customer id.
754
-	 *
755
-	 * @since 1.0.19
756
-	 * @param  string $context View or edit context.
757
-	 * @return int
758
-	 */
759
-	public function get_author( $context = 'view' ) {
760
-		return (int) $this->get_prop( 'author', $context );
830
+     * Alias of self::get_first_name().
831
+     *
832
+     * @since 1.0.19
833
+     * @param  string $context View or edit context.
834
+     * @return string
835
+     */
836
+    public function get_user_first_name( $context = 'view' ) {
837
+        return $this->get_first_name( $context );
838
+    }
839
+
840
+        /**
841
+         * Alias of self::get_first_name().
842
+         *
843
+         * @since 1.0.19
844
+         * @param  string $context View or edit context.
845
+         * @return string
846
+         */
847
+    public function get_customer_first_name( $context = 'view' ) {
848
+        return $this->get_first_name( $context );
761 849
     }
762 850
 
763 851
     /**
764
-	 * Alias of self::get_author().
765
-	 *
766
-	 * @since 1.0.19
767
-	 * @param  string $context View or edit context.
768
-	 * @return int
769
-	 */
770
-	public function get_user_id( $context = 'view' ) {
771
-		return $this->get_author( $context );
852
+     * Get the customer's last name.
853
+     *
854
+     * @since 1.0.19
855
+     * @param  string $context View or edit context.
856
+     * @return string
857
+     */
858
+    public function get_last_name( $context = 'view' ) {
859
+        return $this->get_prop( 'last_name', $context );
772 860
     }
773 861
 
774
-     /**
775
-	 * Alias of self::get_author().
776
-	 *
777
-	 * @since 1.0.19
778
-	 * @param  string $context View or edit context.
779
-	 * @return int
780
-	 */
781
-	public function get_customer_id( $context = 'view' ) {
782
-		return $this->get_author( $context );
862
+    /**
863
+     * Alias of self::get_last_name().
864
+     *
865
+     * @since 1.0.19
866
+     * @param  string $context View or edit context.
867
+     * @return string
868
+     */
869
+    public function get_user_last_name( $context = 'view' ) {
870
+        return $this->get_last_name( $context );
783 871
     }
784 872
 
785 873
     /**
786
-	 * Get the customer's ip.
787
-	 *
788
-	 * @since 1.0.19
789
-	 * @param  string $context View or edit context.
790
-	 * @return string
791
-	 */
792
-	public function get_ip( $context = 'view' ) {
793
-		return $this->get_prop( 'user_ip', $context );
874
+     * Alias of self::get_last_name().
875
+     *
876
+     * @since 1.0.19
877
+     * @param  string $context View or edit context.
878
+     * @return string
879
+     */
880
+    public function get_customer_last_name( $context = 'view' ) {
881
+        return $this->get_last_name( $context );
794 882
     }
795 883
 
796 884
     /**
797
-	 * Alias of self::get_ip().
798
-	 *
799
-	 * @since 1.0.19
800
-	 * @param  string $context View or edit context.
801
-	 * @return string
802
-	 */
803
-	public function get_user_ip( $context = 'view' ) {
804
-		return $this->get_ip( $context );
885
+     * Get the customer's full name.
886
+     *
887
+     * @since 1.0.19
888
+     * @param  string $context View or edit context.
889
+     * @return string
890
+     */
891
+    public function get_full_name( $context = 'view' ) {
892
+        return trim( $this->get_first_name( $context ) . ' ' . $this->get_last_name( $context ) );
805 893
     }
806 894
 
807
-     /**
808
-	 * Alias of self::get_ip().
809
-	 *
810
-	 * @since 1.0.19
811
-	 * @param  string $context View or edit context.
812
-	 * @return string
813
-	 */
814
-	public function get_customer_ip( $context = 'view' ) {
815
-		return $this->get_ip( $context );
895
+    /**
896
+     * Alias of self::get_full_name().
897
+     *
898
+     * @since 1.0.19
899
+     * @param  string $context View or edit context.
900
+     * @return string
901
+     */
902
+    public function get_user_full_name( $context = 'view' ) {
903
+        return $this->get_full_name( $context );
816 904
     }
817 905
 
818 906
     /**
819
-	 * Get the customer's first name.
820
-	 *
821
-	 * @since 1.0.19
822
-	 * @param  string $context View or edit context.
823
-	 * @return string
824
-	 */
825
-	public function get_first_name( $context = 'view' ) {
826
-		return $this->get_prop( 'first_name', $context );
907
+     * Alias of self::get_full_name().
908
+     *
909
+     * @since 1.0.19
910
+     * @param  string $context View or edit context.
911
+     * @return string
912
+     */
913
+    public function get_customer_full_name( $context = 'view' ) {
914
+        return $this->get_full_name( $context );
827 915
     }
828 916
 
829 917
     /**
830
-	 * Alias of self::get_first_name().
831
-	 *
832
-	 * @since 1.0.19
833
-	 * @param  string $context View or edit context.
834
-	 * @return string
835
-	 */
836
-	public function get_user_first_name( $context = 'view' ) {
837
-		return $this->get_first_name( $context );
918
+     * Get the customer's phone number.
919
+     *
920
+     * @since 1.0.19
921
+     * @param  string $context View or edit context.
922
+     * @return string
923
+     */
924
+    public function get_phone( $context = 'view' ) {
925
+        return $this->get_prop( 'phone', $context );
838 926
     }
839 927
 
840
-     /**
841
-	 * Alias of self::get_first_name().
842
-	 *
843
-	 * @since 1.0.19
844
-	 * @param  string $context View or edit context.
845
-	 * @return string
846
-	 */
847
-	public function get_customer_first_name( $context = 'view' ) {
848
-		return $this->get_first_name( $context );
928
+    /**
929
+     * Alias of self::get_phone().
930
+     *
931
+     * @since 1.0.19
932
+     * @param  string $context View or edit context.
933
+     * @return string
934
+     */
935
+    public function get_phone_number( $context = 'view' ) {
936
+        return $this->get_phone( $context );
849 937
     }
850 938
 
851 939
     /**
852
-	 * Get the customer's last name.
853
-	 *
854
-	 * @since 1.0.19
855
-	 * @param  string $context View or edit context.
856
-	 * @return string
857
-	 */
858
-	public function get_last_name( $context = 'view' ) {
859
-		return $this->get_prop( 'last_name', $context );
940
+     * Alias of self::get_phone().
941
+     *
942
+     * @since 1.0.19
943
+     * @param  string $context View or edit context.
944
+     * @return string
945
+     */
946
+    public function get_user_phone( $context = 'view' ) {
947
+        return $this->get_phone( $context );
860 948
     }
861 949
 
862 950
     /**
863
-	 * Alias of self::get_last_name().
864
-	 *
865
-	 * @since 1.0.19
866
-	 * @param  string $context View or edit context.
867
-	 * @return string
868
-	 */
869
-	public function get_user_last_name( $context = 'view' ) {
870
-		return $this->get_last_name( $context );
951
+     * Alias of self::get_phone().
952
+     *
953
+     * @since 1.0.19
954
+     * @param  string $context View or edit context.
955
+     * @return string
956
+     */
957
+    public function get_customer_phone( $context = 'view' ) {
958
+        return $this->get_phone( $context );
871 959
     }
872 960
 
873 961
     /**
874
-	 * Alias of self::get_last_name().
875
-	 *
876
-	 * @since 1.0.19
877
-	 * @param  string $context View or edit context.
878
-	 * @return string
879
-	 */
880
-	public function get_customer_last_name( $context = 'view' ) {
881
-		return $this->get_last_name( $context );
962
+     * Get the customer's email address.
963
+     *
964
+     * @since 1.0.19
965
+     * @param  string $context View or edit context.
966
+     * @return string
967
+     */
968
+    public function get_email( $context = 'view' ) {
969
+        return $this->get_prop( 'email', $context );
882 970
     }
883 971
 
884 972
     /**
885
-	 * Get the customer's full name.
886
-	 *
887
-	 * @since 1.0.19
888
-	 * @param  string $context View or edit context.
889
-	 * @return string
890
-	 */
891
-	public function get_full_name( $context = 'view' ) {
892
-		return trim( $this->get_first_name( $context ) . ' ' . $this->get_last_name( $context ) );
973
+     * Alias of self::get_email().
974
+     *
975
+     * @since 1.0.19
976
+     * @param  string $context View or edit context.
977
+     * @return string
978
+     */
979
+    public function get_email_address( $context = 'view' ) {
980
+        return $this->get_email( $context );
893 981
     }
894 982
 
895 983
     /**
896
-	 * Alias of self::get_full_name().
897
-	 *
898
-	 * @since 1.0.19
899
-	 * @param  string $context View or edit context.
900
-	 * @return string
901
-	 */
902
-	public function get_user_full_name( $context = 'view' ) {
903
-		return $this->get_full_name( $context );
984
+     * Alias of self::get_email().
985
+     *
986
+     * @since 1.0.19
987
+     * @param  string $context View or edit context.
988
+     * @return string
989
+     */
990
+    public function get_user_email( $context = 'view' ) {
991
+        return $this->get_email( $context );
904 992
     }
905 993
 
906 994
     /**
907
-	 * Alias of self::get_full_name().
908
-	 *
909
-	 * @since 1.0.19
910
-	 * @param  string $context View or edit context.
911
-	 * @return string
912
-	 */
913
-	public function get_customer_full_name( $context = 'view' ) {
914
-		return $this->get_full_name( $context );
995
+     * Alias of self::get_email().
996
+     *
997
+     * @since 1.0.19
998
+     * @param  string $context View or edit context.
999
+     * @return string
1000
+     */
1001
+    public function get_customer_email( $context = 'view' ) {
1002
+        return $this->get_email( $context );
915 1003
     }
916 1004
 
917 1005
     /**
918
-	 * Get the customer's phone number.
919
-	 *
920
-	 * @since 1.0.19
921
-	 * @param  string $context View or edit context.
922
-	 * @return string
923
-	 */
924
-	public function get_phone( $context = 'view' ) {
925
-		return $this->get_prop( 'phone', $context );
1006
+     * Get the customer's country.
1007
+     *
1008
+     * @since 1.0.19
1009
+     * @param  string $context View or edit context.
1010
+     * @return string
1011
+     */
1012
+    public function get_country( $context = 'view' ) {
1013
+        $country = $this->get_prop( 'country', $context );
1014
+        return empty( $country ) ? wpinv_get_default_country() : $country;
926 1015
     }
927 1016
 
928 1017
     /**
929
-	 * Alias of self::get_phone().
930
-	 *
931
-	 * @since 1.0.19
932
-	 * @param  string $context View or edit context.
933
-	 * @return string
934
-	 */
935
-	public function get_phone_number( $context = 'view' ) {
936
-		return $this->get_phone( $context );
1018
+     * Alias of self::get_country().
1019
+     *
1020
+     * @since 1.0.19
1021
+     * @param  string $context View or edit context.
1022
+     * @return string
1023
+     */
1024
+    public function get_user_country( $context = 'view' ) {
1025
+        return $this->get_country( $context );
937 1026
     }
938 1027
 
939 1028
     /**
940
-	 * Alias of self::get_phone().
941
-	 *
942
-	 * @since 1.0.19
943
-	 * @param  string $context View or edit context.
944
-	 * @return string
945
-	 */
946
-	public function get_user_phone( $context = 'view' ) {
947
-		return $this->get_phone( $context );
1029
+     * Alias of self::get_country().
1030
+     *
1031
+     * @since 1.0.19
1032
+     * @param  string $context View or edit context.
1033
+     * @return string
1034
+     */
1035
+    public function get_customer_country( $context = 'view' ) {
1036
+        return $this->get_country( $context );
948 1037
     }
949 1038
 
950 1039
     /**
951
-	 * Alias of self::get_phone().
952
-	 *
953
-	 * @since 1.0.19
954
-	 * @param  string $context View or edit context.
955
-	 * @return string
956
-	 */
957
-	public function get_customer_phone( $context = 'view' ) {
958
-		return $this->get_phone( $context );
1040
+     * Get the customer's state.
1041
+     *
1042
+     * @since 1.0.19
1043
+     * @param  string $context View or edit context.
1044
+     * @return string
1045
+     */
1046
+    public function get_state( $context = 'view' ) {
1047
+        $state = $this->get_prop( 'state', $context );
1048
+        return empty( $state ) ? wpinv_get_default_state() : $state;
959 1049
     }
960 1050
 
961 1051
     /**
962
-	 * Get the customer's email address.
963
-	 *
964
-	 * @since 1.0.19
965
-	 * @param  string $context View or edit context.
966
-	 * @return string
967
-	 */
968
-	public function get_email( $context = 'view' ) {
969
-		return $this->get_prop( 'email', $context );
1052
+     * Alias of self::get_state().
1053
+     *
1054
+     * @since 1.0.19
1055
+     * @param  string $context View or edit context.
1056
+     * @return string
1057
+     */
1058
+    public function get_user_state( $context = 'view' ) {
1059
+        return $this->get_state( $context );
970 1060
     }
971 1061
 
972 1062
     /**
973
-	 * Alias of self::get_email().
974
-	 *
975
-	 * @since 1.0.19
976
-	 * @param  string $context View or edit context.
977
-	 * @return string
978
-	 */
979
-	public function get_email_address( $context = 'view' ) {
980
-		return $this->get_email( $context );
1063
+     * Alias of self::get_state().
1064
+     *
1065
+     * @since 1.0.19
1066
+     * @param  string $context View or edit context.
1067
+     * @return string
1068
+     */
1069
+    public function get_customer_state( $context = 'view' ) {
1070
+        return $this->get_state( $context );
981 1071
     }
982 1072
 
983 1073
     /**
984
-	 * Alias of self::get_email().
985
-	 *
986
-	 * @since 1.0.19
987
-	 * @param  string $context View or edit context.
988
-	 * @return string
989
-	 */
990
-	public function get_user_email( $context = 'view' ) {
991
-		return $this->get_email( $context );
1074
+     * Get the customer's city.
1075
+     *
1076
+     * @since 1.0.19
1077
+     * @param  string $context View or edit context.
1078
+     * @return string
1079
+     */
1080
+    public function get_city( $context = 'view' ) {
1081
+        return $this->get_prop( 'city', $context );
992 1082
     }
993 1083
 
994 1084
     /**
995
-	 * Alias of self::get_email().
996
-	 *
997
-	 * @since 1.0.19
998
-	 * @param  string $context View or edit context.
999
-	 * @return string
1000
-	 */
1001
-	public function get_customer_email( $context = 'view' ) {
1002
-		return $this->get_email( $context );
1085
+     * Alias of self::get_city().
1086
+     *
1087
+     * @since 1.0.19
1088
+     * @param  string $context View or edit context.
1089
+     * @return string
1090
+     */
1091
+    public function get_user_city( $context = 'view' ) {
1092
+        return $this->get_city( $context );
1003 1093
     }
1004 1094
 
1005 1095
     /**
1006
-	 * Get the customer's country.
1007
-	 *
1008
-	 * @since 1.0.19
1009
-	 * @param  string $context View or edit context.
1010
-	 * @return string
1011
-	 */
1012
-	public function get_country( $context = 'view' ) {
1013
-		$country = $this->get_prop( 'country', $context );
1014
-		return empty( $country ) ? wpinv_get_default_country() : $country;
1096
+     * Alias of self::get_city().
1097
+     *
1098
+     * @since 1.0.19
1099
+     * @param  string $context View or edit context.
1100
+     * @return string
1101
+     */
1102
+    public function get_customer_city( $context = 'view' ) {
1103
+        return $this->get_city( $context );
1015 1104
     }
1016 1105
 
1017 1106
     /**
1018
-	 * Alias of self::get_country().
1019
-	 *
1020
-	 * @since 1.0.19
1021
-	 * @param  string $context View or edit context.
1022
-	 * @return string
1023
-	 */
1024
-	public function get_user_country( $context = 'view' ) {
1025
-		return $this->get_country( $context );
1107
+     * Get the customer's zip.
1108
+     *
1109
+     * @since 1.0.19
1110
+     * @param  string $context View or edit context.
1111
+     * @return string
1112
+     */
1113
+    public function get_zip( $context = 'view' ) {
1114
+        return $this->get_prop( 'zip', $context );
1026 1115
     }
1027 1116
 
1028 1117
     /**
1029
-	 * Alias of self::get_country().
1030
-	 *
1031
-	 * @since 1.0.19
1032
-	 * @param  string $context View or edit context.
1033
-	 * @return string
1034
-	 */
1035
-	public function get_customer_country( $context = 'view' ) {
1036
-		return $this->get_country( $context );
1118
+     * Alias of self::get_zip().
1119
+     *
1120
+     * @since 1.0.19
1121
+     * @param  string $context View or edit context.
1122
+     * @return string
1123
+     */
1124
+    public function get_user_zip( $context = 'view' ) {
1125
+        return $this->get_zip( $context );
1037 1126
     }
1038 1127
 
1039 1128
     /**
1040
-	 * Get the customer's state.
1041
-	 *
1042
-	 * @since 1.0.19
1043
-	 * @param  string $context View or edit context.
1044
-	 * @return string
1045
-	 */
1046
-	public function get_state( $context = 'view' ) {
1047
-		$state = $this->get_prop( 'state', $context );
1048
-		return empty( $state ) ? wpinv_get_default_state() : $state;
1129
+     * Alias of self::get_zip().
1130
+     *
1131
+     * @since 1.0.19
1132
+     * @param  string $context View or edit context.
1133
+     * @return string
1134
+     */
1135
+    public function get_customer_zip( $context = 'view' ) {
1136
+        return $this->get_zip( $context );
1049 1137
     }
1050 1138
 
1051 1139
     /**
1052
-	 * Alias of self::get_state().
1053
-	 *
1054
-	 * @since 1.0.19
1055
-	 * @param  string $context View or edit context.
1056
-	 * @return string
1057
-	 */
1058
-	public function get_user_state( $context = 'view' ) {
1059
-		return $this->get_state( $context );
1140
+     * Get the customer's company.
1141
+     *
1142
+     * @since 1.0.19
1143
+     * @param  string $context View or edit context.
1144
+     * @return string
1145
+     */
1146
+    public function get_company( $context = 'view' ) {
1147
+        return $this->get_prop( 'company', $context );
1060 1148
     }
1061 1149
 
1062 1150
     /**
1063
-	 * Alias of self::get_state().
1064
-	 *
1065
-	 * @since 1.0.19
1066
-	 * @param  string $context View or edit context.
1067
-	 * @return string
1068
-	 */
1069
-	public function get_customer_state( $context = 'view' ) {
1070
-		return $this->get_state( $context );
1151
+     * Alias of self::get_company().
1152
+     *
1153
+     * @since 1.0.19
1154
+     * @param  string $context View or edit context.
1155
+     * @return string
1156
+     */
1157
+    public function get_user_company( $context = 'view' ) {
1158
+        return $this->get_company( $context );
1071 1159
     }
1072 1160
 
1073 1161
     /**
1074
-	 * Get the customer's city.
1075
-	 *
1076
-	 * @since 1.0.19
1077
-	 * @param  string $context View or edit context.
1078
-	 * @return string
1079
-	 */
1080
-	public function get_city( $context = 'view' ) {
1081
-		return $this->get_prop( 'city', $context );
1162
+     * Alias of self::get_company().
1163
+     *
1164
+     * @since 1.0.19
1165
+     * @param  string $context View or edit context.
1166
+     * @return string
1167
+     */
1168
+    public function get_customer_company( $context = 'view' ) {
1169
+        return $this->get_company( $context );
1082 1170
     }
1083 1171
 
1084 1172
     /**
1085
-	 * Alias of self::get_city().
1086
-	 *
1087
-	 * @since 1.0.19
1088
-	 * @param  string $context View or edit context.
1089
-	 * @return string
1090
-	 */
1091
-	public function get_user_city( $context = 'view' ) {
1092
-		return $this->get_city( $context );
1173
+     * Get the customer's vat number.
1174
+     *
1175
+     * @since 1.0.19
1176
+     * @param  string $context View or edit context.
1177
+     * @return string
1178
+     */
1179
+    public function get_vat_number( $context = 'view' ) {
1180
+        return $this->get_prop( 'vat_number', $context );
1093 1181
     }
1094 1182
 
1095 1183
     /**
1096
-	 * Alias of self::get_city().
1097
-	 *
1098
-	 * @since 1.0.19
1099
-	 * @param  string $context View or edit context.
1100
-	 * @return string
1101
-	 */
1102
-	public function get_customer_city( $context = 'view' ) {
1103
-		return $this->get_city( $context );
1184
+     * Alias of self::get_vat_number().
1185
+     *
1186
+     * @since 1.0.19
1187
+     * @param  string $context View or edit context.
1188
+     * @return string
1189
+     */
1190
+    public function get_user_vat_number( $context = 'view' ) {
1191
+        return $this->get_vat_number( $context );
1104 1192
     }
1105 1193
 
1106 1194
     /**
1107
-	 * Get the customer's zip.
1108
-	 *
1109
-	 * @since 1.0.19
1110
-	 * @param  string $context View or edit context.
1111
-	 * @return string
1112
-	 */
1113
-	public function get_zip( $context = 'view' ) {
1114
-		return $this->get_prop( 'zip', $context );
1195
+     * Alias of self::get_vat_number().
1196
+     *
1197
+     * @since 1.0.19
1198
+     * @param  string $context View or edit context.
1199
+     * @return string
1200
+     */
1201
+    public function get_customer_vat_number( $context = 'view' ) {
1202
+        return $this->get_vat_number( $context );
1115 1203
     }
1116 1204
 
1117 1205
     /**
1118
-	 * Alias of self::get_zip().
1119
-	 *
1120
-	 * @since 1.0.19
1121
-	 * @param  string $context View or edit context.
1122
-	 * @return string
1123
-	 */
1124
-	public function get_user_zip( $context = 'view' ) {
1125
-		return $this->get_zip( $context );
1206
+     * Get the customer's vat rate.
1207
+     *
1208
+     * @since 1.0.19
1209
+     * @param  string $context View or edit context.
1210
+     * @return string
1211
+     */
1212
+    public function get_vat_rate( $context = 'view' ) {
1213
+        return $this->get_prop( 'vat_rate', $context );
1126 1214
     }
1127 1215
 
1128 1216
     /**
1129
-	 * Alias of self::get_zip().
1130
-	 *
1131
-	 * @since 1.0.19
1132
-	 * @param  string $context View or edit context.
1133
-	 * @return string
1134
-	 */
1135
-	public function get_customer_zip( $context = 'view' ) {
1136
-		return $this->get_zip( $context );
1217
+     * Alias of self::get_vat_rate().
1218
+     *
1219
+     * @since 1.0.19
1220
+     * @param  string $context View or edit context.
1221
+     * @return string
1222
+     */
1223
+    public function get_user_vat_rate( $context = 'view' ) {
1224
+        return $this->get_vat_rate( $context );
1137 1225
     }
1138 1226
 
1139 1227
     /**
1140
-	 * Get the customer's company.
1141
-	 *
1142
-	 * @since 1.0.19
1143
-	 * @param  string $context View or edit context.
1144
-	 * @return string
1145
-	 */
1146
-	public function get_company( $context = 'view' ) {
1147
-		return $this->get_prop( 'company', $context );
1228
+     * Alias of self::get_vat_rate().
1229
+     *
1230
+     * @since 1.0.19
1231
+     * @param  string $context View or edit context.
1232
+     * @return string
1233
+     */
1234
+    public function get_customer_vat_rate( $context = 'view' ) {
1235
+        return $this->get_vat_rate( $context );
1148 1236
     }
1149 1237
 
1150 1238
     /**
1151
-	 * Alias of self::get_company().
1152
-	 *
1153
-	 * @since 1.0.19
1154
-	 * @param  string $context View or edit context.
1155
-	 * @return string
1156
-	 */
1157
-	public function get_user_company( $context = 'view' ) {
1158
-		return $this->get_company( $context );
1239
+     * Get the customer's address.
1240
+     *
1241
+     * @since 1.0.19
1242
+     * @param  string $context View or edit context.
1243
+     * @return string
1244
+     */
1245
+    public function get_address( $context = 'view' ) {
1246
+        return $this->get_prop( 'address', $context );
1159 1247
     }
1160 1248
 
1161 1249
     /**
1162
-	 * Alias of self::get_company().
1163
-	 *
1164
-	 * @since 1.0.19
1165
-	 * @param  string $context View or edit context.
1166
-	 * @return string
1167
-	 */
1168
-	public function get_customer_company( $context = 'view' ) {
1169
-		return $this->get_company( $context );
1250
+     * Alias of self::get_address().
1251
+     *
1252
+     * @since 1.0.19
1253
+     * @param  string $context View or edit context.
1254
+     * @return string
1255
+     */
1256
+    public function get_user_address( $context = 'view' ) {
1257
+        return $this->get_address( $context );
1258
+    }
1259
+
1260
+    /**
1261
+     * Alias of self::get_address().
1262
+     *
1263
+     * @since 1.0.19
1264
+     * @param  string $context View or edit context.
1265
+     * @return string
1266
+     */
1267
+    public function get_customer_address( $context = 'view' ) {
1268
+        return $this->get_address( $context );
1269
+    }
1270
+
1271
+    /**
1272
+     * Get whether the customer has viewed the invoice or not.
1273
+     *
1274
+     * @since 1.0.19
1275
+     * @param  string $context View or edit context.
1276
+     * @return bool
1277
+     */
1278
+    public function get_is_viewed( $context = 'view' ) {
1279
+        return (bool) $this->get_prop( 'is_viewed', $context );
1170 1280
     }
1171 1281
 
1172 1282
     /**
1173
-	 * Get the customer's vat number.
1174
-	 *
1175
-	 * @since 1.0.19
1176
-	 * @param  string $context View or edit context.
1177
-	 * @return string
1178
-	 */
1179
-	public function get_vat_number( $context = 'view' ) {
1180
-		return $this->get_prop( 'vat_number', $context );
1283
+     * Get other recipients for invoice communications.
1284
+     *
1285
+     * @since 1.0.19
1286
+     * @param  string $context View or edit context.
1287
+     * @return bool
1288
+     */
1289
+    public function get_email_cc( $context = 'view' ) {
1290
+        return $this->get_prop( 'email_cc', $context );
1181 1291
     }
1182 1292
 
1183 1293
     /**
1184
-	 * Alias of self::get_vat_number().
1185
-	 *
1186
-	 * @since 1.0.19
1187
-	 * @param  string $context View or edit context.
1188
-	 * @return string
1189
-	 */
1190
-	public function get_user_vat_number( $context = 'view' ) {
1191
-		return $this->get_vat_number( $context );
1294
+     * Get invoice template.
1295
+     *
1296
+     * @since 1.0.19
1297
+     * @param  string $context View or edit context.
1298
+     * @return bool
1299
+     */
1300
+    public function get_template( $context = 'view' ) {
1301
+        return $this->get_prop( 'template', $context );
1192 1302
     }
1193 1303
 
1194 1304
     /**
1195
-	 * Alias of self::get_vat_number().
1196
-	 *
1197
-	 * @since 1.0.19
1198
-	 * @param  string $context View or edit context.
1199
-	 * @return string
1200
-	 */
1201
-	public function get_customer_vat_number( $context = 'view' ) {
1202
-		return $this->get_vat_number( $context );
1305
+     * Get invoice source.
1306
+     *
1307
+     * @since 1.0.19
1308
+     * @param  string $context View or edit context.
1309
+     * @return bool
1310
+     */
1311
+    public function get_created_via( $context = 'view' ) {
1312
+        return $this->get_prop( 'created_via', $context );
1203 1313
     }
1204 1314
 
1205 1315
     /**
1206
-	 * Get the customer's vat rate.
1207
-	 *
1208
-	 * @since 1.0.19
1209
-	 * @param  string $context View or edit context.
1210
-	 * @return string
1211
-	 */
1212
-	public function get_vat_rate( $context = 'view' ) {
1213
-		return $this->get_prop( 'vat_rate', $context );
1214
-    }
1215
-
1216
-    /**
1217
-	 * Alias of self::get_vat_rate().
1218
-	 *
1219
-	 * @since 1.0.19
1220
-	 * @param  string $context View or edit context.
1221
-	 * @return string
1222
-	 */
1223
-	public function get_user_vat_rate( $context = 'view' ) {
1224
-		return $this->get_vat_rate( $context );
1225
-    }
1226
-
1227
-    /**
1228
-	 * Alias of self::get_vat_rate().
1229
-	 *
1230
-	 * @since 1.0.19
1231
-	 * @param  string $context View or edit context.
1232
-	 * @return string
1233
-	 */
1234
-	public function get_customer_vat_rate( $context = 'view' ) {
1235
-		return $this->get_vat_rate( $context );
1236
-    }
1237
-
1238
-    /**
1239
-	 * Get the customer's address.
1240
-	 *
1241
-	 * @since 1.0.19
1242
-	 * @param  string $context View or edit context.
1243
-	 * @return string
1244
-	 */
1245
-	public function get_address( $context = 'view' ) {
1246
-		return $this->get_prop( 'address', $context );
1247
-    }
1248
-
1249
-    /**
1250
-	 * Alias of self::get_address().
1251
-	 *
1252
-	 * @since 1.0.19
1253
-	 * @param  string $context View or edit context.
1254
-	 * @return string
1255
-	 */
1256
-	public function get_user_address( $context = 'view' ) {
1257
-		return $this->get_address( $context );
1258
-    }
1259
-
1260
-    /**
1261
-	 * Alias of self::get_address().
1262
-	 *
1263
-	 * @since 1.0.19
1264
-	 * @param  string $context View or edit context.
1265
-	 * @return string
1266
-	 */
1267
-	public function get_customer_address( $context = 'view' ) {
1268
-		return $this->get_address( $context );
1269
-    }
1270
-
1271
-    /**
1272
-	 * Get whether the customer has viewed the invoice or not.
1273
-	 *
1274
-	 * @since 1.0.19
1275
-	 * @param  string $context View or edit context.
1276
-	 * @return bool
1277
-	 */
1278
-	public function get_is_viewed( $context = 'view' ) {
1279
-		return (bool) $this->get_prop( 'is_viewed', $context );
1280
-	}
1281
-
1282
-	/**
1283
-	 * Get other recipients for invoice communications.
1284
-	 *
1285
-	 * @since 1.0.19
1286
-	 * @param  string $context View or edit context.
1287
-	 * @return bool
1288
-	 */
1289
-	public function get_email_cc( $context = 'view' ) {
1290
-		return $this->get_prop( 'email_cc', $context );
1291
-	}
1292
-
1293
-	/**
1294
-	 * Get invoice template.
1295
-	 *
1296
-	 * @since 1.0.19
1297
-	 * @param  string $context View or edit context.
1298
-	 * @return bool
1299
-	 */
1300
-	public function get_template( $context = 'view' ) {
1301
-		return $this->get_prop( 'template', $context );
1302
-	}
1303
-
1304
-	/**
1305
-	 * Get invoice source.
1306
-	 *
1307
-	 * @since 1.0.19
1308
-	 * @param  string $context View or edit context.
1309
-	 * @return bool
1310
-	 */
1311
-	public function get_created_via( $context = 'view' ) {
1312
-		return $this->get_prop( 'created_via', $context );
1313
-	}
1314
-
1315
-	/**
1316
-	 * Get whether the customer has confirmed their address.
1317
-	 *
1318
-	 * @since 1.0.19
1319
-	 * @param  string $context View or edit context.
1320
-	 * @return bool
1321
-	 */
1322
-	public function get_address_confirmed( $context = 'view' ) {
1323
-		return (bool) $this->get_prop( 'address_confirmed', $context );
1324
-    }
1325
-
1326
-    /**
1327
-	 * Alias of self::get_address_confirmed().
1328
-	 *
1329
-	 * @since 1.0.19
1330
-	 * @param  string $context View or edit context.
1331
-	 * @return bool
1332
-	 */
1333
-	public function get_user_address_confirmed( $context = 'view' ) {
1334
-		return $this->get_address_confirmed( $context );
1335
-    }
1336
-
1337
-    /**
1338
-	 * Alias of self::get_address().
1339
-	 *
1340
-	 * @since 1.0.19
1341
-	 * @param  string $context View or edit context.
1342
-	 * @return bool
1343
-	 */
1344
-	public function get_customer_address_confirmed( $context = 'view' ) {
1345
-		return $this->get_address_confirmed( $context );
1346
-    }
1347
-
1348
-    /**
1349
-	 * Get the invoice subtotal.
1350
-	 *
1351
-	 * @since 1.0.19
1352
-	 * @param  string $context View or edit context.
1353
-	 * @return float
1354
-	 */
1355
-	public function get_subtotal( $context = 'view' ) {
1316
+     * Get whether the customer has confirmed their address.
1317
+     *
1318
+     * @since 1.0.19
1319
+     * @param  string $context View or edit context.
1320
+     * @return bool
1321
+     */
1322
+    public function get_address_confirmed( $context = 'view' ) {
1323
+        return (bool) $this->get_prop( 'address_confirmed', $context );
1324
+    }
1325
+
1326
+    /**
1327
+     * Alias of self::get_address_confirmed().
1328
+     *
1329
+     * @since 1.0.19
1330
+     * @param  string $context View or edit context.
1331
+     * @return bool
1332
+     */
1333
+    public function get_user_address_confirmed( $context = 'view' ) {
1334
+        return $this->get_address_confirmed( $context );
1335
+    }
1336
+
1337
+    /**
1338
+     * Alias of self::get_address().
1339
+     *
1340
+     * @since 1.0.19
1341
+     * @param  string $context View or edit context.
1342
+     * @return bool
1343
+     */
1344
+    public function get_customer_address_confirmed( $context = 'view' ) {
1345
+        return $this->get_address_confirmed( $context );
1346
+    }
1347
+
1348
+    /**
1349
+     * Get the invoice subtotal.
1350
+     *
1351
+     * @since 1.0.19
1352
+     * @param  string $context View or edit context.
1353
+     * @return float
1354
+     */
1355
+    public function get_subtotal( $context = 'view' ) {
1356 1356
         $subtotal = (float) $this->get_prop( 'subtotal', $context );
1357 1357
 
1358 1358
         // Backwards compatibility.
@@ -1364,167 +1364,167 @@  discard block
 block discarded – undo
1364 1364
     }
1365 1365
 
1366 1366
     /**
1367
-	 * Get the invoice discount total.
1368
-	 *
1369
-	 * @since 1.0.19
1370
-	 * @param  string $context View or edit context.
1371
-	 * @return float
1372
-	 */
1373
-	public function get_total_discount( $context = 'view' ) {
1374
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_discount', $context ) ) );
1367
+     * Get the invoice discount total.
1368
+     *
1369
+     * @since 1.0.19
1370
+     * @param  string $context View or edit context.
1371
+     * @return float
1372
+     */
1373
+    public function get_total_discount( $context = 'view' ) {
1374
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_discount', $context ) ) );
1375 1375
     }
1376 1376
 
1377 1377
     /**
1378
-	 * Get the invoice tax total.
1379
-	 *
1380
-	 * @since 1.0.19
1381
-	 * @param  string $context View or edit context.
1382
-	 * @return float
1383
-	 */
1384
-	public function get_total_tax( $context = 'view' ) {
1385
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_tax', $context ) ) );
1386
-	}
1378
+     * Get the invoice tax total.
1379
+     *
1380
+     * @since 1.0.19
1381
+     * @param  string $context View or edit context.
1382
+     * @return float
1383
+     */
1384
+    public function get_total_tax( $context = 'view' ) {
1385
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_tax', $context ) ) );
1386
+    }
1387 1387
 
1388
-	/**
1389
-	 * @deprecated
1390
-	 */
1391
-	public function get_final_tax( $currency = false ) {
1392
-		$tax = $this->get_total_tax();
1388
+    /**
1389
+     * @deprecated
1390
+     */
1391
+    public function get_final_tax( $currency = false ) {
1392
+        $tax = $this->get_total_tax();
1393 1393
 
1394 1394
         if ( $currency ) {
1395
-			return wpinv_price( $tax, $this->get_currency() );
1395
+            return wpinv_price( $tax, $this->get_currency() );
1396 1396
         }
1397 1397
 
1398 1398
         return $tax;
1399 1399
     }
1400 1400
 
1401 1401
     /**
1402
-	 * Get the invoice fees total.
1403
-	 *
1404
-	 * @since 1.0.19
1405
-	 * @param  string $context View or edit context.
1406
-	 * @return float
1407
-	 */
1408
-	public function get_total_fees( $context = 'view' ) {
1409
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_fees', $context ) ) );
1402
+     * Get the invoice fees total.
1403
+     *
1404
+     * @since 1.0.19
1405
+     * @param  string $context View or edit context.
1406
+     * @return float
1407
+     */
1408
+    public function get_total_fees( $context = 'view' ) {
1409
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_fees', $context ) ) );
1410 1410
     }
1411 1411
 
1412 1412
     /**
1413
-	 * Alias for self::get_total_fees().
1414
-	 *
1415
-	 * @since 1.0.19
1416
-	 * @param  string $context View or edit context.
1417
-	 * @return float
1418
-	 */
1419
-	public function get_fees_total( $context = 'view' ) {
1420
-		return $this->get_total_fees( $context );
1413
+     * Alias for self::get_total_fees().
1414
+     *
1415
+     * @since 1.0.19
1416
+     * @param  string $context View or edit context.
1417
+     * @return float
1418
+     */
1419
+    public function get_fees_total( $context = 'view' ) {
1420
+        return $this->get_total_fees( $context );
1421 1421
     }
1422 1422
 
1423 1423
     /**
1424
-	 * Get the invoice total.
1425
-	 *
1426
-	 * @since 1.0.19
1424
+     * Get the invoice total.
1425
+     *
1426
+     * @since 1.0.19
1427 1427
      * @return float
1428
-	 */
1429
-	public function get_total() {
1430
-		$total = $this->is_renewal() ? $this->get_recurring_total() : $this->get_initial_total();
1431
-		return apply_filters( 'getpaid_get_invoice_total_amount', $total, $this  );
1432
-	}
1428
+     */
1429
+    public function get_total() {
1430
+        $total = $this->is_renewal() ? $this->get_recurring_total() : $this->get_initial_total();
1431
+        return apply_filters( 'getpaid_get_invoice_total_amount', $total, $this  );
1432
+    }
1433 1433
 	
1434
-	/**
1435
-	 * Get the invoice totals.
1436
-	 *
1437
-	 * @since 1.0.19
1434
+    /**
1435
+     * Get the invoice totals.
1436
+     *
1437
+     * @since 1.0.19
1438 1438
      * @return array
1439
-	 */
1440
-	public function get_totals() {
1441
-		return $this->totals;
1439
+     */
1440
+    public function get_totals() {
1441
+        return $this->totals;
1442 1442
     }
1443 1443
 
1444 1444
     /**
1445
-	 * Get the initial invoice total.
1446
-	 *
1447
-	 * @since 1.0.19
1445
+     * Get the initial invoice total.
1446
+     *
1447
+     * @since 1.0.19
1448 1448
      * @param  string $context View or edit context.
1449 1449
      * @return float
1450
-	 */
1450
+     */
1451 1451
     public function get_initial_total() {
1452 1452
 
1453
-		if ( empty( $this->totals ) ) {
1454
-			$this->recalculate_total();
1455
-		}
1453
+        if ( empty( $this->totals ) ) {
1454
+            $this->recalculate_total();
1455
+        }
1456 1456
 
1457
-		$tax      = $this->totals['tax']['initial'];
1458
-		$fee      = $this->totals['fee']['initial'];
1459
-		$discount = $this->totals['discount']['initial'];
1460
-		$subtotal = $this->totals['subtotal']['initial'];
1461
-		$total    = $tax + $fee - $discount + $subtotal;
1457
+        $tax      = $this->totals['tax']['initial'];
1458
+        $fee      = $this->totals['fee']['initial'];
1459
+        $discount = $this->totals['discount']['initial'];
1460
+        $subtotal = $this->totals['subtotal']['initial'];
1461
+        $total    = $tax + $fee - $discount + $subtotal;
1462 1462
 
1463
-		if ( 0 > $total ) {
1464
-			$total = 0;
1465
-		}
1463
+        if ( 0 > $total ) {
1464
+            $total = 0;
1465
+        }
1466 1466
 
1467
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1467
+        $total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1468 1468
         return apply_filters( 'wpinv_get_initial_invoice_total', $total, $this );
1469
-	}
1469
+    }
1470 1470
 
1471
-	/**
1472
-	 * Get the recurring invoice total.
1473
-	 *
1474
-	 * @since 1.0.19
1471
+    /**
1472
+     * Get the recurring invoice total.
1473
+     *
1474
+     * @since 1.0.19
1475 1475
      * @param  string $context View or edit context.
1476 1476
      * @return float
1477
-	 */
1477
+     */
1478 1478
     public function get_recurring_total() {
1479 1479
 
1480
-		if ( empty( $this->totals ) ) {
1481
-			$this->recalculate_total();
1482
-		}
1480
+        if ( empty( $this->totals ) ) {
1481
+            $this->recalculate_total();
1482
+        }
1483 1483
 
1484
-		$tax      = $this->totals['tax']['recurring'];
1485
-		$fee      = $this->totals['fee']['recurring'];
1486
-		$discount = $this->totals['discount']['recurring'];
1487
-		$subtotal = $this->totals['subtotal']['recurring'];
1488
-		$total    = $tax + $fee - $discount + $subtotal;
1484
+        $tax      = $this->totals['tax']['recurring'];
1485
+        $fee      = $this->totals['fee']['recurring'];
1486
+        $discount = $this->totals['discount']['recurring'];
1487
+        $subtotal = $this->totals['subtotal']['recurring'];
1488
+        $total    = $tax + $fee - $discount + $subtotal;
1489 1489
 
1490
-		if ( 0 > $total ) {
1491
-			$total = 0;
1492
-		}
1490
+        if ( 0 > $total ) {
1491
+            $total = 0;
1492
+        }
1493 1493
 
1494
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1494
+        $total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1495 1495
         return apply_filters( 'wpinv_get_recurring_invoice_total', $total, $this );
1496
-	}
1496
+    }
1497 1497
 
1498
-	/**
1499
-	 * Returns recurring payment details.
1500
-	 *
1501
-	 * @since 1.0.19
1498
+    /**
1499
+     * Returns recurring payment details.
1500
+     *
1501
+     * @since 1.0.19
1502 1502
      * @param  string $field Optionally provide a field to return.
1503
-	 * @param string $currency Whether to include the currency.
1503
+     * @param string $currency Whether to include the currency.
1504 1504
      * @return float|string
1505
-	 */
1505
+     */
1506 1506
     public function get_recurring_details( $field = '', $currency = false ) {
1507 1507
 
1508
-		// Maybe recalculate totals.
1509
-		if ( empty( $this->totals ) ) {
1510
-			$this->recalculate_total();
1511
-		}
1508
+        // Maybe recalculate totals.
1509
+        if ( empty( $this->totals ) ) {
1510
+            $this->recalculate_total();
1511
+        }
1512 1512
 
1513
-		// Prepare recurring totals.
1513
+        // Prepare recurring totals.
1514 1514
         $data = apply_filters(
1515
-			'wpinv_get_invoice_recurring_details',
1516
-			array(
1517
-				'cart_details' => $this->get_cart_details(),
1518
-				'subtotal'     => $this->totals['subtotal']['recurring'],
1519
-				'discount'     => $this->totals['discount']['recurring'],
1520
-				'tax'          => $this->totals['tax']['recurring'],
1521
-				'fee'          => $this->totals['fee']['recurring'],
1522
-				'total'        => $this->get_recurring_total(),
1523
-			),
1524
-			$this,
1525
-			$field,
1526
-			$currency
1527
-		);
1515
+            'wpinv_get_invoice_recurring_details',
1516
+            array(
1517
+                'cart_details' => $this->get_cart_details(),
1518
+                'subtotal'     => $this->totals['subtotal']['recurring'],
1519
+                'discount'     => $this->totals['discount']['recurring'],
1520
+                'tax'          => $this->totals['tax']['recurring'],
1521
+                'fee'          => $this->totals['fee']['recurring'],
1522
+                'total'        => $this->get_recurring_total(),
1523
+            ),
1524
+            $this,
1525
+            $field,
1526
+            $currency
1527
+        );
1528 1528
 
1529 1529
         if ( isset( $data[$field] ) ) {
1530 1530
             return ( $currency ? wpinv_price( $data[$field], $this->get_currency() ) : $data[$field] );
@@ -1534,166 +1534,166 @@  discard block
 block discarded – undo
1534 1534
     }
1535 1535
 
1536 1536
     /**
1537
-	 * Get the invoice fees.
1538
-	 *
1539
-	 * @since 1.0.19
1540
-	 * @param  string $context View or edit context.
1541
-	 * @return array
1542
-	 */
1543
-	public function get_fees( $context = 'view' ) {
1544
-		return wpinv_parse_list( $this->get_prop( 'fees', $context ) );
1537
+     * Get the invoice fees.
1538
+     *
1539
+     * @since 1.0.19
1540
+     * @param  string $context View or edit context.
1541
+     * @return array
1542
+     */
1543
+    public function get_fees( $context = 'view' ) {
1544
+        return wpinv_parse_list( $this->get_prop( 'fees', $context ) );
1545 1545
     }
1546 1546
 
1547 1547
     /**
1548
-	 * Get the invoice discounts.
1549
-	 *
1550
-	 * @since 1.0.19
1551
-	 * @param  string $context View or edit context.
1552
-	 * @return array
1553
-	 */
1554
-	public function get_discounts( $context = 'view' ) {
1555
-		return wpinv_parse_list( $this->get_prop( 'discounts', $context ) );
1548
+     * Get the invoice discounts.
1549
+     *
1550
+     * @since 1.0.19
1551
+     * @param  string $context View or edit context.
1552
+     * @return array
1553
+     */
1554
+    public function get_discounts( $context = 'view' ) {
1555
+        return wpinv_parse_list( $this->get_prop( 'discounts', $context ) );
1556 1556
     }
1557 1557
 
1558 1558
     /**
1559
-	 * Get the invoice taxes.
1560
-	 *
1561
-	 * @since 1.0.19
1562
-	 * @param  string $context View or edit context.
1563
-	 * @return array
1564
-	 */
1565
-	public function get_taxes( $context = 'view' ) {
1566
-		return wpinv_parse_list( $this->get_prop( 'taxes', $context ) );
1559
+     * Get the invoice taxes.
1560
+     *
1561
+     * @since 1.0.19
1562
+     * @param  string $context View or edit context.
1563
+     * @return array
1564
+     */
1565
+    public function get_taxes( $context = 'view' ) {
1566
+        return wpinv_parse_list( $this->get_prop( 'taxes', $context ) );
1567 1567
     }
1568 1568
 
1569 1569
     /**
1570
-	 * Get the invoice items.
1571
-	 *
1572
-	 * @since 1.0.19
1573
-	 * @param  string $context View or edit context.
1574
-	 * @return GetPaid_Form_Item[]
1575
-	 */
1576
-	public function get_items( $context = 'view' ) {
1570
+     * Get the invoice items.
1571
+     *
1572
+     * @since 1.0.19
1573
+     * @param  string $context View or edit context.
1574
+     * @return GetPaid_Form_Item[]
1575
+     */
1576
+    public function get_items( $context = 'view' ) {
1577 1577
         return $this->get_prop( 'items', $context );
1578
-	}
1578
+    }
1579 1579
 	
1580
-	/**
1581
-	 * Get the invoice item ids.
1582
-	 *
1583
-	 * @since 1.0.19
1584
-	 * @return string
1585
-	 */
1586
-	public function get_item_ids() {
1587
-		return implode( ', ', wp_list_pluck( $this->get_cart_details(), 'item_id' ) );
1580
+    /**
1581
+     * Get the invoice item ids.
1582
+     *
1583
+     * @since 1.0.19
1584
+     * @return string
1585
+     */
1586
+    public function get_item_ids() {
1587
+        return implode( ', ', wp_list_pluck( $this->get_cart_details(), 'item_id' ) );
1588 1588
     }
1589 1589
 
1590 1590
     /**
1591
-	 * Get the invoice's payment form.
1592
-	 *
1593
-	 * @since 1.0.19
1594
-	 * @param  string $context View or edit context.
1595
-	 * @return int
1596
-	 */
1597
-	public function get_payment_form( $context = 'view' ) {
1598
-		return intval( $this->get_prop( 'payment_form', $context ) );
1591
+     * Get the invoice's payment form.
1592
+     *
1593
+     * @since 1.0.19
1594
+     * @param  string $context View or edit context.
1595
+     * @return int
1596
+     */
1597
+    public function get_payment_form( $context = 'view' ) {
1598
+        return intval( $this->get_prop( 'payment_form', $context ) );
1599 1599
     }
1600 1600
 
1601 1601
     /**
1602
-	 * Get the invoice's submission id.
1603
-	 *
1604
-	 * @since 1.0.19
1605
-	 * @param  string $context View or edit context.
1606
-	 * @return string
1607
-	 */
1608
-	public function get_submission_id( $context = 'view' ) {
1609
-		return $this->get_prop( 'submission_id', $context );
1602
+     * Get the invoice's submission id.
1603
+     *
1604
+     * @since 1.0.19
1605
+     * @param  string $context View or edit context.
1606
+     * @return string
1607
+     */
1608
+    public function get_submission_id( $context = 'view' ) {
1609
+        return $this->get_prop( 'submission_id', $context );
1610 1610
     }
1611 1611
 
1612 1612
     /**
1613
-	 * Get the invoice's discount code.
1614
-	 *
1615
-	 * @since 1.0.19
1616
-	 * @param  string $context View or edit context.
1617
-	 * @return string
1618
-	 */
1619
-	public function get_discount_code( $context = 'view' ) {
1620
-		return $this->get_prop( 'discount_code', $context );
1613
+     * Get the invoice's discount code.
1614
+     *
1615
+     * @since 1.0.19
1616
+     * @param  string $context View or edit context.
1617
+     * @return string
1618
+     */
1619
+    public function get_discount_code( $context = 'view' ) {
1620
+        return $this->get_prop( 'discount_code', $context );
1621 1621
     }
1622 1622
 
1623 1623
     /**
1624
-	 * Get the invoice's gateway.
1625
-	 *
1626
-	 * @since 1.0.19
1627
-	 * @param  string $context View or edit context.
1628
-	 * @return string
1629
-	 */
1630
-	public function get_gateway( $context = 'view' ) {
1631
-		return $this->get_prop( 'gateway', $context );
1624
+     * Get the invoice's gateway.
1625
+     *
1626
+     * @since 1.0.19
1627
+     * @param  string $context View or edit context.
1628
+     * @return string
1629
+     */
1630
+    public function get_gateway( $context = 'view' ) {
1631
+        return $this->get_prop( 'gateway', $context );
1632 1632
     }
1633 1633
 
1634 1634
     /**
1635
-	 * Get the invoice's gateway display title.
1636
-	 *
1637
-	 * @since 1.0.19
1638
-	 * @return string
1639
-	 */
1635
+     * Get the invoice's gateway display title.
1636
+     *
1637
+     * @since 1.0.19
1638
+     * @return string
1639
+     */
1640 1640
     public function get_gateway_title() {
1641 1641
         $title =  wpinv_get_gateway_checkout_label( $this->get_gateway() );
1642 1642
         return apply_filters( 'wpinv_gateway_title', $title, $this->get_id(), $this );
1643 1643
     }
1644 1644
 
1645 1645
     /**
1646
-	 * Get the invoice's transaction id.
1647
-	 *
1648
-	 * @since 1.0.19
1649
-	 * @param  string $context View or edit context.
1650
-	 * @return string
1651
-	 */
1652
-	public function get_transaction_id( $context = 'view' ) {
1653
-		return $this->get_prop( 'transaction_id', $context );
1646
+     * Get the invoice's transaction id.
1647
+     *
1648
+     * @since 1.0.19
1649
+     * @param  string $context View or edit context.
1650
+     * @return string
1651
+     */
1652
+    public function get_transaction_id( $context = 'view' ) {
1653
+        return $this->get_prop( 'transaction_id', $context );
1654 1654
     }
1655 1655
 
1656 1656
     /**
1657
-	 * Get the invoice's currency.
1658
-	 *
1659
-	 * @since 1.0.19
1660
-	 * @param  string $context View or edit context.
1661
-	 * @return string
1662
-	 */
1663
-	public function get_currency( $context = 'view' ) {
1657
+     * Get the invoice's currency.
1658
+     *
1659
+     * @since 1.0.19
1660
+     * @param  string $context View or edit context.
1661
+     * @return string
1662
+     */
1663
+    public function get_currency( $context = 'view' ) {
1664 1664
         $currency = $this->get_prop( 'currency', $context );
1665 1665
         return empty( $currency ) ? wpinv_get_currency() : $currency;
1666 1666
     }
1667 1667
 
1668 1668
     /**
1669
-	 * Checks if we are charging taxes for this invoice.
1670
-	 *
1671
-	 * @since 1.0.19
1672
-	 * @param  string $context View or edit context.
1673
-	 * @return bool
1674
-	 */
1675
-	public function get_disable_taxes( $context = 'view' ) {
1669
+     * Checks if we are charging taxes for this invoice.
1670
+     *
1671
+     * @since 1.0.19
1672
+     * @param  string $context View or edit context.
1673
+     * @return bool
1674
+     */
1675
+    public function get_disable_taxes( $context = 'view' ) {
1676 1676
         return (bool) $this->get_prop( 'disable_taxes', $context );
1677 1677
     }
1678 1678
 
1679 1679
     /**
1680
-	 * Retrieves the subscription id for an invoice.
1681
-	 *
1682
-	 * @since 1.0.19
1683
-	 * @param  string $context View or edit context.
1684
-	 * @return int
1685
-	 */
1680
+     * Retrieves the subscription id for an invoice.
1681
+     *
1682
+     * @since 1.0.19
1683
+     * @param  string $context View or edit context.
1684
+     * @return int
1685
+     */
1686 1686
     public function get_subscription_id( $context = 'view' ) {
1687
-		return $this->is_renewal() ? $this->get_parent()->get_subscription_id( $context ) : $this->get_prop( 'subscription_id', $context );
1688
-	}
1689
-
1690
-	/**
1691
-	 * Retrieves the remote subscription id for an invoice.
1692
-	 *
1693
-	 * @since 1.0.19
1694
-	 * @param  string $context View or edit context.
1695
-	 * @return int
1696
-	 */
1687
+        return $this->is_renewal() ? $this->get_parent()->get_subscription_id( $context ) : $this->get_prop( 'subscription_id', $context );
1688
+    }
1689
+
1690
+    /**
1691
+     * Retrieves the remote subscription id for an invoice.
1692
+     *
1693
+     * @since 1.0.19
1694
+     * @param  string $context View or edit context.
1695
+     * @return int
1696
+     */
1697 1697
     public function get_remote_subscription_id( $context = 'view' ) {
1698 1698
         $subscription_id = $this->get_prop( 'remote_subscription_id', $context );
1699 1699
 
@@ -1706,12 +1706,12 @@  discard block
 block discarded – undo
1706 1706
     }
1707 1707
 
1708 1708
     /**
1709
-	 * Retrieves the payment meta for an invoice.
1710
-	 *
1711
-	 * @since 1.0.19
1712
-	 * @param  string $context View or edit context.
1713
-	 * @return array
1714
-	 */
1709
+     * Retrieves the payment meta for an invoice.
1710
+     *
1711
+     * @since 1.0.19
1712
+     * @param  string $context View or edit context.
1713
+     * @return array
1714
+     */
1715 1715
     public function get_payment_meta( $context = 'view' ) {
1716 1716
 
1717 1717
         return array(
@@ -1731,31 +1731,31 @@  discard block
 block discarded – undo
1731 1731
     }
1732 1732
 
1733 1733
     /**
1734
-	 * Retrieves the cart details for an invoice.
1735
-	 *
1736
-	 * @since 1.0.19
1737
-	 * @return array
1738
-	 */
1734
+     * Retrieves the cart details for an invoice.
1735
+     *
1736
+     * @since 1.0.19
1737
+     * @return array
1738
+     */
1739 1739
     public function get_cart_details() {
1740 1740
         $items        = $this->get_items();
1741 1741
         $cart_details = array();
1742 1742
 
1743 1743
         foreach ( $items as $item ) {
1744
-			$item->invoice_id = $this->get_id();
1744
+            $item->invoice_id = $this->get_id();
1745 1745
             $cart_details[]   = $item->prepare_data_for_saving();
1746 1746
         }
1747 1747
 
1748 1748
         return $cart_details;
1749
-	}
1749
+    }
1750 1750
 
1751
-	/**
1752
-	 * Retrieves the recurring item.
1753
-	 *
1754
-	 * @return null|GetPaid_Form_Item|int
1755
-	 */
1756
-	public function get_recurring( $object = false ) {
1751
+    /**
1752
+     * Retrieves the recurring item.
1753
+     *
1754
+     * @return null|GetPaid_Form_Item|int
1755
+     */
1756
+    public function get_recurring( $object = false ) {
1757 1757
 
1758
-		// Are we returning an object?
1758
+        // Are we returning an object?
1759 1759
         if ( $object ) {
1760 1760
             return $this->get_item( $this->recurring_item );
1761 1761
         }
@@ -1763,114 +1763,114 @@  discard block
 block discarded – undo
1763 1763
         return $this->recurring_item;
1764 1764
     }
1765 1765
 
1766
-	/**
1767
-	 * Retrieves the subscription name.
1768
-	 *
1769
-	 * @since 1.0.19
1770
-	 * @return string
1771
-	 */
1772
-	public function get_subscription_name() {
1766
+    /**
1767
+     * Retrieves the subscription name.
1768
+     *
1769
+     * @since 1.0.19
1770
+     * @return string
1771
+     */
1772
+    public function get_subscription_name() {
1773 1773
 
1774
-		// Retrieve the recurring name
1774
+        // Retrieve the recurring name
1775 1775
         $item = $this->get_recurring( true );
1776 1776
 
1777
-		// Abort if it does not exist.
1777
+        // Abort if it does not exist.
1778 1778
         if ( empty( $item ) ) {
1779 1779
             return '';
1780 1780
         }
1781 1781
 
1782
-		// Return the item name.
1782
+        // Return the item name.
1783 1783
         return apply_filters( 'wpinv_invoice_get_subscription_name', $item->get_name(), $this );
1784
-	}
1785
-
1786
-	/**
1787
-	 * Retrieves the view url.
1788
-	 *
1789
-	 * @since 1.0.19
1790
-	 * @return string
1791
-	 */
1792
-	public function get_view_url() {
1784
+    }
1785
+
1786
+    /**
1787
+     * Retrieves the view url.
1788
+     *
1789
+     * @since 1.0.19
1790
+     * @return string
1791
+     */
1792
+    public function get_view_url() {
1793 1793
         $invoice_url = get_permalink( $this->get_id() );
1794
-		$invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1794
+        $invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1795 1795
         return apply_filters( 'wpinv_get_view_url', $invoice_url, $this );
1796
-	}
1796
+    }
1797 1797
 
1798
-	/**
1799
-	 * Retrieves the payment url.
1800
-	 *
1801
-	 * @since 1.0.19
1802
-	 * @return string
1803
-	 */
1804
-	public function get_checkout_payment_url( $deprecated = false, $secret = false ) {
1798
+    /**
1799
+     * Retrieves the payment url.
1800
+     *
1801
+     * @since 1.0.19
1802
+     * @return string
1803
+     */
1804
+    public function get_checkout_payment_url( $deprecated = false, $secret = false ) {
1805 1805
 
1806
-		// Retrieve the checkout url.
1806
+        // Retrieve the checkout url.
1807 1807
         $pay_url = wpinv_get_checkout_uri();
1808 1808
 
1809
-		// Maybe force ssl.
1809
+        // Maybe force ssl.
1810 1810
         if ( is_ssl() ) {
1811 1811
             $pay_url = str_replace( 'http:', 'https:', $pay_url );
1812 1812
         }
1813 1813
 
1814
-		// Add the invoice key.
1815
-		$pay_url = add_query_arg( 'invoice_key', $this->get_key(), $pay_url );
1814
+        // Add the invoice key.
1815
+        $pay_url = add_query_arg( 'invoice_key', $this->get_key(), $pay_url );
1816 1816
 
1817
-		// (Maybe?) add a secret
1817
+        // (Maybe?) add a secret
1818 1818
         if ( $secret ) {
1819 1819
             $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $this->get_key() ) ), $pay_url );
1820 1820
         }
1821 1821
 
1822 1822
         return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $deprecated, $secret );
1823
-	}
1823
+    }
1824 1824
 	
1825
-	/**
1826
-	 * Retrieves the receipt url.
1827
-	 *
1828
-	 * @since 1.0.19
1829
-	 * @return string
1830
-	 */
1831
-	public function get_receipt_url() {
1832
-
1833
-		// Retrieve the checkout url.
1825
+    /**
1826
+     * Retrieves the receipt url.
1827
+     *
1828
+     * @since 1.0.19
1829
+     * @return string
1830
+     */
1831
+    public function get_receipt_url() {
1832
+
1833
+        // Retrieve the checkout url.
1834 1834
         $receipt_url = wpinv_get_success_page_uri();
1835 1835
 
1836
-		// Maybe force ssl.
1836
+        // Maybe force ssl.
1837 1837
         if ( is_ssl() ) {
1838 1838
             $receipt_url = str_replace( 'http:', 'https:', $receipt_url );
1839 1839
         }
1840 1840
 
1841
-		// Add the invoice key.
1842
-		$receipt_url = add_query_arg( 'invoice_key', $this->get_key(), $receipt_url );
1841
+        // Add the invoice key.
1842
+        $receipt_url = add_query_arg( 'invoice_key', $this->get_key(), $receipt_url );
1843 1843
 
1844 1844
         return apply_filters( 'getpaid_get_invoice_receipt_url', $receipt_url, $this );
1845
-	}
1845
+    }
1846 1846
 	
1847
-	/**
1848
-	 * Retrieves the default status.
1849
-	 *
1850
-	 * @since 1.0.19
1851
-	 * @return string
1852
-	 */
1853
-	public function get_default_status() {
1854
-
1855
-		$type   = $this->get_type();
1856
-		$status = "wpi-$type-pending";
1857
-		return str_replace( '-invoice', '', $status );
1858
-
1859
-	}
1860
-
1861
-    /**
1862
-	 * Magic method for accessing invoice properties.
1863
-	 *
1864
-	 * @since 1.0.15
1865
-	 * @access public
1866
-	 *
1867
-	 * @param string $key Discount data to retrieve
1868
-	 * @param  string $context View or edit context.
1869
-	 * @return mixed Value of the given invoice property (if set).
1870
-	 */
1871
-	public function get( $key, $context = 'view' ) {
1847
+    /**
1848
+     * Retrieves the default status.
1849
+     *
1850
+     * @since 1.0.19
1851
+     * @return string
1852
+     */
1853
+    public function get_default_status() {
1854
+
1855
+        $type   = $this->get_type();
1856
+        $status = "wpi-$type-pending";
1857
+        return str_replace( '-invoice', '', $status );
1858
+
1859
+    }
1860
+
1861
+    /**
1862
+     * Magic method for accessing invoice properties.
1863
+     *
1864
+     * @since 1.0.15
1865
+     * @access public
1866
+     *
1867
+     * @param string $key Discount data to retrieve
1868
+     * @param  string $context View or edit context.
1869
+     * @return mixed Value of the given invoice property (if set).
1870
+     */
1871
+    public function get( $key, $context = 'view' ) {
1872 1872
         return $this->get_prop( $key, $context );
1873
-	}
1873
+    }
1874 1874
 
1875 1875
     /*
1876 1876
 	|--------------------------------------------------------------------------
@@ -1883,130 +1883,130 @@  discard block
 block discarded – undo
1883 1883
     */
1884 1884
 
1885 1885
     /**
1886
-	 * Magic method for setting invoice properties.
1887
-	 *
1888
-	 * @since 1.0.19
1889
-	 * @access public
1890
-	 *
1891
-	 * @param string $key Discount data to retrieve
1892
-	 * @param  mixed $value new value.
1893
-	 * @return mixed Value of the given invoice property (if set).
1894
-	 */
1895
-	public function set( $key, $value ) {
1886
+     * Magic method for setting invoice properties.
1887
+     *
1888
+     * @since 1.0.19
1889
+     * @access public
1890
+     *
1891
+     * @param string $key Discount data to retrieve
1892
+     * @param  mixed $value new value.
1893
+     * @return mixed Value of the given invoice property (if set).
1894
+     */
1895
+    public function set( $key, $value ) {
1896 1896
 
1897 1897
         $setter = "set_$key";
1898 1898
         if ( is_callable( array( $this, $setter ) ) ) {
1899 1899
             $this->{$setter}( $value );
1900 1900
         }
1901 1901
 
1902
-	}
1902
+    }
1903 1903
 
1904
-	/**
1905
-	 * Sets item status.
1906
-	 *
1907
-	 * @since 1.0.19
1908
-	 * @param string $new_status    New status.
1909
-	 * @param string $note          Optional note to add.
1910
-	 * @param bool   $manual_update Is this a manual status change?.
1911
-	 * @return array details of change.
1912
-	 */
1913
-	public function set_status( $new_status, $note = '', $manual_update = false ) {
1914
-		$old_status = $this->get_status();
1904
+    /**
1905
+     * Sets item status.
1906
+     *
1907
+     * @since 1.0.19
1908
+     * @param string $new_status    New status.
1909
+     * @param string $note          Optional note to add.
1910
+     * @param bool   $manual_update Is this a manual status change?.
1911
+     * @return array details of change.
1912
+     */
1913
+    public function set_status( $new_status, $note = '', $manual_update = false ) {
1914
+        $old_status = $this->get_status();
1915 1915
 
1916
-		$statuses = $this->get_all_statuses();
1916
+        $statuses = $this->get_all_statuses();
1917 1917
 
1918
-		if ( isset( $statuses[ 'draft' ] ) ) {
1919
-			unset( $statuses[ 'draft' ] );
1920
-		}
1918
+        if ( isset( $statuses[ 'draft' ] ) ) {
1919
+            unset( $statuses[ 'draft' ] );
1920
+        }
1921 1921
 
1922
-		$this->set_prop( 'status', $new_status );
1922
+        $this->set_prop( 'status', $new_status );
1923 1923
 
1924
-		// If setting the status, ensure it's set to a valid status.
1925
-		if ( true === $this->object_read ) {
1924
+        // If setting the status, ensure it's set to a valid status.
1925
+        if ( true === $this->object_read ) {
1926 1926
 
1927
-			// Only allow valid new status.
1928
-			if ( ! array_key_exists( $new_status, $statuses ) ) {
1929
-				$new_status = $this->get_default_status();
1930
-			}
1927
+            // Only allow valid new status.
1928
+            if ( ! array_key_exists( $new_status, $statuses ) ) {
1929
+                $new_status = $this->get_default_status();
1930
+            }
1931 1931
 
1932
-			// If the old status is set but unknown (e.g. draft) assume its pending for action usage.
1933
-			if ( $old_status && ! array_key_exists( $new_status, $statuses ) ) {
1934
-				$old_status = $this->get_default_status();
1935
-			}
1932
+            // If the old status is set but unknown (e.g. draft) assume its pending for action usage.
1933
+            if ( $old_status && ! array_key_exists( $new_status, $statuses ) ) {
1934
+                $old_status = $this->get_default_status();
1935
+            }
1936 1936
 
1937
-			// Paid - Renewal (i.e when duplicating a parent invoice )
1938
-			if ( $new_status == 'wpi-pending' && $old_status == 'publish' && ! $this->get_id() ) {
1939
-				$old_status = 'wpi-pending';
1940
-			}
1937
+            // Paid - Renewal (i.e when duplicating a parent invoice )
1938
+            if ( $new_status == 'wpi-pending' && $old_status == 'publish' && ! $this->get_id() ) {
1939
+                $old_status = 'wpi-pending';
1940
+            }
1941 1941
 
1942
-		}
1942
+        }
1943 1943
 
1944
-		if ( true === $this->object_read && $old_status !== $new_status ) {
1945
-			$this->status_transition = array(
1946
-				'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
1947
-				'to'     => $new_status,
1948
-				'note'   => $note,
1949
-				'manual' => (bool) $manual_update,
1950
-			);
1944
+        if ( true === $this->object_read && $old_status !== $new_status ) {
1945
+            $this->status_transition = array(
1946
+                'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
1947
+                'to'     => $new_status,
1948
+                'note'   => $note,
1949
+                'manual' => (bool) $manual_update,
1950
+            );
1951 1951
 
1952
-			if ( $manual_update ) {
1953
-				do_action( 'getpaid_' . $this->object_type .'_edit_status', $this->get_id(), $new_status );
1954
-			}
1952
+            if ( $manual_update ) {
1953
+                do_action( 'getpaid_' . $this->object_type .'_edit_status', $this->get_id(), $new_status );
1954
+            }
1955 1955
 
1956
-			$this->maybe_set_date_paid();
1956
+            $this->maybe_set_date_paid();
1957 1957
 
1958
-		}
1958
+        }
1959 1959
 
1960
-		return array(
1961
-			'from' => $old_status,
1962
-			'to'   => $new_status,
1963
-		);
1964
-	}
1960
+        return array(
1961
+            'from' => $old_status,
1962
+            'to'   => $new_status,
1963
+        );
1964
+    }
1965 1965
 
1966
-	/**
1967
-	 * Maybe set date paid.
1968
-	 *
1969
-	 * Sets the date paid variable when transitioning to the payment complete
1970
-	 * order status.
1971
-	 *
1972
-	 * @since 1.0.19
1973
-	 */
1974
-	public function maybe_set_date_paid() {
1966
+    /**
1967
+     * Maybe set date paid.
1968
+     *
1969
+     * Sets the date paid variable when transitioning to the payment complete
1970
+     * order status.
1971
+     *
1972
+     * @since 1.0.19
1973
+     */
1974
+    public function maybe_set_date_paid() {
1975 1975
 
1976
-		if ( ! $this->get_date_completed( 'edit' ) && $this->is_paid() ) {
1977
-			$this->set_date_completed( current_time( 'mysql' ) );
1978
-		}
1979
-	}
1976
+        if ( ! $this->get_date_completed( 'edit' ) && $this->is_paid() ) {
1977
+            $this->set_date_completed( current_time( 'mysql' ) );
1978
+        }
1979
+    }
1980 1980
 
1981 1981
     /**
1982
-	 * Set parent invoice ID.
1983
-	 *
1984
-	 * @since 1.0.19
1985
-	 */
1986
-	public function set_parent_id( $value ) {
1987
-		if ( $value && ( $value === $this->get_id() ) ) {
1988
-			return;
1989
-		}
1990
-		$this->set_prop( 'parent_id', absint( $value ) );
1982
+     * Set parent invoice ID.
1983
+     *
1984
+     * @since 1.0.19
1985
+     */
1986
+    public function set_parent_id( $value ) {
1987
+        if ( $value && ( $value === $this->get_id() ) ) {
1988
+            return;
1989
+        }
1990
+        $this->set_prop( 'parent_id', absint( $value ) );
1991 1991
     }
1992 1992
 
1993 1993
     /**
1994
-	 * Set plugin version when the invoice was created.
1995
-	 *
1996
-	 * @since 1.0.19
1997
-	 */
1998
-	public function set_version( $value ) {
1999
-		$this->set_prop( 'version', $value );
1994
+     * Set plugin version when the invoice was created.
1995
+     *
1996
+     * @since 1.0.19
1997
+     */
1998
+    public function set_version( $value ) {
1999
+        $this->set_prop( 'version', $value );
2000 2000
     }
2001
-
2002
-    /**
2003
-	 * Set date when the invoice was created.
2004
-	 *
2005
-	 * @since 1.0.19
2006
-	 * @param string $value Value to set.
2001
+
2002
+    /**
2003
+     * Set date when the invoice was created.
2004
+     *
2005
+     * @since 1.0.19
2006
+     * @param string $value Value to set.
2007 2007
      * @return bool Whether or not the date was set.
2008
-	 */
2009
-	public function set_date_created( $value ) {
2008
+     */
2009
+    public function set_date_created( $value ) {
2010 2010
         $date = strtotime( $value );
2011 2011
 
2012 2012
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2014,19 +2014,19 @@  discard block
 block discarded – undo
2014 2014
             return true;
2015 2015
         }
2016 2016
 
2017
-		$this->set_prop( 'date_created', '' );
2018
-		return false;
2017
+        $this->set_prop( 'date_created', '' );
2018
+        return false;
2019 2019
 
2020 2020
     }
2021 2021
 
2022 2022
     /**
2023
-	 * Set date invoice due date.
2024
-	 *
2025
-	 * @since 1.0.19
2026
-	 * @param string $value Value to set.
2023
+     * Set date invoice due date.
2024
+     *
2025
+     * @since 1.0.19
2026
+     * @param string $value Value to set.
2027 2027
      * @return bool Whether or not the date was set.
2028
-	 */
2029
-	public function set_due_date( $value ) {
2028
+     */
2029
+    public function set_due_date( $value ) {
2030 2030
         $date = strtotime( $value );
2031 2031
 
2032 2032
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2034,29 +2034,29 @@  discard block
 block discarded – undo
2034 2034
             return true;
2035 2035
         }
2036 2036
 
2037
-		$this->set_prop( 'due_date', '' );
2037
+        $this->set_prop( 'due_date', '' );
2038 2038
         return false;
2039 2039
 
2040 2040
     }
2041 2041
 
2042 2042
     /**
2043
-	 * Alias of self::set_due_date().
2044
-	 *
2045
-	 * @since 1.0.19
2046
-	 * @param  string $value New name.
2047
-	 */
2048
-	public function set_date_due( $value ) {
2049
-		$this->set_due_date( $value );
2043
+     * Alias of self::set_due_date().
2044
+     *
2045
+     * @since 1.0.19
2046
+     * @param  string $value New name.
2047
+     */
2048
+    public function set_date_due( $value ) {
2049
+        $this->set_due_date( $value );
2050 2050
     }
2051 2051
 
2052 2052
     /**
2053
-	 * Set date invoice was completed.
2054
-	 *
2055
-	 * @since 1.0.19
2056
-	 * @param string $value Value to set.
2053
+     * Set date invoice was completed.
2054
+     *
2055
+     * @since 1.0.19
2056
+     * @param string $value Value to set.
2057 2057
      * @return bool Whether or not the date was set.
2058
-	 */
2059
-	public function set_completed_date( $value ) {
2058
+     */
2059
+    public function set_completed_date( $value ) {
2060 2060
         $date = strtotime( $value );
2061 2061
 
2062 2062
         if ( $date && $value !== '0000-00-00 00:00:00'  ) {
@@ -2064,29 +2064,29 @@  discard block
 block discarded – undo
2064 2064
             return true;
2065 2065
         }
2066 2066
 
2067
-		$this->set_prop( 'completed_date', '' );
2067
+        $this->set_prop( 'completed_date', '' );
2068 2068
         return false;
2069 2069
 
2070 2070
     }
2071 2071
 
2072 2072
     /**
2073
-	 * Alias of self::set_completed_date().
2074
-	 *
2075
-	 * @since 1.0.19
2076
-	 * @param  string $value New name.
2077
-	 */
2078
-	public function set_date_completed( $value ) {
2079
-		$this->set_completed_date( $value );
2073
+     * Alias of self::set_completed_date().
2074
+     *
2075
+     * @since 1.0.19
2076
+     * @param  string $value New name.
2077
+     */
2078
+    public function set_date_completed( $value ) {
2079
+        $this->set_completed_date( $value );
2080 2080
     }
2081 2081
 
2082 2082
     /**
2083
-	 * Set date when the invoice was last modified.
2084
-	 *
2085
-	 * @since 1.0.19
2086
-	 * @param string $value Value to set.
2083
+     * Set date when the invoice was last modified.
2084
+     *
2085
+     * @since 1.0.19
2086
+     * @param string $value Value to set.
2087 2087
      * @return bool Whether or not the date was set.
2088
-	 */
2089
-	public function set_date_modified( $value ) {
2088
+     */
2089
+    public function set_date_modified( $value ) {
2090 2090
         $date = strtotime( $value );
2091 2091
 
2092 2092
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2094,763 +2094,763 @@  discard block
 block discarded – undo
2094 2094
             return true;
2095 2095
         }
2096 2096
 
2097
-		$this->set_prop( 'date_modified', '' );
2097
+        $this->set_prop( 'date_modified', '' );
2098 2098
         return false;
2099 2099
 
2100 2100
     }
2101 2101
 
2102 2102
     /**
2103
-	 * Set the invoice number.
2104
-	 *
2105
-	 * @since 1.0.19
2106
-	 * @param  string $value New number.
2107
-	 */
2108
-	public function set_number( $value ) {
2103
+     * Set the invoice number.
2104
+     *
2105
+     * @since 1.0.19
2106
+     * @param  string $value New number.
2107
+     */
2108
+    public function set_number( $value ) {
2109 2109
         $number = sanitize_text_field( $value );
2110
-		$this->set_prop( 'number', $number );
2110
+        $this->set_prop( 'number', $number );
2111 2111
     }
2112 2112
 
2113 2113
     /**
2114
-	 * Set the invoice type.
2115
-	 *
2116
-	 * @since 1.0.19
2117
-	 * @param  string $value Type.
2118
-	 */
2119
-	public function set_type( $value ) {
2114
+     * Set the invoice type.
2115
+     *
2116
+     * @since 1.0.19
2117
+     * @param  string $value Type.
2118
+     */
2119
+    public function set_type( $value ) {
2120 2120
         $type = sanitize_text_field( str_replace( 'wpi_', '', $value ) );
2121
-		$this->set_prop( 'type', $type );
2122
-	}
2121
+        $this->set_prop( 'type', $type );
2122
+    }
2123 2123
 
2124 2124
     /**
2125
-	 * Set the invoice post type.
2126
-	 *
2127
-	 * @since 1.0.19
2128
-	 * @param  string $value Post type.
2129
-	 */
2130
-	public function set_post_type( $value ) {
2125
+     * Set the invoice post type.
2126
+     *
2127
+     * @since 1.0.19
2128
+     * @param  string $value Post type.
2129
+     */
2130
+    public function set_post_type( $value ) {
2131 2131
         if ( getpaid_is_invoice_post_type( $value ) ) {
2132
-			$this->set_type( $value );
2132
+            $this->set_type( $value );
2133 2133
             $this->set_prop( 'post_type', $value );
2134 2134
         }
2135 2135
     }
2136 2136
 
2137 2137
     /**
2138
-	 * Set the invoice key.
2139
-	 *
2140
-	 * @since 1.0.19
2141
-	 * @param  string $value New key.
2142
-	 */
2143
-	public function set_key( $value ) {
2138
+     * Set the invoice key.
2139
+     *
2140
+     * @since 1.0.19
2141
+     * @param  string $value New key.
2142
+     */
2143
+    public function set_key( $value ) {
2144 2144
         $key = sanitize_text_field( $value );
2145
-		$this->set_prop( 'key', $key );
2145
+        $this->set_prop( 'key', $key );
2146 2146
     }
2147 2147
 
2148 2148
     /**
2149
-	 * Set the invoice mode.
2150
-	 *
2151
-	 * @since 1.0.19
2152
-	 * @param  string $value mode.
2153
-	 */
2154
-	public function set_mode( $value ) {
2149
+     * Set the invoice mode.
2150
+     *
2151
+     * @since 1.0.19
2152
+     * @param  string $value mode.
2153
+     */
2154
+    public function set_mode( $value ) {
2155 2155
         if ( in_array( $value, array( 'live', 'test' ) ) ) {
2156 2156
             $this->set_prop( 'mode', $value );
2157 2157
         }
2158 2158
     }
2159 2159
 
2160 2160
     /**
2161
-	 * Set the invoice path.
2162
-	 *
2163
-	 * @since 1.0.19
2164
-	 * @param  string $value path.
2165
-	 */
2166
-	public function set_path( $value ) {
2161
+     * Set the invoice path.
2162
+     *
2163
+     * @since 1.0.19
2164
+     * @param  string $value path.
2165
+     */
2166
+    public function set_path( $value ) {
2167 2167
         $this->set_prop( 'path', $value );
2168 2168
     }
2169 2169
 
2170 2170
     /**
2171
-	 * Set the invoice name.
2172
-	 *
2173
-	 * @since 1.0.19
2174
-	 * @param  string $value New name.
2175
-	 */
2176
-	public function set_name( $value ) {
2171
+     * Set the invoice name.
2172
+     *
2173
+     * @since 1.0.19
2174
+     * @param  string $value New name.
2175
+     */
2176
+    public function set_name( $value ) {
2177 2177
         $name = sanitize_text_field( $value );
2178
-		$this->set_prop( 'name', $name );
2178
+        $this->set_prop( 'name', $name );
2179 2179
     }
2180 2180
 
2181 2181
     /**
2182
-	 * Alias of self::set_name().
2183
-	 *
2184
-	 * @since 1.0.19
2185
-	 * @param  string $value New name.
2186
-	 */
2187
-	public function set_title( $value ) {
2188
-		$this->set_name( $value );
2182
+     * Alias of self::set_name().
2183
+     *
2184
+     * @since 1.0.19
2185
+     * @param  string $value New name.
2186
+     */
2187
+    public function set_title( $value ) {
2188
+        $this->set_name( $value );
2189 2189
     }
2190 2190
 
2191 2191
     /**
2192
-	 * Set the invoice description.
2193
-	 *
2194
-	 * @since 1.0.19
2195
-	 * @param  string $value New description.
2196
-	 */
2197
-	public function set_description( $value ) {
2192
+     * Set the invoice description.
2193
+     *
2194
+     * @since 1.0.19
2195
+     * @param  string $value New description.
2196
+     */
2197
+    public function set_description( $value ) {
2198 2198
         $description = wp_kses_post( $value );
2199
-		$this->set_prop( 'description', $description );
2199
+        $this->set_prop( 'description', $description );
2200
+    }
2201
+
2202
+    /**
2203
+     * Alias of self::set_description().
2204
+     *
2205
+     * @since 1.0.19
2206
+     * @param  string $value New description.
2207
+     */
2208
+    public function set_excerpt( $value ) {
2209
+        $this->set_description( $value );
2210
+    }
2211
+
2212
+    /**
2213
+     * Alias of self::set_description().
2214
+     *
2215
+     * @since 1.0.19
2216
+     * @param  string $value New description.
2217
+     */
2218
+    public function set_summary( $value ) {
2219
+        $this->set_description( $value );
2200 2220
     }
2201 2221
 
2202 2222
     /**
2203
-	 * Alias of self::set_description().
2204
-	 *
2205
-	 * @since 1.0.19
2206
-	 * @param  string $value New description.
2207
-	 */
2208
-	public function set_excerpt( $value ) {
2209
-		$this->set_description( $value );
2223
+     * Set the receiver of the invoice.
2224
+     *
2225
+     * @since 1.0.19
2226
+     * @param  int $value New author.
2227
+     */
2228
+    public function set_author( $value ) {
2229
+        $user = get_user_by( 'id', (int) $value );
2230
+
2231
+        if ( $user && $user->ID ) {
2232
+            $this->set_prop( 'author', $user->ID );
2233
+            $this->set_prop( 'email', $user->user_email );
2234
+        }
2235
+
2210 2236
     }
2211 2237
 
2212 2238
     /**
2213
-	 * Alias of self::set_description().
2214
-	 *
2215
-	 * @since 1.0.19
2216
-	 * @param  string $value New description.
2217
-	 */
2218
-	public function set_summary( $value ) {
2219
-		$this->set_description( $value );
2239
+     * Alias of self::set_author().
2240
+     *
2241
+     * @since 1.0.19
2242
+     * @param  int $value New user id.
2243
+     */
2244
+    public function set_user_id( $value ) {
2245
+        $this->set_author( $value );
2220 2246
     }
2221 2247
 
2222 2248
     /**
2223
-	 * Set the receiver of the invoice.
2224
-	 *
2225
-	 * @since 1.0.19
2226
-	 * @param  int $value New author.
2227
-	 */
2228
-	public function set_author( $value ) {
2229
-		$user = get_user_by( 'id', (int) $value );
2249
+     * Alias of self::set_author().
2250
+     *
2251
+     * @since 1.0.19
2252
+     * @param  int $value New user id.
2253
+     */
2254
+    public function set_customer_id( $value ) {
2255
+        $this->set_author( $value );
2256
+    }
2230 2257
 
2231
-		if ( $user && $user->ID ) {
2232
-			$this->set_prop( 'author', $user->ID );
2233
-			$this->set_prop( 'email', $user->user_email );
2234
-		}
2258
+    /**
2259
+     * Set the customer's ip.
2260
+     *
2261
+     * @since 1.0.19
2262
+     * @param  string $value ip address.
2263
+     */
2264
+    public function set_ip( $value ) {
2265
+        $this->set_prop( 'ip', $value );
2266
+    }
2235 2267
 
2268
+    /**
2269
+     * Alias of self::set_ip().
2270
+     *
2271
+     * @since 1.0.19
2272
+     * @param  string $value ip address.
2273
+     */
2274
+    public function set_user_ip( $value ) {
2275
+        $this->set_ip( $value );
2236 2276
     }
2237 2277
 
2238 2278
     /**
2239
-	 * Alias of self::set_author().
2240
-	 *
2241
-	 * @since 1.0.19
2242
-	 * @param  int $value New user id.
2243
-	 */
2244
-	public function set_user_id( $value ) {
2245
-		$this->set_author( $value );
2279
+     * Set the customer's first name.
2280
+     *
2281
+     * @since 1.0.19
2282
+     * @param  string $value first name.
2283
+     */
2284
+    public function set_first_name( $value ) {
2285
+        $this->set_prop( 'first_name', $value );
2246 2286
     }
2247 2287
 
2248 2288
     /**
2249
-	 * Alias of self::set_author().
2250
-	 *
2251
-	 * @since 1.0.19
2252
-	 * @param  int $value New user id.
2253
-	 */
2254
-	public function set_customer_id( $value ) {
2255
-		$this->set_author( $value );
2289
+     * Alias of self::set_first_name().
2290
+     *
2291
+     * @since 1.0.19
2292
+     * @param  string $value first name.
2293
+     */
2294
+    public function set_user_first_name( $value ) {
2295
+        $this->set_first_name( $value );
2256 2296
     }
2257 2297
 
2258 2298
     /**
2259
-	 * Set the customer's ip.
2260
-	 *
2261
-	 * @since 1.0.19
2262
-	 * @param  string $value ip address.
2263
-	 */
2264
-	public function set_ip( $value ) {
2265
-		$this->set_prop( 'ip', $value );
2299
+     * Alias of self::set_first_name().
2300
+     *
2301
+     * @since 1.0.19
2302
+     * @param  string $value first name.
2303
+     */
2304
+    public function set_customer_first_name( $value ) {
2305
+        $this->set_first_name( $value );
2266 2306
     }
2267 2307
 
2268 2308
     /**
2269
-	 * Alias of self::set_ip().
2270
-	 *
2271
-	 * @since 1.0.19
2272
-	 * @param  string $value ip address.
2273
-	 */
2274
-	public function set_user_ip( $value ) {
2275
-		$this->set_ip( $value );
2309
+     * Set the customer's last name.
2310
+     *
2311
+     * @since 1.0.19
2312
+     * @param  string $value last name.
2313
+     */
2314
+    public function set_last_name( $value ) {
2315
+        $this->set_prop( 'last_name', $value );
2276 2316
     }
2277 2317
 
2278 2318
     /**
2279
-	 * Set the customer's first name.
2280
-	 *
2281
-	 * @since 1.0.19
2282
-	 * @param  string $value first name.
2283
-	 */
2284
-	public function set_first_name( $value ) {
2285
-		$this->set_prop( 'first_name', $value );
2319
+     * Alias of self::set_last_name().
2320
+     *
2321
+     * @since 1.0.19
2322
+     * @param  string $value last name.
2323
+     */
2324
+    public function set_user_last_name( $value ) {
2325
+        $this->set_last_name( $value );
2286 2326
     }
2287 2327
 
2288 2328
     /**
2289
-	 * Alias of self::set_first_name().
2290
-	 *
2291
-	 * @since 1.0.19
2292
-	 * @param  string $value first name.
2293
-	 */
2294
-	public function set_user_first_name( $value ) {
2295
-		$this->set_first_name( $value );
2329
+     * Alias of self::set_last_name().
2330
+     *
2331
+     * @since 1.0.19
2332
+     * @param  string $value last name.
2333
+     */
2334
+    public function set_customer_last_name( $value ) {
2335
+        $this->set_last_name( $value );
2296 2336
     }
2297 2337
 
2298 2338
     /**
2299
-	 * Alias of self::set_first_name().
2300
-	 *
2301
-	 * @since 1.0.19
2302
-	 * @param  string $value first name.
2303
-	 */
2304
-	public function set_customer_first_name( $value ) {
2305
-		$this->set_first_name( $value );
2339
+     * Set the customer's phone number.
2340
+     *
2341
+     * @since 1.0.19
2342
+     * @param  string $value phone.
2343
+     */
2344
+    public function set_phone( $value ) {
2345
+        $this->set_prop( 'phone', $value );
2306 2346
     }
2307 2347
 
2308 2348
     /**
2309
-	 * Set the customer's last name.
2310
-	 *
2311
-	 * @since 1.0.19
2312
-	 * @param  string $value last name.
2313
-	 */
2314
-	public function set_last_name( $value ) {
2315
-		$this->set_prop( 'last_name', $value );
2349
+     * Alias of self::set_phone().
2350
+     *
2351
+     * @since 1.0.19
2352
+     * @param  string $value phone.
2353
+     */
2354
+    public function set_user_phone( $value ) {
2355
+        $this->set_phone( $value );
2316 2356
     }
2317 2357
 
2318 2358
     /**
2319
-	 * Alias of self::set_last_name().
2320
-	 *
2321
-	 * @since 1.0.19
2322
-	 * @param  string $value last name.
2323
-	 */
2324
-	public function set_user_last_name( $value ) {
2325
-		$this->set_last_name( $value );
2359
+     * Alias of self::set_phone().
2360
+     *
2361
+     * @since 1.0.19
2362
+     * @param  string $value phone.
2363
+     */
2364
+    public function set_customer_phone( $value ) {
2365
+        $this->set_phone( $value );
2326 2366
     }
2327 2367
 
2328 2368
     /**
2329
-	 * Alias of self::set_last_name().
2330
-	 *
2331
-	 * @since 1.0.19
2332
-	 * @param  string $value last name.
2333
-	 */
2334
-	public function set_customer_last_name( $value ) {
2335
-		$this->set_last_name( $value );
2369
+     * Alias of self::set_phone().
2370
+     *
2371
+     * @since 1.0.19
2372
+     * @param  string $value phone.
2373
+     */
2374
+    public function set_phone_number( $value ) {
2375
+        $this->set_phone( $value );
2336 2376
     }
2337 2377
 
2338 2378
     /**
2339
-	 * Set the customer's phone number.
2340
-	 *
2341
-	 * @since 1.0.19
2342
-	 * @param  string $value phone.
2343
-	 */
2344
-	public function set_phone( $value ) {
2345
-		$this->set_prop( 'phone', $value );
2379
+     * Set the customer's email address.
2380
+     *
2381
+     * @since 1.0.19
2382
+     * @param  string $value email address.
2383
+     */
2384
+    public function set_email( $value ) {
2385
+        $this->set_prop( 'email', $value );
2346 2386
     }
2347 2387
 
2348 2388
     /**
2349
-	 * Alias of self::set_phone().
2350
-	 *
2351
-	 * @since 1.0.19
2352
-	 * @param  string $value phone.
2353
-	 */
2354
-	public function set_user_phone( $value ) {
2355
-		$this->set_phone( $value );
2389
+     * Alias of self::set_email().
2390
+     *
2391
+     * @since 1.0.19
2392
+     * @param  string $value email address.
2393
+     */
2394
+    public function set_user_email( $value ) {
2395
+        $this->set_email( $value );
2356 2396
     }
2357 2397
 
2358 2398
     /**
2359
-	 * Alias of self::set_phone().
2360
-	 *
2361
-	 * @since 1.0.19
2362
-	 * @param  string $value phone.
2363
-	 */
2364
-	public function set_customer_phone( $value ) {
2365
-		$this->set_phone( $value );
2399
+     * Alias of self::set_email().
2400
+     *
2401
+     * @since 1.0.19
2402
+     * @param  string $value email address.
2403
+     */
2404
+    public function set_email_address( $value ) {
2405
+        $this->set_email( $value );
2366 2406
     }
2367 2407
 
2368 2408
     /**
2369
-	 * Alias of self::set_phone().
2370
-	 *
2371
-	 * @since 1.0.19
2372
-	 * @param  string $value phone.
2373
-	 */
2374
-	public function set_phone_number( $value ) {
2375
-		$this->set_phone( $value );
2409
+     * Alias of self::set_email().
2410
+     *
2411
+     * @since 1.0.19
2412
+     * @param  string $value email address.
2413
+     */
2414
+    public function set_customer_email( $value ) {
2415
+        $this->set_email( $value );
2376 2416
     }
2377 2417
 
2378 2418
     /**
2379
-	 * Set the customer's email address.
2380
-	 *
2381
-	 * @since 1.0.19
2382
-	 * @param  string $value email address.
2383
-	 */
2384
-	public function set_email( $value ) {
2385
-		$this->set_prop( 'email', $value );
2419
+     * Set the customer's country.
2420
+     *
2421
+     * @since 1.0.19
2422
+     * @param  string $value country.
2423
+     */
2424
+    public function set_country( $value ) {
2425
+        $this->set_prop( 'country', $value );
2386 2426
     }
2387 2427
 
2388 2428
     /**
2389
-	 * Alias of self::set_email().
2390
-	 *
2391
-	 * @since 1.0.19
2392
-	 * @param  string $value email address.
2393
-	 */
2394
-	public function set_user_email( $value ) {
2395
-		$this->set_email( $value );
2429
+     * Alias of self::set_country().
2430
+     *
2431
+     * @since 1.0.19
2432
+     * @param  string $value country.
2433
+     */
2434
+    public function set_user_country( $value ) {
2435
+        $this->set_country( $value );
2396 2436
     }
2397 2437
 
2398 2438
     /**
2399
-	 * Alias of self::set_email().
2400
-	 *
2401
-	 * @since 1.0.19
2402
-	 * @param  string $value email address.
2403
-	 */
2404
-	public function set_email_address( $value ) {
2405
-		$this->set_email( $value );
2439
+     * Alias of self::set_country().
2440
+     *
2441
+     * @since 1.0.19
2442
+     * @param  string $value country.
2443
+     */
2444
+    public function set_customer_country( $value ) {
2445
+        $this->set_country( $value );
2406 2446
     }
2407 2447
 
2408 2448
     /**
2409
-	 * Alias of self::set_email().
2410
-	 *
2411
-	 * @since 1.0.19
2412
-	 * @param  string $value email address.
2413
-	 */
2414
-	public function set_customer_email( $value ) {
2415
-		$this->set_email( $value );
2449
+     * Set the customer's state.
2450
+     *
2451
+     * @since 1.0.19
2452
+     * @param  string $value state.
2453
+     */
2454
+    public function set_state( $value ) {
2455
+        $this->set_prop( 'state', $value );
2416 2456
     }
2417 2457
 
2418 2458
     /**
2419
-	 * Set the customer's country.
2420
-	 *
2421
-	 * @since 1.0.19
2422
-	 * @param  string $value country.
2423
-	 */
2424
-	public function set_country( $value ) {
2425
-		$this->set_prop( 'country', $value );
2459
+     * Alias of self::set_state().
2460
+     *
2461
+     * @since 1.0.19
2462
+     * @param  string $value state.
2463
+     */
2464
+    public function set_user_state( $value ) {
2465
+        $this->set_state( $value );
2426 2466
     }
2427 2467
 
2428 2468
     /**
2429
-	 * Alias of self::set_country().
2430
-	 *
2431
-	 * @since 1.0.19
2432
-	 * @param  string $value country.
2433
-	 */
2434
-	public function set_user_country( $value ) {
2435
-		$this->set_country( $value );
2469
+     * Alias of self::set_state().
2470
+     *
2471
+     * @since 1.0.19
2472
+     * @param  string $value state.
2473
+     */
2474
+    public function set_customer_state( $value ) {
2475
+        $this->set_state( $value );
2436 2476
     }
2437 2477
 
2438 2478
     /**
2439
-	 * Alias of self::set_country().
2440
-	 *
2441
-	 * @since 1.0.19
2442
-	 * @param  string $value country.
2443
-	 */
2444
-	public function set_customer_country( $value ) {
2445
-		$this->set_country( $value );
2479
+     * Set the customer's city.
2480
+     *
2481
+     * @since 1.0.19
2482
+     * @param  string $value city.
2483
+     */
2484
+    public function set_city( $value ) {
2485
+        $this->set_prop( 'city', $value );
2446 2486
     }
2447 2487
 
2448 2488
     /**
2449
-	 * Set the customer's state.
2450
-	 *
2451
-	 * @since 1.0.19
2452
-	 * @param  string $value state.
2453
-	 */
2454
-	public function set_state( $value ) {
2455
-		$this->set_prop( 'state', $value );
2489
+     * Alias of self::set_city().
2490
+     *
2491
+     * @since 1.0.19
2492
+     * @param  string $value city.
2493
+     */
2494
+    public function set_user_city( $value ) {
2495
+        $this->set_city( $value );
2456 2496
     }
2457 2497
 
2458 2498
     /**
2459
-	 * Alias of self::set_state().
2460
-	 *
2461
-	 * @since 1.0.19
2462
-	 * @param  string $value state.
2463
-	 */
2464
-	public function set_user_state( $value ) {
2465
-		$this->set_state( $value );
2499
+     * Alias of self::set_city().
2500
+     *
2501
+     * @since 1.0.19
2502
+     * @param  string $value city.
2503
+     */
2504
+    public function set_customer_city( $value ) {
2505
+        $this->set_city( $value );
2466 2506
     }
2467 2507
 
2468 2508
     /**
2469
-	 * Alias of self::set_state().
2470
-	 *
2471
-	 * @since 1.0.19
2472
-	 * @param  string $value state.
2473
-	 */
2474
-	public function set_customer_state( $value ) {
2475
-		$this->set_state( $value );
2509
+     * Set the customer's zip code.
2510
+     *
2511
+     * @since 1.0.19
2512
+     * @param  string $value zip.
2513
+     */
2514
+    public function set_zip( $value ) {
2515
+        $this->set_prop( 'zip', $value );
2476 2516
     }
2477 2517
 
2478 2518
     /**
2479
-	 * Set the customer's city.
2480
-	 *
2481
-	 * @since 1.0.19
2482
-	 * @param  string $value city.
2483
-	 */
2484
-	public function set_city( $value ) {
2485
-		$this->set_prop( 'city', $value );
2519
+     * Alias of self::set_zip().
2520
+     *
2521
+     * @since 1.0.19
2522
+     * @param  string $value zip.
2523
+     */
2524
+    public function set_user_zip( $value ) {
2525
+        $this->set_zip( $value );
2486 2526
     }
2487 2527
 
2488 2528
     /**
2489
-	 * Alias of self::set_city().
2490
-	 *
2491
-	 * @since 1.0.19
2492
-	 * @param  string $value city.
2493
-	 */
2494
-	public function set_user_city( $value ) {
2495
-		$this->set_city( $value );
2529
+     * Alias of self::set_zip().
2530
+     *
2531
+     * @since 1.0.19
2532
+     * @param  string $value zip.
2533
+     */
2534
+    public function set_customer_zip( $value ) {
2535
+        $this->set_zip( $value );
2496 2536
     }
2497 2537
 
2498 2538
     /**
2499
-	 * Alias of self::set_city().
2500
-	 *
2501
-	 * @since 1.0.19
2502
-	 * @param  string $value city.
2503
-	 */
2504
-	public function set_customer_city( $value ) {
2505
-		$this->set_city( $value );
2539
+     * Set the customer's company.
2540
+     *
2541
+     * @since 1.0.19
2542
+     * @param  string $value company.
2543
+     */
2544
+    public function set_company( $value ) {
2545
+        $this->set_prop( 'company', $value );
2506 2546
     }
2507 2547
 
2508 2548
     /**
2509
-	 * Set the customer's zip code.
2510
-	 *
2511
-	 * @since 1.0.19
2512
-	 * @param  string $value zip.
2513
-	 */
2514
-	public function set_zip( $value ) {
2515
-		$this->set_prop( 'zip', $value );
2549
+     * Alias of self::set_company().
2550
+     *
2551
+     * @since 1.0.19
2552
+     * @param  string $value company.
2553
+     */
2554
+    public function set_user_company( $value ) {
2555
+        $this->set_company( $value );
2516 2556
     }
2517 2557
 
2518 2558
     /**
2519
-	 * Alias of self::set_zip().
2520
-	 *
2521
-	 * @since 1.0.19
2522
-	 * @param  string $value zip.
2523
-	 */
2524
-	public function set_user_zip( $value ) {
2525
-		$this->set_zip( $value );
2559
+     * Alias of self::set_company().
2560
+     *
2561
+     * @since 1.0.19
2562
+     * @param  string $value company.
2563
+     */
2564
+    public function set_customer_company( $value ) {
2565
+        $this->set_company( $value );
2526 2566
     }
2527 2567
 
2528 2568
     /**
2529
-	 * Alias of self::set_zip().
2530
-	 *
2531
-	 * @since 1.0.19
2532
-	 * @param  string $value zip.
2533
-	 */
2534
-	public function set_customer_zip( $value ) {
2535
-		$this->set_zip( $value );
2569
+     * Set the customer's var number.
2570
+     *
2571
+     * @since 1.0.19
2572
+     * @param  string $value var number.
2573
+     */
2574
+    public function set_vat_number( $value ) {
2575
+        $this->set_prop( 'vat_number', $value );
2536 2576
     }
2537 2577
 
2538 2578
     /**
2539
-	 * Set the customer's company.
2540
-	 *
2541
-	 * @since 1.0.19
2542
-	 * @param  string $value company.
2543
-	 */
2544
-	public function set_company( $value ) {
2545
-		$this->set_prop( 'company', $value );
2579
+     * Alias of self::set_vat_number().
2580
+     *
2581
+     * @since 1.0.19
2582
+     * @param  string $value var number.
2583
+     */
2584
+    public function set_user_vat_number( $value ) {
2585
+        $this->set_vat_number( $value );
2546 2586
     }
2547 2587
 
2548 2588
     /**
2549
-	 * Alias of self::set_company().
2550
-	 *
2551
-	 * @since 1.0.19
2552
-	 * @param  string $value company.
2553
-	 */
2554
-	public function set_user_company( $value ) {
2555
-		$this->set_company( $value );
2589
+     * Alias of self::set_vat_number().
2590
+     *
2591
+     * @since 1.0.19
2592
+     * @param  string $value var number.
2593
+     */
2594
+    public function set_customer_vat_number( $value ) {
2595
+        $this->set_vat_number( $value );
2556 2596
     }
2557 2597
 
2558 2598
     /**
2559
-	 * Alias of self::set_company().
2560
-	 *
2561
-	 * @since 1.0.19
2562
-	 * @param  string $value company.
2563
-	 */
2564
-	public function set_customer_company( $value ) {
2565
-		$this->set_company( $value );
2599
+     * Set the customer's vat rate.
2600
+     *
2601
+     * @since 1.0.19
2602
+     * @param  string $value var rate.
2603
+     */
2604
+    public function set_vat_rate( $value ) {
2605
+        $this->set_prop( 'vat_rate', $value );
2566 2606
     }
2567 2607
 
2568 2608
     /**
2569
-	 * Set the customer's var number.
2570
-	 *
2571
-	 * @since 1.0.19
2572
-	 * @param  string $value var number.
2573
-	 */
2574
-	public function set_vat_number( $value ) {
2575
-		$this->set_prop( 'vat_number', $value );
2609
+     * Alias of self::set_vat_rate().
2610
+     *
2611
+     * @since 1.0.19
2612
+     * @param  string $value var number.
2613
+     */
2614
+    public function set_user_vat_rate( $value ) {
2615
+        $this->set_vat_rate( $value );
2576 2616
     }
2577 2617
 
2578 2618
     /**
2579
-	 * Alias of self::set_vat_number().
2580
-	 *
2581
-	 * @since 1.0.19
2582
-	 * @param  string $value var number.
2583
-	 */
2584
-	public function set_user_vat_number( $value ) {
2585
-		$this->set_vat_number( $value );
2619
+     * Alias of self::set_vat_rate().
2620
+     *
2621
+     * @since 1.0.19
2622
+     * @param  string $value var number.
2623
+     */
2624
+    public function set_customer_vat_rate( $value ) {
2625
+        $this->set_vat_rate( $value );
2586 2626
     }
2587 2627
 
2588 2628
     /**
2589
-	 * Alias of self::set_vat_number().
2590
-	 *
2591
-	 * @since 1.0.19
2592
-	 * @param  string $value var number.
2593
-	 */
2594
-	public function set_customer_vat_number( $value ) {
2595
-		$this->set_vat_number( $value );
2629
+     * Set the customer's address.
2630
+     *
2631
+     * @since 1.0.19
2632
+     * @param  string $value address.
2633
+     */
2634
+    public function set_address( $value ) {
2635
+        $this->set_prop( 'address', $value );
2596 2636
     }
2597 2637
 
2598 2638
     /**
2599
-	 * Set the customer's vat rate.
2600
-	 *
2601
-	 * @since 1.0.19
2602
-	 * @param  string $value var rate.
2603
-	 */
2604
-	public function set_vat_rate( $value ) {
2605
-		$this->set_prop( 'vat_rate', $value );
2639
+     * Alias of self::set_address().
2640
+     *
2641
+     * @since 1.0.19
2642
+     * @param  string $value address.
2643
+     */
2644
+    public function set_user_address( $value ) {
2645
+        $this->set_address( $value );
2606 2646
     }
2607 2647
 
2608 2648
     /**
2609
-	 * Alias of self::set_vat_rate().
2610
-	 *
2611
-	 * @since 1.0.19
2612
-	 * @param  string $value var number.
2613
-	 */
2614
-	public function set_user_vat_rate( $value ) {
2615
-		$this->set_vat_rate( $value );
2649
+     * Alias of self::set_address().
2650
+     *
2651
+     * @since 1.0.19
2652
+     * @param  string $value address.
2653
+     */
2654
+    public function set_customer_address( $value ) {
2655
+        $this->set_address( $value );
2616 2656
     }
2617 2657
 
2618 2658
     /**
2619
-	 * Alias of self::set_vat_rate().
2620
-	 *
2621
-	 * @since 1.0.19
2622
-	 * @param  string $value var number.
2623
-	 */
2624
-	public function set_customer_vat_rate( $value ) {
2625
-		$this->set_vat_rate( $value );
2659
+     * Set whether the customer has viewed the invoice or not.
2660
+     *
2661
+     * @since 1.0.19
2662
+     * @param  int|bool $value confirmed.
2663
+     */
2664
+    public function set_is_viewed( $value ) {
2665
+        $this->set_prop( 'is_viewed', $value );
2626 2666
     }
2627 2667
 
2628 2668
     /**
2629
-	 * Set the customer's address.
2630
-	 *
2631
-	 * @since 1.0.19
2632
-	 * @param  string $value address.
2633
-	 */
2634
-	public function set_address( $value ) {
2635
-		$this->set_prop( 'address', $value );
2669
+     * Set extra email recipients.
2670
+     *
2671
+     * @since 1.0.19
2672
+     * @param  string $value email recipients.
2673
+     */
2674
+    public function set_email_cc( $value ) {
2675
+        $this->set_prop( 'email_cc', $value );
2636 2676
     }
2637 2677
 
2638 2678
     /**
2639
-	 * Alias of self::set_address().
2640
-	 *
2641
-	 * @since 1.0.19
2642
-	 * @param  string $value address.
2643
-	 */
2644
-	public function set_user_address( $value ) {
2645
-		$this->set_address( $value );
2679
+     * Set the invoice template.
2680
+     *
2681
+     * @since 1.0.19
2682
+     * @param  string $value template.
2683
+     */
2684
+    public function set_template( $value ) {
2685
+        if ( in_array( $value, array( 'quantity', 'hours', 'amount' ) ) ) {
2686
+            $this->set_prop( 'template', $value );
2687
+        }
2646 2688
     }
2647 2689
 
2648 2690
     /**
2649
-	 * Alias of self::set_address().
2650
-	 *
2651
-	 * @since 1.0.19
2652
-	 * @param  string $value address.
2653
-	 */
2654
-	public function set_customer_address( $value ) {
2655
-		$this->set_address( $value );
2691
+     * Set the invoice source.
2692
+     *
2693
+     * @since 1.0.19
2694
+     * @param  string $value email recipients.
2695
+     */
2696
+    public function created_via( $value ) {
2697
+        $this->set_prop( 'created_via', sanitize_text_field( $value ) );
2656 2698
     }
2657 2699
 
2658 2700
     /**
2659
-	 * Set whether the customer has viewed the invoice or not.
2660
-	 *
2661
-	 * @since 1.0.19
2662
-	 * @param  int|bool $value confirmed.
2663
-	 */
2664
-	public function set_is_viewed( $value ) {
2665
-		$this->set_prop( 'is_viewed', $value );
2666
-	}
2667
-
2668
-	/**
2669
-	 * Set extra email recipients.
2670
-	 *
2671
-	 * @since 1.0.19
2672
-	 * @param  string $value email recipients.
2673
-	 */
2674
-	public function set_email_cc( $value ) {
2675
-		$this->set_prop( 'email_cc', $value );
2676
-	}
2677
-
2678
-	/**
2679
-	 * Set the invoice template.
2680
-	 *
2681
-	 * @since 1.0.19
2682
-	 * @param  string $value template.
2683
-	 */
2684
-	public function set_template( $value ) {
2685
-		if ( in_array( $value, array( 'quantity', 'hours', 'amount' ) ) ) {
2686
-			$this->set_prop( 'template', $value );
2687
-		}
2688
-	}
2689
-
2690
-	/**
2691
-	 * Set the invoice source.
2692
-	 *
2693
-	 * @since 1.0.19
2694
-	 * @param  string $value email recipients.
2695
-	 */
2696
-	public function created_via( $value ) {
2697
-		$this->set_prop( 'created_via', sanitize_text_field( $value ) );
2698
-	}
2699
-
2700
-	/**
2701
-	 * Set the customer's address confirmed status.
2702
-	 *
2703
-	 * @since 1.0.19
2704
-	 * @param  int|bool $value confirmed.
2705
-	 */
2706
-	public function set_address_confirmed( $value ) {
2707
-		$this->set_prop( 'address_confirmed', $value );
2701
+     * Set the customer's address confirmed status.
2702
+     *
2703
+     * @since 1.0.19
2704
+     * @param  int|bool $value confirmed.
2705
+     */
2706
+    public function set_address_confirmed( $value ) {
2707
+        $this->set_prop( 'address_confirmed', $value );
2708 2708
     }
2709 2709
 
2710 2710
     /**
2711
-	 * Alias of self::set_address_confirmed().
2712
-	 *
2713
-	 * @since 1.0.19
2714
-	 * @param  int|bool $value confirmed.
2715
-	 */
2716
-	public function set_user_address_confirmed( $value ) {
2717
-		$this->set_address_confirmed( $value );
2711
+     * Alias of self::set_address_confirmed().
2712
+     *
2713
+     * @since 1.0.19
2714
+     * @param  int|bool $value confirmed.
2715
+     */
2716
+    public function set_user_address_confirmed( $value ) {
2717
+        $this->set_address_confirmed( $value );
2718 2718
     }
2719 2719
 
2720 2720
     /**
2721
-	 * Alias of self::set_address_confirmed().
2722
-	 *
2723
-	 * @since 1.0.19
2724
-	 * @param  int|bool $value confirmed.
2725
-	 */
2726
-	public function set_customer_address_confirmed( $value ) {
2727
-		$this->set_address_confirmed( $value );
2721
+     * Alias of self::set_address_confirmed().
2722
+     *
2723
+     * @since 1.0.19
2724
+     * @param  int|bool $value confirmed.
2725
+     */
2726
+    public function set_customer_address_confirmed( $value ) {
2727
+        $this->set_address_confirmed( $value );
2728 2728
     }
2729 2729
 
2730 2730
     /**
2731
-	 * Set the invoice sub total.
2732
-	 *
2733
-	 * @since 1.0.19
2734
-	 * @param  float $value sub total.
2735
-	 */
2736
-	public function set_subtotal( $value ) {
2737
-		$this->set_prop( 'subtotal', $value );
2731
+     * Set the invoice sub total.
2732
+     *
2733
+     * @since 1.0.19
2734
+     * @param  float $value sub total.
2735
+     */
2736
+    public function set_subtotal( $value ) {
2737
+        $this->set_prop( 'subtotal', $value );
2738 2738
     }
2739 2739
 
2740 2740
     /**
2741
-	 * Set the invoice discount amount.
2742
-	 *
2743
-	 * @since 1.0.19
2744
-	 * @param  float $value discount total.
2745
-	 */
2746
-	public function set_total_discount( $value ) {
2747
-		$this->set_prop( 'total_discount', $value );
2741
+     * Set the invoice discount amount.
2742
+     *
2743
+     * @since 1.0.19
2744
+     * @param  float $value discount total.
2745
+     */
2746
+    public function set_total_discount( $value ) {
2747
+        $this->set_prop( 'total_discount', $value );
2748 2748
     }
2749 2749
 
2750 2750
     /**
2751
-	 * Alias of self::set_total_discount().
2752
-	 *
2753
-	 * @since 1.0.19
2754
-	 * @param  float $value discount total.
2755
-	 */
2756
-	public function set_discount( $value ) {
2757
-		$this->set_total_discount( $value );
2751
+     * Alias of self::set_total_discount().
2752
+     *
2753
+     * @since 1.0.19
2754
+     * @param  float $value discount total.
2755
+     */
2756
+    public function set_discount( $value ) {
2757
+        $this->set_total_discount( $value );
2758 2758
     }
2759 2759
 
2760 2760
     /**
2761
-	 * Set the invoice tax amount.
2762
-	 *
2763
-	 * @since 1.0.19
2764
-	 * @param  float $value tax total.
2765
-	 */
2766
-	public function set_total_tax( $value ) {
2767
-		$this->set_prop( 'total_tax', $value );
2761
+     * Set the invoice tax amount.
2762
+     *
2763
+     * @since 1.0.19
2764
+     * @param  float $value tax total.
2765
+     */
2766
+    public function set_total_tax( $value ) {
2767
+        $this->set_prop( 'total_tax', $value );
2768 2768
     }
2769 2769
 
2770 2770
     /**
2771
-	 * Alias of self::set_total_tax().
2772
-	 *
2773
-	 * @since 1.0.19
2774
-	 * @param  float $value tax total.
2775
-	 */
2776
-	public function set_tax_total( $value ) {
2777
-		$this->set_total_tax( $value );
2771
+     * Alias of self::set_total_tax().
2772
+     *
2773
+     * @since 1.0.19
2774
+     * @param  float $value tax total.
2775
+     */
2776
+    public function set_tax_total( $value ) {
2777
+        $this->set_total_tax( $value );
2778 2778
     }
2779 2779
 
2780 2780
     /**
2781
-	 * Set the invoice fees amount.
2782
-	 *
2783
-	 * @since 1.0.19
2784
-	 * @param  float $value fees total.
2785
-	 */
2786
-	public function set_total_fees( $value ) {
2787
-		$this->set_prop( 'total_fees', $value );
2781
+     * Set the invoice fees amount.
2782
+     *
2783
+     * @since 1.0.19
2784
+     * @param  float $value fees total.
2785
+     */
2786
+    public function set_total_fees( $value ) {
2787
+        $this->set_prop( 'total_fees', $value );
2788 2788
     }
2789 2789
 
2790 2790
     /**
2791
-	 * Alias of self::set_total_fees().
2792
-	 *
2793
-	 * @since 1.0.19
2794
-	 * @param  float $value fees total.
2795
-	 */
2796
-	public function set_fees_total( $value ) {
2797
-		$this->set_total_fees( $value );
2791
+     * Alias of self::set_total_fees().
2792
+     *
2793
+     * @since 1.0.19
2794
+     * @param  float $value fees total.
2795
+     */
2796
+    public function set_fees_total( $value ) {
2797
+        $this->set_total_fees( $value );
2798 2798
     }
2799 2799
 
2800 2800
     /**
2801
-	 * Set the invoice fees.
2802
-	 *
2803
-	 * @since 1.0.19
2804
-	 * @param  array $value fees.
2805
-	 */
2806
-	public function set_fees( $value ) {
2801
+     * Set the invoice fees.
2802
+     *
2803
+     * @since 1.0.19
2804
+     * @param  array $value fees.
2805
+     */
2806
+    public function set_fees( $value ) {
2807 2807
 
2808
-		if ( ! is_array( $value ) ) {
2809
-			$value = array();
2810
-		}
2808
+        if ( ! is_array( $value ) ) {
2809
+            $value = array();
2810
+        }
2811 2811
 
2812
-		$this->set_prop( 'fees', $value );
2812
+        $this->set_prop( 'fees', $value );
2813 2813
 
2814 2814
     }
2815 2815
 
2816 2816
     /**
2817
-	 * Set the invoice taxes.
2818
-	 *
2819
-	 * @since 1.0.19
2820
-	 * @param  array $value taxes.
2821
-	 */
2822
-	public function set_taxes( $value ) {
2817
+     * Set the invoice taxes.
2818
+     *
2819
+     * @since 1.0.19
2820
+     * @param  array $value taxes.
2821
+     */
2822
+    public function set_taxes( $value ) {
2823 2823
 
2824
-		if ( ! is_array( $value ) ) {
2825
-			$value = array();
2826
-		}
2824
+        if ( ! is_array( $value ) ) {
2825
+            $value = array();
2826
+        }
2827 2827
 
2828
-		$this->set_prop( 'taxes', $value );
2828
+        $this->set_prop( 'taxes', $value );
2829 2829
 
2830 2830
     }
2831 2831
 
2832 2832
     /**
2833
-	 * Set the invoice discounts.
2834
-	 *
2835
-	 * @since 1.0.19
2836
-	 * @param  array $value discounts.
2837
-	 */
2838
-	public function set_discounts( $value ) {
2833
+     * Set the invoice discounts.
2834
+     *
2835
+     * @since 1.0.19
2836
+     * @param  array $value discounts.
2837
+     */
2838
+    public function set_discounts( $value ) {
2839 2839
 
2840
-		if ( ! is_array( $value ) ) {
2841
-			$value = array();
2842
-		}
2840
+        if ( ! is_array( $value ) ) {
2841
+            $value = array();
2842
+        }
2843 2843
 
2844
-		$this->set_prop( 'discounts', $value );
2844
+        $this->set_prop( 'discounts', $value );
2845 2845
     }
2846 2846
 
2847 2847
     /**
2848
-	 * Set the invoice items.
2849
-	 *
2850
-	 * @since 1.0.19
2851
-	 * @param  GetPaid_Form_Item[] $value items.
2852
-	 */
2853
-	public function set_items( $value ) {
2848
+     * Set the invoice items.
2849
+     *
2850
+     * @since 1.0.19
2851
+     * @param  GetPaid_Form_Item[] $value items.
2852
+     */
2853
+    public function set_items( $value ) {
2854 2854
 
2855 2855
         // Remove existing items.
2856 2856
         $this->set_prop( 'items', array() );
@@ -2867,95 +2867,95 @@  discard block
 block discarded – undo
2867 2867
     }
2868 2868
 
2869 2869
     /**
2870
-	 * Set the payment form.
2871
-	 *
2872
-	 * @since 1.0.19
2873
-	 * @param  int $value payment form.
2874
-	 */
2875
-	public function set_payment_form( $value ) {
2876
-		$this->set_prop( 'payment_form', $value );
2870
+     * Set the payment form.
2871
+     *
2872
+     * @since 1.0.19
2873
+     * @param  int $value payment form.
2874
+     */
2875
+    public function set_payment_form( $value ) {
2876
+        $this->set_prop( 'payment_form', $value );
2877 2877
     }
2878 2878
 
2879 2879
     /**
2880
-	 * Set the submission id.
2881
-	 *
2882
-	 * @since 1.0.19
2883
-	 * @param  string $value submission id.
2884
-	 */
2885
-	public function set_submission_id( $value ) {
2886
-		$this->set_prop( 'submission_id', $value );
2880
+     * Set the submission id.
2881
+     *
2882
+     * @since 1.0.19
2883
+     * @param  string $value submission id.
2884
+     */
2885
+    public function set_submission_id( $value ) {
2886
+        $this->set_prop( 'submission_id', $value );
2887 2887
     }
2888 2888
 
2889 2889
     /**
2890
-	 * Set the discount code.
2891
-	 *
2892
-	 * @since 1.0.19
2893
-	 * @param  string $value discount code.
2894
-	 */
2895
-	public function set_discount_code( $value ) {
2896
-		$this->set_prop( 'discount_code', $value );
2890
+     * Set the discount code.
2891
+     *
2892
+     * @since 1.0.19
2893
+     * @param  string $value discount code.
2894
+     */
2895
+    public function set_discount_code( $value ) {
2896
+        $this->set_prop( 'discount_code', $value );
2897 2897
     }
2898 2898
 
2899 2899
     /**
2900
-	 * Set the gateway.
2901
-	 *
2902
-	 * @since 1.0.19
2903
-	 * @param  string $value gateway.
2904
-	 */
2905
-	public function set_gateway( $value ) {
2906
-		$this->set_prop( 'gateway', $value );
2900
+     * Set the gateway.
2901
+     *
2902
+     * @since 1.0.19
2903
+     * @param  string $value gateway.
2904
+     */
2905
+    public function set_gateway( $value ) {
2906
+        $this->set_prop( 'gateway', $value );
2907 2907
     }
2908 2908
 
2909 2909
     /**
2910
-	 * Set the transaction id.
2911
-	 *
2912
-	 * @since 1.0.19
2913
-	 * @param  string $value transaction id.
2914
-	 */
2915
-	public function set_transaction_id( $value ) {
2916
-		if ( ! empty( $value ) ) {
2917
-			$this->set_prop( 'transaction_id', $value );
2918
-		}
2910
+     * Set the transaction id.
2911
+     *
2912
+     * @since 1.0.19
2913
+     * @param  string $value transaction id.
2914
+     */
2915
+    public function set_transaction_id( $value ) {
2916
+        if ( ! empty( $value ) ) {
2917
+            $this->set_prop( 'transaction_id', $value );
2918
+        }
2919 2919
     }
2920 2920
 
2921 2921
     /**
2922
-	 * Set the currency id.
2923
-	 *
2924
-	 * @since 1.0.19
2925
-	 * @param  string $value currency id.
2926
-	 */
2927
-	public function set_currency( $value ) {
2928
-		$this->set_prop( 'currency', $value );
2922
+     * Set the currency id.
2923
+     *
2924
+     * @since 1.0.19
2925
+     * @param  string $value currency id.
2926
+     */
2927
+    public function set_currency( $value ) {
2928
+        $this->set_prop( 'currency', $value );
2929 2929
     }
2930 2930
 
2931
-	/**
2932
-	 * Set whether to disable taxes.
2933
-	 *
2934
-	 * @since 1.0.19
2935
-	 * @param  bool $value value.
2936
-	 */
2937
-	public function set_disable_taxes( $value ) {
2938
-		$this->set_prop( 'disable_taxes', (bool) $value );
2939
-	}
2931
+    /**
2932
+     * Set whether to disable taxes.
2933
+     *
2934
+     * @since 1.0.19
2935
+     * @param  bool $value value.
2936
+     */
2937
+    public function set_disable_taxes( $value ) {
2938
+        $this->set_prop( 'disable_taxes', (bool) $value );
2939
+    }
2940 2940
 
2941 2941
     /**
2942
-	 * Set the subscription id.
2943
-	 *
2944
-	 * @since 1.0.19
2945
-	 * @param  string $value subscription id.
2946
-	 */
2947
-	public function set_subscription_id( $value ) {
2948
-		$this->set_prop( 'subscription_id', $value );
2949
-	}
2942
+     * Set the subscription id.
2943
+     *
2944
+     * @since 1.0.19
2945
+     * @param  string $value subscription id.
2946
+     */
2947
+    public function set_subscription_id( $value ) {
2948
+        $this->set_prop( 'subscription_id', $value );
2949
+    }
2950 2950
 	
2951
-	/**
2952
-	 * Set the remote subscription id.
2953
-	 *
2954
-	 * @since 1.0.19
2955
-	 * @param  string $value subscription id.
2956
-	 */
2957
-	public function set_remote_subscription_id( $value ) {
2958
-		$this->set_prop( 'remote_subscription_id', $value );
2951
+    /**
2952
+     * Set the remote subscription id.
2953
+     *
2954
+     * @since 1.0.19
2955
+     * @param  string $value subscription id.
2956
+     */
2957
+    public function set_remote_subscription_id( $value ) {
2958
+        $this->set_prop( 'remote_subscription_id', $value );
2959 2959
     }
2960 2960
 
2961 2961
     /*
@@ -2994,24 +2994,24 @@  discard block
 block discarded – undo
2994 2994
      */
2995 2995
     public function is_taxable() {
2996 2996
         return ! $this->get_disable_taxes();
2997
-	}
2997
+    }
2998 2998
 
2999
-	/**
3000
-	 * @deprecated
3001
-	 */
3002
-	public function has_vat() {
2999
+    /**
3000
+     * @deprecated
3001
+     */
3002
+    public function has_vat() {
3003 3003
         return $this->is_taxable();
3004
-	}
3004
+    }
3005 3005
 
3006
-	/**
3007
-	 * Checks to see if the invoice requires payment.
3008
-	 */
3009
-	public function is_free() {
3006
+    /**
3007
+     * Checks to see if the invoice requires payment.
3008
+     */
3009
+    public function is_free() {
3010 3010
         $is_free = ( (float) wpinv_round_amount( $this->get_initial_total() ) == 0 );
3011 3011
 
3012
-		if ( $this->is_recurring() && $this->get_recurring_total() > 0 ) {
3013
-			$is_free = false;
3014
-		}
3012
+        if ( $this->is_recurring() && $this->get_recurring_total() > 0 ) {
3013
+            $is_free = false;
3014
+        }
3015 3015
 
3016 3016
         return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
3017 3017
     }
@@ -3022,46 +3022,46 @@  discard block
 block discarded – undo
3022 3022
     public function is_paid() {
3023 3023
         $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
3024 3024
         return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
3025
-	}
3025
+    }
3026 3026
 
3027
-	/**
3027
+    /**
3028 3028
      * Checks if the invoice needs payment.
3029 3029
      */
3030
-	public function needs_payment() {
3031
-		$needs_payment = ! $this->is_paid() && ! $this->is_refunded() && ! $this->is_free();
3030
+    public function needs_payment() {
3031
+        $needs_payment = ! $this->is_paid() && ! $this->is_refunded() && ! $this->is_free();
3032 3032
         return apply_filters( 'wpinv_needs_payment', $needs_payment, $this );
3033 3033
     }
3034 3034
   
3035
-	/**
3035
+    /**
3036 3036
      * Checks if the invoice is refunded.
3037 3037
      */
3038
-	public function is_refunded() {
3038
+    public function is_refunded() {
3039 3039
         $is_refunded = $this->has_status( 'wpi-refunded' );
3040 3040
         return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
3041
-	}
3041
+    }
3042 3042
 
3043
-	/**
3043
+    /**
3044 3044
      * Checks if the invoice is held.
3045 3045
      */
3046
-	public function is_held() {
3046
+    public function is_held() {
3047 3047
         $is_held = $this->has_status( 'wpi-onhold' );
3048 3048
         return apply_filters( 'wpinv_invoice_is_held', $is_held, $this );
3049
-	}
3049
+    }
3050 3050
 
3051
-	/**
3051
+    /**
3052 3052
      * Checks if the invoice is due.
3053 3053
      */
3054
-	public function is_due() {
3055
-		$due_date = $this->get_due_date();
3056
-		return empty( $due_date ) ? false : current_time( 'timestamp' ) > strtotime( $due_date );
3057
-	}
3054
+    public function is_due() {
3055
+        $due_date = $this->get_due_date();
3056
+        return empty( $due_date ) ? false : current_time( 'timestamp' ) > strtotime( $due_date );
3057
+    }
3058 3058
 
3059
-	/**
3059
+    /**
3060 3060
      * Checks if the invoice is draft.
3061 3061
      */
3062
-	public function is_draft() {
3062
+    public function is_draft() {
3063 3063
         return $this->has_status( 'draft, auto-draft' );
3064
-	}
3064
+    }
3065 3065
 
3066 3066
     /**
3067 3067
      * Checks if the invoice has a given status.
@@ -3069,9 +3069,9 @@  discard block
 block discarded – undo
3069 3069
     public function has_status( $status ) {
3070 3070
         $status = wpinv_parse_list( $status );
3071 3071
         return apply_filters( 'wpinv_has_status', in_array( $this->get_status(), $status ), $status );
3072
-	}
3072
+    }
3073 3073
 
3074
-	/**
3074
+    /**
3075 3075
      * Checks if the invoice is of a given type.
3076 3076
      */
3077 3077
     public function is_type( $type ) {
@@ -3094,25 +3094,25 @@  discard block
 block discarded – undo
3094 3094
      */
3095 3095
     public function has_free_trial() {
3096 3096
         return $this->is_recurring() && 0 == $this->get_initial_total();
3097
-	}
3097
+    }
3098 3098
 
3099
-	/**
3099
+    /**
3100 3100
      * @deprecated
3101 3101
      */
3102 3102
     public function is_free_trial() {
3103 3103
         $this->has_free_trial();
3104 3104
     }
3105 3105
 
3106
-	/**
3106
+    /**
3107 3107
      * Check if the initial payment if 0.
3108 3108
      *
3109 3109
      */
3110
-	public function is_initial_free() {
3110
+    public function is_initial_free() {
3111 3111
         $is_initial_free = ! ( (float) wpinv_round_amount( $this->get_initial_total() ) > 0 );
3112 3112
         return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->get_cart_details(), $this );
3113 3113
     }
3114 3114
 	
3115
-	/**
3115
+    /**
3116 3116
      * Check if the recurring item has a free trial.
3117 3117
      *
3118 3118
      */
@@ -3125,21 +3125,21 @@  discard block
 block discarded – undo
3125 3125
 
3126 3126
         $item = $this->get_recurring( true );
3127 3127
         return $item->has_free_trial();
3128
-	}
3128
+    }
3129 3129
 
3130
-	/**
3130
+    /**
3131 3131
      * Check if the free trial is a result of a discount.
3132 3132
      */
3133 3133
     public function is_free_trial_from_discount() {
3134
-		return $this->has_free_trial() && ! $this->item_has_free_trial();
3135
-	}
3134
+        return $this->has_free_trial() && ! $this->item_has_free_trial();
3135
+    }
3136 3136
 	
3137
-	/**
3137
+    /**
3138 3138
      * @deprecated
3139 3139
      */
3140 3140
     public function discount_first_payment_only() {
3141 3141
 
3142
-		$discount = wpinv_get_discount_obj( $this->get_discount_code() );
3142
+        $discount = wpinv_get_discount_obj( $this->get_discount_code() );
3143 3143
         if ( ! $discount->exists() || ! $this->is_recurring() ) {
3144 3144
             return true;
3145 3145
         }
@@ -3164,28 +3164,28 @@  discard block
 block discarded – undo
3164 3164
      */
3165 3165
     public function add_item( $item ) {
3166 3166
 
3167
-		if ( is_array( $item ) ) {
3168
-			$item = $this->process_array_item( $item );
3169
-		}
3167
+        if ( is_array( $item ) ) {
3168
+            $item = $this->process_array_item( $item );
3169
+        }
3170 3170
 
3171
-		if ( is_numeric( $item ) ) {
3172
-			$item = new GetPaid_Form_Item( $item );
3173
-		}
3171
+        if ( is_numeric( $item ) ) {
3172
+            $item = new GetPaid_Form_Item( $item );
3173
+        }
3174 3174
 
3175 3175
         // Make sure that it is available for purchase.
3176
-		if ( $item->get_id() > 0 && ! $item->can_purchase() ) {
3177
-			return new WP_Error( 'invalid_item', __( 'This item is not available for purchase', 'invoicing' ) );
3176
+        if ( $item->get_id() > 0 && ! $item->can_purchase() ) {
3177
+            return new WP_Error( 'invalid_item', __( 'This item is not available for purchase', 'invoicing' ) );
3178 3178
         }
3179 3179
 
3180 3180
         // Do we have a recurring item?
3181
-		if ( $item->is_recurring() ) {
3181
+        if ( $item->is_recurring() ) {
3182 3182
 
3183
-			// An invoice can only contain one recurring item.
3184
-			if ( ! empty( $this->recurring_item  && $this->recurring_item != (int) $item->get_id() ) ) {
3185
-				return new WP_Error( 'recurring_item', __( 'An invoice can only contain one recurring item', 'invoicing' ) );
3186
-			}
3183
+            // An invoice can only contain one recurring item.
3184
+            if ( ! empty( $this->recurring_item  && $this->recurring_item != (int) $item->get_id() ) ) {
3185
+                return new WP_Error( 'recurring_item', __( 'An invoice can only contain one recurring item', 'invoicing' ) );
3186
+            }
3187 3187
 
3188
-			$this->recurring_item = $item->get_id();
3188
+            $this->recurring_item = $item->get_id();
3189 3189
         }
3190 3190
 
3191 3191
         // Invoice id.
@@ -3196,60 +3196,60 @@  discard block
 block discarded – undo
3196 3196
         $items[ (int) $item->get_id() ] = $item;
3197 3197
 
3198 3198
         $this->set_prop( 'items', $items );
3199
-		return true;
3200
-	}
3199
+        return true;
3200
+    }
3201 3201
 
3202
-	/**
3203
-	 * Converts an array to an item.
3204
-	 *
3205
-	 * @since 1.0.19
3206
-	 * @return GetPaid_Form_Item
3207
-	 */
3208
-	protected function process_array_item( $array ) {
3202
+    /**
3203
+     * Converts an array to an item.
3204
+     *
3205
+     * @since 1.0.19
3206
+     * @return GetPaid_Form_Item
3207
+     */
3208
+    protected function process_array_item( $array ) {
3209 3209
 
3210
-		$item_id = isset( $array['item_id'] ) ? $array['item_id'] : 0;
3211
-		$item    = new GetPaid_Form_Item( $item_id );
3210
+        $item_id = isset( $array['item_id'] ) ? $array['item_id'] : 0;
3211
+        $item    = new GetPaid_Form_Item( $item_id );
3212 3212
 
3213
-		// Set item data.
3214
-		foreach ( array( 'name', 'price', 'description' ) as $key ) {
3215
-			if ( isset( $array[ "item_$key" ] ) ) {
3216
-				$method = "set_$key";
3217
-				$item->$method( $array[ "item_$key" ] );
3218
-			}
3219
-		}
3213
+        // Set item data.
3214
+        foreach ( array( 'name', 'price', 'description' ) as $key ) {
3215
+            if ( isset( $array[ "item_$key" ] ) ) {
3216
+                $method = "set_$key";
3217
+                $item->$method( $array[ "item_$key" ] );
3218
+            }
3219
+        }
3220 3220
 
3221
-		if ( isset( $array['quantity'] ) ) {
3222
-			$item->set_quantity( $array['quantity'] );
3223
-		}
3221
+        if ( isset( $array['quantity'] ) ) {
3222
+            $item->set_quantity( $array['quantity'] );
3223
+        }
3224 3224
 
3225
-		// Set item meta.
3226
-		if ( isset( $array['meta'] ) && is_array( $array['meta'] ) ) {
3227
-			$item->set_item_meta( $array['meta'] );
3228
-		}
3225
+        // Set item meta.
3226
+        if ( isset( $array['meta'] ) && is_array( $array['meta'] ) ) {
3227
+            $item->set_item_meta( $array['meta'] );
3228
+        }
3229 3229
 
3230
-		return $item;
3230
+        return $item;
3231 3231
 
3232
-	}
3232
+    }
3233 3233
 
3234 3234
     /**
3235
-	 * Retrieves a specific item.
3236
-	 *
3237
-	 * @since 1.0.19
3238
-	 */
3239
-	public function get_item( $item_id ) {
3240
-		$items   = $this->get_items();
3241
-		$item_id = (int) $item_id;
3242
-		return ( ! empty( $item_id ) && isset( $items[ $item_id ] ) ) ? $items[ $item_id ] : null;
3235
+     * Retrieves a specific item.
3236
+     *
3237
+     * @since 1.0.19
3238
+     */
3239
+    public function get_item( $item_id ) {
3240
+        $items   = $this->get_items();
3241
+        $item_id = (int) $item_id;
3242
+        return ( ! empty( $item_id ) && isset( $items[ $item_id ] ) ) ? $items[ $item_id ] : null;
3243 3243
     }
3244 3244
 
3245 3245
     /**
3246
-	 * Removes a specific item.
3247
-	 *
3248
-	 * @since 1.0.19
3249
-	 */
3250
-	public function remove_item( $item_id ) {
3251
-		$items   = $this->get_items();
3252
-		$item_id = (int) $item_id;
3246
+     * Removes a specific item.
3247
+     *
3248
+     * @since 1.0.19
3249
+     */
3250
+    public function remove_item( $item_id ) {
3251
+        $items   = $this->get_items();
3252
+        $item_id = (int) $item_id;
3253 3253
 
3254 3254
         if ( $item_id == $this->recurring_item ) {
3255 3255
             $this->recurring_item = null;
@@ -3262,35 +3262,35 @@  discard block
 block discarded – undo
3262 3262
     }
3263 3263
 
3264 3264
     /**
3265
-	 * Adds a fee to the invoice.
3266
-	 *
3267
-	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
3268
-	 * @since 1.0.19
3269
-	 */
3265
+     * Adds a fee to the invoice.
3266
+     *
3267
+     * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
3268
+     * @since 1.0.19
3269
+     */
3270 3270
     public function add_fee( $fee ) {
3271 3271
 
3272
-		$fees                 = $this->get_fees();
3273
-		$fees[ $fee['name'] ] = $fee;
3274
-		$this->set_prop( 'fees', $fees );
3272
+        $fees                 = $this->get_fees();
3273
+        $fees[ $fee['name'] ] = $fee;
3274
+        $this->set_prop( 'fees', $fees );
3275 3275
 
3276 3276
     }
3277 3277
 
3278 3278
     /**
3279
-	 * Retrieves a specific fee.
3280
-	 *
3281
-	 * @since 1.0.19
3282
-	 */
3283
-	public function get_fee( $fee ) {
3279
+     * Retrieves a specific fee.
3280
+     *
3281
+     * @since 1.0.19
3282
+     */
3283
+    public function get_fee( $fee ) {
3284 3284
         $fees = $this->get_fees();
3285
-		return isset( $fees[ $fee ] ) ? $fees[ $fee ] : null;
3285
+        return isset( $fees[ $fee ] ) ? $fees[ $fee ] : null;
3286 3286
     }
3287 3287
 
3288 3288
     /**
3289
-	 * Removes a specific fee.
3290
-	 *
3291
-	 * @since 1.0.19
3292
-	 */
3293
-	public function remove_fee( $fee ) {
3289
+     * Removes a specific fee.
3290
+     *
3291
+     * @since 1.0.19
3292
+     */
3293
+    public function remove_fee( $fee ) {
3294 3294
         $fees = $this->get_fees();
3295 3295
         if ( isset( $fees[ $fee ] ) ) {
3296 3296
             unset( $fees[ $fee ] );
@@ -3298,43 +3298,43 @@  discard block
 block discarded – undo
3298 3298
         }
3299 3299
     }
3300 3300
 
3301
-	/**
3302
-	 * Adds a discount to the invoice.
3303
-	 *
3304
-	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
3305
-	 * @since 1.0.19
3306
-	 */
3307
-	public function add_discount( $discount ) {
3301
+    /**
3302
+     * Adds a discount to the invoice.
3303
+     *
3304
+     * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
3305
+     * @since 1.0.19
3306
+     */
3307
+    public function add_discount( $discount ) {
3308 3308
 
3309
-		$discounts = $this->get_discounts();
3310
-		$discounts[ $discount['name'] ] = $discount;
3311
-		$this->set_prop( 'discounts', $discounts );
3309
+        $discounts = $this->get_discounts();
3310
+        $discounts[ $discount['name'] ] = $discount;
3311
+        $this->set_prop( 'discounts', $discounts );
3312 3312
 
3313
-	}
3313
+    }
3314 3314
 
3315 3315
     /**
3316
-	 * Retrieves a specific discount.
3317
-	 *
3318
-	 * @since 1.0.19
3319
-	 * @return float
3320
-	 */
3321
-	public function get_discount( $discount = false ) {
3316
+     * Retrieves a specific discount.
3317
+     *
3318
+     * @since 1.0.19
3319
+     * @return float
3320
+     */
3321
+    public function get_discount( $discount = false ) {
3322 3322
 
3323
-		// Backwards compatibilty.
3324
-		if ( empty( $discount ) ) {
3325
-			return $this->get_total_discount();
3326
-		}
3323
+        // Backwards compatibilty.
3324
+        if ( empty( $discount ) ) {
3325
+            return $this->get_total_discount();
3326
+        }
3327 3327
 
3328 3328
         $discounts = $this->get_discounts();
3329
-		return isset( $discounts[ $discount ] ) ? $discounts[ $discount ] : null;
3329
+        return isset( $discounts[ $discount ] ) ? $discounts[ $discount ] : null;
3330 3330
     }
3331 3331
 
3332 3332
     /**
3333
-	 * Removes a specific discount.
3334
-	 *
3335
-	 * @since 1.0.19
3336
-	 */
3337
-	public function remove_discount( $discount ) {
3333
+     * Removes a specific discount.
3334
+     *
3335
+     * @since 1.0.19
3336
+     */
3337
+    public function remove_discount( $discount ) {
3338 3338
         $discounts = $this->get_discounts();
3339 3339
         if ( isset( $discounts[ $discount ] ) ) {
3340 3340
             unset( $discounts[ $discount ] );
@@ -3351,34 +3351,34 @@  discard block
 block discarded – undo
3351 3351
         if ( $this->is_taxable() ) {
3352 3352
 
3353 3353
             $taxes                 = $this->get_taxes();
3354
-			$taxes[ $tax['name'] ] = $tax;
3355
-			$this->set_prop( 'taxes', $tax );
3354
+            $taxes[ $tax['name'] ] = $tax;
3355
+            $this->set_prop( 'taxes', $tax );
3356 3356
 
3357 3357
         }
3358 3358
     }
3359 3359
 
3360 3360
     /**
3361
-	 * Retrieves a specific tax.
3362
-	 *
3363
-	 * @since 1.0.19
3364
-	 */
3365
-	public function get_tax( $tax = null ) {
3361
+     * Retrieves a specific tax.
3362
+     *
3363
+     * @since 1.0.19
3364
+     */
3365
+    public function get_tax( $tax = null ) {
3366 3366
 
3367
-		// Backwards compatility.
3368
-		if ( empty( $tax ) ) {
3369
-			return $this->get_total_tax();
3370
-		}
3367
+        // Backwards compatility.
3368
+        if ( empty( $tax ) ) {
3369
+            return $this->get_total_tax();
3370
+        }
3371 3371
 
3372 3372
         $taxes = $this->get_taxes();
3373
-		return isset( $taxes[ $tax ] ) ? $taxes[ $tax ] : null;
3373
+        return isset( $taxes[ $tax ] ) ? $taxes[ $tax ] : null;
3374 3374
     }
3375 3375
 
3376 3376
     /**
3377
-	 * Removes a specific tax.
3378
-	 *
3379
-	 * @since 1.0.19
3380
-	 */
3381
-	public function remove_tax( $tax ) {
3377
+     * Removes a specific tax.
3378
+     *
3379
+     * @since 1.0.19
3380
+     */
3381
+    public function remove_tax( $tax ) {
3382 3382
         $taxes = $this->get_taxes();
3383 3383
         if ( isset( $taxes[ $tax ] ) ) {
3384 3384
             unset( $taxes[ $tax ] );
@@ -3387,134 +3387,134 @@  discard block
 block discarded – undo
3387 3387
     }
3388 3388
 
3389 3389
     /**
3390
-	 * Recalculates the invoice subtotal.
3391
-	 *
3392
-	 * @since 1.0.19
3393
-	 * @return float The recalculated subtotal
3394
-	 */
3395
-	public function recalculate_subtotal() {
3390
+     * Recalculates the invoice subtotal.
3391
+     *
3392
+     * @since 1.0.19
3393
+     * @return float The recalculated subtotal
3394
+     */
3395
+    public function recalculate_subtotal() {
3396 3396
         $items     = $this->get_items();
3397
-		$subtotal  = 0;
3398
-		$recurring = 0;
3397
+        $subtotal  = 0;
3398
+        $recurring = 0;
3399 3399
 
3400 3400
         foreach ( $items as $item ) {
3401
-			$subtotal  += $item->get_sub_total();
3402
-			$recurring += $item->get_recurring_sub_total();
3401
+            $subtotal  += $item->get_sub_total();
3402
+            $recurring += $item->get_recurring_sub_total();
3403 3403
         }
3404 3404
 
3405
-		$current = $this->is_renewal() ? $recurring : $subtotal;
3406
-		$this->set_subtotal( $current );
3405
+        $current = $this->is_renewal() ? $recurring : $subtotal;
3406
+        $this->set_subtotal( $current );
3407 3407
 
3408
-		$this->totals['subtotal'] = array(
3409
-			'initial'   => $subtotal,
3410
-			'recurring' => $recurring,
3411
-		);
3408
+        $this->totals['subtotal'] = array(
3409
+            'initial'   => $subtotal,
3410
+            'recurring' => $recurring,
3411
+        );
3412 3412
 
3413 3413
         return $current;
3414 3414
     }
3415 3415
 
3416 3416
     /**
3417
-	 * Recalculates the invoice discount total.
3418
-	 *
3419
-	 * @since 1.0.19
3420
-	 * @return float The recalculated discount
3421
-	 */
3422
-	public function recalculate_total_discount() {
3417
+     * Recalculates the invoice discount total.
3418
+     *
3419
+     * @since 1.0.19
3420
+     * @return float The recalculated discount
3421
+     */
3422
+    public function recalculate_total_discount() {
3423 3423
         $discounts = $this->get_discounts();
3424
-		$discount  = 0;
3425
-		$recurring = 0;
3424
+        $discount  = 0;
3425
+        $recurring = 0;
3426 3426
 
3427 3427
         foreach ( $discounts as $data ) {
3428
-			$discount  += wpinv_sanitize_amount( $data['initial_discount'] );
3429
-			$recurring += wpinv_sanitize_amount( $data['recurring_discount'] );
3430
-		}
3428
+            $discount  += wpinv_sanitize_amount( $data['initial_discount'] );
3429
+            $recurring += wpinv_sanitize_amount( $data['recurring_discount'] );
3430
+        }
3431 3431
 
3432
-		$current = $this->is_renewal() ? $recurring : $discount;
3432
+        $current = $this->is_renewal() ? $recurring : $discount;
3433 3433
 
3434
-		$this->set_total_discount( $current );
3434
+        $this->set_total_discount( $current );
3435 3435
 
3436
-		$this->totals['discount'] = array(
3437
-			'initial'   => $discount,
3438
-			'recurring' => $recurring,
3439
-		);
3436
+        $this->totals['discount'] = array(
3437
+            'initial'   => $discount,
3438
+            'recurring' => $recurring,
3439
+        );
3440 3440
 
3441
-		return $current;
3441
+        return $current;
3442 3442
 
3443 3443
     }
3444 3444
 
3445 3445
     /**
3446
-	 * Recalculates the invoice tax total.
3447
-	 *
3448
-	 * @since 1.0.19
3449
-	 * @return float The recalculated tax
3450
-	 */
3451
-	public function recalculate_total_tax() {
3446
+     * Recalculates the invoice tax total.
3447
+     *
3448
+     * @since 1.0.19
3449
+     * @return float The recalculated tax
3450
+     */
3451
+    public function recalculate_total_tax() {
3452 3452
         $taxes     = $this->get_taxes();
3453
-		$tax       = 0;
3454
-		$recurring = 0;
3453
+        $tax       = 0;
3454
+        $recurring = 0;
3455 3455
 
3456 3456
         foreach ( $taxes as $data ) {
3457
-			$tax       += wpinv_sanitize_amount( $data['initial_tax'] );
3458
-			$recurring += wpinv_sanitize_amount( $data['recurring_tax'] );
3459
-		}
3457
+            $tax       += wpinv_sanitize_amount( $data['initial_tax'] );
3458
+            $recurring += wpinv_sanitize_amount( $data['recurring_tax'] );
3459
+        }
3460 3460
 
3461
-		$current = $this->is_renewal() ? $recurring : $tax;
3462
-		$this->set_total_tax( $current );
3461
+        $current = $this->is_renewal() ? $recurring : $tax;
3462
+        $this->set_total_tax( $current );
3463 3463
 
3464
-		$this->totals['tax'] = array(
3465
-			'initial'   => $tax,
3466
-			'recurring' => $recurring,
3467
-		);
3464
+        $this->totals['tax'] = array(
3465
+            'initial'   => $tax,
3466
+            'recurring' => $recurring,
3467
+        );
3468 3468
 
3469
-		return $current;
3469
+        return $current;
3470 3470
 
3471 3471
     }
3472 3472
 
3473 3473
     /**
3474
-	 * Recalculates the invoice fees total.
3475
-	 *
3476
-	 * @since 1.0.19
3477
-	 * @return float The recalculated fee
3478
-	 */
3479
-	public function recalculate_total_fees() {
3480
-		$fees      = $this->get_fees();
3481
-		$fee       = 0;
3482
-		$recurring = 0;
3474
+     * Recalculates the invoice fees total.
3475
+     *
3476
+     * @since 1.0.19
3477
+     * @return float The recalculated fee
3478
+     */
3479
+    public function recalculate_total_fees() {
3480
+        $fees      = $this->get_fees();
3481
+        $fee       = 0;
3482
+        $recurring = 0;
3483 3483
 
3484 3484
         foreach ( $fees as $data ) {
3485
-			$fee       += wpinv_sanitize_amount( $data['initial_fee'] );
3486
-			$recurring += wpinv_sanitize_amount( $data['recurring_fee'] );
3487
-		}
3485
+            $fee       += wpinv_sanitize_amount( $data['initial_fee'] );
3486
+            $recurring += wpinv_sanitize_amount( $data['recurring_fee'] );
3487
+        }
3488 3488
 
3489
-		$current = $this->is_renewal() ? $recurring : $fee;
3490
-		$this->set_total_fees( $current );
3489
+        $current = $this->is_renewal() ? $recurring : $fee;
3490
+        $this->set_total_fees( $current );
3491 3491
 
3492
-		$this->totals['fee'] = array(
3493
-			'initial'   => $fee,
3494
-			'recurring' => $recurring,
3495
-		);
3492
+        $this->totals['fee'] = array(
3493
+            'initial'   => $fee,
3494
+            'recurring' => $recurring,
3495
+        );
3496 3496
 
3497 3497
         $this->set_total_fees( $fee );
3498 3498
         return $current;
3499 3499
     }
3500 3500
 
3501 3501
     /**
3502
-	 * Recalculates the invoice total.
3503
-	 *
3504
-	 * @since 1.0.19
3502
+     * Recalculates the invoice total.
3503
+     *
3504
+     * @since 1.0.19
3505 3505
      * @return float The invoice total
3506
-	 */
3507
-	public function recalculate_total() {
3506
+     */
3507
+    public function recalculate_total() {
3508 3508
         $this->recalculate_subtotal();
3509 3509
         $this->recalculate_total_fees();
3510 3510
         $this->recalculate_total_discount();
3511 3511
         $this->recalculate_total_tax();
3512
-		return $this->get_total();
3513
-	}
3512
+        return $this->get_total();
3513
+    }
3514 3514
 
3515
-	/**
3516
-	 * @deprecated
3517
-	 */
3515
+    /**
3516
+     * @deprecated
3517
+     */
3518 3518
     public function recalculate_totals() {
3519 3519
         $this->recalculate_total();
3520 3520
         $this->save( true );
@@ -3532,7 +3532,7 @@  discard block
 block discarded – undo
3532 3532
      * Adds a note to an invoice.
3533 3533
      *
3534 3534
      * @param string $note The note being added.
3535
-	 * @return int|false The new note's ID on success, false on failure.
3535
+     * @return int|false The new note's ID on success, false on failure.
3536 3536
      *
3537 3537
      */
3538 3538
     public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
@@ -3542,21 +3542,21 @@  discard block
 block discarded – undo
3542 3542
             return false;
3543 3543
         }
3544 3544
 
3545
-		$author       = 'System';
3546
-		$author_email = '[email protected]';
3545
+        $author       = 'System';
3546
+        $author_email = '[email protected]';
3547 3547
 
3548
-		// If this is an admin comment or it has been added by the user.
3549
-		if ( is_user_logged_in() && ( ! $system || $added_by_user ) ) {
3550
-			$user         = get_user_by( 'id', get_current_user_id() );
3548
+        // If this is an admin comment or it has been added by the user.
3549
+        if ( is_user_logged_in() && ( ! $system || $added_by_user ) ) {
3550
+            $user         = get_user_by( 'id', get_current_user_id() );
3551 3551
             $author       = $user->display_name;
3552 3552
             $author_email = $user->user_email;
3553
-		}
3553
+        }
3554 3554
 
3555
-		return getpaid_notes()->add_invoice_note( $this, $note, $author, $author_email, $customer_type );
3555
+        return getpaid_notes()->add_invoice_note( $this, $note, $author, $author_email, $customer_type );
3556 3556
 
3557
-	}
3557
+    }
3558 3558
 
3559
-	/**
3559
+    /**
3560 3560
      * Generates a unique key for the invoice.
3561 3561
      */
3562 3562
     public function generate_key( $string = '' ) {
@@ -3576,113 +3576,113 @@  discard block
 block discarded – undo
3576 3576
             $number = wpinv_get_next_invoice_number( $this->get_post_type() );
3577 3577
         }
3578 3578
 
3579
-		return wpinv_format_invoice_number( $number, $this->get_post_type() );
3580
-
3581
-	}
3582
-
3583
-	/**
3584
-	 * Handle the status transition.
3585
-	 */
3586
-	protected function status_transition() {
3587
-		$status_transition = $this->status_transition;
3588
-
3589
-		// Reset status transition variable.
3590
-		$this->status_transition = false;
3591
-
3592
-		if ( $status_transition ) {
3593
-			try {
3579
+        return wpinv_format_invoice_number( $number, $this->get_post_type() );
3594 3580
 
3595
-				// Fire a hook for the status change.
3596
-				do_action( 'getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition );
3597
-
3598
-				// @deprecated this is deprecated and will be removed in the future.
3599
-				do_action( 'wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3600
-
3601
-				if ( ! empty( $status_transition['from'] ) ) {
3602
-
3603
-					/* translators: 1: old invoice status 2: new invoice status */
3604
-					$transition_note = sprintf( __( 'Status changed from %1$s to %2$s.', 'invoicing' ), wpinv_status_nicename( $status_transition['from'], $this ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3605
-
3606
-					// Fire another hook.
3607
-					do_action( 'getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this );
3608
-					do_action( 'getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to'] );
3609
-
3610
-					// @deprecated this is deprecated and will be removed in the future.
3611
-					do_action( 'wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3612
-
3613
-					// Note the transition occurred.
3614
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), false, $status_transition['manual'] );
3615
-
3616
-					// Work out if this was for a payment, and trigger a payment_status hook instead.
3617
-					if (
3618
-						in_array( $status_transition['from'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3619
-						&& in_array( $status_transition['to'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3620
-					) {
3621
-						do_action( 'getpaid_invoice_payment_status_changed', $this, $status_transition );
3622
-					}
3623
-
3624
-					// Work out if this was for a payment reversal, and trigger a payment_status_reversed hook instead.
3625
-					if (
3626
-						in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3627
-						&& in_array( $status_transition['to'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3628
-					) {
3629
-						do_action( 'getpaid_invoice_payment_status_reversed', $this, $status_transition );
3630
-					}
3631
-				} else {
3632
-					/* translators: %s: new invoice status */
3633
-					$transition_note = sprintf( __( 'Status set to %s.', 'invoicing' ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3634
-
3635
-					// Note the transition occurred.
3636
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), 0, $status_transition['manual'] );
3581
+    }
3637 3582
 
3638
-				}
3639
-			} catch ( Exception $e ) {
3640
-				$this->add_note( __( 'Error during status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
3641
-			}
3642
-		}
3643
-	}
3583
+    /**
3584
+     * Handle the status transition.
3585
+     */
3586
+    protected function status_transition() {
3587
+        $status_transition = $this->status_transition;
3588
+
3589
+        // Reset status transition variable.
3590
+        $this->status_transition = false;
3591
+
3592
+        if ( $status_transition ) {
3593
+            try {
3594
+
3595
+                // Fire a hook for the status change.
3596
+                do_action( 'getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition );
3597
+
3598
+                // @deprecated this is deprecated and will be removed in the future.
3599
+                do_action( 'wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3600
+
3601
+                if ( ! empty( $status_transition['from'] ) ) {
3602
+
3603
+                    /* translators: 1: old invoice status 2: new invoice status */
3604
+                    $transition_note = sprintf( __( 'Status changed from %1$s to %2$s.', 'invoicing' ), wpinv_status_nicename( $status_transition['from'], $this ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3605
+
3606
+                    // Fire another hook.
3607
+                    do_action( 'getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this );
3608
+                    do_action( 'getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to'] );
3609
+
3610
+                    // @deprecated this is deprecated and will be removed in the future.
3611
+                    do_action( 'wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3612
+
3613
+                    // Note the transition occurred.
3614
+                    $this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), false, $status_transition['manual'] );
3615
+
3616
+                    // Work out if this was for a payment, and trigger a payment_status hook instead.
3617
+                    if (
3618
+                        in_array( $status_transition['from'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3619
+                        && in_array( $status_transition['to'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3620
+                    ) {
3621
+                        do_action( 'getpaid_invoice_payment_status_changed', $this, $status_transition );
3622
+                    }
3623
+
3624
+                    // Work out if this was for a payment reversal, and trigger a payment_status_reversed hook instead.
3625
+                    if (
3626
+                        in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3627
+                        && in_array( $status_transition['to'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3628
+                    ) {
3629
+                        do_action( 'getpaid_invoice_payment_status_reversed', $this, $status_transition );
3630
+                    }
3631
+                } else {
3632
+                    /* translators: %s: new invoice status */
3633
+                    $transition_note = sprintf( __( 'Status set to %s.', 'invoicing' ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3634
+
3635
+                    // Note the transition occurred.
3636
+                    $this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), 0, $status_transition['manual'] );
3637
+
3638
+                }
3639
+            } catch ( Exception $e ) {
3640
+                $this->add_note( __( 'Error during status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
3641
+            }
3642
+        }
3643
+    }
3644 3644
 
3645
-	/**
3646
-	 * Updates an invoice status.
3647
-	 */
3648
-	public function update_status( $new_status = false, $note = '', $manual = false ) {
3645
+    /**
3646
+     * Updates an invoice status.
3647
+     */
3648
+    public function update_status( $new_status = false, $note = '', $manual = false ) {
3649 3649
 
3650
-		// Fires before updating a status.
3651
-		do_action( 'wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status( 'edit' ) );
3650
+        // Fires before updating a status.
3651
+        do_action( 'wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status( 'edit' ) );
3652 3652
 
3653
-		// Update the status.
3654
-		$this->set_status( $new_status, $note, $manual );
3653
+        // Update the status.
3654
+        $this->set_status( $new_status, $note, $manual );
3655 3655
 
3656
-		// Save the order.
3657
-		return $this->save();
3656
+        // Save the order.
3657
+        return $this->save();
3658 3658
 
3659
-	}
3659
+    }
3660 3660
 
3661
-	/**
3662
-	 * @deprecated
3663
-	 */
3664
-	public function refresh_item_ids() {
3661
+    /**
3662
+     * @deprecated
3663
+     */
3664
+    public function refresh_item_ids() {
3665 3665
         $item_ids = implode( ',', array_unique( array_keys( $this->get_items() ) ) );
3666 3666
         update_post_meta( $this->get_id(), '_wpinv_item_ids', $item_ids );
3667
-	}
3667
+    }
3668 3668
 
3669
-	/**
3670
-	 * @deprecated
3671
-	 */
3672
-	public function update_items( $temp = false ) {
3669
+    /**
3670
+     * @deprecated
3671
+     */
3672
+    public function update_items( $temp = false ) {
3673 3673
 
3674
-		$this->set_items( $this->get_items() );
3674
+        $this->set_items( $this->get_items() );
3675 3675
 
3676
-		if ( ! $temp ) {
3677
-			$this->save();
3678
-		}
3676
+        if ( ! $temp ) {
3677
+            $this->save();
3678
+        }
3679 3679
 
3680 3680
         return $this;
3681
-	}
3681
+    }
3682 3682
 
3683
-	/**
3684
-	 * @deprecated
3685
-	 */
3683
+    /**
3684
+     * @deprecated
3685
+     */
3686 3686
     public function validate_discount() {
3687 3687
 
3688 3688
         $discount_code = $this->get_discount_code();
@@ -3698,94 +3698,94 @@  discard block
 block discarded – undo
3698 3698
 
3699 3699
     }
3700 3700
 
3701
-	/**
3702
-	 * Refunds an invoice.
3703
-	 */
3701
+    /**
3702
+     * Refunds an invoice.
3703
+     */
3704 3704
     public function refund() {
3705
-		$this->set_status( 'wpi-refunded' );
3705
+        $this->set_status( 'wpi-refunded' );
3706 3706
         $this->save();
3707
-	}
3707
+    }
3708 3708
 
3709
-	/**
3710
-	 * Marks an invoice as paid.
3711
-	 * 
3712
-	 * @param string $transaction_id
3713
-	 */
3709
+    /**
3710
+     * Marks an invoice as paid.
3711
+     * 
3712
+     * @param string $transaction_id
3713
+     */
3714 3714
     public function mark_paid( $transaction_id = null, $note = '' ) {
3715 3715
 
3716
-		// Set the transaction id.
3717
-		if ( empty( $transaction_id ) ) {
3718
-			$transaction_id = $this->generate_key('trans_');
3719
-		}
3716
+        // Set the transaction id.
3717
+        if ( empty( $transaction_id ) ) {
3718
+            $transaction_id = $this->generate_key('trans_');
3719
+        }
3720 3720
 
3721
-		if ( ! $this->get_transaction_id() ) {
3722
-			$this->set_transaction_id( $transaction_id );
3723
-		}
3721
+        if ( ! $this->get_transaction_id() ) {
3722
+            $this->set_transaction_id( $transaction_id );
3723
+        }
3724 3724
 
3725
-		if ( $this->is_paid() && 'wpi-processing' != $this->get_status() ) {
3726
-			return $this->save();
3727
-		}
3725
+        if ( $this->is_paid() && 'wpi-processing' != $this->get_status() ) {
3726
+            return $this->save();
3727
+        }
3728 3728
 
3729
-		// Set the completed date.
3730
-		$this->set_date_completed( current_time( 'mysql' ) );
3729
+        // Set the completed date.
3730
+        $this->set_date_completed( current_time( 'mysql' ) );
3731 3731
 
3732
-		// Set the new status.
3733
-		$gateway = sanitize_text_field( $this->get_gateway_title() );
3734
-		if ( $this->is_renewal() ) {
3732
+        // Set the new status.
3733
+        $gateway = sanitize_text_field( $this->get_gateway_title() );
3734
+        if ( $this->is_renewal() ) {
3735 3735
 
3736
-			$_note = wp_sprintf( __( 'Renewed via %s', 'invoicing' ), $gateway );
3737
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3736
+            $_note = wp_sprintf( __( 'Renewed via %s', 'invoicing' ), $gateway );
3737
+            $_note = $_note . empty( $note ) ? '' : " ($note)";
3738 3738
 
3739
-			if ( 'none' == $this->get_gateway() ) {
3740
-				$_note = $note;
3741
-			}
3739
+            if ( 'none' == $this->get_gateway() ) {
3740
+                $_note = $note;
3741
+            }
3742 3742
 
3743
-			$this->set_status( 'wpi-renewal', $_note );
3743
+            $this->set_status( 'wpi-renewal', $_note );
3744 3744
 
3745
-		} else {
3745
+        } else {
3746 3746
 
3747
-			$_note = wp_sprintf( __( 'Paid via %s', 'invoicing' ), $gateway );
3748
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3747
+            $_note = wp_sprintf( __( 'Paid via %s', 'invoicing' ), $gateway );
3748
+            $_note = $_note . empty( $note ) ? '' : " ($note)";
3749 3749
 
3750
-			if ( 'none' == $this->get_gateway() ) {
3751
-				$_note = $note;
3752
-			}
3750
+            if ( 'none' == $this->get_gateway() ) {
3751
+                $_note = $note;
3752
+            }
3753 3753
 
3754
-			$this->set_status( 'publish', $_note );
3754
+            $this->set_status( 'publish', $_note );
3755 3755
 
3756
-		}
3756
+        }
3757 3757
 
3758
-		// Set checkout mode.
3759
-		$mode = wpinv_is_test_mode( $this->get_gateway() ) ? 'test' : 'live';
3760
-		$this->set_mode( $mode );
3758
+        // Set checkout mode.
3759
+        $mode = wpinv_is_test_mode( $this->get_gateway() ) ? 'test' : 'live';
3760
+        $this->set_mode( $mode );
3761 3761
 
3762
-		// Save the invoice.
3762
+        // Save the invoice.
3763 3763
         $this->save();
3764
-	}
3765
-
3766
-
3767
-	/**
3768
-	 * Save data to the database.
3769
-	 *
3770
-	 * @since 1.0.19
3771
-	 * @return int invoice ID
3772
-	 */
3773
-	public function save() {
3774
-		$this->maybe_set_date_paid();
3775
-		$this->maybe_set_key();
3776
-		parent::save();
3777
-		$this->clear_cache();
3778
-		$this->status_transition();
3779
-		return $this->get_id();
3780
-	}
3781
-
3782
-	/**
3764
+    }
3765
+
3766
+
3767
+    /**
3768
+     * Save data to the database.
3769
+     *
3770
+     * @since 1.0.19
3771
+     * @return int invoice ID
3772
+     */
3773
+    public function save() {
3774
+        $this->maybe_set_date_paid();
3775
+        $this->maybe_set_key();
3776
+        parent::save();
3777
+        $this->clear_cache();
3778
+        $this->status_transition();
3779
+        return $this->get_id();
3780
+    }
3781
+
3782
+    /**
3783 3783
      * Clears the subscription's cache.
3784 3784
      */
3785 3785
     public function clear_cache() {
3786
-		wp_cache_delete( $this->get_key(), 'getpaid_invoice_keys_to_invoice_ids' );
3787
-		wp_cache_delete( $this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids' );
3788
-		wp_cache_delete( $this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
3789
-	}
3786
+        wp_cache_delete( $this->get_key(), 'getpaid_invoice_keys_to_invoice_ids' );
3787
+        wp_cache_delete( $this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids' );
3788
+        wp_cache_delete( $this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
3789
+    }
3790 3790
 
3791 3791
 }
Please login to merge, or discard this patch.
Spacing   +746 added lines, -746 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Invoice class.
@@ -135,40 +135,40 @@  discard block
 block discarded – undo
135 135
 	 *
136 136
 	 * @param  int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object to read.
137 137
 	 */
138
-    public function __construct( $invoice = 0 ) {
138
+    public function __construct($invoice = 0) {
139 139
 
140
-        parent::__construct( $invoice );
140
+        parent::__construct($invoice);
141 141
 
142
-		if ( ! empty( $invoice ) && is_numeric( $invoice ) && getpaid_is_invoice_post_type( get_post_type( (int) $invoice ) ) ) {
143
-			$this->set_id( (int) $invoice );
144
-		} elseif ( $invoice instanceof self ) {
145
-			$this->set_id( $invoice->get_id() );
146
-		} elseif ( ! empty( $invoice->ID ) ) {
147
-			$this->set_id( $invoice->ID );
148
-		} elseif ( is_array( $invoice ) ) {
149
-			$this->set_props( $invoice );
142
+		if (!empty($invoice) && is_numeric($invoice) && getpaid_is_invoice_post_type(get_post_type((int) $invoice))) {
143
+			$this->set_id((int) $invoice);
144
+		} elseif ($invoice instanceof self) {
145
+			$this->set_id($invoice->get_id());
146
+		} elseif (!empty($invoice->ID)) {
147
+			$this->set_id($invoice->ID);
148
+		} elseif (is_array($invoice)) {
149
+			$this->set_props($invoice);
150 150
 
151
-			if ( isset( $invoice['ID'] ) ) {
152
-				$this->set_id( $invoice['ID'] );
151
+			if (isset($invoice['ID'])) {
152
+				$this->set_id($invoice['ID']);
153 153
 			}
154 154
 
155
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'key' ) ) {
156
-			$this->set_id( $invoice_id );
157
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'number' ) ) {
158
-			$this->set_id( $invoice_id );
159
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
160
-			$this->set_id( $invoice_id );
161
-		}else {
162
-			$this->set_object_read( true );
155
+		} elseif (is_string($invoice) && $invoice_id = self::get_invoice_id_by_field($invoice, 'key')) {
156
+			$this->set_id($invoice_id);
157
+		} elseif (is_string($invoice) && $invoice_id = self::get_invoice_id_by_field($invoice, 'number')) {
158
+			$this->set_id($invoice_id);
159
+		} elseif (is_string($invoice) && $invoice_id = self::get_invoice_id_by_field($invoice, 'transaction_id')) {
160
+			$this->set_id($invoice_id);
161
+		} else {
162
+			$this->set_object_read(true);
163 163
 		}
164 164
 
165 165
         // Load the datastore.
166
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
166
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
167 167
 
168
-		if ( $this->get_id() > 0 ) {
169
-            $this->post = get_post( $this->get_id() );
168
+		if ($this->get_id() > 0) {
169
+            $this->post = get_post($this->get_id());
170 170
             $this->ID   = $this->get_id();
171
-			$this->data_store->read( $this );
171
+			$this->data_store->read($this);
172 172
         }
173 173
 
174 174
     }
@@ -183,38 +183,38 @@  discard block
 block discarded – undo
183 183
 	 * @since 1.0.15
184 184
 	 * @return int
185 185
 	 */
186
-	public static function get_invoice_id_by_field( $value, $field = 'key' ) {
186
+	public static function get_invoice_id_by_field($value, $field = 'key') {
187 187
         global $wpdb;
188 188
 
189 189
 		// Trim the value.
190
-		$value = trim( $value );
190
+		$value = trim($value);
191 191
 
192
-		if ( empty( $value ) ) {
192
+		if (empty($value)) {
193 193
 			return 0;
194 194
 		}
195 195
 
196 196
         // Valid fields.
197
-        $fields = array( 'key', 'number', 'transaction_id' );
197
+        $fields = array('key', 'number', 'transaction_id');
198 198
 
199 199
 		// Ensure a field has been passed.
200
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
200
+		if (empty($field) || !in_array($field, $fields)) {
201 201
 			return 0;
202 202
 		}
203 203
 
204 204
 		// Maybe retrieve from the cache.
205
-		$invoice_id   = wp_cache_get( $value, "getpaid_invoice_{$field}s_to_invoice_ids" );
206
-		if ( false !== $invoice_id ) {
205
+		$invoice_id = wp_cache_get($value, "getpaid_invoice_{$field}s_to_invoice_ids");
206
+		if (false !== $invoice_id) {
207 207
 			return $invoice_id;
208 208
 		}
209 209
 
210 210
         // Fetch from the db.
211 211
         $table       = $wpdb->prefix . 'getpaid_invoices';
212 212
         $invoice_id  = (int) $wpdb->get_var(
213
-            $wpdb->prepare( "SELECT `post_id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
213
+            $wpdb->prepare("SELECT `post_id` FROM $table WHERE `$field`=%s LIMIT 1", $value)
214 214
         );
215 215
 
216 216
 		// Update the cache with our data
217
-		wp_cache_set( $value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids" );
217
+		wp_cache_set($value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids");
218 218
 
219 219
 		return $invoice_id;
220 220
     }
@@ -222,8 +222,8 @@  discard block
 block discarded – undo
222 222
     /**
223 223
      * Checks if an invoice key is set.
224 224
      */
225
-    public function _isset( $key ) {
226
-        return isset( $this->data[$key] ) || method_exists( $this, "get_$key" );
225
+    public function _isset($key) {
226
+        return isset($this->data[$key]) || method_exists($this, "get_$key");
227 227
     }
228 228
 
229 229
     /*
@@ -248,8 +248,8 @@  discard block
 block discarded – undo
248 248
 	 * @param  string $context View or edit context.
249 249
 	 * @return int
250 250
 	 */
251
-	public function get_parent_id( $context = 'view' ) {
252
-		return (int) $this->get_prop( 'parent_id', $context );
251
+	public function get_parent_id($context = 'view') {
252
+		return (int) $this->get_prop('parent_id', $context);
253 253
     }
254 254
 
255 255
     /**
@@ -259,7 +259,7 @@  discard block
 block discarded – undo
259 259
 	 * @return WPInv_Invoice
260 260
 	 */
261 261
     public function get_parent_payment() {
262
-        return new WPInv_Invoice( $this->get_parent_id() );
262
+        return new WPInv_Invoice($this->get_parent_id());
263 263
     }
264 264
 
265 265
     /**
@@ -279,8 +279,8 @@  discard block
 block discarded – undo
279 279
 	 * @param  string $context View or edit context.
280 280
 	 * @return string
281 281
 	 */
282
-	public function get_status( $context = 'view' ) {
283
-		return $this->get_prop( 'status', $context );
282
+	public function get_status($context = 'view') {
283
+		return $this->get_prop('status', $context);
284 284
 	}
285 285
 	
286 286
 	/**
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
 	 * @return array
291 291
 	 */
292 292
 	public function get_all_statuses() {
293
-		return wpinv_get_invoice_statuses( true, true, $this );
293
+		return wpinv_get_invoice_statuses(true, true, $this);
294 294
     }
295 295
 
296 296
     /**
@@ -302,9 +302,9 @@  discard block
 block discarded – undo
302 302
     public function get_status_nicename() {
303 303
 		$statuses = $this->get_all_statuses();
304 304
 
305
-        $status = isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : $this->get_status();
305
+        $status = isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : $this->get_status();
306 306
 
307
-        return apply_filters( 'wpinv_get_invoice_status_nicename', $status, $this );
307
+        return apply_filters('wpinv_get_invoice_status_nicename', $status, $this);
308 308
     }
309 309
 
310 310
 	/**
@@ -315,7 +315,7 @@  discard block
 block discarded – undo
315 315
 	 */
316 316
 	public function get_status_class() {
317 317
 		$statuses = getpaid_get_invoice_status_classes();
318
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'badge-dark';
318
+		return isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : 'badge-dark';
319 319
 	}
320 320
 
321 321
 	/**
@@ -326,9 +326,9 @@  discard block
 block discarded – undo
326 326
      */
327 327
     public function get_status_label_html() {
328 328
 
329
-		$status_label = sanitize_text_field( $this->get_status_nicename() );
330
-		$status       = sanitize_html_class( $this->get_status() );
331
-		$class        = esc_attr( $this->get_status_class() );
329
+		$status_label = sanitize_text_field($this->get_status_nicename());
330
+		$status       = sanitize_html_class($this->get_status());
331
+		$class        = esc_attr($this->get_status_class());
332 332
 
333 333
 		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
334 334
 	}
@@ -340,23 +340,23 @@  discard block
 block discarded – undo
340 340
 	 * @param  string $context View or edit context.
341 341
 	 * @return string
342 342
 	 */
343
-	public function get_version( $context = 'view' ) {
344
-		return $this->get_prop( 'version', $context );
343
+	public function get_version($context = 'view') {
344
+		return $this->get_prop('version', $context);
345 345
 	}
346 346
 
347 347
 	/**
348 348
 	 * @deprecated
349 349
 	 */
350
-	public function get_invoice_date( $format = true ) {
351
-		$date      = getpaid_format_date( $this->get_date_completed() );
352
-		$date      = empty( $date ) ? $this->get_date_created() : $this->get_date_completed();
353
-		$formatted = getpaid_format_date( $date );
350
+	public function get_invoice_date($format = true) {
351
+		$date      = getpaid_format_date($this->get_date_completed());
352
+		$date      = empty($date) ? $this->get_date_created() : $this->get_date_completed();
353
+		$formatted = getpaid_format_date($date);
354 354
 
355
-		if ( $format ) {
355
+		if ($format) {
356 356
 			return $formatted;
357 357
 		}
358 358
 
359
-		return empty( $formatted ) ? '' : $date;
359
+		return empty($formatted) ? '' : $date;
360 360
 
361 361
     }
362 362
 
@@ -367,8 +367,8 @@  discard block
 block discarded – undo
367 367
 	 * @param  string $context View or edit context.
368 368
 	 * @return string
369 369
 	 */
370
-	public function get_date_created( $context = 'view' ) {
371
-		return $this->get_prop( 'date_created', $context );
370
+	public function get_date_created($context = 'view') {
371
+		return $this->get_prop('date_created', $context);
372 372
 	}
373 373
 	
374 374
 	/**
@@ -378,8 +378,8 @@  discard block
 block discarded – undo
378 378
 	 * @param  string $context View or edit context.
379 379
 	 * @return string
380 380
 	 */
381
-	public function get_created_date( $context = 'view' ) {
382
-		return $this->get_date_created( $context );
381
+	public function get_created_date($context = 'view') {
382
+		return $this->get_date_created($context);
383 383
     }
384 384
 
385 385
     /**
@@ -389,11 +389,11 @@  discard block
 block discarded – undo
389 389
 	 * @param  string $context View or edit context.
390 390
 	 * @return string
391 391
 	 */
392
-	public function get_date_created_gmt( $context = 'view' ) {
393
-        $date = $this->get_date_created( $context );
392
+	public function get_date_created_gmt($context = 'view') {
393
+        $date = $this->get_date_created($context);
394 394
 
395
-        if ( $date ) {
396
-            $date = get_gmt_from_date( $date );
395
+        if ($date) {
396
+            $date = get_gmt_from_date($date);
397 397
         }
398 398
 		return $date;
399 399
     }
@@ -405,8 +405,8 @@  discard block
 block discarded – undo
405 405
 	 * @param  string $context View or edit context.
406 406
 	 * @return string
407 407
 	 */
408
-	public function get_date_modified( $context = 'view' ) {
409
-		return $this->get_prop( 'date_modified', $context );
408
+	public function get_date_modified($context = 'view') {
409
+		return $this->get_prop('date_modified', $context);
410 410
 	}
411 411
 
412 412
 	/**
@@ -416,8 +416,8 @@  discard block
 block discarded – undo
416 416
 	 * @param  string $context View or edit context.
417 417
 	 * @return string
418 418
 	 */
419
-	public function get_modified_date( $context = 'view' ) {
420
-		return $this->get_date_modified( $context );
419
+	public function get_modified_date($context = 'view') {
420
+		return $this->get_date_modified($context);
421 421
     }
422 422
 
423 423
     /**
@@ -427,11 +427,11 @@  discard block
 block discarded – undo
427 427
 	 * @param  string $context View or edit context.
428 428
 	 * @return string
429 429
 	 */
430
-	public function get_date_modified_gmt( $context = 'view' ) {
431
-        $date = $this->get_date_modified( $context );
430
+	public function get_date_modified_gmt($context = 'view') {
431
+        $date = $this->get_date_modified($context);
432 432
 
433
-        if ( $date ) {
434
-            $date = get_gmt_from_date( $date );
433
+        if ($date) {
434
+            $date = get_gmt_from_date($date);
435 435
         }
436 436
 		return $date;
437 437
     }
@@ -443,8 +443,8 @@  discard block
 block discarded – undo
443 443
 	 * @param  string $context View or edit context.
444 444
 	 * @return string
445 445
 	 */
446
-	public function get_due_date( $context = 'view' ) {
447
-		return $this->get_prop( 'due_date', $context );
446
+	public function get_due_date($context = 'view') {
447
+		return $this->get_prop('due_date', $context);
448 448
     }
449 449
 
450 450
     /**
@@ -454,8 +454,8 @@  discard block
 block discarded – undo
454 454
 	 * @param  string $context View or edit context.
455 455
 	 * @return string
456 456
 	 */
457
-	public function get_date_due( $context = 'view' ) {
458
-		return $this->get_due_date( $context );
457
+	public function get_date_due($context = 'view') {
458
+		return $this->get_due_date($context);
459 459
     }
460 460
 
461 461
     /**
@@ -465,11 +465,11 @@  discard block
 block discarded – undo
465 465
 	 * @param  string $context View or edit context.
466 466
 	 * @return string
467 467
 	 */
468
-	public function get_due_date_gmt( $context = 'view' ) {
469
-        $date = $this->get_due_date( $context );
468
+	public function get_due_date_gmt($context = 'view') {
469
+        $date = $this->get_due_date($context);
470 470
 
471
-        if ( $date ) {
472
-            $date = get_gmt_from_date( $date );
471
+        if ($date) {
472
+            $date = get_gmt_from_date($date);
473 473
         }
474 474
 		return $date;
475 475
     }
@@ -481,8 +481,8 @@  discard block
 block discarded – undo
481 481
 	 * @param  string $context View or edit context.
482 482
 	 * @return string
483 483
 	 */
484
-	public function get_gmt_date_due( $context = 'view' ) {
485
-		return $this->get_due_date_gmt( $context );
484
+	public function get_gmt_date_due($context = 'view') {
485
+		return $this->get_due_date_gmt($context);
486 486
     }
487 487
 
488 488
     /**
@@ -492,8 +492,8 @@  discard block
 block discarded – undo
492 492
 	 * @param  string $context View or edit context.
493 493
 	 * @return string
494 494
 	 */
495
-	public function get_completed_date( $context = 'view' ) {
496
-		return $this->get_prop( 'completed_date', $context );
495
+	public function get_completed_date($context = 'view') {
496
+		return $this->get_prop('completed_date', $context);
497 497
     }
498 498
 
499 499
     /**
@@ -503,8 +503,8 @@  discard block
 block discarded – undo
503 503
 	 * @param  string $context View or edit context.
504 504
 	 * @return string
505 505
 	 */
506
-	public function get_date_completed( $context = 'view' ) {
507
-		return $this->get_completed_date( $context );
506
+	public function get_date_completed($context = 'view') {
507
+		return $this->get_completed_date($context);
508 508
     }
509 509
 
510 510
     /**
@@ -514,11 +514,11 @@  discard block
 block discarded – undo
514 514
 	 * @param  string $context View or edit context.
515 515
 	 * @return string
516 516
 	 */
517
-	public function get_completed_date_gmt( $context = 'view' ) {
518
-        $date = $this->get_completed_date( $context );
517
+	public function get_completed_date_gmt($context = 'view') {
518
+        $date = $this->get_completed_date($context);
519 519
 
520
-        if ( $date ) {
521
-            $date = get_gmt_from_date( $date );
520
+        if ($date) {
521
+            $date = get_gmt_from_date($date);
522 522
         }
523 523
 		return $date;
524 524
     }
@@ -530,8 +530,8 @@  discard block
 block discarded – undo
530 530
 	 * @param  string $context View or edit context.
531 531
 	 * @return string
532 532
 	 */
533
-	public function get_gmt_completed_date( $context = 'view' ) {
534
-		return $this->get_completed_date_gmt( $context );
533
+	public function get_gmt_completed_date($context = 'view') {
534
+		return $this->get_completed_date_gmt($context);
535 535
     }
536 536
 
537 537
     /**
@@ -541,12 +541,12 @@  discard block
 block discarded – undo
541 541
 	 * @param  string $context View or edit context.
542 542
 	 * @return string
543 543
 	 */
544
-	public function get_number( $context = 'view' ) {
545
-		$number = $this->get_prop( 'number', $context );
544
+	public function get_number($context = 'view') {
545
+		$number = $this->get_prop('number', $context);
546 546
 
547
-		if ( empty( $number ) ) {
547
+		if (empty($number)) {
548 548
 			$number = $this->generate_number();
549
-			$this->set_number( $this->generate_number() );
549
+			$this->set_number($this->generate_number());
550 550
 		}
551 551
 
552 552
 		return $number;
@@ -560,8 +560,8 @@  discard block
 block discarded – undo
560 560
 	public function maybe_set_number() {
561 561
         $number = $this->get_number();
562 562
 
563
-        if ( empty( $number ) || $this->get_id() == $number ) {
564
-			$this->set_number( $this->generate_number() );
563
+        if (empty($number) || $this->get_id() == $number) {
564
+			$this->set_number($this->generate_number());
565 565
         }
566 566
 
567 567
 	}
@@ -573,8 +573,8 @@  discard block
 block discarded – undo
573 573
 	 * @param  string $context View or edit context.
574 574
 	 * @return string
575 575
 	 */
576
-	public function get_key( $context = 'view' ) {
577
-        return $this->get_prop( 'key', $context );
576
+	public function get_key($context = 'view') {
577
+        return $this->get_prop('key', $context);
578 578
 	}
579 579
 
580 580
 	/**
@@ -585,9 +585,9 @@  discard block
 block discarded – undo
585 585
 	public function maybe_set_key() {
586 586
         $key = $this->get_key();
587 587
 
588
-        if ( empty( $key ) ) {
589
-            $key = $this->generate_key( $this->get_type() . '_' );
590
-            $this->set_key( $key );
588
+        if (empty($key)) {
589
+            $key = $this->generate_key($this->get_type() . '_');
590
+            $this->set_key($key);
591 591
         }
592 592
 
593 593
     }
@@ -599,8 +599,8 @@  discard block
 block discarded – undo
599 599
 	 * @param  string $context View or edit context.
600 600
 	 * @return string
601 601
 	 */
602
-	public function get_type( $context = 'view' ) {
603
-        return $this->get_prop( 'type', $context );
602
+	public function get_type($context = 'view') {
603
+        return $this->get_prop('type', $context);
604 604
 	}
605 605
 
606 606
 	/**
@@ -610,7 +610,7 @@  discard block
 block discarded – undo
610 610
 	 * @return string
611 611
 	 */
612 612
 	public function get_invoice_quote_type() {
613
-        return getpaid_get_post_type_label( $this->get_post_type(), false );
613
+        return getpaid_get_post_type_label($this->get_post_type(), false);
614 614
     }
615 615
 
616 616
     /**
@@ -620,8 +620,8 @@  discard block
 block discarded – undo
620 620
 	 * @param  string $context View or edit context.
621 621
 	 * @return string
622 622
 	 */
623
-	public function get_label( $context = 'view' ) {
624
-        return getpaid_get_post_type_label( $this->get_post_type( $context ), false );
623
+	public function get_label($context = 'view') {
624
+        return getpaid_get_post_type_label($this->get_post_type($context), false);
625 625
 	}
626 626
 
627 627
 	/**
@@ -631,8 +631,8 @@  discard block
 block discarded – undo
631 631
 	 * @param  string $context View or edit context.
632 632
 	 * @return string
633 633
 	 */
634
-	public function get_post_type( $context = 'view' ) {
635
-        return $this->get_prop( 'post_type', $context );
634
+	public function get_post_type($context = 'view') {
635
+        return $this->get_prop('post_type', $context);
636 636
     }
637 637
 
638 638
     /**
@@ -642,8 +642,8 @@  discard block
 block discarded – undo
642 642
 	 * @param  string $context View or edit context.
643 643
 	 * @return string
644 644
 	 */
645
-	public function get_mode( $context = 'view' ) {
646
-        return $this->get_prop( 'mode', $context );
645
+	public function get_mode($context = 'view') {
646
+        return $this->get_prop('mode', $context);
647 647
     }
648 648
 
649 649
     /**
@@ -653,13 +653,13 @@  discard block
 block discarded – undo
653 653
 	 * @param  string $context View or edit context.
654 654
 	 * @return string
655 655
 	 */
656
-	public function get_path( $context = 'view' ) {
657
-        $path   = $this->get_prop( 'path', $context );
656
+	public function get_path($context = 'view') {
657
+        $path = $this->get_prop('path', $context);
658 658
 		$prefix = $this->get_type();
659 659
 
660
-		if ( 0 !== strpos( $path, $prefix ) ) {
661
-			$path = sanitize_title(  $prefix . '-' . $this->get_id()  );
662
-			$this->set_path( $path );
660
+		if (0 !== strpos($path, $prefix)) {
661
+			$path = sanitize_title($prefix . '-' . $this->get_id());
662
+			$this->set_path($path);
663 663
 		}
664 664
 
665 665
 		return $path;
@@ -672,8 +672,8 @@  discard block
 block discarded – undo
672 672
 	 * @param  string $context View or edit context.
673 673
 	 * @return string
674 674
 	 */
675
-	public function get_name( $context = 'view' ) {
676
-        return $this->get_prop( 'title', $context );
675
+	public function get_name($context = 'view') {
676
+        return $this->get_prop('title', $context);
677 677
     }
678 678
 
679 679
     /**
@@ -683,8 +683,8 @@  discard block
 block discarded – undo
683 683
 	 * @param  string $context View or edit context.
684 684
 	 * @return string
685 685
 	 */
686
-	public function get_title( $context = 'view' ) {
687
-		return $this->get_name( $context );
686
+	public function get_title($context = 'view') {
687
+		return $this->get_name($context);
688 688
     }
689 689
 
690 690
     /**
@@ -694,8 +694,8 @@  discard block
 block discarded – undo
694 694
 	 * @param  string $context View or edit context.
695 695
 	 * @return string
696 696
 	 */
697
-	public function get_description( $context = 'view' ) {
698
-		return $this->get_prop( 'description', $context );
697
+	public function get_description($context = 'view') {
698
+		return $this->get_prop('description', $context);
699 699
     }
700 700
 
701 701
     /**
@@ -705,8 +705,8 @@  discard block
 block discarded – undo
705 705
 	 * @param  string $context View or edit context.
706 706
 	 * @return string
707 707
 	 */
708
-	public function get_excerpt( $context = 'view' ) {
709
-		return $this->get_description( $context );
708
+	public function get_excerpt($context = 'view') {
709
+		return $this->get_description($context);
710 710
     }
711 711
 
712 712
     /**
@@ -716,8 +716,8 @@  discard block
 block discarded – undo
716 716
 	 * @param  string $context View or edit context.
717 717
 	 * @return string
718 718
 	 */
719
-	public function get_summary( $context = 'view' ) {
720
-		return $this->get_description( $context );
719
+	public function get_summary($context = 'view') {
720
+		return $this->get_description($context);
721 721
     }
722 722
 
723 723
     /**
@@ -727,25 +727,25 @@  discard block
 block discarded – undo
727 727
      * @param  string $context View or edit context.
728 728
 	 * @return array
729 729
 	 */
730
-    public function get_user_info( $context = 'view' ) {
730
+    public function get_user_info($context = 'view') {
731 731
 
732 732
         $user_info = array(
733
-            'user_id'    => $this->get_user_id( $context ),
734
-            'email'      => $this->get_email( $context ),
735
-            'first_name' => $this->get_first_name( $context ),
736
-            'last_name'  => $this->get_last_name( $context ),
737
-            'address'    => $this->get_address( $context ),
738
-            'phone'      => $this->get_phone( $context ),
739
-            'city'       => $this->get_city( $context ),
740
-            'country'    => $this->get_country( $context ),
741
-            'state'      => $this->get_state( $context ),
742
-            'zip'        => $this->get_zip( $context ),
743
-            'company'    => $this->get_company( $context ),
744
-            'vat_number' => $this->get_vat_number( $context ),
745
-            'discount'   => $this->get_discount_code( $context ),
733
+            'user_id'    => $this->get_user_id($context),
734
+            'email'      => $this->get_email($context),
735
+            'first_name' => $this->get_first_name($context),
736
+            'last_name'  => $this->get_last_name($context),
737
+            'address'    => $this->get_address($context),
738
+            'phone'      => $this->get_phone($context),
739
+            'city'       => $this->get_city($context),
740
+            'country'    => $this->get_country($context),
741
+            'state'      => $this->get_state($context),
742
+            'zip'        => $this->get_zip($context),
743
+            'company'    => $this->get_company($context),
744
+            'vat_number' => $this->get_vat_number($context),
745
+            'discount'   => $this->get_discount_code($context),
746 746
 		);
747 747
 
748
-		return apply_filters( 'wpinv_user_info', $user_info, $this->get_id(), $this );
748
+		return apply_filters('wpinv_user_info', $user_info, $this->get_id(), $this);
749 749
 
750 750
     }
751 751
 
@@ -756,8 +756,8 @@  discard block
 block discarded – undo
756 756
 	 * @param  string $context View or edit context.
757 757
 	 * @return int
758 758
 	 */
759
-	public function get_author( $context = 'view' ) {
760
-		return (int) $this->get_prop( 'author', $context );
759
+	public function get_author($context = 'view') {
760
+		return (int) $this->get_prop('author', $context);
761 761
     }
762 762
 
763 763
     /**
@@ -767,8 +767,8 @@  discard block
 block discarded – undo
767 767
 	 * @param  string $context View or edit context.
768 768
 	 * @return int
769 769
 	 */
770
-	public function get_user_id( $context = 'view' ) {
771
-		return $this->get_author( $context );
770
+	public function get_user_id($context = 'view') {
771
+		return $this->get_author($context);
772 772
     }
773 773
 
774 774
      /**
@@ -778,8 +778,8 @@  discard block
 block discarded – undo
778 778
 	 * @param  string $context View or edit context.
779 779
 	 * @return int
780 780
 	 */
781
-	public function get_customer_id( $context = 'view' ) {
782
-		return $this->get_author( $context );
781
+	public function get_customer_id($context = 'view') {
782
+		return $this->get_author($context);
783 783
     }
784 784
 
785 785
     /**
@@ -789,8 +789,8 @@  discard block
 block discarded – undo
789 789
 	 * @param  string $context View or edit context.
790 790
 	 * @return string
791 791
 	 */
792
-	public function get_ip( $context = 'view' ) {
793
-		return $this->get_prop( 'user_ip', $context );
792
+	public function get_ip($context = 'view') {
793
+		return $this->get_prop('user_ip', $context);
794 794
     }
795 795
 
796 796
     /**
@@ -800,8 +800,8 @@  discard block
 block discarded – undo
800 800
 	 * @param  string $context View or edit context.
801 801
 	 * @return string
802 802
 	 */
803
-	public function get_user_ip( $context = 'view' ) {
804
-		return $this->get_ip( $context );
803
+	public function get_user_ip($context = 'view') {
804
+		return $this->get_ip($context);
805 805
     }
806 806
 
807 807
      /**
@@ -811,8 +811,8 @@  discard block
 block discarded – undo
811 811
 	 * @param  string $context View or edit context.
812 812
 	 * @return string
813 813
 	 */
814
-	public function get_customer_ip( $context = 'view' ) {
815
-		return $this->get_ip( $context );
814
+	public function get_customer_ip($context = 'view') {
815
+		return $this->get_ip($context);
816 816
     }
817 817
 
818 818
     /**
@@ -822,8 +822,8 @@  discard block
 block discarded – undo
822 822
 	 * @param  string $context View or edit context.
823 823
 	 * @return string
824 824
 	 */
825
-	public function get_first_name( $context = 'view' ) {
826
-		return $this->get_prop( 'first_name', $context );
825
+	public function get_first_name($context = 'view') {
826
+		return $this->get_prop('first_name', $context);
827 827
     }
828 828
 
829 829
     /**
@@ -833,8 +833,8 @@  discard block
 block discarded – undo
833 833
 	 * @param  string $context View or edit context.
834 834
 	 * @return string
835 835
 	 */
836
-	public function get_user_first_name( $context = 'view' ) {
837
-		return $this->get_first_name( $context );
836
+	public function get_user_first_name($context = 'view') {
837
+		return $this->get_first_name($context);
838 838
     }
839 839
 
840 840
      /**
@@ -844,8 +844,8 @@  discard block
 block discarded – undo
844 844
 	 * @param  string $context View or edit context.
845 845
 	 * @return string
846 846
 	 */
847
-	public function get_customer_first_name( $context = 'view' ) {
848
-		return $this->get_first_name( $context );
847
+	public function get_customer_first_name($context = 'view') {
848
+		return $this->get_first_name($context);
849 849
     }
850 850
 
851 851
     /**
@@ -855,8 +855,8 @@  discard block
 block discarded – undo
855 855
 	 * @param  string $context View or edit context.
856 856
 	 * @return string
857 857
 	 */
858
-	public function get_last_name( $context = 'view' ) {
859
-		return $this->get_prop( 'last_name', $context );
858
+	public function get_last_name($context = 'view') {
859
+		return $this->get_prop('last_name', $context);
860 860
     }
861 861
 
862 862
     /**
@@ -866,8 +866,8 @@  discard block
 block discarded – undo
866 866
 	 * @param  string $context View or edit context.
867 867
 	 * @return string
868 868
 	 */
869
-	public function get_user_last_name( $context = 'view' ) {
870
-		return $this->get_last_name( $context );
869
+	public function get_user_last_name($context = 'view') {
870
+		return $this->get_last_name($context);
871 871
     }
872 872
 
873 873
     /**
@@ -877,8 +877,8 @@  discard block
 block discarded – undo
877 877
 	 * @param  string $context View or edit context.
878 878
 	 * @return string
879 879
 	 */
880
-	public function get_customer_last_name( $context = 'view' ) {
881
-		return $this->get_last_name( $context );
880
+	public function get_customer_last_name($context = 'view') {
881
+		return $this->get_last_name($context);
882 882
     }
883 883
 
884 884
     /**
@@ -888,8 +888,8 @@  discard block
 block discarded – undo
888 888
 	 * @param  string $context View or edit context.
889 889
 	 * @return string
890 890
 	 */
891
-	public function get_full_name( $context = 'view' ) {
892
-		return trim( $this->get_first_name( $context ) . ' ' . $this->get_last_name( $context ) );
891
+	public function get_full_name($context = 'view') {
892
+		return trim($this->get_first_name($context) . ' ' . $this->get_last_name($context));
893 893
     }
894 894
 
895 895
     /**
@@ -899,8 +899,8 @@  discard block
 block discarded – undo
899 899
 	 * @param  string $context View or edit context.
900 900
 	 * @return string
901 901
 	 */
902
-	public function get_user_full_name( $context = 'view' ) {
903
-		return $this->get_full_name( $context );
902
+	public function get_user_full_name($context = 'view') {
903
+		return $this->get_full_name($context);
904 904
     }
905 905
 
906 906
     /**
@@ -910,8 +910,8 @@  discard block
 block discarded – undo
910 910
 	 * @param  string $context View or edit context.
911 911
 	 * @return string
912 912
 	 */
913
-	public function get_customer_full_name( $context = 'view' ) {
914
-		return $this->get_full_name( $context );
913
+	public function get_customer_full_name($context = 'view') {
914
+		return $this->get_full_name($context);
915 915
     }
916 916
 
917 917
     /**
@@ -921,8 +921,8 @@  discard block
 block discarded – undo
921 921
 	 * @param  string $context View or edit context.
922 922
 	 * @return string
923 923
 	 */
924
-	public function get_phone( $context = 'view' ) {
925
-		return $this->get_prop( 'phone', $context );
924
+	public function get_phone($context = 'view') {
925
+		return $this->get_prop('phone', $context);
926 926
     }
927 927
 
928 928
     /**
@@ -932,8 +932,8 @@  discard block
 block discarded – undo
932 932
 	 * @param  string $context View or edit context.
933 933
 	 * @return string
934 934
 	 */
935
-	public function get_phone_number( $context = 'view' ) {
936
-		return $this->get_phone( $context );
935
+	public function get_phone_number($context = 'view') {
936
+		return $this->get_phone($context);
937 937
     }
938 938
 
939 939
     /**
@@ -943,8 +943,8 @@  discard block
 block discarded – undo
943 943
 	 * @param  string $context View or edit context.
944 944
 	 * @return string
945 945
 	 */
946
-	public function get_user_phone( $context = 'view' ) {
947
-		return $this->get_phone( $context );
946
+	public function get_user_phone($context = 'view') {
947
+		return $this->get_phone($context);
948 948
     }
949 949
 
950 950
     /**
@@ -954,8 +954,8 @@  discard block
 block discarded – undo
954 954
 	 * @param  string $context View or edit context.
955 955
 	 * @return string
956 956
 	 */
957
-	public function get_customer_phone( $context = 'view' ) {
958
-		return $this->get_phone( $context );
957
+	public function get_customer_phone($context = 'view') {
958
+		return $this->get_phone($context);
959 959
     }
960 960
 
961 961
     /**
@@ -965,8 +965,8 @@  discard block
 block discarded – undo
965 965
 	 * @param  string $context View or edit context.
966 966
 	 * @return string
967 967
 	 */
968
-	public function get_email( $context = 'view' ) {
969
-		return $this->get_prop( 'email', $context );
968
+	public function get_email($context = 'view') {
969
+		return $this->get_prop('email', $context);
970 970
     }
971 971
 
972 972
     /**
@@ -976,8 +976,8 @@  discard block
 block discarded – undo
976 976
 	 * @param  string $context View or edit context.
977 977
 	 * @return string
978 978
 	 */
979
-	public function get_email_address( $context = 'view' ) {
980
-		return $this->get_email( $context );
979
+	public function get_email_address($context = 'view') {
980
+		return $this->get_email($context);
981 981
     }
982 982
 
983 983
     /**
@@ -987,8 +987,8 @@  discard block
 block discarded – undo
987 987
 	 * @param  string $context View or edit context.
988 988
 	 * @return string
989 989
 	 */
990
-	public function get_user_email( $context = 'view' ) {
991
-		return $this->get_email( $context );
990
+	public function get_user_email($context = 'view') {
991
+		return $this->get_email($context);
992 992
     }
993 993
 
994 994
     /**
@@ -998,8 +998,8 @@  discard block
 block discarded – undo
998 998
 	 * @param  string $context View or edit context.
999 999
 	 * @return string
1000 1000
 	 */
1001
-	public function get_customer_email( $context = 'view' ) {
1002
-		return $this->get_email( $context );
1001
+	public function get_customer_email($context = 'view') {
1002
+		return $this->get_email($context);
1003 1003
     }
1004 1004
 
1005 1005
     /**
@@ -1009,9 +1009,9 @@  discard block
 block discarded – undo
1009 1009
 	 * @param  string $context View or edit context.
1010 1010
 	 * @return string
1011 1011
 	 */
1012
-	public function get_country( $context = 'view' ) {
1013
-		$country = $this->get_prop( 'country', $context );
1014
-		return empty( $country ) ? wpinv_get_default_country() : $country;
1012
+	public function get_country($context = 'view') {
1013
+		$country = $this->get_prop('country', $context);
1014
+		return empty($country) ? wpinv_get_default_country() : $country;
1015 1015
     }
1016 1016
 
1017 1017
     /**
@@ -1021,8 +1021,8 @@  discard block
 block discarded – undo
1021 1021
 	 * @param  string $context View or edit context.
1022 1022
 	 * @return string
1023 1023
 	 */
1024
-	public function get_user_country( $context = 'view' ) {
1025
-		return $this->get_country( $context );
1024
+	public function get_user_country($context = 'view') {
1025
+		return $this->get_country($context);
1026 1026
     }
1027 1027
 
1028 1028
     /**
@@ -1032,8 +1032,8 @@  discard block
 block discarded – undo
1032 1032
 	 * @param  string $context View or edit context.
1033 1033
 	 * @return string
1034 1034
 	 */
1035
-	public function get_customer_country( $context = 'view' ) {
1036
-		return $this->get_country( $context );
1035
+	public function get_customer_country($context = 'view') {
1036
+		return $this->get_country($context);
1037 1037
     }
1038 1038
 
1039 1039
     /**
@@ -1043,9 +1043,9 @@  discard block
 block discarded – undo
1043 1043
 	 * @param  string $context View or edit context.
1044 1044
 	 * @return string
1045 1045
 	 */
1046
-	public function get_state( $context = 'view' ) {
1047
-		$state = $this->get_prop( 'state', $context );
1048
-		return empty( $state ) ? wpinv_get_default_state() : $state;
1046
+	public function get_state($context = 'view') {
1047
+		$state = $this->get_prop('state', $context);
1048
+		return empty($state) ? wpinv_get_default_state() : $state;
1049 1049
     }
1050 1050
 
1051 1051
     /**
@@ -1055,8 +1055,8 @@  discard block
 block discarded – undo
1055 1055
 	 * @param  string $context View or edit context.
1056 1056
 	 * @return string
1057 1057
 	 */
1058
-	public function get_user_state( $context = 'view' ) {
1059
-		return $this->get_state( $context );
1058
+	public function get_user_state($context = 'view') {
1059
+		return $this->get_state($context);
1060 1060
     }
1061 1061
 
1062 1062
     /**
@@ -1066,8 +1066,8 @@  discard block
 block discarded – undo
1066 1066
 	 * @param  string $context View or edit context.
1067 1067
 	 * @return string
1068 1068
 	 */
1069
-	public function get_customer_state( $context = 'view' ) {
1070
-		return $this->get_state( $context );
1069
+	public function get_customer_state($context = 'view') {
1070
+		return $this->get_state($context);
1071 1071
     }
1072 1072
 
1073 1073
     /**
@@ -1077,8 +1077,8 @@  discard block
 block discarded – undo
1077 1077
 	 * @param  string $context View or edit context.
1078 1078
 	 * @return string
1079 1079
 	 */
1080
-	public function get_city( $context = 'view' ) {
1081
-		return $this->get_prop( 'city', $context );
1080
+	public function get_city($context = 'view') {
1081
+		return $this->get_prop('city', $context);
1082 1082
     }
1083 1083
 
1084 1084
     /**
@@ -1088,8 +1088,8 @@  discard block
 block discarded – undo
1088 1088
 	 * @param  string $context View or edit context.
1089 1089
 	 * @return string
1090 1090
 	 */
1091
-	public function get_user_city( $context = 'view' ) {
1092
-		return $this->get_city( $context );
1091
+	public function get_user_city($context = 'view') {
1092
+		return $this->get_city($context);
1093 1093
     }
1094 1094
 
1095 1095
     /**
@@ -1099,8 +1099,8 @@  discard block
 block discarded – undo
1099 1099
 	 * @param  string $context View or edit context.
1100 1100
 	 * @return string
1101 1101
 	 */
1102
-	public function get_customer_city( $context = 'view' ) {
1103
-		return $this->get_city( $context );
1102
+	public function get_customer_city($context = 'view') {
1103
+		return $this->get_city($context);
1104 1104
     }
1105 1105
 
1106 1106
     /**
@@ -1110,8 +1110,8 @@  discard block
 block discarded – undo
1110 1110
 	 * @param  string $context View or edit context.
1111 1111
 	 * @return string
1112 1112
 	 */
1113
-	public function get_zip( $context = 'view' ) {
1114
-		return $this->get_prop( 'zip', $context );
1113
+	public function get_zip($context = 'view') {
1114
+		return $this->get_prop('zip', $context);
1115 1115
     }
1116 1116
 
1117 1117
     /**
@@ -1121,8 +1121,8 @@  discard block
 block discarded – undo
1121 1121
 	 * @param  string $context View or edit context.
1122 1122
 	 * @return string
1123 1123
 	 */
1124
-	public function get_user_zip( $context = 'view' ) {
1125
-		return $this->get_zip( $context );
1124
+	public function get_user_zip($context = 'view') {
1125
+		return $this->get_zip($context);
1126 1126
     }
1127 1127
 
1128 1128
     /**
@@ -1132,8 +1132,8 @@  discard block
 block discarded – undo
1132 1132
 	 * @param  string $context View or edit context.
1133 1133
 	 * @return string
1134 1134
 	 */
1135
-	public function get_customer_zip( $context = 'view' ) {
1136
-		return $this->get_zip( $context );
1135
+	public function get_customer_zip($context = 'view') {
1136
+		return $this->get_zip($context);
1137 1137
     }
1138 1138
 
1139 1139
     /**
@@ -1143,8 +1143,8 @@  discard block
 block discarded – undo
1143 1143
 	 * @param  string $context View or edit context.
1144 1144
 	 * @return string
1145 1145
 	 */
1146
-	public function get_company( $context = 'view' ) {
1147
-		return $this->get_prop( 'company', $context );
1146
+	public function get_company($context = 'view') {
1147
+		return $this->get_prop('company', $context);
1148 1148
     }
1149 1149
 
1150 1150
     /**
@@ -1154,8 +1154,8 @@  discard block
 block discarded – undo
1154 1154
 	 * @param  string $context View or edit context.
1155 1155
 	 * @return string
1156 1156
 	 */
1157
-	public function get_user_company( $context = 'view' ) {
1158
-		return $this->get_company( $context );
1157
+	public function get_user_company($context = 'view') {
1158
+		return $this->get_company($context);
1159 1159
     }
1160 1160
 
1161 1161
     /**
@@ -1165,8 +1165,8 @@  discard block
 block discarded – undo
1165 1165
 	 * @param  string $context View or edit context.
1166 1166
 	 * @return string
1167 1167
 	 */
1168
-	public function get_customer_company( $context = 'view' ) {
1169
-		return $this->get_company( $context );
1168
+	public function get_customer_company($context = 'view') {
1169
+		return $this->get_company($context);
1170 1170
     }
1171 1171
 
1172 1172
     /**
@@ -1176,8 +1176,8 @@  discard block
 block discarded – undo
1176 1176
 	 * @param  string $context View or edit context.
1177 1177
 	 * @return string
1178 1178
 	 */
1179
-	public function get_vat_number( $context = 'view' ) {
1180
-		return $this->get_prop( 'vat_number', $context );
1179
+	public function get_vat_number($context = 'view') {
1180
+		return $this->get_prop('vat_number', $context);
1181 1181
     }
1182 1182
 
1183 1183
     /**
@@ -1187,8 +1187,8 @@  discard block
 block discarded – undo
1187 1187
 	 * @param  string $context View or edit context.
1188 1188
 	 * @return string
1189 1189
 	 */
1190
-	public function get_user_vat_number( $context = 'view' ) {
1191
-		return $this->get_vat_number( $context );
1190
+	public function get_user_vat_number($context = 'view') {
1191
+		return $this->get_vat_number($context);
1192 1192
     }
1193 1193
 
1194 1194
     /**
@@ -1198,8 +1198,8 @@  discard block
 block discarded – undo
1198 1198
 	 * @param  string $context View or edit context.
1199 1199
 	 * @return string
1200 1200
 	 */
1201
-	public function get_customer_vat_number( $context = 'view' ) {
1202
-		return $this->get_vat_number( $context );
1201
+	public function get_customer_vat_number($context = 'view') {
1202
+		return $this->get_vat_number($context);
1203 1203
     }
1204 1204
 
1205 1205
     /**
@@ -1209,8 +1209,8 @@  discard block
 block discarded – undo
1209 1209
 	 * @param  string $context View or edit context.
1210 1210
 	 * @return string
1211 1211
 	 */
1212
-	public function get_vat_rate( $context = 'view' ) {
1213
-		return $this->get_prop( 'vat_rate', $context );
1212
+	public function get_vat_rate($context = 'view') {
1213
+		return $this->get_prop('vat_rate', $context);
1214 1214
     }
1215 1215
 
1216 1216
     /**
@@ -1220,8 +1220,8 @@  discard block
 block discarded – undo
1220 1220
 	 * @param  string $context View or edit context.
1221 1221
 	 * @return string
1222 1222
 	 */
1223
-	public function get_user_vat_rate( $context = 'view' ) {
1224
-		return $this->get_vat_rate( $context );
1223
+	public function get_user_vat_rate($context = 'view') {
1224
+		return $this->get_vat_rate($context);
1225 1225
     }
1226 1226
 
1227 1227
     /**
@@ -1231,8 +1231,8 @@  discard block
 block discarded – undo
1231 1231
 	 * @param  string $context View or edit context.
1232 1232
 	 * @return string
1233 1233
 	 */
1234
-	public function get_customer_vat_rate( $context = 'view' ) {
1235
-		return $this->get_vat_rate( $context );
1234
+	public function get_customer_vat_rate($context = 'view') {
1235
+		return $this->get_vat_rate($context);
1236 1236
     }
1237 1237
 
1238 1238
     /**
@@ -1242,8 +1242,8 @@  discard block
 block discarded – undo
1242 1242
 	 * @param  string $context View or edit context.
1243 1243
 	 * @return string
1244 1244
 	 */
1245
-	public function get_address( $context = 'view' ) {
1246
-		return $this->get_prop( 'address', $context );
1245
+	public function get_address($context = 'view') {
1246
+		return $this->get_prop('address', $context);
1247 1247
     }
1248 1248
 
1249 1249
     /**
@@ -1253,8 +1253,8 @@  discard block
 block discarded – undo
1253 1253
 	 * @param  string $context View or edit context.
1254 1254
 	 * @return string
1255 1255
 	 */
1256
-	public function get_user_address( $context = 'view' ) {
1257
-		return $this->get_address( $context );
1256
+	public function get_user_address($context = 'view') {
1257
+		return $this->get_address($context);
1258 1258
     }
1259 1259
 
1260 1260
     /**
@@ -1264,8 +1264,8 @@  discard block
 block discarded – undo
1264 1264
 	 * @param  string $context View or edit context.
1265 1265
 	 * @return string
1266 1266
 	 */
1267
-	public function get_customer_address( $context = 'view' ) {
1268
-		return $this->get_address( $context );
1267
+	public function get_customer_address($context = 'view') {
1268
+		return $this->get_address($context);
1269 1269
     }
1270 1270
 
1271 1271
     /**
@@ -1275,8 +1275,8 @@  discard block
 block discarded – undo
1275 1275
 	 * @param  string $context View or edit context.
1276 1276
 	 * @return bool
1277 1277
 	 */
1278
-	public function get_is_viewed( $context = 'view' ) {
1279
-		return (bool) $this->get_prop( 'is_viewed', $context );
1278
+	public function get_is_viewed($context = 'view') {
1279
+		return (bool) $this->get_prop('is_viewed', $context);
1280 1280
 	}
1281 1281
 
1282 1282
 	/**
@@ -1286,8 +1286,8 @@  discard block
 block discarded – undo
1286 1286
 	 * @param  string $context View or edit context.
1287 1287
 	 * @return bool
1288 1288
 	 */
1289
-	public function get_email_cc( $context = 'view' ) {
1290
-		return $this->get_prop( 'email_cc', $context );
1289
+	public function get_email_cc($context = 'view') {
1290
+		return $this->get_prop('email_cc', $context);
1291 1291
 	}
1292 1292
 
1293 1293
 	/**
@@ -1297,8 +1297,8 @@  discard block
 block discarded – undo
1297 1297
 	 * @param  string $context View or edit context.
1298 1298
 	 * @return bool
1299 1299
 	 */
1300
-	public function get_template( $context = 'view' ) {
1301
-		return $this->get_prop( 'template', $context );
1300
+	public function get_template($context = 'view') {
1301
+		return $this->get_prop('template', $context);
1302 1302
 	}
1303 1303
 
1304 1304
 	/**
@@ -1308,8 +1308,8 @@  discard block
 block discarded – undo
1308 1308
 	 * @param  string $context View or edit context.
1309 1309
 	 * @return bool
1310 1310
 	 */
1311
-	public function get_created_via( $context = 'view' ) {
1312
-		return $this->get_prop( 'created_via', $context );
1311
+	public function get_created_via($context = 'view') {
1312
+		return $this->get_prop('created_via', $context);
1313 1313
 	}
1314 1314
 
1315 1315
 	/**
@@ -1319,8 +1319,8 @@  discard block
 block discarded – undo
1319 1319
 	 * @param  string $context View or edit context.
1320 1320
 	 * @return bool
1321 1321
 	 */
1322
-	public function get_address_confirmed( $context = 'view' ) {
1323
-		return (bool) $this->get_prop( 'address_confirmed', $context );
1322
+	public function get_address_confirmed($context = 'view') {
1323
+		return (bool) $this->get_prop('address_confirmed', $context);
1324 1324
     }
1325 1325
 
1326 1326
     /**
@@ -1330,8 +1330,8 @@  discard block
 block discarded – undo
1330 1330
 	 * @param  string $context View or edit context.
1331 1331
 	 * @return bool
1332 1332
 	 */
1333
-	public function get_user_address_confirmed( $context = 'view' ) {
1334
-		return $this->get_address_confirmed( $context );
1333
+	public function get_user_address_confirmed($context = 'view') {
1334
+		return $this->get_address_confirmed($context);
1335 1335
     }
1336 1336
 
1337 1337
     /**
@@ -1341,8 +1341,8 @@  discard block
 block discarded – undo
1341 1341
 	 * @param  string $context View or edit context.
1342 1342
 	 * @return bool
1343 1343
 	 */
1344
-	public function get_customer_address_confirmed( $context = 'view' ) {
1345
-		return $this->get_address_confirmed( $context );
1344
+	public function get_customer_address_confirmed($context = 'view') {
1345
+		return $this->get_address_confirmed($context);
1346 1346
     }
1347 1347
 
1348 1348
     /**
@@ -1352,12 +1352,12 @@  discard block
 block discarded – undo
1352 1352
 	 * @param  string $context View or edit context.
1353 1353
 	 * @return float
1354 1354
 	 */
1355
-	public function get_subtotal( $context = 'view' ) {
1356
-        $subtotal = (float) $this->get_prop( 'subtotal', $context );
1355
+	public function get_subtotal($context = 'view') {
1356
+        $subtotal = (float) $this->get_prop('subtotal', $context);
1357 1357
 
1358 1358
         // Backwards compatibility.
1359
-        if ( is_bool( $context ) && $context ) {
1360
-            return wpinv_price( wpinv_format_amount( $subtotal ), $this->get_currency() );
1359
+        if (is_bool($context) && $context) {
1360
+            return wpinv_price(wpinv_format_amount($subtotal), $this->get_currency());
1361 1361
         }
1362 1362
 
1363 1363
         return $subtotal;
@@ -1370,8 +1370,8 @@  discard block
 block discarded – undo
1370 1370
 	 * @param  string $context View or edit context.
1371 1371
 	 * @return float
1372 1372
 	 */
1373
-	public function get_total_discount( $context = 'view' ) {
1374
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_discount', $context ) ) );
1373
+	public function get_total_discount($context = 'view') {
1374
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total_discount', $context)));
1375 1375
     }
1376 1376
 
1377 1377
     /**
@@ -1381,18 +1381,18 @@  discard block
 block discarded – undo
1381 1381
 	 * @param  string $context View or edit context.
1382 1382
 	 * @return float
1383 1383
 	 */
1384
-	public function get_total_tax( $context = 'view' ) {
1385
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_tax', $context ) ) );
1384
+	public function get_total_tax($context = 'view') {
1385
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total_tax', $context)));
1386 1386
 	}
1387 1387
 
1388 1388
 	/**
1389 1389
 	 * @deprecated
1390 1390
 	 */
1391
-	public function get_final_tax( $currency = false ) {
1391
+	public function get_final_tax($currency = false) {
1392 1392
 		$tax = $this->get_total_tax();
1393 1393
 
1394
-        if ( $currency ) {
1395
-			return wpinv_price( $tax, $this->get_currency() );
1394
+        if ($currency) {
1395
+			return wpinv_price($tax, $this->get_currency());
1396 1396
         }
1397 1397
 
1398 1398
         return $tax;
@@ -1405,8 +1405,8 @@  discard block
 block discarded – undo
1405 1405
 	 * @param  string $context View or edit context.
1406 1406
 	 * @return float
1407 1407
 	 */
1408
-	public function get_total_fees( $context = 'view' ) {
1409
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_fees', $context ) ) );
1408
+	public function get_total_fees($context = 'view') {
1409
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total_fees', $context)));
1410 1410
     }
1411 1411
 
1412 1412
     /**
@@ -1416,8 +1416,8 @@  discard block
 block discarded – undo
1416 1416
 	 * @param  string $context View or edit context.
1417 1417
 	 * @return float
1418 1418
 	 */
1419
-	public function get_fees_total( $context = 'view' ) {
1420
-		return $this->get_total_fees( $context );
1419
+	public function get_fees_total($context = 'view') {
1420
+		return $this->get_total_fees($context);
1421 1421
     }
1422 1422
 
1423 1423
     /**
@@ -1428,7 +1428,7 @@  discard block
 block discarded – undo
1428 1428
 	 */
1429 1429
 	public function get_total() {
1430 1430
 		$total = $this->is_renewal() ? $this->get_recurring_total() : $this->get_initial_total();
1431
-		return apply_filters( 'getpaid_get_invoice_total_amount', $total, $this  );
1431
+		return apply_filters('getpaid_get_invoice_total_amount', $total, $this);
1432 1432
 	}
1433 1433
 	
1434 1434
 	/**
@@ -1450,7 +1450,7 @@  discard block
 block discarded – undo
1450 1450
 	 */
1451 1451
     public function get_initial_total() {
1452 1452
 
1453
-		if ( empty( $this->totals ) ) {
1453
+		if (empty($this->totals)) {
1454 1454
 			$this->recalculate_total();
1455 1455
 		}
1456 1456
 
@@ -1460,12 +1460,12 @@  discard block
 block discarded – undo
1460 1460
 		$subtotal = $this->totals['subtotal']['initial'];
1461 1461
 		$total    = $tax + $fee - $discount + $subtotal;
1462 1462
 
1463
-		if ( 0 > $total ) {
1463
+		if (0 > $total) {
1464 1464
 			$total = 0;
1465 1465
 		}
1466 1466
 
1467
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1468
-        return apply_filters( 'wpinv_get_initial_invoice_total', $total, $this );
1467
+		$total = wpinv_round_amount(wpinv_sanitize_amount($total));
1468
+        return apply_filters('wpinv_get_initial_invoice_total', $total, $this);
1469 1469
 	}
1470 1470
 
1471 1471
 	/**
@@ -1477,7 +1477,7 @@  discard block
 block discarded – undo
1477 1477
 	 */
1478 1478
     public function get_recurring_total() {
1479 1479
 
1480
-		if ( empty( $this->totals ) ) {
1480
+		if (empty($this->totals)) {
1481 1481
 			$this->recalculate_total();
1482 1482
 		}
1483 1483
 
@@ -1487,12 +1487,12 @@  discard block
 block discarded – undo
1487 1487
 		$subtotal = $this->totals['subtotal']['recurring'];
1488 1488
 		$total    = $tax + $fee - $discount + $subtotal;
1489 1489
 
1490
-		if ( 0 > $total ) {
1490
+		if (0 > $total) {
1491 1491
 			$total = 0;
1492 1492
 		}
1493 1493
 
1494
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1495
-        return apply_filters( 'wpinv_get_recurring_invoice_total', $total, $this );
1494
+		$total = wpinv_round_amount(wpinv_sanitize_amount($total));
1495
+        return apply_filters('wpinv_get_recurring_invoice_total', $total, $this);
1496 1496
 	}
1497 1497
 
1498 1498
 	/**
@@ -1503,10 +1503,10 @@  discard block
 block discarded – undo
1503 1503
 	 * @param string $currency Whether to include the currency.
1504 1504
      * @return float|string
1505 1505
 	 */
1506
-    public function get_recurring_details( $field = '', $currency = false ) {
1506
+    public function get_recurring_details($field = '', $currency = false) {
1507 1507
 
1508 1508
 		// Maybe recalculate totals.
1509
-		if ( empty( $this->totals ) ) {
1509
+		if (empty($this->totals)) {
1510 1510
 			$this->recalculate_total();
1511 1511
 		}
1512 1512
 
@@ -1526,8 +1526,8 @@  discard block
 block discarded – undo
1526 1526
 			$currency
1527 1527
 		);
1528 1528
 
1529
-        if ( isset( $data[$field] ) ) {
1530
-            return ( $currency ? wpinv_price( $data[$field], $this->get_currency() ) : $data[$field] );
1529
+        if (isset($data[$field])) {
1530
+            return ($currency ? wpinv_price($data[$field], $this->get_currency()) : $data[$field]);
1531 1531
         }
1532 1532
 
1533 1533
         return $data;
@@ -1540,8 +1540,8 @@  discard block
 block discarded – undo
1540 1540
 	 * @param  string $context View or edit context.
1541 1541
 	 * @return array
1542 1542
 	 */
1543
-	public function get_fees( $context = 'view' ) {
1544
-		return wpinv_parse_list( $this->get_prop( 'fees', $context ) );
1543
+	public function get_fees($context = 'view') {
1544
+		return wpinv_parse_list($this->get_prop('fees', $context));
1545 1545
     }
1546 1546
 
1547 1547
     /**
@@ -1551,8 +1551,8 @@  discard block
 block discarded – undo
1551 1551
 	 * @param  string $context View or edit context.
1552 1552
 	 * @return array
1553 1553
 	 */
1554
-	public function get_discounts( $context = 'view' ) {
1555
-		return wpinv_parse_list( $this->get_prop( 'discounts', $context ) );
1554
+	public function get_discounts($context = 'view') {
1555
+		return wpinv_parse_list($this->get_prop('discounts', $context));
1556 1556
     }
1557 1557
 
1558 1558
     /**
@@ -1562,8 +1562,8 @@  discard block
 block discarded – undo
1562 1562
 	 * @param  string $context View or edit context.
1563 1563
 	 * @return array
1564 1564
 	 */
1565
-	public function get_taxes( $context = 'view' ) {
1566
-		return wpinv_parse_list( $this->get_prop( 'taxes', $context ) );
1565
+	public function get_taxes($context = 'view') {
1566
+		return wpinv_parse_list($this->get_prop('taxes', $context));
1567 1567
     }
1568 1568
 
1569 1569
     /**
@@ -1573,8 +1573,8 @@  discard block
 block discarded – undo
1573 1573
 	 * @param  string $context View or edit context.
1574 1574
 	 * @return GetPaid_Form_Item[]
1575 1575
 	 */
1576
-	public function get_items( $context = 'view' ) {
1577
-        return $this->get_prop( 'items', $context );
1576
+	public function get_items($context = 'view') {
1577
+        return $this->get_prop('items', $context);
1578 1578
 	}
1579 1579
 	
1580 1580
 	/**
@@ -1584,7 +1584,7 @@  discard block
 block discarded – undo
1584 1584
 	 * @return string
1585 1585
 	 */
1586 1586
 	public function get_item_ids() {
1587
-		return implode( ', ', wp_list_pluck( $this->get_cart_details(), 'item_id' ) );
1587
+		return implode(', ', wp_list_pluck($this->get_cart_details(), 'item_id'));
1588 1588
     }
1589 1589
 
1590 1590
     /**
@@ -1594,8 +1594,8 @@  discard block
 block discarded – undo
1594 1594
 	 * @param  string $context View or edit context.
1595 1595
 	 * @return int
1596 1596
 	 */
1597
-	public function get_payment_form( $context = 'view' ) {
1598
-		return intval( $this->get_prop( 'payment_form', $context ) );
1597
+	public function get_payment_form($context = 'view') {
1598
+		return intval($this->get_prop('payment_form', $context));
1599 1599
     }
1600 1600
 
1601 1601
     /**
@@ -1605,8 +1605,8 @@  discard block
 block discarded – undo
1605 1605
 	 * @param  string $context View or edit context.
1606 1606
 	 * @return string
1607 1607
 	 */
1608
-	public function get_submission_id( $context = 'view' ) {
1609
-		return $this->get_prop( 'submission_id', $context );
1608
+	public function get_submission_id($context = 'view') {
1609
+		return $this->get_prop('submission_id', $context);
1610 1610
     }
1611 1611
 
1612 1612
     /**
@@ -1616,8 +1616,8 @@  discard block
 block discarded – undo
1616 1616
 	 * @param  string $context View or edit context.
1617 1617
 	 * @return string
1618 1618
 	 */
1619
-	public function get_discount_code( $context = 'view' ) {
1620
-		return $this->get_prop( 'discount_code', $context );
1619
+	public function get_discount_code($context = 'view') {
1620
+		return $this->get_prop('discount_code', $context);
1621 1621
     }
1622 1622
 
1623 1623
     /**
@@ -1627,8 +1627,8 @@  discard block
 block discarded – undo
1627 1627
 	 * @param  string $context View or edit context.
1628 1628
 	 * @return string
1629 1629
 	 */
1630
-	public function get_gateway( $context = 'view' ) {
1631
-		return $this->get_prop( 'gateway', $context );
1630
+	public function get_gateway($context = 'view') {
1631
+		return $this->get_prop('gateway', $context);
1632 1632
     }
1633 1633
 
1634 1634
     /**
@@ -1638,8 +1638,8 @@  discard block
 block discarded – undo
1638 1638
 	 * @return string
1639 1639
 	 */
1640 1640
     public function get_gateway_title() {
1641
-        $title =  wpinv_get_gateway_checkout_label( $this->get_gateway() );
1642
-        return apply_filters( 'wpinv_gateway_title', $title, $this->get_id(), $this );
1641
+        $title = wpinv_get_gateway_checkout_label($this->get_gateway());
1642
+        return apply_filters('wpinv_gateway_title', $title, $this->get_id(), $this);
1643 1643
     }
1644 1644
 
1645 1645
     /**
@@ -1649,8 +1649,8 @@  discard block
 block discarded – undo
1649 1649
 	 * @param  string $context View or edit context.
1650 1650
 	 * @return string
1651 1651
 	 */
1652
-	public function get_transaction_id( $context = 'view' ) {
1653
-		return $this->get_prop( 'transaction_id', $context );
1652
+	public function get_transaction_id($context = 'view') {
1653
+		return $this->get_prop('transaction_id', $context);
1654 1654
     }
1655 1655
 
1656 1656
     /**
@@ -1660,9 +1660,9 @@  discard block
 block discarded – undo
1660 1660
 	 * @param  string $context View or edit context.
1661 1661
 	 * @return string
1662 1662
 	 */
1663
-	public function get_currency( $context = 'view' ) {
1664
-        $currency = $this->get_prop( 'currency', $context );
1665
-        return empty( $currency ) ? wpinv_get_currency() : $currency;
1663
+	public function get_currency($context = 'view') {
1664
+        $currency = $this->get_prop('currency', $context);
1665
+        return empty($currency) ? wpinv_get_currency() : $currency;
1666 1666
     }
1667 1667
 
1668 1668
     /**
@@ -1672,8 +1672,8 @@  discard block
 block discarded – undo
1672 1672
 	 * @param  string $context View or edit context.
1673 1673
 	 * @return bool
1674 1674
 	 */
1675
-	public function get_disable_taxes( $context = 'view' ) {
1676
-        return (bool) $this->get_prop( 'disable_taxes', $context );
1675
+	public function get_disable_taxes($context = 'view') {
1676
+        return (bool) $this->get_prop('disable_taxes', $context);
1677 1677
     }
1678 1678
 
1679 1679
     /**
@@ -1683,8 +1683,8 @@  discard block
 block discarded – undo
1683 1683
 	 * @param  string $context View or edit context.
1684 1684
 	 * @return int
1685 1685
 	 */
1686
-    public function get_subscription_id( $context = 'view' ) {
1687
-		return $this->is_renewal() ? $this->get_parent()->get_subscription_id( $context ) : $this->get_prop( 'subscription_id', $context );
1686
+    public function get_subscription_id($context = 'view') {
1687
+		return $this->is_renewal() ? $this->get_parent()->get_subscription_id($context) : $this->get_prop('subscription_id', $context);
1688 1688
 	}
1689 1689
 
1690 1690
 	/**
@@ -1694,12 +1694,12 @@  discard block
 block discarded – undo
1694 1694
 	 * @param  string $context View or edit context.
1695 1695
 	 * @return int
1696 1696
 	 */
1697
-    public function get_remote_subscription_id( $context = 'view' ) {
1698
-        $subscription_id = $this->get_prop( 'remote_subscription_id', $context );
1697
+    public function get_remote_subscription_id($context = 'view') {
1698
+        $subscription_id = $this->get_prop('remote_subscription_id', $context);
1699 1699
 
1700
-        if ( empty( $subscription_id ) && $this->is_renewal() ) {
1700
+        if (empty($subscription_id) && $this->is_renewal()) {
1701 1701
             $parent = $this->get_parent();
1702
-            return $parent->get_subscription_id( $context );
1702
+            return $parent->get_subscription_id($context);
1703 1703
         }
1704 1704
 
1705 1705
         return $subscription_id;
@@ -1712,20 +1712,20 @@  discard block
 block discarded – undo
1712 1712
 	 * @param  string $context View or edit context.
1713 1713
 	 * @return array
1714 1714
 	 */
1715
-    public function get_payment_meta( $context = 'view' ) {
1715
+    public function get_payment_meta($context = 'view') {
1716 1716
 
1717 1717
         return array(
1718
-            'price'        => $this->get_total( $context ),
1719
-            'date'         => $this->get_date_created( $context ),
1720
-            'user_email'   => $this->get_email( $context ),
1721
-            'invoice_key'  => $this->get_key( $context ),
1722
-            'currency'     => $this->get_currency( $context ),
1723
-            'items'        => $this->get_items( $context ),
1724
-            'user_info'    => $this->get_user_info( $context ),
1718
+            'price'        => $this->get_total($context),
1719
+            'date'         => $this->get_date_created($context),
1720
+            'user_email'   => $this->get_email($context),
1721
+            'invoice_key'  => $this->get_key($context),
1722
+            'currency'     => $this->get_currency($context),
1723
+            'items'        => $this->get_items($context),
1724
+            'user_info'    => $this->get_user_info($context),
1725 1725
             'cart_details' => $this->get_cart_details(),
1726
-            'status'       => $this->get_status( $context ),
1727
-            'fees'         => $this->get_fees( $context ),
1728
-            'taxes'        => $this->get_taxes( $context ),
1726
+            'status'       => $this->get_status($context),
1727
+            'fees'         => $this->get_fees($context),
1728
+            'taxes'        => $this->get_taxes($context),
1729 1729
         );
1730 1730
 
1731 1731
     }
@@ -1740,9 +1740,9 @@  discard block
 block discarded – undo
1740 1740
         $items        = $this->get_items();
1741 1741
         $cart_details = array();
1742 1742
 
1743
-        foreach ( $items as $item ) {
1743
+        foreach ($items as $item) {
1744 1744
 			$item->invoice_id = $this->get_id();
1745
-            $cart_details[]   = $item->prepare_data_for_saving();
1745
+            $cart_details[] = $item->prepare_data_for_saving();
1746 1746
         }
1747 1747
 
1748 1748
         return $cart_details;
@@ -1753,11 +1753,11 @@  discard block
 block discarded – undo
1753 1753
 	 *
1754 1754
 	 * @return null|GetPaid_Form_Item|int
1755 1755
 	 */
1756
-	public function get_recurring( $object = false ) {
1756
+	public function get_recurring($object = false) {
1757 1757
 
1758 1758
 		// Are we returning an object?
1759
-        if ( $object ) {
1760
-            return $this->get_item( $this->recurring_item );
1759
+        if ($object) {
1760
+            return $this->get_item($this->recurring_item);
1761 1761
         }
1762 1762
 
1763 1763
         return $this->recurring_item;
@@ -1772,15 +1772,15 @@  discard block
 block discarded – undo
1772 1772
 	public function get_subscription_name() {
1773 1773
 
1774 1774
 		// Retrieve the recurring name
1775
-        $item = $this->get_recurring( true );
1775
+        $item = $this->get_recurring(true);
1776 1776
 
1777 1777
 		// Abort if it does not exist.
1778
-        if ( empty( $item ) ) {
1778
+        if (empty($item)) {
1779 1779
             return '';
1780 1780
         }
1781 1781
 
1782 1782
 		// Return the item name.
1783
-        return apply_filters( 'wpinv_invoice_get_subscription_name', $item->get_name(), $this );
1783
+        return apply_filters('wpinv_invoice_get_subscription_name', $item->get_name(), $this);
1784 1784
 	}
1785 1785
 
1786 1786
 	/**
@@ -1790,9 +1790,9 @@  discard block
 block discarded – undo
1790 1790
 	 * @return string
1791 1791
 	 */
1792 1792
 	public function get_view_url() {
1793
-        $invoice_url = get_permalink( $this->get_id() );
1794
-		$invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1795
-        return apply_filters( 'wpinv_get_view_url', $invoice_url, $this );
1793
+        $invoice_url = get_permalink($this->get_id());
1794
+		$invoice_url = add_query_arg('invoice_key', $this->get_key(), $invoice_url);
1795
+        return apply_filters('wpinv_get_view_url', $invoice_url, $this);
1796 1796
 	}
1797 1797
 
1798 1798
 	/**
@@ -1801,25 +1801,25 @@  discard block
 block discarded – undo
1801 1801
 	 * @since 1.0.19
1802 1802
 	 * @return string
1803 1803
 	 */
1804
-	public function get_checkout_payment_url( $deprecated = false, $secret = false ) {
1804
+	public function get_checkout_payment_url($deprecated = false, $secret = false) {
1805 1805
 
1806 1806
 		// Retrieve the checkout url.
1807 1807
         $pay_url = wpinv_get_checkout_uri();
1808 1808
 
1809 1809
 		// Maybe force ssl.
1810
-        if ( is_ssl() ) {
1811
-            $pay_url = str_replace( 'http:', 'https:', $pay_url );
1810
+        if (is_ssl()) {
1811
+            $pay_url = str_replace('http:', 'https:', $pay_url);
1812 1812
         }
1813 1813
 
1814 1814
 		// Add the invoice key.
1815
-		$pay_url = add_query_arg( 'invoice_key', $this->get_key(), $pay_url );
1815
+		$pay_url = add_query_arg('invoice_key', $this->get_key(), $pay_url);
1816 1816
 
1817 1817
 		// (Maybe?) add a secret
1818
-        if ( $secret ) {
1819
-            $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $this->get_key() ) ), $pay_url );
1818
+        if ($secret) {
1819
+            $pay_url = add_query_arg(array('_wpipay' => md5($this->get_user_id() . '::' . $this->get_email() . '::' . $this->get_key())), $pay_url);
1820 1820
         }
1821 1821
 
1822
-        return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $deprecated, $secret );
1822
+        return apply_filters('wpinv_get_checkout_payment_url', $pay_url, $this, $deprecated, $secret);
1823 1823
 	}
1824 1824
 	
1825 1825
 	/**
@@ -1834,14 +1834,14 @@  discard block
 block discarded – undo
1834 1834
         $receipt_url = wpinv_get_success_page_uri();
1835 1835
 
1836 1836
 		// Maybe force ssl.
1837
-        if ( is_ssl() ) {
1838
-            $receipt_url = str_replace( 'http:', 'https:', $receipt_url );
1837
+        if (is_ssl()) {
1838
+            $receipt_url = str_replace('http:', 'https:', $receipt_url);
1839 1839
         }
1840 1840
 
1841 1841
 		// Add the invoice key.
1842
-		$receipt_url = add_query_arg( 'invoice_key', $this->get_key(), $receipt_url );
1842
+		$receipt_url = add_query_arg('invoice_key', $this->get_key(), $receipt_url);
1843 1843
 
1844
-        return apply_filters( 'getpaid_get_invoice_receipt_url', $receipt_url, $this );
1844
+        return apply_filters('getpaid_get_invoice_receipt_url', $receipt_url, $this);
1845 1845
 	}
1846 1846
 	
1847 1847
 	/**
@@ -1854,7 +1854,7 @@  discard block
 block discarded – undo
1854 1854
 
1855 1855
 		$type   = $this->get_type();
1856 1856
 		$status = "wpi-$type-pending";
1857
-		return str_replace( '-invoice', '', $status );
1857
+		return str_replace('-invoice', '', $status);
1858 1858
 
1859 1859
 	}
1860 1860
 
@@ -1868,8 +1868,8 @@  discard block
 block discarded – undo
1868 1868
 	 * @param  string $context View or edit context.
1869 1869
 	 * @return mixed Value of the given invoice property (if set).
1870 1870
 	 */
1871
-	public function get( $key, $context = 'view' ) {
1872
-        return $this->get_prop( $key, $context );
1871
+	public function get($key, $context = 'view') {
1872
+        return $this->get_prop($key, $context);
1873 1873
 	}
1874 1874
 
1875 1875
     /*
@@ -1892,11 +1892,11 @@  discard block
 block discarded – undo
1892 1892
 	 * @param  mixed $value new value.
1893 1893
 	 * @return mixed Value of the given invoice property (if set).
1894 1894
 	 */
1895
-	public function set( $key, $value ) {
1895
+	public function set($key, $value) {
1896 1896
 
1897 1897
         $setter = "set_$key";
1898
-        if ( is_callable( array( $this, $setter ) ) ) {
1899
-            $this->{$setter}( $value );
1898
+        if (is_callable(array($this, $setter))) {
1899
+            $this->{$setter}($value);
1900 1900
         }
1901 1901
 
1902 1902
 	}
@@ -1910,47 +1910,47 @@  discard block
 block discarded – undo
1910 1910
 	 * @param bool   $manual_update Is this a manual status change?.
1911 1911
 	 * @return array details of change.
1912 1912
 	 */
1913
-	public function set_status( $new_status, $note = '', $manual_update = false ) {
1913
+	public function set_status($new_status, $note = '', $manual_update = false) {
1914 1914
 		$old_status = $this->get_status();
1915 1915
 
1916 1916
 		$statuses = $this->get_all_statuses();
1917 1917
 
1918
-		if ( isset( $statuses[ 'draft' ] ) ) {
1919
-			unset( $statuses[ 'draft' ] );
1918
+		if (isset($statuses['draft'])) {
1919
+			unset($statuses['draft']);
1920 1920
 		}
1921 1921
 
1922
-		$this->set_prop( 'status', $new_status );
1922
+		$this->set_prop('status', $new_status);
1923 1923
 
1924 1924
 		// If setting the status, ensure it's set to a valid status.
1925
-		if ( true === $this->object_read ) {
1925
+		if (true === $this->object_read) {
1926 1926
 
1927 1927
 			// Only allow valid new status.
1928
-			if ( ! array_key_exists( $new_status, $statuses ) ) {
1928
+			if (!array_key_exists($new_status, $statuses)) {
1929 1929
 				$new_status = $this->get_default_status();
1930 1930
 			}
1931 1931
 
1932 1932
 			// If the old status is set but unknown (e.g. draft) assume its pending for action usage.
1933
-			if ( $old_status && ! array_key_exists( $new_status, $statuses ) ) {
1933
+			if ($old_status && !array_key_exists($new_status, $statuses)) {
1934 1934
 				$old_status = $this->get_default_status();
1935 1935
 			}
1936 1936
 
1937 1937
 			// Paid - Renewal (i.e when duplicating a parent invoice )
1938
-			if ( $new_status == 'wpi-pending' && $old_status == 'publish' && ! $this->get_id() ) {
1938
+			if ($new_status == 'wpi-pending' && $old_status == 'publish' && !$this->get_id()) {
1939 1939
 				$old_status = 'wpi-pending';
1940 1940
 			}
1941 1941
 
1942 1942
 		}
1943 1943
 
1944
-		if ( true === $this->object_read && $old_status !== $new_status ) {
1944
+		if (true === $this->object_read && $old_status !== $new_status) {
1945 1945
 			$this->status_transition = array(
1946
-				'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
1946
+				'from'   => !empty($this->status_transition['from']) ? $this->status_transition['from'] : $old_status,
1947 1947
 				'to'     => $new_status,
1948 1948
 				'note'   => $note,
1949 1949
 				'manual' => (bool) $manual_update,
1950 1950
 			);
1951 1951
 
1952
-			if ( $manual_update ) {
1953
-				do_action( 'getpaid_' . $this->object_type .'_edit_status', $this->get_id(), $new_status );
1952
+			if ($manual_update) {
1953
+				do_action('getpaid_' . $this->object_type . '_edit_status', $this->get_id(), $new_status);
1954 1954
 			}
1955 1955
 
1956 1956
 			$this->maybe_set_date_paid();
@@ -1973,8 +1973,8 @@  discard block
 block discarded – undo
1973 1973
 	 */
1974 1974
 	public function maybe_set_date_paid() {
1975 1975
 
1976
-		if ( ! $this->get_date_completed( 'edit' ) && $this->is_paid() ) {
1977
-			$this->set_date_completed( current_time( 'mysql' ) );
1976
+		if (!$this->get_date_completed('edit') && $this->is_paid()) {
1977
+			$this->set_date_completed(current_time('mysql'));
1978 1978
 		}
1979 1979
 	}
1980 1980
 
@@ -1983,11 +1983,11 @@  discard block
 block discarded – undo
1983 1983
 	 *
1984 1984
 	 * @since 1.0.19
1985 1985
 	 */
1986
-	public function set_parent_id( $value ) {
1987
-		if ( $value && ( $value === $this->get_id() ) ) {
1986
+	public function set_parent_id($value) {
1987
+		if ($value && ($value === $this->get_id())) {
1988 1988
 			return;
1989 1989
 		}
1990
-		$this->set_prop( 'parent_id', absint( $value ) );
1990
+		$this->set_prop('parent_id', absint($value));
1991 1991
     }
1992 1992
 
1993 1993
     /**
@@ -1995,8 +1995,8 @@  discard block
 block discarded – undo
1995 1995
 	 *
1996 1996
 	 * @since 1.0.19
1997 1997
 	 */
1998
-	public function set_version( $value ) {
1999
-		$this->set_prop( 'version', $value );
1998
+	public function set_version($value) {
1999
+		$this->set_prop('version', $value);
2000 2000
     }
2001 2001
 
2002 2002
     /**
@@ -2006,15 +2006,15 @@  discard block
 block discarded – undo
2006 2006
 	 * @param string $value Value to set.
2007 2007
      * @return bool Whether or not the date was set.
2008 2008
 	 */
2009
-	public function set_date_created( $value ) {
2010
-        $date = strtotime( $value );
2009
+	public function set_date_created($value) {
2010
+        $date = strtotime($value);
2011 2011
 
2012
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2013
-            $this->set_prop( 'date_created', date( 'Y-m-d H:i:s', $date ) );
2012
+        if ($date && $value !== '0000-00-00 00:00:00') {
2013
+            $this->set_prop('date_created', date('Y-m-d H:i:s', $date));
2014 2014
             return true;
2015 2015
         }
2016 2016
 
2017
-		$this->set_prop( 'date_created', '' );
2017
+		$this->set_prop('date_created', '');
2018 2018
 		return false;
2019 2019
 
2020 2020
     }
@@ -2026,15 +2026,15 @@  discard block
 block discarded – undo
2026 2026
 	 * @param string $value Value to set.
2027 2027
      * @return bool Whether or not the date was set.
2028 2028
 	 */
2029
-	public function set_due_date( $value ) {
2030
-        $date = strtotime( $value );
2029
+	public function set_due_date($value) {
2030
+        $date = strtotime($value);
2031 2031
 
2032
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2033
-            $this->set_prop( 'due_date', date( 'Y-m-d H:i:s', $date ) );
2032
+        if ($date && $value !== '0000-00-00 00:00:00') {
2033
+            $this->set_prop('due_date', date('Y-m-d H:i:s', $date));
2034 2034
             return true;
2035 2035
         }
2036 2036
 
2037
-		$this->set_prop( 'due_date', '' );
2037
+		$this->set_prop('due_date', '');
2038 2038
         return false;
2039 2039
 
2040 2040
     }
@@ -2045,8 +2045,8 @@  discard block
 block discarded – undo
2045 2045
 	 * @since 1.0.19
2046 2046
 	 * @param  string $value New name.
2047 2047
 	 */
2048
-	public function set_date_due( $value ) {
2049
-		$this->set_due_date( $value );
2048
+	public function set_date_due($value) {
2049
+		$this->set_due_date($value);
2050 2050
     }
2051 2051
 
2052 2052
     /**
@@ -2056,15 +2056,15 @@  discard block
 block discarded – undo
2056 2056
 	 * @param string $value Value to set.
2057 2057
      * @return bool Whether or not the date was set.
2058 2058
 	 */
2059
-	public function set_completed_date( $value ) {
2060
-        $date = strtotime( $value );
2059
+	public function set_completed_date($value) {
2060
+        $date = strtotime($value);
2061 2061
 
2062
-        if ( $date && $value !== '0000-00-00 00:00:00'  ) {
2063
-            $this->set_prop( 'completed_date', date( 'Y-m-d H:i:s', $date ) );
2062
+        if ($date && $value !== '0000-00-00 00:00:00') {
2063
+            $this->set_prop('completed_date', date('Y-m-d H:i:s', $date));
2064 2064
             return true;
2065 2065
         }
2066 2066
 
2067
-		$this->set_prop( 'completed_date', '' );
2067
+		$this->set_prop('completed_date', '');
2068 2068
         return false;
2069 2069
 
2070 2070
     }
@@ -2075,8 +2075,8 @@  discard block
 block discarded – undo
2075 2075
 	 * @since 1.0.19
2076 2076
 	 * @param  string $value New name.
2077 2077
 	 */
2078
-	public function set_date_completed( $value ) {
2079
-		$this->set_completed_date( $value );
2078
+	public function set_date_completed($value) {
2079
+		$this->set_completed_date($value);
2080 2080
     }
2081 2081
 
2082 2082
     /**
@@ -2086,15 +2086,15 @@  discard block
 block discarded – undo
2086 2086
 	 * @param string $value Value to set.
2087 2087
      * @return bool Whether or not the date was set.
2088 2088
 	 */
2089
-	public function set_date_modified( $value ) {
2090
-        $date = strtotime( $value );
2089
+	public function set_date_modified($value) {
2090
+        $date = strtotime($value);
2091 2091
 
2092
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2093
-            $this->set_prop( 'date_modified', date( 'Y-m-d H:i:s', $date ) );
2092
+        if ($date && $value !== '0000-00-00 00:00:00') {
2093
+            $this->set_prop('date_modified', date('Y-m-d H:i:s', $date));
2094 2094
             return true;
2095 2095
         }
2096 2096
 
2097
-		$this->set_prop( 'date_modified', '' );
2097
+		$this->set_prop('date_modified', '');
2098 2098
         return false;
2099 2099
 
2100 2100
     }
@@ -2105,9 +2105,9 @@  discard block
 block discarded – undo
2105 2105
 	 * @since 1.0.19
2106 2106
 	 * @param  string $value New number.
2107 2107
 	 */
2108
-	public function set_number( $value ) {
2109
-        $number = sanitize_text_field( $value );
2110
-		$this->set_prop( 'number', $number );
2108
+	public function set_number($value) {
2109
+        $number = sanitize_text_field($value);
2110
+		$this->set_prop('number', $number);
2111 2111
     }
2112 2112
 
2113 2113
     /**
@@ -2116,9 +2116,9 @@  discard block
 block discarded – undo
2116 2116
 	 * @since 1.0.19
2117 2117
 	 * @param  string $value Type.
2118 2118
 	 */
2119
-	public function set_type( $value ) {
2120
-        $type = sanitize_text_field( str_replace( 'wpi_', '', $value ) );
2121
-		$this->set_prop( 'type', $type );
2119
+	public function set_type($value) {
2120
+        $type = sanitize_text_field(str_replace('wpi_', '', $value));
2121
+		$this->set_prop('type', $type);
2122 2122
 	}
2123 2123
 
2124 2124
     /**
@@ -2127,10 +2127,10 @@  discard block
 block discarded – undo
2127 2127
 	 * @since 1.0.19
2128 2128
 	 * @param  string $value Post type.
2129 2129
 	 */
2130
-	public function set_post_type( $value ) {
2131
-        if ( getpaid_is_invoice_post_type( $value ) ) {
2132
-			$this->set_type( $value );
2133
-            $this->set_prop( 'post_type', $value );
2130
+	public function set_post_type($value) {
2131
+        if (getpaid_is_invoice_post_type($value)) {
2132
+			$this->set_type($value);
2133
+            $this->set_prop('post_type', $value);
2134 2134
         }
2135 2135
     }
2136 2136
 
@@ -2140,9 +2140,9 @@  discard block
 block discarded – undo
2140 2140
 	 * @since 1.0.19
2141 2141
 	 * @param  string $value New key.
2142 2142
 	 */
2143
-	public function set_key( $value ) {
2144
-        $key = sanitize_text_field( $value );
2145
-		$this->set_prop( 'key', $key );
2143
+	public function set_key($value) {
2144
+        $key = sanitize_text_field($value);
2145
+		$this->set_prop('key', $key);
2146 2146
     }
2147 2147
 
2148 2148
     /**
@@ -2151,9 +2151,9 @@  discard block
 block discarded – undo
2151 2151
 	 * @since 1.0.19
2152 2152
 	 * @param  string $value mode.
2153 2153
 	 */
2154
-	public function set_mode( $value ) {
2155
-        if ( in_array( $value, array( 'live', 'test' ) ) ) {
2156
-            $this->set_prop( 'mode', $value );
2154
+	public function set_mode($value) {
2155
+        if (in_array($value, array('live', 'test'))) {
2156
+            $this->set_prop('mode', $value);
2157 2157
         }
2158 2158
     }
2159 2159
 
@@ -2163,8 +2163,8 @@  discard block
 block discarded – undo
2163 2163
 	 * @since 1.0.19
2164 2164
 	 * @param  string $value path.
2165 2165
 	 */
2166
-	public function set_path( $value ) {
2167
-        $this->set_prop( 'path', $value );
2166
+	public function set_path($value) {
2167
+        $this->set_prop('path', $value);
2168 2168
     }
2169 2169
 
2170 2170
     /**
@@ -2173,9 +2173,9 @@  discard block
 block discarded – undo
2173 2173
 	 * @since 1.0.19
2174 2174
 	 * @param  string $value New name.
2175 2175
 	 */
2176
-	public function set_name( $value ) {
2177
-        $name = sanitize_text_field( $value );
2178
-		$this->set_prop( 'name', $name );
2176
+	public function set_name($value) {
2177
+        $name = sanitize_text_field($value);
2178
+		$this->set_prop('name', $name);
2179 2179
     }
2180 2180
 
2181 2181
     /**
@@ -2184,8 +2184,8 @@  discard block
 block discarded – undo
2184 2184
 	 * @since 1.0.19
2185 2185
 	 * @param  string $value New name.
2186 2186
 	 */
2187
-	public function set_title( $value ) {
2188
-		$this->set_name( $value );
2187
+	public function set_title($value) {
2188
+		$this->set_name($value);
2189 2189
     }
2190 2190
 
2191 2191
     /**
@@ -2194,9 +2194,9 @@  discard block
 block discarded – undo
2194 2194
 	 * @since 1.0.19
2195 2195
 	 * @param  string $value New description.
2196 2196
 	 */
2197
-	public function set_description( $value ) {
2198
-        $description = wp_kses_post( $value );
2199
-		$this->set_prop( 'description', $description );
2197
+	public function set_description($value) {
2198
+        $description = wp_kses_post($value);
2199
+		$this->set_prop('description', $description);
2200 2200
     }
2201 2201
 
2202 2202
     /**
@@ -2205,8 +2205,8 @@  discard block
 block discarded – undo
2205 2205
 	 * @since 1.0.19
2206 2206
 	 * @param  string $value New description.
2207 2207
 	 */
2208
-	public function set_excerpt( $value ) {
2209
-		$this->set_description( $value );
2208
+	public function set_excerpt($value) {
2209
+		$this->set_description($value);
2210 2210
     }
2211 2211
 
2212 2212
     /**
@@ -2215,8 +2215,8 @@  discard block
 block discarded – undo
2215 2215
 	 * @since 1.0.19
2216 2216
 	 * @param  string $value New description.
2217 2217
 	 */
2218
-	public function set_summary( $value ) {
2219
-		$this->set_description( $value );
2218
+	public function set_summary($value) {
2219
+		$this->set_description($value);
2220 2220
     }
2221 2221
 
2222 2222
     /**
@@ -2225,12 +2225,12 @@  discard block
 block discarded – undo
2225 2225
 	 * @since 1.0.19
2226 2226
 	 * @param  int $value New author.
2227 2227
 	 */
2228
-	public function set_author( $value ) {
2229
-		$user = get_user_by( 'id', (int) $value );
2228
+	public function set_author($value) {
2229
+		$user = get_user_by('id', (int) $value);
2230 2230
 
2231
-		if ( $user && $user->ID ) {
2232
-			$this->set_prop( 'author', $user->ID );
2233
-			$this->set_prop( 'email', $user->user_email );
2231
+		if ($user && $user->ID) {
2232
+			$this->set_prop('author', $user->ID);
2233
+			$this->set_prop('email', $user->user_email);
2234 2234
 		}
2235 2235
 
2236 2236
     }
@@ -2241,8 +2241,8 @@  discard block
 block discarded – undo
2241 2241
 	 * @since 1.0.19
2242 2242
 	 * @param  int $value New user id.
2243 2243
 	 */
2244
-	public function set_user_id( $value ) {
2245
-		$this->set_author( $value );
2244
+	public function set_user_id($value) {
2245
+		$this->set_author($value);
2246 2246
     }
2247 2247
 
2248 2248
     /**
@@ -2251,8 +2251,8 @@  discard block
 block discarded – undo
2251 2251
 	 * @since 1.0.19
2252 2252
 	 * @param  int $value New user id.
2253 2253
 	 */
2254
-	public function set_customer_id( $value ) {
2255
-		$this->set_author( $value );
2254
+	public function set_customer_id($value) {
2255
+		$this->set_author($value);
2256 2256
     }
2257 2257
 
2258 2258
     /**
@@ -2261,8 +2261,8 @@  discard block
 block discarded – undo
2261 2261
 	 * @since 1.0.19
2262 2262
 	 * @param  string $value ip address.
2263 2263
 	 */
2264
-	public function set_ip( $value ) {
2265
-		$this->set_prop( 'ip', $value );
2264
+	public function set_ip($value) {
2265
+		$this->set_prop('ip', $value);
2266 2266
     }
2267 2267
 
2268 2268
     /**
@@ -2271,8 +2271,8 @@  discard block
 block discarded – undo
2271 2271
 	 * @since 1.0.19
2272 2272
 	 * @param  string $value ip address.
2273 2273
 	 */
2274
-	public function set_user_ip( $value ) {
2275
-		$this->set_ip( $value );
2274
+	public function set_user_ip($value) {
2275
+		$this->set_ip($value);
2276 2276
     }
2277 2277
 
2278 2278
     /**
@@ -2281,8 +2281,8 @@  discard block
 block discarded – undo
2281 2281
 	 * @since 1.0.19
2282 2282
 	 * @param  string $value first name.
2283 2283
 	 */
2284
-	public function set_first_name( $value ) {
2285
-		$this->set_prop( 'first_name', $value );
2284
+	public function set_first_name($value) {
2285
+		$this->set_prop('first_name', $value);
2286 2286
     }
2287 2287
 
2288 2288
     /**
@@ -2291,8 +2291,8 @@  discard block
 block discarded – undo
2291 2291
 	 * @since 1.0.19
2292 2292
 	 * @param  string $value first name.
2293 2293
 	 */
2294
-	public function set_user_first_name( $value ) {
2295
-		$this->set_first_name( $value );
2294
+	public function set_user_first_name($value) {
2295
+		$this->set_first_name($value);
2296 2296
     }
2297 2297
 
2298 2298
     /**
@@ -2301,8 +2301,8 @@  discard block
 block discarded – undo
2301 2301
 	 * @since 1.0.19
2302 2302
 	 * @param  string $value first name.
2303 2303
 	 */
2304
-	public function set_customer_first_name( $value ) {
2305
-		$this->set_first_name( $value );
2304
+	public function set_customer_first_name($value) {
2305
+		$this->set_first_name($value);
2306 2306
     }
2307 2307
 
2308 2308
     /**
@@ -2311,8 +2311,8 @@  discard block
 block discarded – undo
2311 2311
 	 * @since 1.0.19
2312 2312
 	 * @param  string $value last name.
2313 2313
 	 */
2314
-	public function set_last_name( $value ) {
2315
-		$this->set_prop( 'last_name', $value );
2314
+	public function set_last_name($value) {
2315
+		$this->set_prop('last_name', $value);
2316 2316
     }
2317 2317
 
2318 2318
     /**
@@ -2321,8 +2321,8 @@  discard block
 block discarded – undo
2321 2321
 	 * @since 1.0.19
2322 2322
 	 * @param  string $value last name.
2323 2323
 	 */
2324
-	public function set_user_last_name( $value ) {
2325
-		$this->set_last_name( $value );
2324
+	public function set_user_last_name($value) {
2325
+		$this->set_last_name($value);
2326 2326
     }
2327 2327
 
2328 2328
     /**
@@ -2331,8 +2331,8 @@  discard block
 block discarded – undo
2331 2331
 	 * @since 1.0.19
2332 2332
 	 * @param  string $value last name.
2333 2333
 	 */
2334
-	public function set_customer_last_name( $value ) {
2335
-		$this->set_last_name( $value );
2334
+	public function set_customer_last_name($value) {
2335
+		$this->set_last_name($value);
2336 2336
     }
2337 2337
 
2338 2338
     /**
@@ -2341,8 +2341,8 @@  discard block
 block discarded – undo
2341 2341
 	 * @since 1.0.19
2342 2342
 	 * @param  string $value phone.
2343 2343
 	 */
2344
-	public function set_phone( $value ) {
2345
-		$this->set_prop( 'phone', $value );
2344
+	public function set_phone($value) {
2345
+		$this->set_prop('phone', $value);
2346 2346
     }
2347 2347
 
2348 2348
     /**
@@ -2351,8 +2351,8 @@  discard block
 block discarded – undo
2351 2351
 	 * @since 1.0.19
2352 2352
 	 * @param  string $value phone.
2353 2353
 	 */
2354
-	public function set_user_phone( $value ) {
2355
-		$this->set_phone( $value );
2354
+	public function set_user_phone($value) {
2355
+		$this->set_phone($value);
2356 2356
     }
2357 2357
 
2358 2358
     /**
@@ -2361,8 +2361,8 @@  discard block
 block discarded – undo
2361 2361
 	 * @since 1.0.19
2362 2362
 	 * @param  string $value phone.
2363 2363
 	 */
2364
-	public function set_customer_phone( $value ) {
2365
-		$this->set_phone( $value );
2364
+	public function set_customer_phone($value) {
2365
+		$this->set_phone($value);
2366 2366
     }
2367 2367
 
2368 2368
     /**
@@ -2371,8 +2371,8 @@  discard block
 block discarded – undo
2371 2371
 	 * @since 1.0.19
2372 2372
 	 * @param  string $value phone.
2373 2373
 	 */
2374
-	public function set_phone_number( $value ) {
2375
-		$this->set_phone( $value );
2374
+	public function set_phone_number($value) {
2375
+		$this->set_phone($value);
2376 2376
     }
2377 2377
 
2378 2378
     /**
@@ -2381,8 +2381,8 @@  discard block
 block discarded – undo
2381 2381
 	 * @since 1.0.19
2382 2382
 	 * @param  string $value email address.
2383 2383
 	 */
2384
-	public function set_email( $value ) {
2385
-		$this->set_prop( 'email', $value );
2384
+	public function set_email($value) {
2385
+		$this->set_prop('email', $value);
2386 2386
     }
2387 2387
 
2388 2388
     /**
@@ -2391,8 +2391,8 @@  discard block
 block discarded – undo
2391 2391
 	 * @since 1.0.19
2392 2392
 	 * @param  string $value email address.
2393 2393
 	 */
2394
-	public function set_user_email( $value ) {
2395
-		$this->set_email( $value );
2394
+	public function set_user_email($value) {
2395
+		$this->set_email($value);
2396 2396
     }
2397 2397
 
2398 2398
     /**
@@ -2401,8 +2401,8 @@  discard block
 block discarded – undo
2401 2401
 	 * @since 1.0.19
2402 2402
 	 * @param  string $value email address.
2403 2403
 	 */
2404
-	public function set_email_address( $value ) {
2405
-		$this->set_email( $value );
2404
+	public function set_email_address($value) {
2405
+		$this->set_email($value);
2406 2406
     }
2407 2407
 
2408 2408
     /**
@@ -2411,8 +2411,8 @@  discard block
 block discarded – undo
2411 2411
 	 * @since 1.0.19
2412 2412
 	 * @param  string $value email address.
2413 2413
 	 */
2414
-	public function set_customer_email( $value ) {
2415
-		$this->set_email( $value );
2414
+	public function set_customer_email($value) {
2415
+		$this->set_email($value);
2416 2416
     }
2417 2417
 
2418 2418
     /**
@@ -2421,8 +2421,8 @@  discard block
 block discarded – undo
2421 2421
 	 * @since 1.0.19
2422 2422
 	 * @param  string $value country.
2423 2423
 	 */
2424
-	public function set_country( $value ) {
2425
-		$this->set_prop( 'country', $value );
2424
+	public function set_country($value) {
2425
+		$this->set_prop('country', $value);
2426 2426
     }
2427 2427
 
2428 2428
     /**
@@ -2431,8 +2431,8 @@  discard block
 block discarded – undo
2431 2431
 	 * @since 1.0.19
2432 2432
 	 * @param  string $value country.
2433 2433
 	 */
2434
-	public function set_user_country( $value ) {
2435
-		$this->set_country( $value );
2434
+	public function set_user_country($value) {
2435
+		$this->set_country($value);
2436 2436
     }
2437 2437
 
2438 2438
     /**
@@ -2441,8 +2441,8 @@  discard block
 block discarded – undo
2441 2441
 	 * @since 1.0.19
2442 2442
 	 * @param  string $value country.
2443 2443
 	 */
2444
-	public function set_customer_country( $value ) {
2445
-		$this->set_country( $value );
2444
+	public function set_customer_country($value) {
2445
+		$this->set_country($value);
2446 2446
     }
2447 2447
 
2448 2448
     /**
@@ -2451,8 +2451,8 @@  discard block
 block discarded – undo
2451 2451
 	 * @since 1.0.19
2452 2452
 	 * @param  string $value state.
2453 2453
 	 */
2454
-	public function set_state( $value ) {
2455
-		$this->set_prop( 'state', $value );
2454
+	public function set_state($value) {
2455
+		$this->set_prop('state', $value);
2456 2456
     }
2457 2457
 
2458 2458
     /**
@@ -2461,8 +2461,8 @@  discard block
 block discarded – undo
2461 2461
 	 * @since 1.0.19
2462 2462
 	 * @param  string $value state.
2463 2463
 	 */
2464
-	public function set_user_state( $value ) {
2465
-		$this->set_state( $value );
2464
+	public function set_user_state($value) {
2465
+		$this->set_state($value);
2466 2466
     }
2467 2467
 
2468 2468
     /**
@@ -2471,8 +2471,8 @@  discard block
 block discarded – undo
2471 2471
 	 * @since 1.0.19
2472 2472
 	 * @param  string $value state.
2473 2473
 	 */
2474
-	public function set_customer_state( $value ) {
2475
-		$this->set_state( $value );
2474
+	public function set_customer_state($value) {
2475
+		$this->set_state($value);
2476 2476
     }
2477 2477
 
2478 2478
     /**
@@ -2481,8 +2481,8 @@  discard block
 block discarded – undo
2481 2481
 	 * @since 1.0.19
2482 2482
 	 * @param  string $value city.
2483 2483
 	 */
2484
-	public function set_city( $value ) {
2485
-		$this->set_prop( 'city', $value );
2484
+	public function set_city($value) {
2485
+		$this->set_prop('city', $value);
2486 2486
     }
2487 2487
 
2488 2488
     /**
@@ -2491,8 +2491,8 @@  discard block
 block discarded – undo
2491 2491
 	 * @since 1.0.19
2492 2492
 	 * @param  string $value city.
2493 2493
 	 */
2494
-	public function set_user_city( $value ) {
2495
-		$this->set_city( $value );
2494
+	public function set_user_city($value) {
2495
+		$this->set_city($value);
2496 2496
     }
2497 2497
 
2498 2498
     /**
@@ -2501,8 +2501,8 @@  discard block
 block discarded – undo
2501 2501
 	 * @since 1.0.19
2502 2502
 	 * @param  string $value city.
2503 2503
 	 */
2504
-	public function set_customer_city( $value ) {
2505
-		$this->set_city( $value );
2504
+	public function set_customer_city($value) {
2505
+		$this->set_city($value);
2506 2506
     }
2507 2507
 
2508 2508
     /**
@@ -2511,8 +2511,8 @@  discard block
 block discarded – undo
2511 2511
 	 * @since 1.0.19
2512 2512
 	 * @param  string $value zip.
2513 2513
 	 */
2514
-	public function set_zip( $value ) {
2515
-		$this->set_prop( 'zip', $value );
2514
+	public function set_zip($value) {
2515
+		$this->set_prop('zip', $value);
2516 2516
     }
2517 2517
 
2518 2518
     /**
@@ -2521,8 +2521,8 @@  discard block
 block discarded – undo
2521 2521
 	 * @since 1.0.19
2522 2522
 	 * @param  string $value zip.
2523 2523
 	 */
2524
-	public function set_user_zip( $value ) {
2525
-		$this->set_zip( $value );
2524
+	public function set_user_zip($value) {
2525
+		$this->set_zip($value);
2526 2526
     }
2527 2527
 
2528 2528
     /**
@@ -2531,8 +2531,8 @@  discard block
 block discarded – undo
2531 2531
 	 * @since 1.0.19
2532 2532
 	 * @param  string $value zip.
2533 2533
 	 */
2534
-	public function set_customer_zip( $value ) {
2535
-		$this->set_zip( $value );
2534
+	public function set_customer_zip($value) {
2535
+		$this->set_zip($value);
2536 2536
     }
2537 2537
 
2538 2538
     /**
@@ -2541,8 +2541,8 @@  discard block
 block discarded – undo
2541 2541
 	 * @since 1.0.19
2542 2542
 	 * @param  string $value company.
2543 2543
 	 */
2544
-	public function set_company( $value ) {
2545
-		$this->set_prop( 'company', $value );
2544
+	public function set_company($value) {
2545
+		$this->set_prop('company', $value);
2546 2546
     }
2547 2547
 
2548 2548
     /**
@@ -2551,8 +2551,8 @@  discard block
 block discarded – undo
2551 2551
 	 * @since 1.0.19
2552 2552
 	 * @param  string $value company.
2553 2553
 	 */
2554
-	public function set_user_company( $value ) {
2555
-		$this->set_company( $value );
2554
+	public function set_user_company($value) {
2555
+		$this->set_company($value);
2556 2556
     }
2557 2557
 
2558 2558
     /**
@@ -2561,8 +2561,8 @@  discard block
 block discarded – undo
2561 2561
 	 * @since 1.0.19
2562 2562
 	 * @param  string $value company.
2563 2563
 	 */
2564
-	public function set_customer_company( $value ) {
2565
-		$this->set_company( $value );
2564
+	public function set_customer_company($value) {
2565
+		$this->set_company($value);
2566 2566
     }
2567 2567
 
2568 2568
     /**
@@ -2571,8 +2571,8 @@  discard block
 block discarded – undo
2571 2571
 	 * @since 1.0.19
2572 2572
 	 * @param  string $value var number.
2573 2573
 	 */
2574
-	public function set_vat_number( $value ) {
2575
-		$this->set_prop( 'vat_number', $value );
2574
+	public function set_vat_number($value) {
2575
+		$this->set_prop('vat_number', $value);
2576 2576
     }
2577 2577
 
2578 2578
     /**
@@ -2581,8 +2581,8 @@  discard block
 block discarded – undo
2581 2581
 	 * @since 1.0.19
2582 2582
 	 * @param  string $value var number.
2583 2583
 	 */
2584
-	public function set_user_vat_number( $value ) {
2585
-		$this->set_vat_number( $value );
2584
+	public function set_user_vat_number($value) {
2585
+		$this->set_vat_number($value);
2586 2586
     }
2587 2587
 
2588 2588
     /**
@@ -2591,8 +2591,8 @@  discard block
 block discarded – undo
2591 2591
 	 * @since 1.0.19
2592 2592
 	 * @param  string $value var number.
2593 2593
 	 */
2594
-	public function set_customer_vat_number( $value ) {
2595
-		$this->set_vat_number( $value );
2594
+	public function set_customer_vat_number($value) {
2595
+		$this->set_vat_number($value);
2596 2596
     }
2597 2597
 
2598 2598
     /**
@@ -2601,8 +2601,8 @@  discard block
 block discarded – undo
2601 2601
 	 * @since 1.0.19
2602 2602
 	 * @param  string $value var rate.
2603 2603
 	 */
2604
-	public function set_vat_rate( $value ) {
2605
-		$this->set_prop( 'vat_rate', $value );
2604
+	public function set_vat_rate($value) {
2605
+		$this->set_prop('vat_rate', $value);
2606 2606
     }
2607 2607
 
2608 2608
     /**
@@ -2611,8 +2611,8 @@  discard block
 block discarded – undo
2611 2611
 	 * @since 1.0.19
2612 2612
 	 * @param  string $value var number.
2613 2613
 	 */
2614
-	public function set_user_vat_rate( $value ) {
2615
-		$this->set_vat_rate( $value );
2614
+	public function set_user_vat_rate($value) {
2615
+		$this->set_vat_rate($value);
2616 2616
     }
2617 2617
 
2618 2618
     /**
@@ -2621,8 +2621,8 @@  discard block
 block discarded – undo
2621 2621
 	 * @since 1.0.19
2622 2622
 	 * @param  string $value var number.
2623 2623
 	 */
2624
-	public function set_customer_vat_rate( $value ) {
2625
-		$this->set_vat_rate( $value );
2624
+	public function set_customer_vat_rate($value) {
2625
+		$this->set_vat_rate($value);
2626 2626
     }
2627 2627
 
2628 2628
     /**
@@ -2631,8 +2631,8 @@  discard block
 block discarded – undo
2631 2631
 	 * @since 1.0.19
2632 2632
 	 * @param  string $value address.
2633 2633
 	 */
2634
-	public function set_address( $value ) {
2635
-		$this->set_prop( 'address', $value );
2634
+	public function set_address($value) {
2635
+		$this->set_prop('address', $value);
2636 2636
     }
2637 2637
 
2638 2638
     /**
@@ -2641,8 +2641,8 @@  discard block
 block discarded – undo
2641 2641
 	 * @since 1.0.19
2642 2642
 	 * @param  string $value address.
2643 2643
 	 */
2644
-	public function set_user_address( $value ) {
2645
-		$this->set_address( $value );
2644
+	public function set_user_address($value) {
2645
+		$this->set_address($value);
2646 2646
     }
2647 2647
 
2648 2648
     /**
@@ -2651,8 +2651,8 @@  discard block
 block discarded – undo
2651 2651
 	 * @since 1.0.19
2652 2652
 	 * @param  string $value address.
2653 2653
 	 */
2654
-	public function set_customer_address( $value ) {
2655
-		$this->set_address( $value );
2654
+	public function set_customer_address($value) {
2655
+		$this->set_address($value);
2656 2656
     }
2657 2657
 
2658 2658
     /**
@@ -2661,8 +2661,8 @@  discard block
 block discarded – undo
2661 2661
 	 * @since 1.0.19
2662 2662
 	 * @param  int|bool $value confirmed.
2663 2663
 	 */
2664
-	public function set_is_viewed( $value ) {
2665
-		$this->set_prop( 'is_viewed', $value );
2664
+	public function set_is_viewed($value) {
2665
+		$this->set_prop('is_viewed', $value);
2666 2666
 	}
2667 2667
 
2668 2668
 	/**
@@ -2671,8 +2671,8 @@  discard block
 block discarded – undo
2671 2671
 	 * @since 1.0.19
2672 2672
 	 * @param  string $value email recipients.
2673 2673
 	 */
2674
-	public function set_email_cc( $value ) {
2675
-		$this->set_prop( 'email_cc', $value );
2674
+	public function set_email_cc($value) {
2675
+		$this->set_prop('email_cc', $value);
2676 2676
 	}
2677 2677
 
2678 2678
 	/**
@@ -2681,9 +2681,9 @@  discard block
 block discarded – undo
2681 2681
 	 * @since 1.0.19
2682 2682
 	 * @param  string $value template.
2683 2683
 	 */
2684
-	public function set_template( $value ) {
2685
-		if ( in_array( $value, array( 'quantity', 'hours', 'amount' ) ) ) {
2686
-			$this->set_prop( 'template', $value );
2684
+	public function set_template($value) {
2685
+		if (in_array($value, array('quantity', 'hours', 'amount'))) {
2686
+			$this->set_prop('template', $value);
2687 2687
 		}
2688 2688
 	}
2689 2689
 
@@ -2693,8 +2693,8 @@  discard block
 block discarded – undo
2693 2693
 	 * @since 1.0.19
2694 2694
 	 * @param  string $value email recipients.
2695 2695
 	 */
2696
-	public function created_via( $value ) {
2697
-		$this->set_prop( 'created_via', sanitize_text_field( $value ) );
2696
+	public function created_via($value) {
2697
+		$this->set_prop('created_via', sanitize_text_field($value));
2698 2698
 	}
2699 2699
 
2700 2700
 	/**
@@ -2703,8 +2703,8 @@  discard block
 block discarded – undo
2703 2703
 	 * @since 1.0.19
2704 2704
 	 * @param  int|bool $value confirmed.
2705 2705
 	 */
2706
-	public function set_address_confirmed( $value ) {
2707
-		$this->set_prop( 'address_confirmed', $value );
2706
+	public function set_address_confirmed($value) {
2707
+		$this->set_prop('address_confirmed', $value);
2708 2708
     }
2709 2709
 
2710 2710
     /**
@@ -2713,8 +2713,8 @@  discard block
 block discarded – undo
2713 2713
 	 * @since 1.0.19
2714 2714
 	 * @param  int|bool $value confirmed.
2715 2715
 	 */
2716
-	public function set_user_address_confirmed( $value ) {
2717
-		$this->set_address_confirmed( $value );
2716
+	public function set_user_address_confirmed($value) {
2717
+		$this->set_address_confirmed($value);
2718 2718
     }
2719 2719
 
2720 2720
     /**
@@ -2723,8 +2723,8 @@  discard block
 block discarded – undo
2723 2723
 	 * @since 1.0.19
2724 2724
 	 * @param  int|bool $value confirmed.
2725 2725
 	 */
2726
-	public function set_customer_address_confirmed( $value ) {
2727
-		$this->set_address_confirmed( $value );
2726
+	public function set_customer_address_confirmed($value) {
2727
+		$this->set_address_confirmed($value);
2728 2728
     }
2729 2729
 
2730 2730
     /**
@@ -2733,8 +2733,8 @@  discard block
 block discarded – undo
2733 2733
 	 * @since 1.0.19
2734 2734
 	 * @param  float $value sub total.
2735 2735
 	 */
2736
-	public function set_subtotal( $value ) {
2737
-		$this->set_prop( 'subtotal', $value );
2736
+	public function set_subtotal($value) {
2737
+		$this->set_prop('subtotal', $value);
2738 2738
     }
2739 2739
 
2740 2740
     /**
@@ -2743,8 +2743,8 @@  discard block
 block discarded – undo
2743 2743
 	 * @since 1.0.19
2744 2744
 	 * @param  float $value discount total.
2745 2745
 	 */
2746
-	public function set_total_discount( $value ) {
2747
-		$this->set_prop( 'total_discount', $value );
2746
+	public function set_total_discount($value) {
2747
+		$this->set_prop('total_discount', $value);
2748 2748
     }
2749 2749
 
2750 2750
     /**
@@ -2753,8 +2753,8 @@  discard block
 block discarded – undo
2753 2753
 	 * @since 1.0.19
2754 2754
 	 * @param  float $value discount total.
2755 2755
 	 */
2756
-	public function set_discount( $value ) {
2757
-		$this->set_total_discount( $value );
2756
+	public function set_discount($value) {
2757
+		$this->set_total_discount($value);
2758 2758
     }
2759 2759
 
2760 2760
     /**
@@ -2763,8 +2763,8 @@  discard block
 block discarded – undo
2763 2763
 	 * @since 1.0.19
2764 2764
 	 * @param  float $value tax total.
2765 2765
 	 */
2766
-	public function set_total_tax( $value ) {
2767
-		$this->set_prop( 'total_tax', $value );
2766
+	public function set_total_tax($value) {
2767
+		$this->set_prop('total_tax', $value);
2768 2768
     }
2769 2769
 
2770 2770
     /**
@@ -2773,8 +2773,8 @@  discard block
 block discarded – undo
2773 2773
 	 * @since 1.0.19
2774 2774
 	 * @param  float $value tax total.
2775 2775
 	 */
2776
-	public function set_tax_total( $value ) {
2777
-		$this->set_total_tax( $value );
2776
+	public function set_tax_total($value) {
2777
+		$this->set_total_tax($value);
2778 2778
     }
2779 2779
 
2780 2780
     /**
@@ -2783,8 +2783,8 @@  discard block
 block discarded – undo
2783 2783
 	 * @since 1.0.19
2784 2784
 	 * @param  float $value fees total.
2785 2785
 	 */
2786
-	public function set_total_fees( $value ) {
2787
-		$this->set_prop( 'total_fees', $value );
2786
+	public function set_total_fees($value) {
2787
+		$this->set_prop('total_fees', $value);
2788 2788
     }
2789 2789
 
2790 2790
     /**
@@ -2793,8 +2793,8 @@  discard block
 block discarded – undo
2793 2793
 	 * @since 1.0.19
2794 2794
 	 * @param  float $value fees total.
2795 2795
 	 */
2796
-	public function set_fees_total( $value ) {
2797
-		$this->set_total_fees( $value );
2796
+	public function set_fees_total($value) {
2797
+		$this->set_total_fees($value);
2798 2798
     }
2799 2799
 
2800 2800
     /**
@@ -2803,13 +2803,13 @@  discard block
 block discarded – undo
2803 2803
 	 * @since 1.0.19
2804 2804
 	 * @param  array $value fees.
2805 2805
 	 */
2806
-	public function set_fees( $value ) {
2806
+	public function set_fees($value) {
2807 2807
 
2808
-		if ( ! is_array( $value ) ) {
2808
+		if (!is_array($value)) {
2809 2809
 			$value = array();
2810 2810
 		}
2811 2811
 
2812
-		$this->set_prop( 'fees', $value );
2812
+		$this->set_prop('fees', $value);
2813 2813
 
2814 2814
     }
2815 2815
 
@@ -2819,13 +2819,13 @@  discard block
 block discarded – undo
2819 2819
 	 * @since 1.0.19
2820 2820
 	 * @param  array $value taxes.
2821 2821
 	 */
2822
-	public function set_taxes( $value ) {
2822
+	public function set_taxes($value) {
2823 2823
 
2824
-		if ( ! is_array( $value ) ) {
2824
+		if (!is_array($value)) {
2825 2825
 			$value = array();
2826 2826
 		}
2827 2827
 
2828
-		$this->set_prop( 'taxes', $value );
2828
+		$this->set_prop('taxes', $value);
2829 2829
 
2830 2830
     }
2831 2831
 
@@ -2835,13 +2835,13 @@  discard block
 block discarded – undo
2835 2835
 	 * @since 1.0.19
2836 2836
 	 * @param  array $value discounts.
2837 2837
 	 */
2838
-	public function set_discounts( $value ) {
2838
+	public function set_discounts($value) {
2839 2839
 
2840
-		if ( ! is_array( $value ) ) {
2840
+		if (!is_array($value)) {
2841 2841
 			$value = array();
2842 2842
 		}
2843 2843
 
2844
-		$this->set_prop( 'discounts', $value );
2844
+		$this->set_prop('discounts', $value);
2845 2845
     }
2846 2846
 
2847 2847
     /**
@@ -2850,18 +2850,18 @@  discard block
 block discarded – undo
2850 2850
 	 * @since 1.0.19
2851 2851
 	 * @param  GetPaid_Form_Item[] $value items.
2852 2852
 	 */
2853
-	public function set_items( $value ) {
2853
+	public function set_items($value) {
2854 2854
 
2855 2855
         // Remove existing items.
2856
-        $this->set_prop( 'items', array() );
2856
+        $this->set_prop('items', array());
2857 2857
 
2858 2858
         // Ensure that we have an array.
2859
-        if ( ! is_array( $value ) ) {
2859
+        if (!is_array($value)) {
2860 2860
             return;
2861 2861
         }
2862 2862
 
2863
-        foreach ( $value as $item ) {
2864
-            $this->add_item( $item );
2863
+        foreach ($value as $item) {
2864
+            $this->add_item($item);
2865 2865
         }
2866 2866
 
2867 2867
     }
@@ -2872,8 +2872,8 @@  discard block
 block discarded – undo
2872 2872
 	 * @since 1.0.19
2873 2873
 	 * @param  int $value payment form.
2874 2874
 	 */
2875
-	public function set_payment_form( $value ) {
2876
-		$this->set_prop( 'payment_form', $value );
2875
+	public function set_payment_form($value) {
2876
+		$this->set_prop('payment_form', $value);
2877 2877
     }
2878 2878
 
2879 2879
     /**
@@ -2882,8 +2882,8 @@  discard block
 block discarded – undo
2882 2882
 	 * @since 1.0.19
2883 2883
 	 * @param  string $value submission id.
2884 2884
 	 */
2885
-	public function set_submission_id( $value ) {
2886
-		$this->set_prop( 'submission_id', $value );
2885
+	public function set_submission_id($value) {
2886
+		$this->set_prop('submission_id', $value);
2887 2887
     }
2888 2888
 
2889 2889
     /**
@@ -2892,8 +2892,8 @@  discard block
 block discarded – undo
2892 2892
 	 * @since 1.0.19
2893 2893
 	 * @param  string $value discount code.
2894 2894
 	 */
2895
-	public function set_discount_code( $value ) {
2896
-		$this->set_prop( 'discount_code', $value );
2895
+	public function set_discount_code($value) {
2896
+		$this->set_prop('discount_code', $value);
2897 2897
     }
2898 2898
 
2899 2899
     /**
@@ -2902,8 +2902,8 @@  discard block
 block discarded – undo
2902 2902
 	 * @since 1.0.19
2903 2903
 	 * @param  string $value gateway.
2904 2904
 	 */
2905
-	public function set_gateway( $value ) {
2906
-		$this->set_prop( 'gateway', $value );
2905
+	public function set_gateway($value) {
2906
+		$this->set_prop('gateway', $value);
2907 2907
     }
2908 2908
 
2909 2909
     /**
@@ -2912,9 +2912,9 @@  discard block
 block discarded – undo
2912 2912
 	 * @since 1.0.19
2913 2913
 	 * @param  string $value transaction id.
2914 2914
 	 */
2915
-	public function set_transaction_id( $value ) {
2916
-		if ( ! empty( $value ) ) {
2917
-			$this->set_prop( 'transaction_id', $value );
2915
+	public function set_transaction_id($value) {
2916
+		if (!empty($value)) {
2917
+			$this->set_prop('transaction_id', $value);
2918 2918
 		}
2919 2919
     }
2920 2920
 
@@ -2924,8 +2924,8 @@  discard block
 block discarded – undo
2924 2924
 	 * @since 1.0.19
2925 2925
 	 * @param  string $value currency id.
2926 2926
 	 */
2927
-	public function set_currency( $value ) {
2928
-		$this->set_prop( 'currency', $value );
2927
+	public function set_currency($value) {
2928
+		$this->set_prop('currency', $value);
2929 2929
     }
2930 2930
 
2931 2931
 	/**
@@ -2934,8 +2934,8 @@  discard block
 block discarded – undo
2934 2934
 	 * @since 1.0.19
2935 2935
 	 * @param  bool $value value.
2936 2936
 	 */
2937
-	public function set_disable_taxes( $value ) {
2938
-		$this->set_prop( 'disable_taxes', (bool) $value );
2937
+	public function set_disable_taxes($value) {
2938
+		$this->set_prop('disable_taxes', (bool) $value);
2939 2939
 	}
2940 2940
 
2941 2941
     /**
@@ -2944,8 +2944,8 @@  discard block
 block discarded – undo
2944 2944
 	 * @since 1.0.19
2945 2945
 	 * @param  string $value subscription id.
2946 2946
 	 */
2947
-	public function set_subscription_id( $value ) {
2948
-		$this->set_prop( 'subscription_id', $value );
2947
+	public function set_subscription_id($value) {
2948
+		$this->set_prop('subscription_id', $value);
2949 2949
 	}
2950 2950
 	
2951 2951
 	/**
@@ -2954,8 +2954,8 @@  discard block
 block discarded – undo
2954 2954
 	 * @since 1.0.19
2955 2955
 	 * @param  string $value subscription id.
2956 2956
 	 */
2957
-	public function set_remote_subscription_id( $value ) {
2958
-		$this->set_prop( 'remote_subscription_id', $value );
2957
+	public function set_remote_subscription_id($value) {
2958
+		$this->set_prop('remote_subscription_id', $value);
2959 2959
     }
2960 2960
 
2961 2961
     /*
@@ -2972,28 +2972,28 @@  discard block
 block discarded – undo
2972 2972
      */
2973 2973
     public function is_parent() {
2974 2974
         $parent = $this->get_parent_id();
2975
-        return apply_filters( 'wpinv_invoice_is_parent', empty( $parent ), $this );
2975
+        return apply_filters('wpinv_invoice_is_parent', empty($parent), $this);
2976 2976
     }
2977 2977
 
2978 2978
     /**
2979 2979
      * Checks if this is a renewal invoice.
2980 2980
      */
2981 2981
     public function is_renewal() {
2982
-        return ! $this->is_parent();
2982
+        return !$this->is_parent();
2983 2983
     }
2984 2984
 
2985 2985
     /**
2986 2986
      * Checks if this is a recurring invoice.
2987 2987
      */
2988 2988
     public function is_recurring() {
2989
-        return $this->is_renewal() || ! empty( $this->recurring_item );
2989
+        return $this->is_renewal() || !empty($this->recurring_item);
2990 2990
     }
2991 2991
 
2992 2992
     /**
2993 2993
      * Checks if this is a taxable invoice.
2994 2994
      */
2995 2995
     public function is_taxable() {
2996
-        return ! $this->get_disable_taxes();
2996
+        return !$this->get_disable_taxes();
2997 2997
 	}
2998 2998
 
2999 2999
 	/**
@@ -3007,45 +3007,45 @@  discard block
 block discarded – undo
3007 3007
 	 * Checks to see if the invoice requires payment.
3008 3008
 	 */
3009 3009
 	public function is_free() {
3010
-        $is_free = ( (float) wpinv_round_amount( $this->get_initial_total() ) == 0 );
3010
+        $is_free = ((float) wpinv_round_amount($this->get_initial_total()) == 0);
3011 3011
 
3012
-		if ( $this->is_recurring() && $this->get_recurring_total() > 0 ) {
3012
+		if ($this->is_recurring() && $this->get_recurring_total() > 0) {
3013 3013
 			$is_free = false;
3014 3014
 		}
3015 3015
 
3016
-        return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
3016
+        return apply_filters('wpinv_invoice_is_free', $is_free, $this);
3017 3017
     }
3018 3018
 
3019 3019
     /**
3020 3020
      * Checks if the invoice is paid.
3021 3021
      */
3022 3022
     public function is_paid() {
3023
-        $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
3024
-        return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
3023
+        $is_paid = $this->has_status(array('publish', 'wpi-processing', 'wpi-renewal'));
3024
+        return apply_filters('wpinv_invoice_is_paid', $is_paid, $this);
3025 3025
 	}
3026 3026
 
3027 3027
 	/**
3028 3028
      * Checks if the invoice needs payment.
3029 3029
      */
3030 3030
 	public function needs_payment() {
3031
-		$needs_payment = ! $this->is_paid() && ! $this->is_refunded() && ! $this->is_free();
3032
-        return apply_filters( 'wpinv_needs_payment', $needs_payment, $this );
3031
+		$needs_payment = !$this->is_paid() && !$this->is_refunded() && !$this->is_free();
3032
+        return apply_filters('wpinv_needs_payment', $needs_payment, $this);
3033 3033
     }
3034 3034
   
3035 3035
 	/**
3036 3036
      * Checks if the invoice is refunded.
3037 3037
      */
3038 3038
 	public function is_refunded() {
3039
-        $is_refunded = $this->has_status( 'wpi-refunded' );
3040
-        return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
3039
+        $is_refunded = $this->has_status('wpi-refunded');
3040
+        return apply_filters('wpinv_invoice_is_refunded', $is_refunded, $this);
3041 3041
 	}
3042 3042
 
3043 3043
 	/**
3044 3044
      * Checks if the invoice is held.
3045 3045
      */
3046 3046
 	public function is_held() {
3047
-        $is_held = $this->has_status( 'wpi-onhold' );
3048
-        return apply_filters( 'wpinv_invoice_is_held', $is_held, $this );
3047
+        $is_held = $this->has_status('wpi-onhold');
3048
+        return apply_filters('wpinv_invoice_is_held', $is_held, $this);
3049 3049
 	}
3050 3050
 
3051 3051
 	/**
@@ -3053,30 +3053,30 @@  discard block
 block discarded – undo
3053 3053
      */
3054 3054
 	public function is_due() {
3055 3055
 		$due_date = $this->get_due_date();
3056
-		return empty( $due_date ) ? false : current_time( 'timestamp' ) > strtotime( $due_date );
3056
+		return empty($due_date) ? false : current_time('timestamp') > strtotime($due_date);
3057 3057
 	}
3058 3058
 
3059 3059
 	/**
3060 3060
      * Checks if the invoice is draft.
3061 3061
      */
3062 3062
 	public function is_draft() {
3063
-        return $this->has_status( 'draft, auto-draft' );
3063
+        return $this->has_status('draft, auto-draft');
3064 3064
 	}
3065 3065
 
3066 3066
     /**
3067 3067
      * Checks if the invoice has a given status.
3068 3068
      */
3069
-    public function has_status( $status ) {
3070
-        $status = wpinv_parse_list( $status );
3071
-        return apply_filters( 'wpinv_has_status', in_array( $this->get_status(), $status ), $status );
3069
+    public function has_status($status) {
3070
+        $status = wpinv_parse_list($status);
3071
+        return apply_filters('wpinv_has_status', in_array($this->get_status(), $status), $status);
3072 3072
 	}
3073 3073
 
3074 3074
 	/**
3075 3075
      * Checks if the invoice is of a given type.
3076 3076
      */
3077
-    public function is_type( $type ) {
3078
-        $type = wpinv_parse_list( $type );
3079
-        return in_array( $this->get_type(), $type );
3077
+    public function is_type($type) {
3078
+        $type = wpinv_parse_list($type);
3079
+        return in_array($this->get_type(), $type);
3080 3080
     }
3081 3081
 
3082 3082
     /**
@@ -3108,8 +3108,8 @@  discard block
 block discarded – undo
3108 3108
      *
3109 3109
      */
3110 3110
 	public function is_initial_free() {
3111
-        $is_initial_free = ! ( (float) wpinv_round_amount( $this->get_initial_total() ) > 0 );
3112
-        return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->get_cart_details(), $this );
3111
+        $is_initial_free = !((float) wpinv_round_amount($this->get_initial_total()) > 0);
3112
+        return apply_filters('wpinv_invoice_is_initial_free', $is_initial_free, $this->get_cart_details(), $this);
3113 3113
     }
3114 3114
 	
3115 3115
 	/**
@@ -3119,11 +3119,11 @@  discard block
 block discarded – undo
3119 3119
     public function item_has_free_trial() {
3120 3120
 
3121 3121
         // Ensure we have a recurring item.
3122
-        if ( ! $this->is_recurring() ) {
3122
+        if (!$this->is_recurring()) {
3123 3123
             return false;
3124 3124
         }
3125 3125
 
3126
-        $item = $this->get_recurring( true );
3126
+        $item = $this->get_recurring(true);
3127 3127
         return $item->has_free_trial();
3128 3128
 	}
3129 3129
 
@@ -3131,7 +3131,7 @@  discard block
 block discarded – undo
3131 3131
      * Check if the free trial is a result of a discount.
3132 3132
      */
3133 3133
     public function is_free_trial_from_discount() {
3134
-		return $this->has_free_trial() && ! $this->item_has_free_trial();
3134
+		return $this->has_free_trial() && !$this->item_has_free_trial();
3135 3135
 	}
3136 3136
 	
3137 3137
 	/**
@@ -3139,12 +3139,12 @@  discard block
 block discarded – undo
3139 3139
      */
3140 3140
     public function discount_first_payment_only() {
3141 3141
 
3142
-		$discount = wpinv_get_discount_obj( $this->get_discount_code() );
3143
-        if ( ! $discount->exists() || ! $this->is_recurring() ) {
3142
+		$discount = wpinv_get_discount_obj($this->get_discount_code());
3143
+        if (!$discount->exists() || !$this->is_recurring()) {
3144 3144
             return true;
3145 3145
         }
3146 3146
 
3147
-        return ! $discount->get_is_recurring();
3147
+        return !$discount->get_is_recurring();
3148 3148
     }
3149 3149
 
3150 3150
     /*
@@ -3162,27 +3162,27 @@  discard block
 block discarded – undo
3162 3162
      * @param GetPaid_Form_Item|array $item
3163 3163
      * @return WP_Error|Bool
3164 3164
      */
3165
-    public function add_item( $item ) {
3165
+    public function add_item($item) {
3166 3166
 
3167
-		if ( is_array( $item ) ) {
3168
-			$item = $this->process_array_item( $item );
3167
+		if (is_array($item)) {
3168
+			$item = $this->process_array_item($item);
3169 3169
 		}
3170 3170
 
3171
-		if ( is_numeric( $item ) ) {
3172
-			$item = new GetPaid_Form_Item( $item );
3171
+		if (is_numeric($item)) {
3172
+			$item = new GetPaid_Form_Item($item);
3173 3173
 		}
3174 3174
 
3175 3175
         // Make sure that it is available for purchase.
3176
-		if ( $item->get_id() > 0 && ! $item->can_purchase() ) {
3177
-			return new WP_Error( 'invalid_item', __( 'This item is not available for purchase', 'invoicing' ) );
3176
+		if ($item->get_id() > 0 && !$item->can_purchase()) {
3177
+			return new WP_Error('invalid_item', __('This item is not available for purchase', 'invoicing'));
3178 3178
         }
3179 3179
 
3180 3180
         // Do we have a recurring item?
3181
-		if ( $item->is_recurring() ) {
3181
+		if ($item->is_recurring()) {
3182 3182
 
3183 3183
 			// An invoice can only contain one recurring item.
3184
-			if ( ! empty( $this->recurring_item  && $this->recurring_item != (int) $item->get_id() ) ) {
3185
-				return new WP_Error( 'recurring_item', __( 'An invoice can only contain one recurring item', 'invoicing' ) );
3184
+			if (!empty($this->recurring_item && $this->recurring_item != (int) $item->get_id())) {
3185
+				return new WP_Error('recurring_item', __('An invoice can only contain one recurring item', 'invoicing'));
3186 3186
 			}
3187 3187
 
3188 3188
 			$this->recurring_item = $item->get_id();
@@ -3193,9 +3193,9 @@  discard block
 block discarded – undo
3193 3193
 
3194 3194
         // Retrieve all items.
3195 3195
         $items = $this->get_items();
3196
-        $items[ (int) $item->get_id() ] = $item;
3196
+        $items[(int) $item->get_id()] = $item;
3197 3197
 
3198
-        $this->set_prop( 'items', $items );
3198
+        $this->set_prop('items', $items);
3199 3199
 		return true;
3200 3200
 	}
3201 3201
 
@@ -3205,26 +3205,26 @@  discard block
 block discarded – undo
3205 3205
 	 * @since 1.0.19
3206 3206
 	 * @return GetPaid_Form_Item
3207 3207
 	 */
3208
-	protected function process_array_item( $array ) {
3208
+	protected function process_array_item($array) {
3209 3209
 
3210
-		$item_id = isset( $array['item_id'] ) ? $array['item_id'] : 0;
3211
-		$item    = new GetPaid_Form_Item( $item_id );
3210
+		$item_id = isset($array['item_id']) ? $array['item_id'] : 0;
3211
+		$item    = new GetPaid_Form_Item($item_id);
3212 3212
 
3213 3213
 		// Set item data.
3214
-		foreach ( array( 'name', 'price', 'description' ) as $key ) {
3215
-			if ( isset( $array[ "item_$key" ] ) ) {
3214
+		foreach (array('name', 'price', 'description') as $key) {
3215
+			if (isset($array["item_$key"])) {
3216 3216
 				$method = "set_$key";
3217
-				$item->$method( $array[ "item_$key" ] );
3217
+				$item->$method($array["item_$key"]);
3218 3218
 			}
3219 3219
 		}
3220 3220
 
3221
-		if ( isset( $array['quantity'] ) ) {
3222
-			$item->set_quantity( $array['quantity'] );
3221
+		if (isset($array['quantity'])) {
3222
+			$item->set_quantity($array['quantity']);
3223 3223
 		}
3224 3224
 
3225 3225
 		// Set item meta.
3226
-		if ( isset( $array['meta'] ) && is_array( $array['meta'] ) ) {
3227
-			$item->set_item_meta( $array['meta'] );
3226
+		if (isset($array['meta']) && is_array($array['meta'])) {
3227
+			$item->set_item_meta($array['meta']);
3228 3228
 		}
3229 3229
 
3230 3230
 		return $item;
@@ -3236,10 +3236,10 @@  discard block
 block discarded – undo
3236 3236
 	 *
3237 3237
 	 * @since 1.0.19
3238 3238
 	 */
3239
-	public function get_item( $item_id ) {
3239
+	public function get_item($item_id) {
3240 3240
 		$items   = $this->get_items();
3241 3241
 		$item_id = (int) $item_id;
3242
-		return ( ! empty( $item_id ) && isset( $items[ $item_id ] ) ) ? $items[ $item_id ] : null;
3242
+		return (!empty($item_id) && isset($items[$item_id])) ? $items[$item_id] : null;
3243 3243
     }
3244 3244
 
3245 3245
     /**
@@ -3247,17 +3247,17 @@  discard block
 block discarded – undo
3247 3247
 	 *
3248 3248
 	 * @since 1.0.19
3249 3249
 	 */
3250
-	public function remove_item( $item_id ) {
3250
+	public function remove_item($item_id) {
3251 3251
 		$items   = $this->get_items();
3252 3252
 		$item_id = (int) $item_id;
3253 3253
 
3254
-        if ( $item_id == $this->recurring_item ) {
3254
+        if ($item_id == $this->recurring_item) {
3255 3255
             $this->recurring_item = null;
3256 3256
         }
3257 3257
 
3258
-        if ( isset( $items[ $item_id ] ) ) {
3259
-            unset( $items[ $item_id ] );
3260
-            $this->set_prop( 'items', $items );
3258
+        if (isset($items[$item_id])) {
3259
+            unset($items[$item_id]);
3260
+            $this->set_prop('items', $items);
3261 3261
         }
3262 3262
     }
3263 3263
 
@@ -3267,11 +3267,11 @@  discard block
 block discarded – undo
3267 3267
 	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
3268 3268
 	 * @since 1.0.19
3269 3269
 	 */
3270
-    public function add_fee( $fee ) {
3270
+    public function add_fee($fee) {
3271 3271
 
3272 3272
 		$fees                 = $this->get_fees();
3273
-		$fees[ $fee['name'] ] = $fee;
3274
-		$this->set_prop( 'fees', $fees );
3273
+		$fees[$fee['name']] = $fee;
3274
+		$this->set_prop('fees', $fees);
3275 3275
 
3276 3276
     }
3277 3277
 
@@ -3280,9 +3280,9 @@  discard block
 block discarded – undo
3280 3280
 	 *
3281 3281
 	 * @since 1.0.19
3282 3282
 	 */
3283
-	public function get_fee( $fee ) {
3283
+	public function get_fee($fee) {
3284 3284
         $fees = $this->get_fees();
3285
-		return isset( $fees[ $fee ] ) ? $fees[ $fee ] : null;
3285
+		return isset($fees[$fee]) ? $fees[$fee] : null;
3286 3286
     }
3287 3287
 
3288 3288
     /**
@@ -3290,11 +3290,11 @@  discard block
 block discarded – undo
3290 3290
 	 *
3291 3291
 	 * @since 1.0.19
3292 3292
 	 */
3293
-	public function remove_fee( $fee ) {
3293
+	public function remove_fee($fee) {
3294 3294
         $fees = $this->get_fees();
3295
-        if ( isset( $fees[ $fee ] ) ) {
3296
-            unset( $fees[ $fee ] );
3297
-            $this->set_prop( 'fees', $fees );
3295
+        if (isset($fees[$fee])) {
3296
+            unset($fees[$fee]);
3297
+            $this->set_prop('fees', $fees);
3298 3298
         }
3299 3299
     }
3300 3300
 
@@ -3304,11 +3304,11 @@  discard block
 block discarded – undo
3304 3304
 	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
3305 3305
 	 * @since 1.0.19
3306 3306
 	 */
3307
-	public function add_discount( $discount ) {
3307
+	public function add_discount($discount) {
3308 3308
 
3309 3309
 		$discounts = $this->get_discounts();
3310
-		$discounts[ $discount['name'] ] = $discount;
3311
-		$this->set_prop( 'discounts', $discounts );
3310
+		$discounts[$discount['name']] = $discount;
3311
+		$this->set_prop('discounts', $discounts);
3312 3312
 
3313 3313
 	}
3314 3314
 
@@ -3318,15 +3318,15 @@  discard block
 block discarded – undo
3318 3318
 	 * @since 1.0.19
3319 3319
 	 * @return float
3320 3320
 	 */
3321
-	public function get_discount( $discount = false ) {
3321
+	public function get_discount($discount = false) {
3322 3322
 
3323 3323
 		// Backwards compatibilty.
3324
-		if ( empty( $discount ) ) {
3324
+		if (empty($discount)) {
3325 3325
 			return $this->get_total_discount();
3326 3326
 		}
3327 3327
 
3328 3328
         $discounts = $this->get_discounts();
3329
-		return isset( $discounts[ $discount ] ) ? $discounts[ $discount ] : null;
3329
+		return isset($discounts[$discount]) ? $discounts[$discount] : null;
3330 3330
     }
3331 3331
 
3332 3332
     /**
@@ -3334,11 +3334,11 @@  discard block
 block discarded – undo
3334 3334
 	 *
3335 3335
 	 * @since 1.0.19
3336 3336
 	 */
3337
-	public function remove_discount( $discount ) {
3337
+	public function remove_discount($discount) {
3338 3338
         $discounts = $this->get_discounts();
3339
-        if ( isset( $discounts[ $discount ] ) ) {
3340
-            unset( $discounts[ $discount ] );
3341
-            $this->set_prop( 'discounts', $discounts );
3339
+        if (isset($discounts[$discount])) {
3340
+            unset($discounts[$discount]);
3341
+            $this->set_prop('discounts', $discounts);
3342 3342
         }
3343 3343
     }
3344 3344
 
@@ -3347,12 +3347,12 @@  discard block
 block discarded – undo
3347 3347
      *
3348 3348
      * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
3349 3349
      */
3350
-    public function add_tax( $tax ) {
3351
-        if ( $this->is_taxable() ) {
3350
+    public function add_tax($tax) {
3351
+        if ($this->is_taxable()) {
3352 3352
 
3353
-            $taxes                 = $this->get_taxes();
3354
-			$taxes[ $tax['name'] ] = $tax;
3355
-			$this->set_prop( 'taxes', $tax );
3353
+            $taxes = $this->get_taxes();
3354
+			$taxes[$tax['name']] = $tax;
3355
+			$this->set_prop('taxes', $tax);
3356 3356
 
3357 3357
         }
3358 3358
     }
@@ -3362,15 +3362,15 @@  discard block
 block discarded – undo
3362 3362
 	 *
3363 3363
 	 * @since 1.0.19
3364 3364
 	 */
3365
-	public function get_tax( $tax = null ) {
3365
+	public function get_tax($tax = null) {
3366 3366
 
3367 3367
 		// Backwards compatility.
3368
-		if ( empty( $tax ) ) {
3368
+		if (empty($tax)) {
3369 3369
 			return $this->get_total_tax();
3370 3370
 		}
3371 3371
 
3372 3372
         $taxes = $this->get_taxes();
3373
-		return isset( $taxes[ $tax ] ) ? $taxes[ $tax ] : null;
3373
+		return isset($taxes[$tax]) ? $taxes[$tax] : null;
3374 3374
     }
3375 3375
 
3376 3376
     /**
@@ -3378,11 +3378,11 @@  discard block
 block discarded – undo
3378 3378
 	 *
3379 3379
 	 * @since 1.0.19
3380 3380
 	 */
3381
-	public function remove_tax( $tax ) {
3381
+	public function remove_tax($tax) {
3382 3382
         $taxes = $this->get_taxes();
3383
-        if ( isset( $taxes[ $tax ] ) ) {
3384
-            unset( $taxes[ $tax ] );
3385
-            $this->set_prop( 'taxes', $taxes );
3383
+        if (isset($taxes[$tax])) {
3384
+            unset($taxes[$tax]);
3385
+            $this->set_prop('taxes', $taxes);
3386 3386
         }
3387 3387
     }
3388 3388
 
@@ -3393,17 +3393,17 @@  discard block
 block discarded – undo
3393 3393
 	 * @return float The recalculated subtotal
3394 3394
 	 */
3395 3395
 	public function recalculate_subtotal() {
3396
-        $items     = $this->get_items();
3396
+        $items = $this->get_items();
3397 3397
 		$subtotal  = 0;
3398 3398
 		$recurring = 0;
3399 3399
 
3400
-        foreach ( $items as $item ) {
3400
+        foreach ($items as $item) {
3401 3401
 			$subtotal  += $item->get_sub_total();
3402 3402
 			$recurring += $item->get_recurring_sub_total();
3403 3403
         }
3404 3404
 
3405 3405
 		$current = $this->is_renewal() ? $recurring : $subtotal;
3406
-		$this->set_subtotal( $current );
3406
+		$this->set_subtotal($current);
3407 3407
 
3408 3408
 		$this->totals['subtotal'] = array(
3409 3409
 			'initial'   => $subtotal,
@@ -3424,14 +3424,14 @@  discard block
 block discarded – undo
3424 3424
 		$discount  = 0;
3425 3425
 		$recurring = 0;
3426 3426
 
3427
-        foreach ( $discounts as $data ) {
3428
-			$discount  += wpinv_sanitize_amount( $data['initial_discount'] );
3429
-			$recurring += wpinv_sanitize_amount( $data['recurring_discount'] );
3427
+        foreach ($discounts as $data) {
3428
+			$discount  += wpinv_sanitize_amount($data['initial_discount']);
3429
+			$recurring += wpinv_sanitize_amount($data['recurring_discount']);
3430 3430
 		}
3431 3431
 
3432 3432
 		$current = $this->is_renewal() ? $recurring : $discount;
3433 3433
 
3434
-		$this->set_total_discount( $current );
3434
+		$this->set_total_discount($current);
3435 3435
 
3436 3436
 		$this->totals['discount'] = array(
3437 3437
 			'initial'   => $discount,
@@ -3449,17 +3449,17 @@  discard block
 block discarded – undo
3449 3449
 	 * @return float The recalculated tax
3450 3450
 	 */
3451 3451
 	public function recalculate_total_tax() {
3452
-        $taxes     = $this->get_taxes();
3452
+        $taxes = $this->get_taxes();
3453 3453
 		$tax       = 0;
3454 3454
 		$recurring = 0;
3455 3455
 
3456
-        foreach ( $taxes as $data ) {
3457
-			$tax       += wpinv_sanitize_amount( $data['initial_tax'] );
3458
-			$recurring += wpinv_sanitize_amount( $data['recurring_tax'] );
3456
+        foreach ($taxes as $data) {
3457
+			$tax       += wpinv_sanitize_amount($data['initial_tax']);
3458
+			$recurring += wpinv_sanitize_amount($data['recurring_tax']);
3459 3459
 		}
3460 3460
 
3461 3461
 		$current = $this->is_renewal() ? $recurring : $tax;
3462
-		$this->set_total_tax( $current );
3462
+		$this->set_total_tax($current);
3463 3463
 
3464 3464
 		$this->totals['tax'] = array(
3465 3465
 			'initial'   => $tax,
@@ -3481,20 +3481,20 @@  discard block
 block discarded – undo
3481 3481
 		$fee       = 0;
3482 3482
 		$recurring = 0;
3483 3483
 
3484
-        foreach ( $fees as $data ) {
3485
-			$fee       += wpinv_sanitize_amount( $data['initial_fee'] );
3486
-			$recurring += wpinv_sanitize_amount( $data['recurring_fee'] );
3484
+        foreach ($fees as $data) {
3485
+			$fee       += wpinv_sanitize_amount($data['initial_fee']);
3486
+			$recurring += wpinv_sanitize_amount($data['recurring_fee']);
3487 3487
 		}
3488 3488
 
3489 3489
 		$current = $this->is_renewal() ? $recurring : $fee;
3490
-		$this->set_total_fees( $current );
3490
+		$this->set_total_fees($current);
3491 3491
 
3492 3492
 		$this->totals['fee'] = array(
3493 3493
 			'initial'   => $fee,
3494 3494
 			'recurring' => $recurring,
3495 3495
 		);
3496 3496
 
3497
-        $this->set_total_fees( $fee );
3497
+        $this->set_total_fees($fee);
3498 3498
         return $current;
3499 3499
     }
3500 3500
 
@@ -3517,7 +3517,7 @@  discard block
 block discarded – undo
3517 3517
 	 */
3518 3518
     public function recalculate_totals() {
3519 3519
         $this->recalculate_total();
3520
-        $this->save( true );
3520
+        $this->save(true);
3521 3521
         return $this;
3522 3522
     }
3523 3523
 
@@ -3535,10 +3535,10 @@  discard block
 block discarded – undo
3535 3535
 	 * @return int|false The new note's ID on success, false on failure.
3536 3536
      *
3537 3537
      */
3538
-    public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
3538
+    public function add_note($note = '', $customer_type = false, $added_by_user = false, $system = false) {
3539 3539
 
3540 3540
         // Bail if no note specified or this invoice is not yet saved.
3541
-        if ( ! $note || $this->get_id() == 0 || ( ! is_user_logged_in() && ! $system ) ) {
3541
+        if (!$note || $this->get_id() == 0 || (!is_user_logged_in() && !$system)) {
3542 3542
             return false;
3543 3543
         }
3544 3544
 
@@ -3546,23 +3546,23 @@  discard block
 block discarded – undo
3546 3546
 		$author_email = '[email protected]';
3547 3547
 
3548 3548
 		// If this is an admin comment or it has been added by the user.
3549
-		if ( is_user_logged_in() && ( ! $system || $added_by_user ) ) {
3550
-			$user         = get_user_by( 'id', get_current_user_id() );
3549
+		if (is_user_logged_in() && (!$system || $added_by_user)) {
3550
+			$user = get_user_by('id', get_current_user_id());
3551 3551
             $author       = $user->display_name;
3552 3552
             $author_email = $user->user_email;
3553 3553
 		}
3554 3554
 
3555
-		return getpaid_notes()->add_invoice_note( $this, $note, $author, $author_email, $customer_type );
3555
+		return getpaid_notes()->add_invoice_note($this, $note, $author, $author_email, $customer_type);
3556 3556
 
3557 3557
 	}
3558 3558
 
3559 3559
 	/**
3560 3560
      * Generates a unique key for the invoice.
3561 3561
      */
3562
-    public function generate_key( $string = '' ) {
3563
-        $auth_key  = defined( 'AUTH_KEY' ) ? AUTH_KEY : '';
3562
+    public function generate_key($string = '') {
3563
+        $auth_key = defined('AUTH_KEY') ? AUTH_KEY : '';
3564 3564
         return strtolower(
3565
-            $string . md5( $this->get_id() . date( 'Y-m-d H:i:s' ) . $auth_key . uniqid( 'wpinv', true ) )
3565
+            $string . md5($this->get_id() . date('Y-m-d H:i:s') . $auth_key . uniqid('wpinv', true))
3566 3566
         );
3567 3567
     }
3568 3568
 
@@ -3572,11 +3572,11 @@  discard block
 block discarded – undo
3572 3572
     public function generate_number() {
3573 3573
         $number = $this->get_id();
3574 3574
 
3575
-        if ( wpinv_sequential_number_active( $this->get_post_type() ) ) {
3576
-            $number = wpinv_get_next_invoice_number( $this->get_post_type() );
3575
+        if (wpinv_sequential_number_active($this->get_post_type())) {
3576
+            $number = wpinv_get_next_invoice_number($this->get_post_type());
3577 3577
         }
3578 3578
 
3579
-		return wpinv_format_invoice_number( $number, $this->get_post_type() );
3579
+		return wpinv_format_invoice_number($number, $this->get_post_type());
3580 3580
 
3581 3581
 	}
3582 3582
 
@@ -3589,55 +3589,55 @@  discard block
 block discarded – undo
3589 3589
 		// Reset status transition variable.
3590 3590
 		$this->status_transition = false;
3591 3591
 
3592
-		if ( $status_transition ) {
3592
+		if ($status_transition) {
3593 3593
 			try {
3594 3594
 
3595 3595
 				// Fire a hook for the status change.
3596
-				do_action( 'getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition );
3596
+				do_action('getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition);
3597 3597
 
3598 3598
 				// @deprecated this is deprecated and will be removed in the future.
3599
-				do_action( 'wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3599
+				do_action('wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from']);
3600 3600
 
3601
-				if ( ! empty( $status_transition['from'] ) ) {
3601
+				if (!empty($status_transition['from'])) {
3602 3602
 
3603 3603
 					/* translators: 1: old invoice status 2: new invoice status */
3604
-					$transition_note = sprintf( __( 'Status changed from %1$s to %2$s.', 'invoicing' ), wpinv_status_nicename( $status_transition['from'], $this ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3604
+					$transition_note = sprintf(__('Status changed from %1$s to %2$s.', 'invoicing'), wpinv_status_nicename($status_transition['from'], $this), wpinv_status_nicename($status_transition['to'], $this));
3605 3605
 
3606 3606
 					// Fire another hook.
3607
-					do_action( 'getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this );
3608
-					do_action( 'getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to'] );
3607
+					do_action('getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this);
3608
+					do_action('getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to']);
3609 3609
 
3610 3610
 					// @deprecated this is deprecated and will be removed in the future.
3611
-					do_action( 'wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3611
+					do_action('wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from']);
3612 3612
 
3613 3613
 					// Note the transition occurred.
3614
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), false, $status_transition['manual'] );
3614
+					$this->add_note(trim($status_transition['note'] . ' ' . $transition_note), false, $status_transition['manual']);
3615 3615
 
3616 3616
 					// Work out if this was for a payment, and trigger a payment_status hook instead.
3617 3617
 					if (
3618
-						in_array( $status_transition['from'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3619
-						&& in_array( $status_transition['to'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3618
+						in_array($status_transition['from'], array('wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold'), true)
3619
+						&& in_array($status_transition['to'], array('publish', 'wpi-processing', 'wpi-renewal'), true)
3620 3620
 					) {
3621
-						do_action( 'getpaid_invoice_payment_status_changed', $this, $status_transition );
3621
+						do_action('getpaid_invoice_payment_status_changed', $this, $status_transition);
3622 3622
 					}
3623 3623
 
3624 3624
 					// Work out if this was for a payment reversal, and trigger a payment_status_reversed hook instead.
3625 3625
 					if (
3626
-						in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3627
-						&& in_array( $status_transition['to'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3626
+						in_array($status_transition['from'], array('publish', 'wpi-processing', 'wpi-renewal'), true)
3627
+						&& in_array($status_transition['to'], array('wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold'), true)
3628 3628
 					) {
3629
-						do_action( 'getpaid_invoice_payment_status_reversed', $this, $status_transition );
3629
+						do_action('getpaid_invoice_payment_status_reversed', $this, $status_transition);
3630 3630
 					}
3631 3631
 				} else {
3632 3632
 					/* translators: %s: new invoice status */
3633
-					$transition_note = sprintf( __( 'Status set to %s.', 'invoicing' ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3633
+					$transition_note = sprintf(__('Status set to %s.', 'invoicing'), wpinv_status_nicename($status_transition['to'], $this));
3634 3634
 
3635 3635
 					// Note the transition occurred.
3636
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), 0, $status_transition['manual'] );
3636
+					$this->add_note(trim($status_transition['note'] . ' ' . $transition_note), 0, $status_transition['manual']);
3637 3637
 
3638 3638
 				}
3639
-			} catch ( Exception $e ) {
3640
-				$this->add_note( __( 'Error during status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
3639
+			} catch (Exception $e) {
3640
+				$this->add_note(__('Error during status transition.', 'invoicing') . ' ' . $e->getMessage());
3641 3641
 			}
3642 3642
 		}
3643 3643
 	}
@@ -3645,13 +3645,13 @@  discard block
 block discarded – undo
3645 3645
 	/**
3646 3646
 	 * Updates an invoice status.
3647 3647
 	 */
3648
-	public function update_status( $new_status = false, $note = '', $manual = false ) {
3648
+	public function update_status($new_status = false, $note = '', $manual = false) {
3649 3649
 
3650 3650
 		// Fires before updating a status.
3651
-		do_action( 'wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status( 'edit' ) );
3651
+		do_action('wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status('edit'));
3652 3652
 
3653 3653
 		// Update the status.
3654
-		$this->set_status( $new_status, $note, $manual );
3654
+		$this->set_status($new_status, $note, $manual);
3655 3655
 
3656 3656
 		// Save the order.
3657 3657
 		return $this->save();
@@ -3662,18 +3662,18 @@  discard block
 block discarded – undo
3662 3662
 	 * @deprecated
3663 3663
 	 */
3664 3664
 	public function refresh_item_ids() {
3665
-        $item_ids = implode( ',', array_unique( array_keys( $this->get_items() ) ) );
3666
-        update_post_meta( $this->get_id(), '_wpinv_item_ids', $item_ids );
3665
+        $item_ids = implode(',', array_unique(array_keys($this->get_items())));
3666
+        update_post_meta($this->get_id(), '_wpinv_item_ids', $item_ids);
3667 3667
 	}
3668 3668
 
3669 3669
 	/**
3670 3670
 	 * @deprecated
3671 3671
 	 */
3672
-	public function update_items( $temp = false ) {
3672
+	public function update_items($temp = false) {
3673 3673
 
3674
-		$this->set_items( $this->get_items() );
3674
+		$this->set_items($this->get_items());
3675 3675
 
3676
-		if ( ! $temp ) {
3676
+		if (!$temp) {
3677 3677
 			$this->save();
3678 3678
 		}
3679 3679
 
@@ -3687,11 +3687,11 @@  discard block
 block discarded – undo
3687 3687
 
3688 3688
         $discount_code = $this->get_discount_code();
3689 3689
 
3690
-        if ( empty( $discount_code ) ) {
3690
+        if (empty($discount_code)) {
3691 3691
             return false;
3692 3692
         }
3693 3693
 
3694
-        $discount = wpinv_get_discount_obj( $discount_code );
3694
+        $discount = wpinv_get_discount_obj($discount_code);
3695 3695
 
3696 3696
         // Ensure it is active.
3697 3697
         return $discount->exists();
@@ -3702,7 +3702,7 @@  discard block
 block discarded – undo
3702 3702
 	 * Refunds an invoice.
3703 3703
 	 */
3704 3704
     public function refund() {
3705
-		$this->set_status( 'wpi-refunded' );
3705
+		$this->set_status('wpi-refunded');
3706 3706
         $this->save();
3707 3707
 	}
3708 3708
 
@@ -3711,53 +3711,53 @@  discard block
 block discarded – undo
3711 3711
 	 * 
3712 3712
 	 * @param string $transaction_id
3713 3713
 	 */
3714
-    public function mark_paid( $transaction_id = null, $note = '' ) {
3714
+    public function mark_paid($transaction_id = null, $note = '') {
3715 3715
 
3716 3716
 		// Set the transaction id.
3717
-		if ( empty( $transaction_id ) ) {
3717
+		if (empty($transaction_id)) {
3718 3718
 			$transaction_id = $this->generate_key('trans_');
3719 3719
 		}
3720 3720
 
3721
-		if ( ! $this->get_transaction_id() ) {
3722
-			$this->set_transaction_id( $transaction_id );
3721
+		if (!$this->get_transaction_id()) {
3722
+			$this->set_transaction_id($transaction_id);
3723 3723
 		}
3724 3724
 
3725
-		if ( $this->is_paid() && 'wpi-processing' != $this->get_status() ) {
3725
+		if ($this->is_paid() && 'wpi-processing' != $this->get_status()) {
3726 3726
 			return $this->save();
3727 3727
 		}
3728 3728
 
3729 3729
 		// Set the completed date.
3730
-		$this->set_date_completed( current_time( 'mysql' ) );
3730
+		$this->set_date_completed(current_time('mysql'));
3731 3731
 
3732 3732
 		// Set the new status.
3733
-		$gateway = sanitize_text_field( $this->get_gateway_title() );
3734
-		if ( $this->is_renewal() ) {
3733
+		$gateway = sanitize_text_field($this->get_gateway_title());
3734
+		if ($this->is_renewal()) {
3735 3735
 
3736
-			$_note = wp_sprintf( __( 'Renewed via %s', 'invoicing' ), $gateway );
3737
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3736
+			$_note = wp_sprintf(__('Renewed via %s', 'invoicing'), $gateway);
3737
+			$_note = $_note . empty($note) ? '' : " ($note)";
3738 3738
 
3739
-			if ( 'none' == $this->get_gateway() ) {
3739
+			if ('none' == $this->get_gateway()) {
3740 3740
 				$_note = $note;
3741 3741
 			}
3742 3742
 
3743
-			$this->set_status( 'wpi-renewal', $_note );
3743
+			$this->set_status('wpi-renewal', $_note);
3744 3744
 
3745 3745
 		} else {
3746 3746
 
3747
-			$_note = wp_sprintf( __( 'Paid via %s', 'invoicing' ), $gateway );
3748
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3747
+			$_note = wp_sprintf(__('Paid via %s', 'invoicing'), $gateway);
3748
+			$_note = $_note . empty($note) ? '' : " ($note)";
3749 3749
 
3750
-			if ( 'none' == $this->get_gateway() ) {
3750
+			if ('none' == $this->get_gateway()) {
3751 3751
 				$_note = $note;
3752 3752
 			}
3753 3753
 
3754
-			$this->set_status( 'publish', $_note );
3754
+			$this->set_status('publish', $_note);
3755 3755
 
3756 3756
 		}
3757 3757
 
3758 3758
 		// Set checkout mode.
3759
-		$mode = wpinv_is_test_mode( $this->get_gateway() ) ? 'test' : 'live';
3760
-		$this->set_mode( $mode );
3759
+		$mode = wpinv_is_test_mode($this->get_gateway()) ? 'test' : 'live';
3760
+		$this->set_mode($mode);
3761 3761
 
3762 3762
 		// Save the invoice.
3763 3763
         $this->save();
@@ -3783,9 +3783,9 @@  discard block
 block discarded – undo
3783 3783
      * Clears the subscription's cache.
3784 3784
      */
3785 3785
     public function clear_cache() {
3786
-		wp_cache_delete( $this->get_key(), 'getpaid_invoice_keys_to_invoice_ids' );
3787
-		wp_cache_delete( $this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids' );
3788
-		wp_cache_delete( $this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
3786
+		wp_cache_delete($this->get_key(), 'getpaid_invoice_keys_to_invoice_ids');
3787
+		wp_cache_delete($this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids');
3788
+		wp_cache_delete($this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids');
3789 3789
 	}
3790 3790
 
3791 3791
 }
Please login to merge, or discard this patch.
includes/wpinv-discount-functions.php 1 patch
Spacing   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
  
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Returns an array of discount type.
@@ -17,8 +17,8 @@  discard block
 block discarded – undo
17 17
     return apply_filters(
18 18
         'wpinv_discount_types',
19 19
         array(
20
-            'percent'   => __( 'Percentage', 'invoicing' ),
21
-            'flat'     => __( 'Flat Amount', 'invoicing' ),
20
+            'percent'   => __('Percentage', 'invoicing'),
21
+            'flat'     => __('Flat Amount', 'invoicing'),
22 22
         )
23 23
     );
24 24
 }
@@ -28,46 +28,46 @@  discard block
 block discarded – undo
28 28
  * 
29 29
  * @return string
30 30
  */
31
-function wpinv_get_discount_type_name( $type = '' ) {
31
+function wpinv_get_discount_type_name($type = '') {
32 32
     $types = wpinv_get_discount_types();
33
-    return isset( $types[ $type ] ) ? $types[ $type ] : $type;
33
+    return isset($types[$type]) ? $types[$type] : $type;
34 34
 }
35 35
 
36 36
 /**
37 37
  * Deletes a discount via the admin page.
38 38
  * 
39 39
  */
40
-function wpinv_delete_discount( $data ) {
40
+function wpinv_delete_discount($data) {
41 41
 
42
-    $discount = new WPInv_Discount( absint( $data['discount'] ) );
43
-    $discount->delete( true );
42
+    $discount = new WPInv_Discount(absint($data['discount']));
43
+    $discount->delete(true);
44 44
 
45 45
 }
46
-add_action( 'getpaid_authenticated_admin_action_delete_discount', 'wpinv_delete_discount' );
46
+add_action('getpaid_authenticated_admin_action_delete_discount', 'wpinv_delete_discount');
47 47
 
48 48
 /**
49 49
  * Deactivates a discount via the admin page.
50 50
  */
51
-function wpinv_activate_discount( $data ) {
51
+function wpinv_activate_discount($data) {
52 52
 
53
-    $discount = new WPInv_Discount( absint( $data['discount'] ) );
54
-    $discount->set_status( 'publish' );
53
+    $discount = new WPInv_Discount(absint($data['discount']));
54
+    $discount->set_status('publish');
55 55
     $discount->save();
56 56
 
57 57
 }
58
-add_action( 'getpaid_authenticated_admin_action_activate_discount', 'wpinv_activate_discount' );
58
+add_action('getpaid_authenticated_admin_action_activate_discount', 'wpinv_activate_discount');
59 59
 
60 60
 /**
61 61
  * Activates a discount via the admin page.
62 62
  */
63
-function wpinv_deactivate_discount( $data ) {
63
+function wpinv_deactivate_discount($data) {
64 64
 
65
-    $discount = new WPInv_Discount( absint( $data['discount'] ) );
66
-    $discount->set_status( 'pending' );
65
+    $discount = new WPInv_Discount(absint($data['discount']));
66
+    $discount->set_status('pending');
67 67
     $discount->save();
68 68
 
69 69
 }
70
-add_action( 'getpaid_authenticated_admin_action_deactivate_discount', 'wpinv_deactivate_discount' );
70
+add_action('getpaid_authenticated_admin_action_deactivate_discount', 'wpinv_deactivate_discount');
71 71
 
72 72
 /**
73 73
  * Fetches a discount object.
@@ -76,8 +76,8 @@  discard block
 block discarded – undo
76 76
  * @since 1.0.15
77 77
  * @return WPInv_Discount
78 78
  */
79
-function wpinv_get_discount( $discount ) {
80
-    return new WPInv_Discount( $discount );
79
+function wpinv_get_discount($discount) {
80
+    return new WPInv_Discount($discount);
81 81
 }
82 82
 
83 83
 /**
@@ -87,8 +87,8 @@  discard block
 block discarded – undo
87 87
  * @since 1.0.15
88 88
  * @return WPInv_Discount
89 89
  */
90
-function wpinv_get_discount_obj( $discount = 0 ) {
91
-    return new WPInv_Discount( $discount );
90
+function wpinv_get_discount_obj($discount = 0) {
91
+    return new WPInv_Discount($discount);
92 92
 }
93 93
 
94 94
 /**
@@ -98,10 +98,10 @@  discard block
 block discarded – undo
98 98
  * @param string|int $value The field value
99 99
  * @return bool|WPInv_Discount
100 100
  */
101
-function wpinv_get_discount_by( $deprecated = null, $value = '' ) {
102
-    $discount = new WPInv_Discount( $value );
101
+function wpinv_get_discount_by($deprecated = null, $value = '') {
102
+    $discount = new WPInv_Discount($value);
103 103
 
104
-    if ( $discount->get_id() != 0 ) {
104
+    if ($discount->get_id() != 0) {
105 105
         return $discount;
106 106
     }
107 107
 
@@ -116,9 +116,9 @@  discard block
 block discarded – undo
116 116
 function wpinv_get_discount_statuses() {
117 117
 
118 118
     return array(
119
-        'expired'  => __( 'Expired', 'invoicing' ),
120
-        'publish'  => __( 'Active', 'invoicing' ),
121
-        'inactive' => __( 'Inactive', 'invoicing' ),
119
+        'expired'  => __('Expired', 'invoicing'),
120
+        'publish'  => __('Active', 'invoicing'),
121
+        'inactive' => __('Inactive', 'invoicing'),
122 122
     );
123 123
 
124 124
 }
@@ -126,9 +126,9 @@  discard block
 block discarded – undo
126 126
 /**
127 127
  * Retrieves an invoice status label.
128 128
  */
129
-function wpinv_discount_status( $status ) {
129
+function wpinv_discount_status($status) {
130 130
     $statuses = wpinv_get_discount_statuses();
131
-    return isset( $statuses[ $status ] ) ? $statuses[ $status ] : __( 'Inactive', 'invoicing' );
131
+    return isset($statuses[$status]) ? $statuses[$status] : __('Inactive', 'invoicing');
132 132
 }
133 133
 
134 134
 /**
@@ -138,12 +138,12 @@  discard block
 block discarded – undo
138 138
  * @param int|array|string|WPInv_Discount $code discount data, object, ID or code.
139 139
  * @return bool
140 140
  */
141
-function wpinv_discount_is_recurring( $discount = 0, $code = 0 ) {
141
+function wpinv_discount_is_recurring($discount = 0, $code = 0) {
142 142
 
143
-    if( ! empty( $discount ) ) {
144
-        $discount    = wpinv_get_discount_obj( $discount );
143
+    if (!empty($discount)) {
144
+        $discount    = wpinv_get_discount_obj($discount);
145 145
     } else {
146
-        $discount    = wpinv_get_discount_obj( $code );
146
+        $discount    = wpinv_get_discount_obj($code);
147 147
     }
148 148
 
149 149
     return $discount->get_is_recurring();
Please login to merge, or discard this patch.
includes/admin/wpinv-admin-functions.php 2 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -56,7 +56,7 @@
 block discarded – undo
56 56
 }
57 57
 
58 58
 function wpinv_admin_messages() {
59
-	settings_errors( 'wpinv-notices' );
59
+    settings_errors( 'wpinv-notices' );
60 60
 }
61 61
 add_action( 'admin_notices', 'wpinv_admin_messages' );
62 62
 
Please login to merge, or discard this patch.
Spacing   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -7,65 +7,65 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14
-function wpinv_bulk_actions( $actions ) {
15
-    if ( isset( $actions['edit'] ) ) {
16
-        unset( $actions['edit'] );
14
+function wpinv_bulk_actions($actions) {
15
+    if (isset($actions['edit'])) {
16
+        unset($actions['edit']);
17 17
     }
18 18
 
19 19
     return $actions;
20 20
 }
21
-add_filter( 'bulk_actions-edit-wpi_invoice', 'wpinv_bulk_actions' );
22
-add_filter( 'bulk_actions-edit-wpi_item', 'wpinv_bulk_actions' );
21
+add_filter('bulk_actions-edit-wpi_invoice', 'wpinv_bulk_actions');
22
+add_filter('bulk_actions-edit-wpi_item', 'wpinv_bulk_actions');
23 23
 
24
-function wpinv_admin_post_id( $id = 0 ) {
24
+function wpinv_admin_post_id($id = 0) {
25 25
     global $post;
26 26
 
27
-    if ( isset( $id ) && ! empty( $id ) ) {
28
-        return (int)$id;
29
-    } else if ( get_the_ID() ) {
27
+    if (isset($id) && !empty($id)) {
28
+        return (int) $id;
29
+    } else if (get_the_ID()) {
30 30
         return (int) get_the_ID();
31
-    } else if ( isset( $post->ID ) && !empty( $post->ID ) ) {
31
+    } else if (isset($post->ID) && !empty($post->ID)) {
32 32
         return (int) $post->ID;
33
-    } else if ( isset( $_GET['post'] ) && !empty( $_GET['post'] ) ) {
33
+    } else if (isset($_GET['post']) && !empty($_GET['post'])) {
34 34
         return (int) $_GET['post'];
35
-    } else if ( isset( $_GET['id'] ) && !empty( $_GET['id'] ) ) {
35
+    } else if (isset($_GET['id']) && !empty($_GET['id'])) {
36 36
         return (int) $_GET['id'];
37
-    } else if ( isset( $_POST['id'] ) && !empty( $_POST['id'] ) ) {
37
+    } else if (isset($_POST['id']) && !empty($_POST['id'])) {
38 38
         return (int) $_POST['id'];
39 39
     } 
40 40
 
41 41
     return null;
42 42
 }
43 43
     
44
-function wpinv_admin_post_type( $id = 0 ) {
45
-    if ( !$id ) {
44
+function wpinv_admin_post_type($id = 0) {
45
+    if (!$id) {
46 46
         $id = wpinv_admin_post_id();
47 47
     }
48 48
     
49
-    $type = get_post_type( $id );
49
+    $type = get_post_type($id);
50 50
     
51
-    if ( !$type ) {
52
-        $type = isset( $_GET['post_type'] ) && !empty( $_GET['post_type'] ) ? $_GET['post_type'] : null;
51
+    if (!$type) {
52
+        $type = isset($_GET['post_type']) && !empty($_GET['post_type']) ? $_GET['post_type'] : null;
53 53
     }
54 54
     
55
-    return apply_filters( 'wpinv_admin_post_type', $type, $id );
55
+    return apply_filters('wpinv_admin_post_type', $type, $id);
56 56
 }
57 57
 
58 58
 function wpinv_admin_messages() {
59
-	settings_errors( 'wpinv-notices' );
59
+	settings_errors('wpinv-notices');
60 60
 }
61
-add_action( 'admin_notices', 'wpinv_admin_messages' );
61
+add_action('admin_notices', 'wpinv_admin_messages');
62 62
 
63
-add_action( 'admin_init', 'wpinv_show_test_payment_gateway_notice' );
64
-function wpinv_show_test_payment_gateway_notice(){
65
-    add_action( 'admin_notices', 'wpinv_test_payment_gateway_messages' );
63
+add_action('admin_init', 'wpinv_show_test_payment_gateway_notice');
64
+function wpinv_show_test_payment_gateway_notice() {
65
+    add_action('admin_notices', 'wpinv_test_payment_gateway_messages');
66 66
 }
67 67
 
68
-function wpinv_test_payment_gateway_messages(){
68
+function wpinv_test_payment_gateway_messages() {
69 69
     $gateways = wpinv_get_enabled_payment_gateways();
70 70
     $name = array(); $test_gateways = '';
71 71
     if ($gateways) {
@@ -76,9 +76,9 @@  discard block
 block discarded – undo
76 76
         }
77 77
         $test_gateways = implode(', ', $name);
78 78
     }
79
-    if(isset($test_gateways) && !empty($test_gateways)){
79
+    if (isset($test_gateways) && !empty($test_gateways)) {
80 80
         $link = admin_url('admin.php?page=wpinv-settings&tab=gateways');
81
-        $notice = wp_sprintf( __('<strong>Important:</strong> Payment Gateway(s) %s are in testing mode and will not receive real payments. Go to <a href="%s"> Gateway Settings</a>.', 'invoicing'), $test_gateways, $link );
81
+        $notice = wp_sprintf(__('<strong>Important:</strong> Payment Gateway(s) %s are in testing mode and will not receive real payments. Go to <a href="%s"> Gateway Settings</a>.', 'invoicing'), $test_gateways, $link);
82 82
         ?>
83 83
         <div class="notice notice-warning is-dismissible">
84 84
             <p><?php echo $notice; ?></p>
@@ -87,16 +87,16 @@  discard block
 block discarded – undo
87 87
     }
88 88
 }
89 89
 
90
-function wpinv_send_invoice_after_save( $invoice ) {
91
-    if ( empty( $_POST['wpi_save_send'] ) ) {
90
+function wpinv_send_invoice_after_save($invoice) {
91
+    if (empty($_POST['wpi_save_send'])) {
92 92
         return;
93 93
     }
94 94
     
95
-    if ( !empty( $invoice->ID ) && !empty( $invoice->post_type ) && 'wpi_invoice' == $invoice->post_type ) {
96
-        wpinv_user_invoice_notification( $invoice->ID );
95
+    if (!empty($invoice->ID) && !empty($invoice->post_type) && 'wpi_invoice' == $invoice->post_type) {
96
+        wpinv_user_invoice_notification($invoice->ID);
97 97
     }
98 98
 }
99
-add_action( 'wpinv_invoice_metabox_saved', 'wpinv_send_invoice_after_save', 100, 1 );
99
+add_action('wpinv_invoice_metabox_saved', 'wpinv_send_invoice_after_save', 100, 1);
100 100
 
101 101
 
102 102
 add_action('admin_init', 'admin_init_example_type');
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
 function admin_init_example_type() {
108 108
     global $typenow;
109 109
 
110
-    if ($typenow === 'wpi_invoice' || $typenow === 'wpi_quote' ) {
110
+    if ($typenow === 'wpi_invoice' || $typenow === 'wpi_quote') {
111 111
         add_filter('posts_search', 'posts_search_example_type', 10, 2);
112 112
     }
113 113
 }
@@ -122,9 +122,9 @@  discard block
 block discarded – undo
122 122
     global $wpdb;
123 123
 
124 124
     if ($query->is_main_query() && !empty($query->query['s'])) {
125
-        $conditions_str = "{$wpdb->posts}.post_author IN ( SELECT ID FROM {$wpdb->users} WHERE user_email LIKE '%" . esc_sql( $query->query['s'] ) . "%' )";
126
-        if ( ! empty( $search ) ) {
127
-            $search = preg_replace( '/^ AND /', '', $search );
125
+        $conditions_str = "{$wpdb->posts}.post_author IN ( SELECT ID FROM {$wpdb->users} WHERE user_email LIKE '%" . esc_sql($query->query['s']) . "%' )";
126
+        if (!empty($search)) {
127
+            $search = preg_replace('/^ AND /', '', $search);
128 128
             $search = " AND ( {$search} OR ( {$conditions_str} ) )";
129 129
         } else {
130 130
             $search = " AND ( {$conditions_str} )";
@@ -134,9 +134,9 @@  discard block
 block discarded – undo
134 134
     return $search;
135 135
 }
136 136
 
137
-add_action( 'admin_init', 'wpinv_reset_invoice_count' );
138
-function wpinv_reset_invoice_count(){
139
-    if(isset($_GET['reset_invoice_count']) && 1 == $_GET['reset_invoice_count'] && isset($_GET['_nonce']) && wp_verify_nonce($_GET['_nonce'], 'reset_invoice_count')) {
137
+add_action('admin_init', 'wpinv_reset_invoice_count');
138
+function wpinv_reset_invoice_count() {
139
+    if (isset($_GET['reset_invoice_count']) && 1 == $_GET['reset_invoice_count'] && isset($_GET['_nonce']) && wp_verify_nonce($_GET['_nonce'], 'reset_invoice_count')) {
140 140
         wpinv_update_option('invoice_sequence_start', 1);
141 141
         delete_option('wpinv_last_invoice_number');
142 142
         $url = add_query_arg(array('reset_invoice_done' => 1));
@@ -147,8 +147,8 @@  discard block
 block discarded – undo
147 147
 }
148 148
 
149 149
 add_action('admin_notices', 'wpinv_invoice_count_reset_message');
150
-function wpinv_invoice_count_reset_message(){
151
-    if(isset($_GET['reset_invoice_done']) && 1 == $_GET['reset_invoice_done']) {
150
+function wpinv_invoice_count_reset_message() {
151
+    if (isset($_GET['reset_invoice_done']) && 1 == $_GET['reset_invoice_done']) {
152 152
         $notice = __('Invoice number sequence reset successfully.', 'invoicing');
153 153
         ?>
154 154
         <div class="notice notice-success is-dismissible">
Please login to merge, or discard this patch.
includes/admin/class-wpinv-admin-menus.php 1 patch
Spacing   +94 added lines, -94 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,25 +13,25 @@  discard block
 block discarded – undo
13 13
      * Hook in tabs.
14 14
      */
15 15
     public function __construct() {
16
-        add_action( 'admin_menu', array( $this, 'admin_menu' ), 10 );
17
-        add_action( 'admin_menu', array( $this, 'add_customers_menu' ), 18 );
18
-        add_action( 'admin_menu', array( $this, 'add_subscriptions_menu' ), 40 );
19
-        add_action( 'admin_menu', array( $this, 'add_addons_menu' ), 100 );
20
-        add_action( 'admin_menu', array( $this, 'add_settings_menu' ), 60 );
21
-        add_action( 'admin_menu', array( $this, 'remove_admin_submenus' ), 10 );
22
-        add_action( 'admin_head-nav-menus.php', array( $this, 'add_nav_menu_meta_boxes' ) );
16
+        add_action('admin_menu', array($this, 'admin_menu'), 10);
17
+        add_action('admin_menu', array($this, 'add_customers_menu'), 18);
18
+        add_action('admin_menu', array($this, 'add_subscriptions_menu'), 40);
19
+        add_action('admin_menu', array($this, 'add_addons_menu'), 100);
20
+        add_action('admin_menu', array($this, 'add_settings_menu'), 60);
21
+        add_action('admin_menu', array($this, 'remove_admin_submenus'), 10);
22
+        add_action('admin_head-nav-menus.php', array($this, 'add_nav_menu_meta_boxes'));
23 23
     }
24 24
 
25 25
     public function admin_menu() {
26 26
 
27
-        $capability = apply_filters( 'invoicing_capability', wpinv_get_capability() );
27
+        $capability = apply_filters('invoicing_capability', wpinv_get_capability());
28 28
         add_menu_page(
29
-            __( 'GetPaid', 'invoicing' ),
30
-            __( 'GetPaid', 'invoicing' ),
29
+            __('GetPaid', 'invoicing'),
30
+            __('GetPaid', 'invoicing'),
31 31
             $capability,
32 32
             'wpinv',
33 33
             null,
34
-            'data:image/svg+xml;base64,' . base64_encode( file_get_contents( WPINV_PLUGIN_DIR . 'assets/images/GetPaid.svg' ) ),
34
+            'data:image/svg+xml;base64,' . base64_encode(file_get_contents(WPINV_PLUGIN_DIR . 'assets/images/GetPaid.svg')),
35 35
             '54.123460'
36 36
         );
37 37
 
@@ -43,11 +43,11 @@  discard block
 block discarded – undo
43 43
     public function add_customers_menu() {
44 44
         add_submenu_page(
45 45
             'wpinv',
46
-            __( 'Customers', 'invoicing' ),
47
-            __( 'Customers', 'invoicing' ),
46
+            __('Customers', 'invoicing'),
47
+            __('Customers', 'invoicing'),
48 48
             wpinv_get_capability(),
49 49
             'wpinv-customers',
50
-            array( $this, 'customers_page' )
50
+            array($this, 'customers_page')
51 51
         );
52 52
     }
53 53
 
@@ -57,8 +57,8 @@  discard block
 block discarded – undo
57 57
     public function add_subscriptions_menu() {
58 58
         add_submenu_page(
59 59
             'wpinv',
60
-            __( 'Subscriptions', 'invoicing' ),
61
-            __( 'Subscriptions', 'invoicing' ),
60
+            __('Subscriptions', 'invoicing'),
61
+            __('Subscriptions', 'invoicing'),
62 62
             wpinv_get_capability(),
63 63
             'wpinv-subscriptions',
64 64
             'wpinv_subscriptions_page'
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
      * Displays the customers page.
70 70
      */
71 71
     public function customers_page() {
72
-        require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-customers-table.php' );
72
+        require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-customers-table.php');
73 73
         ?>
74 74
         <div class="wrap wpi-customers-wrap">
75 75
             <style>
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
                     width: 30%;
78 78
                 }
79 79
             </style>
80
-            <h1><?php echo esc_html( __( 'Customers', 'invoicing' ) ); ?></h1>
80
+            <h1><?php echo esc_html(__('Customers', 'invoicing')); ?></h1>
81 81
             <?php
82 82
                 $table = new WPInv_Customers_Table();
83 83
                 $table->prepare_items();
@@ -93,16 +93,16 @@  discard block
 block discarded – undo
93 93
     public function add_settings_menu() {
94 94
         add_submenu_page(
95 95
             'wpinv',
96
-            __( 'Invoice Settings', 'invoicing' ),
97
-            __( 'Settings', 'invoicing' ),
98
-            apply_filters( 'invoicing_capability', wpinv_get_capability() ),
96
+            __('Invoice Settings', 'invoicing'),
97
+            __('Settings', 'invoicing'),
98
+            apply_filters('invoicing_capability', wpinv_get_capability()),
99 99
             'wpinv-settings',
100
-            array( $this, 'options_page' )
100
+            array($this, 'options_page')
101 101
         );
102 102
     }
103 103
 
104
-    public function add_addons_menu(){
105
-        if ( !apply_filters( 'wpi_show_addons_page', true ) ) {
104
+    public function add_addons_menu() {
105
+        if (!apply_filters('wpi_show_addons_page', true)) {
106 106
             return;
107 107
         }
108 108
 
@@ -112,78 +112,78 @@  discard block
 block discarded – undo
112 112
             __('Extensions', 'invoicing'),
113 113
             'manage_options',
114 114
             'wpi-addons',
115
-            array( $this, 'addons_page' )
115
+            array($this, 'addons_page')
116 116
         );
117 117
     }
118 118
 
119
-    public function addons_page(){
119
+    public function addons_page() {
120 120
         $addon_obj = new WPInv_Admin_Addons();
121 121
         $addon_obj->output();
122 122
     }
123 123
 
124 124
     function options_page() {
125
-        $page       = isset( $_GET['page'] )                ? strtolower( $_GET['page'] )               : false;
125
+        $page = isset($_GET['page']) ? strtolower($_GET['page']) : false;
126 126
 
127
-        if ( $page !== 'wpinv-settings' ) {
127
+        if ($page !== 'wpinv-settings') {
128 128
             return;
129 129
         }
130 130
 
131 131
         $settings_tabs = wpinv_get_settings_tabs();
132 132
         $settings_tabs = empty($settings_tabs) ? array() : $settings_tabs;
133
-        $active_tab    = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $settings_tabs ) ? sanitize_text_field( $_GET['tab'] ) : 'general';
134
-        $sections      = wpinv_get_settings_tab_sections( $active_tab );
133
+        $active_tab    = isset($_GET['tab']) && array_key_exists($_GET['tab'], $settings_tabs) ? sanitize_text_field($_GET['tab']) : 'general';
134
+        $sections      = wpinv_get_settings_tab_sections($active_tab);
135 135
         $key           = 'main';
136 136
 
137
-        if ( is_array( $sections ) ) {
138
-            $key = key( $sections );
137
+        if (is_array($sections)) {
138
+            $key = key($sections);
139 139
         }
140 140
 
141
-        $registered_sections = wpinv_get_settings_tab_sections( $active_tab );
142
-        $section             = isset( $_GET['section'] ) && ! empty( $registered_sections ) && array_key_exists( $_GET['section'], $registered_sections ) ? $_GET['section'] : $key;
141
+        $registered_sections = wpinv_get_settings_tab_sections($active_tab);
142
+        $section             = isset($_GET['section']) && !empty($registered_sections) && array_key_exists($_GET['section'], $registered_sections) ? $_GET['section'] : $key;
143 143
         ob_start();
144 144
         ?>
145 145
         <div class="wrap">
146 146
             <h1 class="nav-tab-wrapper">
147 147
                 <?php
148
-                foreach( wpinv_get_settings_tabs() as $tab_id => $tab_name ) {
149
-                    $tab_url = add_query_arg( array(
148
+                foreach (wpinv_get_settings_tabs() as $tab_id => $tab_name) {
149
+                    $tab_url = add_query_arg(array(
150 150
                         'settings-updated' => false,
151 151
                         'tab' => $tab_id,
152
-                    ) );
152
+                    ));
153 153
 
154 154
                     // Remove the section from the tabs so we always end up at the main section
155
-                    $tab_url = remove_query_arg( 'section', $tab_url );
156
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
155
+                    $tab_url = remove_query_arg('section', $tab_url);
156
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
157 157
 
158 158
                     $active = $active_tab == $tab_id ? ' nav-tab-active' : '';
159 159
 
160
-                    echo '<a href="' . esc_url( $tab_url ) . '" title="' . esc_attr( $tab_name ) . '" class="nav-tab' . $active . '">';
161
-                    echo esc_html( $tab_name );
160
+                    echo '<a href="' . esc_url($tab_url) . '" title="' . esc_attr($tab_name) . '" class="nav-tab' . $active . '">';
161
+                    echo esc_html($tab_name);
162 162
                     echo '</a>';
163 163
                 }
164 164
                 ?>
165 165
             </h1>
166 166
             <?php
167
-            $number_of_sections = count( $sections );
167
+            $number_of_sections = count($sections);
168 168
             $number = 0;
169
-            if ( $number_of_sections > 1 ) {
169
+            if ($number_of_sections > 1) {
170 170
                 echo '<div><ul class="subsubsub">';
171
-                foreach( $sections as $section_id => $section_name ) {
171
+                foreach ($sections as $section_id => $section_name) {
172 172
                     echo '<li>';
173 173
                     $number++;
174
-                    $tab_url = add_query_arg( array(
174
+                    $tab_url = add_query_arg(array(
175 175
                         'settings-updated' => false,
176 176
                         'tab' => $active_tab,
177 177
                         'section' => $section_id
178
-                    ) );
179
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
178
+                    ));
179
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
180 180
                     $class = '';
181
-                    if ( $section == $section_id ) {
181
+                    if ($section == $section_id) {
182 182
                         $class = 'current';
183 183
                     }
184
-                    echo '<a class="' . $class . '" href="' . esc_url( $tab_url ) . '">' . $section_name . '</a>';
184
+                    echo '<a class="' . $class . '" href="' . esc_url($tab_url) . '">' . $section_name . '</a>';
185 185
 
186
-                    if ( $number != $number_of_sections ) {
186
+                    if ($number != $number_of_sections) {
187 187
                         echo ' | ';
188 188
                     }
189 189
                     echo '</li>';
@@ -195,20 +195,20 @@  discard block
 block discarded – undo
195 195
                 <form method="post" action="options.php">
196 196
                     <table class="form-table">
197 197
                         <?php
198
-                        settings_fields( 'wpinv_settings' );
198
+                        settings_fields('wpinv_settings');
199 199
 
200
-                        if ( 'main' === $section ) {
201
-                            do_action( 'wpinv_settings_tab_top', $active_tab );
200
+                        if ('main' === $section) {
201
+                            do_action('wpinv_settings_tab_top', $active_tab);
202 202
                         }
203 203
 
204
-                        do_action( 'wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section );
205
-                        do_settings_sections( 'wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section );
206
-                        do_action( 'wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section );
207
-                        do_action( 'getpaid_settings_tab_bottom', $active_tab, $section );
204
+                        do_action('wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section);
205
+                        do_settings_sections('wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section);
206
+                        do_action('wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section);
207
+                        do_action('getpaid_settings_tab_bottom', $active_tab, $section);
208 208
 
209 209
                         // For backwards compatibility
210
-                        if ( 'main' === $section ) {
211
-                            do_action( 'wpinv_settings_tab_bottom', $active_tab );
210
+                        if ('main' === $section) {
211
+                            do_action('wpinv_settings_tab_bottom', $active_tab);
212 212
                         }
213 213
                         ?>
214 214
                     </table>
@@ -222,18 +222,18 @@  discard block
 block discarded – undo
222 222
     }
223 223
 
224 224
     public function remove_admin_submenus() {
225
-        remove_submenu_page( 'edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice' );
225
+        remove_submenu_page('edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice');
226 226
     }
227 227
 
228
-    public function add_nav_menu_meta_boxes(){
229
-        add_meta_box( 'wpinv_endpoints_nav_link', __( 'Invoicing Pages', 'invoicing' ), array( $this, 'nav_menu_links' ), 'nav-menus', 'side', 'low' );
228
+    public function add_nav_menu_meta_boxes() {
229
+        add_meta_box('wpinv_endpoints_nav_link', __('Invoicing Pages', 'invoicing'), array($this, 'nav_menu_links'), 'nav-menus', 'side', 'low');
230 230
     }
231 231
 
232
-    public function nav_menu_links(){
232
+    public function nav_menu_links() {
233 233
         $endpoints = $this->get_menu_items();
234 234
         ?>
235 235
         <div id="invoicing-endpoints" class="posttypediv">
236
-        <?php if(!empty($endpoints['pages'])){ ?>
236
+        <?php if (!empty($endpoints['pages'])) { ?>
237 237
             <div id="tabs-panel-invoicing-endpoints" class="tabs-panel tabs-panel-active">
238 238
                 <ul id="invoicing-endpoints-checklist" class="categorychecklist form-no-clear">
239 239
                     <?php
@@ -245,29 +245,29 @@  discard block
 block discarded – undo
245 245
         <?php } ?>
246 246
         <p class="button-controls">
247 247
         <span class="list-controls">
248
-            <a href="<?php echo admin_url( 'nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints' ); ?>" class="select-all"><?php _e( 'Select all', 'invoicing' ); ?></a>
248
+            <a href="<?php echo admin_url('nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints'); ?>" class="select-all"><?php _e('Select all', 'invoicing'); ?></a>
249 249
         </span>
250 250
             <span class="add-to-menu">
251
-            <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to menu', 'invoicing' ); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints">
251
+            <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to menu', 'invoicing'); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints">
252 252
             <span class="spinner"></span>
253 253
         </span>
254 254
         </p>
255 255
         <?php
256 256
     }
257 257
 
258
-    public function get_menu_items(){
258
+    public function get_menu_items() {
259 259
         $items = array();
260 260
 
261
-        $wpinv_history_page_id = (int)wpinv_get_option( 'invoice_history_page' );
262
-        if($wpinv_history_page_id > 0){
261
+        $wpinv_history_page_id = (int) wpinv_get_option('invoice_history_page');
262
+        if ($wpinv_history_page_id > 0) {
263 263
             $item = new stdClass();
264 264
             $item->object_id = $wpinv_history_page_id;
265 265
             $item->db_id = 0;
266
-            $item->object =  'page';
266
+            $item->object = 'page';
267 267
             $item->menu_item_parent = 0;
268 268
             $item->type = 'post_type';
269
-            $item->title = __('Invoice History Page','invoicing');
270
-            $item->url = get_permalink( $wpinv_history_page_id );
269
+            $item->title = __('Invoice History Page', 'invoicing');
270
+            $item->url = get_permalink($wpinv_history_page_id);
271 271
             $item->target = '';
272 272
             $item->attr_title = '';
273 273
             $item->classes = array('wpinv-menu-item');
@@ -276,16 +276,16 @@  discard block
 block discarded – undo
276 276
             $items['pages'][] = $item;
277 277
         }
278 278
 
279
-        $wpinv_sub_history_page_id = (int)wpinv_get_option( 'invoice_subscription_page' );
280
-        if($wpinv_sub_history_page_id > 0){
279
+        $wpinv_sub_history_page_id = (int) wpinv_get_option('invoice_subscription_page');
280
+        if ($wpinv_sub_history_page_id > 0) {
281 281
             $item = new stdClass();
282 282
             $item->object_id = $wpinv_sub_history_page_id;
283 283
             $item->db_id = 0;
284
-            $item->object =  'page';
284
+            $item->object = 'page';
285 285
             $item->menu_item_parent = 0;
286 286
             $item->type = 'post_type';
287
-            $item->title = __('Invoice Subscriptions Page','invoicing');
288
-            $item->url = get_permalink( $wpinv_sub_history_page_id );
287
+            $item->title = __('Invoice Subscriptions Page', 'invoicing');
288
+            $item->url = get_permalink($wpinv_sub_history_page_id);
289 289
             $item->target = '';
290 290
             $item->attr_title = '';
291 291
             $item->classes = array('wpinv-menu-item');
@@ -294,16 +294,16 @@  discard block
 block discarded – undo
294 294
             $items['pages'][] = $item;
295 295
         }
296 296
 
297
-        $wpinv_checkout_page_id = (int)wpinv_get_option( 'checkout_page' );
298
-        if($wpinv_checkout_page_id > 0){
297
+        $wpinv_checkout_page_id = (int) wpinv_get_option('checkout_page');
298
+        if ($wpinv_checkout_page_id > 0) {
299 299
             $item = new stdClass();
300 300
             $item->object_id = $wpinv_checkout_page_id;
301 301
             $item->db_id = 0;
302
-            $item->object =  'page';
302
+            $item->object = 'page';
303 303
             $item->menu_item_parent = 0;
304 304
             $item->type = 'post_type';
305
-            $item->title = __('Checkout Page','invoicing');
306
-            $item->url = get_permalink( $wpinv_checkout_page_id );
305
+            $item->title = __('Checkout Page', 'invoicing');
306
+            $item->url = get_permalink($wpinv_checkout_page_id);
307 307
             $item->target = '';
308 308
             $item->attr_title = '';
309 309
             $item->classes = array('wpinv-menu-item');
@@ -312,16 +312,16 @@  discard block
 block discarded – undo
312 312
             $items['pages'][] = $item;
313 313
         }
314 314
 
315
-        $wpinv_success_page_id = (int)wpinv_get_option( 'success_page' );
316
-        if($wpinv_success_page_id > 0){
315
+        $wpinv_success_page_id = (int) wpinv_get_option('success_page');
316
+        if ($wpinv_success_page_id > 0) {
317 317
             $item = new stdClass();
318 318
             $item->object_id = $wpinv_success_page_id;
319 319
             $item->db_id = 0;
320
-            $item->object =  'page';
320
+            $item->object = 'page';
321 321
             $item->menu_item_parent = 0;
322 322
             $item->type = 'post_type';
323
-            $item->title = __('Success Page','invoicing');
324
-            $item->url = get_permalink( $wpinv_success_page_id );
323
+            $item->title = __('Success Page', 'invoicing');
324
+            $item->url = get_permalink($wpinv_success_page_id);
325 325
             $item->target = '';
326 326
             $item->attr_title = '';
327 327
             $item->classes = array('wpinv-menu-item');
@@ -330,16 +330,16 @@  discard block
 block discarded – undo
330 330
             $items['pages'][] = $item;
331 331
         }
332 332
 
333
-        $wpinv_failure_page_id = (int)wpinv_get_option( 'failure_page' );
334
-        if($wpinv_failure_page_id > 0){
333
+        $wpinv_failure_page_id = (int) wpinv_get_option('failure_page');
334
+        if ($wpinv_failure_page_id > 0) {
335 335
             $item = new stdClass();
336 336
             $item->object_id = $wpinv_failure_page_id;
337 337
             $item->db_id = 0;
338
-            $item->object =  'page';
338
+            $item->object = 'page';
339 339
             $item->menu_item_parent = 0;
340 340
             $item->type = 'post_type';
341
-            $item->title = __('Failed Transaction Page','invoicing');
342
-            $item->url = get_permalink( $wpinv_failure_page_id );
341
+            $item->title = __('Failed Transaction Page', 'invoicing');
342
+            $item->url = get_permalink($wpinv_failure_page_id);
343 343
             $item->target = '';
344 344
             $item->attr_title = '';
345 345
             $item->classes = array('wpinv-menu-item');
@@ -348,7 +348,7 @@  discard block
 block discarded – undo
348 348
             $items['pages'][] = $item;
349 349
         }
350 350
 
351
-        return apply_filters( 'wpinv_menu_items', $items );
351
+        return apply_filters('wpinv_menu_items', $items);
352 352
     }
353 353
 
354 354
 }
Please login to merge, or discard this patch.