Passed
Push — master ( b3b246...bcec86 )
by Brian
05:30
created
includes/admin/class-wpinv-subscriptions-list-table.php 3 patches
Braces   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -3,7 +3,9 @@
 block discarded – undo
3 3
  * Displays a list of all subscriptions rules
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) exit;
6
+if ( ! defined( 'ABSPATH' ) ) {
7
+    exit;
8
+}
7 9
 
8 10
 if ( ! class_exists( 'WP_List_Table' ) ) {
9 11
 	include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
Please login to merge, or discard this patch.
Indentation   +369 added lines, -369 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
 if ( ! defined( 'ABSPATH' ) ) exit;
7 7
 
8 8
 if ( ! class_exists( 'WP_List_Table' ) ) {
9
-	include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
9
+    include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
10 10
 }
11 11
 
12 12
 /**
@@ -14,373 +14,373 @@  discard block
 block discarded – undo
14 14
  */
15 15
 class WPInv_Subscriptions_List_Table extends WP_List_Table {
16 16
 
17
-	/**
18
-	 * URL of this page
19
-	 *
20
-	 * @var   string
21
-	 * @since 1.0.19
22
-	 */
23
-	public $base_url;
24
-
25
-	/**
26
-	 * Query
27
-	 *
28
-	 * @var   GetPaid_Subscriptions_Query
29
-	 * @since 1.0.19
30
-	 */
31
-	public $query;
32
-
33
-	/**
34
-	 * Total subscriptions
35
-	 *
36
-	 * @var   string
37
-	 * @since 1.0.0
38
-	 */
39
-	public $total_count;
40
-
41
-	/**
42
-	 * Current status subscriptions
43
-	 *
44
-	 * @var   string
45
-	 * @since 1.0.0
46
-	 */
47
-	public $current_total_count;
48
-
49
-	/**
50
-	 * Status counts
51
-	 *
52
-	 * @var   array
53
-	 * @since 1.0.19
54
-	 */
55
-	public $status_counts;
56
-
57
-	/**
58
-	 * Number of results to show per page
59
-	 *
60
-	 * @var   int
61
-	 * @since 1.0.0
62
-	 */
63
-	public $per_page = 10;
64
-
65
-	/**
66
-	 *  Constructor function.
67
-	 */
68
-	public function __construct() {
69
-
70
-		parent::__construct(
71
-			array(
72
-				'singular' => 'subscription',
73
-				'plural'   => 'subscriptions',
74
-			)
75
-		);
76
-
77
-		$this->process_bulk_action();
78
-
79
-		$this->prepare_query();
80
-
81
-		$this->base_url = remove_query_arg( 'status' );
82
-
83
-	}
84
-
85
-	/**
86
-	 *  Prepares the display query
87
-	 */
88
-	public function prepare_query() {
89
-
90
-		// Prepare query args.
91
-		$query = array(
92
-			'number'  => $this->per_page,
93
-			'paged'   => $this->get_paged(),
94
-			'status'  => ( isset( $_GET['status'] ) && array_key_exists( $_GET['status'], getpaid_get_subscription_statuses() ) ) ? $_GET['status'] : 'all',
95
-			'orderby' => ( isset( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'id',
96
-			'order'   => ( isset( $_GET['order'] ) ) ? $_GET['order'] : 'DESC',
97
-		);
98
-
99
-		// Prepare class properties.
100
-		$this->query               = new GetPaid_Subscriptions_Query( $query );
101
-		$this->total_count         = $this->query->get_total();
102
-		$this->current_total_count = $this->query->get_total();
103
-		$this->items               = $this->query->get_results();
104
-		$this->status_counts       = getpaid_get_subscription_status_counts( $query );
105
-
106
-		if ( 'all' != $query['status'] ) {
107
-			unset( $query['status'] );
108
-			$this->total_count   = getpaid_get_subscriptions( $query, 'count' );
109
-		}
110
-
111
-	}
112
-
113
-	/**
114
-	 * Gets the list of views available on this table.
115
-	 *
116
-	 * The format is an associative array:
117
-	 * - `'id' => 'link'`
118
-	 *
119
-	 * @since 1.0.0
120
-	 *
121
-	 * @return array
122
-	 */
123
-	public function get_views() {
124
-
125
-		$current  = isset( $_GET['status'] ) ? $_GET['status'] : 'all';
126
-		$views    = array(
127
-
128
-			'all' => sprintf(
129
-				'<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
130
-				esc_url( add_query_arg( 'status', false, $this->base_url ) ),
131
-				$current === 'all' ? ' class="current"' : '',
132
-				__('All','invoicing' ),
133
-				$this->total_count
134
-			)
135
-
136
-		);
137
-
138
-		foreach ( array_filter( $this->status_counts ) as $status => $count ) {
139
-
140
-			$views[ $status ] = sprintf(
141
-				'<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
142
-				esc_url( add_query_arg( 'status', urlencode( $status ), $this->base_url ) ),
143
-				$current === $status ? ' class="current"' : '',
144
-				sanitize_text_field( getpaid_get_subscription_status_label( $status ) ),
145
-				$count
146
-			);
147
-
148
-		}
149
-
150
-		return $views;
151
-
152
-	}
153
-
154
-	/**
155
-	 * Render most columns
156
-	 *
157
-	 * @access      private
158
-	 * @since       1.0.0
159
-	 * @return      string
160
-	 */
161
-	public function column_default( $item, $column_name ) {
162
-		return apply_filters( "getpaid_subscriptions_table_column_$column_name", $item->$column_name );
163
-	}
164
-
165
-	/**
166
-	 * This is how checkbox column renders.
167
-	 *
168
-	 * @param WPInv_Subscription $item
169
-	 * @return string
170
-	 */
171
-	public function column_cb( $item ) {
172
-		return sprintf( '<input type="checkbox" name="id[]" value="%s" />', esc_html( $item->get_id() ) );
173
-	}
174
-
175
-	/**
176
-	 * Status column
177
-	 *
178
-	 * @param WPInv_Subscription $item
179
-	 * @since       1.0.0
180
-	 * @return      string
181
-	 */
182
-	public function column_status( $item ) {
183
-		return $item->get_status_label_html();
184
-	}
185
-
186
-	/**
187
-	 * Subscription column
188
-	 *
189
-	 * @param WPInv_Subscription $item
190
-	 * @since       1.0.0
191
-	 * @return      string
192
-	 */
193
-	public function column_subscription( $item ) {
194
-
195
-		$username = __( '(Missing User)', 'invoicing' );
196
-
197
-		$user = get_userdata( $item->get_customer_id() );
198
-		if ( $user ) {
199
-
200
-			$username = sprintf(
201
-				'<a href="user-edit.php?user_id=%s">%s</a>',
202
-				absint( $user->ID ),
203
-				! empty( $user->display_name ) ? sanitize_text_field( $user->display_name ) : sanitize_email( $user->user_email )
204
-			);
205
-
206
-		}
207
-
208
-		// translators: $1: is opening link, $2: is subscription id number, $3: is closing link tag, $4: is user's name
209
-		$column_content = sprintf(
210
-			_x( '%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing' ),
211
-			'<a href="' . esc_url( admin_url( 'admin.php?page=wpinv-subscriptions&id=' . absint( $item->get_id() ) ) ) . '">',
212
-			'<strong>' . esc_attr( $item->get_id() ) . '</strong>', '</a>',
213
-			$username
214
-		);
215
-
216
-		$row_actions = array();
217
-
218
-		// View subscription.
219
-		$view_url    = esc_url( add_query_arg( 'id', $item->get_id(), admin_url( 'admin.php?page=wpinv-subscriptions' ) ));
220
-		$row_actions['view'] = '<a href="' . $view_url . '">' . __( 'View Subscription', 'invoicing' ) . '</a>';
221
-
222
-		// View invoice.
223
-		$invoice = get_post( $item->get_parent_invoice_id() );
224
-
225
-		if ( ! empty( $invoice ) ) {
226
-			$view_url    = get_edit_post_link( $invoice );
227
-			$row_actions['invoice'] = '<a href="' . $view_url . '">' . __( 'View Invoice', 'invoicing' ) . '</a>';
228
-		}
229
-
230
-		$row_actions = $this->row_actions( apply_filters( 'getpaid_subscription_table_row_actions', $row_actions, $item ) );
231
-
232
-		return "<strong>$column_content</strong>" . $this->column_amount( $item ) . $row_actions;
233
-	}
234
-
235
-	/**
236
-	 * Renewal date column
237
-	 *
238
-	 * @param WPInv_Subscription $item
239
-	 * @since       1.0.0
240
-	 * @return      string
241
-	 */
242
-	public function column_renewal_date( $item ) {
243
-		return getpaid_format_date_value( $item->get_expiration() );
244
-	}
245
-
246
-	/**
247
-	 * Start date column
248
-	 *
249
-	 * @param WPInv_Subscription $item
250
-	 * @since       1.0.0
251
-	 * @return      string
252
-	 */
253
-	public function column_start_date( $item ) {
254
-		return getpaid_format_date_value( $item->get_date_created() );
255
-	}
256
-
257
-	/**
258
-	 * Amount column
259
-	 *
260
-	 * @param WPInv_Subscription $item
261
-	 * @since       1.0.19
262
-	 * @return      string
263
-	 */
264
-	public function column_amount( $item ) {
265
-		$amount = getpaid_get_formatted_subscription_amount( $item );
266
-		return "<span class='text-muted form-text mt-2 mb-2'>$amount</span>";
267
-	}
268
-
269
-	/**
270
-	 * Billing Times column
271
-	 *
272
-	 * @param WPInv_Subscription $item
273
-	 * @since       1.0.0
274
-	 * @return      string
275
-	 */
276
-	public function column_renewals( $item ) {
277
-		$max_bills = $item->get_bill_times();
278
-		return $item->get_times_billed() . ' / ' . ( empty( $max_bills ) ? "&infin;" : $max_bills );
279
-	}
280
-
281
-	/**
282
-	 * Product ID column
283
-	 *
284
-	 * @param WPInv_Subscription $item
285
-	 * @since       1.0.0
286
-	 * @return      string
287
-	 */
288
-	public function column_item( $item ) {
289
-		$_item = get_post( $item->get_product_id() );
290
-
291
-		if ( ! empty( $_item ) ) {
292
-			$link = get_edit_post_link( $_item );
293
-			$link = esc_url( $link );
294
-			$name = esc_html( get_the_title( $_item ) );
295
-			return "<a href='$link'>$name</a>";
296
-		} else {
297
-			return sprintf( __( 'Item #%s', 'invoicing' ), $item->get_product_id() );
298
-		}
299
-
300
-	}
301
-
302
-	/**
303
-	 * Retrieve the current page number
304
-	 *
305
-	 * @return      int
306
-	 */
307
-	public function get_paged() {
308
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
309
-	}
310
-
311
-	/**
312
-	 * Setup the final data for the table
313
-	 *
314
-	 */
315
-	public function prepare_items() {
316
-
317
-		$columns  = $this->get_columns();
318
-		$hidden   = array();
319
-		$sortable = $this->get_sortable_columns();
320
-
321
-		$this->_column_headers = array( $columns, $hidden, $sortable );
322
-
323
-		$this->set_pagination_args(
324
-			array(
325
-			'total_items' => $this->current_total_count,
326
-			'per_page'    => $this->per_page,
327
-			'total_pages' => ceil( $this->current_total_count / $this->per_page )
328
-			)
329
-		);
330
-	}
331
-
332
-	/**
333
-	 * Table columns
334
-	 *
335
-	 * @return array
336
-	 */
337
-	public function get_columns(){
338
-		$columns = array(
339
-			'cb'                => '<input type="checkbox" />',
340
-			'subscription'      => __( 'Subscription', 'invoicing' ),
341
-			'start_date'        => __( 'Start Date', 'invoicing' ),
342
-			'renewal_date'      => __( 'Next Payment', 'invoicing' ),
343
-			'renewals'          => __( 'Renewals', 'invoicing' ),
344
-			'item'              => __( 'Item', 'invoicing' ),
345
-			'status'            => __( 'Status', 'invoicing' ),
346
-		);
347
-
348
-		return apply_filters( 'manage_getpaid_subscriptions_table_columns', $columns );
349
-	}
350
-
351
-	/**
352
-	 * Sortable table columns.
353
-	 *
354
-	 * @return array
355
-	 */
356
-	public function get_sortable_columns() {
357
-		$sortable = array(
358
-			'subscription' => array( 'id', true ),
359
-			'start_date'   => array( 'created', true ),
360
-			'renewal_date' => array( 'expiration', true ),
361
-			'renewals'     => array( 'bill_times', true ),
362
-			'item'         => array( 'product_id', true ),
363
-			'status'       => array( 'status', true ),
364
-		);
365
-
366
-		return apply_filters( 'manage_getpaid_subscriptions_sortable_table_columns', $sortable );
367
-	}
368
-
369
-	/**
370
-	 * Whether the table has items to display or not
371
-	 *
372
-	 * @return bool
373
-	 */
374
-	public function has_items() {
375
-		return ! empty( $this->current_total_count );
376
-	}
377
-
378
-	/**
379
-	 * Processes bulk actions.
380
-	 *
381
-	 */
382
-	public function process_bulk_action() {
383
-
384
-	}
17
+    /**
18
+     * URL of this page
19
+     *
20
+     * @var   string
21
+     * @since 1.0.19
22
+     */
23
+    public $base_url;
24
+
25
+    /**
26
+     * Query
27
+     *
28
+     * @var   GetPaid_Subscriptions_Query
29
+     * @since 1.0.19
30
+     */
31
+    public $query;
32
+
33
+    /**
34
+     * Total subscriptions
35
+     *
36
+     * @var   string
37
+     * @since 1.0.0
38
+     */
39
+    public $total_count;
40
+
41
+    /**
42
+     * Current status subscriptions
43
+     *
44
+     * @var   string
45
+     * @since 1.0.0
46
+     */
47
+    public $current_total_count;
48
+
49
+    /**
50
+     * Status counts
51
+     *
52
+     * @var   array
53
+     * @since 1.0.19
54
+     */
55
+    public $status_counts;
56
+
57
+    /**
58
+     * Number of results to show per page
59
+     *
60
+     * @var   int
61
+     * @since 1.0.0
62
+     */
63
+    public $per_page = 10;
64
+
65
+    /**
66
+     *  Constructor function.
67
+     */
68
+    public function __construct() {
69
+
70
+        parent::__construct(
71
+            array(
72
+                'singular' => 'subscription',
73
+                'plural'   => 'subscriptions',
74
+            )
75
+        );
76
+
77
+        $this->process_bulk_action();
78
+
79
+        $this->prepare_query();
80
+
81
+        $this->base_url = remove_query_arg( 'status' );
82
+
83
+    }
84
+
85
+    /**
86
+     *  Prepares the display query
87
+     */
88
+    public function prepare_query() {
89
+
90
+        // Prepare query args.
91
+        $query = array(
92
+            'number'  => $this->per_page,
93
+            'paged'   => $this->get_paged(),
94
+            'status'  => ( isset( $_GET['status'] ) && array_key_exists( $_GET['status'], getpaid_get_subscription_statuses() ) ) ? $_GET['status'] : 'all',
95
+            'orderby' => ( isset( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'id',
96
+            'order'   => ( isset( $_GET['order'] ) ) ? $_GET['order'] : 'DESC',
97
+        );
98
+
99
+        // Prepare class properties.
100
+        $this->query               = new GetPaid_Subscriptions_Query( $query );
101
+        $this->total_count         = $this->query->get_total();
102
+        $this->current_total_count = $this->query->get_total();
103
+        $this->items               = $this->query->get_results();
104
+        $this->status_counts       = getpaid_get_subscription_status_counts( $query );
105
+
106
+        if ( 'all' != $query['status'] ) {
107
+            unset( $query['status'] );
108
+            $this->total_count   = getpaid_get_subscriptions( $query, 'count' );
109
+        }
110
+
111
+    }
112
+
113
+    /**
114
+     * Gets the list of views available on this table.
115
+     *
116
+     * The format is an associative array:
117
+     * - `'id' => 'link'`
118
+     *
119
+     * @since 1.0.0
120
+     *
121
+     * @return array
122
+     */
123
+    public function get_views() {
124
+
125
+        $current  = isset( $_GET['status'] ) ? $_GET['status'] : 'all';
126
+        $views    = array(
127
+
128
+            'all' => sprintf(
129
+                '<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
130
+                esc_url( add_query_arg( 'status', false, $this->base_url ) ),
131
+                $current === 'all' ? ' class="current"' : '',
132
+                __('All','invoicing' ),
133
+                $this->total_count
134
+            )
135
+
136
+        );
137
+
138
+        foreach ( array_filter( $this->status_counts ) as $status => $count ) {
139
+
140
+            $views[ $status ] = sprintf(
141
+                '<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
142
+                esc_url( add_query_arg( 'status', urlencode( $status ), $this->base_url ) ),
143
+                $current === $status ? ' class="current"' : '',
144
+                sanitize_text_field( getpaid_get_subscription_status_label( $status ) ),
145
+                $count
146
+            );
147
+
148
+        }
149
+
150
+        return $views;
151
+
152
+    }
153
+
154
+    /**
155
+     * Render most columns
156
+     *
157
+     * @access      private
158
+     * @since       1.0.0
159
+     * @return      string
160
+     */
161
+    public function column_default( $item, $column_name ) {
162
+        return apply_filters( "getpaid_subscriptions_table_column_$column_name", $item->$column_name );
163
+    }
164
+
165
+    /**
166
+     * This is how checkbox column renders.
167
+     *
168
+     * @param WPInv_Subscription $item
169
+     * @return string
170
+     */
171
+    public function column_cb( $item ) {
172
+        return sprintf( '<input type="checkbox" name="id[]" value="%s" />', esc_html( $item->get_id() ) );
173
+    }
174
+
175
+    /**
176
+     * Status column
177
+     *
178
+     * @param WPInv_Subscription $item
179
+     * @since       1.0.0
180
+     * @return      string
181
+     */
182
+    public function column_status( $item ) {
183
+        return $item->get_status_label_html();
184
+    }
185
+
186
+    /**
187
+     * Subscription column
188
+     *
189
+     * @param WPInv_Subscription $item
190
+     * @since       1.0.0
191
+     * @return      string
192
+     */
193
+    public function column_subscription( $item ) {
194
+
195
+        $username = __( '(Missing User)', 'invoicing' );
196
+
197
+        $user = get_userdata( $item->get_customer_id() );
198
+        if ( $user ) {
199
+
200
+            $username = sprintf(
201
+                '<a href="user-edit.php?user_id=%s">%s</a>',
202
+                absint( $user->ID ),
203
+                ! empty( $user->display_name ) ? sanitize_text_field( $user->display_name ) : sanitize_email( $user->user_email )
204
+            );
205
+
206
+        }
207
+
208
+        // translators: $1: is opening link, $2: is subscription id number, $3: is closing link tag, $4: is user's name
209
+        $column_content = sprintf(
210
+            _x( '%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing' ),
211
+            '<a href="' . esc_url( admin_url( 'admin.php?page=wpinv-subscriptions&id=' . absint( $item->get_id() ) ) ) . '">',
212
+            '<strong>' . esc_attr( $item->get_id() ) . '</strong>', '</a>',
213
+            $username
214
+        );
215
+
216
+        $row_actions = array();
217
+
218
+        // View subscription.
219
+        $view_url    = esc_url( add_query_arg( 'id', $item->get_id(), admin_url( 'admin.php?page=wpinv-subscriptions' ) ));
220
+        $row_actions['view'] = '<a href="' . $view_url . '">' . __( 'View Subscription', 'invoicing' ) . '</a>';
221
+
222
+        // View invoice.
223
+        $invoice = get_post( $item->get_parent_invoice_id() );
224
+
225
+        if ( ! empty( $invoice ) ) {
226
+            $view_url    = get_edit_post_link( $invoice );
227
+            $row_actions['invoice'] = '<a href="' . $view_url . '">' . __( 'View Invoice', 'invoicing' ) . '</a>';
228
+        }
229
+
230
+        $row_actions = $this->row_actions( apply_filters( 'getpaid_subscription_table_row_actions', $row_actions, $item ) );
231
+
232
+        return "<strong>$column_content</strong>" . $this->column_amount( $item ) . $row_actions;
233
+    }
234
+
235
+    /**
236
+     * Renewal date column
237
+     *
238
+     * @param WPInv_Subscription $item
239
+     * @since       1.0.0
240
+     * @return      string
241
+     */
242
+    public function column_renewal_date( $item ) {
243
+        return getpaid_format_date_value( $item->get_expiration() );
244
+    }
245
+
246
+    /**
247
+     * Start date column
248
+     *
249
+     * @param WPInv_Subscription $item
250
+     * @since       1.0.0
251
+     * @return      string
252
+     */
253
+    public function column_start_date( $item ) {
254
+        return getpaid_format_date_value( $item->get_date_created() );
255
+    }
256
+
257
+    /**
258
+     * Amount column
259
+     *
260
+     * @param WPInv_Subscription $item
261
+     * @since       1.0.19
262
+     * @return      string
263
+     */
264
+    public function column_amount( $item ) {
265
+        $amount = getpaid_get_formatted_subscription_amount( $item );
266
+        return "<span class='text-muted form-text mt-2 mb-2'>$amount</span>";
267
+    }
268
+
269
+    /**
270
+     * Billing Times column
271
+     *
272
+     * @param WPInv_Subscription $item
273
+     * @since       1.0.0
274
+     * @return      string
275
+     */
276
+    public function column_renewals( $item ) {
277
+        $max_bills = $item->get_bill_times();
278
+        return $item->get_times_billed() . ' / ' . ( empty( $max_bills ) ? "&infin;" : $max_bills );
279
+    }
280
+
281
+    /**
282
+     * Product ID column
283
+     *
284
+     * @param WPInv_Subscription $item
285
+     * @since       1.0.0
286
+     * @return      string
287
+     */
288
+    public function column_item( $item ) {
289
+        $_item = get_post( $item->get_product_id() );
290
+
291
+        if ( ! empty( $_item ) ) {
292
+            $link = get_edit_post_link( $_item );
293
+            $link = esc_url( $link );
294
+            $name = esc_html( get_the_title( $_item ) );
295
+            return "<a href='$link'>$name</a>";
296
+        } else {
297
+            return sprintf( __( 'Item #%s', 'invoicing' ), $item->get_product_id() );
298
+        }
299
+
300
+    }
301
+
302
+    /**
303
+     * Retrieve the current page number
304
+     *
305
+     * @return      int
306
+     */
307
+    public function get_paged() {
308
+        return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
309
+    }
310
+
311
+    /**
312
+     * Setup the final data for the table
313
+     *
314
+     */
315
+    public function prepare_items() {
316
+
317
+        $columns  = $this->get_columns();
318
+        $hidden   = array();
319
+        $sortable = $this->get_sortable_columns();
320
+
321
+        $this->_column_headers = array( $columns, $hidden, $sortable );
322
+
323
+        $this->set_pagination_args(
324
+            array(
325
+            'total_items' => $this->current_total_count,
326
+            'per_page'    => $this->per_page,
327
+            'total_pages' => ceil( $this->current_total_count / $this->per_page )
328
+            )
329
+        );
330
+    }
331
+
332
+    /**
333
+     * Table columns
334
+     *
335
+     * @return array
336
+     */
337
+    public function get_columns(){
338
+        $columns = array(
339
+            'cb'                => '<input type="checkbox" />',
340
+            'subscription'      => __( 'Subscription', 'invoicing' ),
341
+            'start_date'        => __( 'Start Date', 'invoicing' ),
342
+            'renewal_date'      => __( 'Next Payment', 'invoicing' ),
343
+            'renewals'          => __( 'Renewals', 'invoicing' ),
344
+            'item'              => __( 'Item', 'invoicing' ),
345
+            'status'            => __( 'Status', 'invoicing' ),
346
+        );
347
+
348
+        return apply_filters( 'manage_getpaid_subscriptions_table_columns', $columns );
349
+    }
350
+
351
+    /**
352
+     * Sortable table columns.
353
+     *
354
+     * @return array
355
+     */
356
+    public function get_sortable_columns() {
357
+        $sortable = array(
358
+            'subscription' => array( 'id', true ),
359
+            'start_date'   => array( 'created', true ),
360
+            'renewal_date' => array( 'expiration', true ),
361
+            'renewals'     => array( 'bill_times', true ),
362
+            'item'         => array( 'product_id', true ),
363
+            'status'       => array( 'status', true ),
364
+        );
365
+
366
+        return apply_filters( 'manage_getpaid_subscriptions_sortable_table_columns', $sortable );
367
+    }
368
+
369
+    /**
370
+     * Whether the table has items to display or not
371
+     *
372
+     * @return bool
373
+     */
374
+    public function has_items() {
375
+        return ! empty( $this->current_total_count );
376
+    }
377
+
378
+    /**
379
+     * Processes bulk actions.
380
+     *
381
+     */
382
+    public function process_bulk_action() {
383
+
384
+    }
385 385
 
386 386
 }
Please login to merge, or discard this patch.
Spacing   +74 added lines, -74 removed lines patch added patch discarded remove patch
@@ -3,9 +3,9 @@  discard block
 block discarded – undo
3 3
  * Displays a list of all subscriptions rules
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) exit;
6
+if (!defined('ABSPATH')) exit;
7 7
 
8
-if ( ! class_exists( 'WP_List_Table' ) ) {
8
+if (!class_exists('WP_List_Table')) {
9 9
 	include_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
10 10
 }
11 11
 
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
 
79 79
 		$this->prepare_query();
80 80
 
81
-		$this->base_url = remove_query_arg( 'status' );
81
+		$this->base_url = remove_query_arg('status');
82 82
 
83 83
 	}
84 84
 
@@ -91,21 +91,21 @@  discard block
 block discarded – undo
91 91
 		$query = array(
92 92
 			'number'  => $this->per_page,
93 93
 			'paged'   => $this->get_paged(),
94
-			'status'  => ( isset( $_GET['status'] ) && array_key_exists( $_GET['status'], getpaid_get_subscription_statuses() ) ) ? $_GET['status'] : 'all',
95
-			'orderby' => ( isset( $_GET['orderby'] ) ) ? $_GET['orderby'] : 'id',
96
-			'order'   => ( isset( $_GET['order'] ) ) ? $_GET['order'] : 'DESC',
94
+			'status'  => (isset($_GET['status']) && array_key_exists($_GET['status'], getpaid_get_subscription_statuses())) ? $_GET['status'] : 'all',
95
+			'orderby' => (isset($_GET['orderby'])) ? $_GET['orderby'] : 'id',
96
+			'order'   => (isset($_GET['order'])) ? $_GET['order'] : 'DESC',
97 97
 		);
98 98
 
99 99
 		// Prepare class properties.
100
-		$this->query               = new GetPaid_Subscriptions_Query( $query );
100
+		$this->query               = new GetPaid_Subscriptions_Query($query);
101 101
 		$this->total_count         = $this->query->get_total();
102 102
 		$this->current_total_count = $this->query->get_total();
103 103
 		$this->items               = $this->query->get_results();
104
-		$this->status_counts       = getpaid_get_subscription_status_counts( $query );
104
+		$this->status_counts       = getpaid_get_subscription_status_counts($query);
105 105
 
106
-		if ( 'all' != $query['status'] ) {
107
-			unset( $query['status'] );
108
-			$this->total_count   = getpaid_get_subscriptions( $query, 'count' );
106
+		if ('all' != $query['status']) {
107
+			unset($query['status']);
108
+			$this->total_count = getpaid_get_subscriptions($query, 'count');
109 109
 		}
110 110
 
111 111
 	}
@@ -122,26 +122,26 @@  discard block
 block discarded – undo
122 122
 	 */
123 123
 	public function get_views() {
124 124
 
125
-		$current  = isset( $_GET['status'] ) ? $_GET['status'] : 'all';
125
+		$current  = isset($_GET['status']) ? $_GET['status'] : 'all';
126 126
 		$views    = array(
127 127
 
128 128
 			'all' => sprintf(
129 129
 				'<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
130
-				esc_url( add_query_arg( 'status', false, $this->base_url ) ),
130
+				esc_url(add_query_arg('status', false, $this->base_url)),
131 131
 				$current === 'all' ? ' class="current"' : '',
132
-				__('All','invoicing' ),
132
+				__('All', 'invoicing'),
133 133
 				$this->total_count
134 134
 			)
135 135
 
136 136
 		);
137 137
 
138
-		foreach ( array_filter( $this->status_counts ) as $status => $count ) {
138
+		foreach (array_filter($this->status_counts) as $status => $count) {
139 139
 
140
-			$views[ $status ] = sprintf(
140
+			$views[$status] = sprintf(
141 141
 				'<a href="%s" %s>%s&nbsp;<span class="count">(%d)</span></a>',
142
-				esc_url( add_query_arg( 'status', urlencode( $status ), $this->base_url ) ),
142
+				esc_url(add_query_arg('status', urlencode($status), $this->base_url)),
143 143
 				$current === $status ? ' class="current"' : '',
144
-				sanitize_text_field( getpaid_get_subscription_status_label( $status ) ),
144
+				sanitize_text_field(getpaid_get_subscription_status_label($status)),
145 145
 				$count
146 146
 			);
147 147
 
@@ -158,8 +158,8 @@  discard block
 block discarded – undo
158 158
 	 * @since       1.0.0
159 159
 	 * @return      string
160 160
 	 */
161
-	public function column_default( $item, $column_name ) {
162
-		return apply_filters( "getpaid_subscriptions_table_column_$column_name", $item->$column_name );
161
+	public function column_default($item, $column_name) {
162
+		return apply_filters("getpaid_subscriptions_table_column_$column_name", $item->$column_name);
163 163
 	}
164 164
 
165 165
 	/**
@@ -168,8 +168,8 @@  discard block
 block discarded – undo
168 168
 	 * @param WPInv_Subscription $item
169 169
 	 * @return string
170 170
 	 */
171
-	public function column_cb( $item ) {
172
-		return sprintf( '<input type="checkbox" name="id[]" value="%s" />', esc_html( $item->get_id() ) );
171
+	public function column_cb($item) {
172
+		return sprintf('<input type="checkbox" name="id[]" value="%s" />', esc_html($item->get_id()));
173 173
 	}
174 174
 
175 175
 	/**
@@ -179,7 +179,7 @@  discard block
 block discarded – undo
179 179
 	 * @since       1.0.0
180 180
 	 * @return      string
181 181
 	 */
182
-	public function column_status( $item ) {
182
+	public function column_status($item) {
183 183
 		return $item->get_status_label_html();
184 184
 	}
185 185
 
@@ -190,46 +190,46 @@  discard block
 block discarded – undo
190 190
 	 * @since       1.0.0
191 191
 	 * @return      string
192 192
 	 */
193
-	public function column_subscription( $item ) {
193
+	public function column_subscription($item) {
194 194
 
195
-		$username = __( '(Missing User)', 'invoicing' );
195
+		$username = __('(Missing User)', 'invoicing');
196 196
 
197
-		$user = get_userdata( $item->get_customer_id() );
198
-		if ( $user ) {
197
+		$user = get_userdata($item->get_customer_id());
198
+		if ($user) {
199 199
 
200 200
 			$username = sprintf(
201 201
 				'<a href="user-edit.php?user_id=%s">%s</a>',
202
-				absint( $user->ID ),
203
-				! empty( $user->display_name ) ? sanitize_text_field( $user->display_name ) : sanitize_email( $user->user_email )
202
+				absint($user->ID),
203
+				!empty($user->display_name) ? sanitize_text_field($user->display_name) : sanitize_email($user->user_email)
204 204
 			);
205 205
 
206 206
 		}
207 207
 
208 208
 		// translators: $1: is opening link, $2: is subscription id number, $3: is closing link tag, $4: is user's name
209 209
 		$column_content = sprintf(
210
-			_x( '%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing' ),
211
-			'<a href="' . esc_url( admin_url( 'admin.php?page=wpinv-subscriptions&id=' . absint( $item->get_id() ) ) ) . '">',
212
-			'<strong>' . esc_attr( $item->get_id() ) . '</strong>', '</a>',
210
+			_x('%1$s#%2$s%3$s for %4$s', 'Subscription title on admin table. (e.g.: #211 for John Doe)', 'invoicing'),
211
+			'<a href="' . esc_url(admin_url('admin.php?page=wpinv-subscriptions&id=' . absint($item->get_id()))) . '">',
212
+			'<strong>' . esc_attr($item->get_id()) . '</strong>', '</a>',
213 213
 			$username
214 214
 		);
215 215
 
216 216
 		$row_actions = array();
217 217
 
218 218
 		// View subscription.
219
-		$view_url    = esc_url( add_query_arg( 'id', $item->get_id(), admin_url( 'admin.php?page=wpinv-subscriptions' ) ));
220
-		$row_actions['view'] = '<a href="' . $view_url . '">' . __( 'View Subscription', 'invoicing' ) . '</a>';
219
+		$view_url    = esc_url(add_query_arg('id', $item->get_id(), admin_url('admin.php?page=wpinv-subscriptions')));
220
+		$row_actions['view'] = '<a href="' . $view_url . '">' . __('View Subscription', 'invoicing') . '</a>';
221 221
 
222 222
 		// View invoice.
223
-		$invoice = get_post( $item->get_parent_invoice_id() );
223
+		$invoice = get_post($item->get_parent_invoice_id());
224 224
 
225
-		if ( ! empty( $invoice ) ) {
226
-			$view_url    = get_edit_post_link( $invoice );
227
-			$row_actions['invoice'] = '<a href="' . $view_url . '">' . __( 'View Invoice', 'invoicing' ) . '</a>';
225
+		if (!empty($invoice)) {
226
+			$view_url = get_edit_post_link($invoice);
227
+			$row_actions['invoice'] = '<a href="' . $view_url . '">' . __('View Invoice', 'invoicing') . '</a>';
228 228
 		}
229 229
 
230
-		$row_actions = $this->row_actions( apply_filters( 'getpaid_subscription_table_row_actions', $row_actions, $item ) );
230
+		$row_actions = $this->row_actions(apply_filters('getpaid_subscription_table_row_actions', $row_actions, $item));
231 231
 
232
-		return "<strong>$column_content</strong>" . $this->column_amount( $item ) . $row_actions;
232
+		return "<strong>$column_content</strong>" . $this->column_amount($item) . $row_actions;
233 233
 	}
234 234
 
235 235
 	/**
@@ -239,8 +239,8 @@  discard block
 block discarded – undo
239 239
 	 * @since       1.0.0
240 240
 	 * @return      string
241 241
 	 */
242
-	public function column_renewal_date( $item ) {
243
-		return getpaid_format_date_value( $item->get_expiration() );
242
+	public function column_renewal_date($item) {
243
+		return getpaid_format_date_value($item->get_expiration());
244 244
 	}
245 245
 
246 246
 	/**
@@ -250,8 +250,8 @@  discard block
 block discarded – undo
250 250
 	 * @since       1.0.0
251 251
 	 * @return      string
252 252
 	 */
253
-	public function column_start_date( $item ) {
254
-		return getpaid_format_date_value( $item->get_date_created() );
253
+	public function column_start_date($item) {
254
+		return getpaid_format_date_value($item->get_date_created());
255 255
 	}
256 256
 
257 257
 	/**
@@ -261,8 +261,8 @@  discard block
 block discarded – undo
261 261
 	 * @since       1.0.19
262 262
 	 * @return      string
263 263
 	 */
264
-	public function column_amount( $item ) {
265
-		$amount = getpaid_get_formatted_subscription_amount( $item );
264
+	public function column_amount($item) {
265
+		$amount = getpaid_get_formatted_subscription_amount($item);
266 266
 		return "<span class='text-muted form-text mt-2 mb-2'>$amount</span>";
267 267
 	}
268 268
 
@@ -273,9 +273,9 @@  discard block
 block discarded – undo
273 273
 	 * @since       1.0.0
274 274
 	 * @return      string
275 275
 	 */
276
-	public function column_renewals( $item ) {
276
+	public function column_renewals($item) {
277 277
 		$max_bills = $item->get_bill_times();
278
-		return $item->get_times_billed() . ' / ' . ( empty( $max_bills ) ? "&infin;" : $max_bills );
278
+		return $item->get_times_billed() . ' / ' . (empty($max_bills) ? "&infin;" : $max_bills);
279 279
 	}
280 280
 
281 281
 	/**
@@ -285,16 +285,16 @@  discard block
 block discarded – undo
285 285
 	 * @since       1.0.0
286 286
 	 * @return      string
287 287
 	 */
288
-	public function column_item( $item ) {
289
-		$_item = get_post( $item->get_product_id() );
288
+	public function column_item($item) {
289
+		$_item = get_post($item->get_product_id());
290 290
 
291
-		if ( ! empty( $_item ) ) {
292
-			$link = get_edit_post_link( $_item );
293
-			$link = esc_url( $link );
294
-			$name = esc_html( get_the_title( $_item ) );
291
+		if (!empty($_item)) {
292
+			$link = get_edit_post_link($_item);
293
+			$link = esc_url($link);
294
+			$name = esc_html(get_the_title($_item));
295 295
 			return "<a href='$link'>$name</a>";
296 296
 		} else {
297
-			return sprintf( __( 'Item #%s', 'invoicing' ), $item->get_product_id() );
297
+			return sprintf(__('Item #%s', 'invoicing'), $item->get_product_id());
298 298
 		}
299 299
 
300 300
 	}
@@ -305,7 +305,7 @@  discard block
 block discarded – undo
305 305
 	 * @return      int
306 306
 	 */
307 307
 	public function get_paged() {
308
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
308
+		return isset($_GET['paged']) ? absint($_GET['paged']) : 1;
309 309
 	}
310 310
 
311 311
 	/**
@@ -318,13 +318,13 @@  discard block
 block discarded – undo
318 318
 		$hidden   = array();
319 319
 		$sortable = $this->get_sortable_columns();
320 320
 
321
-		$this->_column_headers = array( $columns, $hidden, $sortable );
321
+		$this->_column_headers = array($columns, $hidden, $sortable);
322 322
 
323 323
 		$this->set_pagination_args(
324 324
 			array(
325 325
 			'total_items' => $this->current_total_count,
326 326
 			'per_page'    => $this->per_page,
327
-			'total_pages' => ceil( $this->current_total_count / $this->per_page )
327
+			'total_pages' => ceil($this->current_total_count / $this->per_page)
328 328
 			)
329 329
 		);
330 330
 	}
@@ -334,18 +334,18 @@  discard block
 block discarded – undo
334 334
 	 *
335 335
 	 * @return array
336 336
 	 */
337
-	public function get_columns(){
337
+	public function get_columns() {
338 338
 		$columns = array(
339 339
 			'cb'                => '<input type="checkbox" />',
340
-			'subscription'      => __( 'Subscription', 'invoicing' ),
341
-			'start_date'        => __( 'Start Date', 'invoicing' ),
342
-			'renewal_date'      => __( 'Next Payment', 'invoicing' ),
343
-			'renewals'          => __( 'Renewals', 'invoicing' ),
344
-			'item'              => __( 'Item', 'invoicing' ),
345
-			'status'            => __( 'Status', 'invoicing' ),
340
+			'subscription'      => __('Subscription', 'invoicing'),
341
+			'start_date'        => __('Start Date', 'invoicing'),
342
+			'renewal_date'      => __('Next Payment', 'invoicing'),
343
+			'renewals'          => __('Renewals', 'invoicing'),
344
+			'item'              => __('Item', 'invoicing'),
345
+			'status'            => __('Status', 'invoicing'),
346 346
 		);
347 347
 
348
-		return apply_filters( 'manage_getpaid_subscriptions_table_columns', $columns );
348
+		return apply_filters('manage_getpaid_subscriptions_table_columns', $columns);
349 349
 	}
350 350
 
351 351
 	/**
@@ -355,15 +355,15 @@  discard block
 block discarded – undo
355 355
 	 */
356 356
 	public function get_sortable_columns() {
357 357
 		$sortable = array(
358
-			'subscription' => array( 'id', true ),
359
-			'start_date'   => array( 'created', true ),
360
-			'renewal_date' => array( 'expiration', true ),
361
-			'renewals'     => array( 'bill_times', true ),
362
-			'item'         => array( 'product_id', true ),
363
-			'status'       => array( 'status', true ),
358
+			'subscription' => array('id', true),
359
+			'start_date'   => array('created', true),
360
+			'renewal_date' => array('expiration', true),
361
+			'renewals'     => array('bill_times', true),
362
+			'item'         => array('product_id', true),
363
+			'status'       => array('status', true),
364 364
 		);
365 365
 
366
-		return apply_filters( 'manage_getpaid_subscriptions_sortable_table_columns', $sortable );
366
+		return apply_filters('manage_getpaid_subscriptions_sortable_table_columns', $sortable);
367 367
 	}
368 368
 
369 369
 	/**
@@ -372,7 +372,7 @@  discard block
 block discarded – undo
372 372
 	 * @return bool
373 373
 	 */
374 374
 	public function has_items() {
375
-		return ! empty( $this->current_total_count );
375
+		return !empty($this->current_total_count);
376 376
 	}
377 377
 
378 378
 	/**
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-payment-gateway.php 2 patches
Indentation   +568 added lines, -568 removed lines patch added patch discarded remove patch
@@ -13,449 +13,449 @@  discard block
 block discarded – undo
13 13
  */
14 14
 abstract class GetPaid_Payment_Gateway {
15 15
 
16
-	/**
17
-	 * Set if the place checkout button should be renamed on selection.
18
-	 *
19
-	 * @var string
20
-	 */
21
-	public $checkout_button_text;
22
-
23
-	/**
24
-	 * Boolean whether the method is enabled.
25
-	 *
26
-	 * @var bool
27
-	 */
28
-	public $enabled = true;
29
-
30
-	/**
31
-	 * Payment method id.
32
-	 *
33
-	 * @var string
34
-	 */
35
-	public $id;
36
-
37
-	/**
38
-	 * Payment method order.
39
-	 *
40
-	 * @var int
41
-	 */
42
-	public $order = 10;
43
-
44
-	/**
45
-	 * Payment method title for the frontend.
46
-	 *
47
-	 * @var string
48
-	 */
49
-	public $title;
50
-
51
-	/**
52
-	 * Payment method description for the frontend.
53
-	 *
54
-	 * @var string
55
-	 */
56
-	public $description;
57
-
58
-	/**
59
-	 * Gateway title.
60
-	 *
61
-	 * @var string
62
-	 */
63
-	public $method_title = '';
64
-
65
-	/**
66
-	 * Gateway description.
67
-	 *
68
-	 * @var string
69
-	 */
70
-	public $method_description = '';
71
-
72
-	/**
73
-	 * Countries this gateway is allowed for.
74
-	 *
75
-	 * @var array
76
-	 */
77
-	public $countries;
78
-
79
-	/**
80
-	 * Currencies this gateway is allowed for.
81
-	 *
82
-	 * @var array
83
-	 */
84
-	public $currencies;
85
-
86
-	/**
87
-	 * Currencies this gateway is not allowed for.
88
-	 *
89
-	 * @var array
90
-	 */
91
-	public $exclude_currencies;
92
-
93
-	/**
94
-	 * Maximum transaction amount, zero does not define a maximum.
95
-	 *
96
-	 * @var int
97
-	 */
98
-	public $max_amount = 0;
99
-
100
-	/**
101
-	 * Optional URL to view a transaction.
102
-	 *
103
-	 * @var string
104
-	 */
105
-	public $view_transaction_url = '';
106
-
107
-	/**
108
-	 * Optional URL to view a subscription.
109
-	 *
110
-	 * @var string
111
-	 */
112
-	public $view_subscription_url = '';
113
-
114
-	/**
115
-	 * Optional label to show for "new payment method" in the payment
116
-	 * method/token selection radio selection.
117
-	 *
118
-	 * @var string
119
-	 */
120
-	public $new_method_label = '';
121
-
122
-	/**
123
-	 * Contains a user's saved tokens for this gateway.
124
-	 *
125
-	 * @var array
126
-	 */
127
-	protected $tokens = array();
128
-
129
-	/**
130
-	 * An array of features that this gateway supports.
131
-	 *
132
-	 * @var array
133
-	 */
134
-	protected $supports = array();
135
-
136
-	/**
137
-	 * Class constructor.
138
-	 */
139
-	public function __construct() {
140
-		$this->enabled = wpinv_is_gateway_active( $this->id );
141
-
142
-		// Register gateway.
143
-		add_filter( 'wpinv_payment_gateways', array( $this, 'register_gateway' ) );
144
-
145
-		// Enable Subscriptions.
146
-		if ( $this->supports( 'subscription' ) ) {
147
-			add_filter( "wpinv_{$this->id}_support_subscription", '__return_true' );
148
-		}
149
-
150
-		// Enable sandbox.
151
-		if ( $this->supports( 'sandbox' ) ) {
152
-			add_filter( "wpinv_{$this->id}_supports_sandbox", '__return_true' );
153
-		}
154
-
155
-		// Gateway settings.
156
-		add_filter( "wpinv_gateway_settings_{$this->id}", array( $this, 'admin_settings' ) );
16
+    /**
17
+     * Set if the place checkout button should be renamed on selection.
18
+     *
19
+     * @var string
20
+     */
21
+    public $checkout_button_text;
22
+
23
+    /**
24
+     * Boolean whether the method is enabled.
25
+     *
26
+     * @var bool
27
+     */
28
+    public $enabled = true;
29
+
30
+    /**
31
+     * Payment method id.
32
+     *
33
+     * @var string
34
+     */
35
+    public $id;
36
+
37
+    /**
38
+     * Payment method order.
39
+     *
40
+     * @var int
41
+     */
42
+    public $order = 10;
43
+
44
+    /**
45
+     * Payment method title for the frontend.
46
+     *
47
+     * @var string
48
+     */
49
+    public $title;
50
+
51
+    /**
52
+     * Payment method description for the frontend.
53
+     *
54
+     * @var string
55
+     */
56
+    public $description;
57
+
58
+    /**
59
+     * Gateway title.
60
+     *
61
+     * @var string
62
+     */
63
+    public $method_title = '';
64
+
65
+    /**
66
+     * Gateway description.
67
+     *
68
+     * @var string
69
+     */
70
+    public $method_description = '';
71
+
72
+    /**
73
+     * Countries this gateway is allowed for.
74
+     *
75
+     * @var array
76
+     */
77
+    public $countries;
78
+
79
+    /**
80
+     * Currencies this gateway is allowed for.
81
+     *
82
+     * @var array
83
+     */
84
+    public $currencies;
85
+
86
+    /**
87
+     * Currencies this gateway is not allowed for.
88
+     *
89
+     * @var array
90
+     */
91
+    public $exclude_currencies;
92
+
93
+    /**
94
+     * Maximum transaction amount, zero does not define a maximum.
95
+     *
96
+     * @var int
97
+     */
98
+    public $max_amount = 0;
99
+
100
+    /**
101
+     * Optional URL to view a transaction.
102
+     *
103
+     * @var string
104
+     */
105
+    public $view_transaction_url = '';
106
+
107
+    /**
108
+     * Optional URL to view a subscription.
109
+     *
110
+     * @var string
111
+     */
112
+    public $view_subscription_url = '';
113
+
114
+    /**
115
+     * Optional label to show for "new payment method" in the payment
116
+     * method/token selection radio selection.
117
+     *
118
+     * @var string
119
+     */
120
+    public $new_method_label = '';
121
+
122
+    /**
123
+     * Contains a user's saved tokens for this gateway.
124
+     *
125
+     * @var array
126
+     */
127
+    protected $tokens = array();
128
+
129
+    /**
130
+     * An array of features that this gateway supports.
131
+     *
132
+     * @var array
133
+     */
134
+    protected $supports = array();
135
+
136
+    /**
137
+     * Class constructor.
138
+     */
139
+    public function __construct() {
140
+        $this->enabled = wpinv_is_gateway_active( $this->id );
141
+
142
+        // Register gateway.
143
+        add_filter( 'wpinv_payment_gateways', array( $this, 'register_gateway' ) );
144
+
145
+        // Enable Subscriptions.
146
+        if ( $this->supports( 'subscription' ) ) {
147
+            add_filter( "wpinv_{$this->id}_support_subscription", '__return_true' );
148
+        }
149
+
150
+        // Enable sandbox.
151
+        if ( $this->supports( 'sandbox' ) ) {
152
+            add_filter( "wpinv_{$this->id}_supports_sandbox", '__return_true' );
153
+        }
154
+
155
+        // Gateway settings.
156
+        add_filter( "wpinv_gateway_settings_{$this->id}", array( $this, 'admin_settings' ) );
157 157
 		
158 158
 
159
-		// Gateway checkout fiellds.
160
-		add_action( "wpinv_{$this->id}_cc_form", array( $this, 'payment_fields' ), 10, 2 );
161
-
162
-		// Process payment.
163
-		add_action( "getpaid_gateway_{$this->id}", array( $this, 'process_payment' ), 10, 3 );
159
+        // Gateway checkout fiellds.
160
+        add_action( "wpinv_{$this->id}_cc_form", array( $this, 'payment_fields' ), 10, 2 );
161
+
162
+        // Process payment.
163
+        add_action( "getpaid_gateway_{$this->id}", array( $this, 'process_payment' ), 10, 3 );
164
+
165
+        // Change the checkout button text.
166
+        if ( ! empty( $this->checkout_button_text ) ) {
167
+            add_filter( "getpaid_gateway_{$this->id}_checkout_button_label", array( $this, 'rename_checkout_button' ) );
168
+        }
169
+
170
+        // Check if a gateway is valid for a given currency.
171
+        add_filter( "getpaid_gateway_{$this->id}_is_valid_for_currency", array( $this, 'validate_currency' ), 10, 2 );
172
+
173
+        // Generate the transaction url.
174
+        add_filter( "getpaid_gateway_{$this->id}_transaction_url", array( $this, 'filter_transaction_url' ), 10, 2 );
175
+
176
+        // Generate the subscription url.
177
+        add_filter( "getpaid_gateway_{$this->id}_subscription_url", array( $this, 'filter_subscription_url' ), 10, 2 );
178
+
179
+        // Confirm payments.
180
+        add_filter( "wpinv_payment_confirm_{$this->id}", array( $this, 'confirm_payment' ), 10, 2 );
181
+
182
+        // Verify IPNs.
183
+        add_action( "wpinv_verify_{$this->id}_ipn", array( $this, 'verify_ipn' ) );
184
+
185
+    }
186
+
187
+    /**
188
+     * Checks if this gateway is a given gateway.
189
+     *
190
+     * @since 1.0.19
191
+     * @return bool
192
+     */
193
+    public function is( $gateway ) {
194
+        return $gateway == $this->id;
195
+    }
196
+
197
+    /**
198
+     * Returns a users saved tokens for this gateway.
199
+     *
200
+     * @since 1.0.19
201
+     * @return array
202
+     */
203
+    public function get_tokens( $sandbox = null ) {
204
+
205
+        if ( is_user_logged_in() && $this->supports( 'tokens' ) && 0 == count( $this->tokens ) ) {
206
+            $tokens = get_user_meta( get_current_user_id(), "getpaid_{$this->id}_tokens", true );
207
+
208
+            if ( is_array( $tokens ) ) {
209
+                $this->tokens = $tokens;
210
+            }
211
+
212
+        }
213
+
214
+        if ( ! is_bool( $sandbox ) ) {
215
+            return $this->tokens;
216
+        }
217
+
218
+        $args = array( 'type' => $sandbox ? 'sandbox' : 'live' );
219
+        return wp_list_filter( $this->tokens, $args );
220
+
221
+    }
222
+
223
+    /**
224
+     * Saves a token for this gateway.
225
+     *
226
+     * @since 1.0.19
227
+     */
228
+    public function save_token( $token ) {
164 229
 
165
-		// Change the checkout button text.
166
-		if ( ! empty( $this->checkout_button_text ) ) {
167
-			add_filter( "getpaid_gateway_{$this->id}_checkout_button_label", array( $this, 'rename_checkout_button' ) );
168
-		}
169
-
170
-		// Check if a gateway is valid for a given currency.
171
-		add_filter( "getpaid_gateway_{$this->id}_is_valid_for_currency", array( $this, 'validate_currency' ), 10, 2 );
172
-
173
-		// Generate the transaction url.
174
-		add_filter( "getpaid_gateway_{$this->id}_transaction_url", array( $this, 'filter_transaction_url' ), 10, 2 );
175
-
176
-		// Generate the subscription url.
177
-		add_filter( "getpaid_gateway_{$this->id}_subscription_url", array( $this, 'filter_subscription_url' ), 10, 2 );
178
-
179
-		// Confirm payments.
180
-		add_filter( "wpinv_payment_confirm_{$this->id}", array( $this, 'confirm_payment' ), 10, 2 );
181
-
182
-		// Verify IPNs.
183
-		add_action( "wpinv_verify_{$this->id}_ipn", array( $this, 'verify_ipn' ) );
184
-
185
-	}
186
-
187
-	/**
188
-	 * Checks if this gateway is a given gateway.
189
-	 *
190
-	 * @since 1.0.19
191
-	 * @return bool
192
-	 */
193
-	public function is( $gateway ) {
194
-		return $gateway == $this->id;
195
-	}
196
-
197
-	/**
198
-	 * Returns a users saved tokens for this gateway.
199
-	 *
200
-	 * @since 1.0.19
201
-	 * @return array
202
-	 */
203
-	public function get_tokens( $sandbox = null ) {
204
-
205
-		if ( is_user_logged_in() && $this->supports( 'tokens' ) && 0 == count( $this->tokens ) ) {
206
-			$tokens = get_user_meta( get_current_user_id(), "getpaid_{$this->id}_tokens", true );
207
-
208
-			if ( is_array( $tokens ) ) {
209
-				$this->tokens = $tokens;
210
-			}
211
-
212
-		}
213
-
214
-		if ( ! is_bool( $sandbox ) ) {
215
-			return $this->tokens;
216
-		}
217
-
218
-		$args = array( 'type' => $sandbox ? 'sandbox' : 'live' );
219
-		return wp_list_filter( $this->tokens, $args );
220
-
221
-	}
222
-
223
-	/**
224
-	 * Saves a token for this gateway.
225
-	 *
226
-	 * @since 1.0.19
227
-	 */
228
-	public function save_token( $token ) {
229
-
230
-		$tokens   = $this->get_tokens();
231
-		$tokens[] = $token;
232
-
233
-		update_user_meta( get_current_user_id(), "getpaid_{$this->id}_tokens", $tokens );
234
-
235
-		$this->tokens = $tokens;
236
-
237
-	}
238
-
239
-	/**
240
-	 * Return the title for admin screens.
241
-	 *
242
-	 * @return string
243
-	 */
244
-	public function get_method_title() {
245
-		return apply_filters( 'getpaid_gateway_method_title', $this->method_title, $this );
246
-	}
247
-
248
-	/**
249
-	 * Return the description for admin screens.
250
-	 *
251
-	 * @return string
252
-	 */
253
-	public function get_method_description() {
254
-		return apply_filters( 'getpaid_gateway_method_description', $this->method_description, $this );
255
-	}
256
-
257
-	/**
258
-	 * Get the success url.
259
-	 *
260
-	 * @param WPInv_Invoice $invoice Invoice object.
261
-	 * @return string
262
-	 */
263
-	public function get_return_url( $invoice ) {
264
-
265
-		// Payment success url
266
-		$return_url = add_query_arg(
267
-			array(
268
-				'payment-confirm' => $this->id,
269
-				'invoice_key'     => $invoice->get_key(),
270
-				'utm_nooverride'  => 1
271
-			),
272
-			wpinv_get_success_page_uri()
273
-		);
274
-
275
-		return apply_filters( 'getpaid_gateway_success_url', $return_url, $invoice, $this );
276
-	}
277
-
278
-	/**
279
-	 * Confirms payments when rendering the success page.
280
-	 *
281
-	 * @param string $content Success page content.
282
-	 * @return string
283
-	 */
284
-	public function get_confirm_payment( $content ) {
230
+        $tokens   = $this->get_tokens();
231
+        $tokens[] = $token;
232
+
233
+        update_user_meta( get_current_user_id(), "getpaid_{$this->id}_tokens", $tokens );
234
+
235
+        $this->tokens = $tokens;
236
+
237
+    }
238
+
239
+    /**
240
+     * Return the title for admin screens.
241
+     *
242
+     * @return string
243
+     */
244
+    public function get_method_title() {
245
+        return apply_filters( 'getpaid_gateway_method_title', $this->method_title, $this );
246
+    }
247
+
248
+    /**
249
+     * Return the description for admin screens.
250
+     *
251
+     * @return string
252
+     */
253
+    public function get_method_description() {
254
+        return apply_filters( 'getpaid_gateway_method_description', $this->method_description, $this );
255
+    }
256
+
257
+    /**
258
+     * Get the success url.
259
+     *
260
+     * @param WPInv_Invoice $invoice Invoice object.
261
+     * @return string
262
+     */
263
+    public function get_return_url( $invoice ) {
264
+
265
+        // Payment success url
266
+        $return_url = add_query_arg(
267
+            array(
268
+                'payment-confirm' => $this->id,
269
+                'invoice_key'     => $invoice->get_key(),
270
+                'utm_nooverride'  => 1
271
+            ),
272
+            wpinv_get_success_page_uri()
273
+        );
274
+
275
+        return apply_filters( 'getpaid_gateway_success_url', $return_url, $invoice, $this );
276
+    }
277
+
278
+    /**
279
+     * Confirms payments when rendering the success page.
280
+     *
281
+     * @param string $content Success page content.
282
+     * @return string
283
+     */
284
+    public function get_confirm_payment( $content ) {
285 285
 		
286
-		// Retrieve the invoice.
287
-		$invoice_id = getpaid_get_current_invoice_id();
288
-		$invoice    = wpinv_get_invoice( $invoice_id );
286
+        // Retrieve the invoice.
287
+        $invoice_id = getpaid_get_current_invoice_id();
288
+        $invoice    = wpinv_get_invoice( $invoice_id );
289 289
 	
290
-		// Ensure that it exists and that it is pending payment.
291
-		if ( empty( $invoice_id ) || ! $invoice->needs_payment() ) {
292
-			return $content;
293
-		}
290
+        // Ensure that it exists and that it is pending payment.
291
+        if ( empty( $invoice_id ) || ! $invoice->needs_payment() ) {
292
+            return $content;
293
+        }
294 294
 	
295
-		// Can the user view this invoice??
296
-		if ( ! wpinv_user_can_view_invoice( $invoice ) ) {
297
-			return $content;
298
-		}
295
+        // Can the user view this invoice??
296
+        if ( ! wpinv_user_can_view_invoice( $invoice ) ) {
297
+            return $content;
298
+        }
299 299
 	
300
-		// Show payment processing indicator.
301
-		return wpinv_get_template_html( 'wpinv-payment-processing.php', compact( 'invoice' ) );
302
-	}
303
-
304
-	/**
305
-	 * Processes ipns and marks payments as complete.
306
-	 *
307
-	 * @return void
308
-	 */
309
-	public function verify_ipn() {}
310
-
311
-	/**
312
-	 * Get a link to the transaction on the 3rd party gateway site (if applicable).
313
-	 *
314
-	 * @param string $transaction_url transaction url.
315
-	 * @param WPInv_Invoice $invoice Invoice object.
316
-	 * @return string transaction URL, or empty string.
317
-	 */
318
-	public function filter_transaction_url( $transaction_url, $invoice ) {
319
-
320
-		$transaction_id  = $invoice->get_transaction_id();
321
-
322
-		if ( ! empty( $this->view_transaction_url ) && ! empty( $transaction_id ) ) {
323
-			$transaction_url = sprintf( $this->view_transaction_url, $transaction_id );
324
-			$replace         = $this->is_sandbox( $invoice ) ? 'sandbox' : '';
325
-			$transaction_url = str_replace( '{sandbox}', $replace, $transaction_url );
326
-		}
327
-
328
-		return $transaction_url;
329
-	}
330
-
331
-	/**
332
-	 * Get a link to the subscription on the 3rd party gateway site (if applicable).
333
-	 *
334
-	 * @param string $subscription_url transaction url.
335
-	 * @param WPInv_Invoice $invoice Invoice object.
336
-	 * @return string subscription URL, or empty string.
337
-	 */
338
-	public function filter_subscription_url( $subscription_url, $invoice ) {
339
-
340
-		$profile_id      = $invoice->get_subscription_id();
341
-
342
-		if ( ! empty( $this->view_subscription_url ) && ! empty( $profile_id ) ) {
343
-
344
-			$subscription_url = sprintf( $this->view_subscription_url, $profile_id );
345
-			$replace          = $this->is_sandbox( $invoice ) ? 'sandbox' : '';
346
-			$subscription_url = str_replace( '{sandbox}', $replace, $subscription_url );
347
-
348
-		}
349
-
350
-		return $subscription_url;
351
-	}
352
-
353
-	/**
354
-	 * Check if the gateway is available for use.
355
-	 *
356
-	 * @return bool
357
-	 */
358
-	public function is_available() {
359
-		return ! empty( $this->enabled );
360
-	}
361
-
362
-	/**
363
-	 * Return the gateway's title.
364
-	 *
365
-	 * @return string
366
-	 */
367
-	public function get_title() {
368
-		return apply_filters( 'getpaid_gateway_title', $this->title, $this );
369
-	}
370
-
371
-	/**
372
-	 * Return the gateway's description.
373
-	 *
374
-	 * @return string
375
-	 */
376
-	public function get_description() {
377
-		return apply_filters( 'getpaid_gateway_description', $this->description, $this );
378
-	}
379
-
380
-	/**
381
-	 * Process Payment.
382
-	 *
383
-	 *
384
-	 * @param WPInv_Invoice $invoice Invoice.
385
-	 * @param array $submission_data Posted checkout fields.
386
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
387
-	 * @return void
388
-	 */
389
-	public function process_payment( $invoice, $submission_data, $submission ) {
390
-		// Process the payment then either redirect to the success page or the gateway.
391
-		do_action( 'getpaid_process_invoice_payment_' . $this->id, $invoice, $submission_data, $submission );
392
-	}
393
-
394
-	/**
395
-	 * Process refund.
396
-	 *
397
-	 * If the gateway declares 'refunds' support, this will allow it to refund.
398
-	 * a passed in amount.
399
-	 *
400
-	 * @param WPInv_Invoice $invoice Invoice.
401
-	 * @param  float  $amount Refund amount.
402
-	 * @param  string $reason Refund reason.
403
-	 * @return WP_Error|bool True or false based on success, or a WP_Error object.
404
-	 */
405
-	public function process_refund( $invoice, $amount = null, $reason = '' ) {
406
-		return apply_filters( 'getpaid_process_invoice_refund_' . $this->id, false, $invoice, $amount, $reason );
407
-	}
408
-
409
-	/**
410
-	 * Displays the payment fields, credit cards etc.
411
-	 * 
412
-	 * @param int $invoice_id 0 or invoice id.
413
-	 * @param GetPaid_Payment_Form $form Current payment form.
414
-	 */
415
-	public function payment_fields( $invoice_id, $form ) {
416
-		do_action( 'getpaid_getpaid_gateway_payment_fields_' . $this->id, $invoice_id, $form );
417
-	}
418
-
419
-	/**
420
-	 * Filters the gateway settings.
421
-	 * 
422
-	 * @param array $admin_settings
423
-	 */
424
-	public function admin_settings( $admin_settings ) {
425
-		return $admin_settings;
426
-	}
427
-
428
-	/**
429
-	 * Retrieves the value of a gateway setting.
430
-	 * 
431
-	 * @param string $option
432
-	 */
433
-	public function get_option( $option, $default = false ) {
434
-		return wpinv_get_option( $this->id . '_' . $option, $default );
435
-	}
436
-
437
-	/**
438
-	 * Check if a gateway supports a given feature.
439
-	 *
440
-	 * Gateways should override this to declare support (or lack of support) for a feature.
441
-	 * For backward compatibility, gateways support 'products' by default, but nothing else.
442
-	 *
443
-	 * @param string $feature string The name of a feature to test support for.
444
-	 * @return bool True if the gateway supports the feature, false otherwise.
445
-	 * @since 1.0.19
446
-	 */
447
-	public function supports( $feature ) {
448
-		return apply_filters( 'getpaid_payment_gateway_supports', in_array( $feature, $this->supports ), $feature, $this );
449
-	}
450
-
451
-	/**
452
-	 * Returns the credit card form html.
453
-	 * 
454
-	 * @param bool $save whether or not to display the save button.
455
-	 */
300
+        // Show payment processing indicator.
301
+        return wpinv_get_template_html( 'wpinv-payment-processing.php', compact( 'invoice' ) );
302
+    }
303
+
304
+    /**
305
+     * Processes ipns and marks payments as complete.
306
+     *
307
+     * @return void
308
+     */
309
+    public function verify_ipn() {}
310
+
311
+    /**
312
+     * Get a link to the transaction on the 3rd party gateway site (if applicable).
313
+     *
314
+     * @param string $transaction_url transaction url.
315
+     * @param WPInv_Invoice $invoice Invoice object.
316
+     * @return string transaction URL, or empty string.
317
+     */
318
+    public function filter_transaction_url( $transaction_url, $invoice ) {
319
+
320
+        $transaction_id  = $invoice->get_transaction_id();
321
+
322
+        if ( ! empty( $this->view_transaction_url ) && ! empty( $transaction_id ) ) {
323
+            $transaction_url = sprintf( $this->view_transaction_url, $transaction_id );
324
+            $replace         = $this->is_sandbox( $invoice ) ? 'sandbox' : '';
325
+            $transaction_url = str_replace( '{sandbox}', $replace, $transaction_url );
326
+        }
327
+
328
+        return $transaction_url;
329
+    }
330
+
331
+    /**
332
+     * Get a link to the subscription on the 3rd party gateway site (if applicable).
333
+     *
334
+     * @param string $subscription_url transaction url.
335
+     * @param WPInv_Invoice $invoice Invoice object.
336
+     * @return string subscription URL, or empty string.
337
+     */
338
+    public function filter_subscription_url( $subscription_url, $invoice ) {
339
+
340
+        $profile_id      = $invoice->get_subscription_id();
341
+
342
+        if ( ! empty( $this->view_subscription_url ) && ! empty( $profile_id ) ) {
343
+
344
+            $subscription_url = sprintf( $this->view_subscription_url, $profile_id );
345
+            $replace          = $this->is_sandbox( $invoice ) ? 'sandbox' : '';
346
+            $subscription_url = str_replace( '{sandbox}', $replace, $subscription_url );
347
+
348
+        }
349
+
350
+        return $subscription_url;
351
+    }
352
+
353
+    /**
354
+     * Check if the gateway is available for use.
355
+     *
356
+     * @return bool
357
+     */
358
+    public function is_available() {
359
+        return ! empty( $this->enabled );
360
+    }
361
+
362
+    /**
363
+     * Return the gateway's title.
364
+     *
365
+     * @return string
366
+     */
367
+    public function get_title() {
368
+        return apply_filters( 'getpaid_gateway_title', $this->title, $this );
369
+    }
370
+
371
+    /**
372
+     * Return the gateway's description.
373
+     *
374
+     * @return string
375
+     */
376
+    public function get_description() {
377
+        return apply_filters( 'getpaid_gateway_description', $this->description, $this );
378
+    }
379
+
380
+    /**
381
+     * Process Payment.
382
+     *
383
+     *
384
+     * @param WPInv_Invoice $invoice Invoice.
385
+     * @param array $submission_data Posted checkout fields.
386
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
387
+     * @return void
388
+     */
389
+    public function process_payment( $invoice, $submission_data, $submission ) {
390
+        // Process the payment then either redirect to the success page or the gateway.
391
+        do_action( 'getpaid_process_invoice_payment_' . $this->id, $invoice, $submission_data, $submission );
392
+    }
393
+
394
+    /**
395
+     * Process refund.
396
+     *
397
+     * If the gateway declares 'refunds' support, this will allow it to refund.
398
+     * a passed in amount.
399
+     *
400
+     * @param WPInv_Invoice $invoice Invoice.
401
+     * @param  float  $amount Refund amount.
402
+     * @param  string $reason Refund reason.
403
+     * @return WP_Error|bool True or false based on success, or a WP_Error object.
404
+     */
405
+    public function process_refund( $invoice, $amount = null, $reason = '' ) {
406
+        return apply_filters( 'getpaid_process_invoice_refund_' . $this->id, false, $invoice, $amount, $reason );
407
+    }
408
+
409
+    /**
410
+     * Displays the payment fields, credit cards etc.
411
+     * 
412
+     * @param int $invoice_id 0 or invoice id.
413
+     * @param GetPaid_Payment_Form $form Current payment form.
414
+     */
415
+    public function payment_fields( $invoice_id, $form ) {
416
+        do_action( 'getpaid_getpaid_gateway_payment_fields_' . $this->id, $invoice_id, $form );
417
+    }
418
+
419
+    /**
420
+     * Filters the gateway settings.
421
+     * 
422
+     * @param array $admin_settings
423
+     */
424
+    public function admin_settings( $admin_settings ) {
425
+        return $admin_settings;
426
+    }
427
+
428
+    /**
429
+     * Retrieves the value of a gateway setting.
430
+     * 
431
+     * @param string $option
432
+     */
433
+    public function get_option( $option, $default = false ) {
434
+        return wpinv_get_option( $this->id . '_' . $option, $default );
435
+    }
436
+
437
+    /**
438
+     * Check if a gateway supports a given feature.
439
+     *
440
+     * Gateways should override this to declare support (or lack of support) for a feature.
441
+     * For backward compatibility, gateways support 'products' by default, but nothing else.
442
+     *
443
+     * @param string $feature string The name of a feature to test support for.
444
+     * @return bool True if the gateway supports the feature, false otherwise.
445
+     * @since 1.0.19
446
+     */
447
+    public function supports( $feature ) {
448
+        return apply_filters( 'getpaid_payment_gateway_supports', in_array( $feature, $this->supports ), $feature, $this );
449
+    }
450
+
451
+    /**
452
+     * Returns the credit card form html.
453
+     * 
454
+     * @param bool $save whether or not to display the save button.
455
+     */
456 456
     public function get_cc_form( $save = false ) {
457 457
 
458
-		ob_start();
458
+        ob_start();
459 459
 
460 460
         $id_prefix = esc_attr( uniqid( $this->id ) );
461 461
 
@@ -561,175 +561,175 @@  discard block
 block discarded – undo
561 561
 					
562 562
 					<?php
563 563
 
564
-						if ( $save ) {
565
-							echo $this->save_payment_method_checkbox();
566
-						}
564
+                        if ( $save ) {
565
+                            echo $this->save_payment_method_checkbox();
566
+                        }
567 567
 
568
-					?>
568
+                    ?>
569 569
                 </div>
570 570
 
571 571
             </div>
572 572
 		<?php
573 573
 		
574
-		return ob_get_clean();
574
+        return ob_get_clean();
575
+
576
+    }
577
+
578
+    /**
579
+     * Displays a new payment method entry form.
580
+     *
581
+     * @since 1.0.19
582
+     */
583
+    public function new_payment_method_entry( $form ) {
584
+        echo "<div class='getpaid-new-payment-method-form' style='display:none;'>$form</div>";
585
+    }
586
+
587
+    /**
588
+     * Grab and display our saved payment methods.
589
+     *
590
+     * @since 1.0.19
591
+     */
592
+    public function saved_payment_methods() {
593
+        $html = '<ul class="getpaid-saved-payment-methods m-0 mt-2" data-count="' . esc_attr( count( $this->get_tokens( $this->is_sandbox() ) ) ) . '">';
594
+
595
+        foreach ( $this->get_tokens( $this->is_sandbox() ) as $token ) {
596
+            $html .= $this->get_saved_payment_method_option_html( $token );
597
+        }
575 598
 
599
+        $html .= $this->get_new_payment_method_option_html();
600
+        $html .= '</ul>';
601
+
602
+        echo apply_filters( 'getpaid_payment_gateway_form_saved_payment_methods_html', $html, $this );
576 603
     }
577 604
 
578
-	/**
579
-	 * Displays a new payment method entry form.
580
-	 *
581
-	 * @since 1.0.19
582
-	 */
583
-	public function new_payment_method_entry( $form ) {
584
-		echo "<div class='getpaid-new-payment-method-form' style='display:none;'>$form</div>";
585
-	}
586
-
587
-	/**
588
-	 * Grab and display our saved payment methods.
589
-	 *
590
-	 * @since 1.0.19
591
-	 */
592
-	public function saved_payment_methods() {
593
-		$html = '<ul class="getpaid-saved-payment-methods m-0 mt-2" data-count="' . esc_attr( count( $this->get_tokens( $this->is_sandbox() ) ) ) . '">';
594
-
595
-		foreach ( $this->get_tokens( $this->is_sandbox() ) as $token ) {
596
-			$html .= $this->get_saved_payment_method_option_html( $token );
597
-		}
598
-
599
-		$html .= $this->get_new_payment_method_option_html();
600
-		$html .= '</ul>';
601
-
602
-		echo apply_filters( 'getpaid_payment_gateway_form_saved_payment_methods_html', $html, $this );
603
-	}
604
-
605
-	/**
606
-	 * Gets saved payment method HTML from a token.
607
-	 *
608
-	 * @since 1.0.19
609
-	 * @param  array $token Payment Token.
610
-	 * @return string Generated payment method HTML
611
-	 */
612
-	public function get_saved_payment_method_option_html( $token ) {
613
-
614
-		return sprintf(
615
-			'<li class="getpaid-payment-method form-group">
605
+    /**
606
+     * Gets saved payment method HTML from a token.
607
+     *
608
+     * @since 1.0.19
609
+     * @param  array $token Payment Token.
610
+     * @return string Generated payment method HTML
611
+     */
612
+    public function get_saved_payment_method_option_html( $token ) {
613
+
614
+        return sprintf(
615
+            '<li class="getpaid-payment-method form-group">
616 616
 				<label>
617 617
 					<input name="getpaid-%1$s-payment-method" type="radio" value="%2$s" style="width:auto;" class="getpaid-saved-payment-method-token-input" %4$s />
618 618
 					<span>%3$s</span>
619 619
 				</label>
620 620
 			</li>',
621
-			esc_attr( $this->id ),
622
-			esc_attr( $token['id'] ),
623
-			esc_html( $token['name'] ),
624
-			checked( empty( $token['default'] ), false, false )
625
-		);
621
+            esc_attr( $this->id ),
622
+            esc_attr( $token['id'] ),
623
+            esc_html( $token['name'] ),
624
+            checked( empty( $token['default'] ), false, false )
625
+        );
626 626
 
627
-	}
627
+    }
628 628
 
629
-	/**
630
-	 * Displays a radio button for entering a new payment method (new CC details) instead of using a saved method.
631
-	 *
632
-	 * @since 1.0.19
633
-	 */
634
-	public function get_new_payment_method_option_html() {
629
+    /**
630
+     * Displays a radio button for entering a new payment method (new CC details) instead of using a saved method.
631
+     *
632
+     * @since 1.0.19
633
+     */
634
+    public function get_new_payment_method_option_html() {
635 635
 
636
-		$label = apply_filters( 'getpaid_new_payment_method_label', $this->new_method_label ? $this->new_method_label : __( 'Use a new payment method', 'invoicing' ), $this );
636
+        $label = apply_filters( 'getpaid_new_payment_method_label', $this->new_method_label ? $this->new_method_label : __( 'Use a new payment method', 'invoicing' ), $this );
637 637
 
638
-		return sprintf(
639
-			'<li class="getpaid-new-payment-method">
638
+        return sprintf(
639
+            '<li class="getpaid-new-payment-method">
640 640
 				<label>
641 641
 					<input name="getpaid-%1$s-payment-method" type="radio" value="new" style="width:auto;" />
642 642
 					<span>%2$s</span>
643 643
 				</label>
644 644
 			</li>',
645
-			esc_attr( $this->id ),
646
-			esc_html( $label )
647
-		);
645
+            esc_attr( $this->id ),
646
+            esc_html( $label )
647
+        );
648 648
 
649
-	}
649
+    }
650 650
 
651
-	/**
652
-	 * Outputs a checkbox for saving a new payment method to the database.
653
-	 *
654
-	 * @since 1.0.19
655
-	 */
656
-	public function save_payment_method_checkbox() {
651
+    /**
652
+     * Outputs a checkbox for saving a new payment method to the database.
653
+     *
654
+     * @since 1.0.19
655
+     */
656
+    public function save_payment_method_checkbox() {
657 657
 
658
-		return sprintf(
659
-			'<p class="form-group getpaid-save-payment-method">
658
+        return sprintf(
659
+            '<p class="form-group getpaid-save-payment-method">
660 660
 				<label>
661 661
 					<input name="getpaid-%1$s-new-payment-method" type="checkbox" value="true" style="width:auto;" />
662 662
 					<span>%2$s</span>
663 663
 				</label>
664 664
 			</p>',
665
-			esc_attr( $this->id ),
666
-			esc_html__( 'Save payment method', 'invoicing' )
667
-		);
665
+            esc_attr( $this->id ),
666
+            esc_html__( 'Save payment method', 'invoicing' )
667
+        );
668 668
 
669
-	}
669
+    }
670 670
 
671
-	/**
672
-	 * Registers the gateway.
673
-	 *
674
-	 * @return array
675
-	 */
676
-	public function register_gateway( $gateways ) {
671
+    /**
672
+     * Registers the gateway.
673
+     *
674
+     * @return array
675
+     */
676
+    public function register_gateway( $gateways ) {
677 677
 
678
-		$gateways[ $this->id ] = array(
678
+        $gateways[ $this->id ] = array(
679 679
 
680
-			'admin_label'    => $this->method_title,
680
+            'admin_label'    => $this->method_title,
681 681
             'checkout_label' => $this->title,
682
-			'ordering'       => $this->order,
683
-
684
-		);
685
-
686
-		return $gateways;
687
-
688
-	}
689
-
690
-	/**
691
-	 * Checks whether or not this is a sandbox request.
692
-	 *
693
-	 * @param  WPInv_Invoice|null $invoice Invoice object or null.
694
-	 * @return bool
695
-	 */
696
-	public function is_sandbox( $invoice = null ) {
697
-
698
-		if ( ! empty( $invoice ) && ! $invoice->needs_payment() ) {
699
-			return $invoice->get_mode() == 'test';
700
-		}
701
-
702
-		return wpinv_is_test_mode( $this->id );
703
-
704
-	}
705
-
706
-	/**
707
-	 * Renames the checkout button
708
-	 *
709
-	 * @return string
710
-	 */
711
-	public function rename_checkout_button() {
712
-		return $this->checkout_button_text;
713
-	}
714
-
715
-	/**
716
-	 * Validate gateway currency
717
-	 *
718
-	 * @return bool
719
-	 */
720
-	public function validate_currency( $validation, $currency ) {
721
-
722
-		// Required currencies.
723
-		if ( ! empty( $this->currencies ) && ! in_array( $currency, $this->currencies ) ) {
724
-			return false;
725
-		}
726
-
727
-		// Excluded currencies.
728
-		if ( ! empty( $this->exclude_currencies ) && in_array( $currency, $this->exclude_currencies ) ) {
729
-			return false;
730
-		}
731
-
732
-		return $validation;
733
-	}
682
+            'ordering'       => $this->order,
683
+
684
+        );
685
+
686
+        return $gateways;
687
+
688
+    }
689
+
690
+    /**
691
+     * Checks whether or not this is a sandbox request.
692
+     *
693
+     * @param  WPInv_Invoice|null $invoice Invoice object or null.
694
+     * @return bool
695
+     */
696
+    public function is_sandbox( $invoice = null ) {
697
+
698
+        if ( ! empty( $invoice ) && ! $invoice->needs_payment() ) {
699
+            return $invoice->get_mode() == 'test';
700
+        }
701
+
702
+        return wpinv_is_test_mode( $this->id );
703
+
704
+    }
705
+
706
+    /**
707
+     * Renames the checkout button
708
+     *
709
+     * @return string
710
+     */
711
+    public function rename_checkout_button() {
712
+        return $this->checkout_button_text;
713
+    }
714
+
715
+    /**
716
+     * Validate gateway currency
717
+     *
718
+     * @return bool
719
+     */
720
+    public function validate_currency( $validation, $currency ) {
721
+
722
+        // Required currencies.
723
+        if ( ! empty( $this->currencies ) && ! in_array( $currency, $this->currencies ) ) {
724
+            return false;
725
+        }
726
+
727
+        // Excluded currencies.
728
+        if ( ! empty( $this->exclude_currencies ) && in_array( $currency, $this->exclude_currencies ) ) {
729
+            return false;
730
+        }
731
+
732
+        return $validation;
733
+    }
734 734
 
735 735
 }
Please login to merge, or discard this patch.
Spacing   +117 added lines, -117 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Abstaract Payment Gateway class.
@@ -137,50 +137,50 @@  discard block
 block discarded – undo
137 137
 	 * Class constructor.
138 138
 	 */
139 139
 	public function __construct() {
140
-		$this->enabled = wpinv_is_gateway_active( $this->id );
140
+		$this->enabled = wpinv_is_gateway_active($this->id);
141 141
 
142 142
 		// Register gateway.
143
-		add_filter( 'wpinv_payment_gateways', array( $this, 'register_gateway' ) );
143
+		add_filter('wpinv_payment_gateways', array($this, 'register_gateway'));
144 144
 
145 145
 		// Enable Subscriptions.
146
-		if ( $this->supports( 'subscription' ) ) {
147
-			add_filter( "wpinv_{$this->id}_support_subscription", '__return_true' );
146
+		if ($this->supports('subscription')) {
147
+			add_filter("wpinv_{$this->id}_support_subscription", '__return_true');
148 148
 		}
149 149
 
150 150
 		// Enable sandbox.
151
-		if ( $this->supports( 'sandbox' ) ) {
152
-			add_filter( "wpinv_{$this->id}_supports_sandbox", '__return_true' );
151
+		if ($this->supports('sandbox')) {
152
+			add_filter("wpinv_{$this->id}_supports_sandbox", '__return_true');
153 153
 		}
154 154
 
155 155
 		// Gateway settings.
156
-		add_filter( "wpinv_gateway_settings_{$this->id}", array( $this, 'admin_settings' ) );
156
+		add_filter("wpinv_gateway_settings_{$this->id}", array($this, 'admin_settings'));
157 157
 		
158 158
 
159 159
 		// Gateway checkout fiellds.
160
-		add_action( "wpinv_{$this->id}_cc_form", array( $this, 'payment_fields' ), 10, 2 );
160
+		add_action("wpinv_{$this->id}_cc_form", array($this, 'payment_fields'), 10, 2);
161 161
 
162 162
 		// Process payment.
163
-		add_action( "getpaid_gateway_{$this->id}", array( $this, 'process_payment' ), 10, 3 );
163
+		add_action("getpaid_gateway_{$this->id}", array($this, 'process_payment'), 10, 3);
164 164
 
165 165
 		// Change the checkout button text.
166
-		if ( ! empty( $this->checkout_button_text ) ) {
167
-			add_filter( "getpaid_gateway_{$this->id}_checkout_button_label", array( $this, 'rename_checkout_button' ) );
166
+		if (!empty($this->checkout_button_text)) {
167
+			add_filter("getpaid_gateway_{$this->id}_checkout_button_label", array($this, 'rename_checkout_button'));
168 168
 		}
169 169
 
170 170
 		// Check if a gateway is valid for a given currency.
171
-		add_filter( "getpaid_gateway_{$this->id}_is_valid_for_currency", array( $this, 'validate_currency' ), 10, 2 );
171
+		add_filter("getpaid_gateway_{$this->id}_is_valid_for_currency", array($this, 'validate_currency'), 10, 2);
172 172
 
173 173
 		// Generate the transaction url.
174
-		add_filter( "getpaid_gateway_{$this->id}_transaction_url", array( $this, 'filter_transaction_url' ), 10, 2 );
174
+		add_filter("getpaid_gateway_{$this->id}_transaction_url", array($this, 'filter_transaction_url'), 10, 2);
175 175
 
176 176
 		// Generate the subscription url.
177
-		add_filter( "getpaid_gateway_{$this->id}_subscription_url", array( $this, 'filter_subscription_url' ), 10, 2 );
177
+		add_filter("getpaid_gateway_{$this->id}_subscription_url", array($this, 'filter_subscription_url'), 10, 2);
178 178
 
179 179
 		// Confirm payments.
180
-		add_filter( "wpinv_payment_confirm_{$this->id}", array( $this, 'confirm_payment' ), 10, 2 );
180
+		add_filter("wpinv_payment_confirm_{$this->id}", array($this, 'confirm_payment'), 10, 2);
181 181
 
182 182
 		// Verify IPNs.
183
-		add_action( "wpinv_verify_{$this->id}_ipn", array( $this, 'verify_ipn' ) );
183
+		add_action("wpinv_verify_{$this->id}_ipn", array($this, 'verify_ipn'));
184 184
 
185 185
 	}
186 186
 
@@ -190,7 +190,7 @@  discard block
 block discarded – undo
190 190
 	 * @since 1.0.19
191 191
 	 * @return bool
192 192
 	 */
193
-	public function is( $gateway ) {
193
+	public function is($gateway) {
194 194
 		return $gateway == $this->id;
195 195
 	}
196 196
 
@@ -200,23 +200,23 @@  discard block
 block discarded – undo
200 200
 	 * @since 1.0.19
201 201
 	 * @return array
202 202
 	 */
203
-	public function get_tokens( $sandbox = null ) {
203
+	public function get_tokens($sandbox = null) {
204 204
 
205
-		if ( is_user_logged_in() && $this->supports( 'tokens' ) && 0 == count( $this->tokens ) ) {
206
-			$tokens = get_user_meta( get_current_user_id(), "getpaid_{$this->id}_tokens", true );
205
+		if (is_user_logged_in() && $this->supports('tokens') && 0 == count($this->tokens)) {
206
+			$tokens = get_user_meta(get_current_user_id(), "getpaid_{$this->id}_tokens", true);
207 207
 
208
-			if ( is_array( $tokens ) ) {
208
+			if (is_array($tokens)) {
209 209
 				$this->tokens = $tokens;
210 210
 			}
211 211
 
212 212
 		}
213 213
 
214
-		if ( ! is_bool( $sandbox ) ) {
214
+		if (!is_bool($sandbox)) {
215 215
 			return $this->tokens;
216 216
 		}
217 217
 
218
-		$args = array( 'type' => $sandbox ? 'sandbox' : 'live' );
219
-		return wp_list_filter( $this->tokens, $args );
218
+		$args = array('type' => $sandbox ? 'sandbox' : 'live');
219
+		return wp_list_filter($this->tokens, $args);
220 220
 
221 221
 	}
222 222
 
@@ -225,12 +225,12 @@  discard block
 block discarded – undo
225 225
 	 *
226 226
 	 * @since 1.0.19
227 227
 	 */
228
-	public function save_token( $token ) {
228
+	public function save_token($token) {
229 229
 
230 230
 		$tokens   = $this->get_tokens();
231 231
 		$tokens[] = $token;
232 232
 
233
-		update_user_meta( get_current_user_id(), "getpaid_{$this->id}_tokens", $tokens );
233
+		update_user_meta(get_current_user_id(), "getpaid_{$this->id}_tokens", $tokens);
234 234
 
235 235
 		$this->tokens = $tokens;
236 236
 
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
 	 * @return string
243 243
 	 */
244 244
 	public function get_method_title() {
245
-		return apply_filters( 'getpaid_gateway_method_title', $this->method_title, $this );
245
+		return apply_filters('getpaid_gateway_method_title', $this->method_title, $this);
246 246
 	}
247 247
 
248 248
 	/**
@@ -251,7 +251,7 @@  discard block
 block discarded – undo
251 251
 	 * @return string
252 252
 	 */
253 253
 	public function get_method_description() {
254
-		return apply_filters( 'getpaid_gateway_method_description', $this->method_description, $this );
254
+		return apply_filters('getpaid_gateway_method_description', $this->method_description, $this);
255 255
 	}
256 256
 
257 257
 	/**
@@ -260,7 +260,7 @@  discard block
 block discarded – undo
260 260
 	 * @param WPInv_Invoice $invoice Invoice object.
261 261
 	 * @return string
262 262
 	 */
263
-	public function get_return_url( $invoice ) {
263
+	public function get_return_url($invoice) {
264 264
 
265 265
 		// Payment success url
266 266
 		$return_url = add_query_arg(
@@ -272,7 +272,7 @@  discard block
 block discarded – undo
272 272
 			wpinv_get_success_page_uri()
273 273
 		);
274 274
 
275
-		return apply_filters( 'getpaid_gateway_success_url', $return_url, $invoice, $this );
275
+		return apply_filters('getpaid_gateway_success_url', $return_url, $invoice, $this);
276 276
 	}
277 277
 
278 278
 	/**
@@ -281,24 +281,24 @@  discard block
 block discarded – undo
281 281
 	 * @param string $content Success page content.
282 282
 	 * @return string
283 283
 	 */
284
-	public function get_confirm_payment( $content ) {
284
+	public function get_confirm_payment($content) {
285 285
 		
286 286
 		// Retrieve the invoice.
287 287
 		$invoice_id = getpaid_get_current_invoice_id();
288
-		$invoice    = wpinv_get_invoice( $invoice_id );
288
+		$invoice    = wpinv_get_invoice($invoice_id);
289 289
 	
290 290
 		// Ensure that it exists and that it is pending payment.
291
-		if ( empty( $invoice_id ) || ! $invoice->needs_payment() ) {
291
+		if (empty($invoice_id) || !$invoice->needs_payment()) {
292 292
 			return $content;
293 293
 		}
294 294
 	
295 295
 		// Can the user view this invoice??
296
-		if ( ! wpinv_user_can_view_invoice( $invoice ) ) {
296
+		if (!wpinv_user_can_view_invoice($invoice)) {
297 297
 			return $content;
298 298
 		}
299 299
 	
300 300
 		// Show payment processing indicator.
301
-		return wpinv_get_template_html( 'wpinv-payment-processing.php', compact( 'invoice' ) );
301
+		return wpinv_get_template_html('wpinv-payment-processing.php', compact('invoice'));
302 302
 	}
303 303
 
304 304
 	/**
@@ -315,14 +315,14 @@  discard block
 block discarded – undo
315 315
 	 * @param WPInv_Invoice $invoice Invoice object.
316 316
 	 * @return string transaction URL, or empty string.
317 317
 	 */
318
-	public function filter_transaction_url( $transaction_url, $invoice ) {
318
+	public function filter_transaction_url($transaction_url, $invoice) {
319 319
 
320
-		$transaction_id  = $invoice->get_transaction_id();
320
+		$transaction_id = $invoice->get_transaction_id();
321 321
 
322
-		if ( ! empty( $this->view_transaction_url ) && ! empty( $transaction_id ) ) {
323
-			$transaction_url = sprintf( $this->view_transaction_url, $transaction_id );
324
-			$replace         = $this->is_sandbox( $invoice ) ? 'sandbox' : '';
325
-			$transaction_url = str_replace( '{sandbox}', $replace, $transaction_url );
322
+		if (!empty($this->view_transaction_url) && !empty($transaction_id)) {
323
+			$transaction_url = sprintf($this->view_transaction_url, $transaction_id);
324
+			$replace         = $this->is_sandbox($invoice) ? 'sandbox' : '';
325
+			$transaction_url = str_replace('{sandbox}', $replace, $transaction_url);
326 326
 		}
327 327
 
328 328
 		return $transaction_url;
@@ -335,15 +335,15 @@  discard block
 block discarded – undo
335 335
 	 * @param WPInv_Invoice $invoice Invoice object.
336 336
 	 * @return string subscription URL, or empty string.
337 337
 	 */
338
-	public function filter_subscription_url( $subscription_url, $invoice ) {
338
+	public function filter_subscription_url($subscription_url, $invoice) {
339 339
 
340
-		$profile_id      = $invoice->get_subscription_id();
340
+		$profile_id = $invoice->get_subscription_id();
341 341
 
342
-		if ( ! empty( $this->view_subscription_url ) && ! empty( $profile_id ) ) {
342
+		if (!empty($this->view_subscription_url) && !empty($profile_id)) {
343 343
 
344
-			$subscription_url = sprintf( $this->view_subscription_url, $profile_id );
345
-			$replace          = $this->is_sandbox( $invoice ) ? 'sandbox' : '';
346
-			$subscription_url = str_replace( '{sandbox}', $replace, $subscription_url );
344
+			$subscription_url = sprintf($this->view_subscription_url, $profile_id);
345
+			$replace          = $this->is_sandbox($invoice) ? 'sandbox' : '';
346
+			$subscription_url = str_replace('{sandbox}', $replace, $subscription_url);
347 347
 
348 348
 		}
349 349
 
@@ -356,7 +356,7 @@  discard block
 block discarded – undo
356 356
 	 * @return bool
357 357
 	 */
358 358
 	public function is_available() {
359
-		return ! empty( $this->enabled );
359
+		return !empty($this->enabled);
360 360
 	}
361 361
 
362 362
 	/**
@@ -365,7 +365,7 @@  discard block
 block discarded – undo
365 365
 	 * @return string
366 366
 	 */
367 367
 	public function get_title() {
368
-		return apply_filters( 'getpaid_gateway_title', $this->title, $this );
368
+		return apply_filters('getpaid_gateway_title', $this->title, $this);
369 369
 	}
370 370
 
371 371
 	/**
@@ -374,7 +374,7 @@  discard block
 block discarded – undo
374 374
 	 * @return string
375 375
 	 */
376 376
 	public function get_description() {
377
-		return apply_filters( 'getpaid_gateway_description', $this->description, $this );
377
+		return apply_filters('getpaid_gateway_description', $this->description, $this);
378 378
 	}
379 379
 
380 380
 	/**
@@ -386,9 +386,9 @@  discard block
 block discarded – undo
386 386
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
387 387
 	 * @return void
388 388
 	 */
389
-	public function process_payment( $invoice, $submission_data, $submission ) {
389
+	public function process_payment($invoice, $submission_data, $submission) {
390 390
 		// Process the payment then either redirect to the success page or the gateway.
391
-		do_action( 'getpaid_process_invoice_payment_' . $this->id, $invoice, $submission_data, $submission );
391
+		do_action('getpaid_process_invoice_payment_' . $this->id, $invoice, $submission_data, $submission);
392 392
 	}
393 393
 
394 394
 	/**
@@ -402,8 +402,8 @@  discard block
 block discarded – undo
402 402
 	 * @param  string $reason Refund reason.
403 403
 	 * @return WP_Error|bool True or false based on success, or a WP_Error object.
404 404
 	 */
405
-	public function process_refund( $invoice, $amount = null, $reason = '' ) {
406
-		return apply_filters( 'getpaid_process_invoice_refund_' . $this->id, false, $invoice, $amount, $reason );
405
+	public function process_refund($invoice, $amount = null, $reason = '') {
406
+		return apply_filters('getpaid_process_invoice_refund_' . $this->id, false, $invoice, $amount, $reason);
407 407
 	}
408 408
 
409 409
 	/**
@@ -412,8 +412,8 @@  discard block
 block discarded – undo
412 412
 	 * @param int $invoice_id 0 or invoice id.
413 413
 	 * @param GetPaid_Payment_Form $form Current payment form.
414 414
 	 */
415
-	public function payment_fields( $invoice_id, $form ) {
416
-		do_action( 'getpaid_getpaid_gateway_payment_fields_' . $this->id, $invoice_id, $form );
415
+	public function payment_fields($invoice_id, $form) {
416
+		do_action('getpaid_getpaid_gateway_payment_fields_' . $this->id, $invoice_id, $form);
417 417
 	}
418 418
 
419 419
 	/**
@@ -421,7 +421,7 @@  discard block
 block discarded – undo
421 421
 	 * 
422 422
 	 * @param array $admin_settings
423 423
 	 */
424
-	public function admin_settings( $admin_settings ) {
424
+	public function admin_settings($admin_settings) {
425 425
 		return $admin_settings;
426 426
 	}
427 427
 
@@ -430,8 +430,8 @@  discard block
 block discarded – undo
430 430
 	 * 
431 431
 	 * @param string $option
432 432
 	 */
433
-	public function get_option( $option, $default = false ) {
434
-		return wpinv_get_option( $this->id . '_' . $option, $default );
433
+	public function get_option($option, $default = false) {
434
+		return wpinv_get_option($this->id . '_' . $option, $default);
435 435
 	}
436 436
 
437 437
 	/**
@@ -444,8 +444,8 @@  discard block
 block discarded – undo
444 444
 	 * @return bool True if the gateway supports the feature, false otherwise.
445 445
 	 * @since 1.0.19
446 446
 	 */
447
-	public function supports( $feature ) {
448
-		return apply_filters( 'getpaid_payment_gateway_supports', in_array( $feature, $this->supports ), $feature, $this );
447
+	public function supports($feature) {
448
+		return apply_filters('getpaid_payment_gateway_supports', in_array($feature, $this->supports), $feature, $this);
449 449
 	}
450 450
 
451 451
 	/**
@@ -453,36 +453,36 @@  discard block
 block discarded – undo
453 453
 	 * 
454 454
 	 * @param bool $save whether or not to display the save button.
455 455
 	 */
456
-    public function get_cc_form( $save = false ) {
456
+    public function get_cc_form($save = false) {
457 457
 
458 458
 		ob_start();
459 459
 
460
-        $id_prefix = esc_attr( uniqid( $this->id ) );
460
+        $id_prefix = esc_attr(uniqid($this->id));
461 461
 
462 462
         $months = array(
463
-            '01' => __( 'January', 'invoicing' ),
464
-            '02' => __( 'February', 'invoicing' ),
465
-            '03' => __( 'March', 'invoicing' ),
466
-            '04' => __( 'April', 'invoicing' ),
467
-            '05' => __( 'May', 'invoicing' ),
468
-            '06' => __( 'June', 'invoicing' ),
469
-            '07' => __( 'July', 'invoicing' ),
470
-            '08' => __( 'August', 'invoicing' ),
471
-            '09' => __( 'September', 'invoicing' ),
472
-            '10' => __( 'October', 'invoicing' ),
473
-            '11' => __( 'November', 'invoicing' ),
474
-            '12' => __( 'December', 'invoicing' ),
463
+            '01' => __('January', 'invoicing'),
464
+            '02' => __('February', 'invoicing'),
465
+            '03' => __('March', 'invoicing'),
466
+            '04' => __('April', 'invoicing'),
467
+            '05' => __('May', 'invoicing'),
468
+            '06' => __('June', 'invoicing'),
469
+            '07' => __('July', 'invoicing'),
470
+            '08' => __('August', 'invoicing'),
471
+            '09' => __('September', 'invoicing'),
472
+            '10' => __('October', 'invoicing'),
473
+            '11' => __('November', 'invoicing'),
474
+            '12' => __('December', 'invoicing'),
475 475
         );
476 476
 
477
-        $year  = (int) date( 'Y', current_time( 'timestamp' ) );
477
+        $year  = (int) date('Y', current_time('timestamp'));
478 478
         $years = array();
479 479
 
480
-        for ( $i = 0; $i <= 10; $i++ ) {
481
-            $years[ $year + $i ] = $year + $i;
480
+        for ($i = 0; $i <= 10; $i++) {
481
+            $years[$year + $i] = $year + $i;
482 482
         }
483 483
 
484 484
         ?>
485
-            <div class="<?php echo esc_attr( $this->id );?>-cc-form getpaid-cc-form card  mt-4">
485
+            <div class="<?php echo esc_attr($this->id); ?>-cc-form getpaid-cc-form card  mt-4">
486 486
 
487 487
 
488 488
                 <div class="card-body">
@@ -496,7 +496,7 @@  discard block
 block discarded – undo
496 496
                                     array(
497 497
                                         'name'              => $this->id . '[cc_number]',
498 498
                                         'id'                => "$id_prefix-cc-number",
499
-                                        'label'             => __( 'Card number', 'invoicing' ),
499
+                                        'label'             => __('Card number', 'invoicing'),
500 500
                                         'label_type'        => 'vertical',
501 501
                                         'input_group_left'  => '<span class="input-group-text"><i class="fa fa-credit-card"></i></span>',
502 502
                                     )
@@ -507,17 +507,17 @@  discard block
 block discarded – undo
507 507
 
508 508
                         <div class="col-12 col-sm-4">
509 509
                             <div class="form-group">
510
-                                <label><?php _e( 'Expiration', 'invoicing' ); ?></label>
510
+                                <label><?php _e('Expiration', 'invoicing'); ?></label>
511 511
                                 <div class="form-row">
512 512
 
513 513
                                     <div class="col">
514
-                                        <select class="form-control" name="<?php echo esc_attr( $this->id );?>[cc_expire_month]">
515
-                                            <option disabled selected="selected"><?php _e( 'MM', 'invoicing' ); ?></option>
514
+                                        <select class="form-control" name="<?php echo esc_attr($this->id); ?>[cc_expire_month]">
515
+                                            <option disabled selected="selected"><?php _e('MM', 'invoicing'); ?></option>
516 516
 
517 517
                                             <?php
518
-                                                foreach ( $months as $key => $month ) {
519
-                                                    $key   = esc_attr( $key );
520
-                                                    $month = wpinv_clean( $month );
518
+                                                foreach ($months as $key => $month) {
519
+                                                    $key   = esc_attr($key);
520
+                                                    $month = wpinv_clean($month);
521 521
                                                     echo "<option value='$key'>$month</option>" . PHP_EOL;
522 522
                                                 }
523 523
                                             ?>
@@ -526,13 +526,13 @@  discard block
 block discarded – undo
526 526
                                     </div>
527 527
 
528 528
                                     <div class="col">
529
-                                        <select class="form-control" name="<?php echo esc_attr( $this->id );?>[cc_expire_year]">
530
-                                            <option disabled selected="selected"><?php _e( 'YY', 'invoicing' ); ?></option>
529
+                                        <select class="form-control" name="<?php echo esc_attr($this->id); ?>[cc_expire_year]">
530
+                                            <option disabled selected="selected"><?php _e('YY', 'invoicing'); ?></option>
531 531
 
532 532
                                             <?php
533
-                                                foreach ( $years as $key => $year ) {
534
-                                                    $key   = esc_attr( $key );
535
-                                                    $year  = wpinv_clean( $year );
533
+                                                foreach ($years as $key => $year) {
534
+                                                    $key   = esc_attr($key);
535
+                                                    $year  = wpinv_clean($year);
536 536
                                                     echo "<option value='$key'>$year</option>" . PHP_EOL;
537 537
                                                 }
538 538
                                             ?>
@@ -550,7 +550,7 @@  discard block
 block discarded – undo
550 550
                                     array(
551 551
                                         'name'              => $this->id . '[cc_cvv2]',
552 552
                                         'id'                => "$id_prefix-cc-cvv2",
553
-                                        'label'             => __( 'CCV', 'invoicing' ),
553
+                                        'label'             => __('CCV', 'invoicing'),
554 554
                                         'label_type'        => 'vertical',
555 555
                                     )
556 556
                                 );
@@ -561,7 +561,7 @@  discard block
 block discarded – undo
561 561
 					
562 562
 					<?php
563 563
 
564
-						if ( $save ) {
564
+						if ($save) {
565 565
 							echo $this->save_payment_method_checkbox();
566 566
 						}
567 567
 
@@ -580,7 +580,7 @@  discard block
 block discarded – undo
580 580
 	 *
581 581
 	 * @since 1.0.19
582 582
 	 */
583
-	public function new_payment_method_entry( $form ) {
583
+	public function new_payment_method_entry($form) {
584 584
 		echo "<div class='getpaid-new-payment-method-form' style='display:none;'>$form</div>";
585 585
 	}
586 586
 
@@ -590,16 +590,16 @@  discard block
 block discarded – undo
590 590
 	 * @since 1.0.19
591 591
 	 */
592 592
 	public function saved_payment_methods() {
593
-		$html = '<ul class="getpaid-saved-payment-methods m-0 mt-2" data-count="' . esc_attr( count( $this->get_tokens( $this->is_sandbox() ) ) ) . '">';
593
+		$html = '<ul class="getpaid-saved-payment-methods m-0 mt-2" data-count="' . esc_attr(count($this->get_tokens($this->is_sandbox()))) . '">';
594 594
 
595
-		foreach ( $this->get_tokens( $this->is_sandbox() ) as $token ) {
596
-			$html .= $this->get_saved_payment_method_option_html( $token );
595
+		foreach ($this->get_tokens($this->is_sandbox()) as $token) {
596
+			$html .= $this->get_saved_payment_method_option_html($token);
597 597
 		}
598 598
 
599 599
 		$html .= $this->get_new_payment_method_option_html();
600 600
 		$html .= '</ul>';
601 601
 
602
-		echo apply_filters( 'getpaid_payment_gateway_form_saved_payment_methods_html', $html, $this );
602
+		echo apply_filters('getpaid_payment_gateway_form_saved_payment_methods_html', $html, $this);
603 603
 	}
604 604
 
605 605
 	/**
@@ -609,7 +609,7 @@  discard block
 block discarded – undo
609 609
 	 * @param  array $token Payment Token.
610 610
 	 * @return string Generated payment method HTML
611 611
 	 */
612
-	public function get_saved_payment_method_option_html( $token ) {
612
+	public function get_saved_payment_method_option_html($token) {
613 613
 
614 614
 		return sprintf(
615 615
 			'<li class="getpaid-payment-method form-group">
@@ -618,10 +618,10 @@  discard block
 block discarded – undo
618 618
 					<span>%3$s</span>
619 619
 				</label>
620 620
 			</li>',
621
-			esc_attr( $this->id ),
622
-			esc_attr( $token['id'] ),
623
-			esc_html( $token['name'] ),
624
-			checked( empty( $token['default'] ), false, false )
621
+			esc_attr($this->id),
622
+			esc_attr($token['id']),
623
+			esc_html($token['name']),
624
+			checked(empty($token['default']), false, false)
625 625
 		);
626 626
 
627 627
 	}
@@ -633,7 +633,7 @@  discard block
 block discarded – undo
633 633
 	 */
634 634
 	public function get_new_payment_method_option_html() {
635 635
 
636
-		$label = apply_filters( 'getpaid_new_payment_method_label', $this->new_method_label ? $this->new_method_label : __( 'Use a new payment method', 'invoicing' ), $this );
636
+		$label = apply_filters('getpaid_new_payment_method_label', $this->new_method_label ? $this->new_method_label : __('Use a new payment method', 'invoicing'), $this);
637 637
 
638 638
 		return sprintf(
639 639
 			'<li class="getpaid-new-payment-method">
@@ -642,8 +642,8 @@  discard block
 block discarded – undo
642 642
 					<span>%2$s</span>
643 643
 				</label>
644 644
 			</li>',
645
-			esc_attr( $this->id ),
646
-			esc_html( $label )
645
+			esc_attr($this->id),
646
+			esc_html($label)
647 647
 		);
648 648
 
649 649
 	}
@@ -662,8 +662,8 @@  discard block
 block discarded – undo
662 662
 					<span>%2$s</span>
663 663
 				</label>
664 664
 			</p>',
665
-			esc_attr( $this->id ),
666
-			esc_html__( 'Save payment method', 'invoicing' )
665
+			esc_attr($this->id),
666
+			esc_html__('Save payment method', 'invoicing')
667 667
 		);
668 668
 
669 669
 	}
@@ -673,9 +673,9 @@  discard block
 block discarded – undo
673 673
 	 *
674 674
 	 * @return array
675 675
 	 */
676
-	public function register_gateway( $gateways ) {
676
+	public function register_gateway($gateways) {
677 677
 
678
-		$gateways[ $this->id ] = array(
678
+		$gateways[$this->id] = array(
679 679
 
680 680
 			'admin_label'    => $this->method_title,
681 681
             'checkout_label' => $this->title,
@@ -693,13 +693,13 @@  discard block
 block discarded – undo
693 693
 	 * @param  WPInv_Invoice|null $invoice Invoice object or null.
694 694
 	 * @return bool
695 695
 	 */
696
-	public function is_sandbox( $invoice = null ) {
696
+	public function is_sandbox($invoice = null) {
697 697
 
698
-		if ( ! empty( $invoice ) && ! $invoice->needs_payment() ) {
698
+		if (!empty($invoice) && !$invoice->needs_payment()) {
699 699
 			return $invoice->get_mode() == 'test';
700 700
 		}
701 701
 
702
-		return wpinv_is_test_mode( $this->id );
702
+		return wpinv_is_test_mode($this->id);
703 703
 
704 704
 	}
705 705
 
@@ -717,15 +717,15 @@  discard block
 block discarded – undo
717 717
 	 *
718 718
 	 * @return bool
719 719
 	 */
720
-	public function validate_currency( $validation, $currency ) {
720
+	public function validate_currency($validation, $currency) {
721 721
 
722 722
 		// Required currencies.
723
-		if ( ! empty( $this->currencies ) && ! in_array( $currency, $this->currencies ) ) {
723
+		if (!empty($this->currencies) && !in_array($currency, $this->currencies)) {
724 724
 			return false;
725 725
 		}
726 726
 
727 727
 		// Excluded currencies.
728
-		if ( ! empty( $this->exclude_currencies ) && in_array( $currency, $this->exclude_currencies ) ) {
728
+		if (!empty($this->exclude_currencies) && in_array($currency, $this->exclude_currencies)) {
729 729
 			return false;
730 730
 		}
731 731
 
Please login to merge, or discard this patch.
includes/admin/class-wpinv-admin-menus.php 1 patch
Spacing   +98 added lines, -98 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Setup menus in WP admin.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * WC_Admin_Menus Class.
@@ -13,25 +13,25 @@  discard block
 block discarded – undo
13 13
      * Hook in tabs.
14 14
      */
15 15
     public function __construct() {
16
-        add_action( 'admin_menu', array( $this, 'admin_menu' ), 10 );
17
-        add_action( 'admin_menu', array( $this, 'add_customers_menu' ), 18 );
18
-        add_action( 'admin_menu', array( $this, 'add_subscriptions_menu' ), 40 );
19
-        add_action( 'admin_menu', array( $this, 'add_addons_menu' ), 100 );
20
-        add_action( 'admin_menu', array( $this, 'add_settings_menu' ), 60 );
21
-        add_action( 'admin_menu', array( $this, 'remove_admin_submenus' ), 10 );
22
-        add_action( 'admin_head-nav-menus.php', array( $this, 'add_nav_menu_meta_boxes' ) );
16
+        add_action('admin_menu', array($this, 'admin_menu'), 10);
17
+        add_action('admin_menu', array($this, 'add_customers_menu'), 18);
18
+        add_action('admin_menu', array($this, 'add_subscriptions_menu'), 40);
19
+        add_action('admin_menu', array($this, 'add_addons_menu'), 100);
20
+        add_action('admin_menu', array($this, 'add_settings_menu'), 60);
21
+        add_action('admin_menu', array($this, 'remove_admin_submenus'), 10);
22
+        add_action('admin_head-nav-menus.php', array($this, 'add_nav_menu_meta_boxes'));
23 23
     }
24 24
 
25 25
     public function admin_menu() {
26 26
 
27
-        $capability = apply_filters( 'invoicing_capability', wpinv_get_capability() );
27
+        $capability = apply_filters('invoicing_capability', wpinv_get_capability());
28 28
         add_menu_page(
29
-            __( 'GetPaid', 'invoicing' ),
30
-            __( 'GetPaid', 'invoicing' ),
29
+            __('GetPaid', 'invoicing'),
30
+            __('GetPaid', 'invoicing'),
31 31
             $capability,
32 32
             'wpinv',
33 33
             null,
34
-            'data:image/svg+xml;base64,' . base64_encode( file_get_contents( WPINV_PLUGIN_DIR . 'assets/images/GetPaid.svg' ) ),
34
+            'data:image/svg+xml;base64,' . base64_encode(file_get_contents(WPINV_PLUGIN_DIR . 'assets/images/GetPaid.svg')),
35 35
             '54.123460'
36 36
         );
37 37
 
@@ -43,11 +43,11 @@  discard block
 block discarded – undo
43 43
     public function add_customers_menu() {
44 44
         add_submenu_page(
45 45
             'wpinv',
46
-            __( 'Customers', 'invoicing' ),
47
-            __( 'Customers', 'invoicing' ),
46
+            __('Customers', 'invoicing'),
47
+            __('Customers', 'invoicing'),
48 48
             wpinv_get_capability(),
49 49
             'wpinv-customers',
50
-            array( $this, 'customers_page' )
50
+            array($this, 'customers_page')
51 51
         );
52 52
     }
53 53
 
@@ -57,8 +57,8 @@  discard block
 block discarded – undo
57 57
     public function add_subscriptions_menu() {
58 58
         add_submenu_page(
59 59
             'wpinv',
60
-            __( 'Subscriptions', 'invoicing' ),
61
-            __( 'Subscriptions', 'invoicing' ),
60
+            __('Subscriptions', 'invoicing'),
61
+            __('Subscriptions', 'invoicing'),
62 62
             wpinv_get_capability(),
63 63
             'wpinv-subscriptions',
64 64
             'wpinv_subscriptions_page'
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
      * Displays the customers page.
70 70
      */
71 71
     public function customers_page() {
72
-        require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-customers-table.php' );
72
+        require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-customers-table.php');
73 73
         ?>
74 74
         <div class="wrap wpi-customers-wrap">
75 75
             <style>
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
                     width: 30%;
78 78
                 }
79 79
             </style>
80
-            <h1><?php echo esc_html( __( 'Customers', 'invoicing' ) ); ?></h1>
80
+            <h1><?php echo esc_html(__('Customers', 'invoicing')); ?></h1>
81 81
             <?php
82 82
                 $table = new WPInv_Customers_Table();
83 83
                 $table->prepare_items();
@@ -93,16 +93,16 @@  discard block
 block discarded – undo
93 93
     public function add_settings_menu() {
94 94
         add_submenu_page(
95 95
             'wpinv',
96
-            __( 'Invoice Settings', 'invoicing' ),
97
-            __( 'Settings', 'invoicing' ),
98
-            apply_filters( 'invoicing_capability', wpinv_get_capability() ),
96
+            __('Invoice Settings', 'invoicing'),
97
+            __('Settings', 'invoicing'),
98
+            apply_filters('invoicing_capability', wpinv_get_capability()),
99 99
             'wpinv-settings',
100
-            array( $this, 'options_page' )
100
+            array($this, 'options_page')
101 101
         );
102 102
     }
103 103
 
104
-    public function add_addons_menu(){
105
-        if ( !apply_filters( 'wpi_show_addons_page', true ) ) {
104
+    public function add_addons_menu() {
105
+        if (!apply_filters('wpi_show_addons_page', true)) {
106 106
             return;
107 107
         }
108 108
 
@@ -112,78 +112,78 @@  discard block
 block discarded – undo
112 112
             __('Extensions', 'invoicing'),
113 113
             'manage_options',
114 114
             'wpi-addons',
115
-            array( $this, 'addons_page' )
115
+            array($this, 'addons_page')
116 116
         );
117 117
     }
118 118
 
119
-    public function addons_page(){
119
+    public function addons_page() {
120 120
         $addon_obj = new WPInv_Admin_Addons();
121 121
         $addon_obj->output();
122 122
     }
123 123
 
124 124
     function options_page() {
125
-        $page       = isset( $_GET['page'] )                ? strtolower( $_GET['page'] )               : false;
125
+        $page = isset($_GET['page']) ? strtolower($_GET['page']) : false;
126 126
 
127
-        if ( $page !== 'wpinv-settings' ) {
127
+        if ($page !== 'wpinv-settings') {
128 128
             return;
129 129
         }
130 130
 
131 131
         $settings_tabs = wpinv_get_settings_tabs();
132 132
         $settings_tabs = empty($settings_tabs) ? array() : $settings_tabs;
133
-        $active_tab    = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $settings_tabs ) ? sanitize_text_field( $_GET['tab'] ) : 'general';
134
-        $sections      = wpinv_get_settings_tab_sections( $active_tab );
133
+        $active_tab    = isset($_GET['tab']) && array_key_exists($_GET['tab'], $settings_tabs) ? sanitize_text_field($_GET['tab']) : 'general';
134
+        $sections      = wpinv_get_settings_tab_sections($active_tab);
135 135
         $key           = 'main';
136 136
 
137
-        if ( is_array( $sections ) ) {
138
-            $key = key( $sections );
137
+        if (is_array($sections)) {
138
+            $key = key($sections);
139 139
         }
140 140
 
141
-        $registered_sections = wpinv_get_settings_tab_sections( $active_tab );
142
-        $section             = isset( $_GET['section'] ) && ! empty( $registered_sections ) && array_key_exists( $_GET['section'], $registered_sections ) ? $_GET['section'] : $key;
141
+        $registered_sections = wpinv_get_settings_tab_sections($active_tab);
142
+        $section             = isset($_GET['section']) && !empty($registered_sections) && array_key_exists($_GET['section'], $registered_sections) ? $_GET['section'] : $key;
143 143
         ob_start();
144 144
         ?>
145 145
         <div class="wrap">
146 146
             <h1 class="nav-tab-wrapper">
147 147
                 <?php
148
-                foreach( wpinv_get_settings_tabs() as $tab_id => $tab_name ) {
149
-                    $tab_url = add_query_arg( array(
148
+                foreach (wpinv_get_settings_tabs() as $tab_id => $tab_name) {
149
+                    $tab_url = add_query_arg(array(
150 150
                         'settings-updated' => false,
151 151
                         'tab' => $tab_id,
152
-                    ) );
152
+                    ));
153 153
 
154 154
                     // Remove the section from the tabs so we always end up at the main section
155
-                    $tab_url = remove_query_arg( 'section', $tab_url );
156
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
155
+                    $tab_url = remove_query_arg('section', $tab_url);
156
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
157 157
 
158 158
                     $active = $active_tab == $tab_id ? ' nav-tab-active' : '';
159 159
 
160
-                    echo '<a href="' . esc_url( $tab_url ) . '" title="' . esc_attr( $tab_name ) . '" class="nav-tab' . $active . '">';
161
-                    echo esc_html( $tab_name );
160
+                    echo '<a href="' . esc_url($tab_url) . '" title="' . esc_attr($tab_name) . '" class="nav-tab' . $active . '">';
161
+                    echo esc_html($tab_name);
162 162
                     echo '</a>';
163 163
                 }
164 164
                 ?>
165 165
             </h1>
166 166
             <?php
167
-            $number_of_sections = count( $sections );
167
+            $number_of_sections = count($sections);
168 168
             $number = 0;
169
-            if ( $number_of_sections > 1 ) {
169
+            if ($number_of_sections > 1) {
170 170
                 echo '<div><ul class="subsubsub">';
171
-                foreach( $sections as $section_id => $section_name ) {
171
+                foreach ($sections as $section_id => $section_name) {
172 172
                     echo '<li>';
173 173
                     $number++;
174
-                    $tab_url = add_query_arg( array(
174
+                    $tab_url = add_query_arg(array(
175 175
                         'settings-updated' => false,
176 176
                         'tab' => $active_tab,
177 177
                         'section' => $section_id
178
-                    ) );
179
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
178
+                    ));
179
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
180 180
                     $class = '';
181
-                    if ( $section == $section_id ) {
181
+                    if ($section == $section_id) {
182 182
                         $class = 'current';
183 183
                     }
184
-                    echo '<a class="' . $class . '" href="' . esc_url( $tab_url ) . '">' . $section_name . '</a>';
184
+                    echo '<a class="' . $class . '" href="' . esc_url($tab_url) . '">' . $section_name . '</a>';
185 185
 
186
-                    if ( $number != $number_of_sections ) {
186
+                    if ($number != $number_of_sections) {
187 187
                         echo ' | ';
188 188
                     }
189 189
                     echo '</li>';
@@ -195,19 +195,19 @@  discard block
 block discarded – undo
195 195
                 <form method="post" action="options.php">
196 196
                     <table class="form-table">
197 197
                         <?php
198
-                        settings_fields( 'wpinv_settings' );
198
+                        settings_fields('wpinv_settings');
199 199
 
200
-                        if ( 'main' === $section ) {
201
-                            do_action( 'wpinv_settings_tab_top', $active_tab );
200
+                        if ('main' === $section) {
201
+                            do_action('wpinv_settings_tab_top', $active_tab);
202 202
                         }
203 203
 
204
-                        do_action( 'wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section );
205
-                        do_settings_sections( 'wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section );
206
-                        do_action( 'wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section );
204
+                        do_action('wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section);
205
+                        do_settings_sections('wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section);
206
+                        do_action('wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section);
207 207
 
208 208
                         // For backwards compatibility
209
-                        if ( 'main' === $section ) {
210
-                            do_action( 'wpinv_settings_tab_bottom', $active_tab );
209
+                        if ('main' === $section) {
210
+                            do_action('wpinv_settings_tab_bottom', $active_tab);
211 211
                         }
212 212
                         ?>
213 213
                     </table>
@@ -221,18 +221,18 @@  discard block
 block discarded – undo
221 221
     }
222 222
 
223 223
     public function remove_admin_submenus() {
224
-        remove_submenu_page( 'edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice' );
224
+        remove_submenu_page('edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice');
225 225
     }
226 226
 
227
-    public function add_nav_menu_meta_boxes(){
228
-        add_meta_box( 'wpinv_endpoints_nav_link', __( 'Invoicing Pages', 'invoicing' ), array( $this, 'nav_menu_links' ), 'nav-menus', 'side', 'low' );
227
+    public function add_nav_menu_meta_boxes() {
228
+        add_meta_box('wpinv_endpoints_nav_link', __('Invoicing Pages', 'invoicing'), array($this, 'nav_menu_links'), 'nav-menus', 'side', 'low');
229 229
     }
230 230
 
231
-    public function nav_menu_links(){
231
+    public function nav_menu_links() {
232 232
         $endpoints = $this->get_menu_items();
233 233
         ?>
234 234
         <div id="invoicing-endpoints" class="posttypediv">
235
-        <?php if(!empty($endpoints['pages'])){ ?>
235
+        <?php if (!empty($endpoints['pages'])) { ?>
236 236
             <div id="tabs-panel-invoicing-endpoints" class="tabs-panel tabs-panel-active">
237 237
                 <ul id="invoicing-endpoints-checklist" class="categorychecklist form-no-clear">
238 238
                     <?php
@@ -244,29 +244,29 @@  discard block
 block discarded – undo
244 244
         <?php } ?>
245 245
         <p class="button-controls">
246 246
         <span class="list-controls">
247
-            <a href="<?php echo admin_url( 'nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints' ); ?>" class="select-all"><?php _e( 'Select all', 'invoicing' ); ?></a>
247
+            <a href="<?php echo admin_url('nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints'); ?>" class="select-all"><?php _e('Select all', 'invoicing'); ?></a>
248 248
         </span>
249 249
             <span class="add-to-menu">
250
-            <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to menu', 'invoicing' ); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints">
250
+            <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to menu', 'invoicing'); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints">
251 251
             <span class="spinner"></span>
252 252
         </span>
253 253
         </p>
254 254
         <?php
255 255
     }
256 256
 
257
-    public function get_menu_items(){
257
+    public function get_menu_items() {
258 258
         $items = array();
259 259
 
260
-        $wpinv_history_page_id = (int)wpinv_get_option( 'invoice_history_page' );
261
-        if($wpinv_history_page_id > 0){
260
+        $wpinv_history_page_id = (int) wpinv_get_option('invoice_history_page');
261
+        if ($wpinv_history_page_id > 0) {
262 262
             $item = new stdClass();
263 263
             $item->object_id = $wpinv_history_page_id;
264 264
             $item->db_id = 0;
265
-            $item->object =  'page';
265
+            $item->object = 'page';
266 266
             $item->menu_item_parent = 0;
267 267
             $item->type = 'post_type';
268
-            $item->title = __('Invoice History Page','invoicing');
269
-            $item->url = get_permalink( $wpinv_history_page_id );
268
+            $item->title = __('Invoice History Page', 'invoicing');
269
+            $item->url = get_permalink($wpinv_history_page_id);
270 270
             $item->target = '';
271 271
             $item->attr_title = '';
272 272
             $item->classes = array('wpinv-menu-item');
@@ -275,16 +275,16 @@  discard block
 block discarded – undo
275 275
             $items['pages'][] = $item;
276 276
         }
277 277
 
278
-        $wpinv_sub_history_page_id = (int)wpinv_get_option( 'invoice_subscription_page' );
279
-        if($wpinv_sub_history_page_id > 0){
278
+        $wpinv_sub_history_page_id = (int) wpinv_get_option('invoice_subscription_page');
279
+        if ($wpinv_sub_history_page_id > 0) {
280 280
             $item = new stdClass();
281 281
             $item->object_id = $wpinv_sub_history_page_id;
282 282
             $item->db_id = 0;
283
-            $item->object =  'page';
283
+            $item->object = 'page';
284 284
             $item->menu_item_parent = 0;
285 285
             $item->type = 'post_type';
286
-            $item->title = __('Invoice Subscriptions Page','invoicing');
287
-            $item->url = get_permalink( $wpinv_sub_history_page_id );
286
+            $item->title = __('Invoice Subscriptions Page', 'invoicing');
287
+            $item->url = get_permalink($wpinv_sub_history_page_id);
288 288
             $item->target = '';
289 289
             $item->attr_title = '';
290 290
             $item->classes = array('wpinv-menu-item');
@@ -293,16 +293,16 @@  discard block
 block discarded – undo
293 293
             $items['pages'][] = $item;
294 294
         }
295 295
 
296
-        $wpinv_checkout_page_id = (int)wpinv_get_option( 'checkout_page' );
297
-        if($wpinv_checkout_page_id > 0){
296
+        $wpinv_checkout_page_id = (int) wpinv_get_option('checkout_page');
297
+        if ($wpinv_checkout_page_id > 0) {
298 298
             $item = new stdClass();
299 299
             $item->object_id = $wpinv_checkout_page_id;
300 300
             $item->db_id = 0;
301
-            $item->object =  'page';
301
+            $item->object = 'page';
302 302
             $item->menu_item_parent = 0;
303 303
             $item->type = 'post_type';
304
-            $item->title = __('Checkout Page','invoicing');
305
-            $item->url = get_permalink( $wpinv_checkout_page_id );
304
+            $item->title = __('Checkout Page', 'invoicing');
305
+            $item->url = get_permalink($wpinv_checkout_page_id);
306 306
             $item->target = '';
307 307
             $item->attr_title = '';
308 308
             $item->classes = array('wpinv-menu-item');
@@ -311,16 +311,16 @@  discard block
 block discarded – undo
311 311
             $items['pages'][] = $item;
312 312
         }
313 313
 
314
-        $wpinv_tandc_page_id = (int)wpinv_get_option( 'tandc_page' );
315
-        if($wpinv_tandc_page_id > 0){
314
+        $wpinv_tandc_page_id = (int) wpinv_get_option('tandc_page');
315
+        if ($wpinv_tandc_page_id > 0) {
316 316
             $item = new stdClass();
317 317
             $item->object_id = $wpinv_tandc_page_id;
318 318
             $item->db_id = 0;
319
-            $item->object =  'page';
319
+            $item->object = 'page';
320 320
             $item->menu_item_parent = 0;
321 321
             $item->type = 'post_type';
322
-            $item->title = __('Terms & Conditions','invoicing');
323
-            $item->url = get_permalink( $wpinv_tandc_page_id );
322
+            $item->title = __('Terms & Conditions', 'invoicing');
323
+            $item->url = get_permalink($wpinv_tandc_page_id);
324 324
             $item->target = '';
325 325
             $item->attr_title = '';
326 326
             $item->classes = array('wpinv-menu-item');
@@ -329,16 +329,16 @@  discard block
 block discarded – undo
329 329
             $items['pages'][] = $item;
330 330
         }
331 331
 
332
-        $wpinv_success_page_id = (int)wpinv_get_option( 'success_page' );
333
-        if($wpinv_success_page_id > 0){
332
+        $wpinv_success_page_id = (int) wpinv_get_option('success_page');
333
+        if ($wpinv_success_page_id > 0) {
334 334
             $item = new stdClass();
335 335
             $item->object_id = $wpinv_success_page_id;
336 336
             $item->db_id = 0;
337
-            $item->object =  'page';
337
+            $item->object = 'page';
338 338
             $item->menu_item_parent = 0;
339 339
             $item->type = 'post_type';
340
-            $item->title = __('Success Page','invoicing');
341
-            $item->url = get_permalink( $wpinv_success_page_id );
340
+            $item->title = __('Success Page', 'invoicing');
341
+            $item->url = get_permalink($wpinv_success_page_id);
342 342
             $item->target = '';
343 343
             $item->attr_title = '';
344 344
             $item->classes = array('wpinv-menu-item');
@@ -347,16 +347,16 @@  discard block
 block discarded – undo
347 347
             $items['pages'][] = $item;
348 348
         }
349 349
 
350
-        $wpinv_failure_page_id = (int)wpinv_get_option( 'failure_page' );
351
-        if($wpinv_failure_page_id > 0){
350
+        $wpinv_failure_page_id = (int) wpinv_get_option('failure_page');
351
+        if ($wpinv_failure_page_id > 0) {
352 352
             $item = new stdClass();
353 353
             $item->object_id = $wpinv_failure_page_id;
354 354
             $item->db_id = 0;
355
-            $item->object =  'page';
355
+            $item->object = 'page';
356 356
             $item->menu_item_parent = 0;
357 357
             $item->type = 'post_type';
358
-            $item->title = __('Failed Transaction Page','invoicing');
359
-            $item->url = get_permalink( $wpinv_failure_page_id );
358
+            $item->title = __('Failed Transaction Page', 'invoicing');
359
+            $item->url = get_permalink($wpinv_failure_page_id);
360 360
             $item->target = '';
361 361
             $item->attr_title = '';
362 362
             $item->classes = array('wpinv-menu-item');
@@ -365,7 +365,7 @@  discard block
 block discarded – undo
365 365
             $items['pages'][] = $item;
366 366
         }
367 367
 
368
-        return apply_filters( 'wpinv_menu_items', $items );
368
+        return apply_filters('wpinv_menu_items', $items);
369 369
     }
370 370
 
371 371
 }
Please login to merge, or discard this patch.
includes/class-wpinv-subscriptions.php 2 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -12,8 +12,8 @@  discard block
 block discarded – undo
12 12
 class WPInv_Subscriptions {
13 13
 
14 14
     /**
15
-	 * Class constructor.
16
-	 */
15
+     * Class constructor.
16
+     */
17 17
     public function __construct(){
18 18
 
19 19
         // Fire gateway specific hooks when a subscription changes.
@@ -33,12 +33,12 @@  discard block
 block discarded – undo
33 33
     }
34 34
 
35 35
     /**
36
-	 * Processes subscription status changes.
36
+     * Processes subscription status changes.
37 37
      * 
38 38
      * @param WPInv_Subscription $subscription
39 39
      * @param string $from
40 40
      * @param string $to
41
-	 */
41
+     */
42 42
     public function process_subscription_status_change( $subscription, $from, $to ) {
43 43
 
44 44
         $gateway = $subscription->get_gateway();
Please login to merge, or discard this patch.
Spacing   +102 added lines, -102 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 /**
9 9
  * Main Subscriptions class.
10 10
  *
@@ -14,31 +14,31 @@  discard block
 block discarded – undo
14 14
     /**
15 15
 	 * Class constructor.
16 16
 	 */
17
-    public function __construct(){
17
+    public function __construct() {
18 18
 
19 19
         // Fire gateway specific hooks when a subscription changes.
20
-        add_action( 'getpaid_subscription_status_changed', array( $this, 'process_subscription_status_change' ), 10, 3 );
20
+        add_action('getpaid_subscription_status_changed', array($this, 'process_subscription_status_change'), 10, 3);
21 21
 
22 22
         // De-activate a subscription whenever the invoice changes payment statuses.
23
-        add_action( 'getpaid_invoice_status_wpi-refunded', array( $this, 'maybe_deactivate_invoice_subscription' ), 20 );
24
-        add_action( 'getpaid_invoice_status_wpi-failed', array( $this, 'maybe_deactivate_invoice_subscription' ), 20 );
25
-        add_action( 'getpaid_invoice_status_wpi-cancelled', array( $this, 'maybe_deactivate_invoice_subscription' ), 20 );
26
-        add_action( 'getpaid_invoice_status_wpi-pending', array( $this, 'maybe_deactivate_invoice_subscription' ), 20 );
23
+        add_action('getpaid_invoice_status_wpi-refunded', array($this, 'maybe_deactivate_invoice_subscription'), 20);
24
+        add_action('getpaid_invoice_status_wpi-failed', array($this, 'maybe_deactivate_invoice_subscription'), 20);
25
+        add_action('getpaid_invoice_status_wpi-cancelled', array($this, 'maybe_deactivate_invoice_subscription'), 20);
26
+        add_action('getpaid_invoice_status_wpi-pending', array($this, 'maybe_deactivate_invoice_subscription'), 20);
27 27
 
28 28
         // Handles subscription cancelations.
29
-        add_action( 'getpaid_authenticated_action_subscription_cancel', array( $this, 'user_cancel_single_subscription' ) );
29
+        add_action('getpaid_authenticated_action_subscription_cancel', array($this, 'user_cancel_single_subscription'));
30 30
 
31 31
         // Create a subscription whenever an invoice is created, (and update it when it is updated).
32
-        add_action( 'getpaid_new_invoice', array( $this, 'maybe_create_invoice_subscription' ) );
33
-        add_action( 'getpaid_update_invoice', array( $this, 'maybe_update_invoice_subscription' ) );
32
+        add_action('getpaid_new_invoice', array($this, 'maybe_create_invoice_subscription'));
33
+        add_action('getpaid_update_invoice', array($this, 'maybe_update_invoice_subscription'));
34 34
 
35 35
         // Handles admin subscription update actions.
36
-        add_action( 'getpaid_authenticated_admin_action_update_single_subscription', array( $this, 'admin_update_single_subscription' ) );
37
-        add_action( 'getpaid_authenticated_admin_action_subscription_manual_renew', array( $this, 'admin_renew_single_subscription' ) );
38
-        add_action( 'getpaid_authenticated_admin_action_subscription_manual_delete', array( $this, 'admin_delete_single_subscription' ) );
36
+        add_action('getpaid_authenticated_admin_action_update_single_subscription', array($this, 'admin_update_single_subscription'));
37
+        add_action('getpaid_authenticated_admin_action_subscription_manual_renew', array($this, 'admin_renew_single_subscription'));
38
+        add_action('getpaid_authenticated_admin_action_subscription_manual_delete', array($this, 'admin_delete_single_subscription'));
39 39
 
40 40
         // Filter invoice item row actions.
41
-        add_action( 'getpaid-invoice-page-line-item-actions', array( $this, 'filter_invoice_line_item_actions' ), 10, 3 );
41
+        add_action('getpaid-invoice-page-line-item-actions', array($this, 'filter_invoice_line_item_actions'), 10, 3);
42 42
     }
43 43
 
44 44
     /**
@@ -47,19 +47,19 @@  discard block
 block discarded – undo
47 47
      * @param WPInv_Invoice $invoice
48 48
      * @return WPInv_Subscription|bool
49 49
      */
50
-    public function get_invoice_subscription( $invoice ) {
50
+    public function get_invoice_subscription($invoice) {
51 51
         $subscription_id = $invoice->get_subscription_id();
52 52
 
53 53
         // Fallback to the parent invoice if the child invoice has no subscription id.
54
-        if ( empty( $subscription_id && $invoice->is_renewal() ) ) {
54
+        if (empty($subscription_id && $invoice->is_renewal())) {
55 55
             $subscription_id = $invoice->get_parent_payment()->get_subscription_id();
56 56
         }
57 57
 
58 58
         // Fetch the subscription.
59
-        $subscription = new WPInv_Subscription( $subscription_id );
59
+        $subscription = new WPInv_Subscription($subscription_id);
60 60
 
61 61
         // Return subscription or use a fallback for backwards compatibility.
62
-        return $subscription->get_id() ? $subscription : wpinv_get_subscription( $invoice );
62
+        return $subscription->get_id() ? $subscription : wpinv_get_subscription($invoice);
63 63
     }
64 64
 
65 65
     /**
@@ -67,16 +67,16 @@  discard block
 block discarded – undo
67 67
      * 
68 68
      * @param WPInv_Invoice $invoice
69 69
      */
70
-    public function maybe_deactivate_invoice_subscription( $invoice ) {
70
+    public function maybe_deactivate_invoice_subscription($invoice) {
71 71
 
72
-        $subscription = $this->get_invoice_subscription( $invoice );
72
+        $subscription = $this->get_invoice_subscription($invoice);
73 73
 
74 74
         // Abort if the subscription is missing or not active.
75
-        if ( empty( $subscription ) || ! $subscription->is_active() ) {
75
+        if (empty($subscription) || !$subscription->is_active()) {
76 76
             return;
77 77
         }
78 78
 
79
-        $subscription->set_status( 'pending' );
79
+        $subscription->set_status('pending');
80 80
         $subscription->save();
81 81
 
82 82
     }
@@ -88,15 +88,15 @@  discard block
 block discarded – undo
88 88
      * @param string $from
89 89
      * @param string $to
90 90
 	 */
91
-    public function process_subscription_status_change( $subscription, $from, $to ) {
91
+    public function process_subscription_status_change($subscription, $from, $to) {
92 92
 
93 93
         $gateway = $subscription->get_gateway();
94 94
 
95
-        if ( ! empty( $gateway ) ) {
96
-            $gateway = sanitize_key( $gateway );
97
-            $from    = sanitize_key( $from );
98
-            $to      = sanitize_key( $to );
99
-            do_action( "getpaid_{$gateway}subscription_$to", $subscription, $from );
95
+        if (!empty($gateway)) {
96
+            $gateway = sanitize_key($gateway);
97
+            $from    = sanitize_key($from);
98
+            $to      = sanitize_key($to);
99
+            do_action("getpaid_{$gateway}subscription_$to", $subscription, $from);
100 100
         }
101 101
 
102 102
     }
@@ -109,8 +109,8 @@  discard block
 block discarded – undo
109 109
      * @deprecated
110 110
      * @return mixed|string|void
111 111
      */
112
-    public static function wpinv_get_pretty_subscription_frequency( $period, $frequency_count = 1 ) {
113
-        return getpaid_get_subscription_period_label( $period, $frequency_count );
112
+    public static function wpinv_get_pretty_subscription_frequency($period, $frequency_count = 1) {
113
+        return getpaid_get_subscription_period_label($period, $frequency_count);
114 114
     }
115 115
 
116 116
     /**
@@ -120,29 +120,29 @@  discard block
 block discarded – undo
120 120
      * @since       1.0.0
121 121
      * @return      void
122 122
      */
123
-    public function user_cancel_single_subscription( $data ) {
123
+    public function user_cancel_single_subscription($data) {
124 124
 
125 125
         // Ensure there is a subscription to cancel.
126
-        if ( empty( $data['subscription'] ) ) {
126
+        if (empty($data['subscription'])) {
127 127
             return;
128 128
         }
129 129
 
130
-        $subscription = new WPInv_Subscription( (int) $data['subscription'] );
130
+        $subscription = new WPInv_Subscription((int) $data['subscription']);
131 131
 
132 132
         // Ensure that it exists and that it belongs to the current user.
133
-        if ( ! $subscription->get_id() || $subscription->get_customer_id() != get_current_user_id() ) {
134
-            wpinv_set_error( 'invalid_subscription', __( 'You do not have permission to cancel this subscription', 'invoicing' ) );
133
+        if (!$subscription->get_id() || $subscription->get_customer_id() != get_current_user_id()) {
134
+            wpinv_set_error('invalid_subscription', __('You do not have permission to cancel this subscription', 'invoicing'));
135 135
 
136 136
         // Can it be cancelled.
137
-        } else if ( ! $subscription->can_cancel() ) {
138
-            wpinv_set_error( 'cannot_cancel', __( 'This subscription cannot be cancelled as it is not active.', 'invoicing' ) );
137
+        } else if (!$subscription->can_cancel()) {
138
+            wpinv_set_error('cannot_cancel', __('This subscription cannot be cancelled as it is not active.', 'invoicing'));
139 139
             
140 140
 
141 141
         // Cancel it.
142 142
         } else {
143 143
 
144 144
             $subscription->cancel();
145
-            wpinv_set_error( 'cancelled', __( 'This subscription has been cancelled.', 'invoicing' ), 'info' );
145
+            wpinv_set_error('cancelled', __('This subscription has been cancelled.', 'invoicing'), 'info');
146 146
         }
147 147
 
148 148
         $redirect = add_query_arg(
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
             )
153 153
         );
154 154
 
155
-        wp_safe_redirect( esc_url( $redirect ) );
155
+        wp_safe_redirect(esc_url($redirect));
156 156
         exit;
157 157
 
158 158
     }
@@ -164,15 +164,15 @@  discard block
 block discarded – undo
164 164
      * @param       WPInv_Invoice $invoice
165 165
      * @since       1.0.0
166 166
      */
167
-    public function maybe_create_invoice_subscription( $invoice ) {
167
+    public function maybe_create_invoice_subscription($invoice) {
168 168
 
169 169
         // Abort if it is not recurring.
170
-        if ( $invoice->is_free() || ! $invoice->is_recurring() || $invoice->is_renewal() ) {
170
+        if ($invoice->is_free() || !$invoice->is_recurring() || $invoice->is_renewal()) {
171 171
             return;
172 172
         }
173 173
 
174 174
         $subscription = new WPInv_Subscription();
175
-        return $this->update_invoice_subscription( $subscription, $invoice );
175
+        return $this->update_invoice_subscription($subscription, $invoice);
176 176
 
177 177
     }
178 178
 
@@ -183,31 +183,31 @@  discard block
 block discarded – undo
183 183
      * @param       WPInv_Invoice $invoice
184 184
      * @since       1.0.19
185 185
      */
186
-    public function maybe_update_invoice_subscription( $invoice ) {
186
+    public function maybe_update_invoice_subscription($invoice) {
187 187
 
188 188
         // Do not process renewals.
189
-        if ( $invoice->is_renewal() ) {
189
+        if ($invoice->is_renewal()) {
190 190
             return;
191 191
         }
192 192
 
193 193
         // (Maybe) create a new subscription.
194
-        if ( ! $invoice->get_subscription_id() ) {
195
-            return $this->maybe_create_invoice_subscription( $invoice );
194
+        if (!$invoice->get_subscription_id()) {
195
+            return $this->maybe_create_invoice_subscription($invoice);
196 196
         }
197 197
 
198
-        $subscription = new WPInv_Subscription( $invoice->get_subscription_id() );
198
+        $subscription = new WPInv_Subscription($invoice->get_subscription_id());
199 199
 
200 200
         // In case the subscription was deleted...
201
-        if ( ! $subscription->get_id() ) {
202
-            return $this->maybe_create_invoice_subscription( $invoice );
201
+        if (!$subscription->get_id()) {
202
+            return $this->maybe_create_invoice_subscription($invoice);
203 203
         }
204 204
 
205 205
         // Abort if an invoice is paid and already has a subscription.
206
-        if ( $invoice->is_paid() || $invoice->is_refunded() ) {
206
+        if ($invoice->is_paid() || $invoice->is_refunded()) {
207 207
             return;
208 208
         }
209 209
 
210
-        return $this->update_invoice_subscription( $subscription, $invoice );
210
+        return $this->update_invoice_subscription($subscription, $invoice);
211 211
 
212 212
     }
213 213
 
@@ -219,55 +219,55 @@  discard block
 block discarded – undo
219 219
      * @param       WPInv_Invoice $invoice
220 220
      * @since       1.0.19
221 221
      */
222
-    public function update_invoice_subscription( $subscription, $invoice ) {
222
+    public function update_invoice_subscription($subscription, $invoice) {
223 223
 
224 224
         // Delete the subscription if an invoice is free or nolonger recurring.
225
-        if ( $invoice->is_free() || ! $invoice->is_recurring() ) {
225
+        if ($invoice->is_free() || !$invoice->is_recurring()) {
226 226
             return $subscription->delete();
227 227
         }
228 228
 
229
-        $subscription->set_customer_id( $invoice->get_customer_id() );
230
-        $subscription->set_parent_invoice_id( $invoice->get_id() );
231
-        $subscription->set_initial_amount( $invoice->get_initial_total() );
232
-        $subscription->set_recurring_amount( $invoice->get_recurring_total() );
233
-        $subscription->set_date_created( current_time( 'mysql' ) );
234
-        $subscription->set_status( $invoice->is_paid() ? 'active' : 'pending' );
229
+        $subscription->set_customer_id($invoice->get_customer_id());
230
+        $subscription->set_parent_invoice_id($invoice->get_id());
231
+        $subscription->set_initial_amount($invoice->get_initial_total());
232
+        $subscription->set_recurring_amount($invoice->get_recurring_total());
233
+        $subscription->set_date_created(current_time('mysql'));
234
+        $subscription->set_status($invoice->is_paid() ? 'active' : 'pending');
235 235
 
236 236
         // Get the recurring item and abort if it does not exist.
237
-        $subscription_item = $invoice->get_recurring( true );
238
-        if ( ! $subscription_item->get_id() ) {
237
+        $subscription_item = $invoice->get_recurring(true);
238
+        if (!$subscription_item->get_id()) {
239 239
             $invoice->set_subscription_id(0);
240 240
             $invoice->save();
241 241
             return $subscription->delete();
242 242
         }
243 243
 
244
-        $subscription->set_product_id( $subscription_item->get_id() );
245
-        $subscription->set_period( $subscription_item->get_recurring_period( true ) );
246
-        $subscription->set_frequency( $subscription_item->get_recurring_interval() );
247
-        $subscription->set_bill_times( $subscription_item->get_recurring_limit() );
244
+        $subscription->set_product_id($subscription_item->get_id());
245
+        $subscription->set_period($subscription_item->get_recurring_period(true));
246
+        $subscription->set_frequency($subscription_item->get_recurring_interval());
247
+        $subscription->set_bill_times($subscription_item->get_recurring_limit());
248 248
 
249 249
         // Calculate the next renewal date.
250
-        $period       = $subscription_item->get_recurring_period( true );
250
+        $period       = $subscription_item->get_recurring_period(true);
251 251
         $interval     = $subscription_item->get_recurring_interval();
252 252
 
253 253
         // If the subscription item has a trial period...
254
-        if ( $subscription_item->has_free_trial() ) {
255
-            $period   = $subscription_item->get_trial_period( true );
254
+        if ($subscription_item->has_free_trial()) {
255
+            $period   = $subscription_item->get_trial_period(true);
256 256
             $interval = $subscription_item->get_trial_interval();
257
-            $subscription->set_trial_period( $interval . ' ' . $period );
258
-            $subscription->set_status( 'trialling' );
257
+            $subscription->set_trial_period($interval . ' ' . $period);
258
+            $subscription->set_status('trialling');
259 259
         }
260 260
 
261 261
         // If initial amount is free, treat it as a free trial even if the subscription item does not have a free trial.
262
-        if ( $invoice->has_free_trial() ) {
263
-            $subscription->set_trial_period( $interval . ' ' . $period );
264
-            $subscription->set_status( 'trialling' );
262
+        if ($invoice->has_free_trial()) {
263
+            $subscription->set_trial_period($interval . ' ' . $period);
264
+            $subscription->set_status('trialling');
265 265
         }
266 266
 
267 267
         // Calculate the next renewal date.
268
-        $expiration = date( 'Y-m-d H:i:s', strtotime( "+$interval $period", strtotime( $subscription->get_date_created() ) ) );
268
+        $expiration = date('Y-m-d H:i:s', strtotime("+$interval $period", strtotime($subscription->get_date_created())));
269 269
 
270
-        $subscription->set_next_renewal_date( $expiration );
270
+        $subscription->set_next_renewal_date($expiration);
271 271
         return $subscription->save();
272 272
 
273 273
     }
@@ -278,21 +278,21 @@  discard block
 block discarded – undo
278 278
      * @param       array $data
279 279
      * @since       1.0.19
280 280
      */
281
-    public function admin_update_single_subscription( $args ) {
281
+    public function admin_update_single_subscription($args) {
282 282
 
283 283
         // Ensure the subscription exists and that a status has been given.
284
-        if ( empty( $args['subscription_id'] ) || empty( $args['subscription_status'] ) ) {
284
+        if (empty($args['subscription_id']) || empty($args['subscription_status'])) {
285 285
             return;
286 286
         }
287 287
 
288 288
         // Retrieve the subscriptions.
289
-        $subscription = new WPInv_Subscription( $args['subscription_id'] );
289
+        $subscription = new WPInv_Subscription($args['subscription_id']);
290 290
 
291
-        if ( $subscription->get_id() ) {
291
+        if ($subscription->get_id()) {
292 292
 
293
-            $subscription->set_status( $args['subscription_status'] );
293
+            $subscription->set_status($args['subscription_status']);
294 294
             $subscription->save();
295
-            getpaid_admin()->show_info( __( 'Your changes have been saved', 'invoicing' ) );
295
+            getpaid_admin()->show_info(__('Your changes have been saved', 'invoicing'));
296 296
 
297 297
         }
298 298
 
@@ -304,25 +304,25 @@  discard block
 block discarded – undo
304 304
      * @param       array $data
305 305
      * @since       1.0.19
306 306
      */
307
-    public function admin_renew_single_subscription( $args ) {
307
+    public function admin_renew_single_subscription($args) {
308 308
 
309 309
         // Ensure the subscription exists and that a status has been given.
310
-        if ( empty( $args['id'] ) ) {
310
+        if (empty($args['id'])) {
311 311
             return;
312 312
         }
313 313
 
314 314
         // Retrieve the subscriptions.
315
-        $subscription = new WPInv_Subscription( $args['id'] );
315
+        $subscription = new WPInv_Subscription($args['id']);
316 316
 
317
-        if ( $subscription->get_id() ) {
317
+        if ($subscription->get_id()) {
318 318
 
319
-            $args = array( 'transaction_id', $subscription->get_parent_invoice()->generate_key( 'renewal_' ) );
319
+            $args = array('transaction_id', $subscription->get_parent_invoice()->generate_key('renewal_'));
320 320
 
321
-            if ( $subscription->add_payment( $args ) ) {
321
+            if ($subscription->add_payment($args)) {
322 322
                 $subscription->renew();
323
-                getpaid_admin()->show_info( __( 'This subscription has been renewed and extended.', 'invoicing' ) );
323
+                getpaid_admin()->show_info(__('This subscription has been renewed and extended.', 'invoicing'));
324 324
             } else {
325
-                getpaid_admin()->show_error( __( 'We are unable to renew this subscription as the parent invoice does not exist.', 'invoicing' ) );
325
+                getpaid_admin()->show_error(__('We are unable to renew this subscription as the parent invoice does not exist.', 'invoicing'));
326 326
             }
327 327
     
328 328
             wp_safe_redirect(
@@ -345,20 +345,20 @@  discard block
 block discarded – undo
345 345
      * @param       array $data
346 346
      * @since       1.0.19
347 347
      */
348
-    public function admin_delete_single_subscription( $args ) {
348
+    public function admin_delete_single_subscription($args) {
349 349
 
350 350
         // Ensure the subscription exists and that a status has been given.
351
-        if ( empty( $args['id'] ) ) {
351
+        if (empty($args['id'])) {
352 352
             return;
353 353
         }
354 354
 
355 355
         // Retrieve the subscriptions.
356
-        $subscription = new WPInv_Subscription( $args['id'] );
356
+        $subscription = new WPInv_Subscription($args['id']);
357 357
 
358
-        if ( $subscription->delete() ) {
359
-            getpaid_admin()->show_info( __( 'This subscription has been deleted.', 'invoicing' ) );
358
+        if ($subscription->delete()) {
359
+            getpaid_admin()->show_info(__('This subscription has been deleted.', 'invoicing'));
360 360
         } else {
361
-            getpaid_admin()->show_error( __( 'We are unable to delete this subscription. Please try again.', 'invoicing' ) );
361
+            getpaid_admin()->show_error(__('We are unable to delete this subscription. Please try again.', 'invoicing'));
362 362
         }
363 363
     
364 364
         $redirected = wp_safe_redirect(
@@ -371,7 +371,7 @@  discard block
 block discarded – undo
371 371
             )
372 372
         );
373 373
 
374
-        if ( $redirected ) {
374
+        if ($redirected) {
375 375
             exit;
376 376
         }
377 377
 
@@ -384,10 +384,10 @@  discard block
 block discarded – undo
384 384
      * @param WPInv_Item $item
385 385
      * @param WPInv_Invoice $invoice
386 386
      */
387
-    public function filter_invoice_line_item_actions( $actions, $item, $invoice ) {
387
+    public function filter_invoice_line_item_actions($actions, $item, $invoice) {
388 388
 
389 389
         // Fetch item subscription.
390
-        $args  = array(
390
+        $args = array(
391 391
             'invoice_in'  => $invoice->is_parent() ? $invoice->get_id() : $invoice->get_parent_id(),
392 392
             'item_in'     => $item->get_id(),
393 393
             'number'      => 1,
@@ -395,13 +395,13 @@  discard block
 block discarded – undo
395 395
             'fields'      => 'id',
396 396
         );
397 397
 
398
-        $subscription = new GetPaid_Subscriptions_Query( $args );
398
+        $subscription = new GetPaid_Subscriptions_Query($args);
399 399
         $subscription = $subscription->get_results();
400 400
 
401 401
         // In case we found a match...
402
-        if ( ! empty( $subscription ) ) {
403
-            $url                     = esc_url( add_query_arg( 'subscription', (int) $subscription[0], get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ) );
404
-            $actions['subscription'] = "<a href='$url' class='text-decoration-none'>" . __( 'Manage Subscription', 'getpaid-license-manager' ) . '</a>';
402
+        if (!empty($subscription)) {
403
+            $url                     = esc_url(add_query_arg('subscription', (int) $subscription[0], get_permalink((int) wpinv_get_option('invoice_subscription_page'))));
404
+            $actions['subscription'] = "<a href='$url' class='text-decoration-none'>" . __('Manage Subscription', 'getpaid-license-manager') . '</a>';
405 405
         }
406 406
 
407 407
         return $actions;
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-item-data-store.php 2 patches
Indentation   +209 added lines, -209 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 if ( ! defined( 'ABSPATH' ) ) {
7
-	exit;
7
+    exit;
8 8
 }
9 9
 
10 10
 /**
@@ -14,228 +14,228 @@  discard block
 block discarded – undo
14 14
  */
15 15
 class GetPaid_Item_Data_Store extends GetPaid_Data_Store_WP {
16 16
 
17
-	/**
18
-	 * Data stored in meta keys, but not considered "meta" for an item.
19
-	 *
20
-	 * @since 1.0.19
21
-	 * @var array
22
-	 */
23
-	protected $internal_meta_keys = array(
24
-		'_wpinv_price',
25
-		'_wpinv_vat_rule',
26
-		'_wpinv_vat_class',
27
-		'_wpinv_type',
28
-		'_wpinv_custom_id',
29
-		'_wpinv_custom_name',
30
-		'_wpinv_custom_singular_name',
31
-		'_wpinv_editable',
32
-		'_wpinv_dynamic_pricing',
33
-		'_minimum_price',
34
-		'_wpinv_is_recurring',
35
-		'_wpinv_recurring_period',
36
-		'_wpinv_recurring_interval',
37
-		'_wpinv_recurring_limit',
38
-		'_wpinv_free_trial',
39
-		'_wpinv_trial_period',
40
-		'_wpinv_trial_interval'
41
-	);
42
-
43
-	/**
44
-	 * A map of meta keys to data props.
45
-	 *
46
-	 * @since 1.0.19
47
-	 *
48
-	 * @var array
49
-	 */
50
-	protected $meta_key_to_props = array(
51
-		'_wpinv_price'                => 'price',
52
-		'_wpinv_vat_rule'             => 'vat_rule',
53
-		'_wpinv_vat_class'            => 'vat_class',
54
-		'_wpinv_type'                 => 'type',
55
-		'_wpinv_custom_id'            => 'custom_id',
56
-		'_wpinv_custom_name'          => 'custom_name',
57
-		'_wpinv_custom_singular_name' => 'custom_singular_name',
58
-		'_wpinv_editable'             => 'is_editable',
59
-		'_wpinv_dynamic_pricing'      => 'is_dynamic_pricing',
60
-		'_minimum_price'              => 'minimum_price',
61
-		'_wpinv_custom_name'          => 'custom_name',
62
-		'_wpinv_is_recurring'         => 'is_recurring',
63
-		'_wpinv_recurring_period'     => 'recurring_period',
64
-		'_wpinv_recurring_interval'   => 'recurring_interval',
65
-		'_wpinv_recurring_limit'      => 'recurring_limit',
66
-		'_wpinv_free_trial'           => 'is_free_trial',
67
-		'_wpinv_trial_period'         => 'trial_period',
68
-		'_wpinv_trial_interval'       => 'trial_interval',
69
-		'_wpinv_version'              => 'version',
70
-	);
71
-
72
-	/*
17
+    /**
18
+     * Data stored in meta keys, but not considered "meta" for an item.
19
+     *
20
+     * @since 1.0.19
21
+     * @var array
22
+     */
23
+    protected $internal_meta_keys = array(
24
+        '_wpinv_price',
25
+        '_wpinv_vat_rule',
26
+        '_wpinv_vat_class',
27
+        '_wpinv_type',
28
+        '_wpinv_custom_id',
29
+        '_wpinv_custom_name',
30
+        '_wpinv_custom_singular_name',
31
+        '_wpinv_editable',
32
+        '_wpinv_dynamic_pricing',
33
+        '_minimum_price',
34
+        '_wpinv_is_recurring',
35
+        '_wpinv_recurring_period',
36
+        '_wpinv_recurring_interval',
37
+        '_wpinv_recurring_limit',
38
+        '_wpinv_free_trial',
39
+        '_wpinv_trial_period',
40
+        '_wpinv_trial_interval'
41
+    );
42
+
43
+    /**
44
+     * A map of meta keys to data props.
45
+     *
46
+     * @since 1.0.19
47
+     *
48
+     * @var array
49
+     */
50
+    protected $meta_key_to_props = array(
51
+        '_wpinv_price'                => 'price',
52
+        '_wpinv_vat_rule'             => 'vat_rule',
53
+        '_wpinv_vat_class'            => 'vat_class',
54
+        '_wpinv_type'                 => 'type',
55
+        '_wpinv_custom_id'            => 'custom_id',
56
+        '_wpinv_custom_name'          => 'custom_name',
57
+        '_wpinv_custom_singular_name' => 'custom_singular_name',
58
+        '_wpinv_editable'             => 'is_editable',
59
+        '_wpinv_dynamic_pricing'      => 'is_dynamic_pricing',
60
+        '_minimum_price'              => 'minimum_price',
61
+        '_wpinv_custom_name'          => 'custom_name',
62
+        '_wpinv_is_recurring'         => 'is_recurring',
63
+        '_wpinv_recurring_period'     => 'recurring_period',
64
+        '_wpinv_recurring_interval'   => 'recurring_interval',
65
+        '_wpinv_recurring_limit'      => 'recurring_limit',
66
+        '_wpinv_free_trial'           => 'is_free_trial',
67
+        '_wpinv_trial_period'         => 'trial_period',
68
+        '_wpinv_trial_interval'       => 'trial_interval',
69
+        '_wpinv_version'              => 'version',
70
+    );
71
+
72
+    /*
73 73
 	|--------------------------------------------------------------------------
74 74
 	| CRUD Methods
75 75
 	|--------------------------------------------------------------------------
76 76
 	*/
77 77
 
78
-	/**
79
-	 * Method to create a new item in the database.
80
-	 *
81
-	 * @param WPInv_Item $item Item object.
82
-	 */
83
-	public function create( &$item ) {
84
-		$item->set_version( WPINV_VERSION );
85
-		$item->set_date_created( current_time('mysql') );
86
-
87
-		// Create a new post.
88
-		$id = wp_insert_post(
89
-			apply_filters(
90
-				'getpaid_new_item_data',
91
-				array(
92
-					'post_date'     => $item->get_date_created( 'edit' ),
93
-					'post_type'     => 'wpi_item',
94
-					'post_status'   => $this->get_post_status( $item ),
95
-					'ping_status'   => 'closed',
96
-					'post_author'   => $item->get_author( 'edit' ),
97
-					'post_title'    => $item->get_name( 'edit' ),
98
-					'post_parent'   => 0,
99
-					'post_excerpt'  => $item->get_description( 'edit' ),
100
-				)
101
-			),
102
-			true
103
-		);
104
-
105
-		if ( $id && ! is_wp_error( $id ) ) {
106
-			$item->set_id( $id );
107
-			$this->update_post_meta( $item );
108
-			$item->save_meta_data();
109
-			$item->apply_changes();
110
-			$this->clear_caches( $item );
111
-			do_action( 'getpaid_new_item', $item );
112
-			return true;
113
-		}
114
-
115
-		if ( is_wp_error( $id ) ) {
116
-			$item->last_error = $id->get_error_message();
117
-		}
78
+    /**
79
+     * Method to create a new item in the database.
80
+     *
81
+     * @param WPInv_Item $item Item object.
82
+     */
83
+    public function create( &$item ) {
84
+        $item->set_version( WPINV_VERSION );
85
+        $item->set_date_created( current_time('mysql') );
86
+
87
+        // Create a new post.
88
+        $id = wp_insert_post(
89
+            apply_filters(
90
+                'getpaid_new_item_data',
91
+                array(
92
+                    'post_date'     => $item->get_date_created( 'edit' ),
93
+                    'post_type'     => 'wpi_item',
94
+                    'post_status'   => $this->get_post_status( $item ),
95
+                    'ping_status'   => 'closed',
96
+                    'post_author'   => $item->get_author( 'edit' ),
97
+                    'post_title'    => $item->get_name( 'edit' ),
98
+                    'post_parent'   => 0,
99
+                    'post_excerpt'  => $item->get_description( 'edit' ),
100
+                )
101
+            ),
102
+            true
103
+        );
104
+
105
+        if ( $id && ! is_wp_error( $id ) ) {
106
+            $item->set_id( $id );
107
+            $this->update_post_meta( $item );
108
+            $item->save_meta_data();
109
+            $item->apply_changes();
110
+            $this->clear_caches( $item );
111
+            do_action( 'getpaid_new_item', $item );
112
+            return true;
113
+        }
114
+
115
+        if ( is_wp_error( $id ) ) {
116
+            $item->last_error = $id->get_error_message();
117
+        }
118 118
 		
119
-		return false;
120
-	}
121
-
122
-	/**
123
-	 * Method to read an item from the database.
124
-	 *
125
-	 * @param WPInv_Item $item Item object.
126
-	 *
127
-	 */
128
-	public function read( &$item ) {
129
-
130
-		$item->set_defaults();
131
-		$item_object = get_post( $item->get_id() );
132
-
133
-		if ( ! $item->get_id() || ! $item_object || $item_object->post_type != 'wpi_item' ) {
134
-			$item->last_error = __( 'Invalid item.', 'invoicing' );
135
-			$item->set_id( 0 );
136
-			return false;
137
-		}
138
-
139
-		$item->set_props(
140
-			array(
141
-				'parent_id'     => $item_object->post_parent,
142
-				'date_created'  => 0 < $item_object->post_date ? $item_object->post_date : null,
143
-				'date_modified' => 0 < $item_object->post_modified ? $item_object->post_modified : null,
144
-				'status'        => $item_object->post_status,
145
-				'name'          => $item_object->post_title,
146
-				'description'   => $item_object->post_excerpt,
147
-				'author'        => $item_object->post_author,
148
-			)
149
-		);
150
-
151
-		$this->read_object_data( $item, $item_object );
152
-		$item->read_meta_data();
153
-		$item->set_object_read( true );
154
-		do_action( 'getpaid_read_item', $item );
155
-
156
-	}
157
-
158
-	/**
159
-	 * Method to update an item in the database.
160
-	 *
161
-	 * @param WPInv_Item $item Item object.
162
-	 */
163
-	public function update( &$item ) {
164
-		$item->save_meta_data();
165
-		$item->set_version( WPINV_VERSION );
166
-
167
-		if ( null === $item->get_date_created( 'edit' ) ) {
168
-			$item->set_date_created(  current_time('mysql') );
169
-		}
170
-
171
-		// Grab the current status so we can compare.
172
-		$previous_status = get_post_status( $item->get_id() );
173
-
174
-		$changes = $item->get_changes();
175
-
176
-		// Only update the post when the post data changes.
177
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'parent_id', 'post_excerpt', 'name', 'author' ), array_keys( $changes ) ) ) {
178
-			$post_data = array(
179
-				'post_date'         => $item->get_date_created( 'edit' ),
180
-				'post_status'       => $item->get_status( 'edit' ),
181
-				'post_parent'       => $item->get_parent_id( 'edit' ),
182
-				'post_excerpt'      => $item->get_description( 'edit' ),
183
-				'post_modified'     => $item->get_date_modified( 'edit' ),
184
-				'post_title'        => $item->get_name( 'edit' ),
185
-				'post_author'       => $item->get_author( 'edit' ),
186
-			);
187
-
188
-			/**
189
-			 * When updating this object, to prevent infinite loops, use $wpdb
190
-			 * to update data, since wp_update_post spawns more calls to the
191
-			 * save_post action.
192
-			 *
193
-			 * This ensures hooks are fired by either WP itself (admin screen save),
194
-			 * or an update purely from CRUD.
195
-			 */
196
-			if ( doing_action( 'save_post' ) ) {
197
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $item->get_id() ) );
198
-				clean_post_cache( $item->get_id() );
199
-			} else {
200
-				wp_update_post( array_merge( array( 'ID' => $item->get_id() ), $post_data ) );
201
-			}
202
-			$item->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
203
-		}
204
-		$this->update_post_meta( $item );
205
-		$item->apply_changes();
206
-		$this->clear_caches( $item );
207
-
208
-		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
209
-		$new_status = $item->get_status( 'edit' );
210
-
211
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
212
-			do_action( 'getpaid_new_item', $item );
213
-		} else {
214
-			do_action( 'getpaid_update_item', $item );
215
-		}
216
-
217
-	}
218
-
219
-	/*
119
+        return false;
120
+    }
121
+
122
+    /**
123
+     * Method to read an item from the database.
124
+     *
125
+     * @param WPInv_Item $item Item object.
126
+     *
127
+     */
128
+    public function read( &$item ) {
129
+
130
+        $item->set_defaults();
131
+        $item_object = get_post( $item->get_id() );
132
+
133
+        if ( ! $item->get_id() || ! $item_object || $item_object->post_type != 'wpi_item' ) {
134
+            $item->last_error = __( 'Invalid item.', 'invoicing' );
135
+            $item->set_id( 0 );
136
+            return false;
137
+        }
138
+
139
+        $item->set_props(
140
+            array(
141
+                'parent_id'     => $item_object->post_parent,
142
+                'date_created'  => 0 < $item_object->post_date ? $item_object->post_date : null,
143
+                'date_modified' => 0 < $item_object->post_modified ? $item_object->post_modified : null,
144
+                'status'        => $item_object->post_status,
145
+                'name'          => $item_object->post_title,
146
+                'description'   => $item_object->post_excerpt,
147
+                'author'        => $item_object->post_author,
148
+            )
149
+        );
150
+
151
+        $this->read_object_data( $item, $item_object );
152
+        $item->read_meta_data();
153
+        $item->set_object_read( true );
154
+        do_action( 'getpaid_read_item', $item );
155
+
156
+    }
157
+
158
+    /**
159
+     * Method to update an item in the database.
160
+     *
161
+     * @param WPInv_Item $item Item object.
162
+     */
163
+    public function update( &$item ) {
164
+        $item->save_meta_data();
165
+        $item->set_version( WPINV_VERSION );
166
+
167
+        if ( null === $item->get_date_created( 'edit' ) ) {
168
+            $item->set_date_created(  current_time('mysql') );
169
+        }
170
+
171
+        // Grab the current status so we can compare.
172
+        $previous_status = get_post_status( $item->get_id() );
173
+
174
+        $changes = $item->get_changes();
175
+
176
+        // Only update the post when the post data changes.
177
+        if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'parent_id', 'post_excerpt', 'name', 'author' ), array_keys( $changes ) ) ) {
178
+            $post_data = array(
179
+                'post_date'         => $item->get_date_created( 'edit' ),
180
+                'post_status'       => $item->get_status( 'edit' ),
181
+                'post_parent'       => $item->get_parent_id( 'edit' ),
182
+                'post_excerpt'      => $item->get_description( 'edit' ),
183
+                'post_modified'     => $item->get_date_modified( 'edit' ),
184
+                'post_title'        => $item->get_name( 'edit' ),
185
+                'post_author'       => $item->get_author( 'edit' ),
186
+            );
187
+
188
+            /**
189
+             * When updating this object, to prevent infinite loops, use $wpdb
190
+             * to update data, since wp_update_post spawns more calls to the
191
+             * save_post action.
192
+             *
193
+             * This ensures hooks are fired by either WP itself (admin screen save),
194
+             * or an update purely from CRUD.
195
+             */
196
+            if ( doing_action( 'save_post' ) ) {
197
+                $GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $item->get_id() ) );
198
+                clean_post_cache( $item->get_id() );
199
+            } else {
200
+                wp_update_post( array_merge( array( 'ID' => $item->get_id() ), $post_data ) );
201
+            }
202
+            $item->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
203
+        }
204
+        $this->update_post_meta( $item );
205
+        $item->apply_changes();
206
+        $this->clear_caches( $item );
207
+
208
+        // Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
209
+        $new_status = $item->get_status( 'edit' );
210
+
211
+        if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
212
+            do_action( 'getpaid_new_item', $item );
213
+        } else {
214
+            do_action( 'getpaid_update_item', $item );
215
+        }
216
+
217
+    }
218
+
219
+    /*
220 220
 	|--------------------------------------------------------------------------
221 221
 	| Additional Methods
222 222
 	|--------------------------------------------------------------------------
223 223
 	*/
224 224
 
225
-	/**
226
-	 * Helper method that updates all the post meta for an item based on it's settings in the WPInv_Item class.
227
-	 *
228
-	 * @param WPInv_Item $item WPInv_Item object.
229
-	 * @since 1.0.19
230
-	 */
231
-	protected function update_post_meta( &$item ) {
225
+    /**
226
+     * Helper method that updates all the post meta for an item based on it's settings in the WPInv_Item class.
227
+     *
228
+     * @param WPInv_Item $item WPInv_Item object.
229
+     * @since 1.0.19
230
+     */
231
+    protected function update_post_meta( &$item ) {
232 232
 
233
-		// Ensure that we have a custom id.
233
+        // Ensure that we have a custom id.
234 234
         if ( ! $item->get_custom_id() ) {
235 235
             $item->set_custom_id( $item->get_id() );
236
-		}
236
+        }
237 237
 
238
-		parent::update_post_meta( $item );
239
-	}
238
+        parent::update_post_meta( $item );
239
+    }
240 240
 
241 241
 }
Please login to merge, or discard this patch.
Spacing   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * GetPaid_Item_Data_Store class file.
4 4
  *
5 5
  */
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
 	exit;
8 8
 }
9 9
 
@@ -80,39 +80,39 @@  discard block
 block discarded – undo
80 80
 	 *
81 81
 	 * @param WPInv_Item $item Item object.
82 82
 	 */
83
-	public function create( &$item ) {
84
-		$item->set_version( WPINV_VERSION );
85
-		$item->set_date_created( current_time('mysql') );
83
+	public function create(&$item) {
84
+		$item->set_version(WPINV_VERSION);
85
+		$item->set_date_created(current_time('mysql'));
86 86
 
87 87
 		// Create a new post.
88 88
 		$id = wp_insert_post(
89 89
 			apply_filters(
90 90
 				'getpaid_new_item_data',
91 91
 				array(
92
-					'post_date'     => $item->get_date_created( 'edit' ),
92
+					'post_date'     => $item->get_date_created('edit'),
93 93
 					'post_type'     => 'wpi_item',
94
-					'post_status'   => $this->get_post_status( $item ),
94
+					'post_status'   => $this->get_post_status($item),
95 95
 					'ping_status'   => 'closed',
96
-					'post_author'   => $item->get_author( 'edit' ),
97
-					'post_title'    => $item->get_name( 'edit' ),
96
+					'post_author'   => $item->get_author('edit'),
97
+					'post_title'    => $item->get_name('edit'),
98 98
 					'post_parent'   => 0,
99
-					'post_excerpt'  => $item->get_description( 'edit' ),
99
+					'post_excerpt'  => $item->get_description('edit'),
100 100
 				)
101 101
 			),
102 102
 			true
103 103
 		);
104 104
 
105
-		if ( $id && ! is_wp_error( $id ) ) {
106
-			$item->set_id( $id );
107
-			$this->update_post_meta( $item );
105
+		if ($id && !is_wp_error($id)) {
106
+			$item->set_id($id);
107
+			$this->update_post_meta($item);
108 108
 			$item->save_meta_data();
109 109
 			$item->apply_changes();
110
-			$this->clear_caches( $item );
111
-			do_action( 'getpaid_new_item', $item );
110
+			$this->clear_caches($item);
111
+			do_action('getpaid_new_item', $item);
112 112
 			return true;
113 113
 		}
114 114
 
115
-		if ( is_wp_error( $id ) ) {
115
+		if (is_wp_error($id)) {
116 116
 			$item->last_error = $id->get_error_message();
117 117
 		}
118 118
 		
@@ -125,14 +125,14 @@  discard block
 block discarded – undo
125 125
 	 * @param WPInv_Item $item Item object.
126 126
 	 *
127 127
 	 */
128
-	public function read( &$item ) {
128
+	public function read(&$item) {
129 129
 
130 130
 		$item->set_defaults();
131
-		$item_object = get_post( $item->get_id() );
131
+		$item_object = get_post($item->get_id());
132 132
 
133
-		if ( ! $item->get_id() || ! $item_object || $item_object->post_type != 'wpi_item' ) {
134
-			$item->last_error = __( 'Invalid item.', 'invoicing' );
135
-			$item->set_id( 0 );
133
+		if (!$item->get_id() || !$item_object || $item_object->post_type != 'wpi_item') {
134
+			$item->last_error = __('Invalid item.', 'invoicing');
135
+			$item->set_id(0);
136 136
 			return false;
137 137
 		}
138 138
 
@@ -148,10 +148,10 @@  discard block
 block discarded – undo
148 148
 			)
149 149
 		);
150 150
 
151
-		$this->read_object_data( $item, $item_object );
151
+		$this->read_object_data($item, $item_object);
152 152
 		$item->read_meta_data();
153
-		$item->set_object_read( true );
154
-		do_action( 'getpaid_read_item', $item );
153
+		$item->set_object_read(true);
154
+		do_action('getpaid_read_item', $item);
155 155
 
156 156
 	}
157 157
 
@@ -160,29 +160,29 @@  discard block
 block discarded – undo
160 160
 	 *
161 161
 	 * @param WPInv_Item $item Item object.
162 162
 	 */
163
-	public function update( &$item ) {
163
+	public function update(&$item) {
164 164
 		$item->save_meta_data();
165
-		$item->set_version( WPINV_VERSION );
165
+		$item->set_version(WPINV_VERSION);
166 166
 
167
-		if ( null === $item->get_date_created( 'edit' ) ) {
168
-			$item->set_date_created(  current_time('mysql') );
167
+		if (null === $item->get_date_created('edit')) {
168
+			$item->set_date_created(current_time('mysql'));
169 169
 		}
170 170
 
171 171
 		// Grab the current status so we can compare.
172
-		$previous_status = get_post_status( $item->get_id() );
172
+		$previous_status = get_post_status($item->get_id());
173 173
 
174 174
 		$changes = $item->get_changes();
175 175
 
176 176
 		// Only update the post when the post data changes.
177
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'parent_id', 'post_excerpt', 'name', 'author' ), array_keys( $changes ) ) ) {
177
+		if (array_intersect(array('date_created', 'date_modified', 'status', 'parent_id', 'post_excerpt', 'name', 'author'), array_keys($changes))) {
178 178
 			$post_data = array(
179
-				'post_date'         => $item->get_date_created( 'edit' ),
180
-				'post_status'       => $item->get_status( 'edit' ),
181
-				'post_parent'       => $item->get_parent_id( 'edit' ),
182
-				'post_excerpt'      => $item->get_description( 'edit' ),
183
-				'post_modified'     => $item->get_date_modified( 'edit' ),
184
-				'post_title'        => $item->get_name( 'edit' ),
185
-				'post_author'       => $item->get_author( 'edit' ),
179
+				'post_date'         => $item->get_date_created('edit'),
180
+				'post_status'       => $item->get_status('edit'),
181
+				'post_parent'       => $item->get_parent_id('edit'),
182
+				'post_excerpt'      => $item->get_description('edit'),
183
+				'post_modified'     => $item->get_date_modified('edit'),
184
+				'post_title'        => $item->get_name('edit'),
185
+				'post_author'       => $item->get_author('edit'),
186 186
 			);
187 187
 
188 188
 			/**
@@ -193,25 +193,25 @@  discard block
 block discarded – undo
193 193
 			 * This ensures hooks are fired by either WP itself (admin screen save),
194 194
 			 * or an update purely from CRUD.
195 195
 			 */
196
-			if ( doing_action( 'save_post' ) ) {
197
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $item->get_id() ) );
198
-				clean_post_cache( $item->get_id() );
196
+			if (doing_action('save_post')) {
197
+				$GLOBALS['wpdb']->update($GLOBALS['wpdb']->posts, $post_data, array('ID' => $item->get_id()));
198
+				clean_post_cache($item->get_id());
199 199
 			} else {
200
-				wp_update_post( array_merge( array( 'ID' => $item->get_id() ), $post_data ) );
200
+				wp_update_post(array_merge(array('ID' => $item->get_id()), $post_data));
201 201
 			}
202
-			$item->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
202
+			$item->read_meta_data(true); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
203 203
 		}
204
-		$this->update_post_meta( $item );
204
+		$this->update_post_meta($item);
205 205
 		$item->apply_changes();
206
-		$this->clear_caches( $item );
206
+		$this->clear_caches($item);
207 207
 
208 208
 		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
209
-		$new_status = $item->get_status( 'edit' );
209
+		$new_status = $item->get_status('edit');
210 210
 
211
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
212
-			do_action( 'getpaid_new_item', $item );
211
+		if ($new_status !== $previous_status && in_array($previous_status, array('new', 'auto-draft', 'draft'), true)) {
212
+			do_action('getpaid_new_item', $item);
213 213
 		} else {
214
-			do_action( 'getpaid_update_item', $item );
214
+			do_action('getpaid_update_item', $item);
215 215
 		}
216 216
 
217 217
 	}
@@ -228,14 +228,14 @@  discard block
 block discarded – undo
228 228
 	 * @param WPInv_Item $item WPInv_Item object.
229 229
 	 * @since 1.0.19
230 230
 	 */
231
-	protected function update_post_meta( &$item ) {
231
+	protected function update_post_meta(&$item) {
232 232
 
233 233
 		// Ensure that we have a custom id.
234
-        if ( ! $item->get_custom_id() ) {
235
-            $item->set_custom_id( $item->get_id() );
234
+        if (!$item->get_custom_id()) {
235
+            $item->set_custom_id($item->get_id());
236 236
 		}
237 237
 
238
-		parent::update_post_meta( $item );
238
+		parent::update_post_meta($item);
239 239
 	}
240 240
 
241 241
 }
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-payment-form-data-store.php 2 patches
Indentation   +169 added lines, -169 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 if ( ! defined( 'ABSPATH' ) ) {
7
-	exit;
7
+    exit;
8 8
 }
9 9
 
10 10
 /**
@@ -14,179 +14,179 @@  discard block
 block discarded – undo
14 14
  */
15 15
 class GetPaid_Payment_Form_Data_Store extends GetPaid_Data_Store_WP {
16 16
 
17
-	/**
18
-	 * Data stored in meta keys, but not considered "meta" for a form.
19
-	 *
20
-	 * @since 1.0.19
21
-	 * @var array
22
-	 */
23
-	protected $internal_meta_keys = array(
24
-		'wpinv_form_elements',
25
-		'wpinv_form_items',
26
-		'wpinv_form_earned',
27
-		'wpinv_form_refunded',
28
-		'wpinv_form_cancelled',
29
-		'wpinv_form_failed'
30
-	);
31
-
32
-	/**
33
-	 * A map of meta keys to data props.
34
-	 *
35
-	 * @since 1.0.19
36
-	 *
37
-	 * @var array
38
-	 */
39
-	protected $meta_key_to_props = array(
40
-		'wpinv_form_elements'  => 'elements',
41
-		'wpinv_form_items'     => 'items',
42
-		'wpinv_form_earned'    => 'earned',
43
-		'wpinv_form_refunded'  => 'refunded',
44
-		'wpinv_form_cancelled' => 'cancelled',
45
-		'wpinv_form_failed'    => 'failed',
46
-	);
47
-
48
-	/*
17
+    /**
18
+     * Data stored in meta keys, but not considered "meta" for a form.
19
+     *
20
+     * @since 1.0.19
21
+     * @var array
22
+     */
23
+    protected $internal_meta_keys = array(
24
+        'wpinv_form_elements',
25
+        'wpinv_form_items',
26
+        'wpinv_form_earned',
27
+        'wpinv_form_refunded',
28
+        'wpinv_form_cancelled',
29
+        'wpinv_form_failed'
30
+    );
31
+
32
+    /**
33
+     * A map of meta keys to data props.
34
+     *
35
+     * @since 1.0.19
36
+     *
37
+     * @var array
38
+     */
39
+    protected $meta_key_to_props = array(
40
+        'wpinv_form_elements'  => 'elements',
41
+        'wpinv_form_items'     => 'items',
42
+        'wpinv_form_earned'    => 'earned',
43
+        'wpinv_form_refunded'  => 'refunded',
44
+        'wpinv_form_cancelled' => 'cancelled',
45
+        'wpinv_form_failed'    => 'failed',
46
+    );
47
+
48
+    /*
49 49
 	|--------------------------------------------------------------------------
50 50
 	| CRUD Methods
51 51
 	|--------------------------------------------------------------------------
52 52
 	*/
53 53
 
54
-	/**
55
-	 * Method to create a new form in the database.
56
-	 *
57
-	 * @param GetPaid_Payment_Form $form Form object.
58
-	 */
59
-	public function create( &$form ) {
60
-		$form->set_version( WPINV_VERSION );
61
-		$form->set_date_created( current_time('mysql') );
62
-
63
-		// Create a new post.
64
-		$id = wp_insert_post(
65
-			apply_filters(
66
-				'getpaid_new_payment_form_data',
67
-				array(
68
-					'post_date'     => $form->get_date_created( 'edit' ),
69
-					'post_type'     => 'wpi_payment_form',
70
-					'post_status'   => $this->get_post_status( $form ),
71
-					'ping_status'   => 'closed',
72
-					'post_author'   => $form->get_author( 'edit' ),
73
-					'post_title'    => $form->get_name( 'edit' ),
74
-				)
75
-			),
76
-			true
77
-		);
78
-
79
-		if ( $id && ! is_wp_error( $id ) ) {
80
-			$form->set_id( $id );
81
-			$this->update_post_meta( $form );
82
-			$form->save_meta_data();
83
-			$form->apply_changes();
84
-			$this->clear_caches( $form );
85
-			do_action( 'getpaid_create_payment_form', $form );
86
-			return true;
87
-		}
88
-
89
-		if ( is_wp_error( $id ) ) {
90
-			$form->last_error = $id->get_error_message();
91
-		}
92
-
93
-		return false;
94
-	}
95
-
96
-	/**
97
-	 * Method to read a form from the database.
98
-	 *
99
-	 * @param GetPaid_Payment_Form $form Form object.
100
-	 *
101
-	 */
102
-	public function read( &$form ) {
103
-
104
-		$form->set_defaults();
105
-		$form_object = get_post( $form->get_id() );
106
-
107
-		if ( ! $form->get_id() || ! $form_object || $form_object->post_type != 'wpi_payment_form' ) {
108
-			$form->last_error = __( 'Invalid form.', 'invoicing' );
109
-			$form->set_id( 0 );
110
-			return false;
111
-		}
112
-
113
-		$form->set_props(
114
-			array(
115
-				'date_created'  => 0 < $form_object->post_date ? $form_object->post_date : null,
116
-				'date_modified' => 0 < $form_object->post_modified ? $form_object->post_modified : null,
117
-				'status'        => $form_object->post_status,
118
-				'name'          => $form_object->post_title,
119
-				'author'        => $form_object->post_author,
120
-			)
121
-		);
122
-
123
-		$this->read_object_data( $form, $form_object );
124
-		$form->read_meta_data();
125
-		$form->set_object_read( true );
126
-		do_action( 'getpaid_read_payment_form', $form );
127
-
128
-	}
129
-
130
-	/**
131
-	 * Method to update a form in the database.
132
-	 *
133
-	 * @param GetPaid_Payment_Form $form Form object.
134
-	 */
135
-	public function update( &$form ) {
136
-		$form->save_meta_data();
137
-		$form->set_version( WPINV_VERSION );
138
-
139
-		if ( null === $form->get_date_created( 'edit' ) ) {
140
-			$form->set_date_created(  current_time('mysql') );
141
-		}
142
-
143
-		// Grab the current status so we can compare.
144
-		$previous_status = get_post_status( $form->get_id() );
145
-
146
-		$changes = $form->get_changes();
147
-
148
-		// Only update the post when the post data changes.
149
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author' ), array_keys( $changes ) ) ) {
150
-			$post_data = array(
151
-				'post_date'         => $form->get_date_created( 'edit' ),
152
-				'post_status'       => $form->get_status( 'edit' ),
153
-				'post_title'        => $form->get_name( 'edit' ),
154
-				'post_author'       => $form->get_author( 'edit' ),
155
-				'post_modified'     => $form->get_date_modified( 'edit' ),
156
-			);
157
-
158
-			/**
159
-			 * When updating this object, to prevent infinite loops, use $wpdb
160
-			 * to update data, since wp_update_post spawns more calls to the
161
-			 * save_post action.
162
-			 *
163
-			 * This ensures hooks are fired by either WP itself (admin screen save),
164
-			 * or an update purely from CRUD.
165
-			 */
166
-			if ( doing_action( 'save_post' ) ) {
167
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $form->get_id() ) );
168
-				clean_post_cache( $form->get_id() );
169
-			} else {
170
-				wp_update_post( array_merge( array( 'ID' => $form->get_id() ), $post_data ) );
171
-			}
172
-			$form->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
173
-		}
174
-		$this->update_post_meta( $form );
175
-		$form->apply_changes();
176
-		$this->clear_caches( $form );
177
-
178
-		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
179
-		$new_status = $form->get_status( 'edit' );
180
-
181
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
182
-			do_action( 'getpaid_new_payment_form', $form );
183
-		} else {
184
-			do_action( 'getpaid_update_payment_form', $form );
185
-		}
186
-
187
-	}
188
-
189
-	/*
54
+    /**
55
+     * Method to create a new form in the database.
56
+     *
57
+     * @param GetPaid_Payment_Form $form Form object.
58
+     */
59
+    public function create( &$form ) {
60
+        $form->set_version( WPINV_VERSION );
61
+        $form->set_date_created( current_time('mysql') );
62
+
63
+        // Create a new post.
64
+        $id = wp_insert_post(
65
+            apply_filters(
66
+                'getpaid_new_payment_form_data',
67
+                array(
68
+                    'post_date'     => $form->get_date_created( 'edit' ),
69
+                    'post_type'     => 'wpi_payment_form',
70
+                    'post_status'   => $this->get_post_status( $form ),
71
+                    'ping_status'   => 'closed',
72
+                    'post_author'   => $form->get_author( 'edit' ),
73
+                    'post_title'    => $form->get_name( 'edit' ),
74
+                )
75
+            ),
76
+            true
77
+        );
78
+
79
+        if ( $id && ! is_wp_error( $id ) ) {
80
+            $form->set_id( $id );
81
+            $this->update_post_meta( $form );
82
+            $form->save_meta_data();
83
+            $form->apply_changes();
84
+            $this->clear_caches( $form );
85
+            do_action( 'getpaid_create_payment_form', $form );
86
+            return true;
87
+        }
88
+
89
+        if ( is_wp_error( $id ) ) {
90
+            $form->last_error = $id->get_error_message();
91
+        }
92
+
93
+        return false;
94
+    }
95
+
96
+    /**
97
+     * Method to read a form from the database.
98
+     *
99
+     * @param GetPaid_Payment_Form $form Form object.
100
+     *
101
+     */
102
+    public function read( &$form ) {
103
+
104
+        $form->set_defaults();
105
+        $form_object = get_post( $form->get_id() );
106
+
107
+        if ( ! $form->get_id() || ! $form_object || $form_object->post_type != 'wpi_payment_form' ) {
108
+            $form->last_error = __( 'Invalid form.', 'invoicing' );
109
+            $form->set_id( 0 );
110
+            return false;
111
+        }
112
+
113
+        $form->set_props(
114
+            array(
115
+                'date_created'  => 0 < $form_object->post_date ? $form_object->post_date : null,
116
+                'date_modified' => 0 < $form_object->post_modified ? $form_object->post_modified : null,
117
+                'status'        => $form_object->post_status,
118
+                'name'          => $form_object->post_title,
119
+                'author'        => $form_object->post_author,
120
+            )
121
+        );
122
+
123
+        $this->read_object_data( $form, $form_object );
124
+        $form->read_meta_data();
125
+        $form->set_object_read( true );
126
+        do_action( 'getpaid_read_payment_form', $form );
127
+
128
+    }
129
+
130
+    /**
131
+     * Method to update a form in the database.
132
+     *
133
+     * @param GetPaid_Payment_Form $form Form object.
134
+     */
135
+    public function update( &$form ) {
136
+        $form->save_meta_data();
137
+        $form->set_version( WPINV_VERSION );
138
+
139
+        if ( null === $form->get_date_created( 'edit' ) ) {
140
+            $form->set_date_created(  current_time('mysql') );
141
+        }
142
+
143
+        // Grab the current status so we can compare.
144
+        $previous_status = get_post_status( $form->get_id() );
145
+
146
+        $changes = $form->get_changes();
147
+
148
+        // Only update the post when the post data changes.
149
+        if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author' ), array_keys( $changes ) ) ) {
150
+            $post_data = array(
151
+                'post_date'         => $form->get_date_created( 'edit' ),
152
+                'post_status'       => $form->get_status( 'edit' ),
153
+                'post_title'        => $form->get_name( 'edit' ),
154
+                'post_author'       => $form->get_author( 'edit' ),
155
+                'post_modified'     => $form->get_date_modified( 'edit' ),
156
+            );
157
+
158
+            /**
159
+             * When updating this object, to prevent infinite loops, use $wpdb
160
+             * to update data, since wp_update_post spawns more calls to the
161
+             * save_post action.
162
+             *
163
+             * This ensures hooks are fired by either WP itself (admin screen save),
164
+             * or an update purely from CRUD.
165
+             */
166
+            if ( doing_action( 'save_post' ) ) {
167
+                $GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $form->get_id() ) );
168
+                clean_post_cache( $form->get_id() );
169
+            } else {
170
+                wp_update_post( array_merge( array( 'ID' => $form->get_id() ), $post_data ) );
171
+            }
172
+            $form->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
173
+        }
174
+        $this->update_post_meta( $form );
175
+        $form->apply_changes();
176
+        $this->clear_caches( $form );
177
+
178
+        // Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
179
+        $new_status = $form->get_status( 'edit' );
180
+
181
+        if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
182
+            do_action( 'getpaid_new_payment_form', $form );
183
+        } else {
184
+            do_action( 'getpaid_update_payment_form', $form );
185
+        }
186
+
187
+    }
188
+
189
+    /*
190 190
 	|--------------------------------------------------------------------------
191 191
 	| Additional Methods
192 192
 	|--------------------------------------------------------------------------
Please login to merge, or discard this patch.
Spacing   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * GetPaid_Payment_Form_Data_Store class file.
4 4
  *
5 5
  */
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
 	exit;
8 8
 }
9 9
 
@@ -56,37 +56,37 @@  discard block
 block discarded – undo
56 56
 	 *
57 57
 	 * @param GetPaid_Payment_Form $form Form object.
58 58
 	 */
59
-	public function create( &$form ) {
60
-		$form->set_version( WPINV_VERSION );
61
-		$form->set_date_created( current_time('mysql') );
59
+	public function create(&$form) {
60
+		$form->set_version(WPINV_VERSION);
61
+		$form->set_date_created(current_time('mysql'));
62 62
 
63 63
 		// Create a new post.
64 64
 		$id = wp_insert_post(
65 65
 			apply_filters(
66 66
 				'getpaid_new_payment_form_data',
67 67
 				array(
68
-					'post_date'     => $form->get_date_created( 'edit' ),
68
+					'post_date'     => $form->get_date_created('edit'),
69 69
 					'post_type'     => 'wpi_payment_form',
70
-					'post_status'   => $this->get_post_status( $form ),
70
+					'post_status'   => $this->get_post_status($form),
71 71
 					'ping_status'   => 'closed',
72
-					'post_author'   => $form->get_author( 'edit' ),
73
-					'post_title'    => $form->get_name( 'edit' ),
72
+					'post_author'   => $form->get_author('edit'),
73
+					'post_title'    => $form->get_name('edit'),
74 74
 				)
75 75
 			),
76 76
 			true
77 77
 		);
78 78
 
79
-		if ( $id && ! is_wp_error( $id ) ) {
80
-			$form->set_id( $id );
81
-			$this->update_post_meta( $form );
79
+		if ($id && !is_wp_error($id)) {
80
+			$form->set_id($id);
81
+			$this->update_post_meta($form);
82 82
 			$form->save_meta_data();
83 83
 			$form->apply_changes();
84
-			$this->clear_caches( $form );
85
-			do_action( 'getpaid_create_payment_form', $form );
84
+			$this->clear_caches($form);
85
+			do_action('getpaid_create_payment_form', $form);
86 86
 			return true;
87 87
 		}
88 88
 
89
-		if ( is_wp_error( $id ) ) {
89
+		if (is_wp_error($id)) {
90 90
 			$form->last_error = $id->get_error_message();
91 91
 		}
92 92
 
@@ -99,14 +99,14 @@  discard block
 block discarded – undo
99 99
 	 * @param GetPaid_Payment_Form $form Form object.
100 100
 	 *
101 101
 	 */
102
-	public function read( &$form ) {
102
+	public function read(&$form) {
103 103
 
104 104
 		$form->set_defaults();
105
-		$form_object = get_post( $form->get_id() );
105
+		$form_object = get_post($form->get_id());
106 106
 
107
-		if ( ! $form->get_id() || ! $form_object || $form_object->post_type != 'wpi_payment_form' ) {
108
-			$form->last_error = __( 'Invalid form.', 'invoicing' );
109
-			$form->set_id( 0 );
107
+		if (!$form->get_id() || !$form_object || $form_object->post_type != 'wpi_payment_form') {
108
+			$form->last_error = __('Invalid form.', 'invoicing');
109
+			$form->set_id(0);
110 110
 			return false;
111 111
 		}
112 112
 
@@ -120,10 +120,10 @@  discard block
 block discarded – undo
120 120
 			)
121 121
 		);
122 122
 
123
-		$this->read_object_data( $form, $form_object );
123
+		$this->read_object_data($form, $form_object);
124 124
 		$form->read_meta_data();
125
-		$form->set_object_read( true );
126
-		do_action( 'getpaid_read_payment_form', $form );
125
+		$form->set_object_read(true);
126
+		do_action('getpaid_read_payment_form', $form);
127 127
 
128 128
 	}
129 129
 
@@ -132,27 +132,27 @@  discard block
 block discarded – undo
132 132
 	 *
133 133
 	 * @param GetPaid_Payment_Form $form Form object.
134 134
 	 */
135
-	public function update( &$form ) {
135
+	public function update(&$form) {
136 136
 		$form->save_meta_data();
137
-		$form->set_version( WPINV_VERSION );
137
+		$form->set_version(WPINV_VERSION);
138 138
 
139
-		if ( null === $form->get_date_created( 'edit' ) ) {
140
-			$form->set_date_created(  current_time('mysql') );
139
+		if (null === $form->get_date_created('edit')) {
140
+			$form->set_date_created(current_time('mysql'));
141 141
 		}
142 142
 
143 143
 		// Grab the current status so we can compare.
144
-		$previous_status = get_post_status( $form->get_id() );
144
+		$previous_status = get_post_status($form->get_id());
145 145
 
146 146
 		$changes = $form->get_changes();
147 147
 
148 148
 		// Only update the post when the post data changes.
149
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author' ), array_keys( $changes ) ) ) {
149
+		if (array_intersect(array('date_created', 'date_modified', 'status', 'name', 'author'), array_keys($changes))) {
150 150
 			$post_data = array(
151
-				'post_date'         => $form->get_date_created( 'edit' ),
152
-				'post_status'       => $form->get_status( 'edit' ),
153
-				'post_title'        => $form->get_name( 'edit' ),
154
-				'post_author'       => $form->get_author( 'edit' ),
155
-				'post_modified'     => $form->get_date_modified( 'edit' ),
151
+				'post_date'         => $form->get_date_created('edit'),
152
+				'post_status'       => $form->get_status('edit'),
153
+				'post_title'        => $form->get_name('edit'),
154
+				'post_author'       => $form->get_author('edit'),
155
+				'post_modified'     => $form->get_date_modified('edit'),
156 156
 			);
157 157
 
158 158
 			/**
@@ -163,25 +163,25 @@  discard block
 block discarded – undo
163 163
 			 * This ensures hooks are fired by either WP itself (admin screen save),
164 164
 			 * or an update purely from CRUD.
165 165
 			 */
166
-			if ( doing_action( 'save_post' ) ) {
167
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $form->get_id() ) );
168
-				clean_post_cache( $form->get_id() );
166
+			if (doing_action('save_post')) {
167
+				$GLOBALS['wpdb']->update($GLOBALS['wpdb']->posts, $post_data, array('ID' => $form->get_id()));
168
+				clean_post_cache($form->get_id());
169 169
 			} else {
170
-				wp_update_post( array_merge( array( 'ID' => $form->get_id() ), $post_data ) );
170
+				wp_update_post(array_merge(array('ID' => $form->get_id()), $post_data));
171 171
 			}
172
-			$form->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
172
+			$form->read_meta_data(true); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
173 173
 		}
174
-		$this->update_post_meta( $form );
174
+		$this->update_post_meta($form);
175 175
 		$form->apply_changes();
176
-		$this->clear_caches( $form );
176
+		$this->clear_caches($form);
177 177
 
178 178
 		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
179
-		$new_status = $form->get_status( 'edit' );
179
+		$new_status = $form->get_status('edit');
180 180
 
181
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
182
-			do_action( 'getpaid_new_payment_form', $form );
181
+		if ($new_status !== $previous_status && in_array($previous_status, array('new', 'auto-draft', 'draft'), true)) {
182
+			do_action('getpaid_new_payment_form', $form);
183 183
 		} else {
184
-			do_action( 'getpaid_update_payment_form', $form );
184
+			do_action('getpaid_update_payment_form', $form);
185 185
 		}
186 186
 
187 187
 	}
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-discount-data-store.php 2 patches
Indentation   +186 added lines, -186 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 if ( ! defined( 'ABSPATH' ) ) {
8
-	exit;
8
+    exit;
9 9
 }
10 10
 
11 11
 /**
@@ -15,196 +15,196 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class GetPaid_Discount_Data_Store extends GetPaid_Data_Store_WP {
17 17
 
18
-	/**
19
-	 * Data stored in meta keys, but not considered "meta" for a discount.
20
-	 *
21
-	 * @since 1.0.19
22
-	 * @var array
23
-	 */
24
-	protected $internal_meta_keys = array(
25
-		'_wpi_discount_code',
26
-		'_wpi_discount_amount',
27
-		'_wpi_discount_start',
28
-		'_wpi_discount_expiration',
29
-		'_wpi_discount_type',
30
-		'_wpi_discount_uses',
31
-		'_wpi_discount_is_single_use',
32
-		'_wpi_discount_items',
33
-		'_wpi_discount_excluded_items',
34
-		'_wpi_discount_max_uses',
35
-		'_wpi_discount_is_recurring',
36
-		'_wpi_discount_min_total',
37
-		'_wpi_discount_max_total',
38
-	);
39
-
40
-	/**
41
-	 * A map of meta keys to data props.
42
-	 *
43
-	 * @since 1.0.19
44
-	 *
45
-	 * @var array
46
-	 */
47
-	protected $meta_key_to_props = array(
48
-		'_wpi_discount_code'           => 'code',
49
-		'_wpi_discount_amount'         => 'amount',
50
-		'_wpi_discount_start'          => 'start',
51
-		'_wpi_discount_expiration'     => 'expiration',
52
-		'_wpi_discount_type'           => 'type',
53
-		'_wpi_discount_uses'           => 'uses',
54
-		'_wpi_discount_is_single_use'  => 'is_single_use',
55
-		'_wpi_discount_items'          => 'items',
56
-		'_wpi_discount_excluded_items' => 'excluded_items',
57
-		'_wpi_discount_max_uses'       => 'max_uses',
58
-		'_wpi_discount_is_recurring'   => 'is_recurring',
59
-		'_wpi_discount_min_total'      => 'min_total',
60
-		'_wpi_discount_max_total'      => 'max_total',
61
-	);
62
-
63
-	/*
18
+    /**
19
+     * Data stored in meta keys, but not considered "meta" for a discount.
20
+     *
21
+     * @since 1.0.19
22
+     * @var array
23
+     */
24
+    protected $internal_meta_keys = array(
25
+        '_wpi_discount_code',
26
+        '_wpi_discount_amount',
27
+        '_wpi_discount_start',
28
+        '_wpi_discount_expiration',
29
+        '_wpi_discount_type',
30
+        '_wpi_discount_uses',
31
+        '_wpi_discount_is_single_use',
32
+        '_wpi_discount_items',
33
+        '_wpi_discount_excluded_items',
34
+        '_wpi_discount_max_uses',
35
+        '_wpi_discount_is_recurring',
36
+        '_wpi_discount_min_total',
37
+        '_wpi_discount_max_total',
38
+    );
39
+
40
+    /**
41
+     * A map of meta keys to data props.
42
+     *
43
+     * @since 1.0.19
44
+     *
45
+     * @var array
46
+     */
47
+    protected $meta_key_to_props = array(
48
+        '_wpi_discount_code'           => 'code',
49
+        '_wpi_discount_amount'         => 'amount',
50
+        '_wpi_discount_start'          => 'start',
51
+        '_wpi_discount_expiration'     => 'expiration',
52
+        '_wpi_discount_type'           => 'type',
53
+        '_wpi_discount_uses'           => 'uses',
54
+        '_wpi_discount_is_single_use'  => 'is_single_use',
55
+        '_wpi_discount_items'          => 'items',
56
+        '_wpi_discount_excluded_items' => 'excluded_items',
57
+        '_wpi_discount_max_uses'       => 'max_uses',
58
+        '_wpi_discount_is_recurring'   => 'is_recurring',
59
+        '_wpi_discount_min_total'      => 'min_total',
60
+        '_wpi_discount_max_total'      => 'max_total',
61
+    );
62
+
63
+    /*
64 64
 	|--------------------------------------------------------------------------
65 65
 	| CRUD Methods
66 66
 	|--------------------------------------------------------------------------
67 67
 	*/
68 68
 
69
-	/**
70
-	 * Method to create a new discount in the database.
71
-	 *
72
-	 * @param WPInv_Discount $discount Discount object.
73
-	 */
74
-	public function create( &$discount ) {
75
-		$discount->set_version( WPINV_VERSION );
76
-		$discount->set_date_created( current_time('mysql') );
77
-
78
-		// Create a new post.
79
-		$id = wp_insert_post(
80
-			apply_filters(
81
-				'getpaid_new_discount_data',
82
-				array(
83
-					'post_date'     => $discount->get_date_created( 'edit' ),
84
-					'post_type'     => 'wpi_discount',
85
-					'post_status'   => $this->get_post_status( $discount ),
86
-					'ping_status'   => 'closed',
87
-					'post_author'   => $discount->get_author( 'edit' ),
88
-					'post_title'    => $discount->get_name( 'edit' ),
89
-					'post_excerpt'  => $discount->get_description( 'edit' ),
90
-				)
91
-			),
92
-			true
93
-		);
94
-
95
-		if ( $id && ! is_wp_error( $id ) ) {
96
-			$discount->set_id( $id );
97
-			$this->update_post_meta( $discount );
98
-			$discount->save_meta_data();
99
-			$discount->apply_changes();
100
-			$this->clear_caches( $discount );
101
-			do_action( 'getpaid_new_discount', $discount );
102
-			return true;
103
-		}
104
-
105
-		if ( is_wp_error( $id ) ) {
106
-			$discount->last_error = $id->get_error_message();
107
-		}
108
-
109
-		return false;
110
-	}
111
-
112
-	/**
113
-	 * Method to read a discount from the database.
114
-	 *
115
-	 * @param WPInv_Discount $discount Discount object.
116
-	 *
117
-	 */
118
-	public function read( &$discount ) {
119
-
120
-		$discount->set_defaults();
121
-		$discount_object = get_post( $discount->get_id() );
122
-
123
-		if ( ! $discount->get_id() || ! $discount_object || $discount_object->post_type != 'wpi_discount' ) {
124
-			$discount->last_error = __( 'Invalid discount.', 'invoicing' );
125
-			$discount->set_id( 0 );
126
-			return false;
127
-		}
128
-
129
-		$discount->set_props(
130
-			array(
131
-				'date_created'  => 0 < $discount_object->post_date ? $discount_object->post_date : null,
132
-				'date_modified' => 0 < $discount_object->post_modified ? $discount_object->post_modified : null,
133
-				'status'        => $discount_object->post_status,
134
-				'name'          => $discount_object->post_title,
135
-				'author'        => $discount_object->post_author,
136
-				'description'   => $discount_object->post_excerpt,
137
-			)
138
-		);
139
-
140
-		$this->read_object_data( $discount, $discount_object );
141
-		$discount->read_meta_data();
142
-		$discount->set_object_read( true );
143
-		do_action( 'getpaid_read_discount', $discount );
144
-
145
-	}
146
-
147
-	/**
148
-	 * Method to update a discount in the database.
149
-	 *
150
-	 * @param WPInv_Discount $discount Discount object.
151
-	 */
152
-	public function update( &$discount ) {
153
-		$discount->save_meta_data();
154
-		$discount->set_version( WPINV_VERSION );
155
-
156
-		if ( null === $discount->get_date_created( 'edit' ) ) {
157
-			$discount->set_date_created(  current_time('mysql') );
158
-		}
159
-
160
-		// Grab the current status so we can compare.
161
-		$previous_status = get_post_status( $discount->get_id() );
162
-
163
-		$changes = $discount->get_changes();
164
-
165
-		// Only update the post when the post data changes.
166
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'post_excerpt' ), array_keys( $changes ) ) ) {
167
-			$post_data = array(
168
-				'post_date'         => $discount->get_date_created( 'edit' ),
169
-				'post_status'       => $discount->get_status( 'edit' ),
170
-				'post_title'        => $discount->get_name( 'edit' ),
171
-				'post_author'       => $discount->get_author( 'edit' ),
172
-				'post_modified'     => $discount->get_date_modified( 'edit' ),
173
-				'post_excerpt'      => $discount->get_description( 'edit' ),
174
-			);
175
-
176
-			/**
177
-			 * When updating this object, to prevent infinite loops, use $wpdb
178
-			 * to update data, since wp_update_post spawns more calls to the
179
-			 * save_post action.
180
-			 *
181
-			 * This ensures hooks are fired by either WP itself (admin screen save),
182
-			 * or an update purely from CRUD.
183
-			 */
184
-			if ( doing_action( 'save_post' ) ) {
185
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $discount->get_id() ) );
186
-				clean_post_cache( $discount->get_id() );
187
-			} else {
188
-				wp_update_post( array_merge( array( 'ID' => $discount->get_id() ), $post_data ) );
189
-			}
190
-			$discount->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
191
-		}
192
-		$this->update_post_meta( $discount );
193
-		$discount->apply_changes();
194
-		$this->clear_caches( $discount );
195
-
196
-		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
197
-		$new_status = $discount->get_status( 'edit' );
198
-
199
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
200
-			do_action( 'getpaid_new_discount', $discount );
201
-		} else {
202
-			do_action( 'getpaid_update_discount', $discount );
203
-		}
204
-
205
-	}
206
-
207
-	/*
69
+    /**
70
+     * Method to create a new discount in the database.
71
+     *
72
+     * @param WPInv_Discount $discount Discount object.
73
+     */
74
+    public function create( &$discount ) {
75
+        $discount->set_version( WPINV_VERSION );
76
+        $discount->set_date_created( current_time('mysql') );
77
+
78
+        // Create a new post.
79
+        $id = wp_insert_post(
80
+            apply_filters(
81
+                'getpaid_new_discount_data',
82
+                array(
83
+                    'post_date'     => $discount->get_date_created( 'edit' ),
84
+                    'post_type'     => 'wpi_discount',
85
+                    'post_status'   => $this->get_post_status( $discount ),
86
+                    'ping_status'   => 'closed',
87
+                    'post_author'   => $discount->get_author( 'edit' ),
88
+                    'post_title'    => $discount->get_name( 'edit' ),
89
+                    'post_excerpt'  => $discount->get_description( 'edit' ),
90
+                )
91
+            ),
92
+            true
93
+        );
94
+
95
+        if ( $id && ! is_wp_error( $id ) ) {
96
+            $discount->set_id( $id );
97
+            $this->update_post_meta( $discount );
98
+            $discount->save_meta_data();
99
+            $discount->apply_changes();
100
+            $this->clear_caches( $discount );
101
+            do_action( 'getpaid_new_discount', $discount );
102
+            return true;
103
+        }
104
+
105
+        if ( is_wp_error( $id ) ) {
106
+            $discount->last_error = $id->get_error_message();
107
+        }
108
+
109
+        return false;
110
+    }
111
+
112
+    /**
113
+     * Method to read a discount from the database.
114
+     *
115
+     * @param WPInv_Discount $discount Discount object.
116
+     *
117
+     */
118
+    public function read( &$discount ) {
119
+
120
+        $discount->set_defaults();
121
+        $discount_object = get_post( $discount->get_id() );
122
+
123
+        if ( ! $discount->get_id() || ! $discount_object || $discount_object->post_type != 'wpi_discount' ) {
124
+            $discount->last_error = __( 'Invalid discount.', 'invoicing' );
125
+            $discount->set_id( 0 );
126
+            return false;
127
+        }
128
+
129
+        $discount->set_props(
130
+            array(
131
+                'date_created'  => 0 < $discount_object->post_date ? $discount_object->post_date : null,
132
+                'date_modified' => 0 < $discount_object->post_modified ? $discount_object->post_modified : null,
133
+                'status'        => $discount_object->post_status,
134
+                'name'          => $discount_object->post_title,
135
+                'author'        => $discount_object->post_author,
136
+                'description'   => $discount_object->post_excerpt,
137
+            )
138
+        );
139
+
140
+        $this->read_object_data( $discount, $discount_object );
141
+        $discount->read_meta_data();
142
+        $discount->set_object_read( true );
143
+        do_action( 'getpaid_read_discount', $discount );
144
+
145
+    }
146
+
147
+    /**
148
+     * Method to update a discount in the database.
149
+     *
150
+     * @param WPInv_Discount $discount Discount object.
151
+     */
152
+    public function update( &$discount ) {
153
+        $discount->save_meta_data();
154
+        $discount->set_version( WPINV_VERSION );
155
+
156
+        if ( null === $discount->get_date_created( 'edit' ) ) {
157
+            $discount->set_date_created(  current_time('mysql') );
158
+        }
159
+
160
+        // Grab the current status so we can compare.
161
+        $previous_status = get_post_status( $discount->get_id() );
162
+
163
+        $changes = $discount->get_changes();
164
+
165
+        // Only update the post when the post data changes.
166
+        if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'post_excerpt' ), array_keys( $changes ) ) ) {
167
+            $post_data = array(
168
+                'post_date'         => $discount->get_date_created( 'edit' ),
169
+                'post_status'       => $discount->get_status( 'edit' ),
170
+                'post_title'        => $discount->get_name( 'edit' ),
171
+                'post_author'       => $discount->get_author( 'edit' ),
172
+                'post_modified'     => $discount->get_date_modified( 'edit' ),
173
+                'post_excerpt'      => $discount->get_description( 'edit' ),
174
+            );
175
+
176
+            /**
177
+             * When updating this object, to prevent infinite loops, use $wpdb
178
+             * to update data, since wp_update_post spawns more calls to the
179
+             * save_post action.
180
+             *
181
+             * This ensures hooks are fired by either WP itself (admin screen save),
182
+             * or an update purely from CRUD.
183
+             */
184
+            if ( doing_action( 'save_post' ) ) {
185
+                $GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $discount->get_id() ) );
186
+                clean_post_cache( $discount->get_id() );
187
+            } else {
188
+                wp_update_post( array_merge( array( 'ID' => $discount->get_id() ), $post_data ) );
189
+            }
190
+            $discount->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
191
+        }
192
+        $this->update_post_meta( $discount );
193
+        $discount->apply_changes();
194
+        $this->clear_caches( $discount );
195
+
196
+        // Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
197
+        $new_status = $discount->get_status( 'edit' );
198
+
199
+        if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
200
+            do_action( 'getpaid_new_discount', $discount );
201
+        } else {
202
+            do_action( 'getpaid_update_discount', $discount );
203
+        }
204
+
205
+    }
206
+
207
+    /*
208 208
 	|--------------------------------------------------------------------------
209 209
 	| Additional Methods
210 210
 	|--------------------------------------------------------------------------
Please login to merge, or discard this patch.
Spacing   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  * GetPaid_Discount_Data_Store class file.
5 5
  *
6 6
  */
7
-if ( ! defined( 'ABSPATH' ) ) {
7
+if (!defined('ABSPATH')) {
8 8
 	exit;
9 9
 }
10 10
 
@@ -71,38 +71,38 @@  discard block
 block discarded – undo
71 71
 	 *
72 72
 	 * @param WPInv_Discount $discount Discount object.
73 73
 	 */
74
-	public function create( &$discount ) {
75
-		$discount->set_version( WPINV_VERSION );
76
-		$discount->set_date_created( current_time('mysql') );
74
+	public function create(&$discount) {
75
+		$discount->set_version(WPINV_VERSION);
76
+		$discount->set_date_created(current_time('mysql'));
77 77
 
78 78
 		// Create a new post.
79 79
 		$id = wp_insert_post(
80 80
 			apply_filters(
81 81
 				'getpaid_new_discount_data',
82 82
 				array(
83
-					'post_date'     => $discount->get_date_created( 'edit' ),
83
+					'post_date'     => $discount->get_date_created('edit'),
84 84
 					'post_type'     => 'wpi_discount',
85
-					'post_status'   => $this->get_post_status( $discount ),
85
+					'post_status'   => $this->get_post_status($discount),
86 86
 					'ping_status'   => 'closed',
87
-					'post_author'   => $discount->get_author( 'edit' ),
88
-					'post_title'    => $discount->get_name( 'edit' ),
89
-					'post_excerpt'  => $discount->get_description( 'edit' ),
87
+					'post_author'   => $discount->get_author('edit'),
88
+					'post_title'    => $discount->get_name('edit'),
89
+					'post_excerpt'  => $discount->get_description('edit'),
90 90
 				)
91 91
 			),
92 92
 			true
93 93
 		);
94 94
 
95
-		if ( $id && ! is_wp_error( $id ) ) {
96
-			$discount->set_id( $id );
97
-			$this->update_post_meta( $discount );
95
+		if ($id && !is_wp_error($id)) {
96
+			$discount->set_id($id);
97
+			$this->update_post_meta($discount);
98 98
 			$discount->save_meta_data();
99 99
 			$discount->apply_changes();
100
-			$this->clear_caches( $discount );
101
-			do_action( 'getpaid_new_discount', $discount );
100
+			$this->clear_caches($discount);
101
+			do_action('getpaid_new_discount', $discount);
102 102
 			return true;
103 103
 		}
104 104
 
105
-		if ( is_wp_error( $id ) ) {
105
+		if (is_wp_error($id)) {
106 106
 			$discount->last_error = $id->get_error_message();
107 107
 		}
108 108
 
@@ -115,14 +115,14 @@  discard block
 block discarded – undo
115 115
 	 * @param WPInv_Discount $discount Discount object.
116 116
 	 *
117 117
 	 */
118
-	public function read( &$discount ) {
118
+	public function read(&$discount) {
119 119
 
120 120
 		$discount->set_defaults();
121
-		$discount_object = get_post( $discount->get_id() );
121
+		$discount_object = get_post($discount->get_id());
122 122
 
123
-		if ( ! $discount->get_id() || ! $discount_object || $discount_object->post_type != 'wpi_discount' ) {
124
-			$discount->last_error = __( 'Invalid discount.', 'invoicing' );
125
-			$discount->set_id( 0 );
123
+		if (!$discount->get_id() || !$discount_object || $discount_object->post_type != 'wpi_discount') {
124
+			$discount->last_error = __('Invalid discount.', 'invoicing');
125
+			$discount->set_id(0);
126 126
 			return false;
127 127
 		}
128 128
 
@@ -137,10 +137,10 @@  discard block
 block discarded – undo
137 137
 			)
138 138
 		);
139 139
 
140
-		$this->read_object_data( $discount, $discount_object );
140
+		$this->read_object_data($discount, $discount_object);
141 141
 		$discount->read_meta_data();
142
-		$discount->set_object_read( true );
143
-		do_action( 'getpaid_read_discount', $discount );
142
+		$discount->set_object_read(true);
143
+		do_action('getpaid_read_discount', $discount);
144 144
 
145 145
 	}
146 146
 
@@ -149,28 +149,28 @@  discard block
 block discarded – undo
149 149
 	 *
150 150
 	 * @param WPInv_Discount $discount Discount object.
151 151
 	 */
152
-	public function update( &$discount ) {
152
+	public function update(&$discount) {
153 153
 		$discount->save_meta_data();
154
-		$discount->set_version( WPINV_VERSION );
154
+		$discount->set_version(WPINV_VERSION);
155 155
 
156
-		if ( null === $discount->get_date_created( 'edit' ) ) {
157
-			$discount->set_date_created(  current_time('mysql') );
156
+		if (null === $discount->get_date_created('edit')) {
157
+			$discount->set_date_created(current_time('mysql'));
158 158
 		}
159 159
 
160 160
 		// Grab the current status so we can compare.
161
-		$previous_status = get_post_status( $discount->get_id() );
161
+		$previous_status = get_post_status($discount->get_id());
162 162
 
163 163
 		$changes = $discount->get_changes();
164 164
 
165 165
 		// Only update the post when the post data changes.
166
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'post_excerpt' ), array_keys( $changes ) ) ) {
166
+		if (array_intersect(array('date_created', 'date_modified', 'status', 'name', 'author', 'post_excerpt'), array_keys($changes))) {
167 167
 			$post_data = array(
168
-				'post_date'         => $discount->get_date_created( 'edit' ),
169
-				'post_status'       => $discount->get_status( 'edit' ),
170
-				'post_title'        => $discount->get_name( 'edit' ),
171
-				'post_author'       => $discount->get_author( 'edit' ),
172
-				'post_modified'     => $discount->get_date_modified( 'edit' ),
173
-				'post_excerpt'      => $discount->get_description( 'edit' ),
168
+				'post_date'         => $discount->get_date_created('edit'),
169
+				'post_status'       => $discount->get_status('edit'),
170
+				'post_title'        => $discount->get_name('edit'),
171
+				'post_author'       => $discount->get_author('edit'),
172
+				'post_modified'     => $discount->get_date_modified('edit'),
173
+				'post_excerpt'      => $discount->get_description('edit'),
174 174
 			);
175 175
 
176 176
 			/**
@@ -181,25 +181,25 @@  discard block
 block discarded – undo
181 181
 			 * This ensures hooks are fired by either WP itself (admin screen save),
182 182
 			 * or an update purely from CRUD.
183 183
 			 */
184
-			if ( doing_action( 'save_post' ) ) {
185
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $discount->get_id() ) );
186
-				clean_post_cache( $discount->get_id() );
184
+			if (doing_action('save_post')) {
185
+				$GLOBALS['wpdb']->update($GLOBALS['wpdb']->posts, $post_data, array('ID' => $discount->get_id()));
186
+				clean_post_cache($discount->get_id());
187 187
 			} else {
188
-				wp_update_post( array_merge( array( 'ID' => $discount->get_id() ), $post_data ) );
188
+				wp_update_post(array_merge(array('ID' => $discount->get_id()), $post_data));
189 189
 			}
190
-			$discount->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
190
+			$discount->read_meta_data(true); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
191 191
 		}
192
-		$this->update_post_meta( $discount );
192
+		$this->update_post_meta($discount);
193 193
 		$discount->apply_changes();
194
-		$this->clear_caches( $discount );
194
+		$this->clear_caches($discount);
195 195
 
196 196
 		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
197
-		$new_status = $discount->get_status( 'edit' );
197
+		$new_status = $discount->get_status('edit');
198 198
 
199
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
200
-			do_action( 'getpaid_new_discount', $discount );
199
+		if ($new_status !== $previous_status && in_array($previous_status, array('new', 'auto-draft', 'draft'), true)) {
200
+			do_action('getpaid_new_discount', $discount);
201 201
 		} else {
202
-			do_action( 'getpaid_update_discount', $discount );
202
+			do_action('getpaid_update_discount', $discount);
203 203
 		}
204 204
 
205 205
 	}
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-data-store-wp.php 2 patches
Indentation   +338 added lines, -338 removed lines patch added patch discarded remove patch
@@ -14,346 +14,346 @@
 block discarded – undo
14 14
  */
15 15
 class GetPaid_Data_Store_WP {
16 16
 
17
-	/**
18
-	 * Meta type. This should match up with
19
-	 * the types available at https://developer.wordpress.org/reference/functions/add_metadata/.
20
-	 * WP defines 'post', 'user', 'comment', and 'term'.
21
-	 *
22
-	 * @var string
23
-	 */
24
-	protected $meta_type = 'post';
25
-
26
-	/**
27
-	 * This only needs set if you are using a custom metadata type.
28
-	 *
29
-	 * @var string
30
-	 */
31
-	protected $object_id_field_for_meta = '';
32
-
33
-	/**
34
-	 * Data stored in meta keys, but not considered "meta" for an object.
35
-	 *
36
-	 * @since 1.0.19
37
-	 *
38
-	 * @var array
39
-	 */
40
-	protected $internal_meta_keys = array();
41
-
42
-	/**
43
-	 * Meta data which should exist in the DB, even if empty.
44
-	 *
45
-	 * @since 1.0.19
46
-	 *
47
-	 * @var array
48
-	 */
49
-	protected $must_exist_meta_keys = array();
50
-
51
-	/**
52
-	 * A map of meta keys to data props.
53
-	 *
54
-	 * @since 1.0.19
55
-	 *
56
-	 * @var array
57
-	 */
58
-	protected $meta_key_to_props = array();
59
-
60
-	/**
61
-	 * Returns an array of meta for an object.
62
-	 *
63
-	 * @since  1.0.19
64
-	 * @param  GetPaid_Data $object GetPaid_Data object.
65
-	 * @return array
66
-	 */
67
-	public function read_meta( &$object ) {
68
-		global $wpdb;
69
-		$db_info       = $this->get_db_info();
70
-		$raw_meta_data = $wpdb->get_results(
71
-			$wpdb->prepare(
72
-				"SELECT {$db_info['meta_id_field']} as meta_id, meta_key, meta_value
17
+    /**
18
+     * Meta type. This should match up with
19
+     * the types available at https://developer.wordpress.org/reference/functions/add_metadata/.
20
+     * WP defines 'post', 'user', 'comment', and 'term'.
21
+     *
22
+     * @var string
23
+     */
24
+    protected $meta_type = 'post';
25
+
26
+    /**
27
+     * This only needs set if you are using a custom metadata type.
28
+     *
29
+     * @var string
30
+     */
31
+    protected $object_id_field_for_meta = '';
32
+
33
+    /**
34
+     * Data stored in meta keys, but not considered "meta" for an object.
35
+     *
36
+     * @since 1.0.19
37
+     *
38
+     * @var array
39
+     */
40
+    protected $internal_meta_keys = array();
41
+
42
+    /**
43
+     * Meta data which should exist in the DB, even if empty.
44
+     *
45
+     * @since 1.0.19
46
+     *
47
+     * @var array
48
+     */
49
+    protected $must_exist_meta_keys = array();
50
+
51
+    /**
52
+     * A map of meta keys to data props.
53
+     *
54
+     * @since 1.0.19
55
+     *
56
+     * @var array
57
+     */
58
+    protected $meta_key_to_props = array();
59
+
60
+    /**
61
+     * Returns an array of meta for an object.
62
+     *
63
+     * @since  1.0.19
64
+     * @param  GetPaid_Data $object GetPaid_Data object.
65
+     * @return array
66
+     */
67
+    public function read_meta( &$object ) {
68
+        global $wpdb;
69
+        $db_info       = $this->get_db_info();
70
+        $raw_meta_data = $wpdb->get_results(
71
+            $wpdb->prepare(
72
+                "SELECT {$db_info['meta_id_field']} as meta_id, meta_key, meta_value
73 73
 				FROM {$db_info['table']}
74 74
 				WHERE {$db_info['object_id_field']} = %d
75 75
 				ORDER BY {$db_info['meta_id_field']}",
76
-				$object->get_id()
77
-			)
78
-		);
79
-
80
-		$this->internal_meta_keys = array_merge( array_map( array( $this, 'prefix_key' ), $object->get_data_keys() ), $this->internal_meta_keys );
81
-		$meta_data                = array_filter( $raw_meta_data, array( $this, 'exclude_internal_meta_keys' ) );
82
-		return apply_filters( "getpaid_data_store_wp_{$this->meta_type}_read_meta", $meta_data, $object, $this );
83
-	}
84
-
85
-	/**
86
-	 * Deletes meta based on meta ID.
87
-	 *
88
-	 * @since  1.0.19
89
-	 * @param  GetPaid_Data  $object GetPaid_Data object.
90
-	 * @param  stdClass $meta (containing at least ->id).
91
-	 */
92
-	public function delete_meta( &$object, $meta ) {
93
-		delete_metadata_by_mid( $this->meta_type, $meta->id );
94
-	}
95
-
96
-	/**
97
-	 * Add new piece of meta.
98
-	 *
99
-	 * @since  1.0.19
100
-	 * @param  GetPaid_Data  $object GetPaid_Data object.
101
-	 * @param  stdClass $meta (containing ->key and ->value).
102
-	 * @return int meta ID
103
-	 */
104
-	public function add_meta( &$object, $meta ) {
105
-		return add_metadata( $this->meta_type, $object->get_id(), $meta->key, is_string( $meta->value ) ? wp_slash( $meta->value ) : $meta->value, false );
106
-	}
107
-
108
-	/**
109
-	 * Update meta.
110
-	 *
111
-	 * @since  1.0.19
112
-	 * @param  GetPaid_Data  $object GetPaid_Data object.
113
-	 * @param  stdClass $meta (containing ->id, ->key and ->value).
114
-	 */
115
-	public function update_meta( &$object, $meta ) {
116
-		update_metadata_by_mid( $this->meta_type, $meta->id, $meta->value, $meta->key );
117
-	}
118
-
119
-	/**
120
-	 * Table structure is slightly different between meta types, this function will return what we need to know.
121
-	 *
122
-	 * @since  1.0.19
123
-	 * @return array Array elements: table, object_id_field, meta_id_field
124
-	 */
125
-	protected function get_db_info() {
126
-		global $wpdb;
127
-
128
-		$meta_id_field = 'meta_id'; // users table calls this umeta_id so we need to track this as well.
129
-		$table         = $wpdb->prefix;
130
-
131
-		// If we are dealing with a type of metadata that is not a core type, the table should be prefixed.
132
-		if ( ! in_array( $this->meta_type, array( 'post', 'user', 'comment', 'term' ), true ) ) {
133
-			$table .= 'getpaid_';
134
-		}
135
-
136
-		$table          .= $this->meta_type . 'meta';
137
-		$object_id_field = $this->meta_type . '_id';
138
-
139
-		// Figure out our field names.
140
-		if ( 'user' === $this->meta_type ) {
141
-			$meta_id_field = 'umeta_id';
142
-			$table         = $wpdb->usermeta;
143
-		}
144
-
145
-		if ( ! empty( $this->object_id_field_for_meta ) ) {
146
-			$object_id_field = $this->object_id_field_for_meta;
147
-		}
148
-
149
-		return array(
150
-			'table'           => $table,
151
-			'object_id_field' => $object_id_field,
152
-			'meta_id_field'   => $meta_id_field,
153
-		);
154
-	}
155
-
156
-	/**
157
-	 * Internal meta keys we don't want exposed as part of meta_data. This is in
158
-	 * addition to all data props with _ prefix.
159
-	 *
160
-	 * @since 1.0.19
161
-	 *
162
-	 * @param string $key Prefix to be added to meta keys.
163
-	 * @return string
164
-	 */
165
-	protected function prefix_key( $key ) {
166
-		return '_' === substr( $key, 0, 1 ) ? $key : '_' . $key;
167
-	}
168
-
169
-	/**
170
-	 * Callback to remove unwanted meta data.
171
-	 *
172
-	 * @param object $meta Meta object to check if it should be excluded or not.
173
-	 * @return bool
174
-	 */
175
-	protected function exclude_internal_meta_keys( $meta ) {
176
-		return ! in_array( $meta->meta_key, $this->internal_meta_keys, true ) && 0 !== stripos( $meta->meta_key, 'wp_' );
177
-	}
178
-
179
-	/**
180
-	 * Gets a list of props and meta keys that need updated based on change state
181
-	 * or if they are present in the database or not.
182
-	 *
183
-	 * @param  GetPaid_Data $object         The GetPaid_Data object.
184
-	 * @param  array   $meta_key_to_props   A mapping of meta keys => prop names.
185
-	 * @param  string  $meta_type           The internal WP meta type (post, user, etc).
186
-	 * @return array                        A mapping of meta keys => prop names, filtered by ones that should be updated.
187
-	 */
188
-	protected function get_props_to_update( $object, $meta_key_to_props, $meta_type = 'post' ) {
189
-		$props_to_update = array();
190
-		$changed_props   = $object->get_changes();
191
-
192
-		// Props should be updated if they are a part of the $changed array or don't exist yet.
193
-		foreach ( $meta_key_to_props as $meta_key => $prop ) {
194
-			if ( array_key_exists( $prop, $changed_props ) || ! metadata_exists( $meta_type, $object->get_id(), $meta_key ) ) {
195
-				$props_to_update[ $meta_key ] = $prop;
196
-			}
197
-		}
198
-
199
-		return $props_to_update;
200
-	}
201
-
202
-	/**
203
-	 * Read object data.
204
-	 *
205
-	 * @param GetPaid_Data $object GetPaid_Data object.
206
-	 * @param WP_Post   $post_object Post object.
207
-	 * @since 1.0.19
208
-	 */
209
-	protected function read_object_data( &$object, $post_object ) {
210
-		$id    = $object->get_id();
211
-		$props = array();
212
-
213
-		foreach ( $this->meta_key_to_props as $meta_key => $prop ) {
214
-			$props[ $prop ] = get_post_meta( $id, $meta_key, true );
215
-		}
216
-
217
-		// Set object properties.
218
-		$object->set_props( $props );
219
-
220
-		// Gets extra data associated with the object if needed.
221
-		foreach ( $object->get_extra_data_keys() as $key ) {
222
-			$function = 'set_' . $key;
223
-			if ( is_callable( array( $object, $function ) ) ) {
224
-				$object->{$function}( get_post_meta( $object->get_id(), $key, true ) );
225
-			}
226
-		}
227
-	}
228
-
229
-	/**
230
-	 * Helper method that updates all the post meta for an object based on it's settings in the GetPaid_Data class.
231
-	 *
232
-	 * @param GetPaid_Data $object GetPaid_Data object.
233
-	 * @since 1.0.19
234
-	 */
235
-	protected function update_post_meta( &$object ) {
236
-
237
-		$updated_props   = array();
238
-		$props_to_update = $this->get_props_to_update( $object, $this->meta_key_to_props );
239
-		$object_type     = $object->get_object_type();
240
-
241
-		foreach ( $props_to_update as $meta_key => $prop ) {
242
-			$value = $object->{"get_$prop"}( 'edit' );
243
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
244
-
245
-			$updated = $this->update_or_delete_post_meta( $object, $meta_key, $value );
246
-
247
-			if ( $updated ) {
248
-				$updated_props[] = $prop;
249
-			}
250
-		}
251
-
252
-		do_action( "getpaid_{$object_type}_object_updated_props", $object, $updated_props );
253
-	}
254
-
255
-	/**
256
-	 * Update meta data in, or delete it from, the database.
257
-	 *
258
-	 * Avoids storing meta when it's either an empty string or empty array or null.
259
-	 * Other empty values such as numeric 0 should still be stored.
260
-	 * Data-stores can force meta to exist using `must_exist_meta_keys`.
261
-	 *
262
-	 * Note: WordPress `get_metadata` function returns an empty string when meta data does not exist.
263
-	 *
264
-	 * @param GetPaid_Data $object The GetPaid_Data object.
265
-	 * @param string  $meta_key Meta key to update.
266
-	 * @param mixed   $meta_value Value to save.
267
-	 *
268
-	 * @since 1.0.19 Added to prevent empty meta being stored unless required.
269
-	 *
270
-	 * @return bool True if updated/deleted.
271
-	 */
272
-	protected function update_or_delete_post_meta( $object, $meta_key, $meta_value ) {
273
-		if ( in_array( $meta_value, array( array(), '', null ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) {
274
-			$updated = delete_post_meta( $object->get_id(), $meta_key );
275
-		} else {
276
-			$updated = update_post_meta( $object->get_id(), $meta_key, $meta_value );
277
-		}
278
-
279
-		return (bool) $updated;
280
-	}
281
-
282
-	/**
283
-	 * Return list of internal meta keys.
284
-	 *
285
-	 * @since 1.0.19
286
-	 * @return array
287
-	 */
288
-	public function get_internal_meta_keys() {
289
-		return $this->internal_meta_keys;
290
-	}
291
-
292
-	/**
293
-	 * Clear any caches.
294
-	 *
295
-	 * @param GetPaid_Data $object GetPaid_Data object.
296
-	 * @since 1.0.19
297
-	 */
298
-	protected function clear_caches( &$object ) {
299
-		clean_post_cache( $object->get_id() );
300
-	}
301
-
302
-	/**
303
-	 * Method to delete a data object from the database.
304
-	 *
305
-	 * @param GetPaid_Data $object GetPaid_Data object.
306
-	 * @param array    $args Array of args to pass to the delete method.
307
-	 *
308
-	 * @return void
309
-	 */
310
-	public function delete( &$object, $args = array() ) {
311
-		$id          = $object->get_id();
312
-		$object_type = $object->get_object_type();
313
-
314
-		if ( 'invoice' == $object_type ) {
315
-			$object_type = $object->get_type();
316
-		}
317
-
318
-		$args        = wp_parse_args(
319
-			$args,
320
-			array(
321
-				'force_delete' => false,
322
-			)
323
-		);
324
-
325
-		if ( ! $id ) {
326
-			return;
327
-		}
328
-
329
-		if ( $args['force_delete'] ) {
330
-			do_action( "getpaid_delete_$object_type", $object );
331
-			wp_delete_post( $id, true );
332
-			$object->set_id( 0 );
333
-		} else {
334
-			do_action( "getpaid_trash_$object_type", $object );
335
-			wp_trash_post( $id );
336
-			$object->set_status( 'trash' );
337
-		}
338
-	}
339
-
340
-	/**
341
-	 * Get the status to save to the post object.
342
-	 *
343
-	 *
344
-	 * @since 1.0.19
345
-	 * @param  GetPaid_Data $object GetPaid_Data object.
346
-	 * @return string
347
-	 */
348
-	protected function get_post_status( $object ) {
349
-		$object_status = $object->get_status( 'edit' );
350
-		$object_type   = $object->get_object_type();
351
-
352
-		if ( ! $object_status ) {
353
-			$object_status = apply_filters( "getpaid_default_{$object_type}_status", 'draft' );
354
-		}
355
-
356
-		return $object_status;
357
-	}
76
+                $object->get_id()
77
+            )
78
+        );
79
+
80
+        $this->internal_meta_keys = array_merge( array_map( array( $this, 'prefix_key' ), $object->get_data_keys() ), $this->internal_meta_keys );
81
+        $meta_data                = array_filter( $raw_meta_data, array( $this, 'exclude_internal_meta_keys' ) );
82
+        return apply_filters( "getpaid_data_store_wp_{$this->meta_type}_read_meta", $meta_data, $object, $this );
83
+    }
84
+
85
+    /**
86
+     * Deletes meta based on meta ID.
87
+     *
88
+     * @since  1.0.19
89
+     * @param  GetPaid_Data  $object GetPaid_Data object.
90
+     * @param  stdClass $meta (containing at least ->id).
91
+     */
92
+    public function delete_meta( &$object, $meta ) {
93
+        delete_metadata_by_mid( $this->meta_type, $meta->id );
94
+    }
95
+
96
+    /**
97
+     * Add new piece of meta.
98
+     *
99
+     * @since  1.0.19
100
+     * @param  GetPaid_Data  $object GetPaid_Data object.
101
+     * @param  stdClass $meta (containing ->key and ->value).
102
+     * @return int meta ID
103
+     */
104
+    public function add_meta( &$object, $meta ) {
105
+        return add_metadata( $this->meta_type, $object->get_id(), $meta->key, is_string( $meta->value ) ? wp_slash( $meta->value ) : $meta->value, false );
106
+    }
107
+
108
+    /**
109
+     * Update meta.
110
+     *
111
+     * @since  1.0.19
112
+     * @param  GetPaid_Data  $object GetPaid_Data object.
113
+     * @param  stdClass $meta (containing ->id, ->key and ->value).
114
+     */
115
+    public function update_meta( &$object, $meta ) {
116
+        update_metadata_by_mid( $this->meta_type, $meta->id, $meta->value, $meta->key );
117
+    }
118
+
119
+    /**
120
+     * Table structure is slightly different between meta types, this function will return what we need to know.
121
+     *
122
+     * @since  1.0.19
123
+     * @return array Array elements: table, object_id_field, meta_id_field
124
+     */
125
+    protected function get_db_info() {
126
+        global $wpdb;
127
+
128
+        $meta_id_field = 'meta_id'; // users table calls this umeta_id so we need to track this as well.
129
+        $table         = $wpdb->prefix;
130
+
131
+        // If we are dealing with a type of metadata that is not a core type, the table should be prefixed.
132
+        if ( ! in_array( $this->meta_type, array( 'post', 'user', 'comment', 'term' ), true ) ) {
133
+            $table .= 'getpaid_';
134
+        }
135
+
136
+        $table          .= $this->meta_type . 'meta';
137
+        $object_id_field = $this->meta_type . '_id';
138
+
139
+        // Figure out our field names.
140
+        if ( 'user' === $this->meta_type ) {
141
+            $meta_id_field = 'umeta_id';
142
+            $table         = $wpdb->usermeta;
143
+        }
144
+
145
+        if ( ! empty( $this->object_id_field_for_meta ) ) {
146
+            $object_id_field = $this->object_id_field_for_meta;
147
+        }
148
+
149
+        return array(
150
+            'table'           => $table,
151
+            'object_id_field' => $object_id_field,
152
+            'meta_id_field'   => $meta_id_field,
153
+        );
154
+    }
155
+
156
+    /**
157
+     * Internal meta keys we don't want exposed as part of meta_data. This is in
158
+     * addition to all data props with _ prefix.
159
+     *
160
+     * @since 1.0.19
161
+     *
162
+     * @param string $key Prefix to be added to meta keys.
163
+     * @return string
164
+     */
165
+    protected function prefix_key( $key ) {
166
+        return '_' === substr( $key, 0, 1 ) ? $key : '_' . $key;
167
+    }
168
+
169
+    /**
170
+     * Callback to remove unwanted meta data.
171
+     *
172
+     * @param object $meta Meta object to check if it should be excluded or not.
173
+     * @return bool
174
+     */
175
+    protected function exclude_internal_meta_keys( $meta ) {
176
+        return ! in_array( $meta->meta_key, $this->internal_meta_keys, true ) && 0 !== stripos( $meta->meta_key, 'wp_' );
177
+    }
178
+
179
+    /**
180
+     * Gets a list of props and meta keys that need updated based on change state
181
+     * or if they are present in the database or not.
182
+     *
183
+     * @param  GetPaid_Data $object         The GetPaid_Data object.
184
+     * @param  array   $meta_key_to_props   A mapping of meta keys => prop names.
185
+     * @param  string  $meta_type           The internal WP meta type (post, user, etc).
186
+     * @return array                        A mapping of meta keys => prop names, filtered by ones that should be updated.
187
+     */
188
+    protected function get_props_to_update( $object, $meta_key_to_props, $meta_type = 'post' ) {
189
+        $props_to_update = array();
190
+        $changed_props   = $object->get_changes();
191
+
192
+        // Props should be updated if they are a part of the $changed array or don't exist yet.
193
+        foreach ( $meta_key_to_props as $meta_key => $prop ) {
194
+            if ( array_key_exists( $prop, $changed_props ) || ! metadata_exists( $meta_type, $object->get_id(), $meta_key ) ) {
195
+                $props_to_update[ $meta_key ] = $prop;
196
+            }
197
+        }
198
+
199
+        return $props_to_update;
200
+    }
201
+
202
+    /**
203
+     * Read object data.
204
+     *
205
+     * @param GetPaid_Data $object GetPaid_Data object.
206
+     * @param WP_Post   $post_object Post object.
207
+     * @since 1.0.19
208
+     */
209
+    protected function read_object_data( &$object, $post_object ) {
210
+        $id    = $object->get_id();
211
+        $props = array();
212
+
213
+        foreach ( $this->meta_key_to_props as $meta_key => $prop ) {
214
+            $props[ $prop ] = get_post_meta( $id, $meta_key, true );
215
+        }
216
+
217
+        // Set object properties.
218
+        $object->set_props( $props );
219
+
220
+        // Gets extra data associated with the object if needed.
221
+        foreach ( $object->get_extra_data_keys() as $key ) {
222
+            $function = 'set_' . $key;
223
+            if ( is_callable( array( $object, $function ) ) ) {
224
+                $object->{$function}( get_post_meta( $object->get_id(), $key, true ) );
225
+            }
226
+        }
227
+    }
228
+
229
+    /**
230
+     * Helper method that updates all the post meta for an object based on it's settings in the GetPaid_Data class.
231
+     *
232
+     * @param GetPaid_Data $object GetPaid_Data object.
233
+     * @since 1.0.19
234
+     */
235
+    protected function update_post_meta( &$object ) {
236
+
237
+        $updated_props   = array();
238
+        $props_to_update = $this->get_props_to_update( $object, $this->meta_key_to_props );
239
+        $object_type     = $object->get_object_type();
240
+
241
+        foreach ( $props_to_update as $meta_key => $prop ) {
242
+            $value = $object->{"get_$prop"}( 'edit' );
243
+            $value = is_string( $value ) ? wp_slash( $value ) : $value;
244
+
245
+            $updated = $this->update_or_delete_post_meta( $object, $meta_key, $value );
246
+
247
+            if ( $updated ) {
248
+                $updated_props[] = $prop;
249
+            }
250
+        }
251
+
252
+        do_action( "getpaid_{$object_type}_object_updated_props", $object, $updated_props );
253
+    }
254
+
255
+    /**
256
+     * Update meta data in, or delete it from, the database.
257
+     *
258
+     * Avoids storing meta when it's either an empty string or empty array or null.
259
+     * Other empty values such as numeric 0 should still be stored.
260
+     * Data-stores can force meta to exist using `must_exist_meta_keys`.
261
+     *
262
+     * Note: WordPress `get_metadata` function returns an empty string when meta data does not exist.
263
+     *
264
+     * @param GetPaid_Data $object The GetPaid_Data object.
265
+     * @param string  $meta_key Meta key to update.
266
+     * @param mixed   $meta_value Value to save.
267
+     *
268
+     * @since 1.0.19 Added to prevent empty meta being stored unless required.
269
+     *
270
+     * @return bool True if updated/deleted.
271
+     */
272
+    protected function update_or_delete_post_meta( $object, $meta_key, $meta_value ) {
273
+        if ( in_array( $meta_value, array( array(), '', null ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) {
274
+            $updated = delete_post_meta( $object->get_id(), $meta_key );
275
+        } else {
276
+            $updated = update_post_meta( $object->get_id(), $meta_key, $meta_value );
277
+        }
278
+
279
+        return (bool) $updated;
280
+    }
281
+
282
+    /**
283
+     * Return list of internal meta keys.
284
+     *
285
+     * @since 1.0.19
286
+     * @return array
287
+     */
288
+    public function get_internal_meta_keys() {
289
+        return $this->internal_meta_keys;
290
+    }
291
+
292
+    /**
293
+     * Clear any caches.
294
+     *
295
+     * @param GetPaid_Data $object GetPaid_Data object.
296
+     * @since 1.0.19
297
+     */
298
+    protected function clear_caches( &$object ) {
299
+        clean_post_cache( $object->get_id() );
300
+    }
301
+
302
+    /**
303
+     * Method to delete a data object from the database.
304
+     *
305
+     * @param GetPaid_Data $object GetPaid_Data object.
306
+     * @param array    $args Array of args to pass to the delete method.
307
+     *
308
+     * @return void
309
+     */
310
+    public function delete( &$object, $args = array() ) {
311
+        $id          = $object->get_id();
312
+        $object_type = $object->get_object_type();
313
+
314
+        if ( 'invoice' == $object_type ) {
315
+            $object_type = $object->get_type();
316
+        }
317
+
318
+        $args        = wp_parse_args(
319
+            $args,
320
+            array(
321
+                'force_delete' => false,
322
+            )
323
+        );
324
+
325
+        if ( ! $id ) {
326
+            return;
327
+        }
328
+
329
+        if ( $args['force_delete'] ) {
330
+            do_action( "getpaid_delete_$object_type", $object );
331
+            wp_delete_post( $id, true );
332
+            $object->set_id( 0 );
333
+        } else {
334
+            do_action( "getpaid_trash_$object_type", $object );
335
+            wp_trash_post( $id );
336
+            $object->set_status( 'trash' );
337
+        }
338
+    }
339
+
340
+    /**
341
+     * Get the status to save to the post object.
342
+     *
343
+     *
344
+     * @since 1.0.19
345
+     * @param  GetPaid_Data $object GetPaid_Data object.
346
+     * @return string
347
+     */
348
+    protected function get_post_status( $object ) {
349
+        $object_status = $object->get_status( 'edit' );
350
+        $object_type   = $object->get_object_type();
351
+
352
+        if ( ! $object_status ) {
353
+            $object_status = apply_filters( "getpaid_default_{$object_type}_status", 'draft' );
354
+        }
355
+
356
+        return $object_status;
357
+    }
358 358
 
359 359
 }
Please login to merge, or discard this patch.
Spacing   +58 added lines, -58 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * @version 1.0.19
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * GetPaid_Data_Store_WP class.
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	 * @param  GetPaid_Data $object GetPaid_Data object.
65 65
 	 * @return array
66 66
 	 */
67
-	public function read_meta( &$object ) {
67
+	public function read_meta(&$object) {
68 68
 		global $wpdb;
69 69
 		$db_info       = $this->get_db_info();
70 70
 		$raw_meta_data = $wpdb->get_results(
@@ -77,9 +77,9 @@  discard block
 block discarded – undo
77 77
 			)
78 78
 		);
79 79
 
80
-		$this->internal_meta_keys = array_merge( array_map( array( $this, 'prefix_key' ), $object->get_data_keys() ), $this->internal_meta_keys );
81
-		$meta_data                = array_filter( $raw_meta_data, array( $this, 'exclude_internal_meta_keys' ) );
82
-		return apply_filters( "getpaid_data_store_wp_{$this->meta_type}_read_meta", $meta_data, $object, $this );
80
+		$this->internal_meta_keys = array_merge(array_map(array($this, 'prefix_key'), $object->get_data_keys()), $this->internal_meta_keys);
81
+		$meta_data                = array_filter($raw_meta_data, array($this, 'exclude_internal_meta_keys'));
82
+		return apply_filters("getpaid_data_store_wp_{$this->meta_type}_read_meta", $meta_data, $object, $this);
83 83
 	}
84 84
 
85 85
 	/**
@@ -89,8 +89,8 @@  discard block
 block discarded – undo
89 89
 	 * @param  GetPaid_Data  $object GetPaid_Data object.
90 90
 	 * @param  stdClass $meta (containing at least ->id).
91 91
 	 */
92
-	public function delete_meta( &$object, $meta ) {
93
-		delete_metadata_by_mid( $this->meta_type, $meta->id );
92
+	public function delete_meta(&$object, $meta) {
93
+		delete_metadata_by_mid($this->meta_type, $meta->id);
94 94
 	}
95 95
 
96 96
 	/**
@@ -101,8 +101,8 @@  discard block
 block discarded – undo
101 101
 	 * @param  stdClass $meta (containing ->key and ->value).
102 102
 	 * @return int meta ID
103 103
 	 */
104
-	public function add_meta( &$object, $meta ) {
105
-		return add_metadata( $this->meta_type, $object->get_id(), $meta->key, is_string( $meta->value ) ? wp_slash( $meta->value ) : $meta->value, false );
104
+	public function add_meta(&$object, $meta) {
105
+		return add_metadata($this->meta_type, $object->get_id(), $meta->key, is_string($meta->value) ? wp_slash($meta->value) : $meta->value, false);
106 106
 	}
107 107
 
108 108
 	/**
@@ -112,8 +112,8 @@  discard block
 block discarded – undo
112 112
 	 * @param  GetPaid_Data  $object GetPaid_Data object.
113 113
 	 * @param  stdClass $meta (containing ->id, ->key and ->value).
114 114
 	 */
115
-	public function update_meta( &$object, $meta ) {
116
-		update_metadata_by_mid( $this->meta_type, $meta->id, $meta->value, $meta->key );
115
+	public function update_meta(&$object, $meta) {
116
+		update_metadata_by_mid($this->meta_type, $meta->id, $meta->value, $meta->key);
117 117
 	}
118 118
 
119 119
 	/**
@@ -129,7 +129,7 @@  discard block
 block discarded – undo
129 129
 		$table         = $wpdb->prefix;
130 130
 
131 131
 		// If we are dealing with a type of metadata that is not a core type, the table should be prefixed.
132
-		if ( ! in_array( $this->meta_type, array( 'post', 'user', 'comment', 'term' ), true ) ) {
132
+		if (!in_array($this->meta_type, array('post', 'user', 'comment', 'term'), true)) {
133 133
 			$table .= 'getpaid_';
134 134
 		}
135 135
 
@@ -137,12 +137,12 @@  discard block
 block discarded – undo
137 137
 		$object_id_field = $this->meta_type . '_id';
138 138
 
139 139
 		// Figure out our field names.
140
-		if ( 'user' === $this->meta_type ) {
140
+		if ('user' === $this->meta_type) {
141 141
 			$meta_id_field = 'umeta_id';
142 142
 			$table         = $wpdb->usermeta;
143 143
 		}
144 144
 
145
-		if ( ! empty( $this->object_id_field_for_meta ) ) {
145
+		if (!empty($this->object_id_field_for_meta)) {
146 146
 			$object_id_field = $this->object_id_field_for_meta;
147 147
 		}
148 148
 
@@ -162,8 +162,8 @@  discard block
 block discarded – undo
162 162
 	 * @param string $key Prefix to be added to meta keys.
163 163
 	 * @return string
164 164
 	 */
165
-	protected function prefix_key( $key ) {
166
-		return '_' === substr( $key, 0, 1 ) ? $key : '_' . $key;
165
+	protected function prefix_key($key) {
166
+		return '_' === substr($key, 0, 1) ? $key : '_' . $key;
167 167
 	}
168 168
 
169 169
 	/**
@@ -172,8 +172,8 @@  discard block
 block discarded – undo
172 172
 	 * @param object $meta Meta object to check if it should be excluded or not.
173 173
 	 * @return bool
174 174
 	 */
175
-	protected function exclude_internal_meta_keys( $meta ) {
176
-		return ! in_array( $meta->meta_key, $this->internal_meta_keys, true ) && 0 !== stripos( $meta->meta_key, 'wp_' );
175
+	protected function exclude_internal_meta_keys($meta) {
176
+		return !in_array($meta->meta_key, $this->internal_meta_keys, true) && 0 !== stripos($meta->meta_key, 'wp_');
177 177
 	}
178 178
 
179 179
 	/**
@@ -185,14 +185,14 @@  discard block
 block discarded – undo
185 185
 	 * @param  string  $meta_type           The internal WP meta type (post, user, etc).
186 186
 	 * @return array                        A mapping of meta keys => prop names, filtered by ones that should be updated.
187 187
 	 */
188
-	protected function get_props_to_update( $object, $meta_key_to_props, $meta_type = 'post' ) {
188
+	protected function get_props_to_update($object, $meta_key_to_props, $meta_type = 'post') {
189 189
 		$props_to_update = array();
190 190
 		$changed_props   = $object->get_changes();
191 191
 
192 192
 		// Props should be updated if they are a part of the $changed array or don't exist yet.
193
-		foreach ( $meta_key_to_props as $meta_key => $prop ) {
194
-			if ( array_key_exists( $prop, $changed_props ) || ! metadata_exists( $meta_type, $object->get_id(), $meta_key ) ) {
195
-				$props_to_update[ $meta_key ] = $prop;
193
+		foreach ($meta_key_to_props as $meta_key => $prop) {
194
+			if (array_key_exists($prop, $changed_props) || !metadata_exists($meta_type, $object->get_id(), $meta_key)) {
195
+				$props_to_update[$meta_key] = $prop;
196 196
 			}
197 197
 		}
198 198
 
@@ -206,22 +206,22 @@  discard block
 block discarded – undo
206 206
 	 * @param WP_Post   $post_object Post object.
207 207
 	 * @since 1.0.19
208 208
 	 */
209
-	protected function read_object_data( &$object, $post_object ) {
209
+	protected function read_object_data(&$object, $post_object) {
210 210
 		$id    = $object->get_id();
211 211
 		$props = array();
212 212
 
213
-		foreach ( $this->meta_key_to_props as $meta_key => $prop ) {
214
-			$props[ $prop ] = get_post_meta( $id, $meta_key, true );
213
+		foreach ($this->meta_key_to_props as $meta_key => $prop) {
214
+			$props[$prop] = get_post_meta($id, $meta_key, true);
215 215
 		}
216 216
 
217 217
 		// Set object properties.
218
-		$object->set_props( $props );
218
+		$object->set_props($props);
219 219
 
220 220
 		// Gets extra data associated with the object if needed.
221
-		foreach ( $object->get_extra_data_keys() as $key ) {
221
+		foreach ($object->get_extra_data_keys() as $key) {
222 222
 			$function = 'set_' . $key;
223
-			if ( is_callable( array( $object, $function ) ) ) {
224
-				$object->{$function}( get_post_meta( $object->get_id(), $key, true ) );
223
+			if (is_callable(array($object, $function))) {
224
+				$object->{$function}(get_post_meta($object->get_id(), $key, true));
225 225
 			}
226 226
 		}
227 227
 	}
@@ -232,24 +232,24 @@  discard block
 block discarded – undo
232 232
 	 * @param GetPaid_Data $object GetPaid_Data object.
233 233
 	 * @since 1.0.19
234 234
 	 */
235
-	protected function update_post_meta( &$object ) {
235
+	protected function update_post_meta(&$object) {
236 236
 
237 237
 		$updated_props   = array();
238
-		$props_to_update = $this->get_props_to_update( $object, $this->meta_key_to_props );
238
+		$props_to_update = $this->get_props_to_update($object, $this->meta_key_to_props);
239 239
 		$object_type     = $object->get_object_type();
240 240
 
241
-		foreach ( $props_to_update as $meta_key => $prop ) {
242
-			$value = $object->{"get_$prop"}( 'edit' );
243
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
241
+		foreach ($props_to_update as $meta_key => $prop) {
242
+			$value = $object->{"get_$prop"}('edit');
243
+			$value = is_string($value) ? wp_slash($value) : $value;
244 244
 
245
-			$updated = $this->update_or_delete_post_meta( $object, $meta_key, $value );
245
+			$updated = $this->update_or_delete_post_meta($object, $meta_key, $value);
246 246
 
247
-			if ( $updated ) {
247
+			if ($updated) {
248 248
 				$updated_props[] = $prop;
249 249
 			}
250 250
 		}
251 251
 
252
-		do_action( "getpaid_{$object_type}_object_updated_props", $object, $updated_props );
252
+		do_action("getpaid_{$object_type}_object_updated_props", $object, $updated_props);
253 253
 	}
254 254
 
255 255
 	/**
@@ -269,11 +269,11 @@  discard block
 block discarded – undo
269 269
 	 *
270 270
 	 * @return bool True if updated/deleted.
271 271
 	 */
272
-	protected function update_or_delete_post_meta( $object, $meta_key, $meta_value ) {
273
-		if ( in_array( $meta_value, array( array(), '', null ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) {
274
-			$updated = delete_post_meta( $object->get_id(), $meta_key );
272
+	protected function update_or_delete_post_meta($object, $meta_key, $meta_value) {
273
+		if (in_array($meta_value, array(array(), '', null), true) && !in_array($meta_key, $this->must_exist_meta_keys, true)) {
274
+			$updated = delete_post_meta($object->get_id(), $meta_key);
275 275
 		} else {
276
-			$updated = update_post_meta( $object->get_id(), $meta_key, $meta_value );
276
+			$updated = update_post_meta($object->get_id(), $meta_key, $meta_value);
277 277
 		}
278 278
 
279 279
 		return (bool) $updated;
@@ -295,8 +295,8 @@  discard block
 block discarded – undo
295 295
 	 * @param GetPaid_Data $object GetPaid_Data object.
296 296
 	 * @since 1.0.19
297 297
 	 */
298
-	protected function clear_caches( &$object ) {
299
-		clean_post_cache( $object->get_id() );
298
+	protected function clear_caches(&$object) {
299
+		clean_post_cache($object->get_id());
300 300
 	}
301 301
 
302 302
 	/**
@@ -307,33 +307,33 @@  discard block
 block discarded – undo
307 307
 	 *
308 308
 	 * @return void
309 309
 	 */
310
-	public function delete( &$object, $args = array() ) {
310
+	public function delete(&$object, $args = array()) {
311 311
 		$id          = $object->get_id();
312 312
 		$object_type = $object->get_object_type();
313 313
 
314
-		if ( 'invoice' == $object_type ) {
314
+		if ('invoice' == $object_type) {
315 315
 			$object_type = $object->get_type();
316 316
 		}
317 317
 
318
-		$args        = wp_parse_args(
318
+		$args = wp_parse_args(
319 319
 			$args,
320 320
 			array(
321 321
 				'force_delete' => false,
322 322
 			)
323 323
 		);
324 324
 
325
-		if ( ! $id ) {
325
+		if (!$id) {
326 326
 			return;
327 327
 		}
328 328
 
329
-		if ( $args['force_delete'] ) {
330
-			do_action( "getpaid_delete_$object_type", $object );
331
-			wp_delete_post( $id, true );
332
-			$object->set_id( 0 );
329
+		if ($args['force_delete']) {
330
+			do_action("getpaid_delete_$object_type", $object);
331
+			wp_delete_post($id, true);
332
+			$object->set_id(0);
333 333
 		} else {
334
-			do_action( "getpaid_trash_$object_type", $object );
335
-			wp_trash_post( $id );
336
-			$object->set_status( 'trash' );
334
+			do_action("getpaid_trash_$object_type", $object);
335
+			wp_trash_post($id);
336
+			$object->set_status('trash');
337 337
 		}
338 338
 	}
339 339
 
@@ -345,12 +345,12 @@  discard block
 block discarded – undo
345 345
 	 * @param  GetPaid_Data $object GetPaid_Data object.
346 346
 	 * @return string
347 347
 	 */
348
-	protected function get_post_status( $object ) {
349
-		$object_status = $object->get_status( 'edit' );
348
+	protected function get_post_status($object) {
349
+		$object_status = $object->get_status('edit');
350 350
 		$object_type   = $object->get_object_type();
351 351
 
352
-		if ( ! $object_status ) {
353
-			$object_status = apply_filters( "getpaid_default_{$object_type}_status", 'draft' );
352
+		if (!$object_status) {
353
+			$object_status = apply_filters("getpaid_default_{$object_type}_status", 'draft');
354 354
 		}
355 355
 
356 356
 		return $object_status;
Please login to merge, or discard this patch.
includes/class-wpinv-notes.php 2 patches
Indentation   +114 added lines, -114 removed lines patch added patch discarded remove patch
@@ -12,119 +12,119 @@
 block discarded – undo
12 12
  */
13 13
 class WPInv_Notes {
14 14
 
15
-	/**
16
-	 * Class constructor.
17
-	 */
18
-	public function __construct() {
19
-
20
-		// Filter inovice notes.
21
-		add_action( 'pre_get_comments', array( $this, 'set_invoice_note_type' ), 11, 1 );
22
-		add_action( 'comment_feed_where', array( $this, 'wpinv_comment_feed_where' ), 10, 1 );
23
-
24
-		// Fires after notes are loaded.
25
-		do_action( 'wpinv_notes_init', $this );
26
-	}
27
-
28
-	/**
29
-	 * Filters invoice notes query to only include our notes.
30
-	 *
31
-	 * @param WP_Comment_Query $query
32
-	 */
33
-	public function set_invoice_note_type( $query ) {
34
-		$post_id = ! empty( $query->query_vars['post_ID'] ) ? $query->query_vars['post_ID'] : $query->query_vars['post_id'];
35
-
36
-		if ( $post_id && getpaid_is_invoice_post_type( get_post_type( $post_id ) ) ) {
37
-			$query->query_vars['type'] = 'wpinv_note';
38
-		} else {
39
-
40
-			if ( empty( $query->query_vars['type__not_in'] ) ) {
41
-				$query->query_vars['type__not_in'] = array();
42
-			}
43
-
44
-			$query->query_vars['type__not_in'] = wpinv_parse_list( $query->query_vars['type__not_in'] );
45
-			$query->query_vars['type__not_in'] = array_merge( array( 'wpinv_note' ), $query->query_vars['type__not_in'] );
46
-		}
47
-
48
-		return $query;
49
-	}
50
-
51
-	/**
52
-	 * Exclude notes from the comments feed.
53
-	 */
54
-	function wpinv_comment_feed_where( $where ){
55
-		return $where . ( $where ? ' AND ' : '' ) . " comment_type != 'wpinv_note' ";
56
-	}
57
-
58
-	/**
59
-	 * Returns an array of invoice notes.
60
-	 *
61
-	 * @param int $invoice_id The invoice ID whose notes to retrieve.
62
-	 * @param string $type Optional. Pass in customer to only return customer notes.
63
-	 * @return WP_Comment[]
64
-	 */
65
-	public function get_invoice_notes( $invoice_id = 0, $type = 'all' ) {
66
-
67
-		// Default comment args.
68
-		$args = array(
69
-			'post_id'   => $invoice_id,
70
-			'orderby'   => 'comment_ID',
71
-			'order'     => 'ASC',
72
-		);
73
-
74
-		// Maybe only show customer comments.
75
-		if ( $type == 'customer' ) {
76
-			$args['meta_key']   = '_wpi_customer_note';
77
-			$args['meta_value'] = 1;
78
-		}
79
-
80
-		$args = apply_filters( 'wpinv_invoice_notes_args', $args, $this, $invoice_id, $type );
81
-
82
-		return get_comments( $args );
83
-	}
84
-
85
-	/**
86
-	 * Saves an invoice comment.
87
-	 * 
88
-	 * @param WPInv_Invoice $invoice The invoice to add the comment to.
89
-	 * @param string $note The note content.
90
-	 * @param string $note_author The name of the author of the note.
91
-	 * @param bool $for_customer Whether or not this comment is meant to be sent to the customer.
92
-	 * @return int|false The new note's ID on success, false on failure.
93
-	 */
94
-	function add_invoice_note( $invoice, $note, $note_author, $author_email, $for_customer = false ){
95
-
96
-		do_action( 'wpinv_pre_insert_invoice_note', $invoice->get_id(), $note, $for_customer );
97
-
98
-		/**
99
-		 * Insert the comment.
100
-		 */
101
-		$note_id = wp_insert_comment(
102
-			wp_filter_comment(
103
-				array(
104
-					'comment_post_ID'      => $invoice->get_id(),
105
-					'comment_content'      => $note,
106
-					'comment_agent'        => 'Invoicing',
107
-					'user_id'              => get_current_user_id(),
108
-					'comment_author'       => $note_author,
109
-					'comment_author_IP'    => wpinv_get_ip(),
110
-					'comment_author_email' => $author_email,
111
-					'comment_author_url'   => $invoice->get_view_url(),
112
-					'comment_type'         => 'wpinv_note',
113
-				)
114
-			)
115
-		);
116
-
117
-		do_action( 'wpinv_insert_payment_note', $note_id, $invoice->get_id(), $note, $for_customer );
118
-
119
-		// Are we notifying the customer?
120
-		if ( empty( $note_id ) || empty( $for_customer ) ) {
121
-			return $note_id;
122
-		}
123
-
124
-		add_comment_meta( $note_id, '_wpi_customer_note', 1 );
125
-		do_action( 'wpinv_new_customer_note', array( 'invoice_id' => $invoice->get_id(), 'user_note' => $note ) );
126
-		do_action( 'getpaid_new_customer_note', $invoice, $note );
127
-		return $note_id;
128
-	}
15
+    /**
16
+     * Class constructor.
17
+     */
18
+    public function __construct() {
19
+
20
+        // Filter inovice notes.
21
+        add_action( 'pre_get_comments', array( $this, 'set_invoice_note_type' ), 11, 1 );
22
+        add_action( 'comment_feed_where', array( $this, 'wpinv_comment_feed_where' ), 10, 1 );
23
+
24
+        // Fires after notes are loaded.
25
+        do_action( 'wpinv_notes_init', $this );
26
+    }
27
+
28
+    /**
29
+     * Filters invoice notes query to only include our notes.
30
+     *
31
+     * @param WP_Comment_Query $query
32
+     */
33
+    public function set_invoice_note_type( $query ) {
34
+        $post_id = ! empty( $query->query_vars['post_ID'] ) ? $query->query_vars['post_ID'] : $query->query_vars['post_id'];
35
+
36
+        if ( $post_id && getpaid_is_invoice_post_type( get_post_type( $post_id ) ) ) {
37
+            $query->query_vars['type'] = 'wpinv_note';
38
+        } else {
39
+
40
+            if ( empty( $query->query_vars['type__not_in'] ) ) {
41
+                $query->query_vars['type__not_in'] = array();
42
+            }
43
+
44
+            $query->query_vars['type__not_in'] = wpinv_parse_list( $query->query_vars['type__not_in'] );
45
+            $query->query_vars['type__not_in'] = array_merge( array( 'wpinv_note' ), $query->query_vars['type__not_in'] );
46
+        }
47
+
48
+        return $query;
49
+    }
50
+
51
+    /**
52
+     * Exclude notes from the comments feed.
53
+     */
54
+    function wpinv_comment_feed_where( $where ){
55
+        return $where . ( $where ? ' AND ' : '' ) . " comment_type != 'wpinv_note' ";
56
+    }
57
+
58
+    /**
59
+     * Returns an array of invoice notes.
60
+     *
61
+     * @param int $invoice_id The invoice ID whose notes to retrieve.
62
+     * @param string $type Optional. Pass in customer to only return customer notes.
63
+     * @return WP_Comment[]
64
+     */
65
+    public function get_invoice_notes( $invoice_id = 0, $type = 'all' ) {
66
+
67
+        // Default comment args.
68
+        $args = array(
69
+            'post_id'   => $invoice_id,
70
+            'orderby'   => 'comment_ID',
71
+            'order'     => 'ASC',
72
+        );
73
+
74
+        // Maybe only show customer comments.
75
+        if ( $type == 'customer' ) {
76
+            $args['meta_key']   = '_wpi_customer_note';
77
+            $args['meta_value'] = 1;
78
+        }
79
+
80
+        $args = apply_filters( 'wpinv_invoice_notes_args', $args, $this, $invoice_id, $type );
81
+
82
+        return get_comments( $args );
83
+    }
84
+
85
+    /**
86
+     * Saves an invoice comment.
87
+     * 
88
+     * @param WPInv_Invoice $invoice The invoice to add the comment to.
89
+     * @param string $note The note content.
90
+     * @param string $note_author The name of the author of the note.
91
+     * @param bool $for_customer Whether or not this comment is meant to be sent to the customer.
92
+     * @return int|false The new note's ID on success, false on failure.
93
+     */
94
+    function add_invoice_note( $invoice, $note, $note_author, $author_email, $for_customer = false ){
95
+
96
+        do_action( 'wpinv_pre_insert_invoice_note', $invoice->get_id(), $note, $for_customer );
97
+
98
+        /**
99
+         * Insert the comment.
100
+         */
101
+        $note_id = wp_insert_comment(
102
+            wp_filter_comment(
103
+                array(
104
+                    'comment_post_ID'      => $invoice->get_id(),
105
+                    'comment_content'      => $note,
106
+                    'comment_agent'        => 'Invoicing',
107
+                    'user_id'              => get_current_user_id(),
108
+                    'comment_author'       => $note_author,
109
+                    'comment_author_IP'    => wpinv_get_ip(),
110
+                    'comment_author_email' => $author_email,
111
+                    'comment_author_url'   => $invoice->get_view_url(),
112
+                    'comment_type'         => 'wpinv_note',
113
+                )
114
+            )
115
+        );
116
+
117
+        do_action( 'wpinv_insert_payment_note', $note_id, $invoice->get_id(), $note, $for_customer );
118
+
119
+        // Are we notifying the customer?
120
+        if ( empty( $note_id ) || empty( $for_customer ) ) {
121
+            return $note_id;
122
+        }
123
+
124
+        add_comment_meta( $note_id, '_wpi_customer_note', 1 );
125
+        do_action( 'wpinv_new_customer_note', array( 'invoice_id' => $invoice->get_id(), 'user_note' => $note ) );
126
+        do_action( 'getpaid_new_customer_note', $invoice, $note );
127
+        return $note_id;
128
+    }
129 129
 
130 130
 }
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Handles invoice notes.
@@ -18,11 +18,11 @@  discard block
 block discarded – undo
18 18
 	public function __construct() {
19 19
 
20 20
 		// Filter inovice notes.
21
-		add_action( 'pre_get_comments', array( $this, 'set_invoice_note_type' ), 11, 1 );
22
-		add_action( 'comment_feed_where', array( $this, 'wpinv_comment_feed_where' ), 10, 1 );
21
+		add_action('pre_get_comments', array($this, 'set_invoice_note_type'), 11, 1);
22
+		add_action('comment_feed_where', array($this, 'wpinv_comment_feed_where'), 10, 1);
23 23
 
24 24
 		// Fires after notes are loaded.
25
-		do_action( 'wpinv_notes_init', $this );
25
+		do_action('wpinv_notes_init', $this);
26 26
 	}
27 27
 
28 28
 	/**
@@ -30,19 +30,19 @@  discard block
 block discarded – undo
30 30
 	 *
31 31
 	 * @param WP_Comment_Query $query
32 32
 	 */
33
-	public function set_invoice_note_type( $query ) {
34
-		$post_id = ! empty( $query->query_vars['post_ID'] ) ? $query->query_vars['post_ID'] : $query->query_vars['post_id'];
33
+	public function set_invoice_note_type($query) {
34
+		$post_id = !empty($query->query_vars['post_ID']) ? $query->query_vars['post_ID'] : $query->query_vars['post_id'];
35 35
 
36
-		if ( $post_id && getpaid_is_invoice_post_type( get_post_type( $post_id ) ) ) {
36
+		if ($post_id && getpaid_is_invoice_post_type(get_post_type($post_id))) {
37 37
 			$query->query_vars['type'] = 'wpinv_note';
38 38
 		} else {
39 39
 
40
-			if ( empty( $query->query_vars['type__not_in'] ) ) {
40
+			if (empty($query->query_vars['type__not_in'])) {
41 41
 				$query->query_vars['type__not_in'] = array();
42 42
 			}
43 43
 
44
-			$query->query_vars['type__not_in'] = wpinv_parse_list( $query->query_vars['type__not_in'] );
45
-			$query->query_vars['type__not_in'] = array_merge( array( 'wpinv_note' ), $query->query_vars['type__not_in'] );
44
+			$query->query_vars['type__not_in'] = wpinv_parse_list($query->query_vars['type__not_in']);
45
+			$query->query_vars['type__not_in'] = array_merge(array('wpinv_note'), $query->query_vars['type__not_in']);
46 46
 		}
47 47
 
48 48
 		return $query;
@@ -51,8 +51,8 @@  discard block
 block discarded – undo
51 51
 	/**
52 52
 	 * Exclude notes from the comments feed.
53 53
 	 */
54
-	function wpinv_comment_feed_where( $where ){
55
-		return $where . ( $where ? ' AND ' : '' ) . " comment_type != 'wpinv_note' ";
54
+	function wpinv_comment_feed_where($where) {
55
+		return $where . ($where ? ' AND ' : '') . " comment_type != 'wpinv_note' ";
56 56
 	}
57 57
 
58 58
 	/**
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 	 * @param string $type Optional. Pass in customer to only return customer notes.
63 63
 	 * @return WP_Comment[]
64 64
 	 */
65
-	public function get_invoice_notes( $invoice_id = 0, $type = 'all' ) {
65
+	public function get_invoice_notes($invoice_id = 0, $type = 'all') {
66 66
 
67 67
 		// Default comment args.
68 68
 		$args = array(
@@ -72,14 +72,14 @@  discard block
 block discarded – undo
72 72
 		);
73 73
 
74 74
 		// Maybe only show customer comments.
75
-		if ( $type == 'customer' ) {
75
+		if ($type == 'customer') {
76 76
 			$args['meta_key']   = '_wpi_customer_note';
77 77
 			$args['meta_value'] = 1;
78 78
 		}
79 79
 
80
-		$args = apply_filters( 'wpinv_invoice_notes_args', $args, $this, $invoice_id, $type );
80
+		$args = apply_filters('wpinv_invoice_notes_args', $args, $this, $invoice_id, $type);
81 81
 
82
-		return get_comments( $args );
82
+		return get_comments($args);
83 83
 	}
84 84
 
85 85
 	/**
@@ -91,9 +91,9 @@  discard block
 block discarded – undo
91 91
 	 * @param bool $for_customer Whether or not this comment is meant to be sent to the customer.
92 92
 	 * @return int|false The new note's ID on success, false on failure.
93 93
 	 */
94
-	function add_invoice_note( $invoice, $note, $note_author, $author_email, $for_customer = false ){
94
+	function add_invoice_note($invoice, $note, $note_author, $author_email, $for_customer = false) {
95 95
 
96
-		do_action( 'wpinv_pre_insert_invoice_note', $invoice->get_id(), $note, $for_customer );
96
+		do_action('wpinv_pre_insert_invoice_note', $invoice->get_id(), $note, $for_customer);
97 97
 
98 98
 		/**
99 99
 		 * Insert the comment.
@@ -114,16 +114,16 @@  discard block
 block discarded – undo
114 114
 			)
115 115
 		);
116 116
 
117
-		do_action( 'wpinv_insert_payment_note', $note_id, $invoice->get_id(), $note, $for_customer );
117
+		do_action('wpinv_insert_payment_note', $note_id, $invoice->get_id(), $note, $for_customer);
118 118
 
119 119
 		// Are we notifying the customer?
120
-		if ( empty( $note_id ) || empty( $for_customer ) ) {
120
+		if (empty($note_id) || empty($for_customer)) {
121 121
 			return $note_id;
122 122
 		}
123 123
 
124
-		add_comment_meta( $note_id, '_wpi_customer_note', 1 );
125
-		do_action( 'wpinv_new_customer_note', array( 'invoice_id' => $invoice->get_id(), 'user_note' => $note ) );
126
-		do_action( 'getpaid_new_customer_note', $invoice, $note );
124
+		add_comment_meta($note_id, '_wpi_customer_note', 1);
125
+		do_action('wpinv_new_customer_note', array('invoice_id' => $invoice->get_id(), 'user_note' => $note));
126
+		do_action('getpaid_new_customer_note', $invoice, $note);
127 127
 		return $note_id;
128 128
 	}
129 129
 
Please login to merge, or discard this patch.