Passed
Push — master ( 0a2cdb...97ebee )
by Brian
04:41
created
widgets/subscriptions.php 1 patch
Indentation   +342 added lines, -342 removed lines patch added patch discarded remove patch
@@ -14,143 +14,143 @@  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
-		parent::__construct( $options );
49
-	}
50
-
51
-	/**
52
-	 * Retrieves current user's subscriptions.
53
-	 *
54
-	 * @return GetPaid_Subscriptions_Query
55
-	 */
56
-	public function get_subscriptions() {
57
-
58
-		// Prepare license args.
59
-		$args  = array(
60
-			'customer_in' => get_current_user_id(),
61
-			'paged'       => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
62
-		);
63
-
64
-		return new GetPaid_Subscriptions_Query( $args );
65
-
66
-	}
67
-
68
-	/**
69
-	 * The Super block output function.
70
-	 *
71
-	 * @param array $args
72
-	 * @param array $widget_args
73
-	 * @param string $content
74
-	 *
75
-	 * @return mixed|string|bool
76
-	 */
77
-	public function output( $args = array(), $widget_args = array(), $content = '' ) {
78
-
79
-		// Ensure that the user is logged in.
80
-		if ( ! is_user_logged_in() ) {
81
-
82
-			return aui()->alert(
83
-				array(
84
-					'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ),
85
-					'type'    => 'error',
86
-				)
87
-			);
88
-
89
-		}
90
-
91
-		// Are we displaying a single subscription?
92
-		if ( isset( $_GET['subscription'] ) ) {
93
-			return $this->display_single_subscription( intval( $_GET['subscription'] ) );
94
-		}
95
-
96
-		// Retrieve the user's subscriptions.
97
-		$subscriptions = $this->get_subscriptions();
98
-
99
-		// Start the output buffer.
100
-		ob_start();
101
-
102
-		// Backwards compatibility.
103
-		do_action( 'wpinv_before_user_subscriptions' );
104
-
105
-		// Display errors and notices.
106
-		wpinv_print_errors();
107
-
108
-		do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions );
109
-
110
-		// Print the table header.
111
-		$this->print_table_header();
112
-
113
-		// Print table body.
114
-		$this->print_table_body( $subscriptions->get_results() );
115
-
116
-		// Print table footer.
117
-		$this->print_table_footer();
118
-
119
-		// Print the navigation.
120
-		$this->print_navigation( $subscriptions->get_total() );
121
-
122
-		// Backwards compatibility.
123
-		do_action( 'wpinv_after_user_subscriptions' );
124
-
125
-		// Return the output.
126
-		return ob_get_clean();
127
-
128
-	}
129
-
130
-	/**
131
-	 * Retrieves the subscription columns.
132
-	 *
133
-	 * @return array
134
-	 */
135
-	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
+        parent::__construct( $options );
49
+    }
50
+
51
+    /**
52
+     * Retrieves current user's subscriptions.
53
+     *
54
+     * @return GetPaid_Subscriptions_Query
55
+     */
56
+    public function get_subscriptions() {
57
+
58
+        // Prepare license args.
59
+        $args  = array(
60
+            'customer_in' => get_current_user_id(),
61
+            'paged'       => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
62
+        );
63
+
64
+        return new GetPaid_Subscriptions_Query( $args );
65
+
66
+    }
67
+
68
+    /**
69
+     * The Super block output function.
70
+     *
71
+     * @param array $args
72
+     * @param array $widget_args
73
+     * @param string $content
74
+     *
75
+     * @return mixed|string|bool
76
+     */
77
+    public function output( $args = array(), $widget_args = array(), $content = '' ) {
78
+
79
+        // Ensure that the user is logged in.
80
+        if ( ! is_user_logged_in() ) {
81
+
82
+            return aui()->alert(
83
+                array(
84
+                    'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ),
85
+                    'type'    => 'error',
86
+                )
87
+            );
88
+
89
+        }
90
+
91
+        // Are we displaying a single subscription?
92
+        if ( isset( $_GET['subscription'] ) ) {
93
+            return $this->display_single_subscription( intval( $_GET['subscription'] ) );
94
+        }
95
+
96
+        // Retrieve the user's subscriptions.
97
+        $subscriptions = $this->get_subscriptions();
98
+
99
+        // Start the output buffer.
100
+        ob_start();
101
+
102
+        // Backwards compatibility.
103
+        do_action( 'wpinv_before_user_subscriptions' );
104
+
105
+        // Display errors and notices.
106
+        wpinv_print_errors();
107
+
108
+        do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions );
109
+
110
+        // Print the table header.
111
+        $this->print_table_header();
112
+
113
+        // Print table body.
114
+        $this->print_table_body( $subscriptions->get_results() );
115
+
116
+        // Print table footer.
117
+        $this->print_table_footer();
118
+
119
+        // Print the navigation.
120
+        $this->print_navigation( $subscriptions->get_total() );
121
+
122
+        // Backwards compatibility.
123
+        do_action( 'wpinv_after_user_subscriptions' );
124
+
125
+        // Return the output.
126
+        return ob_get_clean();
127
+
128
+    }
129
+
130
+    /**
131
+     * Retrieves the subscription columns.
132
+     *
133
+     * @return array
134
+     */
135
+    public function get_subscriptions_table_columns() {
136 136
 
137
-		$columns = array(
138
-			'subscription' => __( 'Subscription', 'invoicing' ),
139
-			'amount'       => __( 'Amount', 'invoicing' ),
140
-			'renewal-date' => __( 'Next payment', 'invoicing' ),
141
-			'status'       => __( 'Status', 'invoicing' ),
142
-		);
137
+        $columns = array(
138
+            'subscription' => __( 'Subscription', 'invoicing' ),
139
+            'amount'       => __( 'Amount', 'invoicing' ),
140
+            'renewal-date' => __( 'Next payment', 'invoicing' ),
141
+            'status'       => __( 'Status', 'invoicing' ),
142
+        );
143 143
 
144
-		return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns );
145
-	}
144
+        return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns );
145
+    }
146 146
 
147
-	/**
148
-	 * Displays the table header.
149
-	 *
150
-	 */
151
-	public function print_table_header() {
147
+    /**
148
+     * Displays the table header.
149
+     *
150
+     */
151
+    public function print_table_header() {
152 152
 
153
-		?>
153
+        ?>
154 154
 
155 155
 			<table class="table table-bordered table-striped">
156 156
 
@@ -166,121 +166,121 @@  discard block
 block discarded – undo
166 166
 
167 167
 		<?php
168 168
 
169
-	}
169
+    }
170 170
 
171
-	/**
172
-	 * Displays the table body.
173
-	 *
174
-	 * @param WPInv_Subscription[] $subscriptions
175
-	 */
176
-	public function print_table_body( $subscriptions ) {
171
+    /**
172
+     * Displays the table body.
173
+     *
174
+     * @param WPInv_Subscription[] $subscriptions
175
+     */
176
+    public function print_table_body( $subscriptions ) {
177 177
 
178
-		if ( empty( $subscriptions ) ) {
179
-			$this->print_table_body_no_subscriptions();
180
-		} else {
181
-			$this->print_table_body_subscriptions( $subscriptions );
182
-		}
178
+        if ( empty( $subscriptions ) ) {
179
+            $this->print_table_body_no_subscriptions();
180
+        } else {
181
+            $this->print_table_body_subscriptions( $subscriptions );
182
+        }
183 183
 
184
-	}
184
+    }
185 185
 
186
-	/**
187
-	 * Displays the table body if no subscriptions were found.
188
-	 *
189
-	 */
190
-	public function print_table_body_no_subscriptions() {
186
+    /**
187
+     * Displays the table body if no subscriptions were found.
188
+     *
189
+     */
190
+    public function print_table_body_no_subscriptions() {
191 191
 
192
-		?>
192
+        ?>
193 193
 		<tbody>
194 194
 
195 195
 			<tr>
196 196
 				<td colspan="<?php echo count( $this->get_subscriptions_table_columns() ); ?>">
197 197
 
198 198
 					<?php
199
-						echo aui()->alert(
200
-							array(
201
-								'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ),
202
-								'type'    => 'warning',
203
-							)
204
-						);
205
-					?>
199
+                        echo aui()->alert(
200
+                            array(
201
+                                'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ),
202
+                                'type'    => 'warning',
203
+                            )
204
+                        );
205
+                    ?>
206 206
 
207 207
 				</td>
208 208
 			</tr>
209 209
 
210 210
 		</tbody>
211 211
 		<?php
212
-	}
212
+    }
213 213
 
214
-	/**
215
-	 * Displays the table body if subscriptions were found.
216
-	 *
217
-	 * @param WPInv_Subscription[] $subscriptions
218
-	 */
219
-	public function print_table_body_subscriptions( $subscriptions ) {
214
+    /**
215
+     * Displays the table body if subscriptions were found.
216
+     *
217
+     * @param WPInv_Subscription[] $subscriptions
218
+     */
219
+    public function print_table_body_subscriptions( $subscriptions ) {
220 220
 
221
-		?>
221
+        ?>
222 222
 		<tbody>
223 223
 
224 224
 			<?php foreach ( $subscriptions as $subscription ) : ?>
225 225
 				<tr class="getpaid-subscriptions-table-row subscription-<?php echo (int) $subscription->get_id(); ?>">
226 226
 					<?php
227
-						wpinv_get_template(
228
-							'subscriptions/subscriptions-table-row.php',
229
-							array(
230
-								'subscription' => $subscription,
231
-								'widget'       => $this,
232
-							)
233
-						);
234
-					?>
227
+                        wpinv_get_template(
228
+                            'subscriptions/subscriptions-table-row.php',
229
+                            array(
230
+                                'subscription' => $subscription,
231
+                                'widget'       => $this,
232
+                            )
233
+                        );
234
+                    ?>
235 235
 				</tr>
236 236
 			<?php endforeach; ?>
237 237
 
238 238
 		</tbody>
239 239
 		<?php
240
-	}
241
-
242
-	/**
243
-	 * Adds row actions to a column
244
-	 *
245
-	 * @param string $content column content
246
-	 * @param WPInv_Subscription $subscription
247
-	 * @since       1.0.0
248
-	 * @return      string
249
-	 */
250
-	public function add_row_actions( $content, $subscription ) {
251
-
252
-		// Prepare row actions.
253
-		$actions = array();
254
-
255
-		// View subscription action.
256
-		$view_url        = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
257
-		$view_url        = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) );
258
-		$actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>';
259
-
260
-		// Filter the actions.
261
-		$actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription );
262
-
263
-		$sanitized  = array();
264
-		foreach ( $actions as $key => $action ) {
265
-			$key         = sanitize_html_class( $key );
266
-			$action      = wp_kses_post( $action );
267
-			$sanitized[] = "<span class='$key'>$action</span>";
268
-		}
269
-
270
-		$row_actions  = "<small class='form-text getpaid-subscription-item-actions'>";
271
-		$row_actions .= implode( ' | ', $sanitized );
272
-		$row_actions .= '</small>';
273
-
274
-		return $content . $row_actions;
275
-	}
276
-
277
-	/**
278
-	 * Displays the table footer.
279
-	 *
280
-	 */
281
-	public function print_table_footer() {
282
-
283
-		?>
240
+    }
241
+
242
+    /**
243
+     * Adds row actions to a column
244
+     *
245
+     * @param string $content column content
246
+     * @param WPInv_Subscription $subscription
247
+     * @since       1.0.0
248
+     * @return      string
249
+     */
250
+    public function add_row_actions( $content, $subscription ) {
251
+
252
+        // Prepare row actions.
253
+        $actions = array();
254
+
255
+        // View subscription action.
256
+        $view_url        = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) );
257
+        $view_url        = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) );
258
+        $actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>';
259
+
260
+        // Filter the actions.
261
+        $actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription );
262
+
263
+        $sanitized  = array();
264
+        foreach ( $actions as $key => $action ) {
265
+            $key         = sanitize_html_class( $key );
266
+            $action      = wp_kses_post( $action );
267
+            $sanitized[] = "<span class='$key'>$action</span>";
268
+        }
269
+
270
+        $row_actions  = "<small class='form-text getpaid-subscription-item-actions'>";
271
+        $row_actions .= implode( ' | ', $sanitized );
272
+        $row_actions .= '</small>';
273
+
274
+        return $content . $row_actions;
275
+    }
276
+
277
+    /**
278
+     * Displays the table footer.
279
+     *
280
+     */
281
+    public function print_table_footer() {
282
+
283
+        ?>
284 284
 
285 285
 				<tfoot>
286 286
 					<tr>
@@ -295,142 +295,142 @@  discard block
 block discarded – undo
295 295
 			</table>
296 296
 		<?php
297 297
 
298
-	}
298
+    }
299 299
 
300
-	/**
301
-	 * Displays the navigation.
302
-	 *
303
-	 * @param int $total
304
-	 */
305
-	public function print_navigation( $total ) {
300
+    /**
301
+     * Displays the navigation.
302
+     *
303
+     * @param int $total
304
+     */
305
+    public function print_navigation( $total ) {
306 306
 
307
-		if ( $total < 1 ) {
307
+        if ( $total < 1 ) {
308 308
 
309
-			// Out-of-bounds, run the query again without LIMIT for total count.
310
-			$args  = array(
311
-				'customer_in' => get_current_user_id(),
312
-				'fields'      => 'id',
313
-			);
309
+            // Out-of-bounds, run the query again without LIMIT for total count.
310
+            $args  = array(
311
+                'customer_in' => get_current_user_id(),
312
+                'fields'      => 'id',
313
+            );
314 314
 
315
-			$count_query = new GetPaid_Subscriptions_Query( $args );
316
-			$total       = $count_query->get_total();
317
-		}
315
+            $count_query = new GetPaid_Subscriptions_Query( $args );
316
+            $total       = $count_query->get_total();
317
+        }
318 318
 
319
-		// Abort if we do not have pages.
320
-		if ( 2 > $total ) {
321
-			return;
322
-		}
319
+        // Abort if we do not have pages.
320
+        if ( 2 > $total ) {
321
+            return;
322
+        }
323 323
 
324
-		?>
324
+        ?>
325 325
 
326 326
 		<div class="getpaid-subscriptions-pagination">
327 327
 			<?php
328
-				$big = 999999;
329
-
330
-				echo getpaid_paginate_links(
331
-					array(
332
-						'base'   => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
333
-						'format' => '?paged=%#%',
334
-						'total'  => (int) ceil( $total / 10 ),
335
-					)
336
-				);
337
-			?>
328
+                $big = 999999;
329
+
330
+                echo getpaid_paginate_links(
331
+                    array(
332
+                        'base'   => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
333
+                        'format' => '?paged=%#%',
334
+                        'total'  => (int) ceil( $total / 10 ),
335
+                    )
336
+                );
337
+            ?>
338 338
 		</div>
339 339
 
340 340
 		<?php
341
-	}
342
-
343
-	/**
344
-	 * Returns a single subscription's columns.
345
-	 *
346
-	 * @param WPInv_Subscription $subscription
347
-	 *
348
-	 * @return array
349
-	 */
350
-	public function get_single_subscription_columns( $subscription ) {
351
-
352
-		// Prepare subscription detail columns.
353
-		$subscription_group = getpaid_get_invoice_subscription_group( $subscription->get_parent_invoice_id(), $subscription->get_id() );
354
-		$items_count        = empty( $subscription_group ) ? 1 : count( $subscription_group['items'] );
355
-		$fields             = apply_filters(
356
-			'getpaid_single_subscription_details_fields',
357
-			array(
358
-				'status'           => __( 'Status', 'invoicing' ),
359
-				'initial_amount'   => __( 'Initial amount', 'invoicing' ),
360
-				'recurring_amount' => __( 'Recurring amount', 'invoicing' ),
361
-				'start_date'       => __( 'Start date', 'invoicing' ),
362
-				'expiry_date'      => __( 'Next payment', 'invoicing' ),
363
-				'payments'         => __( 'Payments', 'invoicing' ),
364
-				'item'             => _n( 'Item', 'Items', $items_count, 'invoicing' ),
365
-			),
366
-			$subscription
367
-		);
368
-
369
-		if ( isset( $fields['expiry_date'] ) ) {
370
-
371
-			if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) {
372
-				$fields['expiry_date'] = __( 'End date', 'invoicing' );
373
-			}
374
-
375
-			if ( 'pending' == $subscription->get_status() ) {
376
-				unset( $fields['expiry_date'] );
377
-			}
341
+    }
342
+
343
+    /**
344
+     * Returns a single subscription's columns.
345
+     *
346
+     * @param WPInv_Subscription $subscription
347
+     *
348
+     * @return array
349
+     */
350
+    public function get_single_subscription_columns( $subscription ) {
351
+
352
+        // Prepare subscription detail columns.
353
+        $subscription_group = getpaid_get_invoice_subscription_group( $subscription->get_parent_invoice_id(), $subscription->get_id() );
354
+        $items_count        = empty( $subscription_group ) ? 1 : count( $subscription_group['items'] );
355
+        $fields             = apply_filters(
356
+            'getpaid_single_subscription_details_fields',
357
+            array(
358
+                'status'           => __( 'Status', 'invoicing' ),
359
+                'initial_amount'   => __( 'Initial amount', 'invoicing' ),
360
+                'recurring_amount' => __( 'Recurring amount', 'invoicing' ),
361
+                'start_date'       => __( 'Start date', 'invoicing' ),
362
+                'expiry_date'      => __( 'Next payment', 'invoicing' ),
363
+                'payments'         => __( 'Payments', 'invoicing' ),
364
+                'item'             => _n( 'Item', 'Items', $items_count, 'invoicing' ),
365
+            ),
366
+            $subscription
367
+        );
368
+
369
+        if ( isset( $fields['expiry_date'] ) ) {
370
+
371
+            if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) {
372
+                $fields['expiry_date'] = __( 'End date', 'invoicing' );
373
+            }
374
+
375
+            if ( 'pending' == $subscription->get_status() ) {
376
+                unset( $fields['expiry_date'] );
377
+            }
378 378
 }
379 379
 
380
-		if ( isset( $fields['start_date'] ) && 'pending' == $subscription->get_status() ) {
381
-			unset( $fields['start_date'] );
382
-		}
383
-
384
-		if ( $subscription->get_initial_amount() == $subscription->get_recurring_amount() ) {
385
-			unset( $fields['initial_amount'] );
386
-		}
387
-
388
-		return $fields;
389
-	}
390
-
391
-	/**
392
-	 * Displays a single subscription.
393
-	 *
394
-	 * @param string $subscription
395
-	 *
396
-	 * @return string
397
-	 */
398
-	public function display_single_subscription( $subscription ) {
399
-
400
-		// Fetch the subscription.
401
-		$subscription = new WPInv_Subscription( (int) $subscription );
402
-
403
-		if ( ! $subscription->exists() ) {
404
-
405
-			return aui()->alert(
406
-				array(
407
-					'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ),
408
-					'type'    => 'error',
409
-				)
410
-			);
411
-
412
-		}
413
-
414
-		// Ensure that the user owns this subscription key.
415
-		if ( get_current_user_id() != $subscription->get_customer_id() && ! wpinv_current_user_can_manage_invoicing() ) {
416
-
417
-			return aui()->alert(
418
-				array(
419
-					'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' ) ),
420
-					'type'    => 'error',
421
-				)
422
-			);
423
-
424
-		}
425
-
426
-		return wpinv_get_template_html(
427
-			'subscriptions/subscription-details.php',
428
-			array(
429
-				'subscription' => $subscription,
430
-				'widget'       => $this,
431
-			)
432
-		);
433
-
434
-	}
380
+        if ( isset( $fields['start_date'] ) && 'pending' == $subscription->get_status() ) {
381
+            unset( $fields['start_date'] );
382
+        }
383
+
384
+        if ( $subscription->get_initial_amount() == $subscription->get_recurring_amount() ) {
385
+            unset( $fields['initial_amount'] );
386
+        }
387
+
388
+        return $fields;
389
+    }
390
+
391
+    /**
392
+     * Displays a single subscription.
393
+     *
394
+     * @param string $subscription
395
+     *
396
+     * @return string
397
+     */
398
+    public function display_single_subscription( $subscription ) {
399
+
400
+        // Fetch the subscription.
401
+        $subscription = new WPInv_Subscription( (int) $subscription );
402
+
403
+        if ( ! $subscription->exists() ) {
404
+
405
+            return aui()->alert(
406
+                array(
407
+                    'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ),
408
+                    'type'    => 'error',
409
+                )
410
+            );
411
+
412
+        }
413
+
414
+        // Ensure that the user owns this subscription key.
415
+        if ( get_current_user_id() != $subscription->get_customer_id() && ! wpinv_current_user_can_manage_invoicing() ) {
416
+
417
+            return aui()->alert(
418
+                array(
419
+                    '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' ) ),
420
+                    'type'    => 'error',
421
+                )
422
+            );
423
+
424
+        }
425
+
426
+        return wpinv_get_template_html(
427
+            'subscriptions/subscription-details.php',
428
+            array(
429
+                'subscription' => $subscription,
430
+                'widget'       => $this,
431
+            )
432
+        );
433
+
434
+    }
435 435
 
436 436
 }
Please login to merge, or discard this patch.
widgets/buy-item.php 1 patch
Indentation   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -37,29 +37,29 @@  discard block
 block discarded – undo
37 37
                     'advanced' => false,
38 38
                 ),
39 39
                 'items'   => array(
40
-	                'title'       => __( 'Items to buy', 'invoicing' ),
41
-	                'desc'        => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing' ),
42
-	                'type'        => 'text',
43
-	                'desc_tip'    => true,
44
-	                'default'     => '',
45
-	                'placeholder' => __( 'Items to buy', 'invoicing' ),
46
-	                'advanced'    => false,
40
+                    'title'       => __( 'Items to buy', 'invoicing' ),
41
+                    'desc'        => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing' ),
42
+                    'type'        => 'text',
43
+                    'desc_tip'    => true,
44
+                    'default'     => '',
45
+                    'placeholder' => __( 'Items to buy', 'invoicing' ),
46
+                    'advanced'    => false,
47 47
                 ),
48 48
                 'label'   => array(
49
-	                'title'    => __( 'Button Label', 'invoicing' ),
50
-	                'desc'     => __( 'Enter button label. Default "Buy Now".', 'invoicing' ),
51
-	                'type'     => 'text',
52
-	                'desc_tip' => true,
53
-	                'default'  => __( 'Buy Now', 'invoicing' ),
54
-	                'advanced' => false,
49
+                    'title'    => __( 'Button Label', 'invoicing' ),
50
+                    'desc'     => __( 'Enter button label. Default "Buy Now".', 'invoicing' ),
51
+                    'type'     => 'text',
52
+                    'desc_tip' => true,
53
+                    'default'  => __( 'Buy Now', 'invoicing' ),
54
+                    'advanced' => false,
55 55
                 ),
56 56
                 'post_id' => array(
57
-	                'title'    => __( 'Post ID', 'invoicing' ),
58
-	                'desc'     => __( 'Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing' ),
59
-	                'type'     => 'number',
60
-	                'desc_tip' => true,
61
-	                'default'  => '',
62
-	                'advanced' => true,
57
+                    'title'    => __( 'Post ID', 'invoicing' ),
58
+                    'desc'     => __( 'Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing' ),
59
+                    'type'     => 'number',
60
+                    'desc_tip' => true,
61
+                    'default'  => '',
62
+                    'advanced' => true,
63 63
                 ),
64 64
             ),
65 65
 
@@ -68,43 +68,43 @@  discard block
 block discarded – undo
68 68
         parent::__construct( $options );
69 69
     }
70 70
 
71
-	/**
72
-	 * The Super block output function.
73
-	 *
74
-	 * @param array $args
75
-	 * @param array $widget_args
76
-	 * @param string $content
77
-	 *
78
-	 * @return string
79
-	 */
71
+    /**
72
+     * The Super block output function.
73
+     *
74
+     * @param array $args
75
+     * @param array $widget_args
76
+     * @param string $content
77
+     *
78
+     * @return string
79
+     */
80 80
     public function output( $args = array(), $widget_args = array(), $content = '' ) {
81 81
 
82
-	    $defaults = array(
83
-		    'items'   => '', // should be used like: item_id|quantity,item_id|quantity,item_id|quantity
84
-		    'label'   => __( 'Buy Now', 'invoicing' ), // the button title
85
-		    'post_id' => '', // any related post_id
86
-	    );
82
+        $defaults = array(
83
+            'items'   => '', // should be used like: item_id|quantity,item_id|quantity,item_id|quantity
84
+            'label'   => __( 'Buy Now', 'invoicing' ), // the button title
85
+            'post_id' => '', // any related post_id
86
+        );
87 87
 
88
-	    /**
89
-	     * Parse incoming $args into an array and merge it with $defaults
90
-	     */
91
-	    $args = wp_parse_args( $args, $defaults );
88
+        /**
89
+         * Parse incoming $args into an array and merge it with $defaults
90
+         */
91
+        $args = wp_parse_args( $args, $defaults );
92 92
 
93
-		$html = '<div class="wpi-buy-button-wrapper wpi-g">';
93
+        $html = '<div class="wpi-buy-button-wrapper wpi-g">';
94 94
 
95
-		if ( empty( $args['items'] ) ) {
96
-			$html .= __( 'No items selected', 'invoicing' );
97
-		} else {
98
-			$post_id = isset( $args['post_id'] ) && is_numeric( $args['post_id'] ) ? sanitize_text_field( $args['post_id'] ) : 0;
99
-			$label   = isset( $args['label'] ) ? sanitize_text_field( $args['label'] ) : __( 'Buy Now', 'invoicing' );
100
-			$items   = esc_attr( $args['items'] );
101
-			$html   .= "<button class='button button-primary wpi-buy-button' type='button' onclick=\"wpi_buy(this, '$items','$post_id');\">$label</button>";
102
-		}
95
+        if ( empty( $args['items'] ) ) {
96
+            $html .= __( 'No items selected', 'invoicing' );
97
+        } else {
98
+            $post_id = isset( $args['post_id'] ) && is_numeric( $args['post_id'] ) ? sanitize_text_field( $args['post_id'] ) : 0;
99
+            $label   = isset( $args['label'] ) ? sanitize_text_field( $args['label'] ) : __( 'Buy Now', 'invoicing' );
100
+            $items   = esc_attr( $args['items'] );
101
+            $html   .= "<button class='button button-primary wpi-buy-button' type='button' onclick=\"wpi_buy(this, '$items','$post_id');\">$label</button>";
102
+        }
103 103
 
104
-	    $html .= wp_nonce_field( 'wpinv_buy_items', 'wpinv_buy_nonce', true, false );
105
-	    $html .= '</div>';
104
+        $html .= wp_nonce_field( 'wpinv_buy_items', 'wpinv_buy_nonce', true, false );
105
+        $html .= '</div>';
106 106
 
107
-	    return $html;
107
+        return $html;
108 108
 
109 109
     }
110 110
 
Please login to merge, or discard this patch.
widgets/invoice.php 1 patch
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -36,14 +36,14 @@  discard block
 block discarded – undo
36 36
                     'advanced' => false,
37 37
                 ),
38 38
                 'id'    => array(
39
-	                'title'       => __( 'Invoice', 'invoicing' ),
40
-	                'desc'        => __( 'Enter the invoice ID', 'invoicing' ),
41
-	                'type'        => 'text',
42
-	                'desc_tip'    => true,
43
-	                'default'     => '',
44
-	                'placeholder' => __( '1', 'invoicing' ),
45
-	                'advanced'    => false,
46
-				),
39
+                    'title'       => __( 'Invoice', 'invoicing' ),
40
+                    'desc'        => __( 'Enter the invoice ID', 'invoicing' ),
41
+                    'type'        => 'text',
42
+                    'desc_tip'    => true,
43
+                    'default'     => '',
44
+                    'placeholder' => __( '1', 'invoicing' ),
45
+                    'advanced'    => false,
46
+                ),
47 47
             ),
48 48
 
49 49
         );
@@ -51,26 +51,26 @@  discard block
 block discarded – undo
51 51
         parent::__construct( $options );
52 52
     }
53 53
 
54
-	/**
55
-	 * The Super block output function.
56
-	 *
57
-	 * @param array $args
58
-	 * @param array $widget_args
59
-	 * @param string $content
60
-	 *
61
-	 * @return mixed|string|bool
62
-	 */
54
+    /**
55
+     * The Super block output function.
56
+     *
57
+     * @param array $args
58
+     * @param array $widget_args
59
+     * @param string $content
60
+     *
61
+     * @return mixed|string|bool
62
+     */
63 63
     public function output( $args = array(), $widget_args = array(), $content = '' ) {
64 64
 
65 65
         // Is the shortcode set up correctly?
66
-		if ( empty( $args['id'] ) ) {
67
-			return aui()->alert(
68
-				array(
69
-					'type'    => 'warning',
70
-					'content' => __( 'Missing invoice ID', 'invoicing' ),
71
-				)
72
-			);
73
-		}
66
+        if ( empty( $args['id'] ) ) {
67
+            return aui()->alert(
68
+                array(
69
+                    'type'    => 'warning',
70
+                    'content' => __( 'Missing invoice ID', 'invoicing' ),
71
+                )
72
+            );
73
+        }
74 74
 
75 75
         $invoice = wpinv_get_invoice( (int) $args['id'] );
76 76
 
Please login to merge, or discard this patch.
widgets/getpaid.php 1 patch
Indentation   +102 added lines, -102 removed lines patch added patch discarded remove patch
@@ -36,36 +36,36 @@  discard block
 block discarded – undo
36 36
                     'desc_tip' => true,
37 37
                     'default'  => '',
38 38
                     'advanced' => false,
39
-				),
39
+                ),
40 40
 
41 41
                 'form'   => array(
42
-	                'title'       => __( 'Form', 'invoicing' ),
43
-	                'desc'        => __( 'Enter a form id in case you want to display a specific payment form', 'invoicing' ),
44
-	                'type'        => 'text',
45
-	                'desc_tip'    => true,
46
-	                'default'     => '',
47
-	                'placeholder' => __( '1', 'invoicing' ),
48
-	                'advanced'    => false,
49
-				),
50
-
51
-				'item'   => array(
52
-	                'title'       => __( 'Items', 'invoicing' ),
53
-	                'desc'        => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2. This will be ignored in case you specify a form above. Enter 0 as the quantity to let users select their own quantities', 'invoicing' ),
54
-	                'type'        => 'text',
55
-	                'desc_tip'    => true,
56
-	                'default'     => '',
57
-	                'placeholder' => __( '1', 'invoicing' ),
58
-	                'advanced'    => false,
59
-				),
42
+                    'title'       => __( 'Form', 'invoicing' ),
43
+                    'desc'        => __( 'Enter a form id in case you want to display a specific payment form', 'invoicing' ),
44
+                    'type'        => 'text',
45
+                    'desc_tip'    => true,
46
+                    'default'     => '',
47
+                    'placeholder' => __( '1', 'invoicing' ),
48
+                    'advanced'    => false,
49
+                ),
50
+
51
+                'item'   => array(
52
+                    'title'       => __( 'Items', 'invoicing' ),
53
+                    'desc'        => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2. This will be ignored in case you specify a form above. Enter 0 as the quantity to let users select their own quantities', 'invoicing' ),
54
+                    'type'        => 'text',
55
+                    'desc_tip'    => true,
56
+                    'default'     => '',
57
+                    'placeholder' => __( '1', 'invoicing' ),
58
+                    'advanced'    => false,
59
+                ),
60 60
 
61 61
                 'button' => array(
62
-	                'title'    => __( 'Button', 'invoicing' ),
63
-	                'desc'     => __( 'Enter button label in case you would like to display the forms in a popup.', 'invoicing' ),
64
-	                'type'     => 'text',
65
-	                'desc_tip' => true,
66
-	                'default'  => '',
67
-	                'advanced' => false,
68
-				),
62
+                    'title'    => __( 'Button', 'invoicing' ),
63
+                    'desc'     => __( 'Enter button label in case you would like to display the forms in a popup.', 'invoicing' ),
64
+                    'type'     => 'text',
65
+                    'desc_tip' => true,
66
+                    'default'  => '',
67
+                    'advanced' => false,
68
+                ),
69 69
 
70 70
             ),
71 71
 
@@ -74,96 +74,96 @@  discard block
 block discarded – undo
74 74
         parent::__construct( $options );
75 75
     }
76 76
 
77
-	/**
78
-	 * The Super block output function.
79
-	 *
80
-	 * @param array $args
81
-	 * @param array $widget_args
82
-	 * @param string $content
83
-	 *
84
-	 * @return string
85
-	 */
77
+    /**
78
+     * The Super block output function.
79
+     *
80
+     * @param array $args
81
+     * @param array $widget_args
82
+     * @param string $content
83
+     *
84
+     * @return string
85
+     */
86 86
     public function output( $args = array(), $widget_args = array(), $content = '' ) {
87 87
 
88
-	    // Is the shortcode set up correctly?
89
-		if ( empty( $args['form'] ) && empty( $args['item'] ) ) {
90
-			return aui()->alert(
91
-				array(
92
-					'type'    => 'warning',
93
-					'content' => __( 'No payment form or item selected', 'invoicing' ),
94
-				)
95
-			);
96
-		}
97
-
98
-		// Payment form or button?
99
-		if ( ! empty( $args['form'] ) ) {
100
-			return $this->handle_payment_form( $args );
101
-		} else {
102
-			return $this->handle_buy_item( $args );
103
-		}
104
-
105
-	}
106
-
107
-	/**
108
-	 * Displaying a payment form
109
-	 *
110
-	 * @return string
111
-	 */
88
+        // Is the shortcode set up correctly?
89
+        if ( empty( $args['form'] ) && empty( $args['item'] ) ) {
90
+            return aui()->alert(
91
+                array(
92
+                    'type'    => 'warning',
93
+                    'content' => __( 'No payment form or item selected', 'invoicing' ),
94
+                )
95
+            );
96
+        }
97
+
98
+        // Payment form or button?
99
+        if ( ! empty( $args['form'] ) ) {
100
+            return $this->handle_payment_form( $args );
101
+        } else {
102
+            return $this->handle_buy_item( $args );
103
+        }
104
+
105
+    }
106
+
107
+    /**
108
+     * Displaying a payment form
109
+     *
110
+     * @return string
111
+     */
112 112
     protected function handle_payment_form( $args = array() ) {
113 113
 
114
-		if ( empty( $args['button'] ) ) {
115
-			ob_start();
116
-			getpaid_display_payment_form( $args['form'] );
117
-			return ob_get_clean();
118
-		}
114
+        if ( empty( $args['button'] ) ) {
115
+            ob_start();
116
+            getpaid_display_payment_form( $args['form'] );
117
+            return ob_get_clean();
118
+        }
119 119
 
120
-		return $this->payment_form_button( $args['form'], $args['button'] );
121
-	}
120
+        return $this->payment_form_button( $args['form'], $args['button'] );
121
+    }
122 122
 
123
-	/**
124
-	 * Displays a payment form button.
125
-	 *
126
-	 * @return string
127
-	 */
123
+    /**
124
+     * Displays a payment form button.
125
+     *
126
+     * @return string
127
+     */
128 128
     protected function payment_form_button( $form, $button ) {
129
-		return getpaid_get_payment_button( $button, $form );
130
-	}
131
-
132
-	/**
133
-	 * Selling an item
134
-	 *
135
-	 * @return string
136
-	 */
129
+        return getpaid_get_payment_button( $button, $form );
130
+    }
131
+
132
+    /**
133
+     * Selling an item
134
+     *
135
+     * @return string
136
+     */
137 137
     protected function handle_buy_item( $args = array() ) {
138 138
 
139
-		if ( empty( $args['button'] ) ) {
140
-			return $this->buy_item_form( $args['item'] );
141
-		}
139
+        if ( empty( $args['button'] ) ) {
140
+            return $this->buy_item_form( $args['item'] );
141
+        }
142 142
 
143
-		return $this->buy_item_button( $args['item'], $args['button'] );
143
+        return $this->buy_item_button( $args['item'], $args['button'] );
144 144
 
145
-	}
145
+    }
146 146
 
147
-	/**
148
-	 * Displays a buy item form.
149
-	 *
150
-	 * @return string
151
-	 */
147
+    /**
148
+     * Displays a buy item form.
149
+     *
150
+     * @return string
151
+     */
152 152
     protected function buy_item_form( $item ) {
153
-		$items = getpaid_convert_items_to_array( $item );
154
-		ob_start();
155
-		getpaid_display_item_payment_form( $items );
156
-		return ob_get_clean();
157
-	}
158
-
159
-	/**
160
-	 * Displays a buy item button.
161
-	 *
162
-	 * @return string
163
-	 */
153
+        $items = getpaid_convert_items_to_array( $item );
154
+        ob_start();
155
+        getpaid_display_item_payment_form( $items );
156
+        return ob_get_clean();
157
+    }
158
+
159
+    /**
160
+     * Displays a buy item button.
161
+     *
162
+     * @return string
163
+     */
164 164
     protected function buy_item_button( $item, $button ) {
165
-		$button = getpaid_get_payment_button( $button, null, $item );
166
-		return apply_filters( 'getpaid_buy_item_button_widget', $button, $item );
165
+        $button = getpaid_get_payment_button( $button, null, $item );
166
+        return apply_filters( 'getpaid_buy_item_button_widget', $button, $item );
167 167
     }
168 168
 
169 169
 }
Please login to merge, or discard this patch.
templates/invoice/line-item.php 1 patch
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -32,34 +32,34 @@  discard block
 block discarded – undo
32 32
                     // Item name.
33 33
                     if ( 'name' == $column ) {
34 34
 
35
-					// Display the name.
36
-					echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
35
+                    // Display the name.
36
+                    echo '<div class="mb-1">' . esc_html( $item->get_name() ) . '</div>';
37 37
 
38
-					// And an optional description.
39
-					$description = $item->get_description();
38
+                    // And an optional description.
39
+                    $description = $item->get_description();
40 40
 
41
-					if ( ! empty( $description ) ) {
42
-						$description = wp_kses_post( $description );
43
-						echo "<small class='form-text text-muted pr-2 m-0'>$description</small>";
41
+                    if ( ! empty( $description ) ) {
42
+                        $description = wp_kses_post( $description );
43
+                        echo "<small class='form-text text-muted pr-2 m-0'>$description</small>";
44 44
                         }
45 45
 
46
-					// Fires before printing the line item actions.
47
-					do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
46
+                    // Fires before printing the line item actions.
47
+                    do_action( 'getpaid_before_invoice_line_item_actions', $item, $invoice );
48 48
 
49
-					$actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
49
+                    $actions = apply_filters( 'getpaid-invoice-page-line-item-actions', array(), $item, $invoice );
50 50
 
51
-					if ( ! empty( $actions ) ) {
51
+                    if ( ! empty( $actions ) ) {
52 52
 
53
-						$sanitized  = array();
54
-						foreach ( $actions as $key => $action ) {
55
-							$key         = sanitize_html_class( $key );
56
-							$action      = wp_kses_post( $action );
57
-							$sanitized[] = "<span class='$key'>$action</span>";
53
+                        $sanitized  = array();
54
+                        foreach ( $actions as $key => $action ) {
55
+                            $key         = sanitize_html_class( $key );
56
+                            $action      = wp_kses_post( $action );
57
+                            $sanitized[] = "<span class='$key'>$action</span>";
58 58
                             }
59 59
 
60
-						echo "<small class='form-text getpaid-line-item-actions'>";
61
-						echo implode( ' | ', $sanitized );
62
-						echo '</small>';
60
+                        echo "<small class='form-text getpaid-line-item-actions'>";
61
+                        echo implode( ' | ', $sanitized );
62
+                        echo '</small>';
63 63
 
64 64
                         }
65 65
 }
@@ -67,26 +67,26 @@  discard block
 block discarded – undo
67 67
                     // Item price.
68 68
                     if ( 'price' == $column ) {
69 69
 
70
-					// Display the item price (or recurring price if this is a renewal invoice)
71
-					$price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
72
-					echo wpinv_price( $price, $invoice->get_currency() );
70
+                    // Display the item price (or recurring price if this is a renewal invoice)
71
+                    $price = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price();
72
+                    echo wpinv_price( $price, $invoice->get_currency() );
73 73
 
74 74
                     }
75 75
 
76 76
                     // Tax rate.
77 77
                     if ( 'tax_rate' == $column ) {
78
-					echo round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) . '%';
78
+                    echo round( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) . '%';
79 79
                     }
80 80
 
81 81
                     // Item quantity.
82 82
                     if ( 'quantity' == $column ) {
83
-					echo (float) $item->get_quantity();
83
+                    echo (float) $item->get_quantity();
84 84
                     }
85 85
 
86 86
                     // Item sub total.
87 87
                     if ( 'subtotal' == $column ) {
88
-					$subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
89
-					echo wpinv_price( $subtotal, $invoice->get_currency() );
88
+                    $subtotal = $invoice->is_renewal() ? $item->get_recurring_sub_total() : $item->get_sub_total();
89
+                    echo wpinv_price( $subtotal, $invoice->get_currency() );
90 90
                     }
91 91
 
92 92
                     // Fires when printing a line item column.
Please login to merge, or discard this patch.
templates/invoice/line-totals.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -37,42 +37,42 @@
 block discarded – undo
37 37
 
38 38
                                 // Total tax.
39 39
                                 if ( 'tax' == $key ) {
40
-								echo wpinv_price( $invoice->get_total_tax(), $invoice->get_currency() );
40
+                                echo wpinv_price( $invoice->get_total_tax(), $invoice->get_currency() );
41 41
 
42
-								if ( wpinv_use_taxes() && ! $invoice->get_disable_taxes() ) {
42
+                                if ( wpinv_use_taxes() && ! $invoice->get_disable_taxes() ) {
43 43
 
44
-									$taxes = $invoice->get_total_tax();
45
-									if ( empty( $taxes ) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $invoice->get_country() ) ) {
46
-										echo ' <em class="text-muted small">';
47
-										_x( '(Reverse charged)', 'This is a legal term for reverse charging tax in the EU', 'invoicing' );
48
-										echo '</em>';
44
+                                    $taxes = $invoice->get_total_tax();
45
+                                    if ( empty( $taxes ) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $invoice->get_country() ) ) {
46
+                                        echo ' <em class="text-muted small">';
47
+                                        _x( '(Reverse charged)', 'This is a legal term for reverse charging tax in the EU', 'invoicing' );
48
+                                        echo '</em>';
49 49
                                         }
50 50
 }
51 51
 }
52 52
 
53 53
                                 // Total Fee.
54 54
                                 if ( 'fee' == $key ) {
55
-								echo wpinv_price( $invoice->get_total_fees(), $invoice->get_currency() );
55
+                                echo wpinv_price( $invoice->get_total_fees(), $invoice->get_currency() );
56 56
                                 }
57 57
 
58 58
                                 // Total discount.
59 59
                                 if ( 'discount' == $key ) {
60
-								echo wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() );
60
+                                echo wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() );
61 61
                                 }
62 62
 
63 63
                                 // Shipping.
64 64
                                 if ( 'shipping' == $key ) {
65
-								echo wpinv_price( $invoice->get_shipping(), $invoice->get_currency() );
65
+                                echo wpinv_price( $invoice->get_shipping(), $invoice->get_currency() );
66 66
                                 }
67 67
 
68 68
                                 // Sub total.
69 69
                                 if ( 'subtotal' == $key ) {
70
-								echo wpinv_price( $invoice->get_subtotal(), $invoice->get_currency() );
70
+                                echo wpinv_price( $invoice->get_subtotal(), $invoice->get_currency() );
71 71
                                 }
72 72
 
73 73
                                 // Total.
74 74
                                 if ( 'total' == $key ) {
75
-								echo wpinv_price( $invoice->get_total(), $invoice->get_currency() );
75
+                                echo wpinv_price( $invoice->get_total(), $invoice->get_currency() );
76 76
                                 }
77 77
 
78 78
                                 // Fires when printing a cart total.
Please login to merge, or discard this patch.
templates/invoice/fee-item.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -31,44 +31,44 @@
 block discarded – undo
31 31
                     // Item name.
32 32
                     if ( 'name' == $column ) {
33 33
 
34
-					// Display the name.
35
-					echo '<div class="mb-1">' . esc_html( $fee['name'] ) . '</div>';
34
+                    // Display the name.
35
+                    echo '<div class="mb-1">' . esc_html( $fee['name'] ) . '</div>';
36 36
 
37
-					// And an optional description.
38
-					$description = empty( $fee['description'] ) ? esc_html__( 'Fee', 'invoicing' ) : esc_html( $fee['description'] );
39
-					echo "<small class='form-text text-muted pr-2 m-0'>$description</small>";
37
+                    // And an optional description.
38
+                    $description = empty( $fee['description'] ) ? esc_html__( 'Fee', 'invoicing' ) : esc_html( $fee['description'] );
39
+                    echo "<small class='form-text text-muted pr-2 m-0'>$description</small>";
40 40
 
41 41
                     }
42 42
 
43 43
                     // Item price.
44 44
                     if ( 'price' == $column ) {
45 45
 
46
-					// Display the item price (or recurring price if this is a renewal invoice)
47
-					if ( $invoice->is_recurring() && $invoice->is_renewal() ) {
48
-						echo wpinv_price( $fee['recurring_fee'], $invoice->get_currency() );
46
+                    // Display the item price (or recurring price if this is a renewal invoice)
47
+                    if ( $invoice->is_recurring() && $invoice->is_renewal() ) {
48
+                        echo wpinv_price( $fee['recurring_fee'], $invoice->get_currency() );
49 49
                         } else {
50
-						echo wpinv_price( $fee['initial_fee'], $invoice->get_currency() );
50
+                        echo wpinv_price( $fee['initial_fee'], $invoice->get_currency() );
51 51
                         }
52 52
 }
53 53
 
54 54
                     // Item quantity.
55 55
                     if ( 'quantity' == $column ) {
56
-					echo '&mdash;';
56
+                    echo '&mdash;';
57 57
                     }
58 58
 
59 59
                     // Item tax.
60 60
                     if ( 'tax_rate' == $column ) {
61
-					echo '&mdash;';
61
+                    echo '&mdash;';
62 62
                     }
63 63
 
64 64
                     // Item sub total.
65 65
                     if ( 'subtotal' == $column ) {
66 66
 
67
-					// Display the item price (or recurring price if this is a renewal invoice)
68
-					if ( $invoice->is_recurring() && $invoice->is_renewal() ) {
69
-						echo wpinv_price( $fee['recurring_fee'], $invoice->get_currency() );
67
+                    // Display the item price (or recurring price if this is a renewal invoice)
68
+                    if ( $invoice->is_recurring() && $invoice->is_renewal() ) {
69
+                        echo wpinv_price( $fee['recurring_fee'], $invoice->get_currency() );
70 70
                         } else {
71
-						echo wpinv_price( $fee['initial_fee'], $invoice->get_currency() );
71
+                        echo wpinv_price( $fee['initial_fee'], $invoice->get_currency() );
72 72
                         }
73 73
 }
74 74
 
Please login to merge, or discard this patch.
templates/invoice/line-items.php 1 patch
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -33,12 +33,12 @@
 block discarded – undo
33 33
 
34 34
             // Display the item totals.
35 35
             foreach ( $invoice->get_items() as $item ) {
36
-			wpinv_get_template( 'invoice/line-item.php', compact( 'invoice', 'item', 'columns' ) );
36
+            wpinv_get_template( 'invoice/line-item.php', compact( 'invoice', 'item', 'columns' ) );
37 37
             }
38 38
 
39 39
             // Display the fee totals.
40 40
             foreach ( $invoice->get_fees() as $fee ) {
41
-			wpinv_get_template( 'invoice/fee-item.php', compact( 'invoice', 'fee', 'columns' ) );
41
+            wpinv_get_template( 'invoice/fee-item.php', compact( 'invoice', 'fee', 'columns' ) );
42 42
             }
43 43
 
44 44
             // Display the cart totals.
Please login to merge, or discard this patch.
templates/wpinv-invalid-access.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -40,19 +40,19 @@
 block discarded – undo
40 40
         <?php
41 41
 
42 42
             if ( ! $invoice->exists() || $invoice->is_draft() ) {
43
-			$error = __( 'This invoice was deleted or is not visible.', 'invoicing' );
43
+            $error = __( 'This invoice was deleted or is not visible.', 'invoicing' );
44 44
             } else {
45 45
 
46
-			$user_id = get_current_user_id();
47
-			if ( wpinv_require_login_to_checkout() && empty( $user_id ) ) {
48
-				$error  = __( 'You must be logged in to view this invoice.', 'invoicing' );
49
-				$error .= sprintf(
50
-					' <a href="%s">%s</a>',
51
-					wp_login_url( $invoice->get_view_url() ),
52
-					__( 'Login.', 'invoicing' )
53
-				);
54
-			} else {
55
-				$error = __( 'This invoice is only viewable by clicking on the invoice link that was sent to you via email.', 'invoicing' );
46
+            $user_id = get_current_user_id();
47
+            if ( wpinv_require_login_to_checkout() && empty( $user_id ) ) {
48
+                $error  = __( 'You must be logged in to view this invoice.', 'invoicing' );
49
+                $error .= sprintf(
50
+                    ' <a href="%s">%s</a>',
51
+                    wp_login_url( $invoice->get_view_url() ),
52
+                    __( 'Login.', 'invoicing' )
53
+                );
54
+            } else {
55
+                $error = __( 'This invoice is only viewable by clicking on the invoice link that was sent to you via email.', 'invoicing' );
56 56
                 }
57 57
 }
58 58
 
Please login to merge, or discard this patch.