Passed
Push — master ( f93832...793157 )
by Brian
04:20
created
includes/data-stores/class-getpaid-invoice-data-store.php 2 patches
Indentation   +475 added lines, -475 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,540 +15,540 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class GetPaid_Invoice_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
-		'_wpinv_subscr_profile_id',
26
-		'_wpinv_subscription_id',
27
-		'_wpinv_taxes',
28
-		'_wpinv_fees',
29
-		'_wpinv_discounts',
30
-		'_wpinv_submission_id',
31
-		'_wpinv_payment_form',
32
-		'_wpinv_is_viewed',
33
-		'_wpinv_phone',
34
-		'wpinv_email_cc',
35
-		'wpinv_template',
36
-		'wpinv_created_via'
37
-	);
38
-
39
-	/**
40
-	 * A map of meta keys to data props.
41
-	 *
42
-	 * @since 1.0.19
43
-	 *
44
-	 * @var array
45
-	 */
46
-	protected $meta_key_to_props = array(
47
-		'_wpinv_subscr_profile_id' => 'remote_subscription_id',
48
-		'_wpinv_subscription_id'   => 'subscription_id',
49
-		'_wpinv_taxes'             => 'taxes',
50
-		'_wpinv_fees'              => 'fees',
51
-		'_wpinv_discounts'         => 'discounts',
52
-		'_wpinv_submission_id'     => 'submission_id',
53
-		'_wpinv_payment_form'      => 'payment_form',
54
-		'_wpinv_is_viewed'         => 'is_viewed',
55
-		'wpinv_email_cc'           => 'email_cc',
56
-		'wpinv_template'           => 'template',
57
-		'wpinv_created_via'        => 'created_via',
58
-		'_wpinv_phone'             => 'phone',
59
-	);
60
-
61
-	/**
62
-	 * A map of database fields to data props.
63
-	 *
64
-	 * @since 1.0.19
65
-	 *
66
-	 * @var array
67
-	 */
68
-	protected $database_fields_to_props = array(
69
-		'post_id'            => 'id',
70
-		'number'             => 'number',
71
-		'currency'           => 'currency',
72
-		'key'                => 'key',
73
-		'type'               => 'type',
74
-		'mode'               => 'mode',
75
-		'user_ip'            => 'user_ip',
76
-		'first_name'         => 'first_name',
77
-		'last_name'          => 'last_name',
78
-		'address'            => 'address',
79
-		'city'               => 'city',
80
-		'state'              => 'state',
81
-		'country'            => 'country',
82
-		'zip'                => 'zip',
83
-		'zip'                => 'zip',
84
-		'adddress_confirmed' => 'address_confirmed',
85
-		'gateway'            => 'gateway',
86
-		'transaction_id'     => 'transaction_id',
87
-		'currency'           => 'currency',
88
-		'subtotal'           => 'subtotal',
89
-		'tax'                => 'total_tax',
90
-		'fees_total'         => 'total_fees',
91
-		'discount'           => 'total_discount',
92
-		'total'              => 'total',
93
-		'discount_code'      => 'discount_code',
94
-		'disable_taxes'      => 'disable_taxes',
95
-		'due_date'           => 'due_date',
96
-		'completed_date'     => 'completed_date',
97
-		'company'            => 'company',
98
-		'vat_number'         => 'vat_number',
99
-		'vat_rate'           => 'vat_rate',
100
-	);
101
-
102
-	/*
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
+        '_wpinv_subscr_profile_id',
26
+        '_wpinv_subscription_id',
27
+        '_wpinv_taxes',
28
+        '_wpinv_fees',
29
+        '_wpinv_discounts',
30
+        '_wpinv_submission_id',
31
+        '_wpinv_payment_form',
32
+        '_wpinv_is_viewed',
33
+        '_wpinv_phone',
34
+        'wpinv_email_cc',
35
+        'wpinv_template',
36
+        'wpinv_created_via'
37
+    );
38
+
39
+    /**
40
+     * A map of meta keys to data props.
41
+     *
42
+     * @since 1.0.19
43
+     *
44
+     * @var array
45
+     */
46
+    protected $meta_key_to_props = array(
47
+        '_wpinv_subscr_profile_id' => 'remote_subscription_id',
48
+        '_wpinv_subscription_id'   => 'subscription_id',
49
+        '_wpinv_taxes'             => 'taxes',
50
+        '_wpinv_fees'              => 'fees',
51
+        '_wpinv_discounts'         => 'discounts',
52
+        '_wpinv_submission_id'     => 'submission_id',
53
+        '_wpinv_payment_form'      => 'payment_form',
54
+        '_wpinv_is_viewed'         => 'is_viewed',
55
+        'wpinv_email_cc'           => 'email_cc',
56
+        'wpinv_template'           => 'template',
57
+        'wpinv_created_via'        => 'created_via',
58
+        '_wpinv_phone'             => 'phone',
59
+    );
60
+
61
+    /**
62
+     * A map of database fields to data props.
63
+     *
64
+     * @since 1.0.19
65
+     *
66
+     * @var array
67
+     */
68
+    protected $database_fields_to_props = array(
69
+        'post_id'            => 'id',
70
+        'number'             => 'number',
71
+        'currency'           => 'currency',
72
+        'key'                => 'key',
73
+        'type'               => 'type',
74
+        'mode'               => 'mode',
75
+        'user_ip'            => 'user_ip',
76
+        'first_name'         => 'first_name',
77
+        'last_name'          => 'last_name',
78
+        'address'            => 'address',
79
+        'city'               => 'city',
80
+        'state'              => 'state',
81
+        'country'            => 'country',
82
+        'zip'                => 'zip',
83
+        'zip'                => 'zip',
84
+        'adddress_confirmed' => 'address_confirmed',
85
+        'gateway'            => 'gateway',
86
+        'transaction_id'     => 'transaction_id',
87
+        'currency'           => 'currency',
88
+        'subtotal'           => 'subtotal',
89
+        'tax'                => 'total_tax',
90
+        'fees_total'         => 'total_fees',
91
+        'discount'           => 'total_discount',
92
+        'total'              => 'total',
93
+        'discount_code'      => 'discount_code',
94
+        'disable_taxes'      => 'disable_taxes',
95
+        'due_date'           => 'due_date',
96
+        'completed_date'     => 'completed_date',
97
+        'company'            => 'company',
98
+        'vat_number'         => 'vat_number',
99
+        'vat_rate'           => 'vat_rate',
100
+    );
101
+
102
+    /*
103 103
 	|--------------------------------------------------------------------------
104 104
 	| CRUD Methods
105 105
 	|--------------------------------------------------------------------------
106 106
 	*/
107 107
 
108
-	/**
109
-	 * Method to create a new invoice in the database.
110
-	 *
111
-	 * @param WPInv_Invoice $invoice Invoice object.
112
-	 */
113
-	public function create( &$invoice ) {
114
-		$invoice->set_version( WPINV_VERSION );
115
-		$invoice->set_date_created( current_time('mysql') );
116
-
117
-		// Create a new post.
118
-		$id = wp_insert_post(
119
-			apply_filters(
120
-				'getpaid_new_invoice_data',
121
-				array(
122
-					'post_date'     => $invoice->get_date_created( 'edit' ),
123
-					'post_type'     => $invoice->get_post_type( 'edit' ),
124
-					'post_status'   => $this->get_post_status( $invoice ),
125
-					'ping_status'   => 'closed',
126
-					'post_author'   => $invoice->get_user_id( 'edit' ),
127
-					'post_title'    => $invoice->get_title( 'edit' ),
128
-					'post_excerpt'  => $invoice->get_description( 'edit' ),
129
-					'post_parent'   => $invoice->get_parent_id( 'edit' ),
130
-				)
131
-			),
132
-			true
133
-		);
134
-
135
-		if ( $id && ! is_wp_error( $id ) ) {
136
-
137
-			// Update the new id and regenerate a title.
138
-			$invoice->set_id( $id );
139
-
140
-			$invoice->maybe_set_number();
141
-
142
-			wp_update_post(
143
-				array(
144
-					'ID'         => $invoice->get_id(),
145
-					'post_title' => $invoice->get_number( 'edit' ),
146
-					'post_name'  => $invoice->get_path( 'edit' )
147
-				)
148
-			);
149
-
150
-			// Save special fields and items.
151
-			$this->save_special_fields( $invoice );
152
-			$this->save_items( $invoice );
153
-
154
-			// Update meta data.
155
-			$this->update_post_meta( $invoice );
156
-			$invoice->save_meta_data();
157
-
158
-			// Apply changes.
159
-			$invoice->apply_changes();
160
-			$this->clear_caches( $invoice );
161
-
162
-			// Fires after a new invoice is created.
163
-			do_action( 'getpaid_new_invoice', $invoice );
164
-			return true;
165
-		}
166
-
167
-		if ( is_wp_error( $id ) ) {
168
-			$invoice->last_error = $id->get_error_message();
169
-		}
170
-
171
-		return false;
172
-	}
173
-
174
-	/**
175
-	 * Method to read an invoice from the database.
176
-	 *
177
-	 * @param WPInv_Invoice $invoice Invoice object.
178
-	 *
179
-	 */
180
-	public function read( &$invoice ) {
181
-
182
-		$invoice->set_defaults();
183
-		$invoice_object = get_post( $invoice->get_id() );
184
-
185
-		if ( ! $invoice->get_id() || ! $invoice_object || ! getpaid_is_invoice_post_type( $invoice_object->post_type ) ) {
186
-			$invoice->last_error = __( 'Invalid invoice.', 'invoicing' );
187
-			$invoice->set_id( 0 );
188
-			return false;
189
-		}
190
-
191
-		$invoice->set_props(
192
-			array(
193
-				'date_created'  => 0 < $invoice_object->post_date ? $invoice_object->post_date : null,
194
-				'date_modified' => 0 < $invoice_object->post_modified ? $invoice_object->post_modified : null,
195
-				'status'        => $invoice_object->post_status,
196
-				'author'        => $invoice_object->post_author,
197
-				'description'   => $invoice_object->post_excerpt,
198
-				'parent_id'     => $invoice_object->post_parent,
199
-				'name'          => $invoice_object->post_title,
200
-				'path'          => $invoice_object->post_name,
201
-				'post_type'     => $invoice_object->post_type,
202
-			)
203
-		);
204
-
205
-		$invoice->set_type( $invoice_object->post_type );
206
-
207
-		$this->read_object_data( $invoice, $invoice_object );
208
-		$this->add_special_fields( $invoice );
209
-		$this->add_items( $invoice );
210
-		$invoice->read_meta_data();
211
-		$invoice->set_object_read( true );
212
-		do_action( 'getpaid_read_invoice', $invoice );
213
-
214
-	}
215
-
216
-	/**
217
-	 * Method to update an invoice in the database.
218
-	 *
219
-	 * @param WPInv_Invoice $invoice Invoice object.
220
-	 */
221
-	public function update( &$invoice ) {
222
-		$invoice->save_meta_data();
223
-		$invoice->set_version( WPINV_VERSION );
224
-
225
-		if ( null === $invoice->get_date_created( 'edit' ) ) {
226
-			$invoice->set_date_created(  current_time('mysql') );
227
-		}
228
-
229
-		// Ensure both the key and number are set.
230
-		$invoice->get_path();
231
-
232
-		// Grab the current status so we can compare.
233
-		$previous_status = get_post_status( $invoice->get_id() );
234
-
235
-		$changes = $invoice->get_changes();
236
-
237
-		// Only update the post when the post data changes.
238
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'description', 'parent_id', 'post_excerpt', 'path' ), array_keys( $changes ) ) ) {
239
-			$post_data = array(
240
-				'post_date'         => $invoice->get_date_created( 'edit' ),
241
-				'post_date_gmt'     => $invoice->get_date_created_gmt( 'edit' ),
242
-				'post_status'       => $invoice->get_status( 'edit' ),
243
-				'post_title'        => $invoice->get_name( 'edit' ),
244
-				'post_author'       => $invoice->get_user_id( 'edit' ),
245
-				'post_modified'     => $invoice->get_date_modified( 'edit' ),
246
-				'post_excerpt'      => $invoice->get_description( 'edit' ),
247
-				'post_parent'       => $invoice->get_parent_id( 'edit' ),
248
-				'post_name'         => $invoice->get_path( 'edit' ),
249
-				'post_type'         => $invoice->get_post_type( 'edit' ),
250
-			);
251
-
252
-			/**
253
-			 * When updating this object, to prevent infinite loops, use $wpdb
254
-			 * to update data, since wp_update_post spawns more calls to the
255
-			 * save_post action.
256
-			 *
257
-			 * This ensures hooks are fired by either WP itself (admin screen save),
258
-			 * or an update purely from CRUD.
259
-			 */
260
-			if ( doing_action( 'save_post' ) ) {
261
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $invoice->get_id() ) );
262
-				clean_post_cache( $invoice->get_id() );
263
-			} else {
264
-				wp_update_post( array_merge( array( 'ID' => $invoice->get_id() ), $post_data ) );
265
-			}
266
-			$invoice->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
267
-		}
268
-
269
-		// Update meta data.
270
-		$this->update_post_meta( $invoice );
271
-
272
-		// Save special fields and items.
273
-		$this->save_special_fields( $invoice );
274
-		$this->save_items( $invoice );
275
-
276
-		// Apply the changes.
277
-		$invoice->apply_changes();
278
-
279
-		// Clear caches.
280
-		$this->clear_caches( $invoice );
281
-
282
-		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
283
-		$new_status = $invoice->get_status( 'edit' );
284
-
285
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
286
-			do_action( 'getpaid_new_invoice', $invoice );
287
-		} else {
288
-			do_action( 'getpaid_update_invoice', $invoice );
289
-		}
290
-
291
-	}
292
-
293
-	/*
108
+    /**
109
+     * Method to create a new invoice in the database.
110
+     *
111
+     * @param WPInv_Invoice $invoice Invoice object.
112
+     */
113
+    public function create( &$invoice ) {
114
+        $invoice->set_version( WPINV_VERSION );
115
+        $invoice->set_date_created( current_time('mysql') );
116
+
117
+        // Create a new post.
118
+        $id = wp_insert_post(
119
+            apply_filters(
120
+                'getpaid_new_invoice_data',
121
+                array(
122
+                    'post_date'     => $invoice->get_date_created( 'edit' ),
123
+                    'post_type'     => $invoice->get_post_type( 'edit' ),
124
+                    'post_status'   => $this->get_post_status( $invoice ),
125
+                    'ping_status'   => 'closed',
126
+                    'post_author'   => $invoice->get_user_id( 'edit' ),
127
+                    'post_title'    => $invoice->get_title( 'edit' ),
128
+                    'post_excerpt'  => $invoice->get_description( 'edit' ),
129
+                    'post_parent'   => $invoice->get_parent_id( 'edit' ),
130
+                )
131
+            ),
132
+            true
133
+        );
134
+
135
+        if ( $id && ! is_wp_error( $id ) ) {
136
+
137
+            // Update the new id and regenerate a title.
138
+            $invoice->set_id( $id );
139
+
140
+            $invoice->maybe_set_number();
141
+
142
+            wp_update_post(
143
+                array(
144
+                    'ID'         => $invoice->get_id(),
145
+                    'post_title' => $invoice->get_number( 'edit' ),
146
+                    'post_name'  => $invoice->get_path( 'edit' )
147
+                )
148
+            );
149
+
150
+            // Save special fields and items.
151
+            $this->save_special_fields( $invoice );
152
+            $this->save_items( $invoice );
153
+
154
+            // Update meta data.
155
+            $this->update_post_meta( $invoice );
156
+            $invoice->save_meta_data();
157
+
158
+            // Apply changes.
159
+            $invoice->apply_changes();
160
+            $this->clear_caches( $invoice );
161
+
162
+            // Fires after a new invoice is created.
163
+            do_action( 'getpaid_new_invoice', $invoice );
164
+            return true;
165
+        }
166
+
167
+        if ( is_wp_error( $id ) ) {
168
+            $invoice->last_error = $id->get_error_message();
169
+        }
170
+
171
+        return false;
172
+    }
173
+
174
+    /**
175
+     * Method to read an invoice from the database.
176
+     *
177
+     * @param WPInv_Invoice $invoice Invoice object.
178
+     *
179
+     */
180
+    public function read( &$invoice ) {
181
+
182
+        $invoice->set_defaults();
183
+        $invoice_object = get_post( $invoice->get_id() );
184
+
185
+        if ( ! $invoice->get_id() || ! $invoice_object || ! getpaid_is_invoice_post_type( $invoice_object->post_type ) ) {
186
+            $invoice->last_error = __( 'Invalid invoice.', 'invoicing' );
187
+            $invoice->set_id( 0 );
188
+            return false;
189
+        }
190
+
191
+        $invoice->set_props(
192
+            array(
193
+                'date_created'  => 0 < $invoice_object->post_date ? $invoice_object->post_date : null,
194
+                'date_modified' => 0 < $invoice_object->post_modified ? $invoice_object->post_modified : null,
195
+                'status'        => $invoice_object->post_status,
196
+                'author'        => $invoice_object->post_author,
197
+                'description'   => $invoice_object->post_excerpt,
198
+                'parent_id'     => $invoice_object->post_parent,
199
+                'name'          => $invoice_object->post_title,
200
+                'path'          => $invoice_object->post_name,
201
+                'post_type'     => $invoice_object->post_type,
202
+            )
203
+        );
204
+
205
+        $invoice->set_type( $invoice_object->post_type );
206
+
207
+        $this->read_object_data( $invoice, $invoice_object );
208
+        $this->add_special_fields( $invoice );
209
+        $this->add_items( $invoice );
210
+        $invoice->read_meta_data();
211
+        $invoice->set_object_read( true );
212
+        do_action( 'getpaid_read_invoice', $invoice );
213
+
214
+    }
215
+
216
+    /**
217
+     * Method to update an invoice in the database.
218
+     *
219
+     * @param WPInv_Invoice $invoice Invoice object.
220
+     */
221
+    public function update( &$invoice ) {
222
+        $invoice->save_meta_data();
223
+        $invoice->set_version( WPINV_VERSION );
224
+
225
+        if ( null === $invoice->get_date_created( 'edit' ) ) {
226
+            $invoice->set_date_created(  current_time('mysql') );
227
+        }
228
+
229
+        // Ensure both the key and number are set.
230
+        $invoice->get_path();
231
+
232
+        // Grab the current status so we can compare.
233
+        $previous_status = get_post_status( $invoice->get_id() );
234
+
235
+        $changes = $invoice->get_changes();
236
+
237
+        // Only update the post when the post data changes.
238
+        if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'description', 'parent_id', 'post_excerpt', 'path' ), array_keys( $changes ) ) ) {
239
+            $post_data = array(
240
+                'post_date'         => $invoice->get_date_created( 'edit' ),
241
+                'post_date_gmt'     => $invoice->get_date_created_gmt( 'edit' ),
242
+                'post_status'       => $invoice->get_status( 'edit' ),
243
+                'post_title'        => $invoice->get_name( 'edit' ),
244
+                'post_author'       => $invoice->get_user_id( 'edit' ),
245
+                'post_modified'     => $invoice->get_date_modified( 'edit' ),
246
+                'post_excerpt'      => $invoice->get_description( 'edit' ),
247
+                'post_parent'       => $invoice->get_parent_id( 'edit' ),
248
+                'post_name'         => $invoice->get_path( 'edit' ),
249
+                'post_type'         => $invoice->get_post_type( 'edit' ),
250
+            );
251
+
252
+            /**
253
+             * When updating this object, to prevent infinite loops, use $wpdb
254
+             * to update data, since wp_update_post spawns more calls to the
255
+             * save_post action.
256
+             *
257
+             * This ensures hooks are fired by either WP itself (admin screen save),
258
+             * or an update purely from CRUD.
259
+             */
260
+            if ( doing_action( 'save_post' ) ) {
261
+                $GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $invoice->get_id() ) );
262
+                clean_post_cache( $invoice->get_id() );
263
+            } else {
264
+                wp_update_post( array_merge( array( 'ID' => $invoice->get_id() ), $post_data ) );
265
+            }
266
+            $invoice->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
267
+        }
268
+
269
+        // Update meta data.
270
+        $this->update_post_meta( $invoice );
271
+
272
+        // Save special fields and items.
273
+        $this->save_special_fields( $invoice );
274
+        $this->save_items( $invoice );
275
+
276
+        // Apply the changes.
277
+        $invoice->apply_changes();
278
+
279
+        // Clear caches.
280
+        $this->clear_caches( $invoice );
281
+
282
+        // Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
283
+        $new_status = $invoice->get_status( 'edit' );
284
+
285
+        if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
286
+            do_action( 'getpaid_new_invoice', $invoice );
287
+        } else {
288
+            do_action( 'getpaid_update_invoice', $invoice );
289
+        }
290
+
291
+    }
292
+
293
+    /*
294 294
 	|--------------------------------------------------------------------------
295 295
 	| Additional Methods
296 296
 	|--------------------------------------------------------------------------
297 297
 	*/
298 298
 
299
-	/**
299
+    /**
300 300
      * Retrieves special fields and adds to the invoice.
301
-	 *
302
-	 * @param WPInv_Invoice $invoice Invoice object.
301
+     *
302
+     * @param WPInv_Invoice $invoice Invoice object.
303 303
      */
304 304
     public function add_special_fields( &$invoice ) {
305
-		global $wpdb;
305
+        global $wpdb;
306 306
 
307
-		// Maybe retrieve from the cache.
308
-		$data   = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_special_fields' );
307
+        // Maybe retrieve from the cache.
308
+        $data   = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_special_fields' );
309 309
 
310
-		// If not found, retrieve from the db.
311
-		if ( false === $data ) {
312
-			$table =  $wpdb->prefix . 'getpaid_invoices';
310
+        // If not found, retrieve from the db.
311
+        if ( false === $data ) {
312
+            $table =  $wpdb->prefix . 'getpaid_invoices';
313 313
 
314
-			$data  = $wpdb->get_row(
315
-				$wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d LIMIT 1", $invoice->get_id() ),
316
-				ARRAY_A
317
-			);
314
+            $data  = $wpdb->get_row(
315
+                $wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d LIMIT 1", $invoice->get_id() ),
316
+                ARRAY_A
317
+            );
318 318
 
319
-			// Update the cache with our data
320
-			wp_cache_set( $invoice->get_id(), $data, 'getpaid_invoice_special_fields' );
319
+            // Update the cache with our data
320
+            wp_cache_set( $invoice->get_id(), $data, 'getpaid_invoice_special_fields' );
321 321
 
322
-		}
322
+        }
323 323
 
324
-		// Abort if the data does not exist.
325
-		if ( empty( $data ) ) {
326
-			$invoice->set_object_read( true );
327
-			$invoice->set_props( wpinv_get_user_address( $invoice->get_user_id() ) );
328
-			return;
329
-		}
324
+        // Abort if the data does not exist.
325
+        if ( empty( $data ) ) {
326
+            $invoice->set_object_read( true );
327
+            $invoice->set_props( wpinv_get_user_address( $invoice->get_user_id() ) );
328
+            return;
329
+        }
330 330
 
331
-		$props = array();
331
+        $props = array();
332 332
 
333
-		foreach ( $this->database_fields_to_props as $db_field => $prop ) {
333
+        foreach ( $this->database_fields_to_props as $db_field => $prop ) {
334 334
 			
335
-			if ( $db_field == 'post_id' ) {
336
-				continue;
337
-			}
338
-
339
-			$props[ $prop ] = $data[ $db_field ];
340
-		}
341
-
342
-		$invoice->set_props( $props );
343
-
344
-	}
345
-
346
-	/**
347
-	 * Gets a list of special fields that need updated based on change state
348
-	 * or if they are present in the database or not.
349
-	 *
350
-	 * @param  WPInv_Invoice $invoice       The Invoice object.
351
-	 * @return array                        A mapping of field keys => prop names, filtered by ones that should be updated.
352
-	 */
353
-	protected function get_special_fields_to_update( $invoice ) {
354
-		$fields_to_update = array();
355
-		$changed_props   = $invoice->get_changes();
356
-
357
-		// Props should be updated if they are a part of the $changed array or don't exist yet.
358
-		foreach ( $this->database_fields_to_props as $database_field => $prop ) {
359
-			if ( array_key_exists( $prop, $changed_props ) ) {
360
-				$fields_to_update[ $database_field ] = $prop;
361
-			}
362
-		}
363
-
364
-		return $fields_to_update;
365
-	}
366
-
367
-	/**
368
-	 * Helper method that updates all the database fields for an invoice based on it's settings in the WPInv_Invoice class.
369
-	 *
370
-	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
371
-	 * @since 1.0.19
372
-	 */
373
-	protected function update_special_fields( &$invoice ) {
374
-		global $wpdb;
375
-
376
-		$updated_props    = array();
377
-		$fields_to_update = $this->get_special_fields_to_update( $invoice );
378
-
379
-		foreach ( $fields_to_update as $database_field => $prop ) {
380
-			$value = $invoice->{"get_$prop"}( 'edit' );
381
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
382
-			$value = is_bool( $value ) ? ( int ) $value : $value;
383
-			$updated_props[ $database_field ] = maybe_serialize( $value );
384
-		}
385
-
386
-		if ( ! empty( $updated_props ) ) {
387
-
388
-			$table = $wpdb->prefix . 'getpaid_invoices';
389
-			$wpdb->update( $table, $updated_props, array( 'post_id' => $invoice->get_id() ) );
390
-			wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
391
-			do_action( "getpaid_invoice_update_database_fields", $invoice, $updated_props );
392
-
393
-		}
394
-
395
-	}
396
-
397
-	/**
398
-	 * Helper method that inserts special fields to the database.
399
-	 *
400
-	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
401
-	 * @since 1.0.19
402
-	 */
403
-	protected function insert_special_fields( &$invoice ) {
404
-		global $wpdb;
405
-
406
-		$updated_props   = array();
407
-
408
-		foreach ( $this->database_fields_to_props as $database_field => $prop ) {
409
-			$value = $invoice->{"get_$prop"}( 'edit' );
410
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
411
-			$value = is_bool( $value ) ? ( int ) $value : $value;
412
-			$updated_props[ $database_field ] = maybe_serialize( $value );
413
-		}
414
-
415
-		$table = $wpdb->prefix . 'getpaid_invoices';
416
-		$wpdb->insert( $table, $updated_props );
417
-		wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
418
-		do_action( "getpaid_invoice_insert_database_fields", $invoice, $updated_props );
419
-
420
-	}
421
-
422
-	/**
335
+            if ( $db_field == 'post_id' ) {
336
+                continue;
337
+            }
338
+
339
+            $props[ $prop ] = $data[ $db_field ];
340
+        }
341
+
342
+        $invoice->set_props( $props );
343
+
344
+    }
345
+
346
+    /**
347
+     * Gets a list of special fields that need updated based on change state
348
+     * or if they are present in the database or not.
349
+     *
350
+     * @param  WPInv_Invoice $invoice       The Invoice object.
351
+     * @return array                        A mapping of field keys => prop names, filtered by ones that should be updated.
352
+     */
353
+    protected function get_special_fields_to_update( $invoice ) {
354
+        $fields_to_update = array();
355
+        $changed_props   = $invoice->get_changes();
356
+
357
+        // Props should be updated if they are a part of the $changed array or don't exist yet.
358
+        foreach ( $this->database_fields_to_props as $database_field => $prop ) {
359
+            if ( array_key_exists( $prop, $changed_props ) ) {
360
+                $fields_to_update[ $database_field ] = $prop;
361
+            }
362
+        }
363
+
364
+        return $fields_to_update;
365
+    }
366
+
367
+    /**
368
+     * Helper method that updates all the database fields for an invoice based on it's settings in the WPInv_Invoice class.
369
+     *
370
+     * @param WPInv_Invoice $invoice WPInv_Invoice object.
371
+     * @since 1.0.19
372
+     */
373
+    protected function update_special_fields( &$invoice ) {
374
+        global $wpdb;
375
+
376
+        $updated_props    = array();
377
+        $fields_to_update = $this->get_special_fields_to_update( $invoice );
378
+
379
+        foreach ( $fields_to_update as $database_field => $prop ) {
380
+            $value = $invoice->{"get_$prop"}( 'edit' );
381
+            $value = is_string( $value ) ? wp_slash( $value ) : $value;
382
+            $value = is_bool( $value ) ? ( int ) $value : $value;
383
+            $updated_props[ $database_field ] = maybe_serialize( $value );
384
+        }
385
+
386
+        if ( ! empty( $updated_props ) ) {
387
+
388
+            $table = $wpdb->prefix . 'getpaid_invoices';
389
+            $wpdb->update( $table, $updated_props, array( 'post_id' => $invoice->get_id() ) );
390
+            wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
391
+            do_action( "getpaid_invoice_update_database_fields", $invoice, $updated_props );
392
+
393
+        }
394
+
395
+    }
396
+
397
+    /**
398
+     * Helper method that inserts special fields to the database.
399
+     *
400
+     * @param WPInv_Invoice $invoice WPInv_Invoice object.
401
+     * @since 1.0.19
402
+     */
403
+    protected function insert_special_fields( &$invoice ) {
404
+        global $wpdb;
405
+
406
+        $updated_props   = array();
407
+
408
+        foreach ( $this->database_fields_to_props as $database_field => $prop ) {
409
+            $value = $invoice->{"get_$prop"}( 'edit' );
410
+            $value = is_string( $value ) ? wp_slash( $value ) : $value;
411
+            $value = is_bool( $value ) ? ( int ) $value : $value;
412
+            $updated_props[ $database_field ] = maybe_serialize( $value );
413
+        }
414
+
415
+        $table = $wpdb->prefix . 'getpaid_invoices';
416
+        $wpdb->insert( $table, $updated_props );
417
+        wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
418
+        do_action( "getpaid_invoice_insert_database_fields", $invoice, $updated_props );
419
+
420
+    }
421
+
422
+    /**
423 423
      * Saves all special fields.
424
-	 *
425
-	 * @param WPInv_Invoice $invoice Invoice object.
424
+     *
425
+     * @param WPInv_Invoice $invoice Invoice object.
426 426
      */
427 427
     public function save_special_fields( & $invoice ) {
428
-		global $wpdb;
428
+        global $wpdb;
429 429
 
430
-		// The invoices table.
431
-		$table = $wpdb->prefix . 'getpaid_invoices';
432
-		$id    = (int) $invoice->get_id();
433
-		$invoice->maybe_set_key();
430
+        // The invoices table.
431
+        $table = $wpdb->prefix . 'getpaid_invoices';
432
+        $id    = (int) $invoice->get_id();
433
+        $invoice->maybe_set_key();
434 434
 
435
-		if ( $wpdb->get_var( "SELECT `post_id` FROM $table WHERE `post_id`= $id" ) ) {
435
+        if ( $wpdb->get_var( "SELECT `post_id` FROM $table WHERE `post_id`= $id" ) ) {
436 436
 
437
-			$this->update_special_fields( $invoice );
437
+            $this->update_special_fields( $invoice );
438 438
 
439
-		} else {
439
+        } else {
440 440
 
441
-			$this->insert_special_fields( $invoice );
441
+            $this->insert_special_fields( $invoice );
442 442
 
443
-		}
443
+        }
444 444
 
445
-	}
445
+    }
446 446
 
447
-	/**
447
+    /**
448 448
      * Set's up cart details.
449
-	 *
450
-	 * @param WPInv_Invoice $invoice Invoice object.
449
+     *
450
+     * @param WPInv_Invoice $invoice Invoice object.
451 451
      */
452 452
     public function add_items( &$invoice ) {
453
-		global $wpdb;
453
+        global $wpdb;
454 454
 
455
-		// Maybe retrieve from the cache.
456
-		$items = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_cart_details' );
455
+        // Maybe retrieve from the cache.
456
+        $items = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_cart_details' );
457 457
 
458
-		// If not found, retrieve from the db.
459
-		if ( false === $items ) {
460
-			$table =  $wpdb->prefix . 'getpaid_invoice_items';
458
+        // If not found, retrieve from the db.
459
+        if ( false === $items ) {
460
+            $table =  $wpdb->prefix . 'getpaid_invoice_items';
461 461
 
462
-			$items = $wpdb->get_results(
463
-				$wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d", $invoice->get_id() )
464
-			);
462
+            $items = $wpdb->get_results(
463
+                $wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d", $invoice->get_id() )
464
+            );
465 465
 
466
-			// Update the cache with our data
467
-			wp_cache_set( $invoice->get_id(), $items, 'getpaid_invoice_cart_details' );
466
+            // Update the cache with our data
467
+            wp_cache_set( $invoice->get_id(), $items, 'getpaid_invoice_cart_details' );
468 468
 
469
-		}
469
+        }
470 470
 
471
-		// Abort if no items found.
471
+        // Abort if no items found.
472 472
         if ( empty( $items ) ) {
473 473
             return;
474
-		}
475
-
476
-		$_items = array();
477
-		foreach ( $items as $item_data ) {
478
-			$item = new GetPaid_Form_Item( $item_data->item_id );
479
-
480
-			// Set item data.
481
-			$item->item_tax      = wpinv_sanitize_amount( $item_data->tax );
482
-			$item->item_discount = wpinv_sanitize_amount( $item_data->discount );
483
-			$item->set_name( $item_data->item_name );
484
-			$item->set_description( $item_data->item_description );
485
-			$item->set_price( $item_data->item_price );
486
-			$item->set_quantity( $item_data->quantity );
487
-			$item->set_item_meta( $item_data->meta );
488
-			$_items[] = $item;
489
-		}
490
-
491
-		$invoice->set_items( $_items );
492
-	}
493
-
494
-	/**
474
+        }
475
+
476
+        $_items = array();
477
+        foreach ( $items as $item_data ) {
478
+            $item = new GetPaid_Form_Item( $item_data->item_id );
479
+
480
+            // Set item data.
481
+            $item->item_tax      = wpinv_sanitize_amount( $item_data->tax );
482
+            $item->item_discount = wpinv_sanitize_amount( $item_data->discount );
483
+            $item->set_name( $item_data->item_name );
484
+            $item->set_description( $item_data->item_description );
485
+            $item->set_price( $item_data->item_price );
486
+            $item->set_quantity( $item_data->quantity );
487
+            $item->set_item_meta( $item_data->meta );
488
+            $_items[] = $item;
489
+        }
490
+
491
+        $invoice->set_items( $_items );
492
+    }
493
+
494
+    /**
495 495
      * Saves cart details.
496
-	 *
497
-	 * @param WPInv_Invoice $invoice Invoice object.
496
+     *
497
+     * @param WPInv_Invoice $invoice Invoice object.
498 498
      */
499 499
     public function save_items( $invoice ) {
500 500
 
501
-		// Delete previously existing items.
502
-		$this->delete_items( $invoice );
501
+        // Delete previously existing items.
502
+        $this->delete_items( $invoice );
503 503
 
504
-		$table   =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
504
+        $table   =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
505 505
 
506
-		foreach ( $invoice->get_cart_details() as $item_data ) {
507
-			$item_data = array_map( 'maybe_serialize', $item_data );
508
-			$GLOBALS['wpdb']->insert( $table, $item_data );
509
-		}
506
+        foreach ( $invoice->get_cart_details() as $item_data ) {
507
+            $item_data = array_map( 'maybe_serialize', $item_data );
508
+            $GLOBALS['wpdb']->insert( $table, $item_data );
509
+        }
510 510
 
511
-		wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_cart_details' );
512
-		do_action( "getpaid_invoice_save_items", $invoice );
511
+        wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_cart_details' );
512
+        do_action( "getpaid_invoice_save_items", $invoice );
513 513
 
514
-	}
514
+    }
515 515
 
516
-	/**
516
+    /**
517 517
      * Deletes an invoice's cart details from the database.
518
-	 *
519
-	 * @param WPInv_Invoice $invoice Invoice object.
518
+     *
519
+     * @param WPInv_Invoice $invoice Invoice object.
520 520
      */
521 521
     public function delete_items( $invoice ) {
522
-		$table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
523
-		return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
524
-	}
522
+        $table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
523
+        return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
524
+    }
525 525
 
526
-	/**
526
+    /**
527 527
      * Deletes an invoice's special fields from the database.
528
-	 *
529
-	 * @param WPInv_Invoice $invoice Invoice object.
528
+     *
529
+     * @param WPInv_Invoice $invoice Invoice object.
530 530
      */
531 531
     public function delete_special_fields( $invoice ) {
532
-		$table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoices';
533
-		return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
534
-	}
532
+        $table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoices';
533
+        return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
534
+    }
535 535
 	
536
-	/**
537
-	 * Get the status to save to the post object.
538
-	 *
539
-	 *
540
-	 * @since 1.0.19
541
-	 * @param  WPInv_Invoice $object GetPaid_Data object.
542
-	 * @return string
543
-	 */
544
-	protected function get_post_status( $object ) {
545
-		$object_status = $object->get_status( 'edit' );
546
-
547
-		if ( ! $object_status ) {
548
-			$object_status = $object->get_default_status();
549
-		}
550
-
551
-		return $object_status;
552
-	}
536
+    /**
537
+     * Get the status to save to the post object.
538
+     *
539
+     *
540
+     * @since 1.0.19
541
+     * @param  WPInv_Invoice $object GetPaid_Data object.
542
+     * @return string
543
+     */
544
+    protected function get_post_status( $object ) {
545
+        $object_status = $object->get_status( 'edit' );
546
+
547
+        if ( ! $object_status ) {
548
+            $object_status = $object->get_default_status();
549
+        }
550
+
551
+        return $object_status;
552
+    }
553 553
 
554 554
 }
Please login to merge, or discard this patch.
Spacing   +138 added lines, -138 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  * GetPaid_Invoice_Data_Store class file.
5 5
  *
6 6
  */
7
-if ( ! defined( 'ABSPATH' ) ) {
7
+if (!defined('ABSPATH')) {
8 8
 	exit;
9 9
 }
10 10
 
@@ -110,61 +110,61 @@  discard block
 block discarded – undo
110 110
 	 *
111 111
 	 * @param WPInv_Invoice $invoice Invoice object.
112 112
 	 */
113
-	public function create( &$invoice ) {
114
-		$invoice->set_version( WPINV_VERSION );
115
-		$invoice->set_date_created( current_time('mysql') );
113
+	public function create(&$invoice) {
114
+		$invoice->set_version(WPINV_VERSION);
115
+		$invoice->set_date_created(current_time('mysql'));
116 116
 
117 117
 		// Create a new post.
118 118
 		$id = wp_insert_post(
119 119
 			apply_filters(
120 120
 				'getpaid_new_invoice_data',
121 121
 				array(
122
-					'post_date'     => $invoice->get_date_created( 'edit' ),
123
-					'post_type'     => $invoice->get_post_type( 'edit' ),
124
-					'post_status'   => $this->get_post_status( $invoice ),
122
+					'post_date'     => $invoice->get_date_created('edit'),
123
+					'post_type'     => $invoice->get_post_type('edit'),
124
+					'post_status'   => $this->get_post_status($invoice),
125 125
 					'ping_status'   => 'closed',
126
-					'post_author'   => $invoice->get_user_id( 'edit' ),
127
-					'post_title'    => $invoice->get_title( 'edit' ),
128
-					'post_excerpt'  => $invoice->get_description( 'edit' ),
129
-					'post_parent'   => $invoice->get_parent_id( 'edit' ),
126
+					'post_author'   => $invoice->get_user_id('edit'),
127
+					'post_title'    => $invoice->get_title('edit'),
128
+					'post_excerpt'  => $invoice->get_description('edit'),
129
+					'post_parent'   => $invoice->get_parent_id('edit'),
130 130
 				)
131 131
 			),
132 132
 			true
133 133
 		);
134 134
 
135
-		if ( $id && ! is_wp_error( $id ) ) {
135
+		if ($id && !is_wp_error($id)) {
136 136
 
137 137
 			// Update the new id and regenerate a title.
138
-			$invoice->set_id( $id );
138
+			$invoice->set_id($id);
139 139
 
140 140
 			$invoice->maybe_set_number();
141 141
 
142 142
 			wp_update_post(
143 143
 				array(
144 144
 					'ID'         => $invoice->get_id(),
145
-					'post_title' => $invoice->get_number( 'edit' ),
146
-					'post_name'  => $invoice->get_path( 'edit' )
145
+					'post_title' => $invoice->get_number('edit'),
146
+					'post_name'  => $invoice->get_path('edit')
147 147
 				)
148 148
 			);
149 149
 
150 150
 			// Save special fields and items.
151
-			$this->save_special_fields( $invoice );
152
-			$this->save_items( $invoice );
151
+			$this->save_special_fields($invoice);
152
+			$this->save_items($invoice);
153 153
 
154 154
 			// Update meta data.
155
-			$this->update_post_meta( $invoice );
155
+			$this->update_post_meta($invoice);
156 156
 			$invoice->save_meta_data();
157 157
 
158 158
 			// Apply changes.
159 159
 			$invoice->apply_changes();
160
-			$this->clear_caches( $invoice );
160
+			$this->clear_caches($invoice);
161 161
 
162 162
 			// Fires after a new invoice is created.
163
-			do_action( 'getpaid_new_invoice', $invoice );
163
+			do_action('getpaid_new_invoice', $invoice);
164 164
 			return true;
165 165
 		}
166 166
 
167
-		if ( is_wp_error( $id ) ) {
167
+		if (is_wp_error($id)) {
168 168
 			$invoice->last_error = $id->get_error_message();
169 169
 		}
170 170
 
@@ -177,14 +177,14 @@  discard block
 block discarded – undo
177 177
 	 * @param WPInv_Invoice $invoice Invoice object.
178 178
 	 *
179 179
 	 */
180
-	public function read( &$invoice ) {
180
+	public function read(&$invoice) {
181 181
 
182 182
 		$invoice->set_defaults();
183
-		$invoice_object = get_post( $invoice->get_id() );
183
+		$invoice_object = get_post($invoice->get_id());
184 184
 
185
-		if ( ! $invoice->get_id() || ! $invoice_object || ! getpaid_is_invoice_post_type( $invoice_object->post_type ) ) {
186
-			$invoice->last_error = __( 'Invalid invoice.', 'invoicing' );
187
-			$invoice->set_id( 0 );
185
+		if (!$invoice->get_id() || !$invoice_object || !getpaid_is_invoice_post_type($invoice_object->post_type)) {
186
+			$invoice->last_error = __('Invalid invoice.', 'invoicing');
187
+			$invoice->set_id(0);
188 188
 			return false;
189 189
 		}
190 190
 
@@ -202,14 +202,14 @@  discard block
 block discarded – undo
202 202
 			)
203 203
 		);
204 204
 
205
-		$invoice->set_type( $invoice_object->post_type );
205
+		$invoice->set_type($invoice_object->post_type);
206 206
 
207
-		$this->read_object_data( $invoice, $invoice_object );
208
-		$this->add_special_fields( $invoice );
209
-		$this->add_items( $invoice );
207
+		$this->read_object_data($invoice, $invoice_object);
208
+		$this->add_special_fields($invoice);
209
+		$this->add_items($invoice);
210 210
 		$invoice->read_meta_data();
211
-		$invoice->set_object_read( true );
212
-		do_action( 'getpaid_read_invoice', $invoice );
211
+		$invoice->set_object_read(true);
212
+		do_action('getpaid_read_invoice', $invoice);
213 213
 
214 214
 	}
215 215
 
@@ -218,35 +218,35 @@  discard block
 block discarded – undo
218 218
 	 *
219 219
 	 * @param WPInv_Invoice $invoice Invoice object.
220 220
 	 */
221
-	public function update( &$invoice ) {
221
+	public function update(&$invoice) {
222 222
 		$invoice->save_meta_data();
223
-		$invoice->set_version( WPINV_VERSION );
223
+		$invoice->set_version(WPINV_VERSION);
224 224
 
225
-		if ( null === $invoice->get_date_created( 'edit' ) ) {
226
-			$invoice->set_date_created(  current_time('mysql') );
225
+		if (null === $invoice->get_date_created('edit')) {
226
+			$invoice->set_date_created(current_time('mysql'));
227 227
 		}
228 228
 
229 229
 		// Ensure both the key and number are set.
230 230
 		$invoice->get_path();
231 231
 
232 232
 		// Grab the current status so we can compare.
233
-		$previous_status = get_post_status( $invoice->get_id() );
233
+		$previous_status = get_post_status($invoice->get_id());
234 234
 
235 235
 		$changes = $invoice->get_changes();
236 236
 
237 237
 		// Only update the post when the post data changes.
238
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'description', 'parent_id', 'post_excerpt', 'path' ), array_keys( $changes ) ) ) {
238
+		if (array_intersect(array('date_created', 'date_modified', 'status', 'name', 'author', 'description', 'parent_id', 'post_excerpt', 'path'), array_keys($changes))) {
239 239
 			$post_data = array(
240
-				'post_date'         => $invoice->get_date_created( 'edit' ),
241
-				'post_date_gmt'     => $invoice->get_date_created_gmt( 'edit' ),
242
-				'post_status'       => $invoice->get_status( 'edit' ),
243
-				'post_title'        => $invoice->get_name( 'edit' ),
244
-				'post_author'       => $invoice->get_user_id( 'edit' ),
245
-				'post_modified'     => $invoice->get_date_modified( 'edit' ),
246
-				'post_excerpt'      => $invoice->get_description( 'edit' ),
247
-				'post_parent'       => $invoice->get_parent_id( 'edit' ),
248
-				'post_name'         => $invoice->get_path( 'edit' ),
249
-				'post_type'         => $invoice->get_post_type( 'edit' ),
240
+				'post_date'         => $invoice->get_date_created('edit'),
241
+				'post_date_gmt'     => $invoice->get_date_created_gmt('edit'),
242
+				'post_status'       => $invoice->get_status('edit'),
243
+				'post_title'        => $invoice->get_name('edit'),
244
+				'post_author'       => $invoice->get_user_id('edit'),
245
+				'post_modified'     => $invoice->get_date_modified('edit'),
246
+				'post_excerpt'      => $invoice->get_description('edit'),
247
+				'post_parent'       => $invoice->get_parent_id('edit'),
248
+				'post_name'         => $invoice->get_path('edit'),
249
+				'post_type'         => $invoice->get_post_type('edit'),
250 250
 			);
251 251
 
252 252
 			/**
@@ -257,35 +257,35 @@  discard block
 block discarded – undo
257 257
 			 * This ensures hooks are fired by either WP itself (admin screen save),
258 258
 			 * or an update purely from CRUD.
259 259
 			 */
260
-			if ( doing_action( 'save_post' ) ) {
261
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $invoice->get_id() ) );
262
-				clean_post_cache( $invoice->get_id() );
260
+			if (doing_action('save_post')) {
261
+				$GLOBALS['wpdb']->update($GLOBALS['wpdb']->posts, $post_data, array('ID' => $invoice->get_id()));
262
+				clean_post_cache($invoice->get_id());
263 263
 			} else {
264
-				wp_update_post( array_merge( array( 'ID' => $invoice->get_id() ), $post_data ) );
264
+				wp_update_post(array_merge(array('ID' => $invoice->get_id()), $post_data));
265 265
 			}
266
-			$invoice->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
266
+			$invoice->read_meta_data(true); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
267 267
 		}
268 268
 
269 269
 		// Update meta data.
270
-		$this->update_post_meta( $invoice );
270
+		$this->update_post_meta($invoice);
271 271
 
272 272
 		// Save special fields and items.
273
-		$this->save_special_fields( $invoice );
274
-		$this->save_items( $invoice );
273
+		$this->save_special_fields($invoice);
274
+		$this->save_items($invoice);
275 275
 
276 276
 		// Apply the changes.
277 277
 		$invoice->apply_changes();
278 278
 
279 279
 		// Clear caches.
280
-		$this->clear_caches( $invoice );
280
+		$this->clear_caches($invoice);
281 281
 
282 282
 		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
283
-		$new_status = $invoice->get_status( 'edit' );
283
+		$new_status = $invoice->get_status('edit');
284 284
 
285
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
286
-			do_action( 'getpaid_new_invoice', $invoice );
285
+		if ($new_status !== $previous_status && in_array($previous_status, array('new', 'auto-draft', 'draft'), true)) {
286
+			do_action('getpaid_new_invoice', $invoice);
287 287
 		} else {
288
-			do_action( 'getpaid_update_invoice', $invoice );
288
+			do_action('getpaid_update_invoice', $invoice);
289 289
 		}
290 290
 
291 291
 	}
@@ -301,45 +301,45 @@  discard block
 block discarded – undo
301 301
 	 *
302 302
 	 * @param WPInv_Invoice $invoice Invoice object.
303 303
      */
304
-    public function add_special_fields( &$invoice ) {
304
+    public function add_special_fields(&$invoice) {
305 305
 		global $wpdb;
306 306
 
307 307
 		// Maybe retrieve from the cache.
308
-		$data   = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_special_fields' );
308
+		$data = wp_cache_get($invoice->get_id(), 'getpaid_invoice_special_fields');
309 309
 
310 310
 		// If not found, retrieve from the db.
311
-		if ( false === $data ) {
312
-			$table =  $wpdb->prefix . 'getpaid_invoices';
311
+		if (false === $data) {
312
+			$table = $wpdb->prefix . 'getpaid_invoices';
313 313
 
314 314
 			$data  = $wpdb->get_row(
315
-				$wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d LIMIT 1", $invoice->get_id() ),
315
+				$wpdb->prepare("SELECT * FROM $table WHERE `post_id`=%d LIMIT 1", $invoice->get_id()),
316 316
 				ARRAY_A
317 317
 			);
318 318
 
319 319
 			// Update the cache with our data
320
-			wp_cache_set( $invoice->get_id(), $data, 'getpaid_invoice_special_fields' );
320
+			wp_cache_set($invoice->get_id(), $data, 'getpaid_invoice_special_fields');
321 321
 
322 322
 		}
323 323
 
324 324
 		// Abort if the data does not exist.
325
-		if ( empty( $data ) ) {
326
-			$invoice->set_object_read( true );
327
-			$invoice->set_props( wpinv_get_user_address( $invoice->get_user_id() ) );
325
+		if (empty($data)) {
326
+			$invoice->set_object_read(true);
327
+			$invoice->set_props(wpinv_get_user_address($invoice->get_user_id()));
328 328
 			return;
329 329
 		}
330 330
 
331 331
 		$props = array();
332 332
 
333
-		foreach ( $this->database_fields_to_props as $db_field => $prop ) {
333
+		foreach ($this->database_fields_to_props as $db_field => $prop) {
334 334
 			
335
-			if ( $db_field == 'post_id' ) {
335
+			if ($db_field == 'post_id') {
336 336
 				continue;
337 337
 			}
338 338
 
339
-			$props[ $prop ] = $data[ $db_field ];
339
+			$props[$prop] = $data[$db_field];
340 340
 		}
341 341
 
342
-		$invoice->set_props( $props );
342
+		$invoice->set_props($props);
343 343
 
344 344
 	}
345 345
 
@@ -350,14 +350,14 @@  discard block
 block discarded – undo
350 350
 	 * @param  WPInv_Invoice $invoice       The Invoice object.
351 351
 	 * @return array                        A mapping of field keys => prop names, filtered by ones that should be updated.
352 352
 	 */
353
-	protected function get_special_fields_to_update( $invoice ) {
353
+	protected function get_special_fields_to_update($invoice) {
354 354
 		$fields_to_update = array();
355
-		$changed_props   = $invoice->get_changes();
355
+		$changed_props = $invoice->get_changes();
356 356
 
357 357
 		// Props should be updated if they are a part of the $changed array or don't exist yet.
358
-		foreach ( $this->database_fields_to_props as $database_field => $prop ) {
359
-			if ( array_key_exists( $prop, $changed_props ) ) {
360
-				$fields_to_update[ $database_field ] = $prop;
358
+		foreach ($this->database_fields_to_props as $database_field => $prop) {
359
+			if (array_key_exists($prop, $changed_props)) {
360
+				$fields_to_update[$database_field] = $prop;
361 361
 			}
362 362
 		}
363 363
 
@@ -370,25 +370,25 @@  discard block
 block discarded – undo
370 370
 	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
371 371
 	 * @since 1.0.19
372 372
 	 */
373
-	protected function update_special_fields( &$invoice ) {
373
+	protected function update_special_fields(&$invoice) {
374 374
 		global $wpdb;
375 375
 
376 376
 		$updated_props    = array();
377
-		$fields_to_update = $this->get_special_fields_to_update( $invoice );
377
+		$fields_to_update = $this->get_special_fields_to_update($invoice);
378 378
 
379
-		foreach ( $fields_to_update as $database_field => $prop ) {
380
-			$value = $invoice->{"get_$prop"}( 'edit' );
381
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
382
-			$value = is_bool( $value ) ? ( int ) $value : $value;
383
-			$updated_props[ $database_field ] = maybe_serialize( $value );
379
+		foreach ($fields_to_update as $database_field => $prop) {
380
+			$value = $invoice->{"get_$prop"}('edit');
381
+			$value = is_string($value) ? wp_slash($value) : $value;
382
+			$value = is_bool($value) ? (int) $value : $value;
383
+			$updated_props[$database_field] = maybe_serialize($value);
384 384
 		}
385 385
 
386
-		if ( ! empty( $updated_props ) ) {
386
+		if (!empty($updated_props)) {
387 387
 
388 388
 			$table = $wpdb->prefix . 'getpaid_invoices';
389
-			$wpdb->update( $table, $updated_props, array( 'post_id' => $invoice->get_id() ) );
390
-			wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
391
-			do_action( "getpaid_invoice_update_database_fields", $invoice, $updated_props );
389
+			$wpdb->update($table, $updated_props, array('post_id' => $invoice->get_id()));
390
+			wp_cache_delete($invoice->get_id(), 'getpaid_invoice_special_fields');
391
+			do_action("getpaid_invoice_update_database_fields", $invoice, $updated_props);
392 392
 
393 393
 		}
394 394
 
@@ -400,22 +400,22 @@  discard block
 block discarded – undo
400 400
 	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
401 401
 	 * @since 1.0.19
402 402
 	 */
403
-	protected function insert_special_fields( &$invoice ) {
403
+	protected function insert_special_fields(&$invoice) {
404 404
 		global $wpdb;
405 405
 
406
-		$updated_props   = array();
406
+		$updated_props = array();
407 407
 
408
-		foreach ( $this->database_fields_to_props as $database_field => $prop ) {
409
-			$value = $invoice->{"get_$prop"}( 'edit' );
410
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
411
-			$value = is_bool( $value ) ? ( int ) $value : $value;
412
-			$updated_props[ $database_field ] = maybe_serialize( $value );
408
+		foreach ($this->database_fields_to_props as $database_field => $prop) {
409
+			$value = $invoice->{"get_$prop"}('edit');
410
+			$value = is_string($value) ? wp_slash($value) : $value;
411
+			$value = is_bool($value) ? (int) $value : $value;
412
+			$updated_props[$database_field] = maybe_serialize($value);
413 413
 		}
414 414
 
415 415
 		$table = $wpdb->prefix . 'getpaid_invoices';
416
-		$wpdb->insert( $table, $updated_props );
417
-		wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
418
-		do_action( "getpaid_invoice_insert_database_fields", $invoice, $updated_props );
416
+		$wpdb->insert($table, $updated_props);
417
+		wp_cache_delete($invoice->get_id(), 'getpaid_invoice_special_fields');
418
+		do_action("getpaid_invoice_insert_database_fields", $invoice, $updated_props);
419 419
 
420 420
 	}
421 421
 
@@ -424,7 +424,7 @@  discard block
 block discarded – undo
424 424
 	 *
425 425
 	 * @param WPInv_Invoice $invoice Invoice object.
426 426
      */
427
-    public function save_special_fields( & $invoice ) {
427
+    public function save_special_fields(& $invoice) {
428 428
 		global $wpdb;
429 429
 
430 430
 		// The invoices table.
@@ -432,13 +432,13 @@  discard block
 block discarded – undo
432 432
 		$id    = (int) $invoice->get_id();
433 433
 		$invoice->maybe_set_key();
434 434
 
435
-		if ( $wpdb->get_var( "SELECT `post_id` FROM $table WHERE `post_id`= $id" ) ) {
435
+		if ($wpdb->get_var("SELECT `post_id` FROM $table WHERE `post_id`= $id")) {
436 436
 
437
-			$this->update_special_fields( $invoice );
437
+			$this->update_special_fields($invoice);
438 438
 
439 439
 		} else {
440 440
 
441
-			$this->insert_special_fields( $invoice );
441
+			$this->insert_special_fields($invoice);
442 442
 
443 443
 		}
444 444
 
@@ -449,46 +449,46 @@  discard block
 block discarded – undo
449 449
 	 *
450 450
 	 * @param WPInv_Invoice $invoice Invoice object.
451 451
      */
452
-    public function add_items( &$invoice ) {
452
+    public function add_items(&$invoice) {
453 453
 		global $wpdb;
454 454
 
455 455
 		// Maybe retrieve from the cache.
456
-		$items = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_cart_details' );
456
+		$items = wp_cache_get($invoice->get_id(), 'getpaid_invoice_cart_details');
457 457
 
458 458
 		// If not found, retrieve from the db.
459
-		if ( false === $items ) {
460
-			$table =  $wpdb->prefix . 'getpaid_invoice_items';
459
+		if (false === $items) {
460
+			$table = $wpdb->prefix . 'getpaid_invoice_items';
461 461
 
462 462
 			$items = $wpdb->get_results(
463
-				$wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d", $invoice->get_id() )
463
+				$wpdb->prepare("SELECT * FROM $table WHERE `post_id`=%d", $invoice->get_id())
464 464
 			);
465 465
 
466 466
 			// Update the cache with our data
467
-			wp_cache_set( $invoice->get_id(), $items, 'getpaid_invoice_cart_details' );
467
+			wp_cache_set($invoice->get_id(), $items, 'getpaid_invoice_cart_details');
468 468
 
469 469
 		}
470 470
 
471 471
 		// Abort if no items found.
472
-        if ( empty( $items ) ) {
472
+        if (empty($items)) {
473 473
             return;
474 474
 		}
475 475
 
476 476
 		$_items = array();
477
-		foreach ( $items as $item_data ) {
478
-			$item = new GetPaid_Form_Item( $item_data->item_id );
477
+		foreach ($items as $item_data) {
478
+			$item = new GetPaid_Form_Item($item_data->item_id);
479 479
 
480 480
 			// Set item data.
481
-			$item->item_tax      = wpinv_sanitize_amount( $item_data->tax );
482
-			$item->item_discount = wpinv_sanitize_amount( $item_data->discount );
483
-			$item->set_name( $item_data->item_name );
484
-			$item->set_description( $item_data->item_description );
485
-			$item->set_price( $item_data->item_price );
486
-			$item->set_quantity( $item_data->quantity );
487
-			$item->set_item_meta( $item_data->meta );
481
+			$item->item_tax      = wpinv_sanitize_amount($item_data->tax);
482
+			$item->item_discount = wpinv_sanitize_amount($item_data->discount);
483
+			$item->set_name($item_data->item_name);
484
+			$item->set_description($item_data->item_description);
485
+			$item->set_price($item_data->item_price);
486
+			$item->set_quantity($item_data->quantity);
487
+			$item->set_item_meta($item_data->meta);
488 488
 			$_items[] = $item;
489 489
 		}
490 490
 
491
-		$invoice->set_items( $_items );
491
+		$invoice->set_items($_items);
492 492
 	}
493 493
 
494 494
 	/**
@@ -496,20 +496,20 @@  discard block
 block discarded – undo
496 496
 	 *
497 497
 	 * @param WPInv_Invoice $invoice Invoice object.
498 498
      */
499
-    public function save_items( $invoice ) {
499
+    public function save_items($invoice) {
500 500
 
501 501
 		// Delete previously existing items.
502
-		$this->delete_items( $invoice );
502
+		$this->delete_items($invoice);
503 503
 
504
-		$table   =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
504
+		$table = $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
505 505
 
506
-		foreach ( $invoice->get_cart_details() as $item_data ) {
507
-			$item_data = array_map( 'maybe_serialize', $item_data );
508
-			$GLOBALS['wpdb']->insert( $table, $item_data );
506
+		foreach ($invoice->get_cart_details() as $item_data) {
507
+			$item_data = array_map('maybe_serialize', $item_data);
508
+			$GLOBALS['wpdb']->insert($table, $item_data);
509 509
 		}
510 510
 
511
-		wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_cart_details' );
512
-		do_action( "getpaid_invoice_save_items", $invoice );
511
+		wp_cache_delete($invoice->get_id(), 'getpaid_invoice_cart_details');
512
+		do_action("getpaid_invoice_save_items", $invoice);
513 513
 
514 514
 	}
515 515
 
@@ -518,9 +518,9 @@  discard block
 block discarded – undo
518 518
 	 *
519 519
 	 * @param WPInv_Invoice $invoice Invoice object.
520 520
      */
521
-    public function delete_items( $invoice ) {
522
-		$table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
523
-		return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
521
+    public function delete_items($invoice) {
522
+		$table = $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
523
+		return $GLOBALS['wpdb']->delete($table, array('post_id' => $invoice->get_id()));
524 524
 	}
525 525
 
526 526
 	/**
@@ -528,9 +528,9 @@  discard block
 block discarded – undo
528 528
 	 *
529 529
 	 * @param WPInv_Invoice $invoice Invoice object.
530 530
      */
531
-    public function delete_special_fields( $invoice ) {
532
-		$table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoices';
533
-		return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
531
+    public function delete_special_fields($invoice) {
532
+		$table = $GLOBALS['wpdb']->prefix . 'getpaid_invoices';
533
+		return $GLOBALS['wpdb']->delete($table, array('post_id' => $invoice->get_id()));
534 534
 	}
535 535
 	
536 536
 	/**
@@ -541,10 +541,10 @@  discard block
 block discarded – undo
541 541
 	 * @param  WPInv_Invoice $object GetPaid_Data object.
542 542
 	 * @return string
543 543
 	 */
544
-	protected function get_post_status( $object ) {
545
-		$object_status = $object->get_status( 'edit' );
544
+	protected function get_post_status($object) {
545
+		$object_status = $object->get_status('edit');
546 546
 
547
-		if ( ! $object_status ) {
547
+		if (!$object_status) {
548 548
 			$object_status = $object->get_default_status();
549 549
 		}
550 550
 
Please login to merge, or discard this patch.
templates/invoice/line-totals.php 1 patch
Spacing   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -9,26 +9,26 @@  discard block
 block discarded – undo
9 9
  * @var WPInv_Invoice $invoice
10 10
  */
11 11
 
12
-defined( 'ABSPATH' ) || exit;
12
+defined('ABSPATH') || exit;
13 13
 
14 14
 // Totals rows.
15
-$totals = getpaid_invoice_totals_rows( $invoice );
15
+$totals = getpaid_invoice_totals_rows($invoice);
16 16
 
17
-do_action( 'getpaid_before_invoice_line_totals', $invoice, $totals );
17
+do_action('getpaid_before_invoice_line_totals', $invoice, $totals);
18 18
 
19 19
 ?>
20 20
 <div class='getpaid-invoice-line-totals'>
21 21
     <div class="row">
22 22
         <div class="col-12 offset-sm-6 col-sm-6 border-sm-left pl-sm-0">
23 23
 
24
-            <?php foreach ( $totals as $key => $label ) : ?>
24
+            <?php foreach ($totals as $key => $label) : ?>
25 25
 
26
-                <div class="getpaid-invoice-line-totals-col <?php echo sanitize_html_class( $key ); ?>">
26
+                <div class="getpaid-invoice-line-totals-col <?php echo sanitize_html_class($key); ?>">
27 27
 
28 28
                     <div class="form-row">
29 29
 
30 30
                         <div class="col-8 getpaid-invoice-line-totals-label">
31
-                            <?php echo sanitize_text_field( $label ); ?>
31
+                            <?php echo sanitize_text_field($label); ?>
32 32
                         </div>
33 33
 
34 34
                         <div class="col-4 getpaid-invoice-line-totals-value pl-0">
@@ -36,15 +36,15 @@  discard block
 block discarded – undo
36 36
                             <?php
37 37
 
38 38
                                 // Total tax.
39
-                                if ( 'tax' == $key ) {
40
-                                    echo wpinv_price( $invoice->get_total_tax(), $invoice->get_currency() );
39
+                                if ('tax' == $key) {
40
+                                    echo wpinv_price($invoice->get_total_tax(), $invoice->get_currency());
41 41
 
42
-                                    if ( wpinv_use_taxes() && ! $invoice->get_disable_taxes() ) {
42
+                                    if (wpinv_use_taxes() && !$invoice->get_disable_taxes()) {
43 43
 
44 44
                                         $taxes = $invoice->get_total_tax();
45
-                                        if ( empty( $taxes ) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $invoice->get_country() ) ) {
45
+                                        if (empty($taxes) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction($invoice->get_country())) {
46 46
                                             echo ' <em class="text-muted small">';
47
-                                            _x( '(Reverse charged)','This is a legal term for reverse charging tax in the EU', 'invoicing' );
47
+                                            _x('(Reverse charged)', 'This is a legal term for reverse charging tax in the EU', 'invoicing');
48 48
                                             echo '</em>';
49 49
                                         }
50 50
 
@@ -53,27 +53,27 @@  discard block
 block discarded – undo
53 53
                                 }
54 54
 
55 55
                                 // Total Fee.
56
-                                if ( 'fee' == $key ) {
57
-                                    echo wpinv_price( $invoice->get_total_fees(), $invoice->get_currency() );
56
+                                if ('fee' == $key) {
57
+                                    echo wpinv_price($invoice->get_total_fees(), $invoice->get_currency());
58 58
                                 }
59 59
 
60 60
                                 // Total discount.
61
-                                if ( 'discount' == $key ) {
62
-                                    echo wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() );
61
+                                if ('discount' == $key) {
62
+                                    echo wpinv_price($invoice->get_total_discount(), $invoice->get_currency());
63 63
                                 }
64 64
 
65 65
                                 // Sub total.
66
-                                if ( 'subtotal' == $key ) {
67
-                                    echo wpinv_price( $invoice->get_subtotal(), $invoice->get_currency() );
66
+                                if ('subtotal' == $key) {
67
+                                    echo wpinv_price($invoice->get_subtotal(), $invoice->get_currency());
68 68
                                 }
69 69
 
70 70
                                 // Total.
71
-                                if ( 'total' == $key ) {
72
-                                    echo wpinv_price( $invoice->get_total(), $invoice->get_currency() );
71
+                                if ('total' == $key) {
72
+                                    echo wpinv_price($invoice->get_total(), $invoice->get_currency());
73 73
                                 }
74 74
  
75 75
                                 // Fires when printing a cart total.
76
-                                do_action( "getpaid_invoice_cart_totals_$key", $invoice );
76
+                                do_action("getpaid_invoice_cart_totals_$key", $invoice);
77 77
 
78 78
                             ?>
79 79
 
@@ -87,4 +87,4 @@  discard block
 block discarded – undo
87 87
     </div>
88 88
 </div> <!-- end .getpaid-invoice-line-totals -->
89 89
 
90
-<?php do_action(  'getpaid_after_invoice_line_totals', $invoice, $totals ); ?>
90
+<?php do_action('getpaid_after_invoice_line_totals', $invoice, $totals); ?>
Please login to merge, or discard this patch.
includes/class-getpaid-template.php 2 patches
Indentation   +152 added lines, -152 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 /**
@@ -20,29 +20,29 @@  discard block
 block discarded – undo
20 20
     public $templates_url;
21 21
 
22 22
     /**
23
-	 * Class constructor.
24
-	 *
25
-	 * @since 1.0.19
26
-	 */
27
-	public function __construct() {
23
+     * Class constructor.
24
+     *
25
+     * @since 1.0.19
26
+     */
27
+    public function __construct() {
28 28
 
29 29
         $this->templates_dir = apply_filters( 'getpaid_default_templates_dir', WPINV_PLUGIN_DIR . 'templates' );
30 30
         $this->templates_url = apply_filters( 'getpaid_default_templates_url', WPINV_PLUGIN_URL . 'templates' );
31 31
 
32 32
         // Oxygen plugin
33
-		if ( defined( 'CT_VERSION' ) ) {
34
-			add_filter( 'wpinv_locate_template', array( $this, 'oxygen_override_template' ), 11, 4 );
35
-		}
33
+        if ( defined( 'CT_VERSION' ) ) {
34
+            add_filter( 'wpinv_locate_template', array( $this, 'oxygen_override_template' ), 11, 4 );
35
+        }
36 36
 
37 37
     }
38 38
 
39 39
     /**
40
-	 * Checks if this is a preview page
41
-	 *
42
-	 * @since 1.0.19
43
-	 * @return bool
44
-	 */
45
-	public function is_preview() {
40
+     * Checks if this is a preview page
41
+     *
42
+     * @since 1.0.19
43
+     * @return bool
44
+     */
45
+    public function is_preview() {
46 46
         return 
47 47
             $this->is_divi_preview() ||
48 48
             $this->is_elementor_preview() ||
@@ -54,73 +54,73 @@  discard block
 block discarded – undo
54 54
     }
55 55
 
56 56
     /**
57
-	 * Checks if this is an elementor preview page
58
-	 *
59
-	 * @since 1.0.19
60
-	 * @return bool
61
-	 */
62
-	public function is_elementor_preview() {
63
-		return isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' );
64
-	}
65
-
66
-	/**
67
-	 * Checks if this is a DIVI preview page
68
-	 *
69
-	 * @since 1.0.19
70
-	 * @return bool
71
-	 */
72
-	public function is_divi_preview() {
73
-		return isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'et_pb' );
74
-	}
75
-
76
-	/**
77
-	 * Checks if this is a beaver builder preview page
78
-	 *
79
-	 * @since 1.0.19
80
-	 * @return bool
81
-	 */
82
-	public function is_beaver_preview() {
83
-		return isset( $_REQUEST['fl_builder'] );
84
-	}
85
-
86
-	/**
87
-	 * Checks if this is a siteorigin builder preview page
88
-	 *
89
-	 * @since 1.0.19
90
-	 * @return bool
91
-	 */
92
-	public function is_siteorigin_preview() {
93
-		return ! empty( $_REQUEST['siteorigin_panels_live_editor'] );
94
-	}
95
-
96
-	/**
97
-	 * Checks if this is a cornerstone builder preview page
98
-	 *
99
-	 * @since 1.0.19
100
-	 * @return bool
101
-	 */
102
-	public function is_cornerstone_preview() {
103
-		return ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint';
104
-	}
105
-
106
-	/**
107
-	 * Checks if this is a fusion builder preview page
108
-	 *
109
-	 * @since 1.0.19
110
-	 * @return bool
111
-	 */
112
-	public function is_fusion_preview() {
113
-		return ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] );
114
-	}
115
-
116
-	/**
117
-	 * Checks if this is an oxygen builder preview page
118
-	 *
119
-	 * @since 1.0.19
120
-	 * @return bool
121
-	 */
122
-	public function is_oxygen_preview() {
123
-		return ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) );
57
+     * Checks if this is an elementor preview page
58
+     *
59
+     * @since 1.0.19
60
+     * @return bool
61
+     */
62
+    public function is_elementor_preview() {
63
+        return isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' );
64
+    }
65
+
66
+    /**
67
+     * Checks if this is a DIVI preview page
68
+     *
69
+     * @since 1.0.19
70
+     * @return bool
71
+     */
72
+    public function is_divi_preview() {
73
+        return isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'et_pb' );
74
+    }
75
+
76
+    /**
77
+     * Checks if this is a beaver builder preview page
78
+     *
79
+     * @since 1.0.19
80
+     * @return bool
81
+     */
82
+    public function is_beaver_preview() {
83
+        return isset( $_REQUEST['fl_builder'] );
84
+    }
85
+
86
+    /**
87
+     * Checks if this is a siteorigin builder preview page
88
+     *
89
+     * @since 1.0.19
90
+     * @return bool
91
+     */
92
+    public function is_siteorigin_preview() {
93
+        return ! empty( $_REQUEST['siteorigin_panels_live_editor'] );
94
+    }
95
+
96
+    /**
97
+     * Checks if this is a cornerstone builder preview page
98
+     *
99
+     * @since 1.0.19
100
+     * @return bool
101
+     */
102
+    public function is_cornerstone_preview() {
103
+        return ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint';
104
+    }
105
+
106
+    /**
107
+     * Checks if this is a fusion builder preview page
108
+     *
109
+     * @since 1.0.19
110
+     * @return bool
111
+     */
112
+    public function is_fusion_preview() {
113
+        return ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] );
114
+    }
115
+
116
+    /**
117
+     * Checks if this is an oxygen builder preview page
118
+     *
119
+     * @since 1.0.19
120
+     * @return bool
121
+     */
122
+    public function is_oxygen_preview() {
123
+        return ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) );
124 124
     }
125 125
 
126 126
     /**
@@ -130,7 +130,7 @@  discard block
 block discarded – undo
130 130
      * @param string $template_path The template path relative to the theme's root dir. Defaults to 'invoicing'.
131 131
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
132 132
      */
133
-	public function locate_template( $template_name, $template_path = '', $default_path = '' ) {
133
+    public function locate_template( $template_name, $template_path = '', $default_path = '' ) {
134 134
 
135 135
         // Load the defaults for the template path and default path.
136 136
         $template_path = empty( $template_path ) ? 'invoicing' : $template_path;
@@ -151,22 +151,22 @@  discard block
 block discarded – undo
151 151
     }
152 152
     
153 153
     /**
154
-	 * Loads a template
155
-	 *
156
-	 * @since 1.0.19
157
-	 * @return bool
158
-	 */
159
-	protected function load_template( $template_name, $template_path, $args ) {
154
+     * Loads a template
155
+     *
156
+     * @since 1.0.19
157
+     * @return bool
158
+     */
159
+    protected function load_template( $template_name, $template_path, $args ) {
160 160
 
161 161
         if ( is_array( $args ) ){
162 162
             extract( $args );
163 163
         }
164 164
 
165 165
         // Fires before loading a template.
166
-	    do_action( 'wpinv_before_template_part', $template_name, $template_path, $args );
166
+        do_action( 'wpinv_before_template_part', $template_name, $template_path, $args );
167 167
 
168 168
         // Load the template.
169
-	    include( $template_path );
169
+        include( $template_path );
170 170
 
171 171
         // Fires after loading a template.
172 172
         do_action( 'wpinv_after_template_part', $template_name, $template_path, $args );
@@ -183,7 +183,7 @@  discard block
 block discarded – undo
183 183
      * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
184 184
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
185 185
      */
186
-	public function display_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
186
+    public function display_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
187 187
 
188 188
         // Locate the template.
189 189
         $located = $this->locate_template( $template_name, $template_path, $default_path );
@@ -208,74 +208,74 @@  discard block
 block discarded – undo
208 208
      * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
209 209
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
210 210
      */
211
-	public function get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
211
+    public function get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
212 212
         ob_start();
213 213
         $this->display_template( $template_name, $args, $template_path, $default_path );
214 214
         return ob_get_clean();
215 215
     }
216 216
 
217 217
     /**
218
-	 * Get the geodirectory templates theme path.
219
-	 *
220
-	 *
221
-	 * @return string Template path.
222
-	 */
223
-	public static function get_theme_template_path() {
224
-		$template   = get_template();
225
-		$theme_root = get_theme_root( $template );
226
-
227
-		return $theme_root . '/' . $template . '/' . untrailingslashit( wpinv_get_theme_template_dir_name() );
228
-
229
-	}
230
-
231
-	/**
232
-	 * Oxygen locate theme template.
233
-	 *
234
-	 * @param string $template The template.
235
-	 * @return string The theme template.
236
-	 */
237
-	public static function oxygen_locate_template( $template ) {
238
-
239
-		if ( empty( $template ) ) {
240
-			return '';
241
-		}
242
-
243
-		$has_filter = has_filter( 'template', 'ct_oxygen_template_name' );
244
-
245
-		// Remove template filter
246
-		if ( $has_filter ) {
247
-			remove_filter( 'template', 'ct_oxygen_template_name' );
248
-		}
249
-
250
-		$template = self::get_theme_template_path() . '/' . $template;
251
-
252
-		if ( ! file_exists( $template ) ) {
253
-			$template = '';
254
-		}
255
-
256
-		// Add template filter
257
-		if ( $has_filter ) {
258
-			add_filter( 'template', 'ct_oxygen_template_name' );
259
-		}
260
-
261
-		return $template;
262
-	}
263
-
264
-	/**
265
-	 * Oxygen override theme template.
266
-	 *
267
-	 * @param string $located Located template.
268
-	 * @param string $template_name Template name.
269
-	 * @return string Located template.
270
-	 */
271
-	public function oxygen_override_template( $located, $template_name ) {
218
+     * Get the geodirectory templates theme path.
219
+     *
220
+     *
221
+     * @return string Template path.
222
+     */
223
+    public static function get_theme_template_path() {
224
+        $template   = get_template();
225
+        $theme_root = get_theme_root( $template );
226
+
227
+        return $theme_root . '/' . $template . '/' . untrailingslashit( wpinv_get_theme_template_dir_name() );
228
+
229
+    }
230
+
231
+    /**
232
+     * Oxygen locate theme template.
233
+     *
234
+     * @param string $template The template.
235
+     * @return string The theme template.
236
+     */
237
+    public static function oxygen_locate_template( $template ) {
238
+
239
+        if ( empty( $template ) ) {
240
+            return '';
241
+        }
242
+
243
+        $has_filter = has_filter( 'template', 'ct_oxygen_template_name' );
244
+
245
+        // Remove template filter
246
+        if ( $has_filter ) {
247
+            remove_filter( 'template', 'ct_oxygen_template_name' );
248
+        }
249
+
250
+        $template = self::get_theme_template_path() . '/' . $template;
251
+
252
+        if ( ! file_exists( $template ) ) {
253
+            $template = '';
254
+        }
255
+
256
+        // Add template filter
257
+        if ( $has_filter ) {
258
+            add_filter( 'template', 'ct_oxygen_template_name' );
259
+        }
260
+
261
+        return $template;
262
+    }
263
+
264
+    /**
265
+     * Oxygen override theme template.
266
+     *
267
+     * @param string $located Located template.
268
+     * @param string $template_name Template name.
269
+     * @return string Located template.
270
+     */
271
+    public function oxygen_override_template( $located, $template_name ) {
272 272
 
273 273
         $oxygen_overide = self::oxygen_locate_template( $template_name );
274
-		if ( ! empty( $oxygen_overide ) ) {
275
-			return $oxygen_overide;
276
-		}
274
+        if ( ! empty( $oxygen_overide ) ) {
275
+            return $oxygen_overide;
276
+        }
277 277
 
278
-		return $located;
279
-	}
278
+        return $located;
279
+    }
280 280
 
281 281
 }
Please login to merge, or discard this patch.
Spacing   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
@@ -26,12 +26,12 @@  discard block
 block discarded – undo
26 26
 	 */
27 27
 	public function __construct() {
28 28
 
29
-        $this->templates_dir = apply_filters( 'getpaid_default_templates_dir', WPINV_PLUGIN_DIR . 'templates' );
30
-        $this->templates_url = apply_filters( 'getpaid_default_templates_url', WPINV_PLUGIN_URL . 'templates' );
29
+        $this->templates_dir = apply_filters('getpaid_default_templates_dir', WPINV_PLUGIN_DIR . 'templates');
30
+        $this->templates_url = apply_filters('getpaid_default_templates_url', WPINV_PLUGIN_URL . 'templates');
31 31
 
32 32
         // Oxygen plugin
33
-		if ( defined( 'CT_VERSION' ) ) {
34
-			add_filter( 'wpinv_locate_template', array( $this, 'oxygen_override_template' ), 11, 4 );
33
+		if (defined('CT_VERSION')) {
34
+			add_filter('wpinv_locate_template', array($this, 'oxygen_override_template'), 11, 4);
35 35
 		}
36 36
 
37 37
     }
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 	 * @return bool
61 61
 	 */
62 62
 	public function is_elementor_preview() {
63
-		return isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' );
63
+		return isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax');
64 64
 	}
65 65
 
66 66
 	/**
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
 	 * @return bool
71 71
 	 */
72 72
 	public function is_divi_preview() {
73
-		return isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'et_pb' );
73
+		return isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'et_pb');
74 74
 	}
75 75
 
76 76
 	/**
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
 	 * @return bool
81 81
 	 */
82 82
 	public function is_beaver_preview() {
83
-		return isset( $_REQUEST['fl_builder'] );
83
+		return isset($_REQUEST['fl_builder']);
84 84
 	}
85 85
 
86 86
 	/**
@@ -90,7 +90,7 @@  discard block
 block discarded – undo
90 90
 	 * @return bool
91 91
 	 */
92 92
 	public function is_siteorigin_preview() {
93
-		return ! empty( $_REQUEST['siteorigin_panels_live_editor'] );
93
+		return !empty($_REQUEST['siteorigin_panels_live_editor']);
94 94
 	}
95 95
 
96 96
 	/**
@@ -100,7 +100,7 @@  discard block
 block discarded – undo
100 100
 	 * @return bool
101 101
 	 */
102 102
 	public function is_cornerstone_preview() {
103
-		return ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint';
103
+		return !empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint';
104 104
 	}
105 105
 
106 106
 	/**
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 	 * @return bool
111 111
 	 */
112 112
 	public function is_fusion_preview() {
113
-		return ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] );
113
+		return !empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce']);
114 114
 	}
115 115
 
116 116
 	/**
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
 	 * @return bool
121 121
 	 */
122 122
 	public function is_oxygen_preview() {
123
-		return ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) );
123
+		return !empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"));
124 124
     }
125 125
 
126 126
     /**
@@ -130,24 +130,24 @@  discard block
 block discarded – undo
130 130
      * @param string $template_path The template path relative to the theme's root dir. Defaults to 'invoicing'.
131 131
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
132 132
      */
133
-	public function locate_template( $template_name, $template_path = '', $default_path = '' ) {
133
+	public function locate_template($template_name, $template_path = '', $default_path = '') {
134 134
 
135 135
         // Load the defaults for the template path and default path.
136
-        $template_path = empty( $template_path ) ? 'invoicing' : $template_path;
137
-        $default_path  = empty( $default_path ) ? $this->templates_dir : $default_path;
138
-        $default_path  = apply_filters( 'getpaid_template_default_template_path', $default_path, $template_name );
136
+        $template_path = empty($template_path) ? 'invoicing' : $template_path;
137
+        $default_path  = empty($default_path) ? $this->templates_dir : $default_path;
138
+        $default_path  = apply_filters('getpaid_template_default_template_path', $default_path, $template_name);
139 139
 
140 140
         // Is it overidden?
141 141
         $template = locate_template(
142
-            array( trailingslashit( $template_path ) . $template_name, 'wpinv-' . $template_name )
142
+            array(trailingslashit($template_path) . $template_name, 'wpinv-' . $template_name)
143 143
         );
144 144
 
145 145
         // If not, load the default template.
146
-        if ( empty( $template ) ) {
147
-            $template = trailingslashit( $default_path ) . $template_name;
146
+        if (empty($template)) {
147
+            $template = trailingslashit($default_path) . $template_name;
148 148
         }
149 149
 
150
-        return apply_filters( 'wpinv_locate_template', $template, $template_name, $template_path, $default_path );
150
+        return apply_filters('wpinv_locate_template', $template, $template_name, $template_path, $default_path);
151 151
     }
152 152
     
153 153
     /**
@@ -156,20 +156,20 @@  discard block
 block discarded – undo
156 156
 	 * @since 1.0.19
157 157
 	 * @return bool
158 158
 	 */
159
-	protected function load_template( $template_name, $template_path, $args ) {
159
+	protected function load_template($template_name, $template_path, $args) {
160 160
 
161
-        if ( is_array( $args ) ){
162
-            extract( $args );
161
+        if (is_array($args)) {
162
+            extract($args);
163 163
         }
164 164
 
165 165
         // Fires before loading a template.
166
-	    do_action( 'wpinv_before_template_part', $template_name, $template_path, $args );
166
+	    do_action('wpinv_before_template_part', $template_name, $template_path, $args);
167 167
 
168 168
         // Load the template.
169
-	    include( $template_path );
169
+	    include($template_path);
170 170
 
171 171
         // Fires after loading a template.
172
-        do_action( 'wpinv_after_template_part', $template_name, $template_path, $args );
172
+        do_action('wpinv_after_template_part', $template_name, $template_path, $args);
173 173
 
174 174
     }
175 175
 
@@ -183,18 +183,18 @@  discard block
 block discarded – undo
183 183
      * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
184 184
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
185 185
      */
186
-	public function display_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
186
+	public function display_template($template_name, $args = array(), $template_path = '', $default_path = '') {
187 187
 
188 188
         // Locate the template.
189
-        $located = $this->locate_template( $template_name, $template_path, $default_path );
189
+        $located = $this->locate_template($template_name, $template_path, $default_path);
190 190
 
191 191
         // Abort if the file does not exist.
192
-        if ( ! file_exists( $located ) ) {
193
-            getpaid_doing_it_wrong( __METHOD__, sprintf( '<code>%s</code> does not exist.', $located ), '2.0.0' );
192
+        if (!file_exists($located)) {
193
+            getpaid_doing_it_wrong(__METHOD__, sprintf('<code>%s</code> does not exist.', $located), '2.0.0');
194 194
             return;
195 195
         }
196 196
 
197
-        $this->load_template( $template_name, $located, $args );
197
+        $this->load_template($template_name, $located, $args);
198 198
 
199 199
     }
200 200
     
@@ -208,9 +208,9 @@  discard block
 block discarded – undo
208 208
      * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
209 209
      * @param string $default_path The root path to the default template. Defaults to invoicing/templates
210 210
      */
211
-	public function get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
211
+	public function get_template($template_name, $args = array(), $template_path = '', $default_path = '') {
212 212
         ob_start();
213
-        $this->display_template( $template_name, $args, $template_path, $default_path );
213
+        $this->display_template($template_name, $args, $template_path, $default_path);
214 214
         return ob_get_clean();
215 215
     }
216 216
 
@@ -222,9 +222,9 @@  discard block
 block discarded – undo
222 222
 	 */
223 223
 	public static function get_theme_template_path() {
224 224
 		$template   = get_template();
225
-		$theme_root = get_theme_root( $template );
225
+		$theme_root = get_theme_root($template);
226 226
 
227
-		return $theme_root . '/' . $template . '/' . untrailingslashit( wpinv_get_theme_template_dir_name() );
227
+		return $theme_root . '/' . $template . '/' . untrailingslashit(wpinv_get_theme_template_dir_name());
228 228
 
229 229
 	}
230 230
 
@@ -234,28 +234,28 @@  discard block
 block discarded – undo
234 234
 	 * @param string $template The template.
235 235
 	 * @return string The theme template.
236 236
 	 */
237
-	public static function oxygen_locate_template( $template ) {
237
+	public static function oxygen_locate_template($template) {
238 238
 
239
-		if ( empty( $template ) ) {
239
+		if (empty($template)) {
240 240
 			return '';
241 241
 		}
242 242
 
243
-		$has_filter = has_filter( 'template', 'ct_oxygen_template_name' );
243
+		$has_filter = has_filter('template', 'ct_oxygen_template_name');
244 244
 
245 245
 		// Remove template filter
246
-		if ( $has_filter ) {
247
-			remove_filter( 'template', 'ct_oxygen_template_name' );
246
+		if ($has_filter) {
247
+			remove_filter('template', 'ct_oxygen_template_name');
248 248
 		}
249 249
 
250 250
 		$template = self::get_theme_template_path() . '/' . $template;
251 251
 
252
-		if ( ! file_exists( $template ) ) {
252
+		if (!file_exists($template)) {
253 253
 			$template = '';
254 254
 		}
255 255
 
256 256
 		// Add template filter
257
-		if ( $has_filter ) {
258
-			add_filter( 'template', 'ct_oxygen_template_name' );
257
+		if ($has_filter) {
258
+			add_filter('template', 'ct_oxygen_template_name');
259 259
 		}
260 260
 
261 261
 		return $template;
@@ -268,10 +268,10 @@  discard block
 block discarded – undo
268 268
 	 * @param string $template_name Template name.
269 269
 	 * @return string Located template.
270 270
 	 */
271
-	public function oxygen_override_template( $located, $template_name ) {
271
+	public function oxygen_override_template($located, $template_name) {
272 272
 
273
-        $oxygen_overide = self::oxygen_locate_template( $template_name );
274
-		if ( ! empty( $oxygen_overide ) ) {
273
+        $oxygen_overide = self::oxygen_locate_template($template_name);
274
+		if (!empty($oxygen_overide)) {
275 275
 			return $oxygen_overide;
276 276
 		}
277 277
 
Please login to merge, or discard this patch.
templates/invoice/invoice-logo.php 2 patches
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -7,24 +7,24 @@
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12
-$logo_width  = wpinv_get_option( 'logo_width' );
13
-$logo_height = wpinv_get_option( 'logo_height' );
12
+$logo_width  = wpinv_get_option('logo_width');
13
+$logo_height = wpinv_get_option('logo_height');
14 14
 
15 15
 ?>
16
-<a target="_blank" class="logo-link text-dark" href="<?php echo esc_url( wpinv_get_business_website() ); ?>">
16
+<a target="_blank" class="logo-link text-dark" href="<?php echo esc_url(wpinv_get_business_website()); ?>">
17 17
 
18
-    <?php if ( $logo = wpinv_get_business_logo() ) : ?>
18
+    <?php if ($logo = wpinv_get_business_logo()) : ?>
19 19
 
20
-        <?php if ( ! empty( $logo_width ) && ! empty( $logo_height ) ) : ?>
21
-            <img class="logo" style="max-width:100%; width:<?php echo absint( $logo_width ); ?>px; height:<?php echo absint( $logo_height ); ?>px;" src="<?php echo esc_url( $logo ); ?>">
20
+        <?php if (!empty($logo_width) && !empty($logo_height)) : ?>
21
+            <img class="logo" style="max-width:100%; width:<?php echo absint($logo_width); ?>px; height:<?php echo absint($logo_height); ?>px;" src="<?php echo esc_url($logo); ?>">
22 22
         <?php else: ?>
23
-            <img class="logo" style="max-width:100%;" src="<?php echo esc_url( $logo ); ?>">
23
+            <img class="logo" style="max-width:100%;" src="<?php echo esc_url($logo); ?>">
24 24
         <?php endif; ?>
25 25
 
26 26
     <?php else: ?>
27
-        <h1 class="h3"><?php echo esc_html( wpinv_get_business_name() ); ?></h1>
27
+        <h1 class="h3"><?php echo esc_html(wpinv_get_business_name()); ?></h1>
28 28
     <?php endif; ?>
29 29
 
30 30
 </a>
Please login to merge, or discard this patch.
Braces   +10 added lines, -4 removed lines patch added patch discarded remove patch
@@ -19,12 +19,18 @@
 block discarded – undo
19 19
 
20 20
         <?php if ( ! empty( $logo_width ) && ! empty( $logo_height ) ) : ?>
21 21
             <img class="logo" style="max-width:100%; width:<?php echo absint( $logo_width ); ?>px; height:<?php echo absint( $logo_height ); ?>px;" src="<?php echo esc_url( $logo ); ?>">
22
-        <?php else: ?>
23
-            <img class="logo" style="max-width:100%;" src="<?php echo esc_url( $logo ); ?>">
22
+        <?php else {
23
+    : ?>
24
+            <img class="logo" style="max-width:100%;" src="<?php echo esc_url( $logo );
25
+}
26
+?>">
24 27
         <?php endif; ?>
25 28
 
26
-    <?php else: ?>
27
-        <h1 class="h3"><?php echo esc_html( wpinv_get_business_name() ); ?></h1>
29
+    <?php else {
30
+    : ?>
31
+        <h1 class="h3"><?php echo esc_html( wpinv_get_business_name() );
32
+}
33
+?></h1>
28 34
     <?php endif; ?>
29 35
 
30 36
 </a>
Please login to merge, or discard this patch.
includes/wpinv-item-functions.php 2 patches
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -411,9 +411,9 @@
 block discarded – undo
411 411
     $bill_times      = $item->get_recurring_limit();
412 412
 
413 413
     if ( ! empty( $bill_times ) ) {
414
-		$bill_times = $item->get_recurring_interval() * $bill_times;
415
-		$bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times );
416
-	}
414
+        $bill_times = $item->get_recurring_interval() * $bill_times;
415
+        $bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times );
416
+    }
417 417
 
418 418
     if ( $item instanceof GetPaid_Form_Item && false === $_initial_price ) {
419 419
         $initial_price   = wpinv_price( $item->get_sub_total(), $currency );
Please login to merge, or discard this patch.
Spacing   +131 added lines, -131 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Retrieves an item by it's ID.
@@ -14,9 +14,9 @@  discard block
 block discarded – undo
14 14
  * @param int the item ID to retrieve.
15 15
  * @return WPInv_Item|false
16 16
  */
17
-function wpinv_get_item_by_id( $id ) {
18
-    $item = wpinv_get_item( $id );
19
-    return empty( $item ) || $id != $item->get_id() ? false : $item;
17
+function wpinv_get_item_by_id($id) {
18
+    $item = wpinv_get_item($id);
19
+    return empty($item) || $id != $item->get_id() ? false : $item;
20 20
 }
21 21
 
22 22
 /**
@@ -24,14 +24,14 @@  discard block
 block discarded – undo
24 24
  *
25 25
  * @return WPInv_Item|false
26 26
  */
27
-function wpinv_get_item_by( $field = '', $value = '', $type = '' ) {
27
+function wpinv_get_item_by($field = '', $value = '', $type = '') {
28 28
 
29
-    if ( 'id' == strtolower( $field ) ) {
30
-        return wpinv_get_item_by_id( $field );
29
+    if ('id' == strtolower($field)) {
30
+        return wpinv_get_item_by_id($field);
31 31
     }
32 32
 
33
-    $id = WPInv_Item::get_item_id_by_field( $value, strtolower( $field ), $type );
34
-    return empty( $id ) ? false : wpinv_get_item( $id );
33
+    $id = WPInv_Item::get_item_id_by_field($value, strtolower($field), $type);
34
+    return empty($id) ? false : wpinv_get_item($id);
35 35
 
36 36
 }
37 37
 
@@ -41,22 +41,22 @@  discard block
 block discarded – undo
41 41
  * @param int|WPInv_Item the item to retrieve.
42 42
  * @return WPInv_Item|false
43 43
  */
44
-function wpinv_get_item( $item = 0 ) {
44
+function wpinv_get_item($item = 0) {
45 45
 
46
-    if ( empty( $item ) ) {
46
+    if (empty($item)) {
47 47
         return false;
48 48
     }
49 49
 
50
-    $item = new WPInv_Item( $item );
50
+    $item = new WPInv_Item($item);
51 51
     return $item->exists() ? $item : false;
52 52
 
53 53
 }
54 54
 
55
-function wpinv_get_all_items( $args = array() ) {
55
+function wpinv_get_all_items($args = array()) {
56 56
 
57
-    $args = wp_parse_args( $args, array(
58
-        'status'         => array( 'publish' ),
59
-        'limit'          => get_option( 'posts_per_page' ),
57
+    $args = wp_parse_args($args, array(
58
+        'status'         => array('publish'),
59
+        'limit'          => get_option('posts_per_page'),
60 60
         'page'           => 1,
61 61
         'exclude'        => array(),
62 62
         'orderby'        => 'date',
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
         'meta_query'     => array(),
66 66
         'return'         => 'objects',
67 67
         'paginate'       => false,
68
-    ) );
68
+    ));
69 69
 
70 70
     $wp_query_args = array(
71 71
         'post_type'      => 'wpi_item',
@@ -75,26 +75,26 @@  discard block
 block discarded – undo
75 75
         'fields'         => 'ids',
76 76
         'orderby'        => $args['orderby'],
77 77
         'order'          => $args['order'],
78
-        'paged'          => absint( $args['page'] ),
78
+        'paged'          => absint($args['page']),
79 79
     );
80 80
 
81
-    if ( ! empty( $args['exclude'] ) ) {
82
-        $wp_query_args['post__not_in'] = array_map( 'absint', $args['exclude'] );
81
+    if (!empty($args['exclude'])) {
82
+        $wp_query_args['post__not_in'] = array_map('absint', $args['exclude']);
83 83
     }
84 84
 
85
-    if ( ! $args['paginate' ] ) {
85
+    if (!$args['paginate']) {
86 86
         $wp_query_args['no_found_rows'] = true;
87 87
     }
88 88
 
89
-    if ( ! empty( $args['search'] ) ) {
89
+    if (!empty($args['search'])) {
90 90
         $wp_query_args['s'] = $args['search'];
91 91
     }
92 92
 
93
-    if ( ! empty( $args['type'] ) && $args['type'] !== wpinv_item_types() ) {
94
-        $types = wpinv_parse_list( $args['type'] );
93
+    if (!empty($args['type']) && $args['type'] !== wpinv_item_types()) {
94
+        $types = wpinv_parse_list($args['type']);
95 95
         $wp_query_args['meta_query'][] = array(
96 96
             'key'     => '_wpinv_type',
97
-            'value'   => implode( ',', $types ),
97
+            'value'   => implode(',', $types),
98 98
             'compare' => 'IN',
99 99
         );
100 100
     }
@@ -102,17 +102,17 @@  discard block
 block discarded – undo
102 102
     $wp_query_args = apply_filters('wpinv_get_items_args', $wp_query_args, $args);
103 103
 
104 104
     // Get results.
105
-    $items = new WP_Query( $wp_query_args );
105
+    $items = new WP_Query($wp_query_args);
106 106
 
107
-    if ( 'objects' === $args['return'] ) {
108
-        $return = array_map( 'wpinv_get_item_by_id', $items->posts );
109
-    } elseif ( 'self' === $args['return'] ) {
107
+    if ('objects' === $args['return']) {
108
+        $return = array_map('wpinv_get_item_by_id', $items->posts);
109
+    } elseif ('self' === $args['return']) {
110 110
         return $items;
111 111
     } else {
112 112
         $return = $items->posts;
113 113
     }
114 114
 
115
-    if ( $args['paginate' ] ) {
115
+    if ($args['paginate']) {
116 116
         return (object) array(
117 117
             'items'      => $return,
118 118
             'total'         => $items->found_posts,
@@ -124,12 +124,12 @@  discard block
 block discarded – undo
124 124
 
125 125
 }
126 126
 
127
-function wpinv_is_free_item( $item_id = 0 ) {
128
-    if( empty( $item_id ) ) {
127
+function wpinv_is_free_item($item_id = 0) {
128
+    if (empty($item_id)) {
129 129
         return false;
130 130
     }
131 131
 
132
-    $item = new WPInv_Item( $item_id );
132
+    $item = new WPInv_Item($item_id);
133 133
 
134 134
     return $item->is_free();
135 135
 }
@@ -139,21 +139,21 @@  discard block
 block discarded – undo
139 139
  *
140 140
  * @param WP_Post|WPInv_Item|Int $item The item to check for.
141 141
  */
142
-function wpinv_item_is_editable( $item = 0 ) {
142
+function wpinv_item_is_editable($item = 0) {
143 143
 
144 144
     // Fetch the item.
145
-    $item = new WPInv_Item( $item );
145
+    $item = new WPInv_Item($item);
146 146
 
147 147
     // Check if it is editable.
148 148
     return $item->is_editable();
149 149
 }
150 150
 
151
-function wpinv_get_item_price( $item_id = 0 ) {
152
-    if( empty( $item_id ) ) {
151
+function wpinv_get_item_price($item_id = 0) {
152
+    if (empty($item_id)) {
153 153
         return false;
154 154
     }
155 155
 
156
-    $item = new WPInv_Item( $item_id );
156
+    $item = new WPInv_Item($item_id);
157 157
 
158 158
     return $item->get_price();
159 159
 }
@@ -163,96 +163,96 @@  discard block
 block discarded – undo
163 163
  *
164 164
  * @param WPInv_Item|int $item
165 165
  */
166
-function wpinv_is_recurring_item( $item = 0 ) {
167
-    $item = new WPInv_Item( $item );
166
+function wpinv_is_recurring_item($item = 0) {
167
+    $item = new WPInv_Item($item);
168 168
     return $item->is_recurring();
169 169
 }
170 170
 
171
-function wpinv_item_price( $item_id = 0 ) {
172
-    if( empty( $item_id ) ) {
171
+function wpinv_item_price($item_id = 0) {
172
+    if (empty($item_id)) {
173 173
         return false;
174 174
     }
175 175
 
176
-    $price = wpinv_get_item_price( $item_id );
177
-    $price = wpinv_price( $price );
176
+    $price = wpinv_get_item_price($item_id);
177
+    $price = wpinv_price($price);
178 178
 
179
-    return apply_filters( 'wpinv_item_price', $price, $item_id );
179
+    return apply_filters('wpinv_item_price', $price, $item_id);
180 180
 }
181 181
 
182
-function wpinv_get_item_final_price( $item_id = 0, $amount_override = null ) {
183
-    if ( is_null( $amount_override ) ) {
184
-        $original_price = get_post_meta( $item_id, '_wpinv_price', true );
182
+function wpinv_get_item_final_price($item_id = 0, $amount_override = null) {
183
+    if (is_null($amount_override)) {
184
+        $original_price = get_post_meta($item_id, '_wpinv_price', true);
185 185
     } else {
186 186
         $original_price = $amount_override;
187 187
     }
188 188
 
189 189
     $price = $original_price;
190 190
 
191
-    return apply_filters( 'wpinv_get_item_final_price', $price, $item_id );
191
+    return apply_filters('wpinv_get_item_final_price', $price, $item_id);
192 192
 }
193 193
 
194
-function wpinv_item_custom_singular_name( $item_id ) {
195
-    if( empty( $item_id ) ) {
194
+function wpinv_item_custom_singular_name($item_id) {
195
+    if (empty($item_id)) {
196 196
         return false;
197 197
     }
198 198
 
199
-    $item = new WPInv_Item( $item_id );
199
+    $item = new WPInv_Item($item_id);
200 200
 
201 201
     return $item->get_custom_singular_name();
202 202
 }
203 203
 
204 204
 function wpinv_get_item_types() {
205 205
     $item_types = array(
206
-            'custom'    => __( 'Standard', 'invoicing' ),
207
-            'fee'       => __( 'Fee', 'invoicing' ),
206
+            'custom'    => __('Standard', 'invoicing'),
207
+            'fee'       => __('Fee', 'invoicing'),
208 208
         );
209
-    return apply_filters( 'wpinv_get_item_types', $item_types );
209
+    return apply_filters('wpinv_get_item_types', $item_types);
210 210
 }
211 211
 
212 212
 function wpinv_item_types() {
213 213
     $item_types = wpinv_get_item_types();
214 214
 
215
-    return ( !empty( $item_types ) ? array_keys( $item_types ) : array() );
215
+    return (!empty($item_types) ? array_keys($item_types) : array());
216 216
 }
217 217
 
218
-function wpinv_get_item_type( $item_id ) {
219
-    if( empty( $item_id ) ) {
218
+function wpinv_get_item_type($item_id) {
219
+    if (empty($item_id)) {
220 220
         return false;
221 221
     }
222 222
 
223
-    $item = new WPInv_Item( $item_id );
223
+    $item = new WPInv_Item($item_id);
224 224
 
225 225
     return $item->get_type();
226 226
 }
227 227
 
228
-function wpinv_item_type( $item_id ) {
228
+function wpinv_item_type($item_id) {
229 229
     $item_types = wpinv_get_item_types();
230 230
 
231
-    $item_type = wpinv_get_item_type( $item_id );
231
+    $item_type = wpinv_get_item_type($item_id);
232 232
 
233
-    if ( empty( $item_type ) ) {
233
+    if (empty($item_type)) {
234 234
         $item_type = '-';
235 235
     }
236 236
 
237
-    $item_type = isset( $item_types[$item_type] ) ? $item_types[$item_type] : __( $item_type, 'invoicing' );
237
+    $item_type = isset($item_types[$item_type]) ? $item_types[$item_type] : __($item_type, 'invoicing');
238 238
 
239
-    return apply_filters( 'wpinv_item_type', $item_type, $item_id );
239
+    return apply_filters('wpinv_item_type', $item_type, $item_id);
240 240
 }
241 241
 
242
-function wpinv_get_random_item( $post_ids = true ) {
243
-    wpinv_get_random_items( 1, $post_ids );
242
+function wpinv_get_random_item($post_ids = true) {
243
+    wpinv_get_random_items(1, $post_ids);
244 244
 }
245 245
 
246
-function wpinv_get_random_items( $num = 3, $post_ids = true ) {
247
-    if ( $post_ids ) {
248
-        $args = array( 'post_type' => 'wpi_item', 'orderby' => 'rand', 'post_count' => $num, 'fields' => 'ids' );
246
+function wpinv_get_random_items($num = 3, $post_ids = true) {
247
+    if ($post_ids) {
248
+        $args = array('post_type' => 'wpi_item', 'orderby' => 'rand', 'post_count' => $num, 'fields' => 'ids');
249 249
     } else {
250
-        $args = array( 'post_type' => 'wpi_item', 'orderby' => 'rand', 'post_count' => $num );
250
+        $args = array('post_type' => 'wpi_item', 'orderby' => 'rand', 'post_count' => $num);
251 251
     }
252 252
 
253
-    $args  = apply_filters( 'wpinv_get_random_items', $args );
253
+    $args = apply_filters('wpinv_get_random_items', $args);
254 254
 
255
-    return get_posts( $args );
255
+    return get_posts($args);
256 256
 }
257 257
 
258 258
 /**
@@ -261,13 +261,13 @@  discard block
 block discarded – undo
261 261
  * @param WPInv_Item|int $item
262 262
  * @param bool $html
263 263
  */
264
-function wpinv_get_item_suffix( $item, $html = true ) {
264
+function wpinv_get_item_suffix($item, $html = true) {
265 265
 
266
-    $item   = new WPInv_Item( $item );
267
-    $suffix = $item->is_recurring() ? ' <span class="wpi-suffix">' . __( '(r)', 'invoicing' ) . '</span>' : '';
268
-    $suffix = $html ? $suffix : strip_tags( $suffix );
266
+    $item   = new WPInv_Item($item);
267
+    $suffix = $item->is_recurring() ? ' <span class="wpi-suffix">' . __('(r)', 'invoicing') . '</span>' : '';
268
+    $suffix = $html ? $suffix : strip_tags($suffix);
269 269
 
270
-    return apply_filters( 'wpinv_get_item_suffix', $suffix, $item, $html );
270
+    return apply_filters('wpinv_get_item_suffix', $suffix, $item, $html);
271 271
 }
272 272
 
273 273
 /**
@@ -276,9 +276,9 @@  discard block
 block discarded – undo
276 276
  * @param WPInv_Item|int $item
277 277
  * @param bool $force_delete
278 278
  */
279
-function wpinv_remove_item( $item = 0, $force_delete = false ) {
280
-    $item = new WPInv_Item( $item );
281
-    $item->delete( $force_delete );
279
+function wpinv_remove_item($item = 0, $force_delete = false) {
280
+    $item = new WPInv_Item($item);
281
+    $item->delete($force_delete);
282 282
 }
283 283
 
284 284
 /**
@@ -317,45 +317,45 @@  discard block
 block discarded – undo
317 317
  * @param bool $wp_error whether or not to return a WP_Error on failure.
318 318
  * @return bool|WP_Error|WPInv_Item
319 319
  */
320
-function wpinv_create_item( $args = array(), $wp_error = false ) {
320
+function wpinv_create_item($args = array(), $wp_error = false) {
321 321
 
322 322
     // Prepare the item.
323
-    if ( ! empty( $args['custom_id'] ) && empty( $args['ID'] ) ) {
324
-        $type = empty( $args['type'] ) ? 'custom' : $args['type'];
325
-        $item = wpinv_get_item_by( 'custom_id', $args['custom_id'], $type );
323
+    if (!empty($args['custom_id']) && empty($args['ID'])) {
324
+        $type = empty($args['type']) ? 'custom' : $args['type'];
325
+        $item = wpinv_get_item_by('custom_id', $args['custom_id'], $type);
326 326
 
327
-        if ( ! empty( $item ) ) {
327
+        if (!empty($item)) {
328 328
             $args['ID'] = $item->get_id();
329 329
         }
330 330
 
331 331
     }
332 332
 
333 333
     // Do we have an item?
334
-    if ( ! empty( $args['ID'] ) ) {
335
-        $item = new WPInv_Item( $args['ID'] );
334
+    if (!empty($args['ID'])) {
335
+        $item = new WPInv_Item($args['ID']);
336 336
     } else {
337 337
         $item = new WPInv_Item();
338 338
     }
339 339
 
340 340
     // Do we have an error?
341
-    if ( ! empty( $item->last_error ) ) {
342
-        return $wp_error ? new WP_Error( 'invalid_item', $item->last_error ) : false;
341
+    if (!empty($item->last_error)) {
342
+        return $wp_error ? new WP_Error('invalid_item', $item->last_error) : false;
343 343
     }
344 344
 
345 345
     // Update item props.
346
-    $item->set_props( $args );
346
+    $item->set_props($args);
347 347
 
348 348
     // Save the item.
349 349
     $item->save();
350 350
 
351 351
     // Do we have an error?
352
-    if ( ! empty( $item->last_error ) ) {
353
-        return $wp_error ? new WP_Error( 'not_saved', $item->last_error ) : false;
352
+    if (!empty($item->last_error)) {
353
+        return $wp_error ? new WP_Error('not_saved', $item->last_error) : false;
354 354
     }
355 355
 
356 356
     // Was the item saved?
357
-    if ( ! $item->get_id() ) {
358
-        return $wp_error ? new WP_Error( 'not_saved', __( 'An error occured while saving the item', 'invoicing' ) ) : false;
357
+    if (!$item->get_id()) {
358
+        return $wp_error ? new WP_Error('not_saved', __('An error occured while saving the item', 'invoicing')) : false;
359 359
     }
360 360
 
361 361
     return $item;
@@ -367,14 +367,14 @@  discard block
 block discarded – undo
367 367
  *
368 368
  * @see wpinv_create_item()
369 369
  */
370
-function wpinv_update_item( $args = array(), $wp_error = false ) {
371
-    return wpinv_create_item( $args, $wp_error );
370
+function wpinv_update_item($args = array(), $wp_error = false) {
371
+    return wpinv_create_item($args, $wp_error);
372 372
 }
373 373
 
374 374
 /**
375 375
  * Sanitizes a recurring period
376 376
  */
377
-function getpaid_sanitize_recurring_period( $period, $full = false ) {
377
+function getpaid_sanitize_recurring_period($period, $full = false) {
378 378
 
379 379
     $periods = array(
380 380
         'D' => 'day',
@@ -383,11 +383,11 @@  discard block
 block discarded – undo
383 383
         'Y' => 'year',
384 384
     );
385 385
 
386
-    if ( ! isset( $periods[ $period ] ) ) {
386
+    if (!isset($periods[$period])) {
387 387
         $period = 'D';
388 388
     }
389 389
 
390
-    return $full ? $periods[ $period ] : $period;
390
+    return $full ? $periods[$period] : $period;
391 391
 
392 392
 }
393 393
 
@@ -396,46 +396,46 @@  discard block
 block discarded – undo
396 396
  *
397 397
  * @param WPInv_Item|GetPaid_Form_Item $item
398 398
  */
399
-function getpaid_item_recurring_price_help_text( $item, $currency = '', $_initial_price = false, $_recurring_price = false ) {
399
+function getpaid_item_recurring_price_help_text($item, $currency = '', $_initial_price = false, $_recurring_price = false) {
400 400
 
401 401
     // Abort if it is not recurring.
402
-    if ( ! $item->is_recurring() ) {
402
+    if (!$item->is_recurring()) {
403 403
         return '';
404 404
     }
405 405
 
406
-    $initial_price   = false === $_initial_price ? wpinv_price( $item->get_initial_price(), $currency ) : $_initial_price;
407
-    $recurring_price = false === $_recurring_price ? wpinv_price( $item->get_recurring_price(), $currency ) : $_recurring_price;
408
-    $period          = getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' );
406
+    $initial_price   = false === $_initial_price ? wpinv_price($item->get_initial_price(), $currency) : $_initial_price;
407
+    $recurring_price = false === $_recurring_price ? wpinv_price($item->get_recurring_price(), $currency) : $_recurring_price;
408
+    $period          = getpaid_get_subscription_period_label($item->get_recurring_period(), $item->get_recurring_interval(), '');
409 409
     $initial_class   = 'getpaid-item-initial-price';
410 410
     $recurring_class = 'getpaid-item-recurring-price';
411 411
     $bill_times      = $item->get_recurring_limit();
412 412
 
413
-    if ( ! empty( $bill_times ) ) {
413
+    if (!empty($bill_times)) {
414 414
 		$bill_times = $item->get_recurring_interval() * $bill_times;
415
-		$bill_times = getpaid_get_subscription_period_label( $item->get_recurring_period(), $bill_times );
415
+		$bill_times = getpaid_get_subscription_period_label($item->get_recurring_period(), $bill_times);
416 416
 	}
417 417
 
418
-    if ( $item instanceof GetPaid_Form_Item && false === $_initial_price ) {
419
-        $initial_price   = wpinv_price( $item->get_sub_total(), $currency );
420
-        $recurring_price = wpinv_price( $item->get_recurring_sub_total(), $currency );
418
+    if ($item instanceof GetPaid_Form_Item && false === $_initial_price) {
419
+        $initial_price   = wpinv_price($item->get_sub_total(), $currency);
420
+        $recurring_price = wpinv_price($item->get_recurring_sub_total(), $currency);
421 421
     }
422 422
 
423
-    if ( wpinv_price( 0, $currency ) == $initial_price && wpinv_price( 0, $currency ) == $recurring_price ) {
424
-        return __( 'Free forever', 'invoicing' );
423
+    if (wpinv_price(0, $currency) == $initial_price && wpinv_price(0, $currency) == $recurring_price) {
424
+        return __('Free forever', 'invoicing');
425 425
     }
426 426
 
427 427
     // For free trial items.
428
-    if ( $item->has_free_trial() ) {
429
-        $trial_period = getpaid_get_subscription_period_label( $item->get_trial_period(), $item->get_trial_interval() );
428
+    if ($item->has_free_trial()) {
429
+        $trial_period = getpaid_get_subscription_period_label($item->get_trial_period(), $item->get_trial_interval());
430 430
 
431
-        if ( wpinv_price( 0, $currency ) == $initial_price ) {
431
+        if (wpinv_price(0, $currency) == $initial_price) {
432 432
 
433
-            if ( empty( $bill_times ) ) {
433
+            if (empty($bill_times)) {
434 434
 
435 435
                 return sprintf(
436 436
 
437 437
                     // translators: $1: is the trial period, $2: is the recurring price, $3: is the susbcription period
438
-                    _x( 'Free for %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year)', 'invoicing' ),
438
+                    _x('Free for %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year)', 'invoicing'),
439 439
                     "<span class='getpaid-item-trial-period'>$trial_period</span>",
440 440
                     "<span class='$recurring_class'>$recurring_price</span>",
441 441
                     "<span class='getpaid-item-recurring-period'>$period</span>"
@@ -447,7 +447,7 @@  discard block
 block discarded – undo
447 447
             return sprintf(
448 448
 
449 449
                 // translators: $1: is the trial period, $2: is the recurring price, $3: is the susbcription period, $4: is the bill times
450
-                _x( 'Free for %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year for 4 years)', 'invoicing' ),
450
+                _x('Free for %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Free for 1 month then $120 / year for 4 years)', 'invoicing'),
451 451
                 "<span class='getpaid-item-trial-period'>$trial_period</span>",
452 452
                 "<span class='$recurring_class'>$recurring_price</span>",
453 453
                 "<span class='getpaid-item-recurring-period'>$period</span>",
@@ -457,12 +457,12 @@  discard block
 block discarded – undo
457 457
 
458 458
         }
459 459
 
460
-        if ( empty( $bill_times ) ) {
460
+        if (empty($bill_times)) {
461 461
 
462 462
             return sprintf(
463 463
 
464 464
                 // translators: $1: is the initial price, $2: is the trial period, $3: is the recurring price, $4: is the susbcription period
465
-                _x( '%1$s for %2$s then %3$s / %4$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year)', 'invoicing' ),
465
+                _x('%1$s for %2$s then %3$s / %4$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year)', 'invoicing'),
466 466
                 "<span class='$initial_class'>$initial_price</span>",
467 467
                 "<span class='getpaid-item-trial-period'>$trial_period</span>",
468 468
                 "<span class='$recurring_class'>$recurring_price</span>",
@@ -475,7 +475,7 @@  discard block
 block discarded – undo
475 475
         return sprintf(
476 476
 
477 477
             // translators: $1: is the initial price, $2: is the trial period, $3: is the recurring price, $4: is the susbcription period, $4: is the susbcription bill times
478
-            _x( '%1$s for %2$s then %3$s / %4$s for %5$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year for 5 years)', 'invoicing' ),
478
+            _x('%1$s for %2$s then %3$s / %4$s for %5$s', 'Item subscription amount. (e.g.: $7 for 1 month then $120 / year for 5 years)', 'invoicing'),
479 479
             "<span class='$initial_class'>$initial_price</span>",
480 480
             "<span class='getpaid-item-trial-period'>$trial_period</span>",
481 481
             "<span class='$recurring_class'>$recurring_price</span>",
@@ -486,14 +486,14 @@  discard block
 block discarded – undo
486 486
 
487 487
     }
488 488
 
489
-    if ( $initial_price == $recurring_price ) {
489
+    if ($initial_price == $recurring_price) {
490 490
 
491
-        if ( empty( $bill_times ) ) {
491
+        if (empty($bill_times)) {
492 492
 
493 493
             return sprintf(
494 494
 
495 495
                 // translators: $1: is the recurring price, $2: is the susbcription period
496
-                _x( '%1$s / %2$s', 'Item subscription amount. (e.g.: $120 / year)', 'invoicing' ),
496
+                _x('%1$s / %2$s', 'Item subscription amount. (e.g.: $120 / year)', 'invoicing'),
497 497
                 "<span class='$recurring_class'>$recurring_price</span>",
498 498
                 "<span class='getpaid-item-recurring-period'>$period</span>"
499 499
 
@@ -504,7 +504,7 @@  discard block
 block discarded – undo
504 504
         return sprintf(
505 505
 
506 506
             // translators: $1: is the recurring price, $2: is the susbcription period, $3: is the susbcription bill times
507
-            _x( '%1$s / %2$s for %3$s', 'Item subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing' ),
507
+            _x('%1$s / %2$s for %3$s', 'Item subscription amount. (e.g.: $120 / year for 5 years)', 'invoicing'),
508 508
             "<span class='$recurring_class'>$recurring_price</span>",
509 509
             "<span class='getpaid-item-recurring-period'>$period</span>",
510 510
             "<span class='getpaid-item-recurring-bill-times'>$bill_times</span>"
@@ -513,14 +513,14 @@  discard block
 block discarded – undo
513 513
 
514 514
     }
515 515
 
516
-    if ( $initial_price == wpinv_price( 0, $currency ) ) {
516
+    if ($initial_price == wpinv_price(0, $currency)) {
517 517
 
518
-        if ( empty( $bill_times ) ) {
518
+        if (empty($bill_times)) {
519 519
 
520 520
             return sprintf(
521 521
 
522 522
                 // translators: $1: is the recurring period, $2: is the recurring price
523
-                _x( 'Free for %1$s then %2$s / %1$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months)', 'invoicing' ),
523
+                _x('Free for %1$s then %2$s / %1$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months)', 'invoicing'),
524 524
                 "<span class='getpaid-item-recurring-period'>$period</span>",
525 525
                 "<span class='$recurring_class'>$recurring_price</span>"
526 526
 
@@ -531,7 +531,7 @@  discard block
 block discarded – undo
531 531
         return sprintf(
532 532
 
533 533
             // translators: $1: is the recurring period, $2: is the recurring price, $3: is the bill times
534
-            _x( 'Free for %1$s then %2$s / %1$s for %3$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months for 12 months)', 'invoicing' ),
534
+            _x('Free for %1$s then %2$s / %1$s for %3$s', 'Item subscription amount. (e.g.: Free for 3 months then $7 / 3 months for 12 months)', 'invoicing'),
535 535
             "<span class='getpaid-item-recurring-period'>$period</span>",
536 536
             "<span class='$recurring_class'>$recurring_price</span>",
537 537
             "<span class='getpaid-item-recurring-bill-times'>$bill_times</span>"
@@ -540,12 +540,12 @@  discard block
 block discarded – undo
540 540
 
541 541
     }
542 542
 
543
-    if ( empty( $bill_times ) ) {
543
+    if (empty($bill_times)) {
544 544
 
545 545
         return sprintf(
546 546
 
547 547
             // translators: $1: is the initial price, $2: is the recurring price, $3: is the susbcription period
548
-            _x( 'Initial payment of %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year)', 'invoicing' ),
548
+            _x('Initial payment of %1$s then %2$s / %3$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year)', 'invoicing'),
549 549
             "<span class='$initial_class'>$initial_price</span>",
550 550
             "<span class='$recurring_class'>$recurring_price</span>",
551 551
             "<span class='getpaid-item-recurring-period'>$period</span>"
@@ -557,7 +557,7 @@  discard block
 block discarded – undo
557 557
     return sprintf(
558 558
 
559 559
         // translators: $1: is the initial price, $2: is the recurring price, $3: is the susbcription period, $4: is the susbcription bill times
560
-        _x( 'Initial payment of %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year for 4 years)', 'invoicing' ),
560
+        _x('Initial payment of %1$s then %2$s / %3$s for %4$s', 'Item subscription amount. (e.g.: Initial payment of $7 then $120 / year for 4 years)', 'invoicing'),
561 561
         "<span class='$initial_class'>$initial_price</span>",
562 562
         "<span class='$recurring_class'>$recurring_price</span>",
563 563
         "<span class='getpaid-item-recurring-period'>$period</span>",
Please login to merge, or discard this patch.
templates/invoice/invoice-meta.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -7,50 +7,50 @@
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12
-$class = ! is_singular( 'page' ) ? 'px-1' : '';
12
+$class = !is_singular('page') ? 'px-1' : '';
13 13
 ?>
14 14
 
15
-        <?php do_action( 'getpaid_before_invoice_meta', $invoice ); ?>
15
+        <?php do_action('getpaid_before_invoice_meta', $invoice); ?>
16 16
         <div class="getpaid-invoice-meta-data">
17 17
 
18
-            <?php do_action( 'getpaid_before_invoice_meta_table', $invoice ); ?>
18
+            <?php do_action('getpaid_before_invoice_meta_table', $invoice); ?>
19 19
             <table class="table table-bordered">
20 20
                 <tbody>
21 21
 
22
-                    <?php do_action( "getpaid_before_invoice_meta_rows", $invoice ); ?>
23
-                    <?php foreach ( $meta as $key => $data ) : ?>
22
+                    <?php do_action("getpaid_before_invoice_meta_rows", $invoice); ?>
23
+                    <?php foreach ($meta as $key => $data) : ?>
24 24
 
25
-                        <?php if ( ! empty( $data['value'] ) ) : ?>
25
+                        <?php if (!empty($data['value'])) : ?>
26 26
 
27
-                            <?php do_action( "getpaid_before_invoice_meta_$key", $invoice, $data ); ?>
27
+                            <?php do_action("getpaid_before_invoice_meta_$key", $invoice, $data); ?>
28 28
 
29
-                            <tr class="getpaid-invoice-meta-<?php echo sanitize_html_class( $key ); ?>">
29
+                            <tr class="getpaid-invoice-meta-<?php echo sanitize_html_class($key); ?>">
30 30
 
31 31
                                 <th class="<?php echo $class; ?> font-weight-bold" style="width: 40%">
32
-                                    <?php echo sanitize_text_field( $data['label'] ); ?>
32
+                                    <?php echo sanitize_text_field($data['label']); ?>
33 33
                                 </th>
34 34
 
35 35
                                 <td class="<?php echo $class; ?> <?php echo $key == 'invoice_total' ? 'font-weight-bold' : 'font-weight-normal'; ?> text-break" style="width: 60%">
36
-                                    <span class="getpaid-invoice-meta-<?php echo sanitize_html_class( $key ); ?>-value"><?php echo wp_kses_post( $data['value'] ); ?></span>
36
+                                    <span class="getpaid-invoice-meta-<?php echo sanitize_html_class($key); ?>-value"><?php echo wp_kses_post($data['value']); ?></span>
37 37
                                 </td>
38 38
 
39 39
                             </tr>
40 40
 
41
-                            <?php do_action( "getpaid_after_invoice_meta_$key", $invoice, $data ); ?>
41
+                            <?php do_action("getpaid_after_invoice_meta_$key", $invoice, $data); ?>
42 42
 
43 43
                         <?php endif; ?>
44 44
                     
45 45
                     <?php endforeach; ?>
46
-                    <?php do_action( "getpaid_after_invoice_meta_rows", $invoice ); ?>
46
+                    <?php do_action("getpaid_after_invoice_meta_rows", $invoice); ?>
47 47
 
48 48
                 </tbody>
49 49
             </table>
50
-            <?php do_action( 'getpaid_after_invoice_meta_table', $invoice ); ?>
50
+            <?php do_action('getpaid_after_invoice_meta_table', $invoice); ?>
51 51
 
52 52
 
53 53
         </div>
54
-        <?php do_action( 'getpaid_after_invoice_meta', $invoice ); ?>
54
+        <?php do_action('getpaid_after_invoice_meta', $invoice); ?>
55 55
 
56 56
 <?php
Please login to merge, or discard this patch.
includes/class-wpinv.php 2 patches
Spacing   +178 added lines, -178 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @since   1.0.0
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Main Invoicing class.
@@ -56,8 +56,8 @@  discard block
 block discarded – undo
56 56
 	 * @param string $prop The prop to set.
57 57
 	 * @param mixed $value The value to retrieve.
58 58
 	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
59
+	public function set($prop, $value) {
60
+		$this->data[$prop] = $value;
61 61
 	}
62 62
 
63 63
 	/**
@@ -66,10 +66,10 @@  discard block
 block discarded – undo
66 66
 	 * @param string $prop The prop to set.
67 67
 	 * @return mixed The value.
68 68
 	 */
69
-	public function get( $prop ) {
69
+	public function get($prop) {
70 70
 
71
-		if ( isset( $this->data[ $prop ] ) ) {
72
-			return $this->data[ $prop ];
71
+		if (isset($this->data[$prop])) {
72
+			return $this->data[$prop];
73 73
 		}
74 74
 
75 75
 		return null;
@@ -81,23 +81,23 @@  discard block
 block discarded – undo
81 81
 	public function set_properties() {
82 82
 
83 83
 		// Sessions.
84
-		$this->set( 'session', new WPInv_Session_Handler() );
85
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
84
+		$this->set('session', new WPInv_Session_Handler());
85
+		$GLOBALS['wpi_session'] = $this->get('session'); // Backwards compatibility.
86 86
 		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87 87
 
88 88
 		// Init other objects.
89
-		$this->set( 'session', new WPInv_Session_Handler() );
90
-		$this->set( 'notes', new WPInv_Notes() );
91
-		$this->set( 'api', new WPInv_API() );
92
-		$this->set( 'post_types', new GetPaid_Post_Types() );
93
-		$this->set( 'template', new GetPaid_Template() );
94
-		$this->set( 'admin', new GetPaid_Admin() );
95
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
96
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
97
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
98
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
99
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
100
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
89
+		$this->set('session', new WPInv_Session_Handler());
90
+		$this->set('notes', new WPInv_Notes());
91
+		$this->set('api', new WPInv_API());
92
+		$this->set('post_types', new GetPaid_Post_Types());
93
+		$this->set('template', new GetPaid_Template());
94
+		$this->set('admin', new GetPaid_Admin());
95
+		$this->set('subscriptions', new WPInv_Subscriptions());
96
+		$this->set('invoice_emails', new GetPaid_Invoice_Notification_Emails());
97
+		$this->set('subscription_emails', new GetPaid_Subscription_Notification_Emails());
98
+		$this->set('daily_maintenace', new GetPaid_Daily_Maintenance());
99
+		$this->set('payment_forms', new GetPaid_Payment_Forms());
100
+		$this->set('maxmind', new GetPaid_MaxMind_Geolocation());
101 101
 
102 102
 	}
103 103
 
@@ -105,8 +105,8 @@  discard block
 block discarded – undo
105 105
 	 * Define plugin constants.
106 106
 	 */
107 107
 	public function define_constants() {
108
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
109
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
108
+		define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE));
109
+		define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE));
110 110
 		$this->version = WPINV_VERSION;
111 111
 	}
112 112
 
@@ -117,27 +117,27 @@  discard block
 block discarded – undo
117 117
 	 */
118 118
 	protected function init_hooks() {
119 119
 		/* Internationalize the text strings used. */
120
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
120
+		add_action('plugins_loaded', array(&$this, 'plugins_loaded'));
121 121
 
122 122
 		// Init the plugin after WordPress inits.
123
-		add_action( 'init', array( $this, 'init' ), 1 );
124
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
125
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
126
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
127
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
128
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
129
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
130
-		add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
131
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
132
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
-
134
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
135
-        add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
136
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
123
+		add_action('init', array($this, 'init'), 1);
124
+		add_action('init', array($this, 'maybe_process_ipn'), 10);
125
+		add_action('init', array($this, 'wpinv_actions'));
126
+		add_action('init', array($this, 'maybe_do_authenticated_action'), 100);
127
+		add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 11);
128
+		add_action('wp_footer', array($this, 'wp_footer'));
129
+		add_action('wp_head', array($this, 'wp_head'));
130
+		add_action('widgets_init', array(&$this, 'register_widgets'));
131
+		add_filter('wpseo_exclude_from_sitemap_by_post_ids', array($this, 'wpseo_exclude_from_sitemap_by_post_ids'));
132
+		add_filter('pre_get_posts', array(&$this, 'pre_get_posts'));
133
+
134
+		add_filter('query_vars', array($this, 'custom_query_vars'));
135
+        add_action('init', array($this, 'add_rewrite_rule'), 10, 0);
136
+		add_action('pre_get_posts', array($this, 'maybe_process_new_ipn'), 1);
137 137
 
138 138
 		// Fires after registering actions.
139
-		do_action( 'wpinv_actions', $this );
140
-		do_action( 'getpaid_actions', $this );
139
+		do_action('wpinv_actions', $this);
140
+		do_action('getpaid_actions', $this);
141 141
 
142 142
 	}
143 143
 
@@ -145,10 +145,10 @@  discard block
 block discarded – undo
145 145
 		/* Internationalize the text strings used. */
146 146
 		$this->load_textdomain();
147 147
 
148
-		do_action( 'wpinv_loaded' );
148
+		do_action('wpinv_loaded');
149 149
 
150 150
 		// Fix oxygen page builder conflict
151
-		if ( function_exists( 'ct_css_output' ) ) {
151
+		if (function_exists('ct_css_output')) {
152 152
 			wpinv_oxygen_fix_conflict();
153 153
 		}
154 154
 	}
@@ -158,21 +158,21 @@  discard block
 block discarded – undo
158 158
 	 *
159 159
 	 * @since 1.0
160 160
 	 */
161
-	public function load_textdomain( $locale = NULL ) {
162
-		if ( empty( $locale ) ) {
163
-			$locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
161
+	public function load_textdomain($locale = NULL) {
162
+		if (empty($locale)) {
163
+			$locale = is_admin() && function_exists('get_user_locale') ? get_user_locale() : get_locale();
164 164
 		}
165 165
 
166
-		$locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
166
+		$locale = apply_filters('plugin_locale', $locale, 'invoicing');
167 167
 
168
-		unload_textdomain( 'invoicing' );
169
-		load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
170
-		load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
168
+		unload_textdomain('invoicing');
169
+		load_textdomain('invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo');
170
+		load_plugin_textdomain('invoicing', false, WPINV_PLUGIN_DIR . 'languages');
171 171
 
172 172
 		/**
173 173
 		 * Define language constants.
174 174
 		 */
175
-		require_once( WPINV_PLUGIN_DIR . 'language.php' );
175
+		require_once(WPINV_PLUGIN_DIR . 'language.php');
176 176
 	}
177 177
 
178 178
 	/**
@@ -181,78 +181,78 @@  discard block
 block discarded – undo
181 181
 	public function includes() {
182 182
 
183 183
 		// Start with the settings.
184
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
184
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php');
185 185
 
186 186
 		// Packages/libraries.
187
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
188
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
187
+		require_once(WPINV_PLUGIN_DIR . 'vendor/autoload.php');
188
+		require_once(WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php');
189 189
 
190 190
 		// Load functions.
191
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
192
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
194
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
195
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
196
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
198
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
199
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
205
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
191
+		require_once(WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php');
192
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php');
193
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php');
194
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php');
195
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php');
196
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php');
197
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php');
198
+		require_once(WPINV_PLUGIN_DIR . 'includes/invoice-functions.php');
199
+		require_once(WPINV_PLUGIN_DIR . 'includes/subscription-functions.php');
200
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php');
201
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php');
202
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php');
203
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php');
204
+		require_once(WPINV_PLUGIN_DIR . 'includes/user-functions.php');
205
+		require_once(WPINV_PLUGIN_DIR . 'includes/error-functions.php');
206 206
 
207 207
 		// Register autoloader.
208 208
 		try {
209
-			spl_autoload_register( array( $this, 'autoload' ), true );
210
-		} catch ( Exception $e ) {
211
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
209
+			spl_autoload_register(array($this, 'autoload'), true);
210
+		} catch (Exception $e) {
211
+			wpinv_error_log($e->getMessage(), '', __FILE__, 149, true);
212 212
 		}
213 213
 
214
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
215
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
216
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
217
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
218
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
219
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
220
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
221
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
222
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
234
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
235
-
236
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
214
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php');
215
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php');
216
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php');
217
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php');
218
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php');
219
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php');
220
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php');
221
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php');
222
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php');
223
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php');
224
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php');
225
+		require_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php');
226
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php');
227
+		require_once(WPINV_PLUGIN_DIR . 'widgets/checkout.php');
228
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-history.php');
229
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php');
230
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php');
231
+		require_once(WPINV_PLUGIN_DIR . 'widgets/subscriptions.php');
232
+		require_once(WPINV_PLUGIN_DIR . 'widgets/buy-item.php');
233
+		require_once(WPINV_PLUGIN_DIR . 'widgets/getpaid.php');
234
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php');
235
+
236
+		if (is_admin() || (defined('WP_CLI') && WP_CLI)) {
237 237
 			GetPaid_Post_Types_Admin::init();
238 238
 
239
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
240
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
241
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
242
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
243
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
244
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
239
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php');
240
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php');
241
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php');
242
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php');
243
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php');
244
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php');
245 245
 			// load the user class only on the users.php page
246 246
 			global $pagenow;
247
-			if($pagenow=='users.php'){
247
+			if ($pagenow == 'users.php') {
248 248
 				new WPInv_Admin_Users();
249 249
 			}
250 250
 		}
251 251
 
252 252
 		// Register cli commands
253
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
254
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
255
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
253
+		if (defined('WP_CLI') && WP_CLI) {
254
+			require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php');
255
+			WP_CLI::add_command('invoicing', 'WPInv_CLI');
256 256
 		}
257 257
 
258 258
 	}
@@ -265,21 +265,21 @@  discard block
 block discarded – undo
265 265
 	 * @since       1.0.19
266 266
 	 * @return      void
267 267
 	 */
268
-	public function autoload( $class_name ) {
268
+	public function autoload($class_name) {
269 269
 
270 270
 		// Normalize the class name...
271
-		$class_name  = strtolower( $class_name );
271
+		$class_name = strtolower($class_name);
272 272
 
273 273
 		// ... and make sure it is our class.
274
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
274
+		if (false === strpos($class_name, 'getpaid_') && false === strpos($class_name, 'wpinv_')) {
275 275
 			return;
276 276
 		}
277 277
 
278 278
 		// Next, prepare the file name from the class.
279
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
279
+		$file_name = 'class-' . str_replace('_', '-', $class_name) . '.php';
280 280
 
281 281
 		// Base path of the classes.
282
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
282
+		$plugin_path = untrailingslashit(WPINV_PLUGIN_DIR);
283 283
 
284 284
 		// And an array of possible locations in order of importance.
285 285
 		$locations = array(
@@ -294,10 +294,10 @@  discard block
 block discarded – undo
294 294
 			"$plugin_path/includes/admin/meta-boxes",
295 295
 		);
296 296
 
297
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
297
+		foreach (apply_filters('getpaid_autoload_locations', $locations) as $location) {
298 298
 
299
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
300
-				include trailingslashit( $location ) . $file_name;
299
+			if (file_exists(trailingslashit($location) . $file_name)) {
300
+				include trailingslashit($location) . $file_name;
301 301
 				break;
302 302
 			}
303 303
 
@@ -311,7 +311,7 @@  discard block
 block discarded – undo
311 311
 	public function init() {
312 312
 
313 313
 		// Fires before getpaid inits.
314
-		do_action( 'before_getpaid_init', $this );
314
+		do_action('before_getpaid_init', $this);
315 315
 
316 316
 		// Maybe upgrade.
317 317
 		$this->maybe_upgrade_database();
@@ -328,17 +328,17 @@  discard block
 block discarded – undo
328 328
 			)
329 329
 		);
330 330
 
331
-		foreach ( $gateways as $id => $class ) {
332
-			$this->gateways[ $id ] = new $class();
331
+		foreach ($gateways as $id => $class) {
332
+			$this->gateways[$id] = new $class();
333 333
 		}
334 334
 
335
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
335
+		if ('yes' != get_option('wpinv_renamed_gateways')) {
336 336
 			GetPaid_Installer::rename_gateways_label();
337
-			update_option( 'wpinv_renamed_gateways', 'yes' );
337
+			update_option('wpinv_renamed_gateways', 'yes');
338 338
 		}
339 339
 
340 340
 		// Fires after getpaid inits.
341
-		do_action( 'getpaid_init', $this );
341
+		do_action('getpaid_init', $this);
342 342
 
343 343
 	}
344 344
 
@@ -348,14 +348,14 @@  discard block
 block discarded – undo
348 348
 	public function maybe_process_ipn() {
349 349
 
350 350
 		// Ensure that this is an IPN request.
351
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
351
+		if (empty($_GET['wpi-listener']) || 'IPN' !== $_GET['wpi-listener'] || empty($_GET['wpi-gateway'])) {
352 352
 			return;
353 353
 		}
354 354
 
355
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
355
+		$gateway = wpinv_clean($_GET['wpi-gateway']);
356 356
 
357
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
358
-		do_action( "wpinv_verify_{$gateway}_ipn" );
357
+		do_action('wpinv_verify_payment_ipn', $gateway);
358
+		do_action("wpinv_verify_{$gateway}_ipn");
359 359
 		exit;
360 360
 
361 361
 	}
@@ -363,27 +363,27 @@  discard block
 block discarded – undo
363 363
 	public function enqueue_scripts() {
364 364
 
365 365
 		// Fires before adding scripts.
366
-		do_action( 'getpaid_enqueue_scripts' );
366
+		do_action('getpaid_enqueue_scripts');
367 367
 
368 368
 		$localize                         = array();
369
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
370
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
371
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
369
+		$localize['ajax_url']             = admin_url('admin-ajax.php');
370
+		$localize['nonce']                = wp_create_nonce('wpinv-nonce');
371
+		$localize['txtComplete']          = __('Continue', 'invoicing');
372 372
 		$localize['UseTaxes']             = wpinv_use_taxes();
373
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
374
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
375
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
373
+		$localize['formNonce']            = wp_create_nonce('getpaid_form_nonce');
374
+		$localize['loading']              = __('Loading...', 'invoicing');
375
+		$localize['connectionError']      = __('Could not establish a connection to the server.', 'invoicing');
376 376
 
377
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
377
+		$localize = apply_filters('wpinv_front_js_localize', $localize);
378 378
 
379
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
380
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
381
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
379
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js');
380
+		wp_enqueue_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array('jquery'), $version, true);
381
+		wp_localize_script('wpinv-front-script', 'WPInv', $localize);
382 382
 	}
383 383
 
384 384
 	public function wpinv_actions() {
385
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
386
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
385
+		if (isset($_REQUEST['wpi_action'])) {
386
+			do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST);
387 387
 		}
388 388
 	}
389 389
 
@@ -395,24 +395,24 @@  discard block
 block discarded – undo
395 395
      */
396 396
     public function maybe_do_authenticated_action() {
397 397
 
398
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
398
+		if (isset($_REQUEST['getpaid-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) {
399 399
 
400
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
401
-			$data = wp_unslash( $_REQUEST );
402
-			if ( is_user_logged_in() ) {
403
-				do_action( "getpaid_authenticated_action_$key", $data );
400
+			$key  = sanitize_key($_REQUEST['getpaid-action']);
401
+			$data = wp_unslash($_REQUEST);
402
+			if (is_user_logged_in()) {
403
+				do_action("getpaid_authenticated_action_$key", $data);
404 404
 			}
405 405
 
406
-			do_action( "getpaid_unauthenticated_action_$key", $data );
406
+			do_action("getpaid_unauthenticated_action_$key", $data);
407 407
 
408 408
 		}
409 409
 
410 410
     }
411 411
 
412
-	public function pre_get_posts( $wp_query ) {
412
+	public function pre_get_posts($wp_query) {
413 413
 
414
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
415
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
414
+		if (!is_admin() && !empty($wp_query->query_vars['post_type']) && getpaid_is_invoice_post_type($wp_query->query_vars['post_type']) && is_user_logged_in() && is_single() && $wp_query->is_main_query()) {
415
+			$wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses(false, false, $wp_query->query_vars['post_type']));
416 416
 		}
417 417
 
418 418
 		return $wp_query;
@@ -426,7 +426,7 @@  discard block
 block discarded – undo
426 426
 
427 427
 		// Currently, UX Builder does not work particulaly well with SuperDuper.
428 428
 		// So we disable our widgets when editing a page with UX Builder.
429
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
429
+		if (function_exists('ux_builder_is_active') && ux_builder_is_active()) {
430 430
 			return;
431 431
 		}
432 432
 
@@ -443,8 +443,8 @@  discard block
 block discarded – undo
443 443
 			)
444 444
 		);
445 445
 
446
-		foreach ( $widgets as $widget ) {
447
-			register_widget( $widget );
446
+		foreach ($widgets as $widget) {
447
+			register_widget($widget);
448 448
 		}
449 449
 		
450 450
 	}
@@ -456,29 +456,29 @@  discard block
 block discarded – undo
456 456
 	 */
457 457
 	public function maybe_upgrade_database() {
458 458
 
459
-		$wpi_version = get_option( 'wpinv_version', 0 );
459
+		$wpi_version = get_option('wpinv_version', 0);
460 460
 
461
-		if ( $wpi_version == WPINV_VERSION ) {
461
+		if ($wpi_version == WPINV_VERSION) {
462 462
 			return;
463 463
 		}
464 464
 
465 465
 		$installer = new GetPaid_Installer();
466 466
 
467
-		if ( empty( $wpi_version ) ) {
468
-			return $installer->upgrade_db( 0 );
467
+		if (empty($wpi_version)) {
468
+			return $installer->upgrade_db(0);
469 469
 		}
470 470
 
471
-		$upgrades  = array(
471
+		$upgrades = array(
472 472
 			'0.0.5' => '004',
473 473
 			'1.0.3' => '102',
474 474
 			'2.0.0' => '118',
475 475
 			'2.0.8' => '207',
476 476
 		);
477 477
 
478
-		foreach ( $upgrades as $key => $method ) {
478
+		foreach ($upgrades as $key => $method) {
479 479
 
480
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
481
-				return $installer->upgrade_db( $method );
480
+			if (version_compare($wpi_version, $key, '<')) {
481
+				return $installer->upgrade_db($method);
482 482
 			}
483 483
 
484 484
 		}
@@ -492,11 +492,11 @@  discard block
 block discarded – undo
492 492
 	 */
493 493
 	public function maybe_flush_permalinks() {
494 494
 
495
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
495
+		$flush = get_option('wpinv_flush_permalinks', 0);
496 496
 
497
-		if ( ! empty( $flush ) ) {
497
+		if (!empty($flush)) {
498 498
 			flush_rewrite_rules();
499
-			delete_option( 'wpinv_flush_permalinks' );
499
+			delete_option('wpinv_flush_permalinks');
500 500
 		}
501 501
 
502 502
 	}
@@ -507,10 +507,10 @@  discard block
 block discarded – undo
507 507
 	 * @since 1.0.19
508 508
 	 * @param int[] $excluded_posts_ids
509 509
 	 */
510
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
510
+	public function wpseo_exclude_from_sitemap_by_post_ids($excluded_posts_ids) {
511 511
 
512 512
 		// Ensure that we have an array.
513
-		if ( ! is_array( $excluded_posts_ids ) ) {
513
+		if (!is_array($excluded_posts_ids)) {
514 514
 			$excluded_posts_ids = array();
515 515
 		}
516 516
 
@@ -518,24 +518,24 @@  discard block
 block discarded – undo
518 518
 		$our_pages = array();
519 519
 
520 520
 		// Checkout page.
521
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
521
+		$our_pages[] = wpinv_get_option('checkout_page', false);
522 522
 
523 523
 		// Success page.
524
-		$our_pages[] = wpinv_get_option( 'success_page', false );
524
+		$our_pages[] = wpinv_get_option('success_page', false);
525 525
 
526 526
 		// Failure page.
527
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
527
+		$our_pages[] = wpinv_get_option('failure_page', false);
528 528
 
529 529
 		// History page.
530
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
530
+		$our_pages[] = wpinv_get_option('invoice_history_page', false);
531 531
 
532 532
 		// Subscriptions page.
533
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
533
+		$our_pages[] = wpinv_get_option('invoice_subscription_page', false);
534 534
 
535
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
535
+		$our_pages   = array_map('intval', array_filter($our_pages));
536 536
 
537 537
 		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
538
-		return array_unique( $excluded_posts_ids );
538
+		return array_unique($excluded_posts_ids);
539 539
 
540 540
 	}
541 541
 
@@ -545,7 +545,7 @@  discard block
 block discarded – undo
545 545
 	 * @since 2.0.0
546 546
 	 */
547 547
 	public function wp_footer() {
548
-		wpinv_get_template( 'frontend-footer.php' );
548
+		wpinv_get_template('frontend-footer.php');
549 549
 	}
550 550
 
551 551
 	/**
@@ -554,14 +554,14 @@  discard block
 block discarded – undo
554 554
 	 * @since 2.0.0
555 555
 	 */
556 556
 	public function wp_head() {
557
-		wpinv_get_template( 'frontend-head.php' );
557
+		wpinv_get_template('frontend-head.php');
558 558
 	}
559 559
 
560 560
 	/**
561 561
 	 * Custom query vars.
562 562
 	 *
563 563
 	 */
564
-	public function custom_query_vars( $vars ) {
564
+	public function custom_query_vars($vars) {
565 565
         $vars[] = 'getpaid-ipn';
566 566
         return $vars;
567 567
 	}
@@ -572,28 +572,28 @@  discard block
 block discarded – undo
572 572
 	 */
573 573
 	public function add_rewrite_rule() {
574 574
         $tag = 'getpaid-ipn';
575
-        add_rewrite_tag( "%$tag%", '([^&]+)' );
576
-        add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]",'top' );
575
+        add_rewrite_tag("%$tag%", '([^&]+)');
576
+        add_rewrite_rule("^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top');
577 577
 	}
578 578
 
579 579
 	/**
580 580
 	 * Processes non-query string ipns.
581 581
 	 *
582 582
 	 */
583
-	public function maybe_process_new_ipn( $query ) {
583
+	public function maybe_process_new_ipn($query) {
584 584
 
585
-        if ( is_admin() || ! $query->is_main_query() ) {
585
+        if (is_admin() || !$query->is_main_query()) {
586 586
             return;
587 587
         }
588 588
 
589
-		$gateway = get_query_var( 'getpaid-ipn' );
589
+		$gateway = get_query_var('getpaid-ipn');
590 590
 
591
-        if ( ! empty( $gateway ) ){
591
+        if (!empty($gateway)) {
592 592
 
593
-			$gateway = sanitize_text_field( $gateway );
593
+			$gateway = sanitize_text_field($gateway);
594 594
 			nocache_headers();
595
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
596
-			do_action( "wpinv_verify_{$gateway}_ipn" );
595
+			do_action('wpinv_verify_payment_ipn', $gateway);
596
+			do_action("wpinv_verify_{$gateway}_ipn");
597 597
 			exit;
598 598
 
599 599
         }
Please login to merge, or discard this patch.
Indentation   +527 added lines, -527 removed lines patch added patch discarded remove patch
@@ -14,590 +14,590 @@
 block discarded – undo
14 14
  */
15 15
 class WPInv_Plugin {
16 16
 
17
-	/**
18
-	 * GetPaid version.
19
-	 *
20
-	 * @var string
21
-	 */
22
-	public $version;
23
-
24
-	/**
25
-	 * Data container.
26
-	 *
27
-	 * @var array
28
-	 */
29
-	protected $data = array();
30
-
31
-	/**
32
-	 * Form elements instance.
33
-	 *
34
-	 * @var WPInv_Payment_Form_Elements
35
-	 */
36
-	public $form_elements;
37
-
38
-	/**
39
-	 * @var array An array of payment gateways.
40
-	 */
41
-	public $gateways;
42
-
43
-	/**
44
-	 * Class constructor.
45
-	 */
46
-	public function __construct() {
47
-		$this->define_constants();
48
-		$this->includes();
49
-		$this->init_hooks();
50
-		$this->set_properties();
51
-	}
52
-
53
-	/**
54
-	 * Sets a custom data property.
55
-	 * 
56
-	 * @param string $prop The prop to set.
57
-	 * @param mixed $value The value to retrieve.
58
-	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
61
-	}
62
-
63
-	/**
64
-	 * Gets a custom data property.
65
-	 *
66
-	 * @param string $prop The prop to set.
67
-	 * @return mixed The value.
68
-	 */
69
-	public function get( $prop ) {
70
-
71
-		if ( isset( $this->data[ $prop ] ) ) {
72
-			return $this->data[ $prop ];
73
-		}
74
-
75
-		return null;
76
-	}
77
-
78
-	/**
79
-	 * Define class properties.
80
-	 */
81
-	public function set_properties() {
82
-
83
-		// Sessions.
84
-		$this->set( 'session', new WPInv_Session_Handler() );
85
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
86
-		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87
-
88
-		// Init other objects.
89
-		$this->set( 'session', new WPInv_Session_Handler() );
90
-		$this->set( 'notes', new WPInv_Notes() );
91
-		$this->set( 'api', new WPInv_API() );
92
-		$this->set( 'post_types', new GetPaid_Post_Types() );
93
-		$this->set( 'template', new GetPaid_Template() );
94
-		$this->set( 'admin', new GetPaid_Admin() );
95
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
96
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
97
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
98
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
99
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
100
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
101
-
102
-	}
103
-
104
-	 /**
105
-	 * Define plugin constants.
106
-	 */
107
-	public function define_constants() {
108
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
109
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
110
-		$this->version = WPINV_VERSION;
111
-	}
112
-
113
-	/**
114
-	 * Hook into actions and filters.
115
-	 *
116
-	 * @since 1.0.19
117
-	 */
118
-	protected function init_hooks() {
119
-		/* Internationalize the text strings used. */
120
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
121
-
122
-		// Init the plugin after WordPress inits.
123
-		add_action( 'init', array( $this, 'init' ), 1 );
124
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
125
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
126
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
127
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
128
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
129
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
130
-		add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
131
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
132
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
-
134
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
17
+    /**
18
+     * GetPaid version.
19
+     *
20
+     * @var string
21
+     */
22
+    public $version;
23
+
24
+    /**
25
+     * Data container.
26
+     *
27
+     * @var array
28
+     */
29
+    protected $data = array();
30
+
31
+    /**
32
+     * Form elements instance.
33
+     *
34
+     * @var WPInv_Payment_Form_Elements
35
+     */
36
+    public $form_elements;
37
+
38
+    /**
39
+     * @var array An array of payment gateways.
40
+     */
41
+    public $gateways;
42
+
43
+    /**
44
+     * Class constructor.
45
+     */
46
+    public function __construct() {
47
+        $this->define_constants();
48
+        $this->includes();
49
+        $this->init_hooks();
50
+        $this->set_properties();
51
+    }
52
+
53
+    /**
54
+     * Sets a custom data property.
55
+     * 
56
+     * @param string $prop The prop to set.
57
+     * @param mixed $value The value to retrieve.
58
+     */
59
+    public function set( $prop, $value ) {
60
+        $this->data[ $prop ] = $value;
61
+    }
62
+
63
+    /**
64
+     * Gets a custom data property.
65
+     *
66
+     * @param string $prop The prop to set.
67
+     * @return mixed The value.
68
+     */
69
+    public function get( $prop ) {
70
+
71
+        if ( isset( $this->data[ $prop ] ) ) {
72
+            return $this->data[ $prop ];
73
+        }
74
+
75
+        return null;
76
+    }
77
+
78
+    /**
79
+     * Define class properties.
80
+     */
81
+    public function set_properties() {
82
+
83
+        // Sessions.
84
+        $this->set( 'session', new WPInv_Session_Handler() );
85
+        $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
86
+        $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87
+
88
+        // Init other objects.
89
+        $this->set( 'session', new WPInv_Session_Handler() );
90
+        $this->set( 'notes', new WPInv_Notes() );
91
+        $this->set( 'api', new WPInv_API() );
92
+        $this->set( 'post_types', new GetPaid_Post_Types() );
93
+        $this->set( 'template', new GetPaid_Template() );
94
+        $this->set( 'admin', new GetPaid_Admin() );
95
+        $this->set( 'subscriptions', new WPInv_Subscriptions() );
96
+        $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
97
+        $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
98
+        $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
99
+        $this->set( 'payment_forms', new GetPaid_Payment_Forms() );
100
+        $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
101
+
102
+    }
103
+
104
+        /**
105
+         * Define plugin constants.
106
+         */
107
+    public function define_constants() {
108
+        define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
109
+        define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
110
+        $this->version = WPINV_VERSION;
111
+    }
112
+
113
+    /**
114
+     * Hook into actions and filters.
115
+     *
116
+     * @since 1.0.19
117
+     */
118
+    protected function init_hooks() {
119
+        /* Internationalize the text strings used. */
120
+        add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
121
+
122
+        // Init the plugin after WordPress inits.
123
+        add_action( 'init', array( $this, 'init' ), 1 );
124
+        add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
125
+        add_action( 'init', array( $this, 'wpinv_actions' ) );
126
+        add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
127
+        add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
128
+        add_action( 'wp_footer', array( $this, 'wp_footer' ) );
129
+        add_action( 'wp_head', array( $this, 'wp_head' ) );
130
+        add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
131
+        add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
132
+        add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
+
134
+        add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
135 135
         add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
136
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
137
-
138
-		// Fires after registering actions.
139
-		do_action( 'wpinv_actions', $this );
140
-		do_action( 'getpaid_actions', $this );
141
-
142
-	}
143
-
144
-	public function plugins_loaded() {
145
-		/* Internationalize the text strings used. */
146
-		$this->load_textdomain();
147
-
148
-		do_action( 'wpinv_loaded' );
149
-
150
-		// Fix oxygen page builder conflict
151
-		if ( function_exists( 'ct_css_output' ) ) {
152
-			wpinv_oxygen_fix_conflict();
153
-		}
154
-	}
155
-
156
-	/**
157
-	 * Load the translation of the plugin.
158
-	 *
159
-	 * @since 1.0
160
-	 */
161
-	public function load_textdomain( $locale = NULL ) {
162
-		if ( empty( $locale ) ) {
163
-			$locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
164
-		}
165
-
166
-		$locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
167
-
168
-		unload_textdomain( 'invoicing' );
169
-		load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
170
-		load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
171
-
172
-		/**
173
-		 * Define language constants.
174
-		 */
175
-		require_once( WPINV_PLUGIN_DIR . 'language.php' );
176
-	}
177
-
178
-	/**
179
-	 * Include required core files used in admin and on the frontend.
180
-	 */
181
-	public function includes() {
182
-
183
-		// Start with the settings.
184
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
185
-
186
-		// Packages/libraries.
187
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
188
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
189
-
190
-		// Load functions.
191
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
192
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
194
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
195
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
196
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
198
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
199
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
205
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
206
-
207
-		// Register autoloader.
208
-		try {
209
-			spl_autoload_register( array( $this, 'autoload' ), true );
210
-		} catch ( Exception $e ) {
211
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
212
-		}
213
-
214
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
215
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
216
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
217
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
218
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
219
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
220
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
221
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
222
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
234
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
235
-
236
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
237
-			GetPaid_Post_Types_Admin::init();
238
-
239
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
240
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
241
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
242
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
243
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
244
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
245
-			// load the user class only on the users.php page
246
-			global $pagenow;
247
-			if($pagenow=='users.php'){
248
-				new WPInv_Admin_Users();
249
-			}
250
-		}
251
-
252
-		// Register cli commands
253
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
254
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
255
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
256
-		}
257
-
258
-	}
259
-
260
-	/**
261
-	 * Class autoloader
262
-	 *
263
-	 * @param       string $class_name The name of the class to load.
264
-	 * @access      public
265
-	 * @since       1.0.19
266
-	 * @return      void
267
-	 */
268
-	public function autoload( $class_name ) {
269
-
270
-		// Normalize the class name...
271
-		$class_name  = strtolower( $class_name );
272
-
273
-		// ... and make sure it is our class.
274
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
275
-			return;
276
-		}
277
-
278
-		// Next, prepare the file name from the class.
279
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
280
-
281
-		// Base path of the classes.
282
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
283
-
284
-		// And an array of possible locations in order of importance.
285
-		$locations = array(
286
-			"$plugin_path/includes",
287
-			"$plugin_path/includes/data-stores",
288
-			"$plugin_path/includes/gateways",
289
-			"$plugin_path/includes/payments",
290
-			"$plugin_path/includes/geolocation",
291
-			"$plugin_path/includes/reports",
292
-			"$plugin_path/includes/api",
293
-			"$plugin_path/includes/admin",
294
-			"$plugin_path/includes/admin/meta-boxes",
295
-		);
296
-
297
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
298
-
299
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
300
-				include trailingslashit( $location ) . $file_name;
301
-				break;
302
-			}
303
-
304
-		}
305
-
306
-	}
307
-
308
-	/**
309
-	 * Inits hooks etc.
310
-	 */
311
-	public function init() {
312
-
313
-		// Fires before getpaid inits.
314
-		do_action( 'before_getpaid_init', $this );
315
-
316
-		// Maybe upgrade.
317
-		$this->maybe_upgrade_database();
318
-
319
-		// Load default gateways.
320
-		$gateways = apply_filters(
321
-			'getpaid_default_gateways',
322
-			array(
323
-				'manual'        => 'GetPaid_Manual_Gateway',
324
-				'paypal'        => 'GetPaid_Paypal_Gateway',
325
-				'worldpay'      => 'GetPaid_Worldpay_Gateway',
326
-				'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
327
-				'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
328
-			)
329
-		);
330
-
331
-		foreach ( $gateways as $id => $class ) {
332
-			$this->gateways[ $id ] = new $class();
333
-		}
334
-
335
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
336
-			GetPaid_Installer::rename_gateways_label();
337
-			update_option( 'wpinv_renamed_gateways', 'yes' );
338
-		}
339
-
340
-		// Fires after getpaid inits.
341
-		do_action( 'getpaid_init', $this );
342
-
343
-	}
344
-
345
-	/**
346
-	 * Checks if this is an IPN request and processes it.
347
-	 */
348
-	public function maybe_process_ipn() {
349
-
350
-		// Ensure that this is an IPN request.
351
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
352
-			return;
353
-		}
354
-
355
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
356
-
357
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
358
-		do_action( "wpinv_verify_{$gateway}_ipn" );
359
-		exit;
360
-
361
-	}
362
-
363
-	public function enqueue_scripts() {
364
-
365
-		// Fires before adding scripts.
366
-		do_action( 'getpaid_enqueue_scripts' );
367
-
368
-		$localize                         = array();
369
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
370
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
371
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
372
-		$localize['UseTaxes']             = wpinv_use_taxes();
373
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
374
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
375
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
376
-
377
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
378
-
379
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
380
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
381
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
382
-	}
383
-
384
-	public function wpinv_actions() {
385
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
386
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
387
-		}
388
-	}
389
-
390
-	/**
136
+        add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
137
+
138
+        // Fires after registering actions.
139
+        do_action( 'wpinv_actions', $this );
140
+        do_action( 'getpaid_actions', $this );
141
+
142
+    }
143
+
144
+    public function plugins_loaded() {
145
+        /* Internationalize the text strings used. */
146
+        $this->load_textdomain();
147
+
148
+        do_action( 'wpinv_loaded' );
149
+
150
+        // Fix oxygen page builder conflict
151
+        if ( function_exists( 'ct_css_output' ) ) {
152
+            wpinv_oxygen_fix_conflict();
153
+        }
154
+    }
155
+
156
+    /**
157
+     * Load the translation of the plugin.
158
+     *
159
+     * @since 1.0
160
+     */
161
+    public function load_textdomain( $locale = NULL ) {
162
+        if ( empty( $locale ) ) {
163
+            $locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
164
+        }
165
+
166
+        $locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
167
+
168
+        unload_textdomain( 'invoicing' );
169
+        load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
170
+        load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
171
+
172
+        /**
173
+         * Define language constants.
174
+         */
175
+        require_once( WPINV_PLUGIN_DIR . 'language.php' );
176
+    }
177
+
178
+    /**
179
+     * Include required core files used in admin and on the frontend.
180
+     */
181
+    public function includes() {
182
+
183
+        // Start with the settings.
184
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
185
+
186
+        // Packages/libraries.
187
+        require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
188
+        require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
189
+
190
+        // Load functions.
191
+        require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
192
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
193
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
194
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
195
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
196
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
197
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
198
+        require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
199
+        require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
200
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
201
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
202
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
203
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
204
+        require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
205
+        require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
206
+
207
+        // Register autoloader.
208
+        try {
209
+            spl_autoload_register( array( $this, 'autoload' ), true );
210
+        } catch ( Exception $e ) {
211
+            wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
212
+        }
213
+
214
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
215
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
216
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
217
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
218
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
219
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
220
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
221
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
222
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
223
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
224
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
225
+        require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
226
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
227
+        require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
228
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
229
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
230
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
231
+        require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
232
+        require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
233
+        require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
234
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
235
+
236
+        if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
237
+            GetPaid_Post_Types_Admin::init();
238
+
239
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
240
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
241
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
242
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
243
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
244
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
245
+            // load the user class only on the users.php page
246
+            global $pagenow;
247
+            if($pagenow=='users.php'){
248
+                new WPInv_Admin_Users();
249
+            }
250
+        }
251
+
252
+        // Register cli commands
253
+        if ( defined( 'WP_CLI' ) && WP_CLI ) {
254
+            require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
255
+            WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
256
+        }
257
+
258
+    }
259
+
260
+    /**
261
+     * Class autoloader
262
+     *
263
+     * @param       string $class_name The name of the class to load.
264
+     * @access      public
265
+     * @since       1.0.19
266
+     * @return      void
267
+     */
268
+    public function autoload( $class_name ) {
269
+
270
+        // Normalize the class name...
271
+        $class_name  = strtolower( $class_name );
272
+
273
+        // ... and make sure it is our class.
274
+        if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
275
+            return;
276
+        }
277
+
278
+        // Next, prepare the file name from the class.
279
+        $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
280
+
281
+        // Base path of the classes.
282
+        $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
283
+
284
+        // And an array of possible locations in order of importance.
285
+        $locations = array(
286
+            "$plugin_path/includes",
287
+            "$plugin_path/includes/data-stores",
288
+            "$plugin_path/includes/gateways",
289
+            "$plugin_path/includes/payments",
290
+            "$plugin_path/includes/geolocation",
291
+            "$plugin_path/includes/reports",
292
+            "$plugin_path/includes/api",
293
+            "$plugin_path/includes/admin",
294
+            "$plugin_path/includes/admin/meta-boxes",
295
+        );
296
+
297
+        foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
298
+
299
+            if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
300
+                include trailingslashit( $location ) . $file_name;
301
+                break;
302
+            }
303
+
304
+        }
305
+
306
+    }
307
+
308
+    /**
309
+     * Inits hooks etc.
310
+     */
311
+    public function init() {
312
+
313
+        // Fires before getpaid inits.
314
+        do_action( 'before_getpaid_init', $this );
315
+
316
+        // Maybe upgrade.
317
+        $this->maybe_upgrade_database();
318
+
319
+        // Load default gateways.
320
+        $gateways = apply_filters(
321
+            'getpaid_default_gateways',
322
+            array(
323
+                'manual'        => 'GetPaid_Manual_Gateway',
324
+                'paypal'        => 'GetPaid_Paypal_Gateway',
325
+                'worldpay'      => 'GetPaid_Worldpay_Gateway',
326
+                'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
327
+                'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
328
+            )
329
+        );
330
+
331
+        foreach ( $gateways as $id => $class ) {
332
+            $this->gateways[ $id ] = new $class();
333
+        }
334
+
335
+        if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
336
+            GetPaid_Installer::rename_gateways_label();
337
+            update_option( 'wpinv_renamed_gateways', 'yes' );
338
+        }
339
+
340
+        // Fires after getpaid inits.
341
+        do_action( 'getpaid_init', $this );
342
+
343
+    }
344
+
345
+    /**
346
+     * Checks if this is an IPN request and processes it.
347
+     */
348
+    public function maybe_process_ipn() {
349
+
350
+        // Ensure that this is an IPN request.
351
+        if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
352
+            return;
353
+        }
354
+
355
+        $gateway = wpinv_clean( $_GET['wpi-gateway'] );
356
+
357
+        do_action( 'wpinv_verify_payment_ipn', $gateway );
358
+        do_action( "wpinv_verify_{$gateway}_ipn" );
359
+        exit;
360
+
361
+    }
362
+
363
+    public function enqueue_scripts() {
364
+
365
+        // Fires before adding scripts.
366
+        do_action( 'getpaid_enqueue_scripts' );
367
+
368
+        $localize                         = array();
369
+        $localize['ajax_url']             = admin_url( 'admin-ajax.php' );
370
+        $localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
371
+        $localize['txtComplete']          = __( 'Continue', 'invoicing' );
372
+        $localize['UseTaxes']             = wpinv_use_taxes();
373
+        $localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
374
+        $localize['loading']              = __( 'Loading...', 'invoicing' );
375
+        $localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
376
+
377
+        $localize = apply_filters( 'wpinv_front_js_localize', $localize );
378
+
379
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
380
+        wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
381
+        wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
382
+    }
383
+
384
+    public function wpinv_actions() {
385
+        if ( isset( $_REQUEST['wpi_action'] ) ) {
386
+            do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
387
+        }
388
+    }
389
+
390
+    /**
391 391
      * Fires an action after verifying that a user can fire them.
392
-	 *
393
-	 * Note: If the action is on an invoice, subscription etc, esure that the
394
-	 * current user owns the invoice/subscription.
392
+     *
393
+     * Note: If the action is on an invoice, subscription etc, esure that the
394
+     * current user owns the invoice/subscription.
395 395
      */
396 396
     public function maybe_do_authenticated_action() {
397 397
 
398
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
398
+        if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
399
+
400
+            $key  = sanitize_key( $_REQUEST['getpaid-action'] );
401
+            $data = wp_unslash( $_REQUEST );
402
+            if ( is_user_logged_in() ) {
403
+                do_action( "getpaid_authenticated_action_$key", $data );
404
+            }
405
+
406
+            do_action( "getpaid_unauthenticated_action_$key", $data );
407
+
408
+        }
399 409
 
400
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
401
-			$data = wp_unslash( $_REQUEST );
402
-			if ( is_user_logged_in() ) {
403
-				do_action( "getpaid_authenticated_action_$key", $data );
404
-			}
410
+    }
405 411
 
406
-			do_action( "getpaid_unauthenticated_action_$key", $data );
412
+    public function pre_get_posts( $wp_query ) {
407 413
 
408
-		}
414
+        if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
415
+            $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
416
+        }
409 417
 
418
+        return $wp_query;
410 419
     }
411 420
 
412
-	public function pre_get_posts( $wp_query ) {
413
-
414
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
415
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
416
-		}
417
-
418
-		return $wp_query;
419
-	}
420
-
421
-	/**
422
-	 * Register widgets
423
-	 *
424
-	 */
425
-	public function register_widgets() {
426
-
427
-		// Currently, UX Builder does not work particulaly well with SuperDuper.
428
-		// So we disable our widgets when editing a page with UX Builder.
429
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
430
-			return;
431
-		}
432
-
433
-		$widgets = apply_filters(
434
-			'getpaid_widget_classes',
435
-			array(
436
-				'WPInv_Checkout_Widget',
437
-				'WPInv_History_Widget',
438
-				'WPInv_Receipt_Widget',
439
-				'WPInv_Subscriptions_Widget',
440
-				'WPInv_Buy_Item_Widget',
441
-				'WPInv_Messages_Widget',
442
-				'WPInv_GetPaid_Widget'
443
-			)
444
-		);
445
-
446
-		foreach ( $widgets as $widget ) {
447
-			register_widget( $widget );
448
-		}
421
+    /**
422
+     * Register widgets
423
+     *
424
+     */
425
+    public function register_widgets() {
426
+
427
+        // Currently, UX Builder does not work particulaly well with SuperDuper.
428
+        // So we disable our widgets when editing a page with UX Builder.
429
+        if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
430
+            return;
431
+        }
432
+
433
+        $widgets = apply_filters(
434
+            'getpaid_widget_classes',
435
+            array(
436
+                'WPInv_Checkout_Widget',
437
+                'WPInv_History_Widget',
438
+                'WPInv_Receipt_Widget',
439
+                'WPInv_Subscriptions_Widget',
440
+                'WPInv_Buy_Item_Widget',
441
+                'WPInv_Messages_Widget',
442
+                'WPInv_GetPaid_Widget'
443
+            )
444
+        );
445
+
446
+        foreach ( $widgets as $widget ) {
447
+            register_widget( $widget );
448
+        }
449 449
 		
450
-	}
450
+    }
451 451
 
452
-	/**
453
-	 * Upgrades the database.
454
-	 *
455
-	 * @since 2.0.2
456
-	 */
457
-	public function maybe_upgrade_database() {
452
+    /**
453
+     * Upgrades the database.
454
+     *
455
+     * @since 2.0.2
456
+     */
457
+    public function maybe_upgrade_database() {
458 458
 
459
-		$wpi_version = get_option( 'wpinv_version', 0 );
459
+        $wpi_version = get_option( 'wpinv_version', 0 );
460 460
 
461
-		if ( $wpi_version == WPINV_VERSION ) {
462
-			return;
463
-		}
461
+        if ( $wpi_version == WPINV_VERSION ) {
462
+            return;
463
+        }
464 464
 
465
-		$installer = new GetPaid_Installer();
465
+        $installer = new GetPaid_Installer();
466 466
 
467
-		if ( empty( $wpi_version ) ) {
468
-			return $installer->upgrade_db( 0 );
469
-		}
467
+        if ( empty( $wpi_version ) ) {
468
+            return $installer->upgrade_db( 0 );
469
+        }
470 470
 
471
-		$upgrades  = array(
472
-			'0.0.5' => '004',
473
-			'1.0.3' => '102',
474
-			'2.0.0' => '118',
475
-			'2.0.8' => '207',
476
-		);
471
+        $upgrades  = array(
472
+            '0.0.5' => '004',
473
+            '1.0.3' => '102',
474
+            '2.0.0' => '118',
475
+            '2.0.8' => '207',
476
+        );
477 477
 
478
-		foreach ( $upgrades as $key => $method ) {
478
+        foreach ( $upgrades as $key => $method ) {
479 479
 
480
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
481
-				return $installer->upgrade_db( $method );
482
-			}
480
+            if ( version_compare( $wpi_version, $key, '<' ) ) {
481
+                return $installer->upgrade_db( $method );
482
+            }
483 483
 
484
-		}
484
+        }
485 485
 
486
-	}
486
+    }
487 487
 
488
-	/**
489
-	 * Flushes the permalinks if needed.
490
-	 *
491
-	 * @since 2.0.8
492
-	 */
493
-	public function maybe_flush_permalinks() {
488
+    /**
489
+     * Flushes the permalinks if needed.
490
+     *
491
+     * @since 2.0.8
492
+     */
493
+    public function maybe_flush_permalinks() {
494 494
 
495
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
495
+        $flush = get_option( 'wpinv_flush_permalinks', 0 );
496 496
 
497
-		if ( ! empty( $flush ) ) {
498
-			flush_rewrite_rules();
499
-			delete_option( 'wpinv_flush_permalinks' );
500
-		}
497
+        if ( ! empty( $flush ) ) {
498
+            flush_rewrite_rules();
499
+            delete_option( 'wpinv_flush_permalinks' );
500
+        }
501 501
 
502
-	}
502
+    }
503 503
 
504
-	/**
505
-	 * Remove our pages from yoast sitemaps.
506
-	 *
507
-	 * @since 1.0.19
508
-	 * @param int[] $excluded_posts_ids
509
-	 */
510
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
504
+    /**
505
+     * Remove our pages from yoast sitemaps.
506
+     *
507
+     * @since 1.0.19
508
+     * @param int[] $excluded_posts_ids
509
+     */
510
+    public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
511 511
 
512
-		// Ensure that we have an array.
513
-		if ( ! is_array( $excluded_posts_ids ) ) {
514
-			$excluded_posts_ids = array();
515
-		}
512
+        // Ensure that we have an array.
513
+        if ( ! is_array( $excluded_posts_ids ) ) {
514
+            $excluded_posts_ids = array();
515
+        }
516 516
 
517
-		// Prepare our pages.
518
-		$our_pages = array();
517
+        // Prepare our pages.
518
+        $our_pages = array();
519 519
 
520
-		// Checkout page.
521
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
520
+        // Checkout page.
521
+        $our_pages[] = wpinv_get_option( 'checkout_page', false );
522 522
 
523
-		// Success page.
524
-		$our_pages[] = wpinv_get_option( 'success_page', false );
523
+        // Success page.
524
+        $our_pages[] = wpinv_get_option( 'success_page', false );
525 525
 
526
-		// Failure page.
527
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
526
+        // Failure page.
527
+        $our_pages[] = wpinv_get_option( 'failure_page', false );
528 528
 
529
-		// History page.
530
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
529
+        // History page.
530
+        $our_pages[] = wpinv_get_option( 'invoice_history_page', false );
531 531
 
532
-		// Subscriptions page.
533
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
532
+        // Subscriptions page.
533
+        $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
534 534
 
535
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
535
+        $our_pages   = array_map( 'intval', array_filter( $our_pages ) );
536 536
 
537
-		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
538
-		return array_unique( $excluded_posts_ids );
537
+        $excluded_posts_ids = $excluded_posts_ids + $our_pages;
538
+        return array_unique( $excluded_posts_ids );
539 539
 
540
-	}
540
+    }
541 541
 
542
-	/**
543
-	 * Displays additional footer code.
544
-	 * 
545
-	 * @since 2.0.0
546
-	 */
547
-	public function wp_footer() {
548
-		wpinv_get_template( 'frontend-footer.php' );
549
-	}
542
+    /**
543
+     * Displays additional footer code.
544
+     * 
545
+     * @since 2.0.0
546
+     */
547
+    public function wp_footer() {
548
+        wpinv_get_template( 'frontend-footer.php' );
549
+    }
550 550
 
551
-	/**
552
-	 * Displays additional header code.
553
-	 * 
554
-	 * @since 2.0.0
555
-	 */
556
-	public function wp_head() {
557
-		wpinv_get_template( 'frontend-head.php' );
558
-	}
551
+    /**
552
+     * Displays additional header code.
553
+     * 
554
+     * @since 2.0.0
555
+     */
556
+    public function wp_head() {
557
+        wpinv_get_template( 'frontend-head.php' );
558
+    }
559 559
 
560
-	/**
561
-	 * Custom query vars.
562
-	 *
563
-	 */
564
-	public function custom_query_vars( $vars ) {
560
+    /**
561
+     * Custom query vars.
562
+     *
563
+     */
564
+    public function custom_query_vars( $vars ) {
565 565
         $vars[] = 'getpaid-ipn';
566 566
         return $vars;
567
-	}
567
+    }
568 568
 
569
-	/**
570
-	 * Add rewrite tags and rules.
571
-	 *
572
-	 */
573
-	public function add_rewrite_rule() {
569
+    /**
570
+     * Add rewrite tags and rules.
571
+     *
572
+     */
573
+    public function add_rewrite_rule() {
574 574
         $tag = 'getpaid-ipn';
575 575
         add_rewrite_tag( "%$tag%", '([^&]+)' );
576 576
         add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]",'top' );
577
-	}
577
+    }
578 578
 
579
-	/**
580
-	 * Processes non-query string ipns.
581
-	 *
582
-	 */
583
-	public function maybe_process_new_ipn( $query ) {
579
+    /**
580
+     * Processes non-query string ipns.
581
+     *
582
+     */
583
+    public function maybe_process_new_ipn( $query ) {
584 584
 
585 585
         if ( is_admin() || ! $query->is_main_query() ) {
586 586
             return;
587 587
         }
588 588
 
589
-		$gateway = get_query_var( 'getpaid-ipn' );
589
+        $gateway = get_query_var( 'getpaid-ipn' );
590 590
 
591 591
         if ( ! empty( $gateway ) ){
592 592
 
593
-			$gateway = sanitize_text_field( $gateway );
594
-			nocache_headers();
595
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
596
-			do_action( "wpinv_verify_{$gateway}_ipn" );
597
-			exit;
593
+            $gateway = sanitize_text_field( $gateway );
594
+            nocache_headers();
595
+            do_action( 'wpinv_verify_payment_ipn', $gateway );
596
+            do_action( "wpinv_verify_{$gateway}_ipn" );
597
+            exit;
598 598
 
599 599
         }
600 600
 
601
-	}
601
+    }
602 602
 
603 603
 }
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-exception.php 2 patches
Indentation   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -14,51 +14,51 @@
 block discarded – undo
14 14
  */
15 15
 class GetPaid_Payment_Exception extends Exception {
16 16
 
17
-	/**
18
-	 * Sanitized error code.
19
-	 *
20
-	 * @var string
21
-	 */
22
-	protected $error_code;
17
+    /**
18
+     * Sanitized error code.
19
+     *
20
+     * @var string
21
+     */
22
+    protected $error_code;
23 23
 
24
-	/**
25
-	 * Error extra data.
26
-	 *
27
-	 * @var array
28
-	 */
29
-	protected $error_data;
24
+    /**
25
+     * Error extra data.
26
+     *
27
+     * @var array
28
+     */
29
+    protected $error_data;
30 30
 
31
-	/**
32
-	 * Setup exception.
33
-	 *
34
-	 * @param string $code             Machine-readable error code, e.g `getpaid-discount-error`.
35
-	 * @param string $message          User-friendly translated error message, e.g. 'Discount is invalid'.
36
-	 * @param int    $http_status_code Proper HTTP status code to respond with, e.g. 400.
37
-	 * @param array  $data             Extra error data.
38
-	 */
39
-	public function __construct( $code, $message, $http_status_code = 400, $data = array() ) {
40
-		$this->error_code = $code;
41
-		$this->error_data = array_merge( array( 'status' => $http_status_code ), $data );
31
+    /**
32
+     * Setup exception.
33
+     *
34
+     * @param string $code             Machine-readable error code, e.g `getpaid-discount-error`.
35
+     * @param string $message          User-friendly translated error message, e.g. 'Discount is invalid'.
36
+     * @param int    $http_status_code Proper HTTP status code to respond with, e.g. 400.
37
+     * @param array  $data             Extra error data.
38
+     */
39
+    public function __construct( $code, $message, $http_status_code = 400, $data = array() ) {
40
+        $this->error_code = $code;
41
+        $this->error_data = array_merge( array( 'status' => $http_status_code ), $data );
42 42
 
43
-		parent::__construct( $message, $http_status_code );
44
-	}
43
+        parent::__construct( $message, $http_status_code );
44
+    }
45 45
 
46
-	/**
47
-	 * Returns the error code.
48
-	 *
49
-	 * @return string
50
-	 */
51
-	public function getErrorCode() {
52
-		return $this->error_code;
53
-	}
46
+    /**
47
+     * Returns the error code.
48
+     *
49
+     * @return string
50
+     */
51
+    public function getErrorCode() {
52
+        return $this->error_code;
53
+    }
54 54
 
55
-	/**
56
-	 * Returns error data.
57
-	 *
58
-	 * @return array
59
-	 */
60
-	public function getErrorData() {
61
-		return $this->error_data;
62
-	}
55
+    /**
56
+     * Returns error data.
57
+     *
58
+     * @return array
59
+     */
60
+    public function getErrorData() {
61
+        return $this->error_data;
62
+    }
63 63
 
64 64
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  * @since   2.2.2
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 /**
13 13
  * Payment exception class.
@@ -36,11 +36,11 @@  discard block
 block discarded – undo
36 36
 	 * @param int    $http_status_code Proper HTTP status code to respond with, e.g. 400.
37 37
 	 * @param array  $data             Extra error data.
38 38
 	 */
39
-	public function __construct( $code, $message, $http_status_code = 400, $data = array() ) {
39
+	public function __construct($code, $message, $http_status_code = 400, $data = array()) {
40 40
 		$this->error_code = $code;
41
-		$this->error_data = array_merge( array( 'status' => $http_status_code ), $data );
41
+		$this->error_data = array_merge(array('status' => $http_status_code), $data);
42 42
 
43
-		parent::__construct( $message, $http_status_code );
43
+		parent::__construct($message, $http_status_code);
44 44
 	}
45 45
 
46 46
 	/**
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-form-submission-discount.php 2 patches
Indentation   +154 added lines, -154 removed lines patch added patch discarded remove patch
@@ -12,162 +12,162 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Payment_Form_Submission_Discount {
14 14
 
15
-	/**
16
-	 * Submission discounts.
17
-	 * @var array
18
-	 */
19
-	public $discounts = array();
15
+    /**
16
+     * Submission discounts.
17
+     * @var array
18
+     */
19
+    public $discounts = array();
20
+
21
+    /**
22
+     * Class constructor
23
+     *
24
+     * @param GetPaid_Payment_Form_Submission $submission
25
+     * @param float                           $initial_total
26
+     * @param float                           $recurring_total
27
+     */
28
+    public function __construct( $submission, $initial_total, $recurring_total ) {
29
+
30
+        // Process any existing invoice discounts.
31
+        if ( $submission->has_invoice() ) {
32
+            $this->discounts = $submission->get_invoice()->get_discounts();
33
+        }
34
+
35
+        // Do we have a discount?
36
+        $discount = $submission->get_field( 'discount' );
37
+
38
+        if ( empty( $discount ) ) {
39
+
40
+            if ( isset( $this->discounts['discount_code'] ) ) {
41
+                unset( $this->discounts['discount_code'] );
42
+            }
43
+
44
+            return;
45
+        }
46
+
47
+        // Processes the discount code.
48
+        $amount = max( $initial_total, $recurring_total );
49
+        $this->process_discount( $submission, $discount, $amount );
50
+
51
+    }
20 52
 
21 53
     /**
22
-	 * Class constructor
23
-	 *
24
-	 * @param GetPaid_Payment_Form_Submission $submission
25
-	 * @param float                           $initial_total
26
-	 * @param float                           $recurring_total
27
-	 */
28
-	public function __construct( $submission, $initial_total, $recurring_total ) {
29
-
30
-		// Process any existing invoice discounts.
31
-		if ( $submission->has_invoice() ) {
32
-			$this->discounts = $submission->get_invoice()->get_discounts();
33
-		}
34
-
35
-		// Do we have a discount?
36
-		$discount = $submission->get_field( 'discount' );
37
-
38
-		if ( empty( $discount ) ) {
39
-
40
-			if ( isset( $this->discounts['discount_code'] ) ) {
41
-				unset( $this->discounts['discount_code'] );
42
-			}
43
-
44
-			return;
45
-		}
46
-
47
-		// Processes the discount code.
48
-		$amount = max( $initial_total, $recurring_total );
49
-		$this->process_discount( $submission, $discount, $amount );
50
-
51
-	}
52
-
53
-	/**
54
-	 * Processes a submission discount.
55
-	 *
56
-	 * @param GetPaid_Payment_Form_Submission $submission
57
-	 * @param string                          $discount
58
-	 * @param float                           $amount
59
-	 */
60
-	public function process_discount( $submission, $discount, $amount ) {
61
-
62
-		// Fetch the discount.
63
-		$discount = new WPInv_Discount( $discount );
64
-
65
-		// Ensure it is active.
54
+     * Processes a submission discount.
55
+     *
56
+     * @param GetPaid_Payment_Form_Submission $submission
57
+     * @param string                          $discount
58
+     * @param float                           $amount
59
+     */
60
+    public function process_discount( $submission, $discount, $amount ) {
61
+
62
+        // Fetch the discount.
63
+        $discount = new WPInv_Discount( $discount );
64
+
65
+        // Ensure it is active.
66 66
         if ( ! $this->is_discount_active( $discount ) ) {
67
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'Invalid or expired discount code', 'invoicing' ) );
68
-		}
69
-
70
-		// Exceeded limit.
71
-		if ( $discount->has_exceeded_limit() ) {
72
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'This discount code has been used up', 'invoicing' ) );
73
-		}
74
-
75
-		// Validate usages.
76
-		$this->validate_single_use_discount( $submission, $discount );
77
-
78
-		// Validate amount.
79
-		$this->validate_discount_amount( $submission, $discount, $amount );
80
-
81
-		// Save the discount.
82
-		$this->discounts['discount_code'] = $this->calculate_discount( $submission, $discount );
83
-	}
84
-
85
-	/**
86
-	 * Validates a single use discount.
87
-	 *
88
-	 * @param WPInv_Discount                  $discount
89
-	 * @return bool
90
-	 */
91
-	public function is_discount_active(  $discount ) {
92
-		return $discount->exists() && $discount->is_active() && $discount->has_started() && ! $discount->is_expired();
93
-	}
94
-
95
-	/**
96
-	 * Returns a user's id or email.
97
-	 *
98
-	 * @param string $email
99
-	 * @return int|string|false
100
-	 */
101
-	public function get_user_id_or_email( $email ) {
102
-
103
-		if ( is_user_logged_in() ) {
104
-			return get_current_user_id();
105
-		}
106
-
107
-		return empty( $email ) ? false : sanitize_email( $email );
108
-	}
109
-
110
-	/**
111
-	 * Validates a single use discount.
112
-	 *
113
-	 * @param GetPaid_Payment_Form_Submission $submission
114
-	 * @param WPInv_Discount                  $discount
115
-	 */
116
-	public function validate_single_use_discount( $submission, $discount ) {
117
-
118
-		// Abort if it is not a single use discount.
119
-		if ( ! $discount->is_single_use() ) {
120
-			return;
121
-		}
122
-
123
-		// Ensure there is a valid billing email.
124
-		$user = $this->get_user_id_or_email( $submission->get_billing_email() );
125
-
126
-		if ( empty( $user ) ) {
127
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You need to either log in or enter your billing email before applying this discount', 'invoicing' ) );
128
-		}
129
-
130
-		// Has the user used this discount code before?
131
-		if ( ! $discount->is_valid_for_user( $user ) ) {
132
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You have already used this discount', 'invoicing' ) );
133
-		}
134
-
135
-	}
136
-
137
-	/**
138
-	 * Validates the discount's amount.
139
-	 *
140
-	 * @param GetPaid_Payment_Form_Submission $submission
141
-	 * @param WPInv_Discount         $discount
142
-	 * @param float                  $amount
143
-	 */
144
-	public function validate_discount_amount( $submission, $discount, $amount ) {
145
-
146
-		// Validate minimum amount.
147
-		if ( ! $discount->is_minimum_amount_met( $amount ) ) {
148
-			$min = wpinv_price( $discount->get_minimum_total(), $submission->get_currency() );
149
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The minimum total for using this discount is %s', 'invoicing' ), $min ) );
150
-		}
151
-
152
-		// Validate the maximum amount.
153
-		if ( ! $discount->is_maximum_amount_met( $amount ) ) {
154
-			$max = wpinv_price( $discount->get_maximum_total(), $submission->get_currency() );
155
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The maximum total for using this discount is %s', 'invoicing' ), $max ) );
156
-		}
157
-
158
-	}
159
-
160
-	/**
161
-	 * Calculates the discount code's amount.
162
-	 *
163
-	 * Ensure that the discount exists and has been validated before calling this method.
164
-	 *
165
-	 * @param GetPaid_Payment_Form_Submission $submission
166
-	 * @param WPInv_Discount                  $discount
167
-	 * @return array
168
-	 */
169
-	public function calculate_discount( $submission, $discount ) {
170
-		return getpaid_calculate_invoice_discount( $submission, $discount );
171
-	}
67
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'Invalid or expired discount code', 'invoicing' ) );
68
+        }
69
+
70
+        // Exceeded limit.
71
+        if ( $discount->has_exceeded_limit() ) {
72
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'This discount code has been used up', 'invoicing' ) );
73
+        }
74
+
75
+        // Validate usages.
76
+        $this->validate_single_use_discount( $submission, $discount );
77
+
78
+        // Validate amount.
79
+        $this->validate_discount_amount( $submission, $discount, $amount );
80
+
81
+        // Save the discount.
82
+        $this->discounts['discount_code'] = $this->calculate_discount( $submission, $discount );
83
+    }
84
+
85
+    /**
86
+     * Validates a single use discount.
87
+     *
88
+     * @param WPInv_Discount                  $discount
89
+     * @return bool
90
+     */
91
+    public function is_discount_active(  $discount ) {
92
+        return $discount->exists() && $discount->is_active() && $discount->has_started() && ! $discount->is_expired();
93
+    }
94
+
95
+    /**
96
+     * Returns a user's id or email.
97
+     *
98
+     * @param string $email
99
+     * @return int|string|false
100
+     */
101
+    public function get_user_id_or_email( $email ) {
102
+
103
+        if ( is_user_logged_in() ) {
104
+            return get_current_user_id();
105
+        }
106
+
107
+        return empty( $email ) ? false : sanitize_email( $email );
108
+    }
109
+
110
+    /**
111
+     * Validates a single use discount.
112
+     *
113
+     * @param GetPaid_Payment_Form_Submission $submission
114
+     * @param WPInv_Discount                  $discount
115
+     */
116
+    public function validate_single_use_discount( $submission, $discount ) {
117
+
118
+        // Abort if it is not a single use discount.
119
+        if ( ! $discount->is_single_use() ) {
120
+            return;
121
+        }
122
+
123
+        // Ensure there is a valid billing email.
124
+        $user = $this->get_user_id_or_email( $submission->get_billing_email() );
125
+
126
+        if ( empty( $user ) ) {
127
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You need to either log in or enter your billing email before applying this discount', 'invoicing' ) );
128
+        }
129
+
130
+        // Has the user used this discount code before?
131
+        if ( ! $discount->is_valid_for_user( $user ) ) {
132
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You have already used this discount', 'invoicing' ) );
133
+        }
134
+
135
+    }
136
+
137
+    /**
138
+     * Validates the discount's amount.
139
+     *
140
+     * @param GetPaid_Payment_Form_Submission $submission
141
+     * @param WPInv_Discount         $discount
142
+     * @param float                  $amount
143
+     */
144
+    public function validate_discount_amount( $submission, $discount, $amount ) {
145
+
146
+        // Validate minimum amount.
147
+        if ( ! $discount->is_minimum_amount_met( $amount ) ) {
148
+            $min = wpinv_price( $discount->get_minimum_total(), $submission->get_currency() );
149
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The minimum total for using this discount is %s', 'invoicing' ), $min ) );
150
+        }
151
+
152
+        // Validate the maximum amount.
153
+        if ( ! $discount->is_maximum_amount_met( $amount ) ) {
154
+            $max = wpinv_price( $discount->get_maximum_total(), $submission->get_currency() );
155
+            throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The maximum total for using this discount is %s', 'invoicing' ), $max ) );
156
+        }
157
+
158
+    }
159
+
160
+    /**
161
+     * Calculates the discount code's amount.
162
+     *
163
+     * Ensure that the discount exists and has been validated before calling this method.
164
+     *
165
+     * @param GetPaid_Payment_Form_Submission $submission
166
+     * @param WPInv_Discount                  $discount
167
+     * @return array
168
+     */
169
+    public function calculate_discount( $submission, $discount ) {
170
+        return getpaid_calculate_invoice_discount( $submission, $discount );
171
+    }
172 172
 
173 173
 }
Please login to merge, or discard this patch.
Spacing   +39 added lines, -39 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
  * Payment form submission discount class
@@ -25,28 +25,28 @@  discard block
 block discarded – undo
25 25
 	 * @param float                           $initial_total
26 26
 	 * @param float                           $recurring_total
27 27
 	 */
28
-	public function __construct( $submission, $initial_total, $recurring_total ) {
28
+	public function __construct($submission, $initial_total, $recurring_total) {
29 29
 
30 30
 		// Process any existing invoice discounts.
31
-		if ( $submission->has_invoice() ) {
31
+		if ($submission->has_invoice()) {
32 32
 			$this->discounts = $submission->get_invoice()->get_discounts();
33 33
 		}
34 34
 
35 35
 		// Do we have a discount?
36
-		$discount = $submission->get_field( 'discount' );
36
+		$discount = $submission->get_field('discount');
37 37
 
38
-		if ( empty( $discount ) ) {
38
+		if (empty($discount)) {
39 39
 
40
-			if ( isset( $this->discounts['discount_code'] ) ) {
41
-				unset( $this->discounts['discount_code'] );
40
+			if (isset($this->discounts['discount_code'])) {
41
+				unset($this->discounts['discount_code']);
42 42
 			}
43 43
 
44 44
 			return;
45 45
 		}
46 46
 
47 47
 		// Processes the discount code.
48
-		$amount = max( $initial_total, $recurring_total );
49
-		$this->process_discount( $submission, $discount, $amount );
48
+		$amount = max($initial_total, $recurring_total);
49
+		$this->process_discount($submission, $discount, $amount);
50 50
 
51 51
 	}
52 52
 
@@ -57,29 +57,29 @@  discard block
 block discarded – undo
57 57
 	 * @param string                          $discount
58 58
 	 * @param float                           $amount
59 59
 	 */
60
-	public function process_discount( $submission, $discount, $amount ) {
60
+	public function process_discount($submission, $discount, $amount) {
61 61
 
62 62
 		// Fetch the discount.
63
-		$discount = new WPInv_Discount( $discount );
63
+		$discount = new WPInv_Discount($discount);
64 64
 
65 65
 		// Ensure it is active.
66
-        if ( ! $this->is_discount_active( $discount ) ) {
67
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'Invalid or expired discount code', 'invoicing' ) );
66
+        if (!$this->is_discount_active($discount)) {
67
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', __('Invalid or expired discount code', 'invoicing'));
68 68
 		}
69 69
 
70 70
 		// Exceeded limit.
71
-		if ( $discount->has_exceeded_limit() ) {
72
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'This discount code has been used up', 'invoicing' ) );
71
+		if ($discount->has_exceeded_limit()) {
72
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', __('This discount code has been used up', 'invoicing'));
73 73
 		}
74 74
 
75 75
 		// Validate usages.
76
-		$this->validate_single_use_discount( $submission, $discount );
76
+		$this->validate_single_use_discount($submission, $discount);
77 77
 
78 78
 		// Validate amount.
79
-		$this->validate_discount_amount( $submission, $discount, $amount );
79
+		$this->validate_discount_amount($submission, $discount, $amount);
80 80
 
81 81
 		// Save the discount.
82
-		$this->discounts['discount_code'] = $this->calculate_discount( $submission, $discount );
82
+		$this->discounts['discount_code'] = $this->calculate_discount($submission, $discount);
83 83
 	}
84 84
 
85 85
 	/**
@@ -88,8 +88,8 @@  discard block
 block discarded – undo
88 88
 	 * @param WPInv_Discount                  $discount
89 89
 	 * @return bool
90 90
 	 */
91
-	public function is_discount_active(  $discount ) {
92
-		return $discount->exists() && $discount->is_active() && $discount->has_started() && ! $discount->is_expired();
91
+	public function is_discount_active($discount) {
92
+		return $discount->exists() && $discount->is_active() && $discount->has_started() && !$discount->is_expired();
93 93
 	}
94 94
 
95 95
 	/**
@@ -98,13 +98,13 @@  discard block
 block discarded – undo
98 98
 	 * @param string $email
99 99
 	 * @return int|string|false
100 100
 	 */
101
-	public function get_user_id_or_email( $email ) {
101
+	public function get_user_id_or_email($email) {
102 102
 
103
-		if ( is_user_logged_in() ) {
103
+		if (is_user_logged_in()) {
104 104
 			return get_current_user_id();
105 105
 		}
106 106
 
107
-		return empty( $email ) ? false : sanitize_email( $email );
107
+		return empty($email) ? false : sanitize_email($email);
108 108
 	}
109 109
 
110 110
 	/**
@@ -113,23 +113,23 @@  discard block
 block discarded – undo
113 113
 	 * @param GetPaid_Payment_Form_Submission $submission
114 114
 	 * @param WPInv_Discount                  $discount
115 115
 	 */
116
-	public function validate_single_use_discount( $submission, $discount ) {
116
+	public function validate_single_use_discount($submission, $discount) {
117 117
 
118 118
 		// Abort if it is not a single use discount.
119
-		if ( ! $discount->is_single_use() ) {
119
+		if (!$discount->is_single_use()) {
120 120
 			return;
121 121
 		}
122 122
 
123 123
 		// Ensure there is a valid billing email.
124
-		$user = $this->get_user_id_or_email( $submission->get_billing_email() );
124
+		$user = $this->get_user_id_or_email($submission->get_billing_email());
125 125
 
126
-		if ( empty( $user ) ) {
127
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You need to either log in or enter your billing email before applying this discount', 'invoicing' ) );
126
+		if (empty($user)) {
127
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', __('You need to either log in or enter your billing email before applying this discount', 'invoicing'));
128 128
 		}
129 129
 
130 130
 		// Has the user used this discount code before?
131
-		if ( ! $discount->is_valid_for_user( $user ) ) {
132
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', __( 'You have already used this discount', 'invoicing' ) );
131
+		if (!$discount->is_valid_for_user($user)) {
132
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', __('You have already used this discount', 'invoicing'));
133 133
 		}
134 134
 
135 135
 	}
@@ -141,18 +141,18 @@  discard block
 block discarded – undo
141 141
 	 * @param WPInv_Discount         $discount
142 142
 	 * @param float                  $amount
143 143
 	 */
144
-	public function validate_discount_amount( $submission, $discount, $amount ) {
144
+	public function validate_discount_amount($submission, $discount, $amount) {
145 145
 
146 146
 		// Validate minimum amount.
147
-		if ( ! $discount->is_minimum_amount_met( $amount ) ) {
148
-			$min = wpinv_price( $discount->get_minimum_total(), $submission->get_currency() );
149
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The minimum total for using this discount is %s', 'invoicing' ), $min ) );
147
+		if (!$discount->is_minimum_amount_met($amount)) {
148
+			$min = wpinv_price($discount->get_minimum_total(), $submission->get_currency());
149
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf(__('The minimum total for using this discount is %s', 'invoicing'), $min));
150 150
 		}
151 151
 
152 152
 		// Validate the maximum amount.
153
-		if ( ! $discount->is_maximum_amount_met( $amount ) ) {
154
-			$max = wpinv_price( $discount->get_maximum_total(), $submission->get_currency() );
155
-			throw new GetPaid_Payment_Exception( '.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf( __( 'The maximum total for using this discount is %s', 'invoicing' ), $max ) );
153
+		if (!$discount->is_maximum_amount_met($amount)) {
154
+			$max = wpinv_price($discount->get_maximum_total(), $submission->get_currency());
155
+			throw new GetPaid_Payment_Exception('.getpaid-discount-field .getpaid-custom-payment-form-errors', sprintf(__('The maximum total for using this discount is %s', 'invoicing'), $max));
156 156
 		}
157 157
 
158 158
 	}
@@ -166,8 +166,8 @@  discard block
 block discarded – undo
166 166
 	 * @param WPInv_Discount                  $discount
167 167
 	 * @return array
168 168
 	 */
169
-	public function calculate_discount( $submission, $discount ) {
170
-		return getpaid_calculate_invoice_discount( $submission, $discount );
169
+	public function calculate_discount($submission, $discount) {
170
+		return getpaid_calculate_invoice_discount($submission, $discount);
171 171
 	}
172 172
 
173 173
 }
Please login to merge, or discard this patch.