Passed
Push — master ( e33f3a...6fa934 )
by Stiofan
04:49
created
includes/data/admin-settings.php 1 patch
Spacing   +161 added lines, -161 removed lines patch added patch discarded remove patch
@@ -8,192 +8,192 @@  discard block
 block discarded – undo
8 8
  * @version 1.0.19
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13
-$pages = wpinv_get_pages( true );
13
+$pages = wpinv_get_pages(true);
14 14
     
15 15
 $currencies = wpinv_get_currencies();
16 16
     
17 17
 $currency_code_options = array();
18
-foreach ( $currencies as $code => $name ) {
19
-    $currency_code_options[ $code ] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol( $code ) . ')';
18
+foreach ($currencies as $code => $name) {
19
+    $currency_code_options[$code] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol($code) . ')';
20 20
 }
21 21
     
22 22
 $due_payment_options       = array();
23
-$due_payment_options[0]    = __( 'Now', 'invoicing' );
24
-for ( $i = 1; $i <= 30; $i++ ) {
23
+$due_payment_options[0]    = __('Now', 'invoicing');
24
+for ($i = 1; $i <= 30; $i++) {
25 25
     $due_payment_options[$i] = $i;
26 26
 }
27 27
     
28 28
 $invoice_number_padd_options = array();
29
-for ( $i = 0; $i <= 20; $i++ ) {
29
+for ($i = 0; $i <= 20; $i++) {
30 30
     $invoice_number_padd_options[$i] = $i;
31 31
 }
32 32
     
33 33
 $currency_symbol = wpinv_currency_symbol();
34 34
     
35 35
 $last_number = $reset_number = '';
36
-if ( $last_invoice_number = get_option( 'wpinv_last_invoice_number' ) ) {
37
-    $last_invoice_number = preg_replace( '/[^0-9]/', '', $last_invoice_number );
36
+if ($last_invoice_number = get_option('wpinv_last_invoice_number')) {
37
+    $last_invoice_number = preg_replace('/[^0-9]/', '', $last_invoice_number);
38 38
 
39
-    if ( !empty( $last_invoice_number ) ) {
40
-        $last_number = ' ' . wp_sprintf( __( "( Last Invoice's sequential number: <b>%s</b> )", 'invoicing' ), $last_invoice_number );
39
+    if (!empty($last_invoice_number)) {
40
+        $last_number = ' ' . wp_sprintf(__("( Last Invoice's sequential number: <b>%s</b> )", 'invoicing'), $last_invoice_number);
41 41
     }
42 42
 
43 43
     $nonce = wp_create_nonce('reset_invoice_count');
44
-    $reset_number = '<a href="'.add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)).'" class="btn button">'.__('Force Reset Sequence', 'invoicing' ). '</a>';
44
+    $reset_number = '<a href="' . add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)) . '" class="btn button">' . __('Force Reset Sequence', 'invoicing') . '</a>';
45 45
 }
46 46
     
47 47
 $alert_wrapper_start = '<p style="color: #F00">';
48 48
 $alert_wrapper_close = '</p>';
49 49
 
50 50
 return array(
51
-    'general' => apply_filters( 'wpinv_settings_general',
51
+    'general' => apply_filters('wpinv_settings_general',
52 52
         array(
53 53
             'main' => array(
54 54
                 'location_settings' => array(
55 55
                     'id'   => 'location_settings',
56
-                    'name' => '<h3>' . __( 'Default Location', 'invoicing' ) . '</h3>',
56
+                    'name' => '<h3>' . __('Default Location', 'invoicing') . '</h3>',
57 57
                     'desc' => '',
58 58
                     'type' => 'header',
59 59
                 ),
60 60
                 'default_country' => array(
61 61
                     'id'      => 'default_country',
62
-                    'name'    => __( 'Default Country', 'invoicing' ),
63
-                    'desc'    => __( 'Where does your store operate from?', 'invoicing' ),
62
+                    'name'    => __('Default Country', 'invoicing'),
63
+                    'desc'    => __('Where does your store operate from?', 'invoicing'),
64 64
                     'type'    => 'select',
65 65
                     'options' => wpinv_get_country_list(),
66 66
                     'std'     => 'GB',
67 67
                     'class'   => 'wpi_select2',
68
-                    'placeholder' => __( 'Select a country', 'invoicing' ),
68
+                    'placeholder' => __('Select a country', 'invoicing'),
69 69
                 ),
70 70
                 'default_state' => array(
71 71
                     'id'      => 'default_state',
72
-                    'name'    => __( 'Default State / Province', 'invoicing' ),
73
-                    'desc'    => __( 'What state / province does your store operate from?', 'invoicing' ),
72
+                    'name'    => __('Default State / Province', 'invoicing'),
73
+                    'desc'    => __('What state / province does your store operate from?', 'invoicing'),
74 74
                     'type'    => 'country_states',
75 75
                     'class'   => 'wpi_select2',
76
-                    'placeholder' => __( 'Select a state', 'invoicing' ),
76
+                    'placeholder' => __('Select a state', 'invoicing'),
77 77
                 ),
78 78
                 'store_name' => array(
79 79
                     'id'   => 'store_name',
80
-                    'name' => __( 'Store Name', 'invoicing' ),
81
-                    'desc' => __( 'Store name to print on invoices.', 'invoicing' ),
80
+                    'name' => __('Store Name', 'invoicing'),
81
+                    'desc' => __('Store name to print on invoices.', 'invoicing'),
82 82
                     'std'     => get_option('blogname'),
83 83
                     'type' => 'text',
84 84
                 ),
85 85
                 'logo' => array(
86 86
                     'id'   => 'logo',
87
-                    'name' => __( 'Logo URL', 'invoicing' ),
88
-                    'desc' => __( 'Store logo to print on invoices.', 'invoicing' ),
87
+                    'name' => __('Logo URL', 'invoicing'),
88
+                    'desc' => __('Store logo to print on invoices.', 'invoicing'),
89 89
                     'type' => 'text',
90 90
                 ),
91 91
                 'store_address' => array(
92 92
                     'id'   => 'store_address',
93
-                    'name' => __( 'Store Address', 'invoicing' ),
94
-                    'desc' => __( 'Enter the store address to display on invoice', 'invoicing' ),
93
+                    'name' => __('Store Address', 'invoicing'),
94
+                    'desc' => __('Enter the store address to display on invoice', 'invoicing'),
95 95
                     'type' => 'textarea',
96 96
                 ),
97 97
                 'page_settings' => array(
98 98
                     'id'   => 'page_settings',
99
-                    'name' => '<h3>' . __( 'Page Settings', 'invoicing' ) . '</h3>',
99
+                    'name' => '<h3>' . __('Page Settings', 'invoicing') . '</h3>',
100 100
                     'desc' => '',
101 101
                     'type' => 'header',
102 102
                 ),
103 103
                 'checkout_page' => array(
104 104
                     'id'          => 'checkout_page',
105
-                    'name'        => __( 'Checkout Page', 'invoicing' ),
106
-                    'desc'        => __( 'This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing' ),
105
+                    'name'        => __('Checkout Page', 'invoicing'),
106
+                    'desc'        => __('This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing'),
107 107
                     'type'        => 'select',
108 108
                     'options'     => $pages,
109 109
                     'class'       => 'wpi_select2',
110
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
110
+                    'placeholder' => __('Select a page', 'invoicing'),
111 111
                 ),
112 112
                 'success_page' => array(
113 113
                     'id'          => 'success_page',
114
-                    'name'        => __( 'Success Page', 'invoicing' ),
115
-                    'desc'        => __( 'This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing' ),
114
+                    'name'        => __('Success Page', 'invoicing'),
115
+                    'desc'        => __('This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing'),
116 116
                     'type'        => 'select',
117 117
                     'options'     => $pages,
118 118
                     'class'       => 'wpi_select2',
119
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
119
+                    'placeholder' => __('Select a page', 'invoicing'),
120 120
                 ),
121 121
                 'failure_page' => array(
122 122
                     'id'          => 'failure_page',
123
-                    'name'        => __( 'Failed Transaction Page', 'invoicing' ),
124
-                    'desc'        => __( 'This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing' ),
123
+                    'name'        => __('Failed Transaction Page', 'invoicing'),
124
+                    'desc'        => __('This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing'),
125 125
                     'type'        => 'select',
126 126
                     'options'     => $pages,
127 127
                     'class'       => 'wpi_select2',
128
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
128
+                    'placeholder' => __('Select a page', 'invoicing'),
129 129
                 ),
130 130
                 'invoice_history_page' => array(
131 131
                     'id'          => 'invoice_history_page',
132
-                    'name'        => __( 'Invoice History Page', 'invoicing' ),
133
-                    'desc'        => __( 'This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing' ),
132
+                    'name'        => __('Invoice History Page', 'invoicing'),
133
+                    'desc'        => __('This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing'),
134 134
                     'type'        => 'select',
135 135
                     'options'     => $pages,
136 136
                     'class'       => 'wpi_select2',
137
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
137
+                    'placeholder' => __('Select a page', 'invoicing'),
138 138
                 ),
139 139
                 'invoice_subscription_page' => array(
140 140
                     'id'          => 'invoice_subscription_page',
141
-                    'name'        => __( 'Invoice Subscriptions Page', 'invoicing' ),
142
-                    'desc'        => __( 'This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing' ),
141
+                    'name'        => __('Invoice Subscriptions Page', 'invoicing'),
142
+                    'desc'        => __('This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing'),
143 143
                     'type'        => 'select',
144 144
                     'options'     => $pages,
145 145
                     'class'       => 'wpi_select2',
146
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
146
+                    'placeholder' => __('Select a page', 'invoicing'),
147 147
                 ),
148 148
             ),
149 149
             'currency_section' => array(
150 150
                 'currency_settings' => array(
151 151
                     'id'   => 'currency_settings',
152
-                    'name' => '<h3>' . __( 'Currency Settings', 'invoicing' ) . '</h3>',
152
+                    'name' => '<h3>' . __('Currency Settings', 'invoicing') . '</h3>',
153 153
                     'desc' => '',
154 154
                     'type' => 'header',
155 155
                 ),
156 156
                 'currency' => array(
157 157
                     'id'      => 'currency',
158
-                    'name'    => __( 'Currency', 'invoicing' ),
159
-                    'desc'    => __( 'Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing' ),
158
+                    'name'    => __('Currency', 'invoicing'),
159
+                    'desc'    => __('Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing'),
160 160
                     'type'    => 'select',
161 161
                     'class'       => 'wpi_select2',
162 162
                     'options' => $currency_code_options,
163 163
                 ),
164 164
                 'currency_position' => array(
165 165
                     'id'      => 'currency_position',
166
-                    'name'    => __( 'Currency Position', 'invoicing' ),
167
-                    'desc'    => __( 'Choose the location of the currency sign.', 'invoicing' ),
166
+                    'name'    => __('Currency Position', 'invoicing'),
167
+                    'desc'    => __('Choose the location of the currency sign.', 'invoicing'),
168 168
                     'type'    => 'select',
169 169
                     'class'   => 'wpi_select2',
170 170
                     'options'  => array(
171
-                        'left'        => __( 'Left', 'invoicing' ) . ' (' . $currency_symbol . wpinv_format_amount( '99.99' ) . ')',
172
-                        'right'       => __( 'Right', 'invoicing' ) . ' ('. wpinv_format_amount( '99.99' ) . $currency_symbol . ')',
173
-                        'left_space'  => __( 'Left with space', 'invoicing' ) . ' (' . $currency_symbol . ' ' . wpinv_format_amount( '99.99' ) . ')',
174
-                        'right_space' => __( 'Right with space', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . ' ' . $currency_symbol . ')'
171
+                        'left'        => __('Left', 'invoicing') . ' (' . $currency_symbol . wpinv_format_amount('99.99') . ')',
172
+                        'right'       => __('Right', 'invoicing') . ' (' . wpinv_format_amount('99.99') . $currency_symbol . ')',
173
+                        'left_space'  => __('Left with space', 'invoicing') . ' (' . $currency_symbol . ' ' . wpinv_format_amount('99.99') . ')',
174
+                        'right_space' => __('Right with space', 'invoicing') . ' (' . wpinv_format_amount('99.99') . ' ' . $currency_symbol . ')'
175 175
                     )
176 176
                 ),
177 177
                 'thousands_separator' => array(
178 178
                     'id'   => 'thousands_separator',
179
-                    'name' => __( 'Thousands Separator', 'invoicing' ),
180
-                    'desc' => __( 'The symbol (usually , or .) to separate thousands', 'invoicing' ),
179
+                    'name' => __('Thousands Separator', 'invoicing'),
180
+                    'desc' => __('The symbol (usually , or .) to separate thousands', 'invoicing'),
181 181
                     'type' => 'text',
182 182
                     'size' => 'small',
183 183
                     'std'  => ',',
184 184
                 ),
185 185
                 'decimal_separator' => array(
186 186
                     'id'   => 'decimal_separator',
187
-                    'name' => __( 'Decimal Separator', 'invoicing' ),
188
-                    'desc' => __( 'The symbol (usually , or .) to separate decimal points', 'invoicing' ),
187
+                    'name' => __('Decimal Separator', 'invoicing'),
188
+                    'desc' => __('The symbol (usually , or .) to separate decimal points', 'invoicing'),
189 189
                     'type' => 'text',
190 190
                     'size' => 'small',
191 191
                     'std'  => '.',
192 192
                 ),
193 193
                 'decimals' => array(
194 194
                     'id'   => 'decimals',
195
-                    'name' => __( 'Number of Decimals', 'invoicing' ),
196
-                    'desc' => __( 'This sets the number of decimal points shown in displayed prices.', 'invoicing' ),
195
+                    'name' => __('Number of Decimals', 'invoicing'),
196
+                    'desc' => __('This sets the number of decimal points shown in displayed prices.', 'invoicing'),
197 197
                     'type' => 'number',
198 198
                     'size' => 'small',
199 199
                     'std'  => '2',
@@ -205,29 +205,29 @@  discard block
 block discarded – undo
205 205
             'labels' => array(
206 206
                 'labels' => array(
207 207
                     'id'   => 'labels_settings',
208
-                    'name' => '<h3>' . __( 'Invoice Labels', 'invoicing' ) . '</h3>',
208
+                    'name' => '<h3>' . __('Invoice Labels', 'invoicing') . '</h3>',
209 209
                     'desc' => '',
210 210
                     'type' => 'header',
211 211
                 ),
212 212
                 'vat_name' => array(
213 213
                     'id' => 'vat_name',
214
-                    'name' => __( 'VAT Name', 'invoicing' ),
215
-                    'desc' => __( 'Enter the VAT name', 'invoicing' ),
214
+                    'name' => __('VAT Name', 'invoicing'),
215
+                    'desc' => __('Enter the VAT name', 'invoicing'),
216 216
                     'type' => 'text',
217 217
                     'size' => 'regular',
218
-                    'std' => __( 'VAT', 'invoicing' ),
218
+                    'std' => __('VAT', 'invoicing'),
219 219
                 ),
220 220
                 'vat_invoice_notice_label' => array(
221 221
                     'id' => 'vat_invoice_notice_label',
222
-                    'name' => __( 'Invoice Notice Label', 'invoicing' ),
223
-                    'desc' => __( 'Use this to add an invoice notice section (label) to your invoices', 'invoicing' ),
222
+                    'name' => __('Invoice Notice Label', 'invoicing'),
223
+                    'desc' => __('Use this to add an invoice notice section (label) to your invoices', 'invoicing'),
224 224
                     'type' => 'text',
225 225
                     'size' => 'regular',
226 226
                 ),
227 227
                 'vat_invoice_notice' => array(
228 228
                     'id' => 'vat_invoice_notice',
229
-                    'name' => __( 'Invoice notice', 'invoicing' ),
230
-                    'desc' =>   __( 'Use this to add an invoice notice section (description) to your invoices', 'invoicing' ),
229
+                    'name' => __('Invoice notice', 'invoicing'),
230
+                    'desc' =>   __('Use this to add an invoice notice section (description) to your invoices', 'invoicing'),
231 231
                     'type' => 'text',
232 232
                     'size' => 'regular',
233 233
                 ),
@@ -239,22 +239,22 @@  discard block
 block discarded – undo
239 239
             'main' => array(
240 240
                 'gateway_settings' => array(
241 241
                     'id'   => 'api_header',
242
-                    'name' => '<h3>' . __( 'Gateway Settings', 'invoicing' ) . '</h3>',
242
+                    'name' => '<h3>' . __('Gateway Settings', 'invoicing') . '</h3>',
243 243
                     'desc' => '',
244 244
                     'type' => 'header',
245 245
                 ),
246 246
                 'gateways' => array(
247 247
                     'id'      => 'gateways',
248
-                    'name'    => __( 'Payment Gateways', 'invoicing' ),
249
-                    'desc'    => __( 'Choose the payment gateways you want to enable.', 'invoicing' ),
248
+                    'name'    => __('Payment Gateways', 'invoicing'),
249
+                    'desc'    => __('Choose the payment gateways you want to enable.', 'invoicing'),
250 250
                     'type'    => 'gateways',
251 251
                     'std'     => array('manual'=>1),
252 252
                     'options' => wpinv_get_payment_gateways(),
253 253
                 ),
254 254
                 'default_gateway' => array(
255 255
                     'id'      => 'default_gateway',
256
-                    'name'    => __( 'Default Gateway', 'invoicing' ),
257
-                    'desc'    => __( 'This gateway will be loaded automatically with the checkout page.', 'invoicing' ),
256
+                    'name'    => __('Default Gateway', 'invoicing'),
257
+                    'desc'    => __('This gateway will be loaded automatically with the checkout page.', 'invoicing'),
258 258
                     'type'    => 'gateway_select',
259 259
                     'std'     => 'manual',
260 260
                     'class'   => 'wpi_select2',
@@ -269,32 +269,32 @@  discard block
 block discarded – undo
269 269
             'main' => array(
270 270
                 'tax_settings' => array(
271 271
                     'id'   => 'tax_settings',
272
-                    'name' => '<h3>' . __( 'Tax Settings', 'invoicing' ) . '</h3>',
272
+                    'name' => '<h3>' . __('Tax Settings', 'invoicing') . '</h3>',
273 273
                     'type' => 'header',
274 274
                 ),
275 275
 
276 276
                 'enable_taxes' => array(
277 277
                     'id'       => 'enable_taxes',
278
-                    'name'     => __( 'Enable Taxes', 'invoicing' ),
279
-                    'desc'     => __( 'Enable tax rates and calculations.', 'invoicing' ),
278
+                    'name'     => __('Enable Taxes', 'invoicing'),
279
+                    'desc'     => __('Enable tax rates and calculations.', 'invoicing'),
280 280
                     'type'     => 'checkbox',
281 281
                     'std'      => 0,
282 282
                 ),
283 283
 
284 284
                 'tax_subtotal_rounding' => array(
285 285
                     'id'                => 'tax_subtotal_rounding',
286
-                    'name'              => __( 'Rounding', 'invoicing' ),
287
-                    'desc'              => __( 'Round tax at subtotal level, instead of rounding per tax rate', 'invoicing' ),
286
+                    'name'              => __('Rounding', 'invoicing'),
287
+                    'desc'              => __('Round tax at subtotal level, instead of rounding per tax rate', 'invoicing'),
288 288
                     'type'              => 'checkbox',
289 289
                     'std'               => 1,
290 290
                 ),
291 291
 
292 292
                 'prices_include_tax' => array(
293 293
                     'id'      => 'prices_include_tax',
294
-                    'name'    => __( 'Prices entered with tax', 'invoicing' ),
294
+                    'name'    => __('Prices entered with tax', 'invoicing'),
295 295
                     'options' => array(
296
-                        'yes' => __( 'Yes, I will enter prices inclusive of tax', 'invoicing' ),
297
-                        'no'  => __( 'No, I will enter prices exclusive of tax', 'invoicing' ),
296
+                        'yes' => __('Yes, I will enter prices inclusive of tax', 'invoicing'),
297
+                        'no'  => __('No, I will enter prices exclusive of tax', 'invoicing'),
298 298
                     ),
299 299
                     'type'    => 'select',
300 300
                     'std'     => 'no',
@@ -302,10 +302,10 @@  discard block
 block discarded – undo
302 302
 
303 303
                 'tax_base'              => array(
304 304
                     'id'                => 'tax_base',
305
-                    'name'              => __( 'Calculate tax based on', 'invoicing' ),
305
+                    'name'              => __('Calculate tax based on', 'invoicing'),
306 306
                     'options'           => array(
307
-                        'billing'       => __( 'Customer billing address', 'invoicing' ),
308
-                        'base'          => __( 'Shop base address', 'invoicing' ),
307
+                        'billing'       => __('Customer billing address', 'invoicing'),
308
+                        'base'          => __('Shop base address', 'invoicing'),
309 309
                     ),
310 310
                     'type'              => 'select',
311 311
                     'std'               => 'billing',
@@ -313,10 +313,10 @@  discard block
 block discarded – undo
313 313
 
314 314
                 'tax_display_totals'    => array(
315 315
                     'id'                => 'tax_display_totals',
316
-                    'name'              => __( 'Display tax totals', 'invoicing' ),
316
+                    'name'              => __('Display tax totals', 'invoicing'),
317 317
                     'options'           => array(
318
-                        'single'        => __( 'As a single total', 'invoicing' ),
319
-                        'individual'    => __( 'As individual tax rates', 'invoicing' ),
318
+                        'single'        => __('As a single total', 'invoicing'),
319
+                        'individual'    => __('As individual tax rates', 'invoicing'),
320 320
                     ),
321 321
                     'type'              => 'select',
322 322
                     'std'               => 'individual',
@@ -324,8 +324,8 @@  discard block
 block discarded – undo
324 324
 
325 325
                 'tax_rate' => array(
326 326
                     'id'   => 'tax_rate',
327
-                    'name' => __( 'Fallback Tax Rate', 'invoicing' ),
328
-                    'desc' => __( 'Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing' ),
327
+                    'name' => __('Fallback Tax Rate', 'invoicing'),
328
+                    'desc' => __('Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing'),
329 329
                     'type' => 'number',
330 330
                     'size' => 'small',
331 331
                     'min'  => '0',
@@ -337,8 +337,8 @@  discard block
 block discarded – undo
337 337
             'rates' => array(
338 338
                 'tax_rates' => array(
339 339
                     'id'   => 'tax_rates',
340
-                    'name' => '<h3>' . __( 'Tax Rates', 'invoicing' ) . '</h3>',
341
-                    'desc' => __( 'Enter tax rates for specific regions.', 'invoicing' ),
340
+                    'name' => '<h3>' . __('Tax Rates', 'invoicing') . '</h3>',
341
+                    'desc' => __('Enter tax rates for specific regions.', 'invoicing'),
342 342
                     'type' => 'tax_rates',
343 343
                 ),
344 344
             ),
@@ -347,44 +347,44 @@  discard block
 block discarded – undo
347 347
 
348 348
                 'vat_company_name' => array(
349 349
                     'id' => 'vat_company_name',
350
-                    'name' => __( 'Company Name', 'invoicing' ),
351
-                    'desc' => wp_sprintf(__( 'Verify your company name and  VAT number on the %sEU VIES System.%s', 'invoicing' ), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>' ),
350
+                    'name' => __('Company Name', 'invoicing'),
351
+                    'desc' => wp_sprintf(__('Verify your company name and  VAT number on the %sEU VIES System.%s', 'invoicing'), '<a href="http://ec.europa.eu/taxation_customs/vies/" target="_blank">', '</a>'),
352 352
                     'type' => 'text',
353 353
                     'size' => 'regular',
354 354
                 ),
355 355
 
356 356
                 'vat_number' => array(
357 357
                     'id'   => 'vat_number',
358
-                    'name' => __( 'VAT Number', 'invoicing' ),
359
-                    'desc' => __( 'Enter your VAT number including the country identifier, eg: GB123456789', 'invoicing' ),
358
+                    'name' => __('VAT Number', 'invoicing'),
359
+                    'desc' => __('Enter your VAT number including the country identifier, eg: GB123456789', 'invoicing'),
360 360
                     'type' => 'text',
361 361
                     'size' => 'regular',
362 362
                 ),
363 363
 
364 364
                 'vat_prevent_b2c_purchase' => array(
365 365
                     'id' => 'vat_prevent_b2c_purchase',
366
-                    'name' => __( 'Prevent B2C Sales', 'invoicing' ),
367
-                    'desc' => __( 'Require everyone in the EU to provide a VAT number.', 'invoicing' ),
366
+                    'name' => __('Prevent B2C Sales', 'invoicing'),
367
+                    'desc' => __('Require everyone in the EU to provide a VAT number.', 'invoicing'),
368 368
                     'type' => 'checkbox'
369 369
                 ),
370 370
 
371 371
                 'validate_vat_number' => array(
372 372
                     'id'   => 'validate_vat_number',
373
-                    'name' => __( 'Validate VAT Number', 'invoicing' ),
374
-                    'desc' => __( 'Validate VAT numbers with VIES.', 'invoicing' ),
373
+                    'name' => __('Validate VAT Number', 'invoicing'),
374
+                    'desc' => __('Validate VAT numbers with VIES.', 'invoicing'),
375 375
                     'type' => 'checkbox'
376 376
                 ),
377 377
 
378 378
                 'vat_same_country_rule' => array(
379 379
                     'id'          => 'vat_same_country_rule',
380
-                    'name'        => __( 'Same Country Rule', 'invoicing' ),
381
-                    'desc'        => __( 'What should happen if a customer is from the same country as your business?', 'invoicing' ),
380
+                    'name'        => __('Same Country Rule', 'invoicing'),
381
+                    'desc'        => __('What should happen if a customer is from the same country as your business?', 'invoicing'),
382 382
                     'type'        => 'select',
383 383
                     'options'     => array(
384
-                        'no'        => __( 'Do not charge Tax', 'invoicing' ),
385
-                        'always'    => __( 'Charge Tax', 'invoicing' ),
384
+                        'no'        => __('Do not charge Tax', 'invoicing'),
385
+                        'always'    => __('Charge Tax', 'invoicing'),
386 386
                     ),
387
-                    'placeholder' => __( 'Select an option', 'invoicing' ),
387
+                    'placeholder' => __('Select an option', 'invoicing'),
388 388
                     'std'         => 'always',
389 389
                 ),
390 390
 
@@ -398,68 +398,68 @@  discard block
 block discarded – undo
398 398
             'main' => array(
399 399
                 'email_settings_header' => array(
400 400
                     'id'   => 'email_settings_header',
401
-                    'name' => '<h3>' . __( 'Email Sender Options', 'invoicing' ) . '</h3>',
401
+                    'name' => '<h3>' . __('Email Sender Options', 'invoicing') . '</h3>',
402 402
                     'type' => 'header',
403 403
                 ),
404 404
                 'email_from_name' => array(
405 405
                     'id'   => 'email_from_name',
406
-                    'name' => __( 'From Name', 'invoicing' ),
407
-                    'desc' => __( 'Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing' ),
408
-                    'std' => esc_attr( get_bloginfo( 'name', 'display' ) ),
406
+                    'name' => __('From Name', 'invoicing'),
407
+                    'desc' => __('Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing'),
408
+                    'std' => esc_attr(get_bloginfo('name', 'display')),
409 409
                     'type' => 'text',
410 410
                 ),
411 411
                 'email_from' => array(
412 412
                     'id'   => 'email_from',
413
-                    'name' => __( 'From Email', 'invoicing' ),
414
-                    'desc' => sprintf (__( 'Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing' ), $alert_wrapper_start, $alert_wrapper_close),
415
-                    'std' => get_option( 'admin_email' ),
413
+                    'name' => __('From Email', 'invoicing'),
414
+                    'desc' => sprintf(__('Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing'), $alert_wrapper_start, $alert_wrapper_close),
415
+                    'std' => get_option('admin_email'),
416 416
                     'type' => 'text',
417 417
                 ),
418 418
                 'admin_email' => array(
419 419
                     'id'   => 'admin_email',
420
-                    'name' => __( 'Admin Email', 'invoicing' ),
421
-                    'desc' => __( 'Where should we send admin notifications?', 'invoicing' ),
422
-                    'std' => get_option( 'admin_email' ),
420
+                    'name' => __('Admin Email', 'invoicing'),
421
+                    'desc' => __('Where should we send admin notifications?', 'invoicing'),
422
+                    'std' => get_option('admin_email'),
423 423
                     'type' => 'text',
424 424
                 ),
425 425
                 'overdue_settings_header' => array(
426 426
                     'id'   => 'overdue_settings_header',
427
-                    'name' => '<h3>' . __( 'Due Date Settings', 'invoicing' ) . '</h3>',
427
+                    'name' => '<h3>' . __('Due Date Settings', 'invoicing') . '</h3>',
428 428
                     'type' => 'header',
429 429
                 ),
430 430
                 'overdue_active' => array(
431 431
                     'id'   => 'overdue_active',
432
-                    'name' => __( 'Enable Due Date', 'invoicing' ),
433
-                    'desc' => __( 'Check this to enable due date option for invoices.', 'invoicing' ),
432
+                    'name' => __('Enable Due Date', 'invoicing'),
433
+                    'desc' => __('Check this to enable due date option for invoices.', 'invoicing'),
434 434
                     'type' => 'checkbox',
435 435
                     'std'  => false,
436 436
                 ),
437 437
                 'overdue_days' => array(
438 438
                     'id'          => 'overdue_days',
439
-                    'name'        => __( 'Default Due Date', 'invoicing' ),
440
-                    'desc'        => __( 'Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing' ),
439
+                    'name'        => __('Default Due Date', 'invoicing'),
440
+                    'desc'        => __('Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing'),
441 441
                     'type'        => 'select',
442 442
                     'options'     => $due_payment_options,
443 443
                     'std'         => 0,
444
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
444
+                    'placeholder' => __('Select a page', 'invoicing'),
445 445
                 ),
446 446
                 'email_template_header' => array(
447 447
                     'id'   => 'email_template_header',
448
-                    'name' => '<h3>' . __( 'Email Template', 'invoicing' ) . '</h3>',
448
+                    'name' => '<h3>' . __('Email Template', 'invoicing') . '</h3>',
449 449
                     'type' => 'header',
450 450
                 ),
451 451
                 'email_header_image' => array(
452 452
                     'id'   => 'email_header_image',
453
-                    'name' => __( 'Header Image', 'invoicing' ),
454
-                    'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing' ),
453
+                    'name' => __('Header Image', 'invoicing'),
454
+                    'desc' => __('URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing'),
455 455
                     'std' => '',
456 456
                     'type' => 'text',
457 457
                 ),
458 458
                 'email_footer_text' => array(
459 459
                     'id'   => 'email_footer_text',
460
-                    'name' => __( 'Footer Text', 'invoicing' ),
461
-                    'desc' => __( 'The text to appear in the footer of all invoice emails.', 'invoicing' ),
462
-                    'std' => get_bloginfo( 'name', 'display' ) . ' - ' . __( 'Powered by GeoDirectory', 'invoicing' ),
460
+                    'name' => __('Footer Text', 'invoicing'),
461
+                    'desc' => __('The text to appear in the footer of all invoice emails.', 'invoicing'),
462
+                    'std' => get_bloginfo('name', 'display') . ' - ' . __('Powered by GeoDirectory', 'invoicing'),
463 463
                     'type' => 'textarea',
464 464
                     'class' => 'regular-text',
465 465
                     'rows' => 2,
@@ -467,29 +467,29 @@  discard block
 block discarded – undo
467 467
                 ),
468 468
                 'email_base_color' => array(
469 469
                     'id'   => 'email_base_color',
470
-                    'name' => __( 'Base Color', 'invoicing' ),
471
-                    'desc' => __( 'The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing' ),
470
+                    'name' => __('Base Color', 'invoicing'),
471
+                    'desc' => __('The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing'),
472 472
                     'std' => '#557da2',
473 473
                     'type' => 'color',
474 474
                 ),
475 475
                 'email_background_color' => array(
476 476
                     'id'   => 'email_background_color',
477
-                    'name' => __( 'Background Color', 'invoicing' ),
478
-                    'desc' => __( 'The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing' ),
477
+                    'name' => __('Background Color', 'invoicing'),
478
+                    'desc' => __('The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing'),
479 479
                     'std' => '#f5f5f5',
480 480
                     'type' => 'color',
481 481
                 ),
482 482
                 'email_body_background_color' => array(
483 483
                     'id'   => 'email_body_background_color',
484
-                    'name' => __( 'Body Background Color', 'invoicing' ),
485
-                    'desc' => __( 'The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing' ),
484
+                    'name' => __('Body Background Color', 'invoicing'),
485
+                    'desc' => __('The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing'),
486 486
                     'std' => '#fdfdfd',
487 487
                     'type' => 'color',
488 488
                 ),
489 489
                 'email_text_color' => array(
490 490
                     'id'   => 'email_text_color',
491
-                    'name' => __( 'Body Text Color', 'invoicing' ),
492
-                    'desc' => __( 'The main body text color. Default <code>#505050</code>.', 'invoicing' ),
491
+                    'name' => __('Body Text Color', 'invoicing'),
492
+                    'desc' => __('The main body text color. Default <code>#505050</code>.', 'invoicing'),
493 493
                     'std' => '#505050',
494 494
                     'type' => 'color',
495 495
                 ),
@@ -504,7 +504,7 @@  discard block
 block discarded – undo
504 504
     ),
505 505
 
506 506
     // Integrations.
507
-    'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'settings', 'id' ),
507
+    'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'settings', 'id'),
508 508
 
509 509
     /** Privacy Settings */
510 510
     'privacy' => apply_filters('wpinv_settings_privacy',
@@ -512,17 +512,17 @@  discard block
 block discarded – undo
512 512
             'main' => array(
513 513
                 'invoicing_privacy_policy_settings' => array(
514 514
                     'id'   => 'invoicing_privacy_policy_settings',
515
-                    'name' => '<h3>' . __( 'Privacy Policy', 'invoicing' ) . '</h3>',
515
+                    'name' => '<h3>' . __('Privacy Policy', 'invoicing') . '</h3>',
516 516
                     'type' => 'header',
517 517
                 ),
518 518
                 'privacy_page' => array(
519 519
                     'id'          => 'privacy_page',
520
-                    'name'        => __( 'Privacy Page', 'invoicing' ),
521
-                    'desc'        => __( 'If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing' ),
520
+                    'name'        => __('Privacy Page', 'invoicing'),
521
+                    'desc'        => __('If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing'),
522 522
                     'type'        => 'select',
523
-                    'options'     => wpinv_get_pages( true,  __( 'Select a page', 'invoicing' )),
523
+                    'options'     => wpinv_get_pages(true, __('Select a page', 'invoicing')),
524 524
                     'class'       => 'wpi_select2',
525
-                    'placeholder' => __( 'Select a page', 'invoicing' ),
525
+                    'placeholder' => __('Select a page', 'invoicing'),
526 526
                 ),
527 527
             ),
528 528
         )
@@ -533,19 +533,19 @@  discard block
 block discarded – undo
533 533
             'main' => array(
534 534
                 'invoice_number_format_settings' => array(
535 535
                     'id'   => 'invoice_number_format_settings',
536
-                    'name' => '<h3>' . __( 'Invoice Number', 'invoicing' ) . '</h3>',
536
+                    'name' => '<h3>' . __('Invoice Number', 'invoicing') . '</h3>',
537 537
                     'type' => 'header',
538 538
                 ),
539 539
                 'sequential_invoice_number' => array(
540 540
                     'id'   => 'sequential_invoice_number',
541
-                    'name' => __( 'Sequential Invoice Numbers', 'invoicing' ),
542
-                    'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing' ) . $reset_number,
541
+                    'name' => __('Sequential Invoice Numbers', 'invoicing'),
542
+                    'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing') . $reset_number,
543 543
                     'type' => 'checkbox',
544 544
                 ),
545 545
                 'invoice_sequence_start' => array(
546 546
                     'id'   => 'invoice_sequence_start',
547
-                    'name' => __( 'Sequential Starting Number', 'invoicing' ),
548
-                    'desc' => __( 'The number at which the invoice number sequence should begin.', 'invoicing' ) . $last_number,
547
+                    'name' => __('Sequential Starting Number', 'invoicing'),
548
+                    'desc' => __('The number at which the invoice number sequence should begin.', 'invoicing') . $last_number,
549 549
                     'type' => 'number',
550 550
                     'size' => 'small',
551 551
                     'std'  => '1',
@@ -553,8 +553,8 @@  discard block
 block discarded – undo
553 553
                 ),
554 554
                 'invoice_number_padd' => array(
555 555
                     'id'      => 'invoice_number_padd',
556
-                    'name'    => __( 'Minimum Digits', 'invoicing' ),
557
-                    'desc'    => __( 'If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing' ),
556
+                    'name'    => __('Minimum Digits', 'invoicing'),
557
+                    'desc'    => __('If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing'),
558 558
                     'type'    => 'select',
559 559
                     'options' => $invoice_number_padd_options,
560 560
                     'std'     => 5,
@@ -562,8 +562,8 @@  discard block
 block discarded – undo
562 562
                 ),
563 563
                 'invoice_number_prefix' => array(
564 564
                     'id' => 'invoice_number_prefix',
565
-                    'name' => __( 'Invoice Number Prefix', 'invoicing' ),
566
-                    'desc' => __( 'Prefix for all invoice numbers. Ex: INV-', 'invoicing' ),
565
+                    'name' => __('Invoice Number Prefix', 'invoicing'),
566
+                    'desc' => __('Prefix for all invoice numbers. Ex: INV-', 'invoicing'),
567 567
                     'type' => 'text',
568 568
                     'size' => 'regular',
569 569
                     'std' => 'INV-',
@@ -571,41 +571,41 @@  discard block
 block discarded – undo
571 571
                 ),
572 572
                 'invoice_number_postfix' => array(
573 573
                     'id' => 'invoice_number_postfix',
574
-                    'name' => __( 'Invoice Number Postfix', 'invoicing' ),
575
-                    'desc' => __( 'Postfix for all invoice numbers.', 'invoicing' ),
574
+                    'name' => __('Invoice Number Postfix', 'invoicing'),
575
+                    'desc' => __('Postfix for all invoice numbers.', 'invoicing'),
576 576
                     'type' => 'text',
577 577
                     'size' => 'regular',
578 578
                     'std' => ''
579 579
                 ),
580 580
                 'checkout_settings' => array(
581 581
                     'id'   => 'checkout_settings',
582
-                    'name' => '<h3>' . __( 'Checkout Settings', 'invoicing' ) . '</h3>',
582
+                    'name' => '<h3>' . __('Checkout Settings', 'invoicing') . '</h3>',
583 583
                     'type' => 'header',
584 584
                 ),
585 585
                 'login_to_checkout' => array(
586 586
                     'id'   => 'login_to_checkout',
587
-                    'name' => __( 'Require Login To Checkout', 'invoicing' ),
588
-                    'desc' => __( 'If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing' ),
587
+                    'name' => __('Require Login To Checkout', 'invoicing'),
588
+                    'desc' => __('If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing'),
589 589
                     'type' => 'checkbox',
590 590
                 ),
591 591
 
592 592
                 'maxmind_license_key' => array(
593 593
                     'id'   => 'maxmind_license_key',
594
-                    'name' => __( 'MaxMind License Key', 'invoicing' ),
594
+                    'name' => __('MaxMind License Key', 'invoicing'),
595 595
                     'type' => 'text',
596 596
                     'size' => 'regular',
597
-                    'desc' => __( "Enter you license key if you would like to use MaxMind to automatically detect a customer's country.", 'invoicing' ) . ' <a href="https://support.maxmind.com/account-faq/license-keys/how-do-i-generate-a-license-key/">' . __( 'How to generate a free license key.', 'invoicing' ) . '</a>',
597
+                    'desc' => __("Enter you license key if you would like to use MaxMind to automatically detect a customer's country.", 'invoicing') . ' <a href="https://support.maxmind.com/account-faq/license-keys/how-do-i-generate-a-license-key/">' . __('How to generate a free license key.', 'invoicing') . '</a>',
598 598
                 ),
599 599
 
600 600
                 'uninstall_settings' => array(
601 601
                     'id'   => 'uninstall_settings',
602
-                    'name' => '<h3>' . __( 'Uninstall Settings', 'invoicing' ) . '</h3>',
602
+                    'name' => '<h3>' . __('Uninstall Settings', 'invoicing') . '</h3>',
603 603
                     'type' => 'header',
604 604
                 ),
605 605
                 'remove_data_on_unistall' => array(
606 606
                     'id'   => 'remove_data_on_unistall',
607
-                    'name' => __( 'Remove Data on Uninstall?', 'invoicing' ),
608
-                    'desc' => __( 'Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing' ),
607
+                    'name' => __('Remove Data on Uninstall?', 'invoicing'),
608
+                    'desc' => __('Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing'),
609 609
                     'type' => 'checkbox',
610 610
                     'std'  => ''
611 611
                 ),
@@ -614,13 +614,13 @@  discard block
 block discarded – undo
614 614
             'custom-css' => array(
615 615
                 'css_settings' => array(
616 616
                     'id'   => 'css_settings',
617
-                    'name' => '<h3>' . __( 'Custom CSS', 'invoicing' ) . '</h3>',
617
+                    'name' => '<h3>' . __('Custom CSS', 'invoicing') . '</h3>',
618 618
                     'type' => 'header',
619 619
                 ),
620 620
                 'template_custom_css' => array(
621 621
                     'id' => 'template_custom_css',
622
-                    'name' => __( 'Invoice Template CSS', 'invoicing' ),
623
-                    'desc' => __( 'Add CSS to modify appearance of the print invoice page.', 'invoicing' ),
622
+                    'name' => __('Invoice Template CSS', 'invoicing'),
623
+                    'desc' => __('Add CSS to modify appearance of the print invoice page.', 'invoicing'),
624 624
                     'type' => 'textarea',
625 625
                     'class'=> 'regular-text',
626 626
                     'rows' => 10,
@@ -634,8 +634,8 @@  discard block
 block discarded – undo
634 634
             'main' => array(
635 635
                 'tool_settings' => array(
636 636
                     'id'   => 'tool_settings',
637
-                    'name' => '<h3>' . __( 'Diagnostic Tools', 'invoicing' ) . '</h3>',
638
-                    'desc' => __( 'Invoicing diagnostic tools', 'invoicing' ),
637
+                    'name' => '<h3>' . __('Diagnostic Tools', 'invoicing') . '</h3>',
638
+                    'desc' => __('Invoicing diagnostic tools', 'invoicing'),
639 639
                     'type' => 'tools',
640 640
                 ),
641 641
             ),
Please login to merge, or discard this patch.
widgets/subscriptions.php 2 patches
Indentation   +332 added lines, -332 removed lines patch added patch discarded remove patch
@@ -14,144 +14,144 @@  discard block
 block discarded – undo
14 14
  */
15 15
 class WPInv_Subscriptions_Widget extends WP_Super_Duper {
16 16
 
17
-	/**
18
-	 * Register the widget with WordPress.
19
-	 *
20
-	 */
21
-	public function __construct() {
22
-
23
-		$options = array(
24
-			'textdomain'    => 'invoicing',
25
-			'block-icon'    => 'controls-repeat',
26
-			'block-category'=> 'widgets',
27
-			'block-keywords'=> "['invoicing','subscriptions', 'getpaid']",
28
-			'class_name'     => __CLASS__,
29
-			'base_id'       => 'wpinv_subscriptions',
30
-			'name'          => __( 'GetPaid > Subscriptions', 'invoicing' ),
31
-			'widget_ops'    => array(
32
-				'classname'   => 'getpaid-subscriptions bsui',
33
-				'description' => esc_html__( "Displays the current user's subscriptions.", 'invoicing' ),
34
-			),
35
-			'arguments'     => array(
36
-				'title'  => array(
37
-					'title'       => __( 'Widget title', 'invoicing' ),
38
-					'desc'        => __( 'Enter widget title.', 'invoicing' ),
39
-					'type'        => 'text',
40
-					'desc_tip'    => true,
41
-					'default'     => '',
42
-					'advanced'    => false
43
-				),
44
-			)
45
-
46
-		);
47
-
48
-
49
-		parent::__construct( $options );
50
-	}
51
-
52
-	/**
53
-	 * Retrieves current user's subscriptions.
54
-	 *
55
-	 * @return GetPaid_Subscriptions_Query
56
-	 */
57
-	public function get_subscriptions() {
58
-
59
-		// Prepare license args.
60
-		$args  = array(
61
-			'customer_in' => get_current_user_id(),
62
-			'paged'       => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
63
-		);
64
-
65
-		return new GetPaid_Subscriptions_Query( $args );
66
-
67
-	}
68
-
69
-	/**
70
-	 * The Super block output function.
71
-	 *
72
-	 * @param array $args
73
-	 * @param array $widget_args
74
-	 * @param string $content
75
-	 *
76
-	 * @return mixed|string|bool
77
-	 */
78
-	public function output( $args = array(), $widget_args = array(), $content = '' ) {
79
-
80
-		// Ensure that the user is logged in.
81
-		if ( ! is_user_logged_in() ) {
82
-
83
-			return aui()->alert(
84
-				array(
85
-					'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ),
86
-					'type'    => 'error',
87
-				)
88
-			);
89
-
90
-		}
91
-
92
-		// Are we displaying a single subscription?
93
-		if ( isset( $_GET['subscription'] ) ) {
94
-			return $this->display_single_subscription( trim( $_GET['subscription'] ) );
95
-		}
96
-
97
-		// Retrieve the user's subscriptions.
98
-		$subscriptions = $this->get_subscriptions();
99
-
100
-		// Start the output buffer.
101
-		ob_start();
102
-
103
-		// Backwards compatibility.
104
-		do_action( 'wpinv_before_user_subscriptions' );
105
-
106
-		// Display errors and notices.
107
-		wpinv_print_errors();
108
-
109
-		do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions );
110
-
111
-		// Print the table header.
112
-		$this->print_table_header();
113
-
114
-		// Print table body.
115
-		$this->print_table_body( $subscriptions->get_results() );
116
-
117
-		// Print table footer.
118
-		$this->print_table_footer();
119
-
120
-		// Print the navigation.
121
-		$this->print_navigation( $subscriptions->get_total() );
122
-
123
-		// Backwards compatibility.
124
-		do_action( 'wpinv_after_user_subscriptions' );
125
-
126
-		// Return the output.
127
-		return ob_get_clean();
128
-
129
-	}
130
-
131
-	/**
132
-	 * Retrieves the subscription columns.
133
-	 *
134
-	 * @return array
135
-	 */
136
-	public function get_subscriptions_table_columns() {
17
+    /**
18
+     * Register the widget with WordPress.
19
+     *
20
+     */
21
+    public function __construct() {
22
+
23
+        $options = array(
24
+            'textdomain'    => 'invoicing',
25
+            'block-icon'    => 'controls-repeat',
26
+            'block-category'=> 'widgets',
27
+            'block-keywords'=> "['invoicing','subscriptions', 'getpaid']",
28
+            'class_name'     => __CLASS__,
29
+            'base_id'       => 'wpinv_subscriptions',
30
+            'name'          => __( 'GetPaid > Subscriptions', 'invoicing' ),
31
+            'widget_ops'    => array(
32
+                'classname'   => 'getpaid-subscriptions bsui',
33
+                'description' => esc_html__( "Displays the current user's subscriptions.", 'invoicing' ),
34
+            ),
35
+            'arguments'     => array(
36
+                'title'  => array(
37
+                    'title'       => __( 'Widget title', 'invoicing' ),
38
+                    'desc'        => __( 'Enter widget title.', 'invoicing' ),
39
+                    'type'        => 'text',
40
+                    'desc_tip'    => true,
41
+                    'default'     => '',
42
+                    'advanced'    => false
43
+                ),
44
+            )
45
+
46
+        );
47
+
48
+
49
+        parent::__construct( $options );
50
+    }
51
+
52
+    /**
53
+     * Retrieves current user's subscriptions.
54
+     *
55
+     * @return GetPaid_Subscriptions_Query
56
+     */
57
+    public function get_subscriptions() {
58
+
59
+        // Prepare license args.
60
+        $args  = array(
61
+            'customer_in' => get_current_user_id(),
62
+            'paged'       => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
63
+        );
64
+
65
+        return new GetPaid_Subscriptions_Query( $args );
66
+
67
+    }
68
+
69
+    /**
70
+     * The Super block output function.
71
+     *
72
+     * @param array $args
73
+     * @param array $widget_args
74
+     * @param string $content
75
+     *
76
+     * @return mixed|string|bool
77
+     */
78
+    public function output( $args = array(), $widget_args = array(), $content = '' ) {
79
+
80
+        // Ensure that the user is logged in.
81
+        if ( ! is_user_logged_in() ) {
82
+
83
+            return aui()->alert(
84
+                array(
85
+                    'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ),
86
+                    'type'    => 'error',
87
+                )
88
+            );
89
+
90
+        }
91
+
92
+        // Are we displaying a single subscription?
93
+        if ( isset( $_GET['subscription'] ) ) {
94
+            return $this->display_single_subscription( trim( $_GET['subscription'] ) );
95
+        }
96
+
97
+        // Retrieve the user's subscriptions.
98
+        $subscriptions = $this->get_subscriptions();
99
+
100
+        // Start the output buffer.
101
+        ob_start();
102
+
103
+        // Backwards compatibility.
104
+        do_action( 'wpinv_before_user_subscriptions' );
105
+
106
+        // Display errors and notices.
107
+        wpinv_print_errors();
108
+
109
+        do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions );
110
+
111
+        // Print the table header.
112
+        $this->print_table_header();
113
+
114
+        // Print table body.
115
+        $this->print_table_body( $subscriptions->get_results() );
116
+
117
+        // Print table footer.
118
+        $this->print_table_footer();
119
+
120
+        // Print the navigation.
121
+        $this->print_navigation( $subscriptions->get_total() );
122
+
123
+        // Backwards compatibility.
124
+        do_action( 'wpinv_after_user_subscriptions' );
125
+
126
+        // Return the output.
127
+        return ob_get_clean();
128
+
129
+    }
130
+
131
+    /**
132
+     * Retrieves the subscription columns.
133
+     *
134
+     * @return array
135
+     */
136
+    public function get_subscriptions_table_columns() {
137 137
 
138
-		$columns = array(
139
-			'subscription'   => __( 'Subscription', 'invoicing' ),
140
-			'amount'         => __( 'Amount', 'invoicing' ),
141
-			'renewal-date'   => __( 'Next payment', 'invoicing' ),
142
-			'status'         => __( 'Status', 'invoicing' ),
143
-		);
138
+        $columns = array(
139
+            'subscription'   => __( 'Subscription', 'invoicing' ),
140
+            'amount'         => __( 'Amount', 'invoicing' ),
141
+            'renewal-date'   => __( 'Next payment', 'invoicing' ),
142
+            'status'         => __( 'Status', 'invoicing' ),
143
+        );
144 144
 
145
-		return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns );
146
-	}
145
+        return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns );
146
+    }
147 147
 
148
-	/**
149
-	 * Displays the table header.
150
-	 *
151
-	 */
152
-	public function print_table_header() {
148
+    /**
149
+     * Displays the table header.
150
+     *
151
+     */
152
+    public function print_table_header() {
153 153
 
154
-		?>
154
+        ?>
155 155
 
156 156
 			<table class="table table-bordered table-striped">
157 157
 
@@ -167,121 +167,121 @@  discard block
 block discarded – undo
167 167
 
168 168
 		<?php
169 169
 
170
-	}
170
+    }
171 171
 
172
-	/**
173
-	 * Displays the table body.
174
-	 *
175
-	 * @param WPInv_Subscription[] $subscriptions
176
-	 */
177
-	public function print_table_body( $subscriptions ) {
172
+    /**
173
+     * Displays the table body.
174
+     *
175
+     * @param WPInv_Subscription[] $subscriptions
176
+     */
177
+    public function print_table_body( $subscriptions ) {
178 178
 
179
-		if ( empty( $subscriptions ) ) {
180
-			$this->print_table_body_no_subscriptions();
181
-		} else {
182
-			$this->print_table_body_subscriptions( $subscriptions );
183
-		}
179
+        if ( empty( $subscriptions ) ) {
180
+            $this->print_table_body_no_subscriptions();
181
+        } else {
182
+            $this->print_table_body_subscriptions( $subscriptions );
183
+        }
184 184
 
185
-	}
185
+    }
186 186
 
187
-	/**
188
-	 * Displays the table body if no subscriptions were found.
189
-	 *
190
-	 */
191
-	public function print_table_body_no_subscriptions() {
187
+    /**
188
+     * Displays the table body if no subscriptions were found.
189
+     *
190
+     */
191
+    public function print_table_body_no_subscriptions() {
192 192
 
193
-		?>
193
+        ?>
194 194
 		<tbody>
195 195
 
196 196
 			<tr>
197 197
 				<td colspan="<?php echo count( $this->get_subscriptions_table_columns() ); ?>">
198 198
 
199 199
 					<?php
200
-						echo aui()->alert(
201
-							array(
202
-								'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ),
203
-								'type'    => 'warning',
204
-							)
205
-						);
206
-					?>
200
+                        echo aui()->alert(
201
+                            array(
202
+                                'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ),
203
+                                'type'    => 'warning',
204
+                            )
205
+                        );
206
+                    ?>
207 207
 
208 208
 				</td>
209 209
 			</tr>
210 210
 
211 211
 		</tbody>
212 212
 		<?php
213
-	}
213
+    }
214 214
 
215
-	/**
216
-	 * Displays the table body if subscriptions were found.
217
-	 *
218
-	 * @param WPInv_Subscription[] $subscriptions
219
-	 */
220
-	public function print_table_body_subscriptions( $subscriptions ) {
215
+    /**
216
+     * Displays the table body if subscriptions were found.
217
+     *
218
+     * @param WPInv_Subscription[] $subscriptions
219
+     */
220
+    public function print_table_body_subscriptions( $subscriptions ) {
221 221
 
222
-		?>
222
+        ?>
223 223
 		<tbody>
224 224
 
225 225
 			<?php foreach ( $subscriptions as $subscription ) : ?>
226 226
 				<tr class="getpaid-subscriptions-table-row subscription-<?php echo (int) $subscription->get_id(); ?>">
227 227
 					<?php
228
-						wpinv_get_template(
229
-							'subscriptions/subscriptions-table-row.php',
230
-							array(
231
-								'subscription' => $subscription,
232
-								'widget'       => $this
233
-							)
234
-						);
235
-					?>
228
+                        wpinv_get_template(
229
+                            'subscriptions/subscriptions-table-row.php',
230
+                            array(
231
+                                'subscription' => $subscription,
232
+                                'widget'       => $this
233
+                            )
234
+                        );
235
+                    ?>
236 236
 				</tr>
237 237
 			<?php endforeach; ?>
238 238
 
239 239
 		</tbody>
240 240
 		<?php
241
-	}
242
-
243
-	/**
244
-	 * Adds row actions to a column
245
-	 *
246
-	 * @param string $content column content
247
-	 * @param WPInv_Subscription $subscription
248
-	 * @since       1.0.0
249
-	 * @return      string
250
-	 */
251
-	public function add_row_actions( $content, $subscription ) {
252
-
253
-		// Prepare row actions.
254
-		$actions = array();
255
-
256
-		// View subscription action.
257
-		$view_url        = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
258
-		$view_url        = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) );
259
-		$actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>';
260
-
261
-		// Filter the actions.
262
-		$actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription );
263
-
264
-		$sanitized  = array();
265
-		foreach ( $actions as $key => $action ) {
266
-			$key         = sanitize_html_class( $key );
267
-			$action      = wp_kses_post( $action );
268
-			$sanitized[] = "<span class='$key'>$action</span>";
269
-		}
270
-
271
-		$row_actions  = "<small class='form-text getpaid-subscription-item-actions'>";
272
-		$row_actions .= implode( ' | ', $sanitized );
273
-		$row_actions .= '</small>';
274
-
275
-		return $content . $row_actions;
276
-	}
277
-
278
-	/**
279
-	 * Displays the table footer.
280
-	 *
281
-	 */
282
-	public function print_table_footer() {
283
-
284
-		?>
241
+    }
242
+
243
+    /**
244
+     * Adds row actions to a column
245
+     *
246
+     * @param string $content column content
247
+     * @param WPInv_Subscription $subscription
248
+     * @since       1.0.0
249
+     * @return      string
250
+     */
251
+    public function add_row_actions( $content, $subscription ) {
252
+
253
+        // Prepare row actions.
254
+        $actions = array();
255
+
256
+        // View subscription action.
257
+        $view_url        = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
258
+        $view_url        = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) );
259
+        $actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>';
260
+
261
+        // Filter the actions.
262
+        $actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription );
263
+
264
+        $sanitized  = array();
265
+        foreach ( $actions as $key => $action ) {
266
+            $key         = sanitize_html_class( $key );
267
+            $action      = wp_kses_post( $action );
268
+            $sanitized[] = "<span class='$key'>$action</span>";
269
+        }
270
+
271
+        $row_actions  = "<small class='form-text getpaid-subscription-item-actions'>";
272
+        $row_actions .= implode( ' | ', $sanitized );
273
+        $row_actions .= '</small>';
274
+
275
+        return $content . $row_actions;
276
+    }
277
+
278
+    /**
279
+     * Displays the table footer.
280
+     *
281
+     */
282
+    public function print_table_footer() {
283
+
284
+        ?>
285 285
 
286 286
 				<tfoot>
287 287
 					<tr>
@@ -296,129 +296,129 @@  discard block
 block discarded – undo
296 296
 			</table>
297 297
 		<?php
298 298
 
299
-	}
299
+    }
300 300
 
301
-	/**
302
-	 * Displays the navigation.
303
-	 *
304
-	 * @param int $total
305
-	 */
306
-	public function print_navigation( $total ) {
301
+    /**
302
+     * Displays the navigation.
303
+     *
304
+     * @param int $total
305
+     */
306
+    public function print_navigation( $total ) {
307 307
 
308
-		if ( $total < 1 ) {
308
+        if ( $total < 1 ) {
309 309
 
310
-			// Out-of-bounds, run the query again without LIMIT for total count.
311
-			$args  = array(
312
-				'customer_in' => get_current_user_id(),
313
-				'fields'      => 'id',
314
-			);
310
+            // Out-of-bounds, run the query again without LIMIT for total count.
311
+            $args  = array(
312
+                'customer_in' => get_current_user_id(),
313
+                'fields'      => 'id',
314
+            );
315 315
 
316
-			$count_query = new GetPaid_Subscriptions_Query( $args );
317
-			$total       = $count_query->get_total();
318
-		}
316
+            $count_query = new GetPaid_Subscriptions_Query( $args );
317
+            $total       = $count_query->get_total();
318
+        }
319 319
 
320
-		// Abort if we do not have pages.
321
-		if ( 2 > $total ) {
322
-			return;
323
-		}
320
+        // Abort if we do not have pages.
321
+        if ( 2 > $total ) {
322
+            return;
323
+        }
324 324
 
325
-		?>
325
+        ?>
326 326
 
327 327
 		<div class="getpaid-subscriptions-pagination">
328 328
 			<?php
329
-				$big = 999999;
330
-
331
-				echo getpaid_paginate_links(
332
-					array(
333
-						'base'    => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
334
-						'format'  => '?paged=%#%',
335
-						'total'   => (int) ceil( $total / 10 ),
336
-					)
337
-				);
338
-			?>
329
+                $big = 999999;
330
+
331
+                echo getpaid_paginate_links(
332
+                    array(
333
+                        'base'    => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
334
+                        'format'  => '?paged=%#%',
335
+                        'total'   => (int) ceil( $total / 10 ),
336
+                    )
337
+                );
338
+            ?>
339 339
 		</div>
340 340
 
341 341
 		<?php
342
-	}
343
-
344
-	/**
345
-	 * Returns a single subscription's columns.
346
-	 *
347
-	 * @param WPInv_Subscription $subscription
348
-	 *
349
-	 * @return array
350
-	 */
351
-	public function get_single_subscription_columns( $subscription ) {
352
-
353
-		// Prepare subscription detail columns.
354
-		$fields = apply_filters(
355
-			'getpaid_single_subscription_details_fields',
356
-			array(
357
-				'status'           => __( 'Status', 'invoicing' ),
358
-				'initial_amount'   => __( 'Initial amount', 'invoicing' ),
359
-				'recurring_amount' => __( 'Recurring amount', 'invoicing' ),
360
-				'start_date'       => __( 'Start date', 'invoicing' ),
361
-				'expiry_date'      => __( 'Next payment', 'invoicing' ),
362
-				'payments'         => __( 'Payments', 'invoicing' ),
363
-				'item'             => __( 'Item', 'invoicing' ),
364
-			),
365
-			$subscription
366
-		);
367
-
368
-		if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) {
369
-			$fields['expiry_date'] = __( 'End date', 'invoicing' );
370
-		}
371
-
372
-		if ( $subscription->get_initial_amount() == $subscription->get_recurring_amount() ) {
373
-			unset( $fields['initial_amount'] );
374
-		}
375
-
376
-		return $fields;
377
-	}
378
-
379
-	/**
380
-	 * Displays a single subscription.
381
-	 *
382
-	 * @param string $subscription
383
-	 *
384
-	 * @return string
385
-	 */
386
-	public function display_single_subscription( $subscription ) {
387
-
388
-		// Fetch the subscription.
389
-		$subscription = new WPInv_Subscription( (int) $subscription );
390
-
391
-		if ( ! $subscription->get_id() ) {
392
-
393
-			return aui()->alert(
394
-				array(
395
-					'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ),
396
-					'type'    => 'error',
397
-				)
398
-			);
399
-
400
-		}
401
-
402
-		// Ensure that the user owns this subscription key.
403
-		if ( get_current_user_id() != $subscription->get_customer_id() ) {
404
-
405
-			return aui()->alert(
406
-				array(
407
-					'content' => wp_kses_post( __( 'You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing' ) ),
408
-					'type'    => 'error',
409
-				)
410
-			);
411
-
412
-		}
413
-
414
-		return wpinv_get_template_html(
415
-			'subscriptions/subscription-details.php',
416
-			array(
417
-				'subscription' => $subscription,
418
-				'widget'       => $this
419
-			)
420
-		);
421
-
422
-	}
342
+    }
343
+
344
+    /**
345
+     * Returns a single subscription's columns.
346
+     *
347
+     * @param WPInv_Subscription $subscription
348
+     *
349
+     * @return array
350
+     */
351
+    public function get_single_subscription_columns( $subscription ) {
352
+
353
+        // Prepare subscription detail columns.
354
+        $fields = apply_filters(
355
+            'getpaid_single_subscription_details_fields',
356
+            array(
357
+                'status'           => __( 'Status', 'invoicing' ),
358
+                'initial_amount'   => __( 'Initial amount', 'invoicing' ),
359
+                'recurring_amount' => __( 'Recurring amount', 'invoicing' ),
360
+                'start_date'       => __( 'Start date', 'invoicing' ),
361
+                'expiry_date'      => __( 'Next payment', 'invoicing' ),
362
+                'payments'         => __( 'Payments', 'invoicing' ),
363
+                'item'             => __( 'Item', 'invoicing' ),
364
+            ),
365
+            $subscription
366
+        );
367
+
368
+        if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) {
369
+            $fields['expiry_date'] = __( 'End date', 'invoicing' );
370
+        }
371
+
372
+        if ( $subscription->get_initial_amount() == $subscription->get_recurring_amount() ) {
373
+            unset( $fields['initial_amount'] );
374
+        }
375
+
376
+        return $fields;
377
+    }
378
+
379
+    /**
380
+     * Displays a single subscription.
381
+     *
382
+     * @param string $subscription
383
+     *
384
+     * @return string
385
+     */
386
+    public function display_single_subscription( $subscription ) {
387
+
388
+        // Fetch the subscription.
389
+        $subscription = new WPInv_Subscription( (int) $subscription );
390
+
391
+        if ( ! $subscription->get_id() ) {
392
+
393
+            return aui()->alert(
394
+                array(
395
+                    'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ),
396
+                    'type'    => 'error',
397
+                )
398
+            );
399
+
400
+        }
401
+
402
+        // Ensure that the user owns this subscription key.
403
+        if ( get_current_user_id() != $subscription->get_customer_id() ) {
404
+
405
+            return aui()->alert(
406
+                array(
407
+                    'content' => wp_kses_post( __( 'You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing' ) ),
408
+                    'type'    => 'error',
409
+                )
410
+            );
411
+
412
+        }
413
+
414
+        return wpinv_get_template_html(
415
+            'subscriptions/subscription-details.php',
416
+            array(
417
+                'subscription' => $subscription,
418
+                'widget'       => $this
419
+            )
420
+        );
421
+
422
+    }
423 423
 
424 424
 }
Please login to merge, or discard this patch.
Spacing   +72 added lines, -72 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * @version 1.0.0
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Contains the subscriptions widget.
@@ -27,15 +27,15 @@  discard block
 block discarded – undo
27 27
 			'block-keywords'=> "['invoicing','subscriptions', 'getpaid']",
28 28
 			'class_name'     => __CLASS__,
29 29
 			'base_id'       => 'wpinv_subscriptions',
30
-			'name'          => __( 'GetPaid > Subscriptions', 'invoicing' ),
30
+			'name'          => __('GetPaid > Subscriptions', 'invoicing'),
31 31
 			'widget_ops'    => array(
32 32
 				'classname'   => 'getpaid-subscriptions bsui',
33
-				'description' => esc_html__( "Displays the current user's subscriptions.", 'invoicing' ),
33
+				'description' => esc_html__("Displays the current user's subscriptions.", 'invoicing'),
34 34
 			),
35 35
 			'arguments'     => array(
36 36
 				'title'  => array(
37
-					'title'       => __( 'Widget title', 'invoicing' ),
38
-					'desc'        => __( 'Enter widget title.', 'invoicing' ),
37
+					'title'       => __('Widget title', 'invoicing'),
38
+					'desc'        => __('Enter widget title.', 'invoicing'),
39 39
 					'type'        => 'text',
40 40
 					'desc_tip'    => true,
41 41
 					'default'     => '',
@@ -46,7 +46,7 @@  discard block
 block discarded – undo
46 46
 		);
47 47
 
48 48
 
49
-		parent::__construct( $options );
49
+		parent::__construct($options);
50 50
 	}
51 51
 
52 52
 	/**
@@ -57,12 +57,12 @@  discard block
 block discarded – undo
57 57
 	public function get_subscriptions() {
58 58
 
59 59
 		// Prepare license args.
60
-		$args  = array(
60
+		$args = array(
61 61
 			'customer_in' => get_current_user_id(),
62
-			'paged'       => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
62
+			'paged'       => (get_query_var('paged')) ? absint(get_query_var('paged')) : 1,
63 63
 		);
64 64
 
65
-		return new GetPaid_Subscriptions_Query( $args );
65
+		return new GetPaid_Subscriptions_Query($args);
66 66
 
67 67
 	}
68 68
 
@@ -75,14 +75,14 @@  discard block
 block discarded – undo
75 75
 	 *
76 76
 	 * @return mixed|string|bool
77 77
 	 */
78
-	public function output( $args = array(), $widget_args = array(), $content = '' ) {
78
+	public function output($args = array(), $widget_args = array(), $content = '') {
79 79
 
80 80
 		// Ensure that the user is logged in.
81
-		if ( ! is_user_logged_in() ) {
81
+		if (!is_user_logged_in()) {
82 82
 
83 83
 			return aui()->alert(
84 84
 				array(
85
-					'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ),
85
+					'content' => wp_kses_post(__('You need to log-in or create an account to view this section.', 'invoicing')),
86 86
 					'type'    => 'error',
87 87
 				)
88 88
 			);
@@ -90,8 +90,8 @@  discard block
 block discarded – undo
90 90
 		}
91 91
 
92 92
 		// Are we displaying a single subscription?
93
-		if ( isset( $_GET['subscription'] ) ) {
94
-			return $this->display_single_subscription( trim( $_GET['subscription'] ) );
93
+		if (isset($_GET['subscription'])) {
94
+			return $this->display_single_subscription(trim($_GET['subscription']));
95 95
 		}
96 96
 
97 97
 		// Retrieve the user's subscriptions.
@@ -101,27 +101,27 @@  discard block
 block discarded – undo
101 101
 		ob_start();
102 102
 
103 103
 		// Backwards compatibility.
104
-		do_action( 'wpinv_before_user_subscriptions' );
104
+		do_action('wpinv_before_user_subscriptions');
105 105
 
106 106
 		// Display errors and notices.
107 107
 		wpinv_print_errors();
108 108
 
109
-		do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions );
109
+		do_action('getpaid_license_manager_before_subscriptions', $subscriptions);
110 110
 
111 111
 		// Print the table header.
112 112
 		$this->print_table_header();
113 113
 
114 114
 		// Print table body.
115
-		$this->print_table_body( $subscriptions->get_results() );
115
+		$this->print_table_body($subscriptions->get_results());
116 116
 
117 117
 		// Print table footer.
118 118
 		$this->print_table_footer();
119 119
 
120 120
 		// Print the navigation.
121
-		$this->print_navigation( $subscriptions->get_total() );
121
+		$this->print_navigation($subscriptions->get_total());
122 122
 
123 123
 		// Backwards compatibility.
124
-		do_action( 'wpinv_after_user_subscriptions' );
124
+		do_action('wpinv_after_user_subscriptions');
125 125
 
126 126
 		// Return the output.
127 127
 		return ob_get_clean();
@@ -136,13 +136,13 @@  discard block
 block discarded – undo
136 136
 	public function get_subscriptions_table_columns() {
137 137
 
138 138
 		$columns = array(
139
-			'subscription'   => __( 'Subscription', 'invoicing' ),
140
-			'amount'         => __( 'Amount', 'invoicing' ),
141
-			'renewal-date'   => __( 'Next payment', 'invoicing' ),
142
-			'status'         => __( 'Status', 'invoicing' ),
139
+			'subscription'   => __('Subscription', 'invoicing'),
140
+			'amount'         => __('Amount', 'invoicing'),
141
+			'renewal-date'   => __('Next payment', 'invoicing'),
142
+			'status'         => __('Status', 'invoicing'),
143 143
 		);
144 144
 
145
-		return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns );
145
+		return apply_filters('getpaid_frontend_subscriptions_table_columns', $columns);
146 146
 	}
147 147
 
148 148
 	/**
@@ -157,9 +157,9 @@  discard block
 block discarded – undo
157 157
 
158 158
 				<thead>
159 159
 					<tr>
160
-						<?php foreach ( $this->get_subscriptions_table_columns() as $key => $label ) : ?>
161
-							<th scope="col" class="getpaid-subscriptions-table-<?php echo sanitize_html_class( $key ); ?>">
162
-								<?php echo sanitize_text_field( $label ); ?>
160
+						<?php foreach ($this->get_subscriptions_table_columns() as $key => $label) : ?>
161
+							<th scope="col" class="getpaid-subscriptions-table-<?php echo sanitize_html_class($key); ?>">
162
+								<?php echo sanitize_text_field($label); ?>
163 163
 							</th>
164 164
 						<?php endforeach; ?>
165 165
 					</tr>
@@ -174,12 +174,12 @@  discard block
 block discarded – undo
174 174
 	 *
175 175
 	 * @param WPInv_Subscription[] $subscriptions
176 176
 	 */
177
-	public function print_table_body( $subscriptions ) {
177
+	public function print_table_body($subscriptions) {
178 178
 
179
-		if ( empty( $subscriptions ) ) {
179
+		if (empty($subscriptions)) {
180 180
 			$this->print_table_body_no_subscriptions();
181 181
 		} else {
182
-			$this->print_table_body_subscriptions( $subscriptions );
182
+			$this->print_table_body_subscriptions($subscriptions);
183 183
 		}
184 184
 
185 185
 	}
@@ -194,12 +194,12 @@  discard block
 block discarded – undo
194 194
 		<tbody>
195 195
 
196 196
 			<tr>
197
-				<td colspan="<?php echo count( $this->get_subscriptions_table_columns() ); ?>">
197
+				<td colspan="<?php echo count($this->get_subscriptions_table_columns()); ?>">
198 198
 
199 199
 					<?php
200 200
 						echo aui()->alert(
201 201
 							array(
202
-								'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ),
202
+								'content' => wp_kses_post(__('No subscriptions found.', 'invoicing')),
203 203
 								'type'    => 'warning',
204 204
 							)
205 205
 						);
@@ -217,12 +217,12 @@  discard block
 block discarded – undo
217 217
 	 *
218 218
 	 * @param WPInv_Subscription[] $subscriptions
219 219
 	 */
220
-	public function print_table_body_subscriptions( $subscriptions ) {
220
+	public function print_table_body_subscriptions($subscriptions) {
221 221
 
222 222
 		?>
223 223
 		<tbody>
224 224
 
225
-			<?php foreach ( $subscriptions as $subscription ) : ?>
225
+			<?php foreach ($subscriptions as $subscription) : ?>
226 226
 				<tr class="getpaid-subscriptions-table-row subscription-<?php echo (int) $subscription->get_id(); ?>">
227 227
 					<?php
228 228
 						wpinv_get_template(
@@ -248,28 +248,28 @@  discard block
 block discarded – undo
248 248
 	 * @since       1.0.0
249 249
 	 * @return      string
250 250
 	 */
251
-	public function add_row_actions( $content, $subscription ) {
251
+	public function add_row_actions($content, $subscription) {
252 252
 
253 253
 		// Prepare row actions.
254 254
 		$actions = array();
255 255
 
256 256
 		// View subscription action.
257
-		$view_url        = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
258
-		$view_url        = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) );
259
-		$actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>';
257
+		$view_url        = getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page')));
258
+		$view_url        = esc_url(add_query_arg('subscription', (int) $subscription->get_id(), $view_url));
259
+		$actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __('Manage Subscription', 'invoicing') . '</a>';
260 260
 
261 261
 		// Filter the actions.
262
-		$actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription );
262
+		$actions = apply_filters('getpaid_subscriptions_table_subscription_actions', $actions, $subscription);
263 263
 
264
-		$sanitized  = array();
265
-		foreach ( $actions as $key => $action ) {
266
-			$key         = sanitize_html_class( $key );
267
-			$action      = wp_kses_post( $action );
264
+		$sanitized = array();
265
+		foreach ($actions as $key => $action) {
266
+			$key         = sanitize_html_class($key);
267
+			$action      = wp_kses_post($action);
268 268
 			$sanitized[] = "<span class='$key'>$action</span>";
269 269
 		}
270 270
 
271 271
 		$row_actions  = "<small class='form-text getpaid-subscription-item-actions'>";
272
-		$row_actions .= implode( ' | ', $sanitized );
272
+		$row_actions .= implode(' | ', $sanitized);
273 273
 		$row_actions .= '</small>';
274 274
 
275 275
 		return $content . $row_actions;
@@ -285,9 +285,9 @@  discard block
 block discarded – undo
285 285
 
286 286
 				<tfoot>
287 287
 					<tr>
288
-						<?php foreach ( $this->get_subscriptions_table_columns() as $key => $label ) : ?>
289
-							<th class="getpaid-subscriptions-<?php echo sanitize_html_class( $key ); ?>">
290
-								<?php echo sanitize_text_field( $label ); ?>
288
+						<?php foreach ($this->get_subscriptions_table_columns() as $key => $label) : ?>
289
+							<th class="getpaid-subscriptions-<?php echo sanitize_html_class($key); ?>">
290
+								<?php echo sanitize_text_field($label); ?>
291 291
 							</th>
292 292
 						<?php endforeach; ?>
293 293
 					</tr>
@@ -303,22 +303,22 @@  discard block
 block discarded – undo
303 303
 	 *
304 304
 	 * @param int $total
305 305
 	 */
306
-	public function print_navigation( $total ) {
306
+	public function print_navigation($total) {
307 307
 
308
-		if ( $total < 1 ) {
308
+		if ($total < 1) {
309 309
 
310 310
 			// Out-of-bounds, run the query again without LIMIT for total count.
311
-			$args  = array(
311
+			$args = array(
312 312
 				'customer_in' => get_current_user_id(),
313 313
 				'fields'      => 'id',
314 314
 			);
315 315
 
316
-			$count_query = new GetPaid_Subscriptions_Query( $args );
316
+			$count_query = new GetPaid_Subscriptions_Query($args);
317 317
 			$total       = $count_query->get_total();
318 318
 		}
319 319
 
320 320
 		// Abort if we do not have pages.
321
-		if ( 2 > $total ) {
321
+		if (2 > $total) {
322 322
 			return;
323 323
 		}
324 324
 
@@ -330,9 +330,9 @@  discard block
 block discarded – undo
330 330
 
331 331
 				echo getpaid_paginate_links(
332 332
 					array(
333
-						'base'    => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
333
+						'base'    => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
334 334
 						'format'  => '?paged=%#%',
335
-						'total'   => (int) ceil( $total / 10 ),
335
+						'total'   => (int) ceil($total / 10),
336 336
 					)
337 337
 				);
338 338
 			?>
@@ -348,29 +348,29 @@  discard block
 block discarded – undo
348 348
 	 *
349 349
 	 * @return array
350 350
 	 */
351
-	public function get_single_subscription_columns( $subscription ) {
351
+	public function get_single_subscription_columns($subscription) {
352 352
 
353 353
 		// Prepare subscription detail columns.
354 354
 		$fields = apply_filters(
355 355
 			'getpaid_single_subscription_details_fields',
356 356
 			array(
357
-				'status'           => __( 'Status', 'invoicing' ),
358
-				'initial_amount'   => __( 'Initial amount', 'invoicing' ),
359
-				'recurring_amount' => __( 'Recurring amount', 'invoicing' ),
360
-				'start_date'       => __( 'Start date', 'invoicing' ),
361
-				'expiry_date'      => __( 'Next payment', 'invoicing' ),
362
-				'payments'         => __( 'Payments', 'invoicing' ),
363
-				'item'             => __( 'Item', 'invoicing' ),
357
+				'status'           => __('Status', 'invoicing'),
358
+				'initial_amount'   => __('Initial amount', 'invoicing'),
359
+				'recurring_amount' => __('Recurring amount', 'invoicing'),
360
+				'start_date'       => __('Start date', 'invoicing'),
361
+				'expiry_date'      => __('Next payment', 'invoicing'),
362
+				'payments'         => __('Payments', 'invoicing'),
363
+				'item'             => __('Item', 'invoicing'),
364 364
 			),
365 365
 			$subscription
366 366
 		);
367 367
 
368
-		if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) {
369
-			$fields['expiry_date'] = __( 'End date', 'invoicing' );
368
+		if (!$subscription->is_active() || $subscription->is_last_renewal()) {
369
+			$fields['expiry_date'] = __('End date', 'invoicing');
370 370
 		}
371 371
 
372
-		if ( $subscription->get_initial_amount() == $subscription->get_recurring_amount() ) {
373
-			unset( $fields['initial_amount'] );
372
+		if ($subscription->get_initial_amount() == $subscription->get_recurring_amount()) {
373
+			unset($fields['initial_amount']);
374 374
 		}
375 375
 
376 376
 		return $fields;
@@ -383,16 +383,16 @@  discard block
 block discarded – undo
383 383
 	 *
384 384
 	 * @return string
385 385
 	 */
386
-	public function display_single_subscription( $subscription ) {
386
+	public function display_single_subscription($subscription) {
387 387
 
388 388
 		// Fetch the subscription.
389
-		$subscription = new WPInv_Subscription( (int) $subscription );
389
+		$subscription = new WPInv_Subscription((int) $subscription);
390 390
 
391
-		if ( ! $subscription->get_id() ) {
391
+		if (!$subscription->get_id()) {
392 392
 
393 393
 			return aui()->alert(
394 394
 				array(
395
-					'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ),
395
+					'content' => wp_kses_post(__('Subscription not found.', 'invoicing')),
396 396
 					'type'    => 'error',
397 397
 				)
398 398
 			);
@@ -400,11 +400,11 @@  discard block
 block discarded – undo
400 400
 		}
401 401
 
402 402
 		// Ensure that the user owns this subscription key.
403
-		if ( get_current_user_id() != $subscription->get_customer_id() ) {
403
+		if (get_current_user_id() != $subscription->get_customer_id()) {
404 404
 
405 405
 			return aui()->alert(
406 406
 				array(
407
-					'content' => wp_kses_post( __( 'You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing' ) ),
407
+					'content' => wp_kses_post(__('You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing')),
408 408
 					'type'    => 'error',
409 409
 				)
410 410
 			);
Please login to merge, or discard this patch.
includes/wpinv-subscription.php 2 patches
Indentation   +1005 added lines, -1005 removed lines patch added patch discarded remove patch
@@ -15,125 +15,125 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class WPInv_Subscription extends GetPaid_Data {
17 17
 
18
-	/**
19
-	 * Which data store to load.
20
-	 *
21
-	 * @var string
22
-	 */
23
-	protected $data_store_name = 'subscription';
24
-
25
-	/**
26
-	 * This is the name of this object type.
27
-	 *
28
-	 * @var string
29
-	 */
30
-	protected $object_type = 'subscription';
31
-
32
-	/**
33
-	 * Item Data array. This is the core item data exposed in APIs.
34
-	 *
35
-	 * @since 1.0.19
36
-	 * @var array
37
-	 */
38
-	protected $data = array(
39
-		'customer_id'       => 0,
40
-		'frequency'         => 1,
41
-		'period'            => 'D',
42
-		'initial_amount'    => null,
43
-		'recurring_amount'  => null,
44
-		'bill_times'        => 0,
45
-		'transaction_id'    => '',
46
-		'parent_payment_id' => null,
47
-		'product_id'        => 0,
48
-		'created'           => '0000-00-00 00:00:00',
49
-		'expiration'        => '0000-00-00 00:00:00',
50
-		'trial_period'      => '',
51
-		'status'            => 'pending',
52
-		'profile_id'        => '',
53
-		'gateway'           => '',
54
-		'customer'          => '',
55
-	);
56
-
57
-	/**
58
-	 * Stores the status transition information.
59
-	 *
60
-	 * @since 1.0.19
61
-	 * @var bool
62
-	 */
63
-	protected $status_transition = false;
64
-
65
-	/**
66
-	 * Get the subscription if ID is passed, otherwise the subscription is new and empty.
67
-	 *
68
-	 * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69
-	 * @param  bool $deprecated
70
-	 */
71
-	function __construct( $subscription = 0, $deprecated = false ) {
72
-
73
-		parent::__construct( $subscription );
74
-
75
-		if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
-			$this->set_id( $subscription );
77
-		} elseif ( $subscription instanceof self ) {
78
-			$this->set_id( $subscription->get_id() );
79
-		} elseif ( ! empty( $subscription->id ) ) {
80
-			$this->set_id( $subscription->id );
81
-		} elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
82
-			$this->set_id( $subscription_id );
83
-		} else {
84
-			$this->set_object_read( true );
85
-		}
86
-
87
-		// Load the datastore.
88
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
89
-
90
-		if ( $this->get_id() > 0 ) {
91
-			$this->data_store->read( $this );
92
-		}
93
-
94
-	}
95
-
96
-	/**
97
-	 * Given an invoice id, profile id, transaction id, it returns the subscription's id.
98
-	 *
99
-	 *
100
-	 * @static
101
-	 * @param string $value
102
-	 * @param string $field Either invoice_id, transaction_id or profile_id.
103
-	 * @since 1.0.19
104
-	 * @return int
105
-	 */
106
-	public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
18
+    /**
19
+     * Which data store to load.
20
+     *
21
+     * @var string
22
+     */
23
+    protected $data_store_name = 'subscription';
24
+
25
+    /**
26
+     * This is the name of this object type.
27
+     *
28
+     * @var string
29
+     */
30
+    protected $object_type = 'subscription';
31
+
32
+    /**
33
+     * Item Data array. This is the core item data exposed in APIs.
34
+     *
35
+     * @since 1.0.19
36
+     * @var array
37
+     */
38
+    protected $data = array(
39
+        'customer_id'       => 0,
40
+        'frequency'         => 1,
41
+        'period'            => 'D',
42
+        'initial_amount'    => null,
43
+        'recurring_amount'  => null,
44
+        'bill_times'        => 0,
45
+        'transaction_id'    => '',
46
+        'parent_payment_id' => null,
47
+        'product_id'        => 0,
48
+        'created'           => '0000-00-00 00:00:00',
49
+        'expiration'        => '0000-00-00 00:00:00',
50
+        'trial_period'      => '',
51
+        'status'            => 'pending',
52
+        'profile_id'        => '',
53
+        'gateway'           => '',
54
+        'customer'          => '',
55
+    );
56
+
57
+    /**
58
+     * Stores the status transition information.
59
+     *
60
+     * @since 1.0.19
61
+     * @var bool
62
+     */
63
+    protected $status_transition = false;
64
+
65
+    /**
66
+     * Get the subscription if ID is passed, otherwise the subscription is new and empty.
67
+     *
68
+     * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69
+     * @param  bool $deprecated
70
+     */
71
+    function __construct( $subscription = 0, $deprecated = false ) {
72
+
73
+        parent::__construct( $subscription );
74
+
75
+        if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
+            $this->set_id( $subscription );
77
+        } elseif ( $subscription instanceof self ) {
78
+            $this->set_id( $subscription->get_id() );
79
+        } elseif ( ! empty( $subscription->id ) ) {
80
+            $this->set_id( $subscription->id );
81
+        } elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
82
+            $this->set_id( $subscription_id );
83
+        } else {
84
+            $this->set_object_read( true );
85
+        }
86
+
87
+        // Load the datastore.
88
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
89
+
90
+        if ( $this->get_id() > 0 ) {
91
+            $this->data_store->read( $this );
92
+        }
93
+
94
+    }
95
+
96
+    /**
97
+     * Given an invoice id, profile id, transaction id, it returns the subscription's id.
98
+     *
99
+     *
100
+     * @static
101
+     * @param string $value
102
+     * @param string $field Either invoice_id, transaction_id or profile_id.
103
+     * @since 1.0.19
104
+     * @return int
105
+     */
106
+    public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
107 107
         global $wpdb;
108 108
 
109
-		// Trim the value.
110
-		$value = trim( $value );
109
+        // Trim the value.
110
+        $value = trim( $value );
111 111
 
112
-		if ( empty( $value ) ) {
113
-			return 0;
114
-		}
112
+        if ( empty( $value ) ) {
113
+            return 0;
114
+        }
115 115
 
116
-		if ( 'invoice_id' == $field ) {
117
-			$field = 'parent_payment_id';
118
-		}
116
+        if ( 'invoice_id' == $field ) {
117
+            $field = 'parent_payment_id';
118
+        }
119 119
 
120 120
         // Valid fields.
121 121
         $fields = array(
122
-			'parent_payment_id',
123
-			'transaction_id',
124
-			'profile_id'
125
-		);
126
-
127
-		// Ensure a field has been passed.
128
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
129
-			return 0;
130
-		}
131
-
132
-		// Maybe retrieve from the cache.
133
-		$subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
-		if ( ! empty( $subscription_id ) ) {
135
-			return $subscription_id;
136
-		}
122
+            'parent_payment_id',
123
+            'transaction_id',
124
+            'profile_id'
125
+        );
126
+
127
+        // Ensure a field has been passed.
128
+        if ( empty( $field ) || ! in_array( $field, $fields ) ) {
129
+            return 0;
130
+        }
131
+
132
+        // Maybe retrieve from the cache.
133
+        $subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
+        if ( ! empty( $subscription_id ) ) {
135
+            return $subscription_id;
136
+        }
137 137
 
138 138
         // Fetch from the db.
139 139
         $table            = $wpdb->prefix . 'wpinv_subscriptions';
@@ -141,34 +141,34 @@  discard block
 block discarded – undo
141 141
             $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
142 142
         );
143 143
 
144
-		if ( empty( $subscription_id ) ) {
145
-			return 0;
146
-		}
144
+        if ( empty( $subscription_id ) ) {
145
+            return 0;
146
+        }
147 147
 
148
-		// Update the cache with our data.
149
-		wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
148
+        // Update the cache with our data.
149
+        wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
150 150
 
151
-		return $subscription_id;
152
-	}
151
+        return $subscription_id;
152
+    }
153 153
 
154
-	/**
154
+    /**
155 155
      * Clears the subscription's cache.
156 156
      */
157 157
     public function clear_cache() {
158
-		wp_cache_delete( $this->get_parent_payment_id(), 'getpaid_subscription_parent_payment_ids_to_subscription_ids' );
159
-		wp_cache_delete( $this->get_transaction_id(), 'getpaid_subscription_transaction_ids_to_subscription_ids' );
160
-		wp_cache_delete( $this->get_profile_id(), 'getpaid_subscription_profile_ids_to_subscription_ids' );
161
-		wp_cache_delete( $this->get_id(), 'getpaid_subscriptions' );
162
-	}
158
+        wp_cache_delete( $this->get_parent_payment_id(), 'getpaid_subscription_parent_payment_ids_to_subscription_ids' );
159
+        wp_cache_delete( $this->get_transaction_id(), 'getpaid_subscription_transaction_ids_to_subscription_ids' );
160
+        wp_cache_delete( $this->get_profile_id(), 'getpaid_subscription_profile_ids_to_subscription_ids' );
161
+        wp_cache_delete( $this->get_id(), 'getpaid_subscriptions' );
162
+    }
163 163
 
164
-	/**
164
+    /**
165 165
      * Checks if a subscription key is set.
166 166
      */
167 167
     public function _isset( $key ) {
168 168
         return isset( $this->data[$key] ) || method_exists( $this, "get_$key" );
169
-	}
169
+    }
170 170
 
171
-	/*
171
+    /*
172 172
 	|--------------------------------------------------------------------------
173 173
 	| CRUD methods
174 174
 	|--------------------------------------------------------------------------
@@ -177,545 +177,545 @@  discard block
 block discarded – undo
177 177
 	|
178 178
     */
179 179
 
180
-	/*
180
+    /*
181 181
 	|--------------------------------------------------------------------------
182 182
 	| Getters
183 183
 	|--------------------------------------------------------------------------
184 184
 	*/
185 185
 
186
-	/**
187
-	 * Get customer id.
188
-	 *
189
-	 * @since 1.0.19
190
-	 * @param  string $context View or edit context.
191
-	 * @return int
192
-	 */
193
-	public function get_customer_id( $context = 'view' ) {
194
-		return (int) $this->get_prop( 'customer_id', $context );
195
-	}
196
-
197
-	/**
198
-	 * Get customer information.
199
-	 *
200
-	 * @since 1.0.19
201
-	 * @param  string $context View or edit context.
202
-	 * @return WP_User|false WP_User object on success, false on failure.
203
-	 */
204
-	public function get_customer( $context = 'view' ) {
205
-		return get_userdata( $this->get_customer_id( $context ) );
206
-	}
207
-
208
-	/**
209
-	 * Get parent invoice id.
210
-	 *
211
-	 * @since 1.0.19
212
-	 * @param  string $context View or edit context.
213
-	 * @return int
214
-	 */
215
-	public function get_parent_invoice_id( $context = 'view' ) {
216
-		return (int) $this->get_prop( 'parent_payment_id', $context );
217
-	}
218
-
219
-	/**
220
-	 * Alias for self::get_parent_invoice_id().
221
-	 *
222
-	 * @since 1.0.19
223
-	 * @param  string $context View or edit context.
224
-	 * @return int
225
-	 */
186
+    /**
187
+     * Get customer id.
188
+     *
189
+     * @since 1.0.19
190
+     * @param  string $context View or edit context.
191
+     * @return int
192
+     */
193
+    public function get_customer_id( $context = 'view' ) {
194
+        return (int) $this->get_prop( 'customer_id', $context );
195
+    }
196
+
197
+    /**
198
+     * Get customer information.
199
+     *
200
+     * @since 1.0.19
201
+     * @param  string $context View or edit context.
202
+     * @return WP_User|false WP_User object on success, false on failure.
203
+     */
204
+    public function get_customer( $context = 'view' ) {
205
+        return get_userdata( $this->get_customer_id( $context ) );
206
+    }
207
+
208
+    /**
209
+     * Get parent invoice id.
210
+     *
211
+     * @since 1.0.19
212
+     * @param  string $context View or edit context.
213
+     * @return int
214
+     */
215
+    public function get_parent_invoice_id( $context = 'view' ) {
216
+        return (int) $this->get_prop( 'parent_payment_id', $context );
217
+    }
218
+
219
+    /**
220
+     * Alias for self::get_parent_invoice_id().
221
+     *
222
+     * @since 1.0.19
223
+     * @param  string $context View or edit context.
224
+     * @return int
225
+     */
226 226
     public function get_parent_payment_id( $context = 'view' ) {
227 227
         return $this->get_parent_invoice_id( $context );
228
-	}
228
+    }
229 229
 
230
-	/**
230
+    /**
231 231
      * Alias for self::get_parent_invoice_id().
232 232
      *
233
-     * @since  1.0.0
234
-     * @return int
233
+     * @since  1.0.0
234
+     * @return int
235
+     */
236
+    public function get_original_payment_id( $context = 'view' ) {
237
+        return $this->get_parent_invoice_id( $context );
238
+    }
239
+
240
+    /**
241
+     * Get parent invoice.
242
+     *
243
+     * @since 1.0.19
244
+     * @param  string $context View or edit context.
245
+     * @return WPInv_Invoice
246
+     */
247
+    public function get_parent_invoice( $context = 'view' ) {
248
+        return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
249
+    }
250
+
251
+    /**
252
+     * Alias for self::get_parent_invoice().
253
+     *
254
+     * @since 1.0.19
255
+     * @param  string $context View or edit context.
256
+     * @return WPInv_Invoice
257
+     */
258
+    public function get_parent_payment( $context = 'view' ) {
259
+        return $this->get_parent_invoice( $context );
260
+    }
261
+
262
+    /**
263
+     * Get subscription's product id.
264
+     *
265
+     * @since 1.0.19
266
+     * @param  string $context View or edit context.
267
+     * @return int
268
+     */
269
+    public function get_product_id( $context = 'view' ) {
270
+        return (int) $this->get_prop( 'product_id', $context );
271
+    }
272
+
273
+    /**
274
+     * Get the subscription product.
275
+     *
276
+     * @since 1.0.19
277
+     * @param  string $context View or edit context.
278
+     * @return WPInv_Item
279
+     */
280
+    public function get_product( $context = 'view' ) {
281
+        return new WPInv_Item( $this->get_product_id( $context ) );
282
+    }
283
+
284
+    /**
285
+     * Get parent invoice's gateway.
286
+     *
287
+     * Here for backwards compatibility.
288
+     *
289
+     * @since 1.0.19
290
+     * @param  string $context View or edit context.
291
+     * @return string
292
+     */
293
+    public function get_gateway( $context = 'view' ) {
294
+        return $this->get_parent_invoice( $context )->get_gateway();
295
+    }
296
+
297
+    /**
298
+     * Get the period of a renewal.
299
+     *
300
+     * @since 1.0.19
301
+     * @param  string $context View or edit context.
302
+     * @return string
303
+     */
304
+    public function get_period( $context = 'view' ) {
305
+        return $this->get_prop( 'period', $context );
306
+    }
307
+
308
+    /**
309
+     * Get number of periods each renewal is valid for.
310
+     *
311
+     * @since 1.0.19
312
+     * @param  string $context View or edit context.
313
+     * @return int
314
+     */
315
+    public function get_frequency( $context = 'view' ) {
316
+        return (int) $this->get_prop( 'frequency', $context );
317
+    }
318
+
319
+    /**
320
+     * Get the initial amount for the subscription.
321
+     *
322
+     * @since 1.0.19
323
+     * @param  string $context View or edit context.
324
+     * @return float
325
+     */
326
+    public function get_initial_amount( $context = 'view' ) {
327
+        return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
328
+    }
329
+
330
+    /**
331
+     * Get the recurring amount for the subscription.
332
+     *
333
+     * @since 1.0.19
334
+     * @param  string $context View or edit context.
335
+     * @return float
336
+     */
337
+    public function get_recurring_amount( $context = 'view' ) {
338
+        return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
339
+    }
340
+
341
+    /**
342
+     * Get number of times that this subscription can be renewed.
343
+     *
344
+     * @since 1.0.19
345
+     * @param  string $context View or edit context.
346
+     * @return int
347
+     */
348
+    public function get_bill_times( $context = 'view' ) {
349
+        return (int) $this->get_prop( 'bill_times', $context );
350
+    }
351
+
352
+    /**
353
+     * Get transaction id of this subscription's parent invoice.
354
+     *
355
+     * @since 1.0.19
356
+     * @param  string $context View or edit context.
357
+     * @return string
358
+     */
359
+    public function get_transaction_id( $context = 'view' ) {
360
+        return $this->get_prop( 'transaction_id', $context );
361
+    }
362
+
363
+    /**
364
+     * Get the date that the subscription was created.
365
+     *
366
+     * @since 1.0.19
367
+     * @param  string $context View or edit context.
368
+     * @return string
369
+     */
370
+    public function get_created( $context = 'view' ) {
371
+        return $this->get_prop( 'created', $context );
372
+    }
373
+
374
+    /**
375
+     * Alias for self::get_created().
376
+     *
377
+     * @since 1.0.19
378
+     * @param  string $context View or edit context.
379
+     * @return string
380
+     */
381
+    public function get_date_created( $context = 'view' ) {
382
+        return $this->get_created( $context );
383
+    }
384
+
385
+    /**
386
+     * Retrieves the creation date in a timestamp
387
+     *
388
+     * @since  1.0.0
389
+     * @return int
390
+     */
391
+    public function get_time_created() {
392
+        $created = $this->get_date_created();
393
+        return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
394
+    }
395
+
396
+    /**
397
+     * Get GMT date when the subscription was created.
398
+     *
399
+     * @since 1.0.19
400
+     * @param  string $context View or edit context.
401
+     * @return string
402
+     */
403
+    public function get_date_created_gmt( $context = 'view' ) {
404
+        $date = $this->get_date_created( $context );
405
+
406
+        if ( $date ) {
407
+            $date = get_gmt_from_date( $date );
408
+        }
409
+        return $date;
410
+    }
411
+
412
+    /**
413
+     * Get the date that the subscription will renew.
414
+     *
415
+     * @since 1.0.19
416
+     * @param  string $context View or edit context.
417
+     * @return string
418
+     */
419
+    public function get_next_renewal_date( $context = 'view' ) {
420
+        return $this->get_prop( 'expiration', $context );
421
+    }
422
+
423
+    /**
424
+     * Alias for self::get_next_renewal_date().
425
+     *
426
+     * @since 1.0.19
427
+     * @param  string $context View or edit context.
428
+     * @return string
429
+     */
430
+    public function get_expiration( $context = 'view' ) {
431
+        return $this->get_next_renewal_date( $context );
432
+    }
433
+
434
+    /**
435
+     * Retrieves the expiration date in a timestamp
436
+     *
437
+     * @since  1.0.0
438
+     * @return int
439
+     */
440
+    public function get_expiration_time() {
441
+        $expiration = $this->get_expiration();
442
+
443
+        if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
444
+            return current_time( 'timestamp' );
445
+        }
446
+
447
+        $expiration = strtotime( $expiration, current_time( 'timestamp' ) );
448
+        return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
449
+    }
450
+
451
+    /**
452
+     * Get GMT date when the subscription will renew.
453
+     *
454
+     * @since 1.0.19
455
+     * @param  string $context View or edit context.
456
+     * @return string
457
+     */
458
+    public function get_next_renewal_date_gmt( $context = 'view' ) {
459
+        $date = $this->get_next_renewal_date( $context );
460
+
461
+        if ( $date ) {
462
+            $date = get_gmt_from_date( $date );
463
+        }
464
+        return $date;
465
+    }
466
+
467
+    /**
468
+     * Get the subscription's trial period.
469
+     *
470
+     * @since 1.0.19
471
+     * @param  string $context View or edit context.
472
+     * @return string
473
+     */
474
+    public function get_trial_period( $context = 'view' ) {
475
+        return $this->get_prop( 'trial_period', $context );
476
+    }
477
+
478
+    /**
479
+     * Get the subscription's status.
480
+     *
481
+     * @since 1.0.19
482
+     * @param  string $context View or edit context.
483
+     * @return string
484
+     */
485
+    public function get_status( $context = 'view' ) {
486
+        return $this->get_prop( 'status', $context );
487
+    }
488
+
489
+    /**
490
+     * Get the subscription's profile id.
491
+     *
492
+     * @since 1.0.19
493
+     * @param  string $context View or edit context.
494
+     * @return string
495
+     */
496
+    public function get_profile_id( $context = 'view' ) {
497
+        return $this->get_prop( 'profile_id', $context );
498
+    }
499
+
500
+    /*
501
+	|--------------------------------------------------------------------------
502
+	| Setters
503
+	|--------------------------------------------------------------------------
504
+	*/
505
+
506
+    /**
507
+     * Set customer id.
508
+     *
509
+     * @since 1.0.19
510
+     * @param  int $value The customer's id.
511
+     */
512
+    public function set_customer_id( $value ) {
513
+        $this->set_prop( 'customer_id', (int) $value );
514
+    }
515
+
516
+    /**
517
+     * Set parent invoice id.
518
+     *
519
+     * @since 1.0.19
520
+     * @param  int $value The parent invoice id.
521
+     */
522
+    public function set_parent_invoice_id( $value ) {
523
+        $this->set_prop( 'parent_payment_id', (int) $value );
524
+    }
525
+
526
+    /**
527
+     * Alias for self::set_parent_invoice_id().
528
+     *
529
+     * @since 1.0.19
530
+     * @param  int $value The parent invoice id.
531
+     */
532
+    public function set_parent_payment_id( $value ) {
533
+        $this->set_parent_invoice_id( $value );
534
+    }
535
+
536
+    /**
537
+     * Alias for self::set_parent_invoice_id().
538
+     *
539
+     * @since 1.0.19
540
+     * @param  int $value The parent invoice id.
541
+     */
542
+    public function set_original_payment_id( $value ) {
543
+        $this->set_parent_invoice_id( $value );
544
+    }
545
+
546
+    /**
547
+     * Set subscription's product id.
548
+     *
549
+     * @since 1.0.19
550
+     * @param  int $value The subscription product id.
551
+     */
552
+    public function set_product_id( $value ) {
553
+        $this->set_prop( 'product_id', (int) $value );
554
+    }
555
+
556
+    /**
557
+     * Set the period of a renewal.
558
+     *
559
+     * @since 1.0.19
560
+     * @param  string $value The renewal period.
561
+     */
562
+    public function set_period( $value ) {
563
+        $this->set_prop( 'period', $value );
564
+    }
565
+
566
+    /**
567
+     * Set number of periods each renewal is valid for.
568
+     *
569
+     * @since 1.0.19
570
+     * @param  int $value The subscription frequency.
571
+     */
572
+    public function set_frequency( $value ) {
573
+        $value = empty( $value ) ? 1 : (int) $value;
574
+        $this->set_prop( 'frequency', absint( $value ) );
575
+    }
576
+
577
+    /**
578
+     * Set the initial amount for the subscription.
579
+     *
580
+     * @since 1.0.19
581
+     * @param  float $value The initial subcription amount.
582
+     */
583
+    public function set_initial_amount( $value ) {
584
+        $this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
585
+    }
586
+
587
+    /**
588
+     * Set the recurring amount for the subscription.
589
+     *
590
+     * @since 1.0.19
591
+     * @param  float $value The recurring subcription amount.
592
+     */
593
+    public function set_recurring_amount( $value ) {
594
+        $this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
595
+    }
596
+
597
+    /**
598
+     * Set number of times that this subscription can be renewed.
599
+     *
600
+     * @since 1.0.19
601
+     * @param  int $value Bill times.
602
+     */
603
+    public function set_bill_times( $value ) {
604
+        $this->set_prop( 'bill_times', (int) $value );
605
+    }
606
+
607
+    /**
608
+     * Get transaction id of this subscription's parent invoice.
609
+     *
610
+     * @since 1.0.19
611
+     * @param string $value Bill times.
235 612
      */
236
-    public function get_original_payment_id( $context = 'view' ) {
237
-        return $this->get_parent_invoice_id( $context );
613
+    public function set_transaction_id( $value ) {
614
+        $this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
238 615
     }
239 616
 
240
-	/**
241
-	 * Get parent invoice.
242
-	 *
243
-	 * @since 1.0.19
244
-	 * @param  string $context View or edit context.
245
-	 * @return WPInv_Invoice
246
-	 */
247
-	public function get_parent_invoice( $context = 'view' ) {
248
-		return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
249
-	}
250
-
251
-	/**
252
-	 * Alias for self::get_parent_invoice().
253
-	 *
254
-	 * @since 1.0.19
255
-	 * @param  string $context View or edit context.
256
-	 * @return WPInv_Invoice
257
-	 */
258
-    public function get_parent_payment( $context = 'view' ) {
259
-        return $this->get_parent_invoice( $context );
260
-	}
261
-
262
-	/**
263
-	 * Get subscription's product id.
264
-	 *
265
-	 * @since 1.0.19
266
-	 * @param  string $context View or edit context.
267
-	 * @return int
268
-	 */
269
-	public function get_product_id( $context = 'view' ) {
270
-		return (int) $this->get_prop( 'product_id', $context );
271
-	}
272
-
273
-	/**
274
-	 * Get the subscription product.
275
-	 *
276
-	 * @since 1.0.19
277
-	 * @param  string $context View or edit context.
278
-	 * @return WPInv_Item
279
-	 */
280
-	public function get_product( $context = 'view' ) {
281
-		return new WPInv_Item( $this->get_product_id( $context ) );
282
-	}
283
-
284
-	/**
285
-	 * Get parent invoice's gateway.
286
-	 *
287
-	 * Here for backwards compatibility.
288
-	 *
289
-	 * @since 1.0.19
290
-	 * @param  string $context View or edit context.
291
-	 * @return string
292
-	 */
293
-	public function get_gateway( $context = 'view' ) {
294
-		return $this->get_parent_invoice( $context )->get_gateway();
295
-	}
296
-
297
-	/**
298
-	 * Get the period of a renewal.
299
-	 *
300
-	 * @since 1.0.19
301
-	 * @param  string $context View or edit context.
302
-	 * @return string
303
-	 */
304
-	public function get_period( $context = 'view' ) {
305
-		return $this->get_prop( 'period', $context );
306
-	}
307
-
308
-	/**
309
-	 * Get number of periods each renewal is valid for.
310
-	 *
311
-	 * @since 1.0.19
312
-	 * @param  string $context View or edit context.
313
-	 * @return int
314
-	 */
315
-	public function get_frequency( $context = 'view' ) {
316
-		return (int) $this->get_prop( 'frequency', $context );
317
-	}
318
-
319
-	/**
320
-	 * Get the initial amount for the subscription.
321
-	 *
322
-	 * @since 1.0.19
323
-	 * @param  string $context View or edit context.
324
-	 * @return float
325
-	 */
326
-	public function get_initial_amount( $context = 'view' ) {
327
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
328
-	}
329
-
330
-	/**
331
-	 * Get the recurring amount for the subscription.
332
-	 *
333
-	 * @since 1.0.19
334
-	 * @param  string $context View or edit context.
335
-	 * @return float
336
-	 */
337
-	public function get_recurring_amount( $context = 'view' ) {
338
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
339
-	}
340
-
341
-	/**
342
-	 * Get number of times that this subscription can be renewed.
343
-	 *
344
-	 * @since 1.0.19
345
-	 * @param  string $context View or edit context.
346
-	 * @return int
347
-	 */
348
-	public function get_bill_times( $context = 'view' ) {
349
-		return (int) $this->get_prop( 'bill_times', $context );
350
-	}
351
-
352
-	/**
353
-	 * Get transaction id of this subscription's parent invoice.
354
-	 *
355
-	 * @since 1.0.19
356
-	 * @param  string $context View or edit context.
357
-	 * @return string
358
-	 */
359
-	public function get_transaction_id( $context = 'view' ) {
360
-		return $this->get_prop( 'transaction_id', $context );
361
-	}
362
-
363
-	/**
364
-	 * Get the date that the subscription was created.
365
-	 *
366
-	 * @since 1.0.19
367
-	 * @param  string $context View or edit context.
368
-	 * @return string
369
-	 */
370
-	public function get_created( $context = 'view' ) {
371
-		return $this->get_prop( 'created', $context );
372
-	}
373
-
374
-	/**
375
-	 * Alias for self::get_created().
376
-	 *
377
-	 * @since 1.0.19
378
-	 * @param  string $context View or edit context.
379
-	 * @return string
380
-	 */
381
-	public function get_date_created( $context = 'view' ) {
382
-		return $this->get_created( $context );
383
-	}
384
-
385
-	/**
386
-	 * Retrieves the creation date in a timestamp
387
-	 *
388
-	 * @since  1.0.0
389
-	 * @return int
390
-	 */
391
-	public function get_time_created() {
392
-		$created = $this->get_date_created();
393
-		return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
394
-	}
395
-
396
-	/**
397
-	 * Get GMT date when the subscription was created.
398
-	 *
399
-	 * @since 1.0.19
400
-	 * @param  string $context View or edit context.
401
-	 * @return string
402
-	 */
403
-	public function get_date_created_gmt( $context = 'view' ) {
404
-        $date = $this->get_date_created( $context );
617
+    /**
618
+     * Set date when this subscription started.
619
+     *
620
+     * @since 1.0.19
621
+     * @param string $value strtotime compliant date.
622
+     */
623
+    public function set_created( $value ) {
624
+        $date = strtotime( $value );
405 625
 
406
-        if ( $date ) {
407
-            $date = get_gmt_from_date( $date );
626
+        if ( $date && $value !== '0000-00-00 00:00:00' ) {
627
+            $this->set_prop( 'created', date( 'Y-m-d H:i:s', $date ) );
628
+            return;
408 629
         }
409
-		return $date;
410
-	}
411
-
412
-	/**
413
-	 * Get the date that the subscription will renew.
414
-	 *
415
-	 * @since 1.0.19
416
-	 * @param  string $context View or edit context.
417
-	 * @return string
418
-	 */
419
-	public function get_next_renewal_date( $context = 'view' ) {
420
-		return $this->get_prop( 'expiration', $context );
421
-	}
422
-
423
-	/**
424
-	 * Alias for self::get_next_renewal_date().
425
-	 *
426
-	 * @since 1.0.19
427
-	 * @param  string $context View or edit context.
428
-	 * @return string
429
-	 */
430
-	public function get_expiration( $context = 'view' ) {
431
-		return $this->get_next_renewal_date( $context );
432
-	}
433
-
434
-	/**
435
-	 * Retrieves the expiration date in a timestamp
436
-	 *
437
-	 * @since  1.0.0
438
-	 * @return int
439
-	 */
440
-	public function get_expiration_time() {
441
-		$expiration = $this->get_expiration();
442
-
443
-		if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
444
-			return current_time( 'timestamp' );
445
-		}
446
-
447
-		$expiration = strtotime( $expiration, current_time( 'timestamp' ) );
448
-		return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
449
-	}
450
-
451
-	/**
452
-	 * Get GMT date when the subscription will renew.
453
-	 *
454
-	 * @since 1.0.19
455
-	 * @param  string $context View or edit context.
456
-	 * @return string
457
-	 */
458
-	public function get_next_renewal_date_gmt( $context = 'view' ) {
459
-        $date = $this->get_next_renewal_date( $context );
460 630
 
461
-        if ( $date ) {
462
-            $date = get_gmt_from_date( $date );
463
-        }
464
-		return $date;
465
-	}
466
-
467
-	/**
468
-	 * Get the subscription's trial period.
469
-	 *
470
-	 * @since 1.0.19
471
-	 * @param  string $context View or edit context.
472
-	 * @return string
473
-	 */
474
-	public function get_trial_period( $context = 'view' ) {
475
-		return $this->get_prop( 'trial_period', $context );
476
-	}
477
-
478
-	/**
479
-	 * Get the subscription's status.
480
-	 *
481
-	 * @since 1.0.19
482
-	 * @param  string $context View or edit context.
483
-	 * @return string
484
-	 */
485
-	public function get_status( $context = 'view' ) {
486
-		return $this->get_prop( 'status', $context );
487
-	}
488
-
489
-	/**
490
-	 * Get the subscription's profile id.
491
-	 *
492
-	 * @since 1.0.19
493
-	 * @param  string $context View or edit context.
494
-	 * @return string
495
-	 */
496
-	public function get_profile_id( $context = 'view' ) {
497
-		return $this->get_prop( 'profile_id', $context );
498
-	}
499
-
500
-	/*
501
-	|--------------------------------------------------------------------------
502
-	| Setters
503
-	|--------------------------------------------------------------------------
504
-	*/
631
+        $this->set_prop( 'created', '' );
505 632
 
506
-	/**
507
-	 * Set customer id.
508
-	 *
509
-	 * @since 1.0.19
510
-	 * @param  int $value The customer's id.
511
-	 */
512
-	public function set_customer_id( $value ) {
513
-		$this->set_prop( 'customer_id', (int) $value );
514
-	}
515
-
516
-	/**
517
-	 * Set parent invoice id.
518
-	 *
519
-	 * @since 1.0.19
520
-	 * @param  int $value The parent invoice id.
521
-	 */
522
-	public function set_parent_invoice_id( $value ) {
523
-		$this->set_prop( 'parent_payment_id', (int) $value );
524
-	}
525
-
526
-	/**
527
-	 * Alias for self::set_parent_invoice_id().
528
-	 *
529
-	 * @since 1.0.19
530
-	 * @param  int $value The parent invoice id.
531
-	 */
532
-    public function set_parent_payment_id( $value ) {
533
-        $this->set_parent_invoice_id( $value );
534
-	}
633
+    }
535 634
 
536
-	/**
537
-     * Alias for self::set_parent_invoice_id().
635
+    /**
636
+     * Alias for self::set_created().
538 637
      *
539 638
      * @since 1.0.19
540
-	 * @param  int $value The parent invoice id.
639
+     * @param string $value strtotime compliant date.
541 640
      */
542
-    public function set_original_payment_id( $value ) {
543
-        $this->set_parent_invoice_id( $value );
544
-	}
545
-
546
-	/**
547
-	 * Set subscription's product id.
548
-	 *
549
-	 * @since 1.0.19
550
-	 * @param  int $value The subscription product id.
551
-	 */
552
-	public function set_product_id( $value ) {
553
-		$this->set_prop( 'product_id', (int) $value );
554
-	}
555
-
556
-	/**
557
-	 * Set the period of a renewal.
558
-	 *
559
-	 * @since 1.0.19
560
-	 * @param  string $value The renewal period.
561
-	 */
562
-	public function set_period( $value ) {
563
-		$this->set_prop( 'period', $value );
564
-	}
565
-
566
-	/**
567
-	 * Set number of periods each renewal is valid for.
568
-	 *
569
-	 * @since 1.0.19
570
-	 * @param  int $value The subscription frequency.
571
-	 */
572
-	public function set_frequency( $value ) {
573
-		$value = empty( $value ) ? 1 : (int) $value;
574
-		$this->set_prop( 'frequency', absint( $value ) );
575
-	}
576
-
577
-	/**
578
-	 * Set the initial amount for the subscription.
579
-	 *
580
-	 * @since 1.0.19
581
-	 * @param  float $value The initial subcription amount.
582
-	 */
583
-	public function set_initial_amount( $value ) {
584
-		$this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
585
-	}
586
-
587
-	/**
588
-	 * Set the recurring amount for the subscription.
589
-	 *
590
-	 * @since 1.0.19
591
-	 * @param  float $value The recurring subcription amount.
592
-	 */
593
-	public function set_recurring_amount( $value ) {
594
-		$this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
595
-	}
596
-
597
-	/**
598
-	 * Set number of times that this subscription can be renewed.
599
-	 *
600
-	 * @since 1.0.19
601
-	 * @param  int $value Bill times.
602
-	 */
603
-	public function set_bill_times( $value ) {
604
-		$this->set_prop( 'bill_times', (int) $value );
605
-	}
606
-
607
-	/**
608
-	 * Get transaction id of this subscription's parent invoice.
609
-	 *
610
-	 * @since 1.0.19
611
-	 * @param string $value Bill times.
612
-	 */
613
-	public function set_transaction_id( $value ) {
614
-		$this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
615
-	}
616
-
617
-	/**
618
-	 * Set date when this subscription started.
619
-	 *
620
-	 * @since 1.0.19
621
-	 * @param string $value strtotime compliant date.
622
-	 */
623
-	public function set_created( $value ) {
641
+    public function set_date_created( $value ) {
642
+        $this->set_created( $value );
643
+    }
644
+
645
+    /**
646
+     * Set the date that the subscription will renew.
647
+     *
648
+     * @since 1.0.19
649
+     * @param string $value strtotime compliant date.
650
+     */
651
+    public function set_next_renewal_date( $value ) {
624 652
         $date = strtotime( $value );
625 653
 
626 654
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
627
-            $this->set_prop( 'created', date( 'Y-m-d H:i:s', $date ) );
655
+            $this->set_prop( 'expiration', date( 'Y-m-d H:i:s', $date ) );
628 656
             return;
629 657
         }
630 658
 
631
-		$this->set_prop( 'created', '' );
659
+        $this->set_prop( 'expiration', '' );
660
+
661
+    }
632 662
 
633
-	}
663
+    /**
664
+     * Alias for self::set_next_renewal_date().
665
+     *
666
+     * @since 1.0.19
667
+     * @param string $value strtotime compliant date.
668
+     */
669
+    public function set_expiration( $value ) {
670
+        $this->set_next_renewal_date( $value );
671
+    }
634 672
 
635
-	/**
636
-	 * Alias for self::set_created().
637
-	 *
638
-	 * @since 1.0.19
639
-	 * @param string $value strtotime compliant date.
640
-	 */
641
-	public function set_date_created( $value ) {
642
-		$this->set_created( $value );
673
+    /**
674
+     * Set the subscription's trial period.
675
+     *
676
+     * @since 1.0.19
677
+     * @param string $value trial period e.g 1 year.
678
+     */
679
+    public function set_trial_period( $value ) {
680
+        $this->set_prop( 'trial_period', $value );
643 681
     }
644 682
 
645
-	/**
646
-	 * Set the date that the subscription will renew.
647
-	 *
648
-	 * @since 1.0.19
649
-	 * @param string $value strtotime compliant date.
650
-	 */
651
-	public function set_next_renewal_date( $value ) {
652
-		$date = strtotime( $value );
683
+    /**
684
+     * Set the subscription's status.
685
+     *
686
+     * @since 1.0.19
687
+     * @param string $new_status    New subscription status.
688
+     */
689
+    public function set_status( $new_status ) {
653 690
 
654
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
655
-            $this->set_prop( 'expiration', date( 'Y-m-d H:i:s', $date ) );
691
+        // Abort if this is not a valid status;
692
+        if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
656 693
             return;
657
-		}
658
-
659
-		$this->set_prop( 'expiration', '' );
660
-
661
-	}
662
-
663
-	/**
664
-	 * Alias for self::set_next_renewal_date().
665
-	 *
666
-	 * @since 1.0.19
667
-	 * @param string $value strtotime compliant date.
668
-	 */
669
-	public function set_expiration( $value ) {
670
-		$this->set_next_renewal_date( $value );
671
-    }
672
-
673
-	/**
674
-	 * Set the subscription's trial period.
675
-	 *
676
-	 * @since 1.0.19
677
-	 * @param string $value trial period e.g 1 year.
678
-	 */
679
-	public function set_trial_period( $value ) {
680
-		$this->set_prop( 'trial_period', $value );
681
-	}
682
-
683
-	/**
684
-	 * Set the subscription's status.
685
-	 *
686
-	 * @since 1.0.19
687
-	 * @param string $new_status    New subscription status.
688
-	 */
689
-	public function set_status( $new_status ) {
690
-
691
-		// Abort if this is not a valid status;
692
-		if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
693
-			return;
694
-		}
695
-
696
-		$old_status = $this->get_status();
697
-		$this->set_prop( 'status', $new_status );
698
-
699
-		if ( true === $this->object_read && $old_status !== $new_status ) {
700
-			$this->status_transition = array(
701
-				'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
702
-				'to'     => $new_status,
703
-			);
704
-		}
705
-
706
-	}
707
-
708
-	/**
709
-	 * Set the subscription's (remote) profile id.
710
-	 *
711
-	 * @since 1.0.19
712
-	 * @param  string $value the remote profile id.
713
-	 */
714
-	public function set_profile_id( $value ) {
715
-		$this->set_prop( 'profile_id', sanitize_text_field( $value ) );
716
-	}
717
-
718
-	/*
694
+        }
695
+
696
+        $old_status = $this->get_status();
697
+        $this->set_prop( 'status', $new_status );
698
+
699
+        if ( true === $this->object_read && $old_status !== $new_status ) {
700
+            $this->status_transition = array(
701
+                'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
702
+                'to'     => $new_status,
703
+            );
704
+        }
705
+
706
+    }
707
+
708
+    /**
709
+     * Set the subscription's (remote) profile id.
710
+     *
711
+     * @since 1.0.19
712
+     * @param  string $value the remote profile id.
713
+     */
714
+    public function set_profile_id( $value ) {
715
+        $this->set_prop( 'profile_id', sanitize_text_field( $value ) );
716
+    }
717
+
718
+    /*
719 719
 	|--------------------------------------------------------------------------
720 720
 	| Boolean methods
721 721
 	|--------------------------------------------------------------------------
@@ -724,55 +724,55 @@  discard block
 block discarded – undo
724 724
 	|
725 725
 	*/
726 726
 
727
-	/**
727
+    /**
728 728
      * Checks if the subscription has a given status.
729
-	 *
730
-	 * @param string|array String or array of strings to check for.
731
-	 * @return bool
729
+     *
730
+     * @param string|array String or array of strings to check for.
731
+     * @return bool
732 732
      */
733 733
     public function has_status( $status ) {
734 734
         return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) );
735
-	}
735
+    }
736 736
 
737
-	/**
737
+    /**
738 738
      * Checks if the subscription has a trial period.
739
-	 *
740
-	 * @return bool
739
+     *
740
+     * @return bool
741 741
      */
742 742
     public function has_trial_period() {
743
-		$period = $this->get_trial_period();
743
+        $period = $this->get_trial_period();
744 744
         return ! empty( $period );
745
-	}
746
-
747
-	/**
748
-	 * Is the subscription active?
749
-	 *
750
-	 * @return bool
751
-	 */
752
-	public function is_active() {
753
-		return $this->has_status( 'active trialling' ) && ! $this->is_expired();
754
-	}
755
-
756
-	/**
757
-	 * Is the subscription expired?
758
-	 *
759
-	 * @return bool
760
-	 */
761
-	public function is_expired() {
762
-		return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'mysql' ) );
763
-	}
764
-
765
-	/**
766
-	 * Is this the last renewals?
767
-	 *
768
-	 * @return bool
769
-	 */
770
-	public function is_last_renewal() {
771
-		$max_bills = $this->get_bill_times();
772
-		return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
773
-	}
774
-
775
-	/*
745
+    }
746
+
747
+    /**
748
+     * Is the subscription active?
749
+     *
750
+     * @return bool
751
+     */
752
+    public function is_active() {
753
+        return $this->has_status( 'active trialling' ) && ! $this->is_expired();
754
+    }
755
+
756
+    /**
757
+     * Is the subscription expired?
758
+     *
759
+     * @return bool
760
+     */
761
+    public function is_expired() {
762
+        return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'mysql' ) );
763
+    }
764
+
765
+    /**
766
+     * Is this the last renewals?
767
+     *
768
+     * @return bool
769
+     */
770
+    public function is_last_renewal() {
771
+        $max_bills = $this->get_bill_times();
772
+        return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
773
+    }
774
+
775
+    /*
776 776
 	|--------------------------------------------------------------------------
777 777
 	| Additional methods
778 778
 	|--------------------------------------------------------------------------
@@ -781,27 +781,27 @@  discard block
 block discarded – undo
781 781
 	|
782 782
 	*/
783 783
 
784
-	/**
785
-	 * Backwards compatibilty.
786
-	 */
787
-	public function create( $data = array() ) {
784
+    /**
785
+     * Backwards compatibilty.
786
+     */
787
+    public function create( $data = array() ) {
788 788
 
789
-		// Set the properties.
790
-		if ( is_array( $data ) ) {
791
-			$this->set_props( $data );
792
-		}
789
+        // Set the properties.
790
+        if ( is_array( $data ) ) {
791
+            $this->set_props( $data );
792
+        }
793 793
 
794
-		// Save the item.
795
-		return $this->save();
794
+        // Save the item.
795
+        return $this->save();
796 796
 
797
-	}
797
+    }
798 798
 
799
-	/**
800
-	 * Backwards compatibilty.
801
-	 */
802
-	public function update( $args = array() ) {
803
-		return $this->create( $args );
804
-	}
799
+    /**
800
+     * Backwards compatibilty.
801
+     */
802
+    public function update( $args = array() ) {
803
+        return $this->create( $args );
804
+    }
805 805
 
806 806
     /**
807 807
      * Retrieve renewal payments for a subscription
@@ -811,22 +811,22 @@  discard block
 block discarded – undo
811 811
      */
812 812
     public function get_child_payments( $hide_pending = true ) {
813 813
 
814
-		$statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
814
+        $statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
815 815
 
816
-		if ( ! $hide_pending ) {
817
-			$statuses = array_keys( wpinv_get_invoice_statuses() );
818
-		}
816
+        if ( ! $hide_pending ) {
817
+            $statuses = array_keys( wpinv_get_invoice_statuses() );
818
+        }
819 819
 
820 820
         return get_posts(
821
-			array(
822
-            	'post_parent'    => $this->get_parent_payment_id(),
823
-            	'numberposts'    => -1,
824
-            	'post_status'    => $statuses,
825
-            	'orderby'        => 'ID',
826
-            	'order'          => 'DESC',
827
-            	'post_type'      => 'wpi_invoice'
828
-			)
829
-		);
821
+            array(
822
+                'post_parent'    => $this->get_parent_payment_id(),
823
+                'numberposts'    => -1,
824
+                'post_status'    => $statuses,
825
+                'orderby'        => 'ID',
826
+                'order'          => 'DESC',
827
+                'post_type'      => 'wpi_invoice'
828
+            )
829
+        );
830 830
     }
831 831
 
832 832
     /**
@@ -836,16 +836,16 @@  discard block
 block discarded – undo
836 836
      * @return int
837 837
      */
838 838
     public function get_total_payments() {
839
-		global $wpdb;
839
+        global $wpdb;
840 840
 
841
-		$count = (int) $wpdb->get_var(
842
-			$wpdb->prepare(
843
-				"SELECT COUNT(ID) FROM $wpdb->posts WHERE post_parent=%d AND post_status IN ( 'publish', 'wpi-processing', 'wpi-renewal' )",
844
-				$this->get_parent_invoice_id()
845
-			)
846
-		);
841
+        $count = (int) $wpdb->get_var(
842
+            $wpdb->prepare(
843
+                "SELECT COUNT(ID) FROM $wpdb->posts WHERE post_parent=%d AND post_status IN ( 'publish', 'wpi-processing', 'wpi-renewal' )",
844
+                $this->get_parent_invoice_id()
845
+            )
846
+        );
847 847
 
848
-		// Maybe include parent invoice.
848
+        // Maybe include parent invoice.
849 849
         if ( $this->get_parent_payment()->is_paid() ) {
850 850
             $count++;
851 851
         }
@@ -874,57 +874,57 @@  discard block
 block discarded – undo
874 874
      *
875 875
      * @since  2.4
876 876
      * @param  array $args Array of values for the payment, including amount and transaction ID
877
-	 * @param  WPInv_Invoice $invoice If adding an existing invoice.
877
+     * @param  WPInv_Invoice $invoice If adding an existing invoice.
878 878
      * @return bool
879 879
      */
880 880
     public function add_payment( $args = array(), $invoice = false ) {
881 881
 
882
-		// Process each payment once.
882
+        // Process each payment once.
883 883
         if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) {
884 884
             return false;
885 885
         }
886 886
 
887
-		// Are we creating a new invoice?
888
-		if ( empty( $invoice ) ) {
889
-			$invoice = $this->create_payment();
887
+        // Are we creating a new invoice?
888
+        if ( empty( $invoice ) ) {
889
+            $invoice = $this->create_payment();
890 890
 
891
-			if ( empty( $invoice ) ) {
892
-				return false;
893
-			}
891
+            if ( empty( $invoice ) ) {
892
+                return false;
893
+            }
894 894
 
895
-		}
895
+        }
896 896
 
897
-		$invoice->set_status( 'wpi-renewal' );
897
+        $invoice->set_status( 'wpi-renewal' );
898 898
 
899
-		// Maybe set a transaction id.
900
-		if ( ! empty( $args['transaction_id'] ) ) {
901
-			$invoice->set_transaction_id( $args['transaction_id'] );
902
-		}
899
+        // Maybe set a transaction id.
900
+        if ( ! empty( $args['transaction_id'] ) ) {
901
+            $invoice->set_transaction_id( $args['transaction_id'] );
902
+        }
903 903
 
904
-		// Set the completed date.
905
-		$invoice->set_completed_date( current_time( 'mysql' ) );
904
+        // Set the completed date.
905
+        $invoice->set_completed_date( current_time( 'mysql' ) );
906 906
 
907
-		// And the gateway.
908
-		if ( ! empty( $args['gateway'] ) ) {
909
-			$invoice->set_gateway( $args['gateway'] );
910
-		}
907
+        // And the gateway.
908
+        if ( ! empty( $args['gateway'] ) ) {
909
+            $invoice->set_gateway( $args['gateway'] );
910
+        }
911 911
 
912
-		$invoice->save();
912
+        $invoice->save();
913 913
 
914
-		if ( ! $invoice->exists() ) {
915
-			return false;
916
-		}
914
+        if ( ! $invoice->exists() ) {
915
+            return false;
916
+        }
917 917
 
918
-		do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
919
-		do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
918
+        do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
919
+        do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
920 920
         do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() );
921 921
 
922 922
         update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id );
923 923
 
924 924
         return $invoice->get_id();
925
-	}
925
+    }
926 926
 
927
-	/**
927
+    /**
928 928
      * Creates a new invoice and returns it.
929 929
      *
930 930
      * @since  1.0.19
@@ -932,97 +932,97 @@  discard block
 block discarded – undo
932 932
      */
933 933
     public function create_payment() {
934 934
 
935
-		$parent_invoice = $this->get_parent_payment();
936
-
937
-		if ( ! $parent_invoice->exists() ) {
938
-			return false;
939
-		}
940
-
941
-		// Duplicate the parent invoice.
942
-		$invoice = getpaid_duplicate_invoice( $parent_invoice );
943
-		$invoice->set_parent_id( $parent_invoice->get_id() );
944
-		$invoice->recalculate_total();
945
-		$invoice->set_status( 'wpi-pending' );
946
-		$invoice->save();
947
-
948
-		return $invoice->exists() ? $invoice : false;
949
-    }
950
-
951
-	/**
952
-	 * Renews or completes a subscription
953
-	 *
954
-	 * @since  1.0.0
955
-	 * @return int The subscription's id
956
-	 */
957
-	public function renew() {
958
-
959
-		// Complete subscription if applicable
960
-		if ( $this->is_last_renewal() ) {
961
-			return $this->complete();
962
-		}
963
-
964
-		// Calculate new expiration
965
-		$frequency      = $this->get_frequency();
966
-		$period         = $this->get_period();
967
-		$new_expiration = strtotime( "+ $frequency $period", $this->get_expiration_time() );
968
-
969
-		$this->set_expiration( date( 'Y-m-d H:i:s',$new_expiration ) );
970
-		$this->set_status( 'active' );
971
-		return $this->save();
972
-
973
-		do_action( 'getpaid_subscription_renewed', $this );
974
-
975
-	}
976
-
977
-	/**
978
-	 * Marks a subscription as completed
979
-	 *
980
-	 * Subscription is completed when the number of payments matches the billing_times field
981
-	 *
982
-	 * @since  1.0.0
983
-	 * @return int|bool Subscription id or false if the subscription is cancelled.
984
-	 */
985
-	public function complete() {
986
-
987
-		// Only mark a subscription as complete if it's not already cancelled.
988
-		if ( $this->has_status( 'cancelled' ) ) {
989
-			return false;
990
-		}
991
-
992
-		$this->set_status( 'completed' );
993
-		return $this->save();
994
-
995
-	}
996
-
997
-	/**
998
-	 * Marks a subscription as expired
999
-	 *
1000
-	 * @since  1.0.0
1001
-	 * @param  bool $check_expiration
1002
-	 * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1003
-	 */
1004
-	public function expire( $check_expiration = false ) {
1005
-
1006
-		if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1007
-			// Do not mark as expired since real expiration date is in the future
1008
-			return false;
1009
-		}
1010
-
1011
-		$this->set_status( 'expired' );
1012
-		return $this->save();
1013
-
1014
-	}
1015
-
1016
-	/**
1017
-	 * Marks a subscription as failing
1018
-	 *
1019
-	 * @since  2.4.2
1020
-	 * @return int Subscription id.
1021
-	 */
1022
-	public function failing() {
1023
-		$this->set_status( 'failing' );
1024
-		return $this->save();
1025
-	}
935
+        $parent_invoice = $this->get_parent_payment();
936
+
937
+        if ( ! $parent_invoice->exists() ) {
938
+            return false;
939
+        }
940
+
941
+        // Duplicate the parent invoice.
942
+        $invoice = getpaid_duplicate_invoice( $parent_invoice );
943
+        $invoice->set_parent_id( $parent_invoice->get_id() );
944
+        $invoice->recalculate_total();
945
+        $invoice->set_status( 'wpi-pending' );
946
+        $invoice->save();
947
+
948
+        return $invoice->exists() ? $invoice : false;
949
+    }
950
+
951
+    /**
952
+     * Renews or completes a subscription
953
+     *
954
+     * @since  1.0.0
955
+     * @return int The subscription's id
956
+     */
957
+    public function renew() {
958
+
959
+        // Complete subscription if applicable
960
+        if ( $this->is_last_renewal() ) {
961
+            return $this->complete();
962
+        }
963
+
964
+        // Calculate new expiration
965
+        $frequency      = $this->get_frequency();
966
+        $period         = $this->get_period();
967
+        $new_expiration = strtotime( "+ $frequency $period", $this->get_expiration_time() );
968
+
969
+        $this->set_expiration( date( 'Y-m-d H:i:s',$new_expiration ) );
970
+        $this->set_status( 'active' );
971
+        return $this->save();
972
+
973
+        do_action( 'getpaid_subscription_renewed', $this );
974
+
975
+    }
976
+
977
+    /**
978
+     * Marks a subscription as completed
979
+     *
980
+     * Subscription is completed when the number of payments matches the billing_times field
981
+     *
982
+     * @since  1.0.0
983
+     * @return int|bool Subscription id or false if the subscription is cancelled.
984
+     */
985
+    public function complete() {
986
+
987
+        // Only mark a subscription as complete if it's not already cancelled.
988
+        if ( $this->has_status( 'cancelled' ) ) {
989
+            return false;
990
+        }
991
+
992
+        $this->set_status( 'completed' );
993
+        return $this->save();
994
+
995
+    }
996
+
997
+    /**
998
+     * Marks a subscription as expired
999
+     *
1000
+     * @since  1.0.0
1001
+     * @param  bool $check_expiration
1002
+     * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1003
+     */
1004
+    public function expire( $check_expiration = false ) {
1005
+
1006
+        if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1007
+            // Do not mark as expired since real expiration date is in the future
1008
+            return false;
1009
+        }
1010
+
1011
+        $this->set_status( 'expired' );
1012
+        return $this->save();
1013
+
1014
+    }
1015
+
1016
+    /**
1017
+     * Marks a subscription as failing
1018
+     *
1019
+     * @since  2.4.2
1020
+     * @return int Subscription id.
1021
+     */
1022
+    public function failing() {
1023
+        $this->set_status( 'failing' );
1024
+        return $this->save();
1025
+    }
1026 1026
 
1027 1027
     /**
1028 1028
      * Marks a subscription as cancelled
@@ -1031,19 +1031,19 @@  discard block
 block discarded – undo
1031 1031
      * @return int Subscription id.
1032 1032
      */
1033 1033
     public function cancel() {
1034
-		$this->set_status( 'cancelled' );
1035
-		return $this->save();
1034
+        $this->set_status( 'cancelled' );
1035
+        return $this->save();
1036 1036
     }
1037 1037
 
1038
-	/**
1039
-	 * Determines if a subscription can be cancelled both locally and with a payment processor.
1040
-	 *
1041
-	 * @since  1.0.0
1042
-	 * @return bool
1043
-	 */
1044
-	public function can_cancel() {
1045
-		return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1046
-	}
1038
+    /**
1039
+     * Determines if a subscription can be cancelled both locally and with a payment processor.
1040
+     *
1041
+     * @since  1.0.0
1042
+     * @return bool
1043
+     */
1044
+    public function can_cancel() {
1045
+        return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1046
+    }
1047 1047
 
1048 1048
     /**
1049 1049
      * Returns an array of subscription statuses that can be cancelled
@@ -1056,96 +1056,96 @@  discard block
 block discarded – undo
1056 1056
         return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) );
1057 1057
     }
1058 1058
 
1059
-	/**
1060
-	 * Retrieves the URL to cancel subscription
1061
-	 *
1062
-	 * @since  1.0.0
1063
-	 * @return string
1064
-	 */
1065
-	public function get_cancel_url() {
1066
-		$url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1067
-		return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1068
-	}
1069
-
1070
-	/**
1071
-	 * Retrieves the URL to view a subscription
1072
-	 *
1073
-	 * @since  1.0.19
1074
-	 * @return string
1075
-	 */
1076
-	public function get_view_url() {
1077
-
1078
-		$url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1079
-		$url = add_query_arg( 'subscription', $this->get_id(), $url );
1080
-
1081
-		return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1082
-	}
1083
-
1084
-	/**
1085
-	 * Determines if subscription can be manually renewed
1086
-	 *
1087
-	 * This method is filtered by payment gateways in order to return true on subscriptions
1088
-	 * that can be renewed manually
1089
-	 *
1090
-	 * @since  2.5
1091
-	 * @return bool
1092
-	 */
1093
-	public function can_renew() {
1094
-		return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1095
-	}
1096
-
1097
-	/**
1098
-	 * Retrieves the URL to renew a subscription
1099
-	 *
1100
-	 * @since  2.5
1101
-	 * @return string
1102
-	 */
1103
-	public function get_renew_url() {
1104
-		$url = wp_nonce_url( add_query_arg( array( 'getpaid-action' => 'renew_subscription', 'sub_id' => $this->get_id ) ), 'getpaid-nonce' );
1105
-		return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1106
-	}
1107
-
1108
-	/**
1109
-	 * Determines if subscription can have their payment method updated
1110
-	 *
1111
-	 * @since  1.0.0
1112
-	 * @return bool
1113
-	 */
1114
-	public function can_update() {
1115
-		return apply_filters( 'wpinv_subscription_can_update', false, $this );
1116
-	}
1117
-
1118
-	/**
1119
-	 * Retrieves the URL to update subscription
1120
-	 *
1121
-	 * @since  1.0.0
1122
-	 * @return string
1123
-	 */
1124
-	public function get_update_url() {
1125
-		$url = add_query_arg( array( 'action' => 'update', 'subscription_id' => $this->get_id() ) );
1126
-		return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1127
-	}
1128
-
1129
-	/**
1130
-	 * Retrieves the subscription status label
1131
-	 *
1132
-	 * @since  1.0.0
1133
-	 * @return string
1134
-	 */
1135
-	public function get_status_label() {
1136
-		return getpaid_get_subscription_status_label( $this->get_status() );
1137
-	}
1138
-
1139
-	/**
1140
-	 * Retrieves the subscription status class
1141
-	 *
1142
-	 * @since  1.0.19
1143
-	 * @return string
1144
-	 */
1145
-	public function get_status_class() {
1146
-		$statuses = getpaid_get_subscription_status_classes();
1147
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'text-white bg-secondary';
1148
-	}
1059
+    /**
1060
+     * Retrieves the URL to cancel subscription
1061
+     *
1062
+     * @since  1.0.0
1063
+     * @return string
1064
+     */
1065
+    public function get_cancel_url() {
1066
+        $url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1067
+        return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1068
+    }
1069
+
1070
+    /**
1071
+     * Retrieves the URL to view a subscription
1072
+     *
1073
+     * @since  1.0.19
1074
+     * @return string
1075
+     */
1076
+    public function get_view_url() {
1077
+
1078
+        $url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1079
+        $url = add_query_arg( 'subscription', $this->get_id(), $url );
1080
+
1081
+        return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1082
+    }
1083
+
1084
+    /**
1085
+     * Determines if subscription can be manually renewed
1086
+     *
1087
+     * This method is filtered by payment gateways in order to return true on subscriptions
1088
+     * that can be renewed manually
1089
+     *
1090
+     * @since  2.5
1091
+     * @return bool
1092
+     */
1093
+    public function can_renew() {
1094
+        return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1095
+    }
1096
+
1097
+    /**
1098
+     * Retrieves the URL to renew a subscription
1099
+     *
1100
+     * @since  2.5
1101
+     * @return string
1102
+     */
1103
+    public function get_renew_url() {
1104
+        $url = wp_nonce_url( add_query_arg( array( 'getpaid-action' => 'renew_subscription', 'sub_id' => $this->get_id ) ), 'getpaid-nonce' );
1105
+        return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1106
+    }
1107
+
1108
+    /**
1109
+     * Determines if subscription can have their payment method updated
1110
+     *
1111
+     * @since  1.0.0
1112
+     * @return bool
1113
+     */
1114
+    public function can_update() {
1115
+        return apply_filters( 'wpinv_subscription_can_update', false, $this );
1116
+    }
1117
+
1118
+    /**
1119
+     * Retrieves the URL to update subscription
1120
+     *
1121
+     * @since  1.0.0
1122
+     * @return string
1123
+     */
1124
+    public function get_update_url() {
1125
+        $url = add_query_arg( array( 'action' => 'update', 'subscription_id' => $this->get_id() ) );
1126
+        return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1127
+    }
1128
+
1129
+    /**
1130
+     * Retrieves the subscription status label
1131
+     *
1132
+     * @since  1.0.0
1133
+     * @return string
1134
+     */
1135
+    public function get_status_label() {
1136
+        return getpaid_get_subscription_status_label( $this->get_status() );
1137
+    }
1138
+
1139
+    /**
1140
+     * Retrieves the subscription status class
1141
+     *
1142
+     * @since  1.0.19
1143
+     * @return string
1144
+     */
1145
+    public function get_status_class() {
1146
+        $statuses = getpaid_get_subscription_status_classes();
1147
+        return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'text-white bg-secondary';
1148
+    }
1149 1149
 
1150 1150
     /**
1151 1151
      * Retrieves the subscription status label
@@ -1155,11 +1155,11 @@  discard block
 block discarded – undo
1155 1155
      */
1156 1156
     public function get_status_label_html() {
1157 1157
 
1158
-		$status_label = sanitize_text_field( $this->get_status_label() );
1159
-		$class        = esc_attr( $this->get_status_class() );
1160
-		$status       = sanitize_html_class( $this->get_status_label() );
1158
+        $status_label = sanitize_text_field( $this->get_status_label() );
1159
+        $class        = esc_attr( $this->get_status_class() );
1160
+        $status       = sanitize_html_class( $this->get_status_label() );
1161 1161
 
1162
-		return "<span class='bsui'><span class='d-inline-block py-2 px-3 rounded $class $status'>$status_label</span></span>";
1162
+        return "<span class='bsui'><span class='d-inline-block py-2 px-3 rounded $class $status'>$status_label</span></span>";
1163 1163
     }
1164 1164
 
1165 1165
     /**
@@ -1170,75 +1170,75 @@  discard block
 block discarded – undo
1170 1170
      * @return bool
1171 1171
      */
1172 1172
     public function payment_exists( $txn_id = '' ) {
1173
-		$invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1173
+        $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1174 1174
         return ! empty( $invoice_id );
1175
-	}
1176
-
1177
-	/**
1178
-	 * Handle the status transition.
1179
-	 */
1180
-	protected function status_transition() {
1181
-		$status_transition = $this->status_transition;
1182
-
1183
-		// Reset status transition variable.
1184
-		$this->status_transition = false;
1185
-
1186
-		if ( $status_transition ) {
1187
-			try {
1188
-
1189
-				// Fire a hook for the status change.
1190
-				do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1191
-				do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1192
-
1193
-				if ( ! empty( $status_transition['from'] ) ) {
1194
-
1195
-					/* translators: 1: old subscription status 2: new subscription status */
1196
-					$transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1197
-
1198
-					// Note the transition occurred.
1199
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1200
-
1201
-					// Fire another hook.
1202
-					do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1203
-					do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1204
-
1205
-				} else {
1206
-					/* translators: %s: new invoice status */
1207
-					$transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1208
-
1209
-					// Note the transition occurred.
1210
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1211
-
1212
-				}
1213
-			} catch ( Exception $e ) {
1214
-				$this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1215
-			}
1216
-		}
1217
-
1218
-	}
1219
-
1220
-	/**
1221
-	 * Save data to the database.
1222
-	 *
1223
-	 * @since 1.0.19
1224
-	 * @return int subscription ID
1225
-	 */
1226
-	public function save() {
1227
-		parent::save();
1228
-		$this->status_transition();
1229
-		return $this->get_id();
1230
-	}
1231
-
1232
-	/**
1233
-	 * Activates a subscription.
1234
-	 *
1235
-	 * @since 1.0.19
1236
-	 * @return int subscription ID
1237
-	 */
1238
-	public function activate() {
1239
-		$status = 'trialling' == $this->get_status() ? 'trialling' : 'active';
1240
-		$this->set_status( $status );
1241
-		return $this->save();
1242
-	}
1175
+    }
1176
+
1177
+    /**
1178
+     * Handle the status transition.
1179
+     */
1180
+    protected function status_transition() {
1181
+        $status_transition = $this->status_transition;
1182
+
1183
+        // Reset status transition variable.
1184
+        $this->status_transition = false;
1185
+
1186
+        if ( $status_transition ) {
1187
+            try {
1188
+
1189
+                // Fire a hook for the status change.
1190
+                do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1191
+                do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1192
+
1193
+                if ( ! empty( $status_transition['from'] ) ) {
1194
+
1195
+                    /* translators: 1: old subscription status 2: new subscription status */
1196
+                    $transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1197
+
1198
+                    // Note the transition occurred.
1199
+                    $this->get_parent_payment()->add_note( $transition_note, false, false, true );
1200
+
1201
+                    // Fire another hook.
1202
+                    do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1203
+                    do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1204
+
1205
+                } else {
1206
+                    /* translators: %s: new invoice status */
1207
+                    $transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1208
+
1209
+                    // Note the transition occurred.
1210
+                    $this->get_parent_payment()->add_note( $transition_note, false, false, true );
1211
+
1212
+                }
1213
+            } catch ( Exception $e ) {
1214
+                $this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1215
+            }
1216
+        }
1217
+
1218
+    }
1219
+
1220
+    /**
1221
+     * Save data to the database.
1222
+     *
1223
+     * @since 1.0.19
1224
+     * @return int subscription ID
1225
+     */
1226
+    public function save() {
1227
+        parent::save();
1228
+        $this->status_transition();
1229
+        return $this->get_id();
1230
+    }
1231
+
1232
+    /**
1233
+     * Activates a subscription.
1234
+     *
1235
+     * @since 1.0.19
1236
+     * @return int subscription ID
1237
+     */
1238
+    public function activate() {
1239
+        $status = 'trialling' == $this->get_status() ? 'trialling' : 'active';
1240
+        $this->set_status( $status );
1241
+        return $this->save();
1242
+    }
1243 1243
 
1244 1244
 }
Please login to merge, or discard this patch.
Spacing   +218 added lines, -218 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * The Subscription Class
@@ -68,27 +68,27 @@  discard block
 block discarded – undo
68 68
 	 * @param  int|string|object|WPInv_Subscription $subscription Subscription id, profile_id, or object to read.
69 69
 	 * @param  bool $deprecated
70 70
 	 */
71
-	function __construct( $subscription = 0, $deprecated = false ) {
71
+	function __construct($subscription = 0, $deprecated = false) {
72 72
 
73
-		parent::__construct( $subscription );
73
+		parent::__construct($subscription);
74 74
 
75
-		if ( ! $deprecated && ! empty( $subscription ) && is_numeric( $subscription ) ) {
76
-			$this->set_id( $subscription );
77
-		} elseif ( $subscription instanceof self ) {
78
-			$this->set_id( $subscription->get_id() );
79
-		} elseif ( ! empty( $subscription->id ) ) {
80
-			$this->set_id( $subscription->id );
81
-		} elseif ( $deprecated && $subscription_id = self::get_subscription_id_by_field( $subscription, 'profile_id' ) ) {
82
-			$this->set_id( $subscription_id );
75
+		if (!$deprecated && !empty($subscription) && is_numeric($subscription)) {
76
+			$this->set_id($subscription);
77
+		} elseif ($subscription instanceof self) {
78
+			$this->set_id($subscription->get_id());
79
+		} elseif (!empty($subscription->id)) {
80
+			$this->set_id($subscription->id);
81
+		} elseif ($deprecated && $subscription_id = self::get_subscription_id_by_field($subscription, 'profile_id')) {
82
+			$this->set_id($subscription_id);
83 83
 		} else {
84
-			$this->set_object_read( true );
84
+			$this->set_object_read(true);
85 85
 		}
86 86
 
87 87
 		// Load the datastore.
88
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
88
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
89 89
 
90
-		if ( $this->get_id() > 0 ) {
91
-			$this->data_store->read( $this );
90
+		if ($this->get_id() > 0) {
91
+			$this->data_store->read($this);
92 92
 		}
93 93
 
94 94
 	}
@@ -103,17 +103,17 @@  discard block
 block discarded – undo
103 103
 	 * @since 1.0.19
104 104
 	 * @return int
105 105
 	 */
106
-	public static function get_subscription_id_by_field( $value, $field = 'profile_id' ) {
106
+	public static function get_subscription_id_by_field($value, $field = 'profile_id') {
107 107
         global $wpdb;
108 108
 
109 109
 		// Trim the value.
110
-		$value = trim( $value );
110
+		$value = trim($value);
111 111
 
112
-		if ( empty( $value ) ) {
112
+		if (empty($value)) {
113 113
 			return 0;
114 114
 		}
115 115
 
116
-		if ( 'invoice_id' == $field ) {
116
+		if ('invoice_id' == $field) {
117 117
 			$field = 'parent_payment_id';
118 118
 		}
119 119
 
@@ -125,28 +125,28 @@  discard block
 block discarded – undo
125 125
 		);
126 126
 
127 127
 		// Ensure a field has been passed.
128
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
128
+		if (empty($field) || !in_array($field, $fields)) {
129 129
 			return 0;
130 130
 		}
131 131
 
132 132
 		// Maybe retrieve from the cache.
133
-		$subscription_id   = wp_cache_get( $value, "getpaid_subscription_{$field}s_to_subscription_ids" );
134
-		if ( ! empty( $subscription_id ) ) {
133
+		$subscription_id = wp_cache_get($value, "getpaid_subscription_{$field}s_to_subscription_ids");
134
+		if (!empty($subscription_id)) {
135 135
 			return $subscription_id;
136 136
 		}
137 137
 
138 138
         // Fetch from the db.
139 139
         $table            = $wpdb->prefix . 'wpinv_subscriptions';
140 140
         $subscription_id  = (int) $wpdb->get_var(
141
-            $wpdb->prepare( "SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
141
+            $wpdb->prepare("SELECT `id` FROM $table WHERE `$field`=%s LIMIT 1", $value)
142 142
         );
143 143
 
144
-		if ( empty( $subscription_id ) ) {
144
+		if (empty($subscription_id)) {
145 145
 			return 0;
146 146
 		}
147 147
 
148 148
 		// Update the cache with our data.
149
-		wp_cache_set( $value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids" );
149
+		wp_cache_set($value, $subscription_id, "getpaid_subscription_{$field}s_to_subscription_ids");
150 150
 
151 151
 		return $subscription_id;
152 152
 	}
@@ -155,17 +155,17 @@  discard block
 block discarded – undo
155 155
      * Clears the subscription's cache.
156 156
      */
157 157
     public function clear_cache() {
158
-		wp_cache_delete( $this->get_parent_payment_id(), 'getpaid_subscription_parent_payment_ids_to_subscription_ids' );
159
-		wp_cache_delete( $this->get_transaction_id(), 'getpaid_subscription_transaction_ids_to_subscription_ids' );
160
-		wp_cache_delete( $this->get_profile_id(), 'getpaid_subscription_profile_ids_to_subscription_ids' );
161
-		wp_cache_delete( $this->get_id(), 'getpaid_subscriptions' );
158
+		wp_cache_delete($this->get_parent_payment_id(), 'getpaid_subscription_parent_payment_ids_to_subscription_ids');
159
+		wp_cache_delete($this->get_transaction_id(), 'getpaid_subscription_transaction_ids_to_subscription_ids');
160
+		wp_cache_delete($this->get_profile_id(), 'getpaid_subscription_profile_ids_to_subscription_ids');
161
+		wp_cache_delete($this->get_id(), 'getpaid_subscriptions');
162 162
 	}
163 163
 
164 164
 	/**
165 165
      * Checks if a subscription key is set.
166 166
      */
167
-    public function _isset( $key ) {
168
-        return isset( $this->data[$key] ) || method_exists( $this, "get_$key" );
167
+    public function _isset($key) {
168
+        return isset($this->data[$key]) || method_exists($this, "get_$key");
169 169
 	}
170 170
 
171 171
 	/*
@@ -190,8 +190,8 @@  discard block
 block discarded – undo
190 190
 	 * @param  string $context View or edit context.
191 191
 	 * @return int
192 192
 	 */
193
-	public function get_customer_id( $context = 'view' ) {
194
-		return (int) $this->get_prop( 'customer_id', $context );
193
+	public function get_customer_id($context = 'view') {
194
+		return (int) $this->get_prop('customer_id', $context);
195 195
 	}
196 196
 
197 197
 	/**
@@ -201,8 +201,8 @@  discard block
 block discarded – undo
201 201
 	 * @param  string $context View or edit context.
202 202
 	 * @return WP_User|false WP_User object on success, false on failure.
203 203
 	 */
204
-	public function get_customer( $context = 'view' ) {
205
-		return get_userdata( $this->get_customer_id( $context ) );
204
+	public function get_customer($context = 'view') {
205
+		return get_userdata($this->get_customer_id($context));
206 206
 	}
207 207
 
208 208
 	/**
@@ -212,8 +212,8 @@  discard block
 block discarded – undo
212 212
 	 * @param  string $context View or edit context.
213 213
 	 * @return int
214 214
 	 */
215
-	public function get_parent_invoice_id( $context = 'view' ) {
216
-		return (int) $this->get_prop( 'parent_payment_id', $context );
215
+	public function get_parent_invoice_id($context = 'view') {
216
+		return (int) $this->get_prop('parent_payment_id', $context);
217 217
 	}
218 218
 
219 219
 	/**
@@ -223,8 +223,8 @@  discard block
 block discarded – undo
223 223
 	 * @param  string $context View or edit context.
224 224
 	 * @return int
225 225
 	 */
226
-    public function get_parent_payment_id( $context = 'view' ) {
227
-        return $this->get_parent_invoice_id( $context );
226
+    public function get_parent_payment_id($context = 'view') {
227
+        return $this->get_parent_invoice_id($context);
228 228
 	}
229 229
 
230 230
 	/**
@@ -233,8 +233,8 @@  discard block
 block discarded – undo
233 233
      * @since  1.0.0
234 234
      * @return int
235 235
      */
236
-    public function get_original_payment_id( $context = 'view' ) {
237
-        return $this->get_parent_invoice_id( $context );
236
+    public function get_original_payment_id($context = 'view') {
237
+        return $this->get_parent_invoice_id($context);
238 238
     }
239 239
 
240 240
 	/**
@@ -244,8 +244,8 @@  discard block
 block discarded – undo
244 244
 	 * @param  string $context View or edit context.
245 245
 	 * @return WPInv_Invoice
246 246
 	 */
247
-	public function get_parent_invoice( $context = 'view' ) {
248
-		return new WPInv_Invoice( $this->get_parent_invoice_id( $context ) );
247
+	public function get_parent_invoice($context = 'view') {
248
+		return new WPInv_Invoice($this->get_parent_invoice_id($context));
249 249
 	}
250 250
 
251 251
 	/**
@@ -255,8 +255,8 @@  discard block
 block discarded – undo
255 255
 	 * @param  string $context View or edit context.
256 256
 	 * @return WPInv_Invoice
257 257
 	 */
258
-    public function get_parent_payment( $context = 'view' ) {
259
-        return $this->get_parent_invoice( $context );
258
+    public function get_parent_payment($context = 'view') {
259
+        return $this->get_parent_invoice($context);
260 260
 	}
261 261
 
262 262
 	/**
@@ -266,8 +266,8 @@  discard block
 block discarded – undo
266 266
 	 * @param  string $context View or edit context.
267 267
 	 * @return int
268 268
 	 */
269
-	public function get_product_id( $context = 'view' ) {
270
-		return (int) $this->get_prop( 'product_id', $context );
269
+	public function get_product_id($context = 'view') {
270
+		return (int) $this->get_prop('product_id', $context);
271 271
 	}
272 272
 
273 273
 	/**
@@ -277,8 +277,8 @@  discard block
 block discarded – undo
277 277
 	 * @param  string $context View or edit context.
278 278
 	 * @return WPInv_Item
279 279
 	 */
280
-	public function get_product( $context = 'view' ) {
281
-		return new WPInv_Item( $this->get_product_id( $context ) );
280
+	public function get_product($context = 'view') {
281
+		return new WPInv_Item($this->get_product_id($context));
282 282
 	}
283 283
 
284 284
 	/**
@@ -290,8 +290,8 @@  discard block
 block discarded – undo
290 290
 	 * @param  string $context View or edit context.
291 291
 	 * @return string
292 292
 	 */
293
-	public function get_gateway( $context = 'view' ) {
294
-		return $this->get_parent_invoice( $context )->get_gateway();
293
+	public function get_gateway($context = 'view') {
294
+		return $this->get_parent_invoice($context)->get_gateway();
295 295
 	}
296 296
 
297 297
 	/**
@@ -301,8 +301,8 @@  discard block
 block discarded – undo
301 301
 	 * @param  string $context View or edit context.
302 302
 	 * @return string
303 303
 	 */
304
-	public function get_period( $context = 'view' ) {
305
-		return $this->get_prop( 'period', $context );
304
+	public function get_period($context = 'view') {
305
+		return $this->get_prop('period', $context);
306 306
 	}
307 307
 
308 308
 	/**
@@ -312,8 +312,8 @@  discard block
 block discarded – undo
312 312
 	 * @param  string $context View or edit context.
313 313
 	 * @return int
314 314
 	 */
315
-	public function get_frequency( $context = 'view' ) {
316
-		return (int) $this->get_prop( 'frequency', $context );
315
+	public function get_frequency($context = 'view') {
316
+		return (int) $this->get_prop('frequency', $context);
317 317
 	}
318 318
 
319 319
 	/**
@@ -323,8 +323,8 @@  discard block
 block discarded – undo
323 323
 	 * @param  string $context View or edit context.
324 324
 	 * @return float
325 325
 	 */
326
-	public function get_initial_amount( $context = 'view' ) {
327
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'initial_amount', $context ) );
326
+	public function get_initial_amount($context = 'view') {
327
+		return (float) wpinv_sanitize_amount($this->get_prop('initial_amount', $context));
328 328
 	}
329 329
 
330 330
 	/**
@@ -334,8 +334,8 @@  discard block
 block discarded – undo
334 334
 	 * @param  string $context View or edit context.
335 335
 	 * @return float
336 336
 	 */
337
-	public function get_recurring_amount( $context = 'view' ) {
338
-		return (float) wpinv_sanitize_amount( $this->get_prop( 'recurring_amount', $context ) );
337
+	public function get_recurring_amount($context = 'view') {
338
+		return (float) wpinv_sanitize_amount($this->get_prop('recurring_amount', $context));
339 339
 	}
340 340
 
341 341
 	/**
@@ -345,8 +345,8 @@  discard block
 block discarded – undo
345 345
 	 * @param  string $context View or edit context.
346 346
 	 * @return int
347 347
 	 */
348
-	public function get_bill_times( $context = 'view' ) {
349
-		return (int) $this->get_prop( 'bill_times', $context );
348
+	public function get_bill_times($context = 'view') {
349
+		return (int) $this->get_prop('bill_times', $context);
350 350
 	}
351 351
 
352 352
 	/**
@@ -356,8 +356,8 @@  discard block
 block discarded – undo
356 356
 	 * @param  string $context View or edit context.
357 357
 	 * @return string
358 358
 	 */
359
-	public function get_transaction_id( $context = 'view' ) {
360
-		return $this->get_prop( 'transaction_id', $context );
359
+	public function get_transaction_id($context = 'view') {
360
+		return $this->get_prop('transaction_id', $context);
361 361
 	}
362 362
 
363 363
 	/**
@@ -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_created( $context = 'view' ) {
371
-		return $this->get_prop( 'created', $context );
370
+	public function get_created($context = 'view') {
371
+		return $this->get_prop('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_date_created( $context = 'view' ) {
382
-		return $this->get_created( $context );
381
+	public function get_date_created($context = 'view') {
382
+		return $this->get_created($context);
383 383
 	}
384 384
 
385 385
 	/**
@@ -390,7 +390,7 @@  discard block
 block discarded – undo
390 390
 	 */
391 391
 	public function get_time_created() {
392 392
 		$created = $this->get_date_created();
393
-		return empty( $created ) ? current_time( 'timestamp' ) : strtotime( $created, current_time( 'timestamp' ) );
393
+		return empty($created) ? current_time('timestamp') : strtotime($created, current_time('timestamp'));
394 394
 	}
395 395
 
396 396
 	/**
@@ -400,11 +400,11 @@  discard block
 block discarded – undo
400 400
 	 * @param  string $context View or edit context.
401 401
 	 * @return string
402 402
 	 */
403
-	public function get_date_created_gmt( $context = 'view' ) {
404
-        $date = $this->get_date_created( $context );
403
+	public function get_date_created_gmt($context = 'view') {
404
+        $date = $this->get_date_created($context);
405 405
 
406
-        if ( $date ) {
407
-            $date = get_gmt_from_date( $date );
406
+        if ($date) {
407
+            $date = get_gmt_from_date($date);
408 408
         }
409 409
 		return $date;
410 410
 	}
@@ -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_next_renewal_date( $context = 'view' ) {
420
-		return $this->get_prop( 'expiration', $context );
419
+	public function get_next_renewal_date($context = 'view') {
420
+		return $this->get_prop('expiration', $context);
421 421
 	}
422 422
 
423 423
 	/**
@@ -427,8 +427,8 @@  discard block
 block discarded – undo
427 427
 	 * @param  string $context View or edit context.
428 428
 	 * @return string
429 429
 	 */
430
-	public function get_expiration( $context = 'view' ) {
431
-		return $this->get_next_renewal_date( $context );
430
+	public function get_expiration($context = 'view') {
431
+		return $this->get_next_renewal_date($context);
432 432
 	}
433 433
 
434 434
 	/**
@@ -440,12 +440,12 @@  discard block
 block discarded – undo
440 440
 	public function get_expiration_time() {
441 441
 		$expiration = $this->get_expiration();
442 442
 
443
-		if ( empty( $expiration ) || '0000-00-00 00:00:00' == $expiration ) {
444
-			return current_time( 'timestamp' );
443
+		if (empty($expiration) || '0000-00-00 00:00:00' == $expiration) {
444
+			return current_time('timestamp');
445 445
 		}
446 446
 
447
-		$expiration = strtotime( $expiration, current_time( 'timestamp' ) );
448
-		return $expiration < current_time( 'timestamp' ) ? current_time( 'timestamp' ) : $expiration;
447
+		$expiration = strtotime($expiration, current_time('timestamp'));
448
+		return $expiration < current_time('timestamp') ? current_time('timestamp') : $expiration;
449 449
 	}
450 450
 
451 451
 	/**
@@ -455,11 +455,11 @@  discard block
 block discarded – undo
455 455
 	 * @param  string $context View or edit context.
456 456
 	 * @return string
457 457
 	 */
458
-	public function get_next_renewal_date_gmt( $context = 'view' ) {
459
-        $date = $this->get_next_renewal_date( $context );
458
+	public function get_next_renewal_date_gmt($context = 'view') {
459
+        $date = $this->get_next_renewal_date($context);
460 460
 
461
-        if ( $date ) {
462
-            $date = get_gmt_from_date( $date );
461
+        if ($date) {
462
+            $date = get_gmt_from_date($date);
463 463
         }
464 464
 		return $date;
465 465
 	}
@@ -471,8 +471,8 @@  discard block
 block discarded – undo
471 471
 	 * @param  string $context View or edit context.
472 472
 	 * @return string
473 473
 	 */
474
-	public function get_trial_period( $context = 'view' ) {
475
-		return $this->get_prop( 'trial_period', $context );
474
+	public function get_trial_period($context = 'view') {
475
+		return $this->get_prop('trial_period', $context);
476 476
 	}
477 477
 
478 478
 	/**
@@ -482,8 +482,8 @@  discard block
 block discarded – undo
482 482
 	 * @param  string $context View or edit context.
483 483
 	 * @return string
484 484
 	 */
485
-	public function get_status( $context = 'view' ) {
486
-		return $this->get_prop( 'status', $context );
485
+	public function get_status($context = 'view') {
486
+		return $this->get_prop('status', $context);
487 487
 	}
488 488
 
489 489
 	/**
@@ -493,8 +493,8 @@  discard block
 block discarded – undo
493 493
 	 * @param  string $context View or edit context.
494 494
 	 * @return string
495 495
 	 */
496
-	public function get_profile_id( $context = 'view' ) {
497
-		return $this->get_prop( 'profile_id', $context );
496
+	public function get_profile_id($context = 'view') {
497
+		return $this->get_prop('profile_id', $context);
498 498
 	}
499 499
 
500 500
 	/*
@@ -509,8 +509,8 @@  discard block
 block discarded – undo
509 509
 	 * @since 1.0.19
510 510
 	 * @param  int $value The customer's id.
511 511
 	 */
512
-	public function set_customer_id( $value ) {
513
-		$this->set_prop( 'customer_id', (int) $value );
512
+	public function set_customer_id($value) {
513
+		$this->set_prop('customer_id', (int) $value);
514 514
 	}
515 515
 
516 516
 	/**
@@ -519,8 +519,8 @@  discard block
 block discarded – undo
519 519
 	 * @since 1.0.19
520 520
 	 * @param  int $value The parent invoice id.
521 521
 	 */
522
-	public function set_parent_invoice_id( $value ) {
523
-		$this->set_prop( 'parent_payment_id', (int) $value );
522
+	public function set_parent_invoice_id($value) {
523
+		$this->set_prop('parent_payment_id', (int) $value);
524 524
 	}
525 525
 
526 526
 	/**
@@ -529,8 +529,8 @@  discard block
 block discarded – undo
529 529
 	 * @since 1.0.19
530 530
 	 * @param  int $value The parent invoice id.
531 531
 	 */
532
-    public function set_parent_payment_id( $value ) {
533
-        $this->set_parent_invoice_id( $value );
532
+    public function set_parent_payment_id($value) {
533
+        $this->set_parent_invoice_id($value);
534 534
 	}
535 535
 
536 536
 	/**
@@ -539,8 +539,8 @@  discard block
 block discarded – undo
539 539
      * @since 1.0.19
540 540
 	 * @param  int $value The parent invoice id.
541 541
      */
542
-    public function set_original_payment_id( $value ) {
543
-        $this->set_parent_invoice_id( $value );
542
+    public function set_original_payment_id($value) {
543
+        $this->set_parent_invoice_id($value);
544 544
 	}
545 545
 
546 546
 	/**
@@ -549,8 +549,8 @@  discard block
 block discarded – undo
549 549
 	 * @since 1.0.19
550 550
 	 * @param  int $value The subscription product id.
551 551
 	 */
552
-	public function set_product_id( $value ) {
553
-		$this->set_prop( 'product_id', (int) $value );
552
+	public function set_product_id($value) {
553
+		$this->set_prop('product_id', (int) $value);
554 554
 	}
555 555
 
556 556
 	/**
@@ -559,8 +559,8 @@  discard block
 block discarded – undo
559 559
 	 * @since 1.0.19
560 560
 	 * @param  string $value The renewal period.
561 561
 	 */
562
-	public function set_period( $value ) {
563
-		$this->set_prop( 'period', $value );
562
+	public function set_period($value) {
563
+		$this->set_prop('period', $value);
564 564
 	}
565 565
 
566 566
 	/**
@@ -569,9 +569,9 @@  discard block
 block discarded – undo
569 569
 	 * @since 1.0.19
570 570
 	 * @param  int $value The subscription frequency.
571 571
 	 */
572
-	public function set_frequency( $value ) {
573
-		$value = empty( $value ) ? 1 : (int) $value;
574
-		$this->set_prop( 'frequency', absint( $value ) );
572
+	public function set_frequency($value) {
573
+		$value = empty($value) ? 1 : (int) $value;
574
+		$this->set_prop('frequency', absint($value));
575 575
 	}
576 576
 
577 577
 	/**
@@ -580,8 +580,8 @@  discard block
 block discarded – undo
580 580
 	 * @since 1.0.19
581 581
 	 * @param  float $value The initial subcription amount.
582 582
 	 */
583
-	public function set_initial_amount( $value ) {
584
-		$this->set_prop( 'initial_amount', wpinv_sanitize_amount( $value ) );
583
+	public function set_initial_amount($value) {
584
+		$this->set_prop('initial_amount', wpinv_sanitize_amount($value));
585 585
 	}
586 586
 
587 587
 	/**
@@ -590,8 +590,8 @@  discard block
 block discarded – undo
590 590
 	 * @since 1.0.19
591 591
 	 * @param  float $value The recurring subcription amount.
592 592
 	 */
593
-	public function set_recurring_amount( $value ) {
594
-		$this->set_prop( 'recurring_amount', wpinv_sanitize_amount( $value ) );
593
+	public function set_recurring_amount($value) {
594
+		$this->set_prop('recurring_amount', wpinv_sanitize_amount($value));
595 595
 	}
596 596
 
597 597
 	/**
@@ -600,8 +600,8 @@  discard block
 block discarded – undo
600 600
 	 * @since 1.0.19
601 601
 	 * @param  int $value Bill times.
602 602
 	 */
603
-	public function set_bill_times( $value ) {
604
-		$this->set_prop( 'bill_times', (int) $value );
603
+	public function set_bill_times($value) {
604
+		$this->set_prop('bill_times', (int) $value);
605 605
 	}
606 606
 
607 607
 	/**
@@ -610,8 +610,8 @@  discard block
 block discarded – undo
610 610
 	 * @since 1.0.19
611 611
 	 * @param string $value Bill times.
612 612
 	 */
613
-	public function set_transaction_id( $value ) {
614
-		$this->set_prop( 'transaction_id', sanitize_text_field( $value ) );
613
+	public function set_transaction_id($value) {
614
+		$this->set_prop('transaction_id', sanitize_text_field($value));
615 615
 	}
616 616
 
617 617
 	/**
@@ -620,15 +620,15 @@  discard block
 block discarded – undo
620 620
 	 * @since 1.0.19
621 621
 	 * @param string $value strtotime compliant date.
622 622
 	 */
623
-	public function set_created( $value ) {
624
-        $date = strtotime( $value );
623
+	public function set_created($value) {
624
+        $date = strtotime($value);
625 625
 
626
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
627
-            $this->set_prop( 'created', date( 'Y-m-d H:i:s', $date ) );
626
+        if ($date && $value !== '0000-00-00 00:00:00') {
627
+            $this->set_prop('created', date('Y-m-d H:i:s', $date));
628 628
             return;
629 629
         }
630 630
 
631
-		$this->set_prop( 'created', '' );
631
+		$this->set_prop('created', '');
632 632
 
633 633
 	}
634 634
 
@@ -638,8 +638,8 @@  discard block
 block discarded – undo
638 638
 	 * @since 1.0.19
639 639
 	 * @param string $value strtotime compliant date.
640 640
 	 */
641
-	public function set_date_created( $value ) {
642
-		$this->set_created( $value );
641
+	public function set_date_created($value) {
642
+		$this->set_created($value);
643 643
     }
644 644
 
645 645
 	/**
@@ -648,15 +648,15 @@  discard block
 block discarded – undo
648 648
 	 * @since 1.0.19
649 649
 	 * @param string $value strtotime compliant date.
650 650
 	 */
651
-	public function set_next_renewal_date( $value ) {
652
-		$date = strtotime( $value );
651
+	public function set_next_renewal_date($value) {
652
+		$date = strtotime($value);
653 653
 
654
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
655
-            $this->set_prop( 'expiration', date( 'Y-m-d H:i:s', $date ) );
654
+        if ($date && $value !== '0000-00-00 00:00:00') {
655
+            $this->set_prop('expiration', date('Y-m-d H:i:s', $date));
656 656
             return;
657 657
 		}
658 658
 
659
-		$this->set_prop( 'expiration', '' );
659
+		$this->set_prop('expiration', '');
660 660
 
661 661
 	}
662 662
 
@@ -666,8 +666,8 @@  discard block
 block discarded – undo
666 666
 	 * @since 1.0.19
667 667
 	 * @param string $value strtotime compliant date.
668 668
 	 */
669
-	public function set_expiration( $value ) {
670
-		$this->set_next_renewal_date( $value );
669
+	public function set_expiration($value) {
670
+		$this->set_next_renewal_date($value);
671 671
     }
672 672
 
673 673
 	/**
@@ -676,8 +676,8 @@  discard block
 block discarded – undo
676 676
 	 * @since 1.0.19
677 677
 	 * @param string $value trial period e.g 1 year.
678 678
 	 */
679
-	public function set_trial_period( $value ) {
680
-		$this->set_prop( 'trial_period', $value );
679
+	public function set_trial_period($value) {
680
+		$this->set_prop('trial_period', $value);
681 681
 	}
682 682
 
683 683
 	/**
@@ -686,19 +686,19 @@  discard block
 block discarded – undo
686 686
 	 * @since 1.0.19
687 687
 	 * @param string $new_status    New subscription status.
688 688
 	 */
689
-	public function set_status( $new_status ) {
689
+	public function set_status($new_status) {
690 690
 
691 691
 		// Abort if this is not a valid status;
692
-		if ( ! array_key_exists( $new_status, getpaid_get_subscription_statuses() ) ) {
692
+		if (!array_key_exists($new_status, getpaid_get_subscription_statuses())) {
693 693
 			return;
694 694
 		}
695 695
 
696 696
 		$old_status = $this->get_status();
697
-		$this->set_prop( 'status', $new_status );
697
+		$this->set_prop('status', $new_status);
698 698
 
699
-		if ( true === $this->object_read && $old_status !== $new_status ) {
699
+		if (true === $this->object_read && $old_status !== $new_status) {
700 700
 			$this->status_transition = array(
701
-				'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
701
+				'from'   => !empty($this->status_transition['from']) ? $this->status_transition['from'] : $old_status,
702 702
 				'to'     => $new_status,
703 703
 			);
704 704
 		}
@@ -711,8 +711,8 @@  discard block
 block discarded – undo
711 711
 	 * @since 1.0.19
712 712
 	 * @param  string $value the remote profile id.
713 713
 	 */
714
-	public function set_profile_id( $value ) {
715
-		$this->set_prop( 'profile_id', sanitize_text_field( $value ) );
714
+	public function set_profile_id($value) {
715
+		$this->set_prop('profile_id', sanitize_text_field($value));
716 716
 	}
717 717
 
718 718
 	/*
@@ -730,8 +730,8 @@  discard block
 block discarded – undo
730 730
 	 * @param string|array String or array of strings to check for.
731 731
 	 * @return bool
732 732
      */
733
-    public function has_status( $status ) {
734
-        return in_array( $this->get_status(), wpinv_clean( wpinv_parse_list( $status ) ) );
733
+    public function has_status($status) {
734
+        return in_array($this->get_status(), wpinv_clean(wpinv_parse_list($status)));
735 735
 	}
736 736
 
737 737
 	/**
@@ -741,7 +741,7 @@  discard block
 block discarded – undo
741 741
      */
742 742
     public function has_trial_period() {
743 743
 		$period = $this->get_trial_period();
744
-        return ! empty( $period );
744
+        return !empty($period);
745 745
 	}
746 746
 
747 747
 	/**
@@ -750,7 +750,7 @@  discard block
 block discarded – undo
750 750
 	 * @return bool
751 751
 	 */
752 752
 	public function is_active() {
753
-		return $this->has_status( 'active trialling' ) && ! $this->is_expired();
753
+		return $this->has_status('active trialling') && !$this->is_expired();
754 754
 	}
755 755
 
756 756
 	/**
@@ -759,7 +759,7 @@  discard block
 block discarded – undo
759 759
 	 * @return bool
760 760
 	 */
761 761
 	public function is_expired() {
762
-		return $this->has_status( 'expired' ) || ( $this->has_status( 'active cancelled trialling' ) && $this->get_expiration_time() < current_time( 'mysql' ) );
762
+		return $this->has_status('expired') || ($this->has_status('active cancelled trialling') && $this->get_expiration_time() < current_time('mysql'));
763 763
 	}
764 764
 
765 765
 	/**
@@ -769,7 +769,7 @@  discard block
 block discarded – undo
769 769
 	 */
770 770
 	public function is_last_renewal() {
771 771
 		$max_bills = $this->get_bill_times();
772
-		return ! empty( $max_bills ) && $max_bills <= $this->get_times_billed();
772
+		return !empty($max_bills) && $max_bills <= $this->get_times_billed();
773 773
 	}
774 774
 
775 775
 	/*
@@ -784,11 +784,11 @@  discard block
 block discarded – undo
784 784
 	/**
785 785
 	 * Backwards compatibilty.
786 786
 	 */
787
-	public function create( $data = array() ) {
787
+	public function create($data = array()) {
788 788
 
789 789
 		// Set the properties.
790
-		if ( is_array( $data ) ) {
791
-			$this->set_props( $data );
790
+		if (is_array($data)) {
791
+			$this->set_props($data);
792 792
 		}
793 793
 
794 794
 		// Save the item.
@@ -799,8 +799,8 @@  discard block
 block discarded – undo
799 799
 	/**
800 800
 	 * Backwards compatibilty.
801 801
 	 */
802
-	public function update( $args = array() ) {
803
-		return $this->create( $args );
802
+	public function update($args = array()) {
803
+		return $this->create($args);
804 804
 	}
805 805
 
806 806
     /**
@@ -809,12 +809,12 @@  discard block
 block discarded – undo
809 809
      * @since  1.0.0
810 810
      * @return WP_Post[]
811 811
      */
812
-    public function get_child_payments( $hide_pending = true ) {
812
+    public function get_child_payments($hide_pending = true) {
813 813
 
814
-		$statuses = array( 'publish', 'wpi-processing', 'wpi-renewal' );
814
+		$statuses = array('publish', 'wpi-processing', 'wpi-renewal');
815 815
 
816
-		if ( ! $hide_pending ) {
817
-			$statuses = array_keys( wpinv_get_invoice_statuses() );
816
+		if (!$hide_pending) {
817
+			$statuses = array_keys(wpinv_get_invoice_statuses());
818 818
 		}
819 819
 
820 820
         return get_posts(
@@ -846,7 +846,7 @@  discard block
 block discarded – undo
846 846
 		);
847 847
 
848 848
 		// Maybe include parent invoice.
849
-        if ( $this->get_parent_payment()->is_paid() ) {
849
+        if ($this->get_parent_payment()->is_paid()) {
850 850
             $count++;
851 851
         }
852 852
 
@@ -862,7 +862,7 @@  discard block
 block discarded – undo
862 862
     public function get_times_billed() {
863 863
         $times_billed = $this->get_total_payments();
864 864
 
865
-        if ( (float) $this->get_initial_amount() == 0 && $times_billed > 0 ) {
865
+        if ((float) $this->get_initial_amount() == 0 && $times_billed > 0) {
866 866
             $times_billed--;
867 867
         }
868 868
 
@@ -877,49 +877,49 @@  discard block
 block discarded – undo
877 877
 	 * @param  WPInv_Invoice $invoice If adding an existing invoice.
878 878
      * @return bool
879 879
      */
880
-    public function add_payment( $args = array(), $invoice = false ) {
880
+    public function add_payment($args = array(), $invoice = false) {
881 881
 
882 882
 		// Process each payment once.
883
-        if ( ! empty( $args['transaction_id'] ) && $this->payment_exists( $args['transaction_id'] ) ) {
883
+        if (!empty($args['transaction_id']) && $this->payment_exists($args['transaction_id'])) {
884 884
             return false;
885 885
         }
886 886
 
887 887
 		// Are we creating a new invoice?
888
-		if ( empty( $invoice ) ) {
888
+		if (empty($invoice)) {
889 889
 			$invoice = $this->create_payment();
890 890
 
891
-			if ( empty( $invoice ) ) {
891
+			if (empty($invoice)) {
892 892
 				return false;
893 893
 			}
894 894
 
895 895
 		}
896 896
 
897
-		$invoice->set_status( 'wpi-renewal' );
897
+		$invoice->set_status('wpi-renewal');
898 898
 
899 899
 		// Maybe set a transaction id.
900
-		if ( ! empty( $args['transaction_id'] ) ) {
901
-			$invoice->set_transaction_id( $args['transaction_id'] );
900
+		if (!empty($args['transaction_id'])) {
901
+			$invoice->set_transaction_id($args['transaction_id']);
902 902
 		}
903 903
 
904 904
 		// Set the completed date.
905
-		$invoice->set_completed_date( current_time( 'mysql' ) );
905
+		$invoice->set_completed_date(current_time('mysql'));
906 906
 
907 907
 		// And the gateway.
908
-		if ( ! empty( $args['gateway'] ) ) {
909
-			$invoice->set_gateway( $args['gateway'] );
908
+		if (!empty($args['gateway'])) {
909
+			$invoice->set_gateway($args['gateway']);
910 910
 		}
911 911
 
912 912
 		$invoice->save();
913 913
 
914
-		if ( ! $invoice->exists() ) {
914
+		if (!$invoice->exists()) {
915 915
 			return false;
916 916
 		}
917 917
 
918
-		do_action( 'getpaid_after_create_subscription_renewal_invoice', $invoice, $this );
919
-		do_action( 'wpinv_recurring_add_subscription_payment', $invoice, $this );
920
-        do_action( 'wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id() );
918
+		do_action('getpaid_after_create_subscription_renewal_invoice', $invoice, $this);
919
+		do_action('wpinv_recurring_add_subscription_payment', $invoice, $this);
920
+        do_action('wpinv_recurring_record_payment', $invoice->get_id(), $this->get_parent_invoice_id(), $invoice->get_recurring_total(), $invoice->get_transaction_id());
921 921
 
922
-        update_post_meta( $invoice->get_id(), '_wpinv_subscription_id', $this->id );
922
+        update_post_meta($invoice->get_id(), '_wpinv_subscription_id', $this->id);
923 923
 
924 924
         return $invoice->get_id();
925 925
 	}
@@ -934,15 +934,15 @@  discard block
 block discarded – undo
934 934
 
935 935
 		$parent_invoice = $this->get_parent_payment();
936 936
 
937
-		if ( ! $parent_invoice->exists() ) {
937
+		if (!$parent_invoice->exists()) {
938 938
 			return false;
939 939
 		}
940 940
 
941 941
 		// Duplicate the parent invoice.
942
-		$invoice = getpaid_duplicate_invoice( $parent_invoice );
943
-		$invoice->set_parent_id( $parent_invoice->get_id() );
942
+		$invoice = getpaid_duplicate_invoice($parent_invoice);
943
+		$invoice->set_parent_id($parent_invoice->get_id());
944 944
 		$invoice->recalculate_total();
945
-		$invoice->set_status( 'wpi-pending' );
945
+		$invoice->set_status('wpi-pending');
946 946
 		$invoice->save();
947 947
 
948 948
 		return $invoice->exists() ? $invoice : false;
@@ -957,20 +957,20 @@  discard block
 block discarded – undo
957 957
 	public function renew() {
958 958
 
959 959
 		// Complete subscription if applicable
960
-		if ( $this->is_last_renewal() ) {
960
+		if ($this->is_last_renewal()) {
961 961
 			return $this->complete();
962 962
 		}
963 963
 
964 964
 		// Calculate new expiration
965 965
 		$frequency      = $this->get_frequency();
966 966
 		$period         = $this->get_period();
967
-		$new_expiration = strtotime( "+ $frequency $period", $this->get_expiration_time() );
967
+		$new_expiration = strtotime("+ $frequency $period", $this->get_expiration_time());
968 968
 
969
-		$this->set_expiration( date( 'Y-m-d H:i:s',$new_expiration ) );
970
-		$this->set_status( 'active' );
969
+		$this->set_expiration(date('Y-m-d H:i:s', $new_expiration));
970
+		$this->set_status('active');
971 971
 		return $this->save();
972 972
 
973
-		do_action( 'getpaid_subscription_renewed', $this );
973
+		do_action('getpaid_subscription_renewed', $this);
974 974
 
975 975
 	}
976 976
 
@@ -985,11 +985,11 @@  discard block
 block discarded – undo
985 985
 	public function complete() {
986 986
 
987 987
 		// Only mark a subscription as complete if it's not already cancelled.
988
-		if ( $this->has_status( 'cancelled' ) ) {
988
+		if ($this->has_status('cancelled')) {
989 989
 			return false;
990 990
 		}
991 991
 
992
-		$this->set_status( 'completed' );
992
+		$this->set_status('completed');
993 993
 		return $this->save();
994 994
 
995 995
 	}
@@ -1001,14 +1001,14 @@  discard block
 block discarded – undo
1001 1001
 	 * @param  bool $check_expiration
1002 1002
 	 * @return int|bool Subscription id or false if $check_expiration is true and expiration date is in the future.
1003 1003
 	 */
1004
-	public function expire( $check_expiration = false ) {
1004
+	public function expire($check_expiration = false) {
1005 1005
 
1006
-		if ( $check_expiration && $this->get_expiration_time() > current_time( 'timestamp' ) ) {
1006
+		if ($check_expiration && $this->get_expiration_time() > current_time('timestamp')) {
1007 1007
 			// Do not mark as expired since real expiration date is in the future
1008 1008
 			return false;
1009 1009
 		}
1010 1010
 
1011
-		$this->set_status( 'expired' );
1011
+		$this->set_status('expired');
1012 1012
 		return $this->save();
1013 1013
 
1014 1014
 	}
@@ -1020,7 +1020,7 @@  discard block
 block discarded – undo
1020 1020
 	 * @return int Subscription id.
1021 1021
 	 */
1022 1022
 	public function failing() {
1023
-		$this->set_status( 'failing' );
1023
+		$this->set_status('failing');
1024 1024
 		return $this->save();
1025 1025
 	}
1026 1026
 
@@ -1031,7 +1031,7 @@  discard block
 block discarded – undo
1031 1031
      * @return int Subscription id.
1032 1032
      */
1033 1033
     public function cancel() {
1034
-		$this->set_status( 'cancelled' );
1034
+		$this->set_status('cancelled');
1035 1035
 		return $this->save();
1036 1036
     }
1037 1037
 
@@ -1042,7 +1042,7 @@  discard block
 block discarded – undo
1042 1042
 	 * @return bool
1043 1043
 	 */
1044 1044
 	public function can_cancel() {
1045
-		return apply_filters( 'wpinv_subscription_can_cancel', $this->has_status( $this->get_cancellable_statuses() ), $this );
1045
+		return apply_filters('wpinv_subscription_can_cancel', $this->has_status($this->get_cancellable_statuses()), $this);
1046 1046
 	}
1047 1047
 
1048 1048
     /**
@@ -1053,7 +1053,7 @@  discard block
 block discarded – undo
1053 1053
      * @return      array
1054 1054
      */
1055 1055
     public function get_cancellable_statuses() {
1056
-        return apply_filters( 'wpinv_recurring_cancellable_statuses', array( 'active', 'trialling', 'failing' ) );
1056
+        return apply_filters('wpinv_recurring_cancellable_statuses', array('active', 'trialling', 'failing'));
1057 1057
     }
1058 1058
 
1059 1059
 	/**
@@ -1063,8 +1063,8 @@  discard block
 block discarded – undo
1063 1063
 	 * @return string
1064 1064
 	 */
1065 1065
 	public function get_cancel_url() {
1066
-		$url = getpaid_get_authenticated_action_url( 'subscription_cancel', $this->get_view_url() );
1067
-		return apply_filters( 'wpinv_subscription_cancel_url', $url, $this );
1066
+		$url = getpaid_get_authenticated_action_url('subscription_cancel', $this->get_view_url());
1067
+		return apply_filters('wpinv_subscription_cancel_url', $url, $this);
1068 1068
 	}
1069 1069
 
1070 1070
 	/**
@@ -1075,10 +1075,10 @@  discard block
 block discarded – undo
1075 1075
 	 */
1076 1076
 	public function get_view_url() {
1077 1077
 
1078
-		$url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
1079
-		$url = add_query_arg( 'subscription', $this->get_id(), $url );
1078
+		$url = getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page')));
1079
+		$url = add_query_arg('subscription', $this->get_id(), $url);
1080 1080
 
1081
-		return apply_filters( 'getpaid_get_subscription_view_url', $url, $this );
1081
+		return apply_filters('getpaid_get_subscription_view_url', $url, $this);
1082 1082
 	}
1083 1083
 
1084 1084
 	/**
@@ -1091,7 +1091,7 @@  discard block
 block discarded – undo
1091 1091
 	 * @return bool
1092 1092
 	 */
1093 1093
 	public function can_renew() {
1094
-		return apply_filters( 'wpinv_subscription_can_renew', true, $this );
1094
+		return apply_filters('wpinv_subscription_can_renew', true, $this);
1095 1095
 	}
1096 1096
 
1097 1097
 	/**
@@ -1101,8 +1101,8 @@  discard block
 block discarded – undo
1101 1101
 	 * @return string
1102 1102
 	 */
1103 1103
 	public function get_renew_url() {
1104
-		$url = wp_nonce_url( add_query_arg( array( 'getpaid-action' => 'renew_subscription', 'sub_id' => $this->get_id ) ), 'getpaid-nonce' );
1105
-		return apply_filters( 'wpinv_subscription_renew_url', $url, $this );
1104
+		$url = wp_nonce_url(add_query_arg(array('getpaid-action' => 'renew_subscription', 'sub_id' => $this->get_id)), 'getpaid-nonce');
1105
+		return apply_filters('wpinv_subscription_renew_url', $url, $this);
1106 1106
 	}
1107 1107
 
1108 1108
 	/**
@@ -1112,7 +1112,7 @@  discard block
 block discarded – undo
1112 1112
 	 * @return bool
1113 1113
 	 */
1114 1114
 	public function can_update() {
1115
-		return apply_filters( 'wpinv_subscription_can_update', false, $this );
1115
+		return apply_filters('wpinv_subscription_can_update', false, $this);
1116 1116
 	}
1117 1117
 
1118 1118
 	/**
@@ -1122,8 +1122,8 @@  discard block
 block discarded – undo
1122 1122
 	 * @return string
1123 1123
 	 */
1124 1124
 	public function get_update_url() {
1125
-		$url = add_query_arg( array( 'action' => 'update', 'subscription_id' => $this->get_id() ) );
1126
-		return apply_filters( 'wpinv_subscription_update_url', $url, $this );
1125
+		$url = add_query_arg(array('action' => 'update', 'subscription_id' => $this->get_id()));
1126
+		return apply_filters('wpinv_subscription_update_url', $url, $this);
1127 1127
 	}
1128 1128
 
1129 1129
 	/**
@@ -1133,7 +1133,7 @@  discard block
 block discarded – undo
1133 1133
 	 * @return string
1134 1134
 	 */
1135 1135
 	public function get_status_label() {
1136
-		return getpaid_get_subscription_status_label( $this->get_status() );
1136
+		return getpaid_get_subscription_status_label($this->get_status());
1137 1137
 	}
1138 1138
 
1139 1139
 	/**
@@ -1144,7 +1144,7 @@  discard block
 block discarded – undo
1144 1144
 	 */
1145 1145
 	public function get_status_class() {
1146 1146
 		$statuses = getpaid_get_subscription_status_classes();
1147
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'text-white bg-secondary';
1147
+		return isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : 'text-white bg-secondary';
1148 1148
 	}
1149 1149
 
1150 1150
     /**
@@ -1155,9 +1155,9 @@  discard block
 block discarded – undo
1155 1155
      */
1156 1156
     public function get_status_label_html() {
1157 1157
 
1158
-		$status_label = sanitize_text_field( $this->get_status_label() );
1159
-		$class        = esc_attr( $this->get_status_class() );
1160
-		$status       = sanitize_html_class( $this->get_status_label() );
1158
+		$status_label = sanitize_text_field($this->get_status_label());
1159
+		$class        = esc_attr($this->get_status_class());
1160
+		$status       = sanitize_html_class($this->get_status_label());
1161 1161
 
1162 1162
 		return "<span class='bsui'><span class='d-inline-block py-2 px-3 rounded $class $status'>$status_label</span></span>";
1163 1163
     }
@@ -1169,9 +1169,9 @@  discard block
 block discarded – undo
1169 1169
      * @param  string $txn_id The transaction ID from the merchant processor
1170 1170
      * @return bool
1171 1171
      */
1172
-    public function payment_exists( $txn_id = '' ) {
1173
-		$invoice_id = WPInv_Invoice::get_invoice_id_by_field( $txn_id, 'transaction_id' );
1174
-        return ! empty( $invoice_id );
1172
+    public function payment_exists($txn_id = '') {
1173
+		$invoice_id = WPInv_Invoice::get_invoice_id_by_field($txn_id, 'transaction_id');
1174
+        return !empty($invoice_id);
1175 1175
 	}
1176 1176
 
1177 1177
 	/**
@@ -1183,35 +1183,35 @@  discard block
 block discarded – undo
1183 1183
 		// Reset status transition variable.
1184 1184
 		$this->status_transition = false;
1185 1185
 
1186
-		if ( $status_transition ) {
1186
+		if ($status_transition) {
1187 1187
 			try {
1188 1188
 
1189 1189
 				// Fire a hook for the status change.
1190
-				do_action( 'wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition );
1191
-				do_action( 'getpaid_subscription_' . $status_transition['to'], $this, $status_transition );
1190
+				do_action('wpinv_subscription_' . $status_transition['to'], $this->get_id(), $this, $status_transition);
1191
+				do_action('getpaid_subscription_' . $status_transition['to'], $this, $status_transition);
1192 1192
 
1193
-				if ( ! empty( $status_transition['from'] ) ) {
1193
+				if (!empty($status_transition['from'])) {
1194 1194
 
1195 1195
 					/* translators: 1: old subscription status 2: new subscription status */
1196
-					$transition_note = sprintf( __( 'Subscription status changed from %1$s to %2$s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['from'] ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1196
+					$transition_note = sprintf(__('Subscription status changed from %1$s to %2$s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['from']), getpaid_get_subscription_status_label($status_transition['to']));
1197 1197
 
1198 1198
 					// Note the transition occurred.
1199
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1199
+					$this->get_parent_payment()->add_note($transition_note, false, false, true);
1200 1200
 
1201 1201
 					// Fire another hook.
1202
-					do_action( 'getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this );
1203
-					do_action( 'getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to'] );
1202
+					do_action('getpaid_subscription_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $this);
1203
+					do_action('getpaid_subscription_status_changed', $this, $status_transition['from'], $status_transition['to']);
1204 1204
 
1205 1205
 				} else {
1206 1206
 					/* translators: %s: new invoice status */
1207
-					$transition_note = sprintf( __( 'Subscription status set to %s.', 'invoicing' ), getpaid_get_subscription_status_label( $status_transition['to'] ) );
1207
+					$transition_note = sprintf(__('Subscription status set to %s.', 'invoicing'), getpaid_get_subscription_status_label($status_transition['to']));
1208 1208
 
1209 1209
 					// Note the transition occurred.
1210
-					$this->get_parent_payment()->add_note( $transition_note, false, false, true );
1210
+					$this->get_parent_payment()->add_note($transition_note, false, false, true);
1211 1211
 
1212 1212
 				}
1213
-			} catch ( Exception $e ) {
1214
-				$this->get_parent_payment()->add_note( __( 'Error during subscription status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
1213
+			} catch (Exception $e) {
1214
+				$this->get_parent_payment()->add_note(__('Error during subscription status transition.', 'invoicing') . ' ' . $e->getMessage());
1215 1215
 			}
1216 1216
 		}
1217 1217
 
@@ -1237,7 +1237,7 @@  discard block
 block discarded – undo
1237 1237
 	 */
1238 1238
 	public function activate() {
1239 1239
 		$status = 'trialling' == $this->get_status() ? 'trialling' : 'active';
1240
-		$this->set_status( $status );
1240
+		$this->set_status($status);
1241 1241
 		return $this->save();
1242 1242
 	}
1243 1243
 
Please login to merge, or discard this patch.
templates/subscriptions/subscription-details.php 2 patches
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -43,64 +43,64 @@  discard block
 block discarded – undo
43 43
 				<td class="w-75">
44 44
 					<?php
45 45
 
46
-						switch ( $key ) {
46
+                        switch ( $key ) {
47 47
 
48
-							case 'status':
49
-								echo sanitize_text_field( $subscription->get_status_label() );
50
-								break;
48
+                            case 'status':
49
+                                echo sanitize_text_field( $subscription->get_status_label() );
50
+                                break;
51 51
 
52
-							case 'start_date':
53
-								echo sanitize_text_field( getpaid_format_date_value( $subscription->get_date_created() ) );
54
-								break;
52
+                            case 'start_date':
53
+                                echo sanitize_text_field( getpaid_format_date_value( $subscription->get_date_created() ) );
54
+                                break;
55 55
 
56
-							case 'expiry_date':
57
-								echo sanitize_text_field( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
58
-								break;
56
+                            case 'expiry_date':
57
+                                echo sanitize_text_field( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
58
+                                break;
59 59
 
60
-							case 'initial_amount':
61
-								echo wpinv_price( wpinv_format_amount( $subscription->get_initial_amount() ), $subscription->get_parent_payment()->get_currency() );
60
+                            case 'initial_amount':
61
+                                echo wpinv_price( wpinv_format_amount( $subscription->get_initial_amount() ), $subscription->get_parent_payment()->get_currency() );
62 62
 
63
-								if ( $subscription->has_trial_period() ) {
63
+                                if ( $subscription->has_trial_period() ) {
64 64
 
65
-									echo "<small class='text-muted'>&nbsp;";
66
-									printf(
67
-										_x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
68
-										sanitize_text_field( $subscription->get_trial_period() )
69
-									);
70
-									echo '</small>';
65
+                                    echo "<small class='text-muted'>&nbsp;";
66
+                                    printf(
67
+                                        _x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
68
+                                        sanitize_text_field( $subscription->get_trial_period() )
69
+                                    );
70
+                                    echo '</small>';
71 71
 
72
-								}
72
+                                }
73 73
 								
74
-								break;
74
+                                break;
75 75
 
76
-							case 'recurring_amount':
77
-								$frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
78
-								$amount    = wpinv_price( wpinv_format_amount( $subscription->get_recurring_amount() ), $subscription->get_parent_payment()->get_currency() );
79
-								echo strtolower( "<strong style='font-weight: 500;'>$amount</strong> / $frequency" );
80
-								break;
76
+                            case 'recurring_amount':
77
+                                $frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
78
+                                $amount    = wpinv_price( wpinv_format_amount( $subscription->get_recurring_amount() ), $subscription->get_parent_payment()->get_currency() );
79
+                                echo strtolower( "<strong style='font-weight: 500;'>$amount</strong> / $frequency" );
80
+                                break;
81 81
 
82
-							case 'item':
83
-								$item = get_post( $subscription->get_product_id() );
82
+                            case 'item':
83
+                                $item = get_post( $subscription->get_product_id() );
84 84
 
85
-								if ( ! empty( $item ) ) {
86
-									echo esc_html( get_the_title( $item ) );
87
-								} else {
88
-									echo sprintf( __( 'Item #%s', 'invoicing' ), $subscription->get_product_id() );
89
-								}
85
+                                if ( ! empty( $item ) ) {
86
+                                    echo esc_html( get_the_title( $item ) );
87
+                                } else {
88
+                                    echo sprintf( __( 'Item #%s', 'invoicing' ), $subscription->get_product_id() );
89
+                                }
90 90
 
91
-								break;
91
+                                break;
92 92
 
93
-							case 'payments':
93
+                            case 'payments':
94 94
 
95
-								$max_activations = (int) $subscription->get_bill_times();
96
-								echo (int) $subscription->get_times_billed() . ' / ' . ( empty( $max_activations ) ? "&infin;" : $max_activations );
95
+                                $max_activations = (int) $subscription->get_bill_times();
96
+                                echo (int) $subscription->get_times_billed() . ' / ' . ( empty( $max_activations ) ? "&infin;" : $max_activations );
97 97
 
98
-								break;
98
+                                break;
99 99
 
100
-						}
101
-						do_action( "getpaid_render_single_subscription_column_$key", $subscription );
100
+                        }
101
+                        do_action( "getpaid_render_single_subscription_column_$key", $subscription );
102 102
 
103
-					?>
103
+                    ?>
104 104
 				</td>
105 105
 
106 106
 			</tr>
@@ -117,17 +117,17 @@  discard block
 block discarded – undo
117 117
 <span class="form-text">
118 118
 
119 119
 	<?php
120
-		if ( $subscription->can_cancel() ) {
121
-			printf(
122
-				'<a href="%s" class="btn btn-danger btn-sm" onclick="return confirm(\'%s\')">%s</a>&nbsp;&nbsp;',
123
-				esc_url( $subscription->get_cancel_url() ),
124
-				esc_attr__( 'Are you sure you want to cancel this subscription?', 'invoicing' ),
125
-				__( 'Cancel Subscription', 'invoicing' )
126
-			);
127
-		}
128
-
129
-		do_action( 'getpaid-single-subscription-page-actions', $subscription );
130
-	?>
120
+        if ( $subscription->can_cancel() ) {
121
+            printf(
122
+                '<a href="%s" class="btn btn-danger btn-sm" onclick="return confirm(\'%s\')">%s</a>&nbsp;&nbsp;',
123
+                esc_url( $subscription->get_cancel_url() ),
124
+                esc_attr__( 'Are you sure you want to cancel this subscription?', 'invoicing' ),
125
+                __( 'Cancel Subscription', 'invoicing' )
126
+            );
127
+        }
128
+
129
+        do_action( 'getpaid-single-subscription-page-actions', $subscription );
130
+    ?>
131 131
 
132 132
 	<a href="<?php echo esc_url( getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ) ); ?>" class="btn btn-secondary btn-sm"><?php _e( 'Go Back', 'invoicing' ); ?></a>
133 133
 </span>
134 134
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -9,14 +9,14 @@  discard block
 block discarded – undo
9 9
  * @var WPInv_Subscriptions_Widget $widget
10 10
  */
11 11
 
12
-defined( 'ABSPATH' ) || exit;
12
+defined('ABSPATH') || exit;
13 13
 
14
-do_action( 'getpaid_single_subscription_before_notices', $subscription );
14
+do_action('getpaid_single_subscription_before_notices', $subscription);
15 15
 
16 16
 // Display errors and notices.
17 17
 wpinv_print_errors();
18 18
 
19
-do_action( 'getpaid_before_single_subscription', $subscription );
19
+do_action('getpaid_before_single_subscription', $subscription);
20 20
 
21 21
 ?>
22 22
 
@@ -28,44 +28,44 @@  discard block
 block discarded – undo
28 28
 
29 29
 </style>
30 30
 
31
-<h2 class="mb-1 h4"><?php _e( 'Subscription Details', 'invoicing' ); ?></h2>
31
+<h2 class="mb-1 h4"><?php _e('Subscription Details', 'invoicing'); ?></h2>
32 32
 <table class="table table-bordered">
33 33
 	<tbody>
34 34
 
35
-		<?php foreach ( $widget->get_single_subscription_columns( $subscription ) as $key => $label ) : ?>
35
+		<?php foreach ($widget->get_single_subscription_columns($subscription) as $key => $label) : ?>
36 36
 
37
-			<tr class="getpaid-subscription-meta-<?php echo sanitize_html_class( $key ); ?>">
37
+			<tr class="getpaid-subscription-meta-<?php echo sanitize_html_class($key); ?>">
38 38
 
39 39
 				<th class="w-25" style="font-weight: 500;">
40
-					<?php echo sanitize_text_field( $label ); ?>
40
+					<?php echo sanitize_text_field($label); ?>
41 41
 				</th>
42 42
 
43 43
 				<td class="w-75">
44 44
 					<?php
45 45
 
46
-						switch ( $key ) {
46
+						switch ($key) {
47 47
 
48 48
 							case 'status':
49
-								echo sanitize_text_field( $subscription->get_status_label() );
49
+								echo sanitize_text_field($subscription->get_status_label());
50 50
 								break;
51 51
 
52 52
 							case 'start_date':
53
-								echo sanitize_text_field( getpaid_format_date_value( $subscription->get_date_created() ) );
53
+								echo sanitize_text_field(getpaid_format_date_value($subscription->get_date_created()));
54 54
 								break;
55 55
 
56 56
 							case 'expiry_date':
57
-								echo sanitize_text_field( getpaid_format_date_value( $subscription->get_next_renewal_date() ) );
57
+								echo sanitize_text_field(getpaid_format_date_value($subscription->get_next_renewal_date()));
58 58
 								break;
59 59
 
60 60
 							case 'initial_amount':
61
-								echo wpinv_price( wpinv_format_amount( $subscription->get_initial_amount() ), $subscription->get_parent_payment()->get_currency() );
61
+								echo wpinv_price(wpinv_format_amount($subscription->get_initial_amount()), $subscription->get_parent_payment()->get_currency());
62 62
 
63
-								if ( $subscription->has_trial_period() ) {
63
+								if ($subscription->has_trial_period()) {
64 64
 
65 65
 									echo "<small class='text-muted'>&nbsp;";
66 66
 									printf(
67
-										_x( '( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing' ),
68
-										sanitize_text_field( $subscription->get_trial_period() )
67
+										_x('( %1$s trial )', 'Subscription trial period. (e.g.: 1 month trial)', 'invoicing'),
68
+										sanitize_text_field($subscription->get_trial_period())
69 69
 									);
70 70
 									echo '</small>';
71 71
 
@@ -74,18 +74,18 @@  discard block
 block discarded – undo
74 74
 								break;
75 75
 
76 76
 							case 'recurring_amount':
77
-								$frequency = getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' );
78
-								$amount    = wpinv_price( wpinv_format_amount( $subscription->get_recurring_amount() ), $subscription->get_parent_payment()->get_currency() );
79
-								echo strtolower( "<strong style='font-weight: 500;'>$amount</strong> / $frequency" );
77
+								$frequency = getpaid_get_subscription_period_label($subscription->get_period(), $subscription->get_frequency(), '');
78
+								$amount    = wpinv_price(wpinv_format_amount($subscription->get_recurring_amount()), $subscription->get_parent_payment()->get_currency());
79
+								echo strtolower("<strong style='font-weight: 500;'>$amount</strong> / $frequency");
80 80
 								break;
81 81
 
82 82
 							case 'item':
83
-								$item = get_post( $subscription->get_product_id() );
83
+								$item = get_post($subscription->get_product_id());
84 84
 
85
-								if ( ! empty( $item ) ) {
86
-									echo esc_html( get_the_title( $item ) );
85
+								if (!empty($item)) {
86
+									echo esc_html(get_the_title($item));
87 87
 								} else {
88
-									echo sprintf( __( 'Item #%s', 'invoicing' ), $subscription->get_product_id() );
88
+									echo sprintf(__('Item #%s', 'invoicing'), $subscription->get_product_id());
89 89
 								}
90 90
 
91 91
 								break;
@@ -93,12 +93,12 @@  discard block
 block discarded – undo
93 93
 							case 'payments':
94 94
 
95 95
 								$max_activations = (int) $subscription->get_bill_times();
96
-								echo (int) $subscription->get_times_billed() . ' / ' . ( empty( $max_activations ) ? "&infin;" : $max_activations );
96
+								echo (int) $subscription->get_times_billed() . ' / ' . (empty($max_activations) ? "&infin;" : $max_activations);
97 97
 
98 98
 								break;
99 99
 
100 100
 						}
101
-						do_action( "getpaid_render_single_subscription_column_$key", $subscription );
101
+						do_action("getpaid_render_single_subscription_column_$key", $subscription);
102 102
 
103 103
 					?>
104 104
 				</td>
@@ -110,24 +110,24 @@  discard block
 block discarded – undo
110 110
 	</tbody>
111 111
 </table>
112 112
 
113
-<h2 class='mt-5 mb-1 h4'><?php _e( 'Subscription Invoices', 'invoicing' ); ?></h2>
113
+<h2 class='mt-5 mb-1 h4'><?php _e('Subscription Invoices', 'invoicing'); ?></h2>
114 114
 
115
-<?php echo getpaid_admin_subscription_invoice_details_metabox( $subscription ); ?>
115
+<?php echo getpaid_admin_subscription_invoice_details_metabox($subscription); ?>
116 116
 
117 117
 <span class="form-text">
118 118
 
119 119
 	<?php
120
-		if ( $subscription->can_cancel() ) {
120
+		if ($subscription->can_cancel()) {
121 121
 			printf(
122 122
 				'<a href="%s" class="btn btn-danger btn-sm" onclick="return confirm(\'%s\')">%s</a>&nbsp;&nbsp;',
123
-				esc_url( $subscription->get_cancel_url() ),
124
-				esc_attr__( 'Are you sure you want to cancel this subscription?', 'invoicing' ),
125
-				__( 'Cancel Subscription', 'invoicing' )
123
+				esc_url($subscription->get_cancel_url()),
124
+				esc_attr__('Are you sure you want to cancel this subscription?', 'invoicing'),
125
+				__('Cancel Subscription', 'invoicing')
126 126
 			);
127 127
 		}
128 128
 
129
-		do_action( 'getpaid-single-subscription-page-actions', $subscription );
129
+		do_action('getpaid-single-subscription-page-actions', $subscription);
130 130
 	?>
131 131
 
132
-	<a href="<?php echo esc_url( getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ) ); ?>" class="btn btn-secondary btn-sm"><?php _e( 'Go Back', 'invoicing' ); ?></a>
132
+	<a href="<?php echo esc_url(getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page')))); ?>" class="btn btn-secondary btn-sm"><?php _e('Go Back', 'invoicing'); ?></a>
133 133
 </span>
134 134
\ No newline at end of file
Please login to merge, or discard this patch.
invoicing.php 2 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -19,16 +19,16 @@  discard block
 block discarded – undo
19 19
 
20 20
 // Define constants.
21 21
 if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) {
22
-	define( 'WPINV_PLUGIN_FILE', __FILE__ );
22
+    define( 'WPINV_PLUGIN_FILE', __FILE__ );
23 23
 }
24 24
 
25 25
 if ( ! defined( 'WPINV_VERSION' ) ) {
26
-	define( 'WPINV_VERSION', '2.0.0-beta' );
26
+    define( 'WPINV_VERSION', '2.0.0-beta' );
27 27
 }
28 28
 
29 29
 // Include the main Invoicing class.
30 30
 if ( ! class_exists( 'WPInv_Plugin', false ) ) {
31
-	require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
31
+    require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
32 32
 }
33 33
 
34 34
 /**
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
         $GLOBALS['invoicing'] = new WPInv_Plugin();
44 44
     }
45 45
 
46
-	return $GLOBALS['invoicing'];
46
+    return $GLOBALS['invoicing'];
47 47
 }
48 48
 
49 49
 /**
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -15,20 +15,20 @@  discard block
 block discarded – undo
15 15
  * @package GetPaid
16 16
  */
17 17
 
18
-defined( 'ABSPATH' ) || exit;
18
+defined('ABSPATH') || exit;
19 19
 
20 20
 // Define constants.
21
-if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) {
22
-	define( 'WPINV_PLUGIN_FILE', __FILE__ );
21
+if (!defined('WPINV_PLUGIN_FILE')) {
22
+	define('WPINV_PLUGIN_FILE', __FILE__);
23 23
 }
24 24
 
25
-if ( ! defined( 'WPINV_VERSION' ) ) {
26
-	define( 'WPINV_VERSION', '2.0.0-beta' );
25
+if (!defined('WPINV_VERSION')) {
26
+	define('WPINV_VERSION', '2.0.0-beta');
27 27
 }
28 28
 
29 29
 // Include the main Invoicing class.
30
-if ( ! class_exists( 'WPInv_Plugin', false ) ) {
31
-	require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
30
+if (!class_exists('WPInv_Plugin', false)) {
31
+	require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/class-wpinv.php';
32 32
 }
33 33
 
34 34
 /**
@@ -39,7 +39,7 @@  discard block
 block discarded – undo
39 39
  */
40 40
 function getpaid() {
41 41
 
42
-    if ( empty( $GLOBALS['invoicing'] ) ) {
42
+    if (empty($GLOBALS['invoicing'])) {
43 43
         $GLOBALS['invoicing'] = new WPInv_Plugin();
44 44
     }
45 45
 
Please login to merge, or discard this patch.