Passed
Push — master ( ed8ce9...e77a36 )
by Brian
04:35
created
includes/class-getpaid-invoice-notification-emails.php 2 patches
Indentation   +390 added lines, -390 removed lines patch added patch discarded remove patch
@@ -12,444 +12,444 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Invoice_Notification_Emails {
14 14
 
15
-	/**
16
-	 * The array of invoice email actions.
17
-	 *
18
-	 * @param array
19
-	 */
20
-	public $invoice_actions;
21
-
22
-	/**
23
-	 * Class constructor
24
-	 *
25
-	 */
26
-	public function __construct() {
27
-
28
-		$this->invoice_actions = apply_filters(
29
-			'getpaid_notification_email_invoice_triggers',
30
-			array(
31
-				'getpaid_new_invoice'                   => array( 'new_invoice', 'user_invoice' ),
32
-				'getpaid_invoice_status_wpi-cancelled'  => 'cancelled_invoice',
33
-				'getpaid_invoice_status_wpi-failed'     => 'failed_invoice',
34
-				'getpaid_invoice_status_wpi-onhold'     => 'onhold_invoice',
35
-				'getpaid_invoice_status_wpi-processing' => 'processing_invoice',
36
-				'getpaid_invoice_status_publish'        => 'completed_invoice',
37
-				'getpaid_invoice_status_wpi-renewal'    => 'completed_invoice',
38
-				'getpaid_invoice_status_wpi-refunded'   => 'refunded_invoice',
39
-				'getpaid_new_customer_note'             => 'user_note',
40
-				'getpaid_daily_maintenance'             => 'overdue',
41
-			)
42
-		);
43
-
44
-		$this->init_hooks();
45
-
46
-	}
47
-
48
-	/**
49
-	 * Registers email hooks.
50
-	 */
51
-	public function init_hooks() {
52
-
53
-		add_filter( 'getpaid_get_email_merge_tags', array( $this, 'invoice_merge_tags' ), 10, 2 );
54
-		add_filter( 'getpaid_invoice_email_recipients', array( $this, 'filter_email_recipients' ), 10, 2 );
55
-
56
-		foreach ( $this->invoice_actions as $hook => $email_type ) {
57
-			$this->init_email_type_hook( $hook, $email_type );
58
-		}
59
-	}
60
-
61
-	/**
62
-	 * Registers an email hook for an invoice action.
63
-	 * 
64
-	 * @param string $hook
65
-	 * @param string|array $email_type
66
-	 */
67
-	public function init_email_type_hook( $hook, $email_type ) {
68
-
69
-		$email_type = wpinv_parse_list( $email_type );
70
-
71
-		foreach ( $email_type as $type ) {
72
-
73
-			$email = new GetPaid_Notification_Email( $type );
74
-
75
-			// Abort if it is not active.
76
-			if ( ! $email->is_active() ) {
77
-				continue;
78
-			}
79
-
80
-			if ( method_exists( $this, $type ) ) {
81
-				add_action( $hook, array( $this, $type ), 100, 2 );
82
-				continue;
83
-			}
84
-
85
-			do_action( 'getpaid_invoice_init_email_type_hook', $type, $hook );
86
-		}
87
-
88
-	}
89
-
90
-	/**
91
-	 * Filters invoice merge tags.
92
-	 *
93
-	 * @param array $merge_tags
94
-	 * @param mixed|WPInv_Invoice|WPInv_Subscription $object
95
-	 */
96
-	public function invoice_merge_tags( $merge_tags, $object ) {
97
-
98
-		if ( is_a( $object, 'WPInv_Invoice' ) ) {
99
-			return array_merge(
100
-				$merge_tags,
101
-				$this->get_invoice_merge_tags( $object )
102
-			);
103
-		}
104
-
105
-		if ( is_a( $object, 'WPInv_Subscription' ) ) {
106
-			return array_merge(
107
-				$merge_tags,
108
-				$this->get_invoice_merge_tags( $object->get_parent_payment() )
109
-			);
110
-		}
111
-
112
-		return $merge_tags;
113
-
114
-	}
115
-
116
-	/**
117
-	 * Generates invoice merge tags.
118
-	 *
119
-	 * @param WPInv_Invoice $invoice
120
-	 * @return array
121
-	 */
122
-	public function get_invoice_merge_tags( $invoice ) {
123
-
124
-		// Abort if it does not exist.
125
-		if ( ! $invoice->get_id() ) {
126
-			return array();
127
-		}
128
-
129
-		$merge_tags = array(
130
-			'{name}'                => sanitize_text_field( $invoice->get_user_full_name() ),
131
-			'{full_name}'           => sanitize_text_field( $invoice->get_user_full_name() ),
132
-			'{first_name}'          => sanitize_text_field( $invoice->get_first_name() ),
133
-			'{last_name}'           => sanitize_text_field( $invoice->get_last_name() ),
134
-			'{email}'               => sanitize_email( $invoice->get_email() ),
135
-			'{invoice_number}'      => sanitize_text_field( $invoice->get_number() ),
136
-			'{invoice_currency}'    => sanitize_text_field( $invoice->get_currency() ),
137
-			'{invoice_total}'       => sanitize_text_field( wpinv_price( $invoice->get_total(), $invoice->get_currency() ) ),
138
-			'{invoice_link}'        => esc_url( $invoice->get_view_url() ),
139
-			'{invoice_pay_link}'    => esc_url( $invoice->get_checkout_payment_url() ),
140
-			'{invoice_receipt_link}'=> esc_url( $invoice->get_receipt_url() ),
141
-			'{invoice_date}'        => getpaid_format_date_value( $invoice->get_date_created() ),
142
-			'{invoice_due_date}'    => getpaid_format_date_value( $invoice->get_due_date(), __( 'on receipt', 'invoicing' ) ),
143
-			'{invoice_quote}'       => sanitize_text_field( strtolower( $invoice->get_label() ) ),
144
-			'{invoice_label}'       => sanitize_text_field( ucfirst( $invoice->get_label() ) ),
145
-			'{invoice_description}' => wp_kses_post( $invoice->get_description() ),
146
-			'{subscription_name}'   => wp_kses_post( $invoice->get_subscription_name() ),
147
-			'{is_was}'              => strtotime( $invoice->get_due_date() ) < current_time( 'timestamp' ) ? __( 'was', 'invoicing' ) : __( 'is', 'invoicing' ),
148
-		);
149
-
150
-		return apply_filters( 'getpaid_invoice_email_merge_tags', $merge_tags, $invoice );
151
-	}
152
-
153
-	/**
154
-	 * Helper function to send an email.
155
-	 *
156
-	 * @param WPInv_Invoice $invoice
157
-	 * @param GetPaid_Notification_Email $email
158
-	 * @param string $type
159
-	 * @param string|array $recipients
160
-	 * @param array $extra_args Extra template args.
161
-	 */
162
-	public function send_email( $invoice, $email, $type, $recipients, $extra_args = array() ) {
163
-
164
-		do_action( 'getpaid_before_send_invoice_notification', $type, $invoice, $email );
165
-
166
-		$mailer     = new GetPaid_Notification_Email_Sender();
167
-		$merge_tags = $email->get_merge_tags();
168
-
169
-		$result = $mailer->send(
170
-			apply_filters( 'getpaid_invoice_email_recipients', wpinv_parse_list( $recipients ), $email ),
171
-			$email->add_merge_tags( $email->get_subject(), $merge_tags ),
172
-			$email->get_content( $merge_tags, $extra_args ),
173
-			$email->get_attachments()
174
-		);
175
-
176
-		// Maybe send a copy to the admin.
177
-		if ( $email->include_admin_bcc() ) {
178
-			$mailer->send(
179
-				wpinv_get_admin_email(),
180
-				$email->add_merge_tags( $email->get_subject() . __( ' - ADMIN BCC COPY', 'invoicing' ), $merge_tags ),
181
-				$email->get_content( $merge_tags ),
182
-				$email->get_attachments()
183
-			);
184
-		}
185
-
186
-		if ( ! $result ) {
187
-			$invoice->add_note( sprintf( __( 'Failed sending %s notification email.', 'invoicing' ), sanitize_key( $type ) ), false, false, true );
188
-		}
189
-
190
-		do_action( 'getpaid_after_send_invoice_notification', $type, $invoice, $email );
191
-
192
-		return $result;
193
-	}
194
-
195
-	/**
196
-	 * Also send emails to any cc users.
197
-	 *
198
-	 * @param array $recipients
199
-	 * @param GetPaid_Notification_Email $email
200
-	 */
201
-	public function filter_email_recipients( $recipients, $email ) {
202
-
203
-		if ( ! $email->is_admin_email() ) {
204
-			$cc = $email->object->get_email_cc();
205
-
206
-			if ( ! empty( $cc ) ) {
207
-				$cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
208
-				$recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
209
-			}
210
-
211
-		}
212
-
213
-		return $recipients;
214
-
215
-	}
216
-
217
-	/**
218
-	 * Sends a new invoice notification.
219
-	 *
220
-	 * @param WPInv_Invoice $invoice
221
-	 */
222
-	public function new_invoice( $invoice ) {
223
-
224
-		// Only send this email for invoices created via the admin page.
225
-		if ( ! $invoice->is_type( 'invoice' ) || $this->is_payment_form_invoice( $invoice->get_id() ) ) {
226
-			return;
227
-		}
228
-
229
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
230
-		$recipient = wpinv_get_admin_email();
231
-
232
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
233
-
234
-	}
235
-
236
-	/**
237
-	 * Sends a cancelled invoice notification.
238
-	 *
239
-	 * @param WPInv_Invoice $invoice
240
-	 */
241
-	public function cancelled_invoice( $invoice ) {
15
+    /**
16
+     * The array of invoice email actions.
17
+     *
18
+     * @param array
19
+     */
20
+    public $invoice_actions;
21
+
22
+    /**
23
+     * Class constructor
24
+     *
25
+     */
26
+    public function __construct() {
27
+
28
+        $this->invoice_actions = apply_filters(
29
+            'getpaid_notification_email_invoice_triggers',
30
+            array(
31
+                'getpaid_new_invoice'                   => array( 'new_invoice', 'user_invoice' ),
32
+                'getpaid_invoice_status_wpi-cancelled'  => 'cancelled_invoice',
33
+                'getpaid_invoice_status_wpi-failed'     => 'failed_invoice',
34
+                'getpaid_invoice_status_wpi-onhold'     => 'onhold_invoice',
35
+                'getpaid_invoice_status_wpi-processing' => 'processing_invoice',
36
+                'getpaid_invoice_status_publish'        => 'completed_invoice',
37
+                'getpaid_invoice_status_wpi-renewal'    => 'completed_invoice',
38
+                'getpaid_invoice_status_wpi-refunded'   => 'refunded_invoice',
39
+                'getpaid_new_customer_note'             => 'user_note',
40
+                'getpaid_daily_maintenance'             => 'overdue',
41
+            )
42
+        );
43
+
44
+        $this->init_hooks();
45
+
46
+    }
47
+
48
+    /**
49
+     * Registers email hooks.
50
+     */
51
+    public function init_hooks() {
52
+
53
+        add_filter( 'getpaid_get_email_merge_tags', array( $this, 'invoice_merge_tags' ), 10, 2 );
54
+        add_filter( 'getpaid_invoice_email_recipients', array( $this, 'filter_email_recipients' ), 10, 2 );
55
+
56
+        foreach ( $this->invoice_actions as $hook => $email_type ) {
57
+            $this->init_email_type_hook( $hook, $email_type );
58
+        }
59
+    }
60
+
61
+    /**
62
+     * Registers an email hook for an invoice action.
63
+     * 
64
+     * @param string $hook
65
+     * @param string|array $email_type
66
+     */
67
+    public function init_email_type_hook( $hook, $email_type ) {
68
+
69
+        $email_type = wpinv_parse_list( $email_type );
70
+
71
+        foreach ( $email_type as $type ) {
72
+
73
+            $email = new GetPaid_Notification_Email( $type );
74
+
75
+            // Abort if it is not active.
76
+            if ( ! $email->is_active() ) {
77
+                continue;
78
+            }
79
+
80
+            if ( method_exists( $this, $type ) ) {
81
+                add_action( $hook, array( $this, $type ), 100, 2 );
82
+                continue;
83
+            }
84
+
85
+            do_action( 'getpaid_invoice_init_email_type_hook', $type, $hook );
86
+        }
87
+
88
+    }
89
+
90
+    /**
91
+     * Filters invoice merge tags.
92
+     *
93
+     * @param array $merge_tags
94
+     * @param mixed|WPInv_Invoice|WPInv_Subscription $object
95
+     */
96
+    public function invoice_merge_tags( $merge_tags, $object ) {
97
+
98
+        if ( is_a( $object, 'WPInv_Invoice' ) ) {
99
+            return array_merge(
100
+                $merge_tags,
101
+                $this->get_invoice_merge_tags( $object )
102
+            );
103
+        }
104
+
105
+        if ( is_a( $object, 'WPInv_Subscription' ) ) {
106
+            return array_merge(
107
+                $merge_tags,
108
+                $this->get_invoice_merge_tags( $object->get_parent_payment() )
109
+            );
110
+        }
111
+
112
+        return $merge_tags;
113
+
114
+    }
115
+
116
+    /**
117
+     * Generates invoice merge tags.
118
+     *
119
+     * @param WPInv_Invoice $invoice
120
+     * @return array
121
+     */
122
+    public function get_invoice_merge_tags( $invoice ) {
123
+
124
+        // Abort if it does not exist.
125
+        if ( ! $invoice->get_id() ) {
126
+            return array();
127
+        }
128
+
129
+        $merge_tags = array(
130
+            '{name}'                => sanitize_text_field( $invoice->get_user_full_name() ),
131
+            '{full_name}'           => sanitize_text_field( $invoice->get_user_full_name() ),
132
+            '{first_name}'          => sanitize_text_field( $invoice->get_first_name() ),
133
+            '{last_name}'           => sanitize_text_field( $invoice->get_last_name() ),
134
+            '{email}'               => sanitize_email( $invoice->get_email() ),
135
+            '{invoice_number}'      => sanitize_text_field( $invoice->get_number() ),
136
+            '{invoice_currency}'    => sanitize_text_field( $invoice->get_currency() ),
137
+            '{invoice_total}'       => sanitize_text_field( wpinv_price( $invoice->get_total(), $invoice->get_currency() ) ),
138
+            '{invoice_link}'        => esc_url( $invoice->get_view_url() ),
139
+            '{invoice_pay_link}'    => esc_url( $invoice->get_checkout_payment_url() ),
140
+            '{invoice_receipt_link}'=> esc_url( $invoice->get_receipt_url() ),
141
+            '{invoice_date}'        => getpaid_format_date_value( $invoice->get_date_created() ),
142
+            '{invoice_due_date}'    => getpaid_format_date_value( $invoice->get_due_date(), __( 'on receipt', 'invoicing' ) ),
143
+            '{invoice_quote}'       => sanitize_text_field( strtolower( $invoice->get_label() ) ),
144
+            '{invoice_label}'       => sanitize_text_field( ucfirst( $invoice->get_label() ) ),
145
+            '{invoice_description}' => wp_kses_post( $invoice->get_description() ),
146
+            '{subscription_name}'   => wp_kses_post( $invoice->get_subscription_name() ),
147
+            '{is_was}'              => strtotime( $invoice->get_due_date() ) < current_time( 'timestamp' ) ? __( 'was', 'invoicing' ) : __( 'is', 'invoicing' ),
148
+        );
149
+
150
+        return apply_filters( 'getpaid_invoice_email_merge_tags', $merge_tags, $invoice );
151
+    }
152
+
153
+    /**
154
+     * Helper function to send an email.
155
+     *
156
+     * @param WPInv_Invoice $invoice
157
+     * @param GetPaid_Notification_Email $email
158
+     * @param string $type
159
+     * @param string|array $recipients
160
+     * @param array $extra_args Extra template args.
161
+     */
162
+    public function send_email( $invoice, $email, $type, $recipients, $extra_args = array() ) {
163
+
164
+        do_action( 'getpaid_before_send_invoice_notification', $type, $invoice, $email );
165
+
166
+        $mailer     = new GetPaid_Notification_Email_Sender();
167
+        $merge_tags = $email->get_merge_tags();
168
+
169
+        $result = $mailer->send(
170
+            apply_filters( 'getpaid_invoice_email_recipients', wpinv_parse_list( $recipients ), $email ),
171
+            $email->add_merge_tags( $email->get_subject(), $merge_tags ),
172
+            $email->get_content( $merge_tags, $extra_args ),
173
+            $email->get_attachments()
174
+        );
175
+
176
+        // Maybe send a copy to the admin.
177
+        if ( $email->include_admin_bcc() ) {
178
+            $mailer->send(
179
+                wpinv_get_admin_email(),
180
+                $email->add_merge_tags( $email->get_subject() . __( ' - ADMIN BCC COPY', 'invoicing' ), $merge_tags ),
181
+                $email->get_content( $merge_tags ),
182
+                $email->get_attachments()
183
+            );
184
+        }
185
+
186
+        if ( ! $result ) {
187
+            $invoice->add_note( sprintf( __( 'Failed sending %s notification email.', 'invoicing' ), sanitize_key( $type ) ), false, false, true );
188
+        }
189
+
190
+        do_action( 'getpaid_after_send_invoice_notification', $type, $invoice, $email );
191
+
192
+        return $result;
193
+    }
194
+
195
+    /**
196
+     * Also send emails to any cc users.
197
+     *
198
+     * @param array $recipients
199
+     * @param GetPaid_Notification_Email $email
200
+     */
201
+    public function filter_email_recipients( $recipients, $email ) {
202
+
203
+        if ( ! $email->is_admin_email() ) {
204
+            $cc = $email->object->get_email_cc();
205
+
206
+            if ( ! empty( $cc ) ) {
207
+                $cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
208
+                $recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
209
+            }
210
+
211
+        }
212
+
213
+        return $recipients;
214
+
215
+    }
216
+
217
+    /**
218
+     * Sends a new invoice notification.
219
+     *
220
+     * @param WPInv_Invoice $invoice
221
+     */
222
+    public function new_invoice( $invoice ) {
223
+
224
+        // Only send this email for invoices created via the admin page.
225
+        if ( ! $invoice->is_type( 'invoice' ) || $this->is_payment_form_invoice( $invoice->get_id() ) ) {
226
+            return;
227
+        }
228
+
229
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
230
+        $recipient = wpinv_get_admin_email();
231
+
232
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
233
+
234
+    }
235
+
236
+    /**
237
+     * Sends a cancelled invoice notification.
238
+     *
239
+     * @param WPInv_Invoice $invoice
240
+     */
241
+    public function cancelled_invoice( $invoice ) {
242 242
 
243
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
244
-		$recipient = wpinv_get_admin_email();
243
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
244
+        $recipient = wpinv_get_admin_email();
245 245
 
246
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
246
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
247 247
 
248
-	}
248
+    }
249 249
 
250
-	/**
251
-	 * Sends a failed invoice notification.
252
-	 *
253
-	 * @param WPInv_Invoice $invoice
254
-	 */
255
-	public function failed_invoice( $invoice ) {
250
+    /**
251
+     * Sends a failed invoice notification.
252
+     *
253
+     * @param WPInv_Invoice $invoice
254
+     */
255
+    public function failed_invoice( $invoice ) {
256 256
 
257
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
258
-		$recipient = wpinv_get_admin_email();
257
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
258
+        $recipient = wpinv_get_admin_email();
259 259
 
260
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
260
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
261 261
 
262
-	}
262
+    }
263 263
 
264
-	/**
265
-	 * Sends a notification whenever an invoice is put on hold.
266
-	 *
267
-	 * @param WPInv_Invoice $invoice
268
-	 */
269
-	public function onhold_invoice( $invoice ) {
264
+    /**
265
+     * Sends a notification whenever an invoice is put on hold.
266
+     *
267
+     * @param WPInv_Invoice $invoice
268
+     */
269
+    public function onhold_invoice( $invoice ) {
270 270
 
271
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
272
-		$recipient = $invoice->get_email();
271
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
272
+        $recipient = $invoice->get_email();
273 273
 
274
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
274
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
275 275
 
276
-	}
276
+    }
277 277
 
278
-	/**
279
-	 * Sends a notification whenever an invoice is marked as processing payment.
280
-	 *
281
-	 * @param WPInv_Invoice $invoice
282
-	 */
283
-	public function processing_invoice( $invoice ) {
278
+    /**
279
+     * Sends a notification whenever an invoice is marked as processing payment.
280
+     *
281
+     * @param WPInv_Invoice $invoice
282
+     */
283
+    public function processing_invoice( $invoice ) {
284 284
 
285
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
286
-		$recipient = $invoice->get_email();
285
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
286
+        $recipient = $invoice->get_email();
287 287
 
288
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
288
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
289 289
 
290
-	}
290
+    }
291 291
 
292
-	/**
293
-	 * Sends a notification whenever an invoice is paid.
294
-	 *
295
-	 * @param WPInv_Invoice $invoice
296
-	 */
297
-	public function completed_invoice( $invoice ) {
292
+    /**
293
+     * Sends a notification whenever an invoice is paid.
294
+     *
295
+     * @param WPInv_Invoice $invoice
296
+     */
297
+    public function completed_invoice( $invoice ) {
298 298
 
299
-		// (Maybe) abort if it is a renewal invoice.
300
-		if ( $invoice->is_renewal() && ! wpinv_get_option( 'email_completed_invoice_renewal_active', false ) ) {
301
-			return;
302
-		}
299
+        // (Maybe) abort if it is a renewal invoice.
300
+        if ( $invoice->is_renewal() && ! wpinv_get_option( 'email_completed_invoice_renewal_active', false ) ) {
301
+            return;
302
+        }
303 303
 
304
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
305
-		$recipient = $invoice->get_email();
304
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
305
+        $recipient = $invoice->get_email();
306 306
 
307
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
307
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
308 308
 
309
-	}
309
+    }
310 310
 
311
-	/**
312
-	 * Sends a notification whenever an invoice is refunded.
313
-	 *
314
-	 * @param WPInv_Invoice $invoice
315
-	 */
316
-	public function refunded_invoice( $invoice ) {
311
+    /**
312
+     * Sends a notification whenever an invoice is refunded.
313
+     *
314
+     * @param WPInv_Invoice $invoice
315
+     */
316
+    public function refunded_invoice( $invoice ) {
317 317
 
318
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
319
-		$recipient = $invoice->get_email();
318
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
319
+        $recipient = $invoice->get_email();
320 320
 
321
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
321
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
322 322
 
323
-	}
323
+    }
324 324
 
325
-	/**
326
-	 * Notifies a user about new invoices
327
-	 *
328
-	 * @param WPInv_Invoice $invoice
329
-	 */
330
-	public function user_invoice( $invoice ) {
325
+    /**
326
+     * Notifies a user about new invoices
327
+     *
328
+     * @param WPInv_Invoice $invoice
329
+     */
330
+    public function user_invoice( $invoice ) {
331 331
 
332
-		// Only send this email for invoices created via the admin page.
333
-		if ( ! $invoice->is_type( 'invoice' ) || $this->is_payment_form_invoice( $invoice->get_id() ) ) {
334
-			return;
335
-		}
332
+        // Only send this email for invoices created via the admin page.
333
+        if ( ! $invoice->is_type( 'invoice' ) || $this->is_payment_form_invoice( $invoice->get_id() ) ) {
334
+            return;
335
+        }
336 336
 
337
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
338
-		$recipient = $invoice->get_email();
337
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
338
+        $recipient = $invoice->get_email();
339 339
 
340
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
340
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
341 341
 
342
-	}
342
+    }
343 343
 
344
-	/**
345
-	 * Checks if an invoice is a payment form invoice.
346
-	 *
347
-	 * @param int $invoice
348
-	 * @return bool
349
-	 */
350
-	public function is_payment_form_invoice( $invoice ) {
351
-		return empty( $_GET['getpaid-admin-action'] ) && ( 'payment_form' == get_post_meta( $invoice, 'wpinv_created_via', true ) || 'geodirectory' == get_post_meta( $invoice, 'wpinv_created_via', true ) );
352
-	}
344
+    /**
345
+     * Checks if an invoice is a payment form invoice.
346
+     *
347
+     * @param int $invoice
348
+     * @return bool
349
+     */
350
+    public function is_payment_form_invoice( $invoice ) {
351
+        return empty( $_GET['getpaid-admin-action'] ) && ( 'payment_form' == get_post_meta( $invoice, 'wpinv_created_via', true ) || 'geodirectory' == get_post_meta( $invoice, 'wpinv_created_via', true ) );
352
+    }
353 353
 
354
-	/**
355
-	 * Notifies admin about new invoice notes
356
-	 *
357
-	 * @param WPInv_Invoice $invoice
358
-	 * @param string $note
359
-	 */
360
-	public function user_note( $invoice, $note ) {
354
+    /**
355
+     * Notifies admin about new invoice notes
356
+     *
357
+     * @param WPInv_Invoice $invoice
358
+     * @param string $note
359
+     */
360
+    public function user_note( $invoice, $note ) {
361 361
 
362
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
363
-		$recipient = $invoice->get_email();
364
-
365
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient, array( 'customer_note' => $note ) );
366
-
367
-	}
362
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
363
+        $recipient = $invoice->get_email();
364
+
365
+        return $this->send_email( $invoice, $email, __FUNCTION__, $recipient, array( 'customer_note' => $note ) );
366
+
367
+    }
368 368
 
369
-	/**
370
-	 * (Force) Sends overdue notices.
371
-	 *
372
-	 * @param WPInv_Invoice $invoice
373
-	 */
374
-	public function force_send_overdue_notice( $invoice ) {
375
-		$email = new GetPaid_Notification_Email( 'overdue', $invoice );
376
-		return $this->send_email( $invoice, $email, 'overdue', $invoice->get_email() );
377
-	}
378
-
379
-	/**
380
-	 * Sends overdue notices.
381
-	 *
382
-	 * @TODO: Create an invoices query class.
383
-	 */
384
-	public function overdue() {
385
-		global $wpdb;
386
-
387
-		$email = new GetPaid_Notification_Email( __FUNCTION__ );
388
-
389
-		// Fetch reminder days.
390
-		$reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
391
-
392
-		// Abort if non is set.
393
-		if ( empty( $reminder_days ) ) {
394
-			return;
395
-		}
396
-
397
-		// Retrieve date query.
398
-		$date_query = $this->get_date_query( $reminder_days );
399
-
400
-		// Invoices table.
401
-		$table = $wpdb->prefix . 'getpaid_invoices';
402
-
403
-		// Fetch invoices.
404
-		$invoices  = $wpdb->get_col(
405
-			"SELECT posts.ID FROM $wpdb->posts as posts
369
+    /**
370
+     * (Force) Sends overdue notices.
371
+     *
372
+     * @param WPInv_Invoice $invoice
373
+     */
374
+    public function force_send_overdue_notice( $invoice ) {
375
+        $email = new GetPaid_Notification_Email( 'overdue', $invoice );
376
+        return $this->send_email( $invoice, $email, 'overdue', $invoice->get_email() );
377
+    }
378
+
379
+    /**
380
+     * Sends overdue notices.
381
+     *
382
+     * @TODO: Create an invoices query class.
383
+     */
384
+    public function overdue() {
385
+        global $wpdb;
386
+
387
+        $email = new GetPaid_Notification_Email( __FUNCTION__ );
388
+
389
+        // Fetch reminder days.
390
+        $reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
391
+
392
+        // Abort if non is set.
393
+        if ( empty( $reminder_days ) ) {
394
+            return;
395
+        }
396
+
397
+        // Retrieve date query.
398
+        $date_query = $this->get_date_query( $reminder_days );
399
+
400
+        // Invoices table.
401
+        $table = $wpdb->prefix . 'getpaid_invoices';
402
+
403
+        // Fetch invoices.
404
+        $invoices  = $wpdb->get_col(
405
+            "SELECT posts.ID FROM $wpdb->posts as posts
406 406
 			LEFT JOIN $table as invoices ON invoices.post_id = posts.ID
407 407
 			WHERE posts.post_type = 'wpi_invoice' AND posts.post_status = 'wpi-pending' $date_query");
408 408
 
409
-		foreach ( $invoices as $invoice ) {
409
+        foreach ( $invoices as $invoice ) {
410 410
 
411
-			// Only send this email for invoices created via the admin page.
412
-			if ( ! $this->is_payment_form_invoice( $invoice ) ) {
413
-				$invoice       = new WPInv_Invoice( $invoice );
414
-				$email->object = $invoice;
411
+            // Only send this email for invoices created via the admin page.
412
+            if ( ! $this->is_payment_form_invoice( $invoice ) ) {
413
+                $invoice       = new WPInv_Invoice( $invoice );
414
+                $email->object = $invoice;
415 415
 
416
-				if ( $invoice->needs_payment() ) {
417
-					$this->send_email( $invoice, $email, __FUNCTION__, $invoice->get_email() );
418
-				}
416
+                if ( $invoice->needs_payment() ) {
417
+                    $this->send_email( $invoice, $email, __FUNCTION__, $invoice->get_email() );
418
+                }
419 419
 
420
-			}
420
+            }
421 421
 
422
-		}
422
+        }
423 423
 
424
-	}
424
+    }
425 425
 
426
-	/**
427
-	 * Calculates the date query for an invoices query
428
-	 *
429
-	 * @param array $reminder_days
430
-	 * @return string
431
-	 */
432
-	public function get_date_query( $reminder_days ) {
426
+    /**
427
+     * Calculates the date query for an invoices query
428
+     *
429
+     * @param array $reminder_days
430
+     * @return string
431
+     */
432
+    public function get_date_query( $reminder_days ) {
433 433
 
434
-		$date_query = array(
435
-			'relation'  => 'OR'
436
-		);
434
+        $date_query = array(
435
+            'relation'  => 'OR'
436
+        );
437 437
 
438
-		foreach ( $reminder_days as $days ) {
439
-			$date = date_parse( date( 'Y-m-d', strtotime( "-$days days", current_time( 'timestamp' ) ) ) );
438
+        foreach ( $reminder_days as $days ) {
439
+            $date = date_parse( date( 'Y-m-d', strtotime( "-$days days", current_time( 'timestamp' ) ) ) );
440 440
 
441
-			$date_query[] = array(
442
-				'year'  => $date['year'],
443
-				'month' => $date['month'],
444
-				'day'   => $date['day'],
445
-			);
441
+            $date_query[] = array(
442
+                'year'  => $date['year'],
443
+                'month' => $date['month'],
444
+                'day'   => $date['day'],
445
+            );
446 446
 
447
-		}
447
+        }
448 448
 
449
-		$date_query = new WP_Date_Query( $date_query, 'invoices.due_date' );
449
+        $date_query = new WP_Date_Query( $date_query, 'invoices.due_date' );
450 450
 
451
-		return $date_query->get_sql();
451
+        return $date_query->get_sql();
452 452
 
453
-	}
453
+    }
454 454
 
455 455
 }
Please login to merge, or discard this patch.
Spacing   +105 added lines, -105 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
  * This class handles invoice notificaiton emails.
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
 		$this->invoice_actions = apply_filters(
29 29
 			'getpaid_notification_email_invoice_triggers',
30 30
 			array(
31
-				'getpaid_new_invoice'                   => array( 'new_invoice', 'user_invoice' ),
31
+				'getpaid_new_invoice'                   => array('new_invoice', 'user_invoice'),
32 32
 				'getpaid_invoice_status_wpi-cancelled'  => 'cancelled_invoice',
33 33
 				'getpaid_invoice_status_wpi-failed'     => 'failed_invoice',
34 34
 				'getpaid_invoice_status_wpi-onhold'     => 'onhold_invoice',
@@ -50,11 +50,11 @@  discard block
 block discarded – undo
50 50
 	 */
51 51
 	public function init_hooks() {
52 52
 
53
-		add_filter( 'getpaid_get_email_merge_tags', array( $this, 'invoice_merge_tags' ), 10, 2 );
54
-		add_filter( 'getpaid_invoice_email_recipients', array( $this, 'filter_email_recipients' ), 10, 2 );
53
+		add_filter('getpaid_get_email_merge_tags', array($this, 'invoice_merge_tags'), 10, 2);
54
+		add_filter('getpaid_invoice_email_recipients', array($this, 'filter_email_recipients'), 10, 2);
55 55
 
56
-		foreach ( $this->invoice_actions as $hook => $email_type ) {
57
-			$this->init_email_type_hook( $hook, $email_type );
56
+		foreach ($this->invoice_actions as $hook => $email_type) {
57
+			$this->init_email_type_hook($hook, $email_type);
58 58
 		}
59 59
 	}
60 60
 
@@ -64,25 +64,25 @@  discard block
 block discarded – undo
64 64
 	 * @param string $hook
65 65
 	 * @param string|array $email_type
66 66
 	 */
67
-	public function init_email_type_hook( $hook, $email_type ) {
67
+	public function init_email_type_hook($hook, $email_type) {
68 68
 
69
-		$email_type = wpinv_parse_list( $email_type );
69
+		$email_type = wpinv_parse_list($email_type);
70 70
 
71
-		foreach ( $email_type as $type ) {
71
+		foreach ($email_type as $type) {
72 72
 
73
-			$email = new GetPaid_Notification_Email( $type );
73
+			$email = new GetPaid_Notification_Email($type);
74 74
 
75 75
 			// Abort if it is not active.
76
-			if ( ! $email->is_active() ) {
76
+			if (!$email->is_active()) {
77 77
 				continue;
78 78
 			}
79 79
 
80
-			if ( method_exists( $this, $type ) ) {
81
-				add_action( $hook, array( $this, $type ), 100, 2 );
80
+			if (method_exists($this, $type)) {
81
+				add_action($hook, array($this, $type), 100, 2);
82 82
 				continue;
83 83
 			}
84 84
 
85
-			do_action( 'getpaid_invoice_init_email_type_hook', $type, $hook );
85
+			do_action('getpaid_invoice_init_email_type_hook', $type, $hook);
86 86
 		}
87 87
 
88 88
 	}
@@ -93,19 +93,19 @@  discard block
 block discarded – undo
93 93
 	 * @param array $merge_tags
94 94
 	 * @param mixed|WPInv_Invoice|WPInv_Subscription $object
95 95
 	 */
96
-	public function invoice_merge_tags( $merge_tags, $object ) {
96
+	public function invoice_merge_tags($merge_tags, $object) {
97 97
 
98
-		if ( is_a( $object, 'WPInv_Invoice' ) ) {
98
+		if (is_a($object, 'WPInv_Invoice')) {
99 99
 			return array_merge(
100 100
 				$merge_tags,
101
-				$this->get_invoice_merge_tags( $object )
101
+				$this->get_invoice_merge_tags($object)
102 102
 			);
103 103
 		}
104 104
 
105
-		if ( is_a( $object, 'WPInv_Subscription' ) ) {
105
+		if (is_a($object, 'WPInv_Subscription')) {
106 106
 			return array_merge(
107 107
 				$merge_tags,
108
-				$this->get_invoice_merge_tags( $object->get_parent_payment() )
108
+				$this->get_invoice_merge_tags($object->get_parent_payment())
109 109
 			);
110 110
 		}
111 111
 
@@ -119,35 +119,35 @@  discard block
 block discarded – undo
119 119
 	 * @param WPInv_Invoice $invoice
120 120
 	 * @return array
121 121
 	 */
122
-	public function get_invoice_merge_tags( $invoice ) {
122
+	public function get_invoice_merge_tags($invoice) {
123 123
 
124 124
 		// Abort if it does not exist.
125
-		if ( ! $invoice->get_id() ) {
125
+		if (!$invoice->get_id()) {
126 126
 			return array();
127 127
 		}
128 128
 
129 129
 		$merge_tags = array(
130
-			'{name}'                => sanitize_text_field( $invoice->get_user_full_name() ),
131
-			'{full_name}'           => sanitize_text_field( $invoice->get_user_full_name() ),
132
-			'{first_name}'          => sanitize_text_field( $invoice->get_first_name() ),
133
-			'{last_name}'           => sanitize_text_field( $invoice->get_last_name() ),
134
-			'{email}'               => sanitize_email( $invoice->get_email() ),
135
-			'{invoice_number}'      => sanitize_text_field( $invoice->get_number() ),
136
-			'{invoice_currency}'    => sanitize_text_field( $invoice->get_currency() ),
137
-			'{invoice_total}'       => sanitize_text_field( wpinv_price( $invoice->get_total(), $invoice->get_currency() ) ),
138
-			'{invoice_link}'        => esc_url( $invoice->get_view_url() ),
139
-			'{invoice_pay_link}'    => esc_url( $invoice->get_checkout_payment_url() ),
140
-			'{invoice_receipt_link}'=> esc_url( $invoice->get_receipt_url() ),
141
-			'{invoice_date}'        => getpaid_format_date_value( $invoice->get_date_created() ),
142
-			'{invoice_due_date}'    => getpaid_format_date_value( $invoice->get_due_date(), __( 'on receipt', 'invoicing' ) ),
143
-			'{invoice_quote}'       => sanitize_text_field( strtolower( $invoice->get_label() ) ),
144
-			'{invoice_label}'       => sanitize_text_field( ucfirst( $invoice->get_label() ) ),
145
-			'{invoice_description}' => wp_kses_post( $invoice->get_description() ),
146
-			'{subscription_name}'   => wp_kses_post( $invoice->get_subscription_name() ),
147
-			'{is_was}'              => strtotime( $invoice->get_due_date() ) < current_time( 'timestamp' ) ? __( 'was', 'invoicing' ) : __( 'is', 'invoicing' ),
130
+			'{name}'                => sanitize_text_field($invoice->get_user_full_name()),
131
+			'{full_name}'           => sanitize_text_field($invoice->get_user_full_name()),
132
+			'{first_name}'          => sanitize_text_field($invoice->get_first_name()),
133
+			'{last_name}'           => sanitize_text_field($invoice->get_last_name()),
134
+			'{email}'               => sanitize_email($invoice->get_email()),
135
+			'{invoice_number}'      => sanitize_text_field($invoice->get_number()),
136
+			'{invoice_currency}'    => sanitize_text_field($invoice->get_currency()),
137
+			'{invoice_total}'       => sanitize_text_field(wpinv_price($invoice->get_total(), $invoice->get_currency())),
138
+			'{invoice_link}'        => esc_url($invoice->get_view_url()),
139
+			'{invoice_pay_link}'    => esc_url($invoice->get_checkout_payment_url()),
140
+			'{invoice_receipt_link}'=> esc_url($invoice->get_receipt_url()),
141
+			'{invoice_date}'        => getpaid_format_date_value($invoice->get_date_created()),
142
+			'{invoice_due_date}'    => getpaid_format_date_value($invoice->get_due_date(), __('on receipt', 'invoicing')),
143
+			'{invoice_quote}'       => sanitize_text_field(strtolower($invoice->get_label())),
144
+			'{invoice_label}'       => sanitize_text_field(ucfirst($invoice->get_label())),
145
+			'{invoice_description}' => wp_kses_post($invoice->get_description()),
146
+			'{subscription_name}'   => wp_kses_post($invoice->get_subscription_name()),
147
+			'{is_was}'              => strtotime($invoice->get_due_date()) < current_time('timestamp') ? __('was', 'invoicing') : __('is', 'invoicing'),
148 148
 		);
149 149
 
150
-		return apply_filters( 'getpaid_invoice_email_merge_tags', $merge_tags, $invoice );
150
+		return apply_filters('getpaid_invoice_email_merge_tags', $merge_tags, $invoice);
151 151
 	}
152 152
 
153 153
 	/**
@@ -159,35 +159,35 @@  discard block
 block discarded – undo
159 159
 	 * @param string|array $recipients
160 160
 	 * @param array $extra_args Extra template args.
161 161
 	 */
162
-	public function send_email( $invoice, $email, $type, $recipients, $extra_args = array() ) {
162
+	public function send_email($invoice, $email, $type, $recipients, $extra_args = array()) {
163 163
 
164
-		do_action( 'getpaid_before_send_invoice_notification', $type, $invoice, $email );
164
+		do_action('getpaid_before_send_invoice_notification', $type, $invoice, $email);
165 165
 
166 166
 		$mailer     = new GetPaid_Notification_Email_Sender();
167 167
 		$merge_tags = $email->get_merge_tags();
168 168
 
169 169
 		$result = $mailer->send(
170
-			apply_filters( 'getpaid_invoice_email_recipients', wpinv_parse_list( $recipients ), $email ),
171
-			$email->add_merge_tags( $email->get_subject(), $merge_tags ),
172
-			$email->get_content( $merge_tags, $extra_args ),
170
+			apply_filters('getpaid_invoice_email_recipients', wpinv_parse_list($recipients), $email),
171
+			$email->add_merge_tags($email->get_subject(), $merge_tags),
172
+			$email->get_content($merge_tags, $extra_args),
173 173
 			$email->get_attachments()
174 174
 		);
175 175
 
176 176
 		// Maybe send a copy to the admin.
177
-		if ( $email->include_admin_bcc() ) {
177
+		if ($email->include_admin_bcc()) {
178 178
 			$mailer->send(
179 179
 				wpinv_get_admin_email(),
180
-				$email->add_merge_tags( $email->get_subject() . __( ' - ADMIN BCC COPY', 'invoicing' ), $merge_tags ),
181
-				$email->get_content( $merge_tags ),
180
+				$email->add_merge_tags($email->get_subject() . __(' - ADMIN BCC COPY', 'invoicing'), $merge_tags),
181
+				$email->get_content($merge_tags),
182 182
 				$email->get_attachments()
183 183
 			);
184 184
 		}
185 185
 
186
-		if ( ! $result ) {
187
-			$invoice->add_note( sprintf( __( 'Failed sending %s notification email.', 'invoicing' ), sanitize_key( $type ) ), false, false, true );
186
+		if (!$result) {
187
+			$invoice->add_note(sprintf(__('Failed sending %s notification email.', 'invoicing'), sanitize_key($type)), false, false, true);
188 188
 		}
189 189
 
190
-		do_action( 'getpaid_after_send_invoice_notification', $type, $invoice, $email );
190
+		do_action('getpaid_after_send_invoice_notification', $type, $invoice, $email);
191 191
 
192 192
 		return $result;
193 193
 	}
@@ -198,14 +198,14 @@  discard block
 block discarded – undo
198 198
 	 * @param array $recipients
199 199
 	 * @param GetPaid_Notification_Email $email
200 200
 	 */
201
-	public function filter_email_recipients( $recipients, $email ) {
201
+	public function filter_email_recipients($recipients, $email) {
202 202
 
203
-		if ( ! $email->is_admin_email() ) {
203
+		if (!$email->is_admin_email()) {
204 204
 			$cc = $email->object->get_email_cc();
205 205
 
206
-			if ( ! empty( $cc ) ) {
207
-				$cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
208
-				$recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
206
+			if (!empty($cc)) {
207
+				$cc = array_map('sanitize_email', wpinv_parse_list($cc));
208
+				$recipients = array_filter(array_unique(array_merge($recipients, $cc)));
209 209
 			}
210 210
 
211 211
 		}
@@ -219,17 +219,17 @@  discard block
 block discarded – undo
219 219
 	 *
220 220
 	 * @param WPInv_Invoice $invoice
221 221
 	 */
222
-	public function new_invoice( $invoice ) {
222
+	public function new_invoice($invoice) {
223 223
 
224 224
 		// Only send this email for invoices created via the admin page.
225
-		if ( ! $invoice->is_type( 'invoice' ) || $this->is_payment_form_invoice( $invoice->get_id() ) ) {
225
+		if (!$invoice->is_type('invoice') || $this->is_payment_form_invoice($invoice->get_id())) {
226 226
 			return;
227 227
 		}
228 228
 
229
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
229
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
230 230
 		$recipient = wpinv_get_admin_email();
231 231
 
232
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
232
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
233 233
 
234 234
 	}
235 235
 
@@ -238,12 +238,12 @@  discard block
 block discarded – undo
238 238
 	 *
239 239
 	 * @param WPInv_Invoice $invoice
240 240
 	 */
241
-	public function cancelled_invoice( $invoice ) {
241
+	public function cancelled_invoice($invoice) {
242 242
 
243
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
243
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
244 244
 		$recipient = wpinv_get_admin_email();
245 245
 
246
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
246
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
247 247
 
248 248
 	}
249 249
 
@@ -252,12 +252,12 @@  discard block
 block discarded – undo
252 252
 	 *
253 253
 	 * @param WPInv_Invoice $invoice
254 254
 	 */
255
-	public function failed_invoice( $invoice ) {
255
+	public function failed_invoice($invoice) {
256 256
 
257
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
257
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
258 258
 		$recipient = wpinv_get_admin_email();
259 259
 
260
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
260
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
261 261
 
262 262
 	}
263 263
 
@@ -266,12 +266,12 @@  discard block
 block discarded – undo
266 266
 	 *
267 267
 	 * @param WPInv_Invoice $invoice
268 268
 	 */
269
-	public function onhold_invoice( $invoice ) {
269
+	public function onhold_invoice($invoice) {
270 270
 
271
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
271
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
272 272
 		$recipient = $invoice->get_email();
273 273
 
274
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
274
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
275 275
 
276 276
 	}
277 277
 
@@ -280,12 +280,12 @@  discard block
 block discarded – undo
280 280
 	 *
281 281
 	 * @param WPInv_Invoice $invoice
282 282
 	 */
283
-	public function processing_invoice( $invoice ) {
283
+	public function processing_invoice($invoice) {
284 284
 
285
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
285
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
286 286
 		$recipient = $invoice->get_email();
287 287
 
288
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
288
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
289 289
 
290 290
 	}
291 291
 
@@ -294,17 +294,17 @@  discard block
 block discarded – undo
294 294
 	 *
295 295
 	 * @param WPInv_Invoice $invoice
296 296
 	 */
297
-	public function completed_invoice( $invoice ) {
297
+	public function completed_invoice($invoice) {
298 298
 
299 299
 		// (Maybe) abort if it is a renewal invoice.
300
-		if ( $invoice->is_renewal() && ! wpinv_get_option( 'email_completed_invoice_renewal_active', false ) ) {
300
+		if ($invoice->is_renewal() && !wpinv_get_option('email_completed_invoice_renewal_active', false)) {
301 301
 			return;
302 302
 		}
303 303
 
304
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
304
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
305 305
 		$recipient = $invoice->get_email();
306 306
 
307
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
307
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
308 308
 
309 309
 	}
310 310
 
@@ -313,12 +313,12 @@  discard block
 block discarded – undo
313 313
 	 *
314 314
 	 * @param WPInv_Invoice $invoice
315 315
 	 */
316
-	public function refunded_invoice( $invoice ) {
316
+	public function refunded_invoice($invoice) {
317 317
 
318
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
318
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
319 319
 		$recipient = $invoice->get_email();
320 320
 
321
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
321
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
322 322
 
323 323
 	}
324 324
 
@@ -327,17 +327,17 @@  discard block
 block discarded – undo
327 327
 	 *
328 328
 	 * @param WPInv_Invoice $invoice
329 329
 	 */
330
-	public function user_invoice( $invoice ) {
330
+	public function user_invoice($invoice) {
331 331
 
332 332
 		// Only send this email for invoices created via the admin page.
333
-		if ( ! $invoice->is_type( 'invoice' ) || $this->is_payment_form_invoice( $invoice->get_id() ) ) {
333
+		if (!$invoice->is_type('invoice') || $this->is_payment_form_invoice($invoice->get_id())) {
334 334
 			return;
335 335
 		}
336 336
 
337
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
337
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
338 338
 		$recipient = $invoice->get_email();
339 339
 
340
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient );
340
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient);
341 341
 
342 342
 	}
343 343
 
@@ -347,8 +347,8 @@  discard block
 block discarded – undo
347 347
 	 * @param int $invoice
348 348
 	 * @return bool
349 349
 	 */
350
-	public function is_payment_form_invoice( $invoice ) {
351
-		return empty( $_GET['getpaid-admin-action'] ) && ( 'payment_form' == get_post_meta( $invoice, 'wpinv_created_via', true ) || 'geodirectory' == get_post_meta( $invoice, 'wpinv_created_via', true ) );
350
+	public function is_payment_form_invoice($invoice) {
351
+		return empty($_GET['getpaid-admin-action']) && ('payment_form' == get_post_meta($invoice, 'wpinv_created_via', true) || 'geodirectory' == get_post_meta($invoice, 'wpinv_created_via', true));
352 352
 	}
353 353
 
354 354
 	/**
@@ -357,12 +357,12 @@  discard block
 block discarded – undo
357 357
 	 * @param WPInv_Invoice $invoice
358 358
 	 * @param string $note
359 359
 	 */
360
-	public function user_note( $invoice, $note ) {
360
+	public function user_note($invoice, $note) {
361 361
 
362
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $invoice );
362
+		$email     = new GetPaid_Notification_Email(__FUNCTION__, $invoice);
363 363
 		$recipient = $invoice->get_email();
364 364
 
365
-		return $this->send_email( $invoice, $email, __FUNCTION__, $recipient, array( 'customer_note' => $note ) );
365
+		return $this->send_email($invoice, $email, __FUNCTION__, $recipient, array('customer_note' => $note));
366 366
 
367 367
 	}
368 368
 
@@ -371,9 +371,9 @@  discard block
 block discarded – undo
371 371
 	 *
372 372
 	 * @param WPInv_Invoice $invoice
373 373
 	 */
374
-	public function force_send_overdue_notice( $invoice ) {
375
-		$email = new GetPaid_Notification_Email( 'overdue', $invoice );
376
-		return $this->send_email( $invoice, $email, 'overdue', $invoice->get_email() );
374
+	public function force_send_overdue_notice($invoice) {
375
+		$email = new GetPaid_Notification_Email('overdue', $invoice);
376
+		return $this->send_email($invoice, $email, 'overdue', $invoice->get_email());
377 377
 	}
378 378
 
379 379
 	/**
@@ -384,37 +384,37 @@  discard block
 block discarded – undo
384 384
 	public function overdue() {
385 385
 		global $wpdb;
386 386
 
387
-		$email = new GetPaid_Notification_Email( __FUNCTION__ );
387
+		$email = new GetPaid_Notification_Email(__FUNCTION__);
388 388
 
389 389
 		// Fetch reminder days.
390
-		$reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
390
+		$reminder_days = array_unique(wp_parse_id_list($email->get_option('days')));
391 391
 
392 392
 		// Abort if non is set.
393
-		if ( empty( $reminder_days ) ) {
393
+		if (empty($reminder_days)) {
394 394
 			return;
395 395
 		}
396 396
 
397 397
 		// Retrieve date query.
398
-		$date_query = $this->get_date_query( $reminder_days );
398
+		$date_query = $this->get_date_query($reminder_days);
399 399
 
400 400
 		// Invoices table.
401 401
 		$table = $wpdb->prefix . 'getpaid_invoices';
402 402
 
403 403
 		// Fetch invoices.
404
-		$invoices  = $wpdb->get_col(
404
+		$invoices = $wpdb->get_col(
405 405
 			"SELECT posts.ID FROM $wpdb->posts as posts
406 406
 			LEFT JOIN $table as invoices ON invoices.post_id = posts.ID
407 407
 			WHERE posts.post_type = 'wpi_invoice' AND posts.post_status = 'wpi-pending' $date_query");
408 408
 
409
-		foreach ( $invoices as $invoice ) {
409
+		foreach ($invoices as $invoice) {
410 410
 
411 411
 			// Only send this email for invoices created via the admin page.
412
-			if ( ! $this->is_payment_form_invoice( $invoice ) ) {
413
-				$invoice       = new WPInv_Invoice( $invoice );
412
+			if (!$this->is_payment_form_invoice($invoice)) {
413
+				$invoice       = new WPInv_Invoice($invoice);
414 414
 				$email->object = $invoice;
415 415
 
416
-				if ( $invoice->needs_payment() ) {
417
-					$this->send_email( $invoice, $email, __FUNCTION__, $invoice->get_email() );
416
+				if ($invoice->needs_payment()) {
417
+					$this->send_email($invoice, $email, __FUNCTION__, $invoice->get_email());
418 418
 				}
419 419
 
420 420
 			}
@@ -429,14 +429,14 @@  discard block
 block discarded – undo
429 429
 	 * @param array $reminder_days
430 430
 	 * @return string
431 431
 	 */
432
-	public function get_date_query( $reminder_days ) {
432
+	public function get_date_query($reminder_days) {
433 433
 
434 434
 		$date_query = array(
435 435
 			'relation'  => 'OR'
436 436
 		);
437 437
 
438
-		foreach ( $reminder_days as $days ) {
439
-			$date = date_parse( date( 'Y-m-d', strtotime( "-$days days", current_time( 'timestamp' ) ) ) );
438
+		foreach ($reminder_days as $days) {
439
+			$date = date_parse(date('Y-m-d', strtotime("-$days days", current_time('timestamp'))));
440 440
 
441 441
 			$date_query[] = array(
442 442
 				'year'  => $date['year'],
@@ -446,7 +446,7 @@  discard block
 block discarded – undo
446 446
 
447 447
 		}
448 448
 
449
-		$date_query = new WP_Date_Query( $date_query, 'invoices.due_date' );
449
+		$date_query = new WP_Date_Query($date_query, 'invoices.due_date');
450 450
 
451 451
 		return $date_query->get_sql();
452 452
 
Please login to merge, or discard this patch.
includes/admin/register-settings.php 2 patches
Indentation   +308 added lines, -308 removed lines patch added patch discarded remove patch
@@ -196,11 +196,11 @@  discard block
 block discarded – undo
196 196
     $cb      = "wpinv_{$option['type']}_callback";
197 197
     $section = "wpinv_settings_{$tab}_$section";
198 198
 
199
-	if ( isset( $option['desc'] ) && ! empty( $option['help-tip'] ) ) {
200
-		$tip   = wpinv_clean( $option['desc'] );
201
-		$name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
202
-		unset( $option['desc'] );
203
-	}
199
+    if ( isset( $option['desc'] ) && ! empty( $option['help-tip'] ) ) {
200
+        $tip   = wpinv_clean( $option['desc'] );
201
+        $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
202
+        unset( $option['desc'] );
203
+    }
204 204
 
205 205
     // Loop through all tabs.
206 206
     add_settings_field(
@@ -227,8 +227,8 @@  discard block
 block discarded – undo
227 227
             'faux'        => isset( $option['faux'] )        ? $option['faux']        : false,
228 228
             'onchange'    => isset( $option['onchange'] )   ? $option['onchange']     : '',
229 229
             'custom'      => isset( $option['custom'] )     ? $option['custom']       : '',
230
-			'class'       => isset( $option['class'] )     ? $option['class']         : '',
231
-			'style'       => isset( $option['style'] )     ? $option['style']         : '',
230
+            'class'       => isset( $option['class'] )     ? $option['class']         : '',
231
+            'style'       => isset( $option['style'] )     ? $option['style']         : '',
232 232
             'cols'        => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
233 233
             'rows'        => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
234 234
         )
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
  * @return array
243 243
  */
244 244
 function wpinv_get_registered_settings() {
245
-	return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
245
+    return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
246 246
 }
247 247
 
248 248
 /**
@@ -261,8 +261,8 @@  discard block
 block discarded – undo
261 261
  */
262 262
 function wpinv_settings_sanitize( $input = array() ) {
263 263
 
264
-	$wpinv_options = wpinv_get_options();
265
-	$raw_referrer  = wp_get_raw_referer();
264
+    $wpinv_options = wpinv_get_options();
265
+    $raw_referrer  = wp_get_raw_referer();
266 266
 
267 267
     if ( empty( $raw_referrer ) ) {
268 268
         return $input;
@@ -270,9 +270,9 @@  discard block
 block discarded – undo
270 270
 
271 271
     wp_parse_str( $raw_referrer, $referrer );
272 272
 
273
-	if ( empty( $referrer['tab'] ) ) {
273
+    if ( empty( $referrer['tab'] ) ) {
274 274
         return $input;
275
-	}
275
+    }
276 276
 
277 277
     $settings = wpinv_get_registered_settings();
278 278
     $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
@@ -294,10 +294,10 @@  discard block
 block discarded – undo
294 294
         }
295 295
 
296 296
         // General filter
297
-		$input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
297
+        $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
298 298
 
299
-		// Key specific filter.
300
-		$input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
299
+        // Key specific filter.
300
+        $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
301 301
     }
302 302
 
303 303
     // Loop through the whitelist and unset any that are empty for the tab being saved
@@ -353,14 +353,14 @@  discard block
 block discarded – undo
353 353
 
354 354
     foreach ( $new_rates as $rate ) {
355 355
 
356
-		$rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
357
-		$rate['name']    = sanitize_text_field( $rate['name'] );
358
-		$rate['state']   = sanitize_text_field( $rate['state'] );
359
-		$rate['country'] = sanitize_text_field( $rate['country'] );
360
-		$rate['global']  = empty( $rate['state'] );
361
-		$tax_rates[]     = $rate;
356
+        $rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
357
+        $rate['name']    = sanitize_text_field( $rate['name'] );
358
+        $rate['state']   = sanitize_text_field( $rate['state'] );
359
+        $rate['country'] = sanitize_text_field( $rate['country'] );
360
+        $rate['global']  = empty( $rate['state'] );
361
+        $tax_rates[]     = $rate;
362 362
 
363
-	}
363
+    }
364 364
 
365 365
     update_option( 'wpinv_tax_rates', $tax_rates );
366 366
 
@@ -378,11 +378,11 @@  discard block
 block discarded – undo
378 378
     $tabs['general']  = __( 'General', 'invoicing' );
379 379
     $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
380 380
     $tabs['taxes']    = __( 'Taxes', 'invoicing' );
381
-	$tabs['emails']   = __( 'Emails', 'invoicing' );
381
+    $tabs['emails']   = __( 'Emails', 'invoicing' );
382 382
 
383
-	if ( count( getpaid_get_integration_settings() ) > 0 ) {
384
-		$tabs['integrations'] = __( 'Integrations', 'invoicing' );
385
-	}
383
+    if ( count( getpaid_get_integration_settings() ) > 0 ) {
384
+        $tabs['integrations'] = __( 'Integrations', 'invoicing' );
385
+    }
386 386
 
387 387
     $tabs['privacy']  = __( 'Privacy', 'invoicing' );
388 388
     $tabs['misc']     = __( 'Misc', 'invoicing' );
@@ -420,14 +420,14 @@  discard block
 block discarded – undo
420 420
         ) ),
421 421
         'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array(
422 422
             'main'  => __( 'Tax Settings', 'invoicing' ),
423
-			'rates' => __( 'Tax Rates', 'invoicing' ),
424
-			'vat'   => __( 'EU VAT Settings', 'invoicing' )
423
+            'rates' => __( 'Tax Rates', 'invoicing' ),
424
+            'vat'   => __( 'EU VAT Settings', 'invoicing' )
425 425
         ) ),
426 426
         'emails' => apply_filters( 'wpinv_settings_sections_emails', array(
427 427
             'main' => __( 'Email Settings', 'invoicing' ),
428
-		) ),
428
+        ) ),
429 429
 
430
-		'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
430
+        'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
431 431
 
432 432
         'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array(
433 433
             'main' => __( 'Privacy policy', 'invoicing' ),
@@ -447,51 +447,51 @@  discard block
 block discarded – undo
447 447
 }
448 448
 
449 449
 function wpinv_get_pages( $with_slug = false, $default_label = NULL ) {
450
-	$pages_options = array();
450
+    $pages_options = array();
451 451
 
452
-	if( $default_label !== NULL && $default_label !== false ) {
453
-		$pages_options = array( '' => $default_label ); // Blank option
454
-	}
452
+    if( $default_label !== NULL && $default_label !== false ) {
453
+        $pages_options = array( '' => $default_label ); // Blank option
454
+    }
455 455
 
456
-	$pages = get_pages();
457
-	if ( $pages ) {
458
-		foreach ( $pages as $page ) {
459
-			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
456
+    $pages = get_pages();
457
+    if ( $pages ) {
458
+        foreach ( $pages as $page ) {
459
+            $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
460 460
             $pages_options[ $page->ID ] = $title;
461
-		}
462
-	}
461
+        }
462
+    }
463 463
 
464
-	return $pages_options;
464
+    return $pages_options;
465 465
 }
466 466
 
467 467
 function wpinv_header_callback( $args ) {
468
-	if ( !empty( $args['desc'] ) ) {
468
+    if ( !empty( $args['desc'] ) ) {
469 469
         echo $args['desc'];
470 470
     }
471 471
 }
472 472
 
473 473
 function wpinv_hidden_callback( $args ) {
474
-	global $wpinv_options;
475
-
476
-	if ( isset( $args['set_value'] ) ) {
477
-		$value = $args['set_value'];
478
-	} elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
479
-		$value = $wpinv_options[ $args['id'] ];
480
-	} else {
481
-		$value = isset( $args['std'] ) ? $args['std'] : '';
482
-	}
483
-
484
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
485
-		$args['readonly'] = true;
486
-		$value = isset( $args['std'] ) ? $args['std'] : '';
487
-		$name  = '';
488
-	} else {
489
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
490
-	}
491
-
492
-	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
474
+    global $wpinv_options;
475
+
476
+    if ( isset( $args['set_value'] ) ) {
477
+        $value = $args['set_value'];
478
+    } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
479
+        $value = $wpinv_options[ $args['id'] ];
480
+    } else {
481
+        $value = isset( $args['std'] ) ? $args['std'] : '';
482
+    }
483
+
484
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
485
+        $args['readonly'] = true;
486
+        $value = isset( $args['std'] ) ? $args['std'] : '';
487
+        $name  = '';
488
+    } else {
489
+        $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
490
+    }
491
+
492
+    $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
493 493
     
494
-	echo $html;
494
+    echo $html;
495 495
 }
496 496
 
497 497
 /**
@@ -499,12 +499,12 @@  discard block
 block discarded – undo
499 499
  */
500 500
 function wpinv_checkbox_callback( $args ) {
501 501
 
502
-	$std = isset( $args['std'] ) ? $args['std'] : '';
503
-	$std = wpinv_get_option( $args['id'], $std );
504
-	$id  = esc_attr( $args['id'] );
502
+    $std = isset( $args['std'] ) ? $args['std'] : '';
503
+    $std = wpinv_get_option( $args['id'], $std );
504
+    $id  = esc_attr( $args['id'] );
505 505
 
506
-	getpaid_hidden_field( "wpinv_settings[$id]", '0' );
507
-	?>
506
+    getpaid_hidden_field( "wpinv_settings[$id]", '0' );
507
+    ?>
508 508
 		<fieldset>
509 509
 			<label>
510 510
 				<input id="wpinv-settings-<?php echo $id; ?>" name="wpinv_settings[<?php echo $id; ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox">
@@ -516,77 +516,77 @@  discard block
 block discarded – undo
516 516
 
517 517
 function wpinv_multicheck_callback( $args ) {
518 518
 	
519
-	global $wpinv_options;
519
+    global $wpinv_options;
520 520
 
521
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
522
-	$class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
521
+    $sanitize_id = wpinv_sanitize_key( $args['id'] );
522
+    $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
523 523
 
524
-	if ( ! empty( $args['options'] ) ) {
524
+    if ( ! empty( $args['options'] ) ) {
525 525
 
526
-		$std     = isset( $args['std'] ) ? $args['std'] : array();
527
-		$value   = isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ] : $std;
526
+        $std     = isset( $args['std'] ) ? $args['std'] : array();
527
+        $value   = isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ] : $std;
528 528
 
529
-		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
529
+        echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
530 530
         foreach( $args['options'] as $key => $option ):
531
-			$sanitize_key = wpinv_sanitize_key( $key );
532
-			if ( in_array( $sanitize_key, $value ) ) { 
533
-				$enabled = $sanitize_key;
534
-			} else { 
535
-				$enabled = NULL; 
536
-			}
537
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
538
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
539
-		endforeach;
540
-		echo '</div>';
541
-		echo '<p class="description">' . $args['desc'] . '</p>';
542
-	}
531
+            $sanitize_key = wpinv_sanitize_key( $key );
532
+            if ( in_array( $sanitize_key, $value ) ) { 
533
+                $enabled = $sanitize_key;
534
+            } else { 
535
+                $enabled = NULL; 
536
+            }
537
+            echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
538
+            echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
539
+        endforeach;
540
+        echo '</div>';
541
+        echo '<p class="description">' . $args['desc'] . '</p>';
542
+    }
543 543
 }
544 544
 
545 545
 function wpinv_payment_icons_callback( $args ) {
546
-	global $wpinv_options;
546
+    global $wpinv_options;
547 547
     
548 548
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
549 549
 
550
-	if ( ! empty( $args['options'] ) ) {
551
-		foreach( $args['options'] as $key => $option ) {
550
+    if ( ! empty( $args['options'] ) ) {
551
+        foreach( $args['options'] as $key => $option ) {
552 552
             $sanitize_key = wpinv_sanitize_key( $key );
553 553
             
554
-			if( isset( $wpinv_options[$args['id']][$key] ) ) {
555
-				$enabled = $option;
556
-			} else {
557
-				$enabled = NULL;
558
-			}
559
-
560
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
561
-
562
-				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
563
-
564
-				if ( wpinv_string_is_image_url( $key ) ) {
565
-					echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
566
-				} else {
567
-					$card = strtolower( str_replace( ' ', '', $option ) );
568
-
569
-					if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
570
-						$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
571
-					} else {
572
-						$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
573
-						$content_dir = WP_CONTENT_DIR;
574
-
575
-						if ( function_exists( 'wp_normalize_path' ) ) {
576
-							// Replaces backslashes with forward slashes for Windows systems
577
-							$image = wp_normalize_path( $image );
578
-							$content_dir = wp_normalize_path( $content_dir );
579
-						}
580
-
581
-						$image = str_replace( $content_dir, content_url(), $image );
582
-					}
583
-
584
-					echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
585
-				}
586
-			echo $option . '</label>';
587
-		}
588
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
589
-	}
554
+            if( isset( $wpinv_options[$args['id']][$key] ) ) {
555
+                $enabled = $option;
556
+            } else {
557
+                $enabled = NULL;
558
+            }
559
+
560
+            echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
561
+
562
+                echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
563
+
564
+                if ( wpinv_string_is_image_url( $key ) ) {
565
+                    echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
566
+                } else {
567
+                    $card = strtolower( str_replace( ' ', '', $option ) );
568
+
569
+                    if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
570
+                        $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
571
+                    } else {
572
+                        $image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
573
+                        $content_dir = WP_CONTENT_DIR;
574
+
575
+                        if ( function_exists( 'wp_normalize_path' ) ) {
576
+                            // Replaces backslashes with forward slashes for Windows systems
577
+                            $image = wp_normalize_path( $image );
578
+                            $content_dir = wp_normalize_path( $content_dir );
579
+                        }
580
+
581
+                        $image = str_replace( $content_dir, content_url(), $image );
582
+                    }
583
+
584
+                    echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
585
+                }
586
+            echo $option . '</label>';
587
+        }
588
+        echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
589
+    }
590 590
 }
591 591
 
592 592
 /**
@@ -594,9 +594,9 @@  discard block
 block discarded – undo
594 594
  */
595 595
 function wpinv_radio_callback( $args ) {
596 596
 
597
-	$std = isset( $args['std'] ) ? $args['std'] : '';
598
-	$std = wpinv_get_option( $args['id'], $std );
599
-	?>
597
+    $std = isset( $args['std'] ) ? $args['std'] : '';
598
+    $std = wpinv_get_option( $args['id'], $std );
599
+    ?>
600 600
 		<fieldset>
601 601
 			<ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;">
602 602
 				<?php foreach( $args['options'] as $key => $option ) : ?>
@@ -610,7 +610,7 @@  discard block
 block discarded – undo
610 610
 			</ul>
611 611
 		</fieldset>
612 612
 	<?php
613
-	getpaid_settings_description_callback( $args );
613
+    getpaid_settings_description_callback( $args );
614 614
 }
615 615
 
616 616
 /**
@@ -618,10 +618,10 @@  discard block
 block discarded – undo
618 618
  */
619 619
 function getpaid_settings_description_callback( $args ) {
620 620
 
621
-	if ( ! empty( $args['desc'] ) ) {
622
-		$description = wp_kses_post( $args['desc'] );
623
-		echo "<p class='description'>$description</p>";
624
-	}
621
+    if ( ! empty( $args['desc'] ) ) {
622
+        $description = wp_kses_post( $args['desc'] );
623
+        echo "<p class='description'>$description</p>";
624
+    }
625 625
 
626 626
 }
627 627
 
@@ -630,7 +630,7 @@  discard block
 block discarded – undo
630 630
  */
631 631
 function wpinv_gateways_callback() {
632 632
 
633
-	?>
633
+    ?>
634 634
 		</td>
635 635
 	</tr>
636 636
 	<tr class="bsui">
@@ -641,24 +641,24 @@  discard block
 block discarded – undo
641 641
 }
642 642
 
643 643
 function wpinv_gateway_select_callback($args) {
644
-	global $wpinv_options;
644
+    global $wpinv_options;
645 645
     
646 646
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
647 647
     $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
648 648
 
649
-	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
649
+    echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
650 650
 
651
-	foreach ( $args['options'] as $key => $option ) :
652
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
651
+    foreach ( $args['options'] as $key => $option ) :
652
+        if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
653 653
             $selected = selected( $key, $args['selected'], false );
654 654
         } else {
655 655
             $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : '';
656 656
         }
657
-		echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
658
-	endforeach;
657
+        echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
658
+    endforeach;
659 659
 
660
-	echo '</select>';
661
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
660
+    echo '</select>';
661
+    echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
662 662
 }
663 663
 
664 664
 /**
@@ -669,29 +669,29 @@  discard block
 block discarded – undo
669 669
  */
670 670
 function wpinv_settings_attrs_helper( $args ) {
671 671
 
672
-	$value        = isset( $args['std'] ) ? $args['std'] : '';
673
-	$id           = esc_attr( $args['id'] );
674
-	$placeholder  = esc_attr( $args['placeholder'] );
672
+    $value        = isset( $args['std'] ) ? $args['std'] : '';
673
+    $id           = esc_attr( $args['id'] );
674
+    $placeholder  = esc_attr( $args['placeholder'] );
675 675
 
676
-	if ( ! empty( $args['faux'] ) ) {
677
-		$args['readonly'] = true;
678
-		$name             = '';
679
-	} else {
680
-		$value  = wpinv_get_option( $args['id'], $value );
681
-		$name   = "wpinv_settings[$id]";
682
-	}
676
+    if ( ! empty( $args['faux'] ) ) {
677
+        $args['readonly'] = true;
678
+        $name             = '';
679
+    } else {
680
+        $value  = wpinv_get_option( $args['id'], $value );
681
+        $name   = "wpinv_settings[$id]";
682
+    }
683 683
 
684
-	$value    = is_scalar( $value ) ? esc_attr( $value ) : '';
685
-	$class    = esc_attr( $args['class'] );
686
-	$style    = esc_attr( $args['style'] );
687
-	$readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"';
684
+    $value    = is_scalar( $value ) ? esc_attr( $value ) : '';
685
+    $class    = esc_attr( $args['class'] );
686
+    $style    = esc_attr( $args['style'] );
687
+    $readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"';
688 688
 
689
-	$onchange = '';
689
+    $onchange = '';
690 690
     if ( ! empty( $args['onchange'] ) ) {
691 691
         $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
692
-	}
692
+    }
693 693
 
694
-	return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly";
694
+    return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly";
695 695
 }
696 696
 
697 697
 /**
@@ -699,11 +699,11 @@  discard block
 block discarded – undo
699 699
  */
700 700
 function wpinv_text_callback( $args ) {
701 701
 
702
-	$desc = wp_kses_post( $args['desc'] );
703
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
704
-	$attr = wpinv_settings_attrs_helper( $args );
702
+    $desc = wp_kses_post( $args['desc'] );
703
+    $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
704
+    $attr = wpinv_settings_attrs_helper( $args );
705 705
 
706
-	?>
706
+    ?>
707 707
 		<label style="width: 100%;">
708 708
 			<input type="text" <?php echo $attr; ?>>
709 709
 			<?php echo $desc; ?>
@@ -717,14 +717,14 @@  discard block
 block discarded – undo
717 717
  */
718 718
 function wpinv_number_callback( $args ) {
719 719
 
720
-	$desc = wp_kses_post( $args['desc'] );
721
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
722
-	$attr = wpinv_settings_attrs_helper( $args );
723
-	$max  = intval( $args['max'] );
724
-	$min  = intval( $args['min'] );
725
-	$step = floatval( $args['step'] );
720
+    $desc = wp_kses_post( $args['desc'] );
721
+    $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
722
+    $attr = wpinv_settings_attrs_helper( $args );
723
+    $max  = intval( $args['max'] );
724
+    $min  = intval( $args['min'] );
725
+    $step = floatval( $args['step'] );
726 726
 
727
-	?>
727
+    ?>
728 728
 		<label style="width: 100%;">
729 729
 			<input type="number" step="<?php echo $step; ?>" max="<?php echo $max; ?>" min="<?php echo $min; ?>" <?php echo $attr; ?>>
730 730
 			<?php echo $desc; ?>
@@ -734,48 +734,48 @@  discard block
 block discarded – undo
734 734
 }
735 735
 
736 736
 function wpinv_textarea_callback( $args ) {
737
-	global $wpinv_options;
737
+    global $wpinv_options;
738 738
     
739 739
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
740 740
 
741
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
742
-		$value = $wpinv_options[ $args['id'] ];
743
-	} else {
744
-		$value = isset( $args['std'] ) ? $args['std'] : '';
745
-	}
741
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
742
+        $value = $wpinv_options[ $args['id'] ];
743
+    } else {
744
+        $value = isset( $args['std'] ) ? $args['std'] : '';
745
+    }
746 746
     
747 747
     $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
748 748
     $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
749 749
 
750
-	$html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
751
-	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
750
+    $html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
751
+    $html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
752 752
 
753
-	echo $html;
753
+    echo $html;
754 754
 }
755 755
 
756 756
 function wpinv_password_callback( $args ) {
757
-	global $wpinv_options;
757
+    global $wpinv_options;
758 758
     
759 759
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
760 760
 
761
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
762
-		$value = $wpinv_options[ $args['id'] ];
763
-	} else {
764
-		$value = isset( $args['std'] ) ? $args['std'] : '';
765
-	}
761
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
762
+        $value = $wpinv_options[ $args['id'] ];
763
+    } else {
764
+        $value = isset( $args['std'] ) ? $args['std'] : '';
765
+    }
766 766
 
767
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
768
-	$html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
769
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
767
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
768
+    $html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
769
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
770 770
 
771
-	echo $html;
771
+    echo $html;
772 772
 }
773 773
 
774 774
 function wpinv_missing_callback($args) {
775
-	printf(
776
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
777
-		'<strong>' . $args['id'] . '</strong>'
778
-	);
775
+    printf(
776
+        __( 'The callback function used for the %s setting is missing.', 'invoicing' ),
777
+        '<strong>' . $args['id'] . '</strong>'
778
+    );
779 779
 }
780 780
 
781 781
 /**
@@ -783,13 +783,13 @@  discard block
 block discarded – undo
783 783
  */
784 784
 function wpinv_select_callback( $args ) {
785 785
 
786
-	$desc   = wp_kses_post( $args['desc'] );
787
-	$desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
788
-	$attr   = wpinv_settings_attrs_helper( $args );
789
-	$value  = isset( $args['std'] ) ? $args['std'] : '';
790
-	$value  = wpinv_get_option( $args['id'], $value );
786
+    $desc   = wp_kses_post( $args['desc'] );
787
+    $desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
788
+    $attr   = wpinv_settings_attrs_helper( $args );
789
+    $value  = isset( $args['std'] ) ? $args['std'] : '';
790
+    $value  = wpinv_get_option( $args['id'], $value );
791 791
 
792
-	?>
792
+    ?>
793 793
 		<label style="width: 100%;">
794 794
 			<select <?php echo $attr; ?>>
795 795
 				<?php foreach ( $args['options'] as $option => $name ) : ?>
@@ -803,123 +803,123 @@  discard block
 block discarded – undo
803 803
 }
804 804
 
805 805
 function wpinv_color_select_callback( $args ) {
806
-	global $wpinv_options;
806
+    global $wpinv_options;
807 807
     
808 808
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
809 809
 
810
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
811
-		$value = $wpinv_options[ $args['id'] ];
812
-	} else {
813
-		$value = isset( $args['std'] ) ? $args['std'] : '';
814
-	}
810
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
811
+        $value = $wpinv_options[ $args['id'] ];
812
+    } else {
813
+        $value = isset( $args['std'] ) ? $args['std'] : '';
814
+    }
815 815
 
816
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
816
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
817 817
 
818
-	foreach ( $args['options'] as $option => $color ) {
819
-		$selected = selected( $option, $value, false );
820
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
821
-	}
818
+    foreach ( $args['options'] as $option => $color ) {
819
+        $selected = selected( $option, $value, false );
820
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
821
+    }
822 822
 
823
-	$html .= '</select>';
824
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
823
+    $html .= '</select>';
824
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
825 825
 
826
-	echo $html;
826
+    echo $html;
827 827
 }
828 828
 
829 829
 function wpinv_rich_editor_callback( $args ) {
830
-	global $wpinv_options, $wp_version;
830
+    global $wpinv_options, $wp_version;
831 831
     
832 832
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
833 833
 
834
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
835
-		$value = $wpinv_options[ $args['id'] ];
834
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
835
+        $value = $wpinv_options[ $args['id'] ];
836 836
 
837
-		if( empty( $args['allow_blank'] ) && empty( $value ) ) {
838
-			$value = isset( $args['std'] ) ? $args['std'] : '';
839
-		}
840
-	} else {
841
-		$value = isset( $args['std'] ) ? $args['std'] : '';
842
-	}
837
+        if( empty( $args['allow_blank'] ) && empty( $value ) ) {
838
+            $value = isset( $args['std'] ) ? $args['std'] : '';
839
+        }
840
+    } else {
841
+        $value = isset( $args['std'] ) ? $args['std'] : '';
842
+    }
843 843
 
844
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
844
+    $rows = isset( $args['size'] ) ? $args['size'] : 20;
845 845
 
846
-	$html = '<div class="getpaid-settings-editor-input">';
847
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
848
-		ob_start();
849
-		wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
850
-		$html .= ob_get_clean();
851
-	} else {
852
-		$html .= '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
853
-	}
846
+    $html = '<div class="getpaid-settings-editor-input">';
847
+    if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
848
+        ob_start();
849
+        wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
850
+        $html .= ob_get_clean();
851
+    } else {
852
+        $html .= '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
853
+    }
854 854
 
855
-	$html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
855
+    $html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
856 856
 
857
-	echo $html;
857
+    echo $html;
858 858
 }
859 859
 
860 860
 function wpinv_upload_callback( $args ) {
861
-	global $wpinv_options;
861
+    global $wpinv_options;
862 862
     
863 863
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
864 864
 
865
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
866
-		$value = $wpinv_options[$args['id']];
867
-	} else {
868
-		$value = isset($args['std']) ? $args['std'] : '';
869
-	}
865
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
866
+        $value = $wpinv_options[$args['id']];
867
+    } else {
868
+        $value = isset($args['std']) ? $args['std'] : '';
869
+    }
870 870
 
871
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
872
-	$html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
873
-	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
874
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
871
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
872
+    $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
873
+    $html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
874
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
875 875
 
876
-	echo $html;
876
+    echo $html;
877 877
 }
878 878
 
879 879
 function wpinv_color_callback( $args ) {
880
-	global $wpinv_options;
880
+    global $wpinv_options;
881 881
     
882 882
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
883 883
 
884
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
885
-		$value = $wpinv_options[ $args['id'] ];
886
-	} else {
887
-		$value = isset( $args['std'] ) ? $args['std'] : '';
888
-	}
884
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
885
+        $value = $wpinv_options[ $args['id'] ];
886
+    } else {
887
+        $value = isset( $args['std'] ) ? $args['std'] : '';
888
+    }
889 889
 
890
-	$default = isset( $args['std'] ) ? $args['std'] : '';
890
+    $default = isset( $args['std'] ) ? $args['std'] : '';
891 891
 
892
-	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />';
893
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
892
+    $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />';
893
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
894 894
 
895
-	echo $html;
895
+    echo $html;
896 896
 }
897 897
 
898 898
 function wpinv_country_states_callback($args) {
899
-	global $wpinv_options;
899
+    global $wpinv_options;
900 900
     
901 901
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
902 902
 
903
-	if ( isset( $args['placeholder'] ) ) {
904
-		$placeholder = $args['placeholder'];
905
-	} else {
906
-		$placeholder = '';
907
-	}
903
+    if ( isset( $args['placeholder'] ) ) {
904
+        $placeholder = $args['placeholder'];
905
+    } else {
906
+        $placeholder = '';
907
+    }
908 908
 
909
-	$states = wpinv_get_country_states();
909
+    $states = wpinv_get_country_states();
910 910
 
911
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
912
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
911
+    $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
912
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
913 913
 
914
-	foreach ( $states as $option => $name ) {
915
-		$selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
916
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
917
-	}
914
+    foreach ( $states as $option => $name ) {
915
+        $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
916
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
917
+    }
918 918
 
919
-	$html .= '</select>';
920
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
919
+    $html .= '</select>';
920
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
921 921
 
922
-	echo $html;
922
+    echo $html;
923 923
 }
924 924
 
925 925
 /**
@@ -927,7 +927,7 @@  discard block
 block discarded – undo
927 927
  */
928 928
 function wpinv_tax_rates_callback() {
929 929
 	
930
-	?>
930
+    ?>
931 931
 		</td>
932 932
 	</tr>
933 933
 	<tr class="bsui">
@@ -942,17 +942,17 @@  discard block
 block discarded – undo
942 942
  * Displays a tax rate' edit row.
943 943
  */
944 944
 function wpinv_tax_rate_callback( $tax_rate, $key, $echo = true ) {
945
-	ob_start();
945
+    ob_start();
946 946
 
947
-	$key                      = sanitize_key( $key );
948
-	$tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
949
-	include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
947
+    $key                      = sanitize_key( $key );
948
+    $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
949
+    include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
950 950
 
951
-	if ( $echo ) {
952
-		echo ob_get_clean();
953
-	} else {
954
-		return ob_get_clean(); 
955
-	}
951
+    if ( $echo ) {
952
+        echo ob_get_clean();
953
+    } else {
954
+        return ob_get_clean(); 
955
+    }
956 956
 
957 957
 }
958 958
 
@@ -980,14 +980,14 @@  discard block
 block discarded – undo
980 980
                 </td>
981 981
                 <td>
982 982
 					<a href="<?php
983
-						echo esc_url(
984
-							wp_nonce_url(
985
-								add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
986
-								'getpaid-nonce',
987
-								'getpaid-nonce'
988
-							)
989
-						);
990
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
983
+                        echo esc_url(
984
+                            wp_nonce_url(
985
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
986
+                                'getpaid-nonce',
987
+                                'getpaid-nonce'
988
+                            )
989
+                        );
990
+                    ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
991 991
                 </td>
992 992
             </tr>
993 993
 			<tr>
@@ -997,14 +997,14 @@  discard block
 block discarded – undo
997 997
                 </td>
998 998
                 <td>
999 999
 					<a href="<?php
1000
-						echo esc_url(
1001
-							wp_nonce_url(
1002
-								add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
1003
-								'getpaid-nonce',
1004
-								'getpaid-nonce'
1005
-							)
1006
-						);
1007
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
1000
+                        echo esc_url(
1001
+                            wp_nonce_url(
1002
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
1003
+                                'getpaid-nonce',
1004
+                                'getpaid-nonce'
1005
+                            )
1006
+                        );
1007
+                    ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
1008 1008
                 </td>
1009 1009
             </tr>
1010 1010
 			<tr>
@@ -1014,14 +1014,14 @@  discard block
 block discarded – undo
1014 1014
                 </td>
1015 1015
                 <td>
1016 1016
 					<a href="<?php
1017
-						echo esc_url(
1018
-							wp_nonce_url(
1019
-								add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1020
-								'getpaid-nonce',
1021
-								'getpaid-nonce'
1022
-							)
1023
-						);
1024
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
1017
+                        echo esc_url(
1018
+                            wp_nonce_url(
1019
+                                add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1020
+                                'getpaid-nonce',
1021
+                                'getpaid-nonce'
1022
+                            )
1023
+                        );
1024
+                    ?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
1025 1025
                 </td>
1026 1026
             </tr>
1027 1027
 			<?php do_action( 'wpinv_tools_row' ); ?>
@@ -1034,19 +1034,19 @@  discard block
 block discarded – undo
1034 1034
 
1035 1035
 
1036 1036
 function wpinv_descriptive_text_callback( $args ) {
1037
-	echo wp_kses_post( $args['desc'] );
1037
+    echo wp_kses_post( $args['desc'] );
1038 1038
 }
1039 1039
 
1040 1040
 function wpinv_raw_html_callback( $args ) {
1041
-	echo $args['desc'];
1041
+    echo $args['desc'];
1042 1042
 }
1043 1043
 
1044 1044
 function wpinv_hook_callback( $args ) {
1045
-	do_action( 'wpinv_' . $args['id'], $args );
1045
+    do_action( 'wpinv_' . $args['id'], $args );
1046 1046
 }
1047 1047
 
1048 1048
 function wpinv_set_settings_cap() {
1049
-	return wpinv_get_capability();
1049
+    return wpinv_get_capability();
1050 1050
 }
1051 1051
 add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1052 1052
 
Please login to merge, or discard this patch.
Spacing   +375 added lines, -375 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
  * Retrieves all default settings.
@@ -16,13 +16,13 @@  discard block
 block discarded – undo
16 16
 function wpinv_get_settings() {
17 17
     $defaults = array();
18 18
 
19
-    foreach ( array_values( wpinv_get_registered_settings() ) as $tab_settings ) {
19
+    foreach (array_values(wpinv_get_registered_settings()) as $tab_settings) {
20 20
 
21
-        foreach ( array_values( $tab_settings ) as $section_settings ) {
21
+        foreach (array_values($tab_settings) as $section_settings) {
22 22
 
23
-            foreach ( $section_settings as $key => $setting ) {
24
-                if ( isset( $setting['std'] ) ) {
25
-                    $defaults[ $key ] = $setting['std'];
23
+            foreach ($section_settings as $key => $setting) {
24
+                if (isset($setting['std'])) {
25
+                    $defaults[$key] = $setting['std'];
26 26
                 }
27 27
             }
28 28
 
@@ -43,12 +43,12 @@  discard block
 block discarded – undo
43 43
     global $wpinv_options;
44 44
 
45 45
     // Try fetching the saved options.
46
-    if ( ! is_array( $wpinv_options ) ) {
47
-        $wpinv_options = get_option( 'wpinv_settings' );
46
+    if (!is_array($wpinv_options)) {
47
+        $wpinv_options = get_option('wpinv_settings');
48 48
     }
49 49
 
50 50
     // If that fails, don't fetch the default settings to prevent a loop.
51
-    if ( ! is_array( $wpinv_options ) ) {
51
+    if (!is_array($wpinv_options)) {
52 52
         $wpinv_options = array();
53 53
     }
54 54
 
@@ -62,13 +62,13 @@  discard block
 block discarded – undo
62 62
  * @param mixed $default The default value to use if the setting has not been set.
63 63
  * @return mixed
64 64
  */
65
-function wpinv_get_option( $key = '', $default = false ) {
65
+function wpinv_get_option($key = '', $default = false) {
66 66
 
67 67
     $options = wpinv_get_options();
68
-    $value   = isset( $options[ $key ] ) ? $options[ $key ] : $default;
69
-    $value   = apply_filters( 'wpinv_get_option', $value, $key, $default );
68
+    $value   = isset($options[$key]) ? $options[$key] : $default;
69
+    $value   = apply_filters('wpinv_get_option', $value, $key, $default);
70 70
 
71
-    return apply_filters( 'wpinv_get_option_' . $key, $value, $key, $default );
71
+    return apply_filters('wpinv_get_option_' . $key, $value, $key, $default);
72 72
 }
73 73
 
74 74
 /**
@@ -77,11 +77,11 @@  discard block
 block discarded – undo
77 77
  * @param array $options the new options.
78 78
  * @return bool
79 79
  */
80
-function wpinv_update_options( $options ) {
80
+function wpinv_update_options($options) {
81 81
     global $wpinv_options;
82 82
 
83 83
     // update the option.
84
-    if ( is_array( $options ) && update_option( 'wpinv_settings', $options ) ) {
84
+    if (is_array($options) && update_option('wpinv_settings', $options)) {
85 85
         $wpinv_options = $options;
86 86
         return true;
87 87
     }
@@ -96,24 +96,24 @@  discard block
 block discarded – undo
96 96
  * @param mixed $value The setting value.
97 97
  * @return bool
98 98
  */
99
-function wpinv_update_option( $key = '', $value = false ) {
99
+function wpinv_update_option($key = '', $value = false) {
100 100
 
101 101
     // If no key, exit.
102
-    if ( empty( $key ) ) {
102
+    if (empty($key)) {
103 103
         return false;
104 104
     }
105 105
 
106 106
     // Maybe delete the option instead.
107
-    if ( is_null( $value ) ) {
108
-        return wpinv_delete_option( $key );
107
+    if (is_null($value)) {
108
+        return wpinv_delete_option($key);
109 109
     }
110 110
 
111 111
     // Prepare the new options.
112 112
     $options         = wpinv_get_options();
113
-    $options[ $key ] = apply_filters( 'wpinv_update_option', $value, $key );
113
+    $options[$key] = apply_filters('wpinv_update_option', $value, $key);
114 114
 
115 115
     // Save the new options.
116
-    return wpinv_update_options( $options );
116
+    return wpinv_update_options($options);
117 117
 
118 118
 }
119 119
 
@@ -123,18 +123,18 @@  discard block
 block discarded – undo
123 123
  * @param string $key the setting key.
124 124
  * @return bool
125 125
  */
126
-function wpinv_delete_option( $key = '' ) {
126
+function wpinv_delete_option($key = '') {
127 127
 
128 128
     // If no key, exit
129
-    if ( empty( $key ) ) {
129
+    if (empty($key)) {
130 130
         return false;
131 131
     }
132 132
 
133 133
     $options = wpinv_get_options();
134 134
 
135
-    if ( isset( $options[ $key ] ) ) {
136
-        unset( $options[ $key ] );
137
-        return wpinv_update_options( $options );
135
+    if (isset($options[$key])) {
136
+        unset($options[$key]);
137
+        return wpinv_update_options($options);
138 138
     }
139 139
 
140 140
     return true;
@@ -148,14 +148,14 @@  discard block
 block discarded – undo
148 148
 function wpinv_register_settings() {
149 149
 
150 150
     // Loop through all tabs.
151
-    foreach ( wpinv_get_registered_settings() as $tab => $sections ) {
151
+    foreach (wpinv_get_registered_settings() as $tab => $sections) {
152 152
 
153 153
         // In each tab, loop through sections.
154
-        foreach ( $sections as $section => $settings ) {
154
+        foreach ($sections as $section => $settings) {
155 155
 
156 156
             // Check for backwards compatibility
157
-            $section_tabs = wpinv_get_settings_tab_sections( $tab );
158
-            if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) {
157
+            $section_tabs = wpinv_get_settings_tab_sections($tab);
158
+            if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) {
159 159
                 $section = 'main';
160 160
                 $settings = $sections;
161 161
             }
@@ -168,9 +168,9 @@  discard block
 block discarded – undo
168 168
                 'wpinv_settings_' . $tab . '_' . $section
169 169
             );
170 170
 
171
-            foreach ( $settings as $option ) {
172
-                if ( ! empty( $option['id'] ) ) {
173
-                    wpinv_register_settings_option( $tab, $section, $option );
171
+            foreach ($settings as $option) {
172
+                if (!empty($option['id'])) {
173
+                    wpinv_register_settings_option($tab, $section, $option);
174 174
                 }
175 175
             }
176 176
 
@@ -178,9 +178,9 @@  discard block
 block discarded – undo
178 178
     }
179 179
 
180 180
     // Creates our settings in the options table.
181
-    register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' );
181
+    register_setting('wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize');
182 182
 }
183
-add_action( 'admin_init', 'wpinv_register_settings' );
183
+add_action('admin_init', 'wpinv_register_settings');
184 184
 
185 185
 /**
186 186
  * Register a single settings option.
@@ -190,47 +190,47 @@  discard block
 block discarded – undo
190 190
  * @param string $option
191 191
  * 
192 192
  */
193
-function wpinv_register_settings_option( $tab, $section, $option ) {
193
+function wpinv_register_settings_option($tab, $section, $option) {
194 194
 
195
-    $name    = isset( $option['name'] ) ? $option['name'] : '';
195
+    $name    = isset($option['name']) ? $option['name'] : '';
196 196
     $cb      = "wpinv_{$option['type']}_callback";
197 197
     $section = "wpinv_settings_{$tab}_$section";
198 198
 
199
-	if ( isset( $option['desc'] ) && ! empty( $option['help-tip'] ) ) {
200
-		$tip   = wpinv_clean( $option['desc'] );
199
+	if (isset($option['desc']) && !empty($option['help-tip'])) {
200
+		$tip   = wpinv_clean($option['desc']);
201 201
 		$name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
202
-		unset( $option['desc'] );
202
+		unset($option['desc']);
203 203
 	}
204 204
 
205 205
     // Loop through all tabs.
206 206
     add_settings_field(
207 207
         'wpinv_settings[' . $option['id'] . ']',
208 208
         $name,
209
-        function_exists( $cb ) ? $cb : 'wpinv_missing_callback',
209
+        function_exists($cb) ? $cb : 'wpinv_missing_callback',
210 210
         $section,
211 211
         $section,
212 212
         array(
213 213
             'section'     => $section,
214
-            'id'          => isset( $option['id'] )          ? $option['id']          : uniqid( 'wpinv-' ),
215
-            'desc'        => isset( $option['desc'] )        ? $option['desc']        : '',
214
+            'id'          => isset($option['id']) ? $option['id'] : uniqid('wpinv-'),
215
+            'desc'        => isset($option['desc']) ? $option['desc'] : '',
216 216
             'name'        => $name,
217
-            'size'        => isset( $option['size'] )        ? $option['size']        : null,
218
-            'options'     => isset( $option['options'] )     ? $option['options']     : '',
219
-            'selected'    => isset( $option['selected'] )    ? $option['selected']    : null,
220
-            'std'         => isset( $option['std'] )         ? $option['std']         : '',
221
-            'min'         => isset( $option['min'] )         ? $option['min']         : 0,
222
-            'max'         => isset( $option['max'] )         ? $option['max']         : 999999,
223
-            'step'        => isset( $option['step'] )        ? $option['step']        : 1,
224
-            'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null,
225
-            'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true,
226
-            'readonly'    => isset( $option['readonly'] )    ? $option['readonly']    : false,
227
-            'faux'        => isset( $option['faux'] )        ? $option['faux']        : false,
228
-            'onchange'    => isset( $option['onchange'] )   ? $option['onchange']     : '',
229
-            'custom'      => isset( $option['custom'] )     ? $option['custom']       : '',
230
-			'class'       => isset( $option['class'] )     ? $option['class']         : '',
231
-			'style'       => isset( $option['style'] )     ? $option['style']         : '',
232
-            'cols'        => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
233
-            'rows'        => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
217
+            'size'        => isset($option['size']) ? $option['size'] : null,
218
+            'options'     => isset($option['options']) ? $option['options'] : '',
219
+            'selected'    => isset($option['selected']) ? $option['selected'] : null,
220
+            'std'         => isset($option['std']) ? $option['std'] : '',
221
+            'min'         => isset($option['min']) ? $option['min'] : 0,
222
+            'max'         => isset($option['max']) ? $option['max'] : 999999,
223
+            'step'        => isset($option['step']) ? $option['step'] : 1,
224
+            'placeholder' => isset($option['placeholder']) ? $option['placeholder'] : null,
225
+            'allow_blank' => isset($option['allow_blank']) ? $option['allow_blank'] : true,
226
+            'readonly'    => isset($option['readonly']) ? $option['readonly'] : false,
227
+            'faux'        => isset($option['faux']) ? $option['faux'] : false,
228
+            'onchange'    => isset($option['onchange']) ? $option['onchange'] : '',
229
+            'custom'      => isset($option['custom']) ? $option['custom'] : '',
230
+			'class'       => isset($option['class']) ? $option['class'] : '',
231
+			'style'       => isset($option['style']) ? $option['style'] : '',
232
+            'cols'        => isset($option['cols']) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
233
+            'rows'        => isset($option['rows']) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
234 234
         )
235 235
     );
236 236
 
@@ -242,7 +242,7 @@  discard block
 block discarded – undo
242 242
  * @return array
243 243
  */
244 244
 function wpinv_get_registered_settings() {
245
-	return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
245
+	return array_filter(apply_filters('wpinv_registered_settings', wpinv_get_data('admin-settings')));
246 246
 }
247 247
 
248 248
 /**
@@ -251,7 +251,7 @@  discard block
 block discarded – undo
251 251
  * @return array
252 252
  */
253 253
 function getpaid_get_integration_settings() {
254
-    return apply_filters( 'getpaid_integration_settings', array() );
254
+    return apply_filters('getpaid_integration_settings', array());
255 255
 }
256 256
 
257 257
 /**
@@ -259,144 +259,144 @@  discard block
 block discarded – undo
259 259
  * 
260 260
  * @return array
261 261
  */
262
-function wpinv_settings_sanitize( $input = array() ) {
262
+function wpinv_settings_sanitize($input = array()) {
263 263
 
264 264
 	$wpinv_options = wpinv_get_options();
265 265
 	$raw_referrer  = wp_get_raw_referer();
266 266
 
267
-    if ( empty( $raw_referrer ) ) {
267
+    if (empty($raw_referrer)) {
268 268
         return $input;
269 269
     }
270 270
 
271
-    wp_parse_str( $raw_referrer, $referrer );
271
+    wp_parse_str($raw_referrer, $referrer);
272 272
 
273
-	if ( empty( $referrer['tab'] ) ) {
273
+	if (empty($referrer['tab'])) {
274 274
         return $input;
275 275
 	}
276 276
 
277 277
     $settings = wpinv_get_registered_settings();
278
-    $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
279
-    $section  = isset( $referrer['section'] ) ? $referrer['section'] : 'main';
278
+    $tab      = isset($referrer['tab']) ? $referrer['tab'] : 'general';
279
+    $section  = isset($referrer['section']) ? $referrer['section'] : 'main';
280 280
 
281 281
     $input = $input ? $input : array();
282
-    $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input );
283
-    $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input );
282
+    $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input);
283
+    $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input);
284 284
 
285 285
     // Loop through each setting being saved and pass it through a sanitization filter
286
-    foreach ( $input as $key => $value ) {
286
+    foreach ($input as $key => $value) {
287 287
 
288 288
         // Get the setting type (checkbox, select, etc)
289
-        $type = isset( $settings[ $tab ][$section][ $key ]['type'] ) ? $settings[ $tab ][$section][ $key ]['type'] : false;
289
+        $type = isset($settings[$tab][$section][$key]['type']) ? $settings[$tab][$section][$key]['type'] : false;
290 290
 
291
-        if ( $type ) {
291
+        if ($type) {
292 292
             // Field type specific filter
293
-            $input[$key] = apply_filters( 'wpinv_settings_sanitize_' . $type, $value, $key );
293
+            $input[$key] = apply_filters('wpinv_settings_sanitize_' . $type, $value, $key);
294 294
         }
295 295
 
296 296
         // General filter
297
-		$input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
297
+		$input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key);
298 298
 
299 299
 		// Key specific filter.
300
-		$input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
300
+		$input[$key] = apply_filters("wpinv_settings_sanitize_$key", $input[$key]);
301 301
     }
302 302
 
303 303
     // Loop through the whitelist and unset any that are empty for the tab being saved
304
-    $main_settings    = isset( $settings[ $tab ] ) ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections
305
-    $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array();
304
+    $main_settings    = isset($settings[$tab]) ? $settings[$tab] : array(); // Check for extensions that aren't using new sections
305
+    $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array();
306 306
 
307
-    $found_settings   = array_merge( $main_settings, $section_settings );
307
+    $found_settings   = array_merge($main_settings, $section_settings);
308 308
 
309
-    if ( ! empty( $found_settings ) ) {
310
-        foreach ( $found_settings as $key => $value ) {
309
+    if (!empty($found_settings)) {
310
+        foreach ($found_settings as $key => $value) {
311 311
 
312 312
             // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work
313
-            if ( is_numeric( $key ) ) {
313
+            if (is_numeric($key)) {
314 314
                 $key = $value['id'];
315 315
             }
316 316
 
317
-            if ( ! isset( $input[ $key ] ) && isset( $wpinv_options[ $key ] ) ) {
318
-                unset( $wpinv_options[ $key ] );
317
+            if (!isset($input[$key]) && isset($wpinv_options[$key])) {
318
+                unset($wpinv_options[$key]);
319 319
             }
320 320
         }
321 321
     }
322 322
 
323 323
     // Merge our new settings with the existing
324
-    $output = array_merge( $wpinv_options, $input );
324
+    $output = array_merge($wpinv_options, $input);
325 325
 
326
-    add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' );
326
+    add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated');
327 327
 
328 328
     return $output;
329 329
 }
330 330
 
331
-function wpinv_settings_sanitize_misc_accounting( $input ) {
331
+function wpinv_settings_sanitize_misc_accounting($input) {
332 332
 
333
-    if ( ! wpinv_current_user_can_manage_invoicing() ) {
333
+    if (!wpinv_current_user_can_manage_invoicing()) {
334 334
         return $input;
335 335
     }
336 336
 
337
-    if( ! empty( $input['enable_sequential'] ) && !wpinv_get_option( 'enable_sequential' ) ) {
337
+    if (!empty($input['enable_sequential']) && !wpinv_get_option('enable_sequential')) {
338 338
         // Shows an admin notice about upgrading previous order numbers
339
-        getpaid_session()->set( 'upgrade_sequential', '1' );
339
+        getpaid_session()->set('upgrade_sequential', '1');
340 340
     }
341 341
 
342 342
     return $input;
343 343
 }
344
-add_filter( 'wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting' );
344
+add_filter('wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting');
345 345
 
346
-function wpinv_settings_sanitize_tax_rates( $input ) {
347
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
346
+function wpinv_settings_sanitize_tax_rates($input) {
347
+    if (!wpinv_current_user_can_manage_invoicing()) {
348 348
         return $input;
349 349
     }
350 350
 
351
-    $new_rates = ! empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array();
351
+    $new_rates = !empty($_POST['tax_rates']) ? array_values($_POST['tax_rates']) : array();
352 352
     $tax_rates = array();
353 353
 
354
-    foreach ( $new_rates as $rate ) {
354
+    foreach ($new_rates as $rate) {
355 355
 
356
-		$rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
357
-		$rate['name']    = sanitize_text_field( $rate['name'] );
358
-		$rate['state']   = sanitize_text_field( $rate['state'] );
359
-		$rate['country'] = sanitize_text_field( $rate['country'] );
360
-		$rate['global']  = empty( $rate['state'] );
356
+		$rate['rate']    = wpinv_sanitize_amount($rate['rate']);
357
+		$rate['name']    = sanitize_text_field($rate['name']);
358
+		$rate['state']   = sanitize_text_field($rate['state']);
359
+		$rate['country'] = sanitize_text_field($rate['country']);
360
+		$rate['global']  = empty($rate['state']);
361 361
 		$tax_rates[]     = $rate;
362 362
 
363 363
 	}
364 364
 
365
-    update_option( 'wpinv_tax_rates', $tax_rates );
365
+    update_option('wpinv_tax_rates', $tax_rates);
366 366
 
367 367
     return $input;
368 368
 }
369
-add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' );
369
+add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates');
370 370
 
371
-function wpinv_sanitize_text_field( $input ) {
372
-    return trim( $input );
371
+function wpinv_sanitize_text_field($input) {
372
+    return trim($input);
373 373
 }
374
-add_filter( 'wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field' );
374
+add_filter('wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field');
375 375
 
376 376
 function wpinv_get_settings_tabs() {
377 377
     $tabs             = array();
378
-    $tabs['general']  = __( 'General', 'invoicing' );
379
-    $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
380
-    $tabs['taxes']    = __( 'Taxes', 'invoicing' );
381
-	$tabs['emails']   = __( 'Emails', 'invoicing' );
378
+    $tabs['general']  = __('General', 'invoicing');
379
+    $tabs['gateways'] = __('Payment Gateways', 'invoicing');
380
+    $tabs['taxes']    = __('Taxes', 'invoicing');
381
+	$tabs['emails'] = __('Emails', 'invoicing');
382 382
 
383
-	if ( count( getpaid_get_integration_settings() ) > 0 ) {
384
-		$tabs['integrations'] = __( 'Integrations', 'invoicing' );
383
+	if (count(getpaid_get_integration_settings()) > 0) {
384
+		$tabs['integrations'] = __('Integrations', 'invoicing');
385 385
 	}
386 386
 
387
-    $tabs['privacy']  = __( 'Privacy', 'invoicing' );
388
-    $tabs['misc']     = __( 'Misc', 'invoicing' );
389
-    $tabs['tools']    = __( 'Tools', 'invoicing' );
387
+    $tabs['privacy']  = __('Privacy', 'invoicing');
388
+    $tabs['misc']     = __('Misc', 'invoicing');
389
+    $tabs['tools']    = __('Tools', 'invoicing');
390 390
 
391
-    return apply_filters( 'wpinv_settings_tabs', $tabs );
391
+    return apply_filters('wpinv_settings_tabs', $tabs);
392 392
 }
393 393
 
394
-function wpinv_get_settings_tab_sections( $tab = false ) {
394
+function wpinv_get_settings_tab_sections($tab = false) {
395 395
     $tabs     = false;
396 396
     $sections = wpinv_get_registered_settings_sections();
397 397
 
398
-    if( $tab && ! empty( $sections[ $tab ] ) ) {
399
-        $tabs = $sections[ $tab ];
398
+    if ($tab && !empty($sections[$tab])) {
399
+        $tabs = $sections[$tab];
400 400
     }
401 401
 
402 402
     return $tabs;
@@ -405,91 +405,91 @@  discard block
 block discarded – undo
405 405
 function wpinv_get_registered_settings_sections() {
406 406
     static $sections = false;
407 407
 
408
-    if ( false !== $sections ) {
408
+    if (false !== $sections) {
409 409
         return $sections;
410 410
     }
411 411
 
412 412
     $sections = array(
413
-        'general' => apply_filters( 'wpinv_settings_sections_general', array(
414
-            'main' => __( 'General Settings', 'invoicing' ),
415
-            'currency_section' => __( 'Currency Settings', 'invoicing' ),
416
-            'labels' => __( 'Label Texts', 'invoicing' ),
417
-        ) ),
418
-        'gateways' => apply_filters( 'wpinv_settings_sections_gateways', array(
419
-            'main' => __( 'Gateway Settings', 'invoicing' ),
420
-        ) ),
421
-        'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array(
422
-            'main'  => __( 'Tax Settings', 'invoicing' ),
423
-			'rates' => __( 'Tax Rates', 'invoicing' ),
424
-			'vat'   => __( 'EU VAT Settings', 'invoicing' )
425
-        ) ),
426
-        'emails' => apply_filters( 'wpinv_settings_sections_emails', array(
427
-            'main' => __( 'Email Settings', 'invoicing' ),
428
-		) ),
429
-
430
-		'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
431
-
432
-        'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array(
433
-            'main' => __( 'Privacy policy', 'invoicing' ),
434
-        ) ),
435
-        'misc' => apply_filters( 'wpinv_settings_sections_misc', array(
436
-            'main' => __( 'Miscellaneous', 'invoicing' ),
437
-            'custom-css' => __( 'Custom CSS', 'invoicing' ),
438
-        ) ),
439
-        'tools' => apply_filters( 'wpinv_settings_sections_tools', array(
440
-            'main' => __( 'Diagnostic Tools', 'invoicing' ),
441
-        ) ),
413
+        'general' => apply_filters('wpinv_settings_sections_general', array(
414
+            'main' => __('General Settings', 'invoicing'),
415
+            'currency_section' => __('Currency Settings', 'invoicing'),
416
+            'labels' => __('Label Texts', 'invoicing'),
417
+        )),
418
+        'gateways' => apply_filters('wpinv_settings_sections_gateways', array(
419
+            'main' => __('Gateway Settings', 'invoicing'),
420
+        )),
421
+        'taxes' => apply_filters('wpinv_settings_sections_taxes', array(
422
+            'main'  => __('Tax Settings', 'invoicing'),
423
+			'rates' => __('Tax Rates', 'invoicing'),
424
+			'vat'   => __('EU VAT Settings', 'invoicing')
425
+        )),
426
+        'emails' => apply_filters('wpinv_settings_sections_emails', array(
427
+            'main' => __('Email Settings', 'invoicing'),
428
+		)),
429
+
430
+		'integrations' => wp_list_pluck(getpaid_get_integration_settings(), 'label', 'id'),
431
+
432
+        'privacy' => apply_filters('wpinv_settings_sections_privacy', array(
433
+            'main' => __('Privacy policy', 'invoicing'),
434
+        )),
435
+        'misc' => apply_filters('wpinv_settings_sections_misc', array(
436
+            'main' => __('Miscellaneous', 'invoicing'),
437
+            'custom-css' => __('Custom CSS', 'invoicing'),
438
+        )),
439
+        'tools' => apply_filters('wpinv_settings_sections_tools', array(
440
+            'main' => __('Diagnostic Tools', 'invoicing'),
441
+        )),
442 442
     );
443 443
 
444
-    $sections = apply_filters( 'wpinv_settings_sections', $sections );
444
+    $sections = apply_filters('wpinv_settings_sections', $sections);
445 445
 
446 446
     return $sections;
447 447
 }
448 448
 
449
-function wpinv_get_pages( $with_slug = false, $default_label = NULL ) {
449
+function wpinv_get_pages($with_slug = false, $default_label = NULL) {
450 450
 	$pages_options = array();
451 451
 
452
-	if( $default_label !== NULL && $default_label !== false ) {
453
-		$pages_options = array( '' => $default_label ); // Blank option
452
+	if ($default_label !== NULL && $default_label !== false) {
453
+		$pages_options = array('' => $default_label); // Blank option
454 454
 	}
455 455
 
456 456
 	$pages = get_pages();
457
-	if ( $pages ) {
458
-		foreach ( $pages as $page ) {
457
+	if ($pages) {
458
+		foreach ($pages as $page) {
459 459
 			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
460
-            $pages_options[ $page->ID ] = $title;
460
+            $pages_options[$page->ID] = $title;
461 461
 		}
462 462
 	}
463 463
 
464 464
 	return $pages_options;
465 465
 }
466 466
 
467
-function wpinv_header_callback( $args ) {
468
-	if ( !empty( $args['desc'] ) ) {
467
+function wpinv_header_callback($args) {
468
+	if (!empty($args['desc'])) {
469 469
         echo $args['desc'];
470 470
     }
471 471
 }
472 472
 
473
-function wpinv_hidden_callback( $args ) {
473
+function wpinv_hidden_callback($args) {
474 474
 	global $wpinv_options;
475 475
 
476
-	if ( isset( $args['set_value'] ) ) {
476
+	if (isset($args['set_value'])) {
477 477
 		$value = $args['set_value'];
478
-	} elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
479
-		$value = $wpinv_options[ $args['id'] ];
478
+	} elseif (isset($wpinv_options[$args['id']])) {
479
+		$value = $wpinv_options[$args['id']];
480 480
 	} else {
481
-		$value = isset( $args['std'] ) ? $args['std'] : '';
481
+		$value = isset($args['std']) ? $args['std'] : '';
482 482
 	}
483 483
 
484
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
484
+	if (isset($args['faux']) && true === $args['faux']) {
485 485
 		$args['readonly'] = true;
486
-		$value = isset( $args['std'] ) ? $args['std'] : '';
486
+		$value = isset($args['std']) ? $args['std'] : '';
487 487
 		$name  = '';
488 488
 	} else {
489
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
489
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
490 490
 	}
491 491
 
492
-	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
492
+	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key($args['id']) . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '" />';
493 493
     
494 494
 	echo $html;
495 495
 }
@@ -497,61 +497,61 @@  discard block
 block discarded – undo
497 497
 /**
498 498
  * Displays a checkbox settings callback.
499 499
  */
500
-function wpinv_checkbox_callback( $args ) {
500
+function wpinv_checkbox_callback($args) {
501 501
 
502
-	$std = isset( $args['std'] ) ? $args['std'] : '';
503
-	$std = wpinv_get_option( $args['id'], $std );
504
-	$id  = esc_attr( $args['id'] );
502
+	$std = isset($args['std']) ? $args['std'] : '';
503
+	$std = wpinv_get_option($args['id'], $std);
504
+	$id  = esc_attr($args['id']);
505 505
 
506
-	getpaid_hidden_field( "wpinv_settings[$id]", '0' );
506
+	getpaid_hidden_field("wpinv_settings[$id]", '0');
507 507
 	?>
508 508
 		<fieldset>
509 509
 			<label>
510
-				<input id="wpinv-settings-<?php echo $id; ?>" name="wpinv_settings[<?php echo $id; ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox">
511
-				<?php echo wp_kses_post( $args['desc'] ); ?>
510
+				<input id="wpinv-settings-<?php echo $id; ?>" name="wpinv_settings[<?php echo $id; ?>]" <?php checked(empty($std), false); ?> value="1" type="checkbox">
511
+				<?php echo wp_kses_post($args['desc']); ?>
512 512
 			</label>
513 513
 		</fieldset>
514 514
 	<?php
515 515
 }
516 516
 
517
-function wpinv_multicheck_callback( $args ) {
517
+function wpinv_multicheck_callback($args) {
518 518
 	
519 519
 	global $wpinv_options;
520 520
 
521
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
522
-	$class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
521
+	$sanitize_id = wpinv_sanitize_key($args['id']);
522
+	$class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
523 523
 
524
-	if ( ! empty( $args['options'] ) ) {
524
+	if (!empty($args['options'])) {
525 525
 
526
-		$std     = isset( $args['std'] ) ? $args['std'] : array();
527
-		$value   = isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ] : $std;
526
+		$std     = isset($args['std']) ? $args['std'] : array();
527
+		$value   = isset($wpinv_options[$args['id']]) ? $wpinv_options[$args['id']] : $std;
528 528
 
529 529
 		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
530
-        foreach( $args['options'] as $key => $option ):
531
-			$sanitize_key = wpinv_sanitize_key( $key );
532
-			if ( in_array( $sanitize_key, $value ) ) { 
530
+        foreach ($args['options'] as $key => $option):
531
+			$sanitize_key = wpinv_sanitize_key($key);
532
+			if (in_array($sanitize_key, $value)) { 
533 533
 				$enabled = $sanitize_key;
534 534
 			} else { 
535 535
 				$enabled = NULL; 
536 536
 			}
537
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
538
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
537
+			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($sanitize_key) . '" ' . checked($sanitize_key, $enabled, false) . '/>&nbsp;';
538
+			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post($option) . '</label></div>';
539 539
 		endforeach;
540 540
 		echo '</div>';
541 541
 		echo '<p class="description">' . $args['desc'] . '</p>';
542 542
 	}
543 543
 }
544 544
 
545
-function wpinv_payment_icons_callback( $args ) {
545
+function wpinv_payment_icons_callback($args) {
546 546
 	global $wpinv_options;
547 547
     
548
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
548
+    $sanitize_id = wpinv_sanitize_key($args['id']);
549 549
 
550
-	if ( ! empty( $args['options'] ) ) {
551
-		foreach( $args['options'] as $key => $option ) {
552
-            $sanitize_key = wpinv_sanitize_key( $key );
550
+	if (!empty($args['options'])) {
551
+		foreach ($args['options'] as $key => $option) {
552
+            $sanitize_key = wpinv_sanitize_key($key);
553 553
             
554
-			if( isset( $wpinv_options[$args['id']][$key] ) ) {
554
+			if (isset($wpinv_options[$args['id']][$key])) {
555 555
 				$enabled = $option;
556 556
 			} else {
557 557
 				$enabled = NULL;
@@ -559,67 +559,67 @@  discard block
 block discarded – undo
559 559
 
560 560
 			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
561 561
 
562
-				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
562
+				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($option) . '" ' . checked($option, $enabled, false) . '/>&nbsp;';
563 563
 
564
-				if ( wpinv_string_is_image_url( $key ) ) {
565
-					echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
564
+				if (wpinv_string_is_image_url($key)) {
565
+					echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
566 566
 				} else {
567
-					$card = strtolower( str_replace( ' ', '', $option ) );
567
+					$card = strtolower(str_replace(' ', '', $option));
568 568
 
569
-					if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
570
-						$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
569
+					if (has_filter('wpinv_accepted_payment_' . $card . '_image')) {
570
+						$image = apply_filters('wpinv_accepted_payment_' . $card . '_image', '');
571 571
 					} else {
572
-						$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
572
+						$image       = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false);
573 573
 						$content_dir = WP_CONTENT_DIR;
574 574
 
575
-						if ( function_exists( 'wp_normalize_path' ) ) {
575
+						if (function_exists('wp_normalize_path')) {
576 576
 							// Replaces backslashes with forward slashes for Windows systems
577
-							$image = wp_normalize_path( $image );
578
-							$content_dir = wp_normalize_path( $content_dir );
577
+							$image = wp_normalize_path($image);
578
+							$content_dir = wp_normalize_path($content_dir);
579 579
 						}
580 580
 
581
-						$image = str_replace( $content_dir, content_url(), $image );
581
+						$image = str_replace($content_dir, content_url(), $image);
582 582
 					}
583 583
 
584
-					echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
584
+					echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
585 585
 				}
586 586
 			echo $option . '</label>';
587 587
 		}
588
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
588
+		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>';
589 589
 	}
590 590
 }
591 591
 
592 592
 /**
593 593
  * Displays a radio settings field.
594 594
  */
595
-function wpinv_radio_callback( $args ) {
595
+function wpinv_radio_callback($args) {
596 596
 
597
-	$std = isset( $args['std'] ) ? $args['std'] : '';
598
-	$std = wpinv_get_option( $args['id'], $std );
597
+	$std = isset($args['std']) ? $args['std'] : '';
598
+	$std = wpinv_get_option($args['id'], $std);
599 599
 	?>
600 600
 		<fieldset>
601
-			<ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;">
602
-				<?php foreach( $args['options'] as $key => $option ) : ?>
601
+			<ul id="wpinv-settings-<?php echo esc_attr($args['id']); ?>" style="margin-top: 0;">
602
+				<?php foreach ($args['options'] as $key => $option) : ?>
603 603
 					<li>
604 604
 						<label>
605
-							<input name="wpinv_settings[<?php echo esc_attr( $args['id'] ); ?>]" <?php checked( $std, $key ); ?> value="<?php echo esc_attr( $key ); ?>" type="radio">
606
-							<?php echo wp_kses_post( $option ); ?>
605
+							<input name="wpinv_settings[<?php echo esc_attr($args['id']); ?>]" <?php checked($std, $key); ?> value="<?php echo esc_attr($key); ?>" type="radio">
606
+							<?php echo wp_kses_post($option); ?>
607 607
 						</label>
608 608
 					</li>
609 609
 				<?php endforeach; ?>
610 610
 			</ul>
611 611
 		</fieldset>
612 612
 	<?php
613
-	getpaid_settings_description_callback( $args );
613
+	getpaid_settings_description_callback($args);
614 614
 }
615 615
 
616 616
 /**
617 617
  * Displays a description if available.
618 618
  */
619
-function getpaid_settings_description_callback( $args ) {
619
+function getpaid_settings_description_callback($args) {
620 620
 
621
-	if ( ! empty( $args['desc'] ) ) {
622
-		$description = wp_kses_post( $args['desc'] );
621
+	if (!empty($args['desc'])) {
622
+		$description = wp_kses_post($args['desc']);
623 623
 		echo "<p class='description'>$description</p>";
624 624
 	}
625 625
 
@@ -635,7 +635,7 @@  discard block
 block discarded – undo
635 635
 	</tr>
636 636
 	<tr class="bsui">
637 637
     	<td colspan="2" class="p-0">
638
-			<?php include plugin_dir_path( __FILE__ ) . 'views/html-gateways-edit.php'; ?>
638
+			<?php include plugin_dir_path(__FILE__) . 'views/html-gateways-edit.php'; ?>
639 639
 
640 640
 	<?php
641 641
 }
@@ -643,22 +643,22 @@  discard block
 block discarded – undo
643 643
 function wpinv_gateway_select_callback($args) {
644 644
 	global $wpinv_options;
645 645
     
646
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
647
-    $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
646
+    $sanitize_id = wpinv_sanitize_key($args['id']);
647
+    $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
648 648
 
649
-	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
649
+	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '" >';
650 650
 
651
-	foreach ( $args['options'] as $key => $option ) :
652
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
653
-            $selected = selected( $key, $args['selected'], false );
651
+	foreach ($args['options'] as $key => $option) :
652
+		if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) {
653
+            $selected = selected($key, $args['selected'], false);
654 654
         } else {
655
-            $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : '';
655
+            $selected = isset($wpinv_options[$args['id']]) ? selected($key, $wpinv_options[$args['id']], false) : '';
656 656
         }
657
-		echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
657
+		echo '<option value="' . wpinv_sanitize_key($key) . '"' . $selected . '>' . esc_html($option['admin_label']) . '</option>';
658 658
 	endforeach;
659 659
 
660 660
 	echo '</select>';
661
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
661
+	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
662 662
 }
663 663
 
664 664
 /**
@@ -667,28 +667,28 @@  discard block
 block discarded – undo
667 667
  * @param array $args
668 668
  * @return string
669 669
  */
670
-function wpinv_settings_attrs_helper( $args ) {
670
+function wpinv_settings_attrs_helper($args) {
671 671
 
672
-	$value        = isset( $args['std'] ) ? $args['std'] : '';
673
-	$id           = esc_attr( $args['id'] );
674
-	$placeholder  = esc_attr( $args['placeholder'] );
672
+	$value        = isset($args['std']) ? $args['std'] : '';
673
+	$id           = esc_attr($args['id']);
674
+	$placeholder  = esc_attr($args['placeholder']);
675 675
 
676
-	if ( ! empty( $args['faux'] ) ) {
676
+	if (!empty($args['faux'])) {
677 677
 		$args['readonly'] = true;
678 678
 		$name             = '';
679 679
 	} else {
680
-		$value  = wpinv_get_option( $args['id'], $value );
680
+		$value  = wpinv_get_option($args['id'], $value);
681 681
 		$name   = "wpinv_settings[$id]";
682 682
 	}
683 683
 
684
-	$value    = is_scalar( $value ) ? esc_attr( $value ) : '';
685
-	$class    = esc_attr( $args['class'] );
686
-	$style    = esc_attr( $args['style'] );
687
-	$readonly = empty( $args['readonly'] ) ? '' : 'readonly onclick="this.select()"';
684
+	$value    = is_scalar($value) ? esc_attr($value) : '';
685
+	$class    = esc_attr($args['class']);
686
+	$style    = esc_attr($args['style']);
687
+	$readonly = empty($args['readonly']) ? '' : 'readonly onclick="this.select()"';
688 688
 
689 689
 	$onchange = '';
690
-    if ( ! empty( $args['onchange'] ) ) {
691
-        $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
690
+    if (!empty($args['onchange'])) {
691
+        $onchange = ' onchange="' . esc_attr($args['onchange']) . '"';
692 692
 	}
693 693
 
694 694
 	return "name='$name' id='wpinv-settings-$id' style='$style' value='$value' class='$class' placeholder='$placeholder' data-placeholder='$placeholder' $onchange $readonly";
@@ -697,11 +697,11 @@  discard block
 block discarded – undo
697 697
 /**
698 698
  * Displays a text input settings callback.
699 699
  */
700
-function wpinv_text_callback( $args ) {
700
+function wpinv_text_callback($args) {
701 701
 
702
-	$desc = wp_kses_post( $args['desc'] );
703
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
704
-	$attr = wpinv_settings_attrs_helper( $args );
702
+	$desc = wp_kses_post($args['desc']);
703
+	$desc = empty($desc) ? '' : "<p class='description'>$desc</p>";
704
+	$attr = wpinv_settings_attrs_helper($args);
705 705
 
706 706
 	?>
707 707
 		<label style="width: 100%;">
@@ -715,14 +715,14 @@  discard block
 block discarded – undo
715 715
 /**
716 716
  * Displays a number input settings callback.
717 717
  */
718
-function wpinv_number_callback( $args ) {
718
+function wpinv_number_callback($args) {
719 719
 
720
-	$desc = wp_kses_post( $args['desc'] );
721
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
722
-	$attr = wpinv_settings_attrs_helper( $args );
723
-	$max  = intval( $args['max'] );
724
-	$min  = intval( $args['min'] );
725
-	$step = floatval( $args['step'] );
720
+	$desc = wp_kses_post($args['desc']);
721
+	$desc = empty($desc) ? '' : "<p class='description'>$desc</p>";
722
+	$attr = wpinv_settings_attrs_helper($args);
723
+	$max  = intval($args['max']);
724
+	$min  = intval($args['min']);
725
+	$step = floatval($args['step']);
726 726
 
727 727
 	?>
728 728
 		<label style="width: 100%;">
@@ -733,47 +733,47 @@  discard block
 block discarded – undo
733 733
 
734 734
 }
735 735
 
736
-function wpinv_textarea_callback( $args ) {
736
+function wpinv_textarea_callback($args) {
737 737
 	global $wpinv_options;
738 738
     
739
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
739
+    $sanitize_id = wpinv_sanitize_key($args['id']);
740 740
 
741
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
742
-		$value = $wpinv_options[ $args['id'] ];
741
+	if (isset($wpinv_options[$args['id']])) {
742
+		$value = $wpinv_options[$args['id']];
743 743
 	} else {
744
-		$value = isset( $args['std'] ) ? $args['std'] : '';
744
+		$value = isset($args['std']) ? $args['std'] : '';
745 745
 	}
746 746
     
747
-    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
748
-    $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
747
+    $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
748
+    $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text';
749 749
 
750
-	$html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
751
-	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
750
+	$html = '<textarea class="' . sanitize_html_class($class) . ' txtarea-' . sanitize_html_class($size) . ' wpi-' . esc_attr(sanitize_html_class($sanitize_id)) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']">' . esc_textarea(stripslashes($value)) . '</textarea>';
751
+	$html .= '<br /><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
752 752
 
753 753
 	echo $html;
754 754
 }
755 755
 
756
-function wpinv_password_callback( $args ) {
756
+function wpinv_password_callback($args) {
757 757
 	global $wpinv_options;
758 758
     
759
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
759
+    $sanitize_id = wpinv_sanitize_key($args['id']);
760 760
 
761
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
762
-		$value = $wpinv_options[ $args['id'] ];
761
+	if (isset($wpinv_options[$args['id']])) {
762
+		$value = $wpinv_options[$args['id']];
763 763
 	} else {
764
-		$value = isset( $args['std'] ) ? $args['std'] : '';
764
+		$value = isset($args['std']) ? $args['std'] : '';
765 765
 	}
766 766
 
767
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
768
-	$html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
769
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
767
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
768
+	$html = '<input type="password" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '"/>';
769
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
770 770
 
771 771
 	echo $html;
772 772
 }
773 773
 
774 774
 function wpinv_missing_callback($args) {
775 775
 	printf(
776
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
776
+		__('The callback function used for the %s setting is missing.', 'invoicing'),
777 777
 		'<strong>' . $args['id'] . '</strong>'
778 778
 	);
779 779
 }
@@ -781,20 +781,20 @@  discard block
 block discarded – undo
781 781
 /**
782 782
  * Displays a number input settings callback.
783 783
  */
784
-function wpinv_select_callback( $args ) {
784
+function wpinv_select_callback($args) {
785 785
 
786
-	$desc   = wp_kses_post( $args['desc'] );
787
-	$desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
788
-	$attr   = wpinv_settings_attrs_helper( $args );
789
-	$value  = isset( $args['std'] ) ? $args['std'] : '';
790
-	$value  = wpinv_get_option( $args['id'], $value );
786
+	$desc   = wp_kses_post($args['desc']);
787
+	$desc   = empty($desc) ? '' : "<p class='description'>$desc</p>";
788
+	$attr   = wpinv_settings_attrs_helper($args);
789
+	$value  = isset($args['std']) ? $args['std'] : '';
790
+	$value  = wpinv_get_option($args['id'], $value);
791 791
 
792 792
 	?>
793 793
 		<label style="width: 100%;">
794 794
 			<select <?php echo $attr; ?>>
795
-				<?php foreach ( $args['options'] as $option => $name ) : ?>
796
-					<option value="<?php echo esc_attr( $option ); ?>" <?php echo selected( is_array( $value ) ? in_array( "$option", $value, true ) : "$option" === $value ); ?>><?php echo wpinv_clean( $name ); ?></option>
797
-				<?php endforeach;?>
795
+				<?php foreach ($args['options'] as $option => $name) : ?>
796
+					<option value="<?php echo esc_attr($option); ?>" <?php echo selected(is_array($value) ? in_array("$option", $value, true) : "$option" === $value); ?>><?php echo wpinv_clean($name); ?></option>
797
+				<?php endforeach; ?>
798 798
 			</select>
799 799
 			<?php echo $desc; ?>
800 800
 		</label>
@@ -802,95 +802,95 @@  discard block
 block discarded – undo
802 802
 
803 803
 }
804 804
 
805
-function wpinv_color_select_callback( $args ) {
805
+function wpinv_color_select_callback($args) {
806 806
 	global $wpinv_options;
807 807
     
808
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
808
+    $sanitize_id = wpinv_sanitize_key($args['id']);
809 809
 
810
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
811
-		$value = $wpinv_options[ $args['id'] ];
810
+	if (isset($wpinv_options[$args['id']])) {
811
+		$value = $wpinv_options[$args['id']];
812 812
 	} else {
813
-		$value = isset( $args['std'] ) ? $args['std'] : '';
813
+		$value = isset($args['std']) ? $args['std'] : '';
814 814
 	}
815 815
 
816
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
816
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>';
817 817
 
818
-	foreach ( $args['options'] as $option => $color ) {
819
-		$selected = selected( $option, $value, false );
820
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
818
+	foreach ($args['options'] as $option => $color) {
819
+		$selected = selected($option, $value, false);
820
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($color['label']) . '</option>';
821 821
 	}
822 822
 
823 823
 	$html .= '</select>';
824
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
824
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
825 825
 
826 826
 	echo $html;
827 827
 }
828 828
 
829
-function wpinv_rich_editor_callback( $args ) {
829
+function wpinv_rich_editor_callback($args) {
830 830
 	global $wpinv_options, $wp_version;
831 831
     
832
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
832
+    $sanitize_id = wpinv_sanitize_key($args['id']);
833 833
 
834
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
835
-		$value = $wpinv_options[ $args['id'] ];
834
+	if (isset($wpinv_options[$args['id']])) {
835
+		$value = $wpinv_options[$args['id']];
836 836
 
837
-		if( empty( $args['allow_blank'] ) && empty( $value ) ) {
838
-			$value = isset( $args['std'] ) ? $args['std'] : '';
837
+		if (empty($args['allow_blank']) && empty($value)) {
838
+			$value = isset($args['std']) ? $args['std'] : '';
839 839
 		}
840 840
 	} else {
841
-		$value = isset( $args['std'] ) ? $args['std'] : '';
841
+		$value = isset($args['std']) ? $args['std'] : '';
842 842
 	}
843 843
 
844
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
844
+	$rows = isset($args['size']) ? $args['size'] : 20;
845 845
 
846 846
 	$html = '<div class="getpaid-settings-editor-input">';
847
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
847
+	if ($wp_version >= 3.3 && function_exists('wp_editor')) {
848 848
 		ob_start();
849
-		wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
849
+		wp_editor(stripslashes($value), 'wpinv_settings_' . esc_attr($args['id']), array('textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']', 'textarea_rows' => absint($rows), 'media_buttons' => false));
850 850
 		$html .= ob_get_clean();
851 851
 	} else {
852
-		$html .= '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
852
+		$html .= '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="wpi-' . esc_attr(sanitize_html_class($args['id'])) . '">' . esc_textarea(stripslashes($value)) . '</textarea>';
853 853
 	}
854 854
 
855
-	$html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
855
+	$html .= '</div><br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
856 856
 
857 857
 	echo $html;
858 858
 }
859 859
 
860
-function wpinv_upload_callback( $args ) {
860
+function wpinv_upload_callback($args) {
861 861
 	global $wpinv_options;
862 862
     
863
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
863
+    $sanitize_id = wpinv_sanitize_key($args['id']);
864 864
 
865
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
865
+	if (isset($wpinv_options[$args['id']])) {
866 866
 		$value = $wpinv_options[$args['id']];
867 867
 	} else {
868 868
 		$value = isset($args['std']) ? $args['std'] : '';
869 869
 	}
870 870
 
871
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
872
-	$html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
873
-	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
874
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
871
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
872
+	$html = '<input type="text" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr(stripslashes($value)) . '"/>';
873
+	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __('Upload File', 'invoicing') . '"/></span>';
874
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
875 875
 
876 876
 	echo $html;
877 877
 }
878 878
 
879
-function wpinv_color_callback( $args ) {
879
+function wpinv_color_callback($args) {
880 880
 	global $wpinv_options;
881 881
     
882
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
882
+    $sanitize_id = wpinv_sanitize_key($args['id']);
883 883
 
884
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
885
-		$value = $wpinv_options[ $args['id'] ];
884
+	if (isset($wpinv_options[$args['id']])) {
885
+		$value = $wpinv_options[$args['id']];
886 886
 	} else {
887
-		$value = isset( $args['std'] ) ? $args['std'] : '';
887
+		$value = isset($args['std']) ? $args['std'] : '';
888 888
 	}
889 889
 
890
-	$default = isset( $args['std'] ) ? $args['std'] : '';
890
+	$default = isset($args['std']) ? $args['std'] : '';
891 891
 
892
-	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />';
893
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
892
+	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '" data-default-color="' . esc_attr($default) . '" />';
893
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
894 894
 
895 895
 	echo $html;
896 896
 }
@@ -898,9 +898,9 @@  discard block
 block discarded – undo
898 898
 function wpinv_country_states_callback($args) {
899 899
 	global $wpinv_options;
900 900
     
901
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
901
+    $sanitize_id = wpinv_sanitize_key($args['id']);
902 902
 
903
-	if ( isset( $args['placeholder'] ) ) {
903
+	if (isset($args['placeholder'])) {
904 904
 		$placeholder = $args['placeholder'];
905 905
 	} else {
906 906
 		$placeholder = '';
@@ -908,16 +908,16 @@  discard block
 block discarded – undo
908 908
 
909 909
 	$states = wpinv_get_country_states();
910 910
 
911
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
912
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
911
+	$class = empty($states) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
912
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"' . $class . 'data-placeholder="' . esc_html($placeholder) . '"/>';
913 913
 
914
-	foreach ( $states as $option => $name ) {
915
-		$selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
916
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
914
+	foreach ($states as $option => $name) {
915
+		$selected = isset($wpinv_options[$args['id']]) ? selected($option, $wpinv_options[$args['id']], false) : '';
916
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>';
917 917
 	}
918 918
 
919 919
 	$html .= '</select>';
920
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
920
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
921 921
 
922 922
 	echo $html;
923 923
 }
@@ -932,7 +932,7 @@  discard block
 block discarded – undo
932 932
 	</tr>
933 933
 	<tr class="bsui">
934 934
     	<td colspan="2" class="p-0">
935
-			<?php include plugin_dir_path( __FILE__ ) . 'views/html-tax-rates-edit.php'; ?>
935
+			<?php include plugin_dir_path(__FILE__) . 'views/html-tax-rates-edit.php'; ?>
936 936
 
937 937
 	<?php
938 938
 
@@ -941,14 +941,14 @@  discard block
 block discarded – undo
941 941
 /**
942 942
  * Displays a tax rate' edit row.
943 943
  */
944
-function wpinv_tax_rate_callback( $tax_rate, $key, $echo = true ) {
944
+function wpinv_tax_rate_callback($tax_rate, $key, $echo = true) {
945 945
 	ob_start();
946 946
 
947
-	$key                      = sanitize_key( $key );
948
-	$tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
949
-	include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
947
+	$key                      = sanitize_key($key);
948
+	$tax_rate['reduced_rate'] = empty($tax_rate['reduced_rate']) ? 0 : $tax_rate['reduced_rate'];
949
+	include plugin_dir_path(__FILE__) . 'views/html-tax-rate-edit.php';
950 950
 
951
-	if ( $echo ) {
951
+	if ($echo) {
952 952
 		echo ob_get_clean();
953 953
 	} else {
954 954
 		return ob_get_clean(); 
@@ -961,134 +961,134 @@  discard block
 block discarded – undo
961 961
     ob_start(); ?>
962 962
     </td><tr>
963 963
     <td colspan="2" class="wpinv_tools_tdbox">
964
-    <?php if ( $args['desc'] ) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
965
-    <?php do_action( 'wpinv_tools_before' ); ?>
964
+    <?php if ($args['desc']) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
965
+    <?php do_action('wpinv_tools_before'); ?>
966 966
     <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts">
967 967
         <thead>
968 968
             <tr>
969
-                <th scope="col" class="wpinv-th-tool"><?php _e( 'Tool', 'invoicing' ); ?></th>
970
-                <th scope="col" class="wpinv-th-desc"><?php _e( 'Description', 'invoicing' ); ?></th>
971
-                <th scope="col" class="wpinv-th-action"><?php _e( 'Action', 'invoicing' ); ?></th>
969
+                <th scope="col" class="wpinv-th-tool"><?php _e('Tool', 'invoicing'); ?></th>
970
+                <th scope="col" class="wpinv-th-desc"><?php _e('Description', 'invoicing'); ?></th>
971
+                <th scope="col" class="wpinv-th-action"><?php _e('Action', 'invoicing'); ?></th>
972 972
             </tr>
973 973
         </thead>
974 974
 
975 975
         <tbody>
976 976
 			<tr>
977
-                <td><?php _e( 'Check Pages', 'invoicing' );?></td>
977
+                <td><?php _e('Check Pages', 'invoicing'); ?></td>
978 978
                 <td>
979
-                    <small><?php _e( 'Creates any missing GetPaid pages.', 'invoicing' ); ?></small>
979
+                    <small><?php _e('Creates any missing GetPaid pages.', 'invoicing'); ?></small>
980 980
                 </td>
981 981
                 <td>
982 982
 					<a href="<?php
983 983
 						echo esc_url(
984 984
 							wp_nonce_url(
985
-								add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
985
+								add_query_arg('getpaid-admin-action', 'create_missing_pages'),
986 986
 								'getpaid-nonce',
987 987
 								'getpaid-nonce'
988 988
 							)
989 989
 						);
990
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
990
+					?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a>
991 991
                 </td>
992 992
             </tr>
993 993
 			<tr>
994
-                <td><?php _e( 'Create Database Tables', 'invoicing' );?></td>
994
+                <td><?php _e('Create Database Tables', 'invoicing'); ?></td>
995 995
                 <td>
996
-                    <small><?php _e( 'Run this tool to create any missing database tables.', 'invoicing' ); ?></small>
996
+                    <small><?php _e('Run this tool to create any missing database tables.', 'invoicing'); ?></small>
997 997
                 </td>
998 998
                 <td>
999 999
 					<a href="<?php
1000 1000
 						echo esc_url(
1001 1001
 							wp_nonce_url(
1002
-								add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
1002
+								add_query_arg('getpaid-admin-action', 'create_missing_tables'),
1003 1003
 								'getpaid-nonce',
1004 1004
 								'getpaid-nonce'
1005 1005
 							)
1006 1006
 						);
1007
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
1007
+					?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a>
1008 1008
                 </td>
1009 1009
             </tr>
1010 1010
 			<tr>
1011
-                <td><?php _e( 'Migrate old invoices', 'invoicing' );?></td>
1011
+                <td><?php _e('Migrate old invoices', 'invoicing'); ?></td>
1012 1012
                 <td>
1013
-                    <small><?php _e( 'If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing' ); ?></small>
1013
+                    <small><?php _e('If your old invoices were not migrated after updating from Invoicing to GetPaid, you can use this tool to migrate them.', 'invoicing'); ?></small>
1014 1014
                 </td>
1015 1015
                 <td>
1016 1016
 					<a href="<?php
1017 1017
 						echo esc_url(
1018 1018
 							wp_nonce_url(
1019
-								add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1019
+								add_query_arg('getpaid-admin-action', 'migrate_old_invoices'),
1020 1020
 								'getpaid-nonce',
1021 1021
 								'getpaid-nonce'
1022 1022
 							)
1023 1023
 						);
1024
-					?>" class="button button-primary"><?php _e('Run', 'invoicing');?></a>
1024
+					?>" class="button button-primary"><?php _e('Run', 'invoicing'); ?></a>
1025 1025
                 </td>
1026 1026
             </tr>
1027
-			<?php do_action( 'wpinv_tools_row' ); ?>
1027
+			<?php do_action('wpinv_tools_row'); ?>
1028 1028
         </tbody>
1029 1029
     </table>
1030
-    <?php do_action( 'wpinv_tools_after' ); ?>
1030
+    <?php do_action('wpinv_tools_after'); ?>
1031 1031
     <?php
1032 1032
     echo ob_get_clean();
1033 1033
 }
1034 1034
 
1035 1035
 
1036
-function wpinv_descriptive_text_callback( $args ) {
1037
-	echo wp_kses_post( $args['desc'] );
1036
+function wpinv_descriptive_text_callback($args) {
1037
+	echo wp_kses_post($args['desc']);
1038 1038
 }
1039 1039
 
1040
-function wpinv_raw_html_callback( $args ) {
1040
+function wpinv_raw_html_callback($args) {
1041 1041
 	echo $args['desc'];
1042 1042
 }
1043 1043
 
1044
-function wpinv_hook_callback( $args ) {
1045
-	do_action( 'wpinv_' . $args['id'], $args );
1044
+function wpinv_hook_callback($args) {
1045
+	do_action('wpinv_' . $args['id'], $args);
1046 1046
 }
1047 1047
 
1048 1048
 function wpinv_set_settings_cap() {
1049 1049
 	return wpinv_get_capability();
1050 1050
 }
1051
-add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1051
+add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap');
1052 1052
 
1053
-function wpinv_settings_sanitize_input( $value, $key ) {
1053
+function wpinv_settings_sanitize_input($value, $key) {
1054 1054
 
1055
-    if ( $key == 'tax_rate' ) {
1056
-        $value = wpinv_sanitize_amount( $value );
1055
+    if ($key == 'tax_rate') {
1056
+        $value = wpinv_sanitize_amount($value);
1057 1057
         $value = $value >= 100 ? 99 : $value;
1058 1058
     }
1059 1059
 
1060 1060
     return $value;
1061 1061
 }
1062
-add_filter( 'wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2 );
1062
+add_filter('wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2);
1063 1063
 
1064
-function wpinv_on_update_settings( $old_value, $value, $option ) {
1065
-    $old = !empty( $old_value['remove_data_on_unistall'] ) ? 1 : '';
1066
-    $new = !empty( $value['remove_data_on_unistall'] ) ? 1 : '';
1064
+function wpinv_on_update_settings($old_value, $value, $option) {
1065
+    $old = !empty($old_value['remove_data_on_unistall']) ? 1 : '';
1066
+    $new = !empty($value['remove_data_on_unistall']) ? 1 : '';
1067 1067
     
1068
-    if ( $old != $new ) {
1069
-        update_option( 'wpinv_remove_data_on_invoice_unistall', $new );
1068
+    if ($old != $new) {
1069
+        update_option('wpinv_remove_data_on_invoice_unistall', $new);
1070 1070
     }
1071 1071
 }
1072
-add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 );
1073
-add_action( 'wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1074
-add_action( 'wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1075
-add_action( 'wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1076
-add_action( 'wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1077
-add_action( 'wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1078
-add_action( 'wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1079
-add_action( 'wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1080
-add_action( 'wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1081
-add_action( 'wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1082
-add_action( 'wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1083
-
1084
-function wpinv_settings_tab_bottom_emails( $active_tab, $section ) {
1072
+add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3);
1073
+add_action('wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1074
+add_action('wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1075
+add_action('wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1076
+add_action('wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1077
+add_action('wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1078
+add_action('wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1079
+add_action('wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1080
+add_action('wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1081
+add_action('wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2);
1082
+add_action('wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2);
1083
+
1084
+function wpinv_settings_tab_bottom_emails($active_tab, $section) {
1085 1085
     ?>
1086 1086
     <div class="wpinv-email-wc-row ">
1087 1087
         <div class="wpinv-email-wc-td">
1088
-            <h3 class="wpinv-email-wc-title"><?php echo apply_filters( 'wpinv_settings_email_wildcards_title', __( 'Wildcards For Emails', 'invoicing' ) ); ?></h3>
1088
+            <h3 class="wpinv-email-wc-title"><?php echo apply_filters('wpinv_settings_email_wildcards_title', __('Wildcards For Emails', 'invoicing')); ?></h3>
1089 1089
             <p class="wpinv-email-wc-description">
1090 1090
                 <?php
1091
-                $description = __( 'The following wildcards can be used in email subjects, heading and content:<br>
1091
+                $description = __('The following wildcards can be used in email subjects, heading and content:<br>
1092 1092
                     <strong>{site_title} :</strong> Site Title<br>
1093 1093
                     <strong>{name} :</strong> Customer\'s full name<br>
1094 1094
                     <strong>{first_name} :</strong> Customer\'s first name<br>
@@ -1102,7 +1102,7 @@  discard block
 block discarded – undo
1102 1102
                     <strong>{invoice_due_date} :</strong> The date the invoice is due<br>
1103 1103
                     <strong>{date} :</strong> Today\'s date.<br>
1104 1104
                     <strong>{is_was} :</strong> If due date of invoice is past, displays "was" otherwise displays "is"<br>
1105
-                    <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing' );
1105
+                    <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing');
1106 1106
                 echo apply_filters('wpinv_settings_email_wildcards_description', $description, $active_tab, $section);
1107 1107
                 ?>
1108 1108
             </p>
Please login to merge, or discard this patch.
includes/admin/class-getpaid-post-types-admin.php 2 patches
Indentation   +639 added lines, -639 removed lines patch added patch discarded remove patch
@@ -13,646 +13,646 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Post_Types_Admin {
14 14
 
15 15
     /**
16
-	 * Hook in methods.
17
-	 */
18
-	public static function init() {
19
-
20
-		// Init metaboxes.
21
-		GetPaid_Metaboxes::init();
22
-
23
-		// Filter the post updated messages.
24
-		add_filter( 'post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages' );
25
-
26
-		// Filter post actions.
27
-		add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2 );
28
-		add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2 );
29
-
30
-		// Invoice table columns.
31
-		add_filter( 'manage_wpi_invoice_posts_columns', array( __CLASS__, 'invoice_columns' ), 100 );
32
-		add_action( 'manage_wpi_invoice_posts_custom_column', array( __CLASS__, 'display_invoice_columns' ), 10, 2 );
33
-
34
-		// Items table columns.
35
-		add_filter( 'manage_wpi_item_posts_columns', array( __CLASS__, 'item_columns' ), 100 );
36
-		add_filter( 'manage_edit-wpi_item_sortable_columns', array( __CLASS__, 'sortable_item_columns' ), 20 );
37
-		add_action( 'manage_wpi_item_posts_custom_column', array( __CLASS__, 'display_item_columns' ), 10, 2 );
38
-		add_action( 'restrict_manage_posts', array( __CLASS__, 'add_item_filters' ), 100 );
39
-		add_action( 'parse_query', array( __CLASS__, 'filter_item_query' ), 100 );
40
-		add_action( 'request', array( __CLASS__, 'reorder_items' ), 100 );
41
-
42
-		// Payment forms columns.
43
-		add_filter( 'manage_wpi_payment_form_posts_columns', array( __CLASS__, 'payment_form_columns' ), 100 );
44
-		add_action( 'manage_wpi_payment_form_posts_custom_column', array( __CLASS__, 'display_payment_form_columns' ), 10, 2 );
45
-		add_filter( 'display_post_states', array( __CLASS__, 'filter_payment_form_state' ), 10, 2 );
46
-
47
-		// Discount table columns.
48
-		add_filter( 'manage_wpi_discount_posts_columns', array( __CLASS__, 'discount_columns' ), 100 );
49
-		add_filter( 'bulk_actions-edit-wpi_discount', '__return_empty_array', 100 );
50
-
51
-		// Deleting posts.
52
-		add_action( 'delete_post', array( __CLASS__, 'delete_post' ) );
53
-		add_filter( 'display_post_states', array( __CLASS__, 'filter_discount_state' ), 10, 2 );
54
-	}
55
-
56
-	/**
57
-	 * Post updated messages.
58
-	 */
59
-	public static function post_updated_messages( $messages ) {
60
-		global $post;
61
-
62
-		$messages['wpi_discount'] = array(
63
-			0   => '',
64
-			1   => __( 'Discount updated.', 'invoicing' ),
65
-			2   => __( 'Custom field updated.', 'invoicing' ),
66
-			3   => __( 'Custom field deleted.', 'invoicing' ),
67
-			4   => __( 'Discount updated.', 'invoicing' ),
68
-			5   => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
69
-			6   => __( 'Discount updated.', 'invoicing' ),
70
-			7   => __( 'Discount saved.', 'invoicing' ),
71
-			8   => __( 'Discount submitted.', 'invoicing' ),
72
-			9   => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ),
73
-			10  => __( 'Discount draft updated.', 'invoicing' ),
74
-		);
75
-
76
-		$messages['wpi_payment_form'] = array(
77
-			0   => '',
78
-			1   => __( 'Payment Form updated.', 'invoicing' ),
79
-			2   => __( 'Custom field updated.', 'invoicing' ),
80
-			3   => __( 'Custom field deleted.', 'invoicing' ),
81
-			4   => __( 'Payment Form updated.', 'invoicing' ),
82
-			5   => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Payment Form restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
83
-			6   => __( 'Payment Form updated.', 'invoicing' ),
84
-			7   => __( 'Payment Form saved.', 'invoicing' ),
85
-			8   => __( 'Payment Form submitted.', 'invoicing' ),
86
-			9   => wp_sprintf( __( 'Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ),
87
-			10  => __( 'Payment Form draft updated.', 'invoicing' ),
88
-		);
89
-
90
-		return $messages;
91
-
92
-	}
93
-
94
-	/**
95
-	 * Post row actions.
96
-	 */
97
-	public static function post_row_actions( $actions, $post ) {
98
-
99
-		$post = get_post( $post );
100
-
101
-		// We do not want to edit the default payment form.
102
-		if ( 'wpi_payment_form' == $post->post_type && $post->ID == wpinv_get_default_payment_form() ) {
103
-			unset( $actions['trash'] );
104
-			unset( $actions['inline hide-if-no-js'] );
105
-		}
106
-
107
-		return $actions;
108
-	}
109
-
110
-	/**
16
+     * Hook in methods.
17
+     */
18
+    public static function init() {
19
+
20
+        // Init metaboxes.
21
+        GetPaid_Metaboxes::init();
22
+
23
+        // Filter the post updated messages.
24
+        add_filter( 'post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages' );
25
+
26
+        // Filter post actions.
27
+        add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2 );
28
+        add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2 );
29
+
30
+        // Invoice table columns.
31
+        add_filter( 'manage_wpi_invoice_posts_columns', array( __CLASS__, 'invoice_columns' ), 100 );
32
+        add_action( 'manage_wpi_invoice_posts_custom_column', array( __CLASS__, 'display_invoice_columns' ), 10, 2 );
33
+
34
+        // Items table columns.
35
+        add_filter( 'manage_wpi_item_posts_columns', array( __CLASS__, 'item_columns' ), 100 );
36
+        add_filter( 'manage_edit-wpi_item_sortable_columns', array( __CLASS__, 'sortable_item_columns' ), 20 );
37
+        add_action( 'manage_wpi_item_posts_custom_column', array( __CLASS__, 'display_item_columns' ), 10, 2 );
38
+        add_action( 'restrict_manage_posts', array( __CLASS__, 'add_item_filters' ), 100 );
39
+        add_action( 'parse_query', array( __CLASS__, 'filter_item_query' ), 100 );
40
+        add_action( 'request', array( __CLASS__, 'reorder_items' ), 100 );
41
+
42
+        // Payment forms columns.
43
+        add_filter( 'manage_wpi_payment_form_posts_columns', array( __CLASS__, 'payment_form_columns' ), 100 );
44
+        add_action( 'manage_wpi_payment_form_posts_custom_column', array( __CLASS__, 'display_payment_form_columns' ), 10, 2 );
45
+        add_filter( 'display_post_states', array( __CLASS__, 'filter_payment_form_state' ), 10, 2 );
46
+
47
+        // Discount table columns.
48
+        add_filter( 'manage_wpi_discount_posts_columns', array( __CLASS__, 'discount_columns' ), 100 );
49
+        add_filter( 'bulk_actions-edit-wpi_discount', '__return_empty_array', 100 );
50
+
51
+        // Deleting posts.
52
+        add_action( 'delete_post', array( __CLASS__, 'delete_post' ) );
53
+        add_filter( 'display_post_states', array( __CLASS__, 'filter_discount_state' ), 10, 2 );
54
+    }
55
+
56
+    /**
57
+     * Post updated messages.
58
+     */
59
+    public static function post_updated_messages( $messages ) {
60
+        global $post;
61
+
62
+        $messages['wpi_discount'] = array(
63
+            0   => '',
64
+            1   => __( 'Discount updated.', 'invoicing' ),
65
+            2   => __( 'Custom field updated.', 'invoicing' ),
66
+            3   => __( 'Custom field deleted.', 'invoicing' ),
67
+            4   => __( 'Discount updated.', 'invoicing' ),
68
+            5   => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
69
+            6   => __( 'Discount updated.', 'invoicing' ),
70
+            7   => __( 'Discount saved.', 'invoicing' ),
71
+            8   => __( 'Discount submitted.', 'invoicing' ),
72
+            9   => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ),
73
+            10  => __( 'Discount draft updated.', 'invoicing' ),
74
+        );
75
+
76
+        $messages['wpi_payment_form'] = array(
77
+            0   => '',
78
+            1   => __( 'Payment Form updated.', 'invoicing' ),
79
+            2   => __( 'Custom field updated.', 'invoicing' ),
80
+            3   => __( 'Custom field deleted.', 'invoicing' ),
81
+            4   => __( 'Payment Form updated.', 'invoicing' ),
82
+            5   => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Payment Form restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
83
+            6   => __( 'Payment Form updated.', 'invoicing' ),
84
+            7   => __( 'Payment Form saved.', 'invoicing' ),
85
+            8   => __( 'Payment Form submitted.', 'invoicing' ),
86
+            9   => wp_sprintf( __( 'Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ),
87
+            10  => __( 'Payment Form draft updated.', 'invoicing' ),
88
+        );
89
+
90
+        return $messages;
91
+
92
+    }
93
+
94
+    /**
95
+     * Post row actions.
96
+     */
97
+    public static function post_row_actions( $actions, $post ) {
98
+
99
+        $post = get_post( $post );
100
+
101
+        // We do not want to edit the default payment form.
102
+        if ( 'wpi_payment_form' == $post->post_type && $post->ID == wpinv_get_default_payment_form() ) {
103
+            unset( $actions['trash'] );
104
+            unset( $actions['inline hide-if-no-js'] );
105
+        }
106
+
107
+        return $actions;
108
+    }
109
+
110
+    /**
111 111
      * Remove bulk edit option from admin side quote listing
112 112
      *
113 113
      * @since    1.0.0
114 114
      * @param array $actions post actions
115
-	 * @param WP_Post $post
115
+     * @param WP_Post $post
116 116
      * @return array $actions actions without edit option
117 117
      */
118 118
     public static function filter_invoice_row_actions( $actions, $post ) {
119 119
 
120 120
         if ( getpaid_is_invoice_post_type( $post->post_type ) ) {
121 121
 
122
-			$actions = array();
123
-			$invoice = new WPInv_Invoice( $post );
124
-
125
-			$actions['edit'] =  sprintf(
126
-				'<a href="%1$s">%2$s</a>',
127
-				esc_url( get_edit_post_link( $invoice->get_id() ) ),
128
-				esc_html( __( 'Edit', 'invoicing' ) )
129
-			);
130
-
131
-			if ( ! $invoice->is_draft() ) {
132
-
133
-				$actions['view'] =  sprintf(
134
-					'<a href="%1$s">%2$s</a>',
135
-					esc_url( $invoice->get_view_url() ),
136
-					sprintf(
137
-						esc_html( __( 'View %s', 'invoicing' ) ),
138
-						getpaid_get_post_type_label( $invoice->get_post_type(), false )
139
-					)
140
-				);
141
-
142
-				$actions['send'] =  sprintf(
143
-					'<a href="%1$s">%2$s</a>',
144
-					esc_url(
145
-						wp_nonce_url(
146
-							add_query_arg(
147
-								array(
148
-									'getpaid-admin-action' => 'send_invoice',
149
-									'invoice_id'           => $invoice->get_id()
150
-								)
151
-							),
152
-							'getpaid-nonce',
153
-							'getpaid-nonce'
154
-						)
155
-					),
156
-					esc_html( __( 'Send to Customer', 'invoicing' ) )
157
-				);
158
-
159
-			}
122
+            $actions = array();
123
+            $invoice = new WPInv_Invoice( $post );
124
+
125
+            $actions['edit'] =  sprintf(
126
+                '<a href="%1$s">%2$s</a>',
127
+                esc_url( get_edit_post_link( $invoice->get_id() ) ),
128
+                esc_html( __( 'Edit', 'invoicing' ) )
129
+            );
130
+
131
+            if ( ! $invoice->is_draft() ) {
132
+
133
+                $actions['view'] =  sprintf(
134
+                    '<a href="%1$s">%2$s</a>',
135
+                    esc_url( $invoice->get_view_url() ),
136
+                    sprintf(
137
+                        esc_html( __( 'View %s', 'invoicing' ) ),
138
+                        getpaid_get_post_type_label( $invoice->get_post_type(), false )
139
+                    )
140
+                );
141
+
142
+                $actions['send'] =  sprintf(
143
+                    '<a href="%1$s">%2$s</a>',
144
+                    esc_url(
145
+                        wp_nonce_url(
146
+                            add_query_arg(
147
+                                array(
148
+                                    'getpaid-admin-action' => 'send_invoice',
149
+                                    'invoice_id'           => $invoice->get_id()
150
+                                )
151
+                            ),
152
+                            'getpaid-nonce',
153
+                            'getpaid-nonce'
154
+                        )
155
+                    ),
156
+                    esc_html( __( 'Send to Customer', 'invoicing' ) )
157
+                );
158
+
159
+            }
160 160
 
161 161
         }
162 162
 
163 163
         return $actions;
164
-	}
165
-
166
-	/**
167
-	 * Returns an array of invoice table columns.
168
-	 */
169
-	public static function invoice_columns( $columns ) {
170
-
171
-		$columns = array(
172
-			'cb'                => $columns['cb'],
173
-			'number'            => __( 'Invoice', 'invoicing' ),
174
-			'customer'          => __( 'Customer', 'invoicing' ),
175
-			'invoice_date'      => __( 'Created', 'invoicing' ),
176
-			'payment_date'      => __( 'Completed', 'invoicing' ),
177
-			'amount'            => __( 'Amount', 'invoicing' ),
178
-			'recurring'         => __( 'Recurring', 'invoicing' ),
179
-			'status'            => __( 'Status', 'invoicing' ),
180
-		);
181
-
182
-		return apply_filters( 'wpi_invoice_table_columns', $columns );
183
-	}
184
-
185
-	/**
186
-	 * Displays invoice table columns.
187
-	 */
188
-	public static function display_invoice_columns( $column_name, $post_id ) {
189
-
190
-		$invoice = new WPInv_Invoice( $post_id );
191
-
192
-		switch ( $column_name ) {
193
-
194
-			case 'invoice_date' :
195
-				$date_time = esc_attr( $invoice->get_created_date() );
196
-				$date      = getpaid_format_date_value( $date_time, "&mdash;", true );
197
-				echo "<span title='$date_time'>$date</span>";
198
-				break;
199
-
200
-			case 'payment_date' :
201
-
202
-				if ( $invoice->is_paid() ) {
203
-					$date_time = esc_attr( $invoice->get_completed_date() );
204
-					$date      = getpaid_format_date_value( $date_time, "&mdash;", true );
205
-					echo "<span title='$date_time'>$date</span>";
206
-				} else {
207
-					echo "&mdash;";
208
-				}
164
+    }
165
+
166
+    /**
167
+     * Returns an array of invoice table columns.
168
+     */
169
+    public static function invoice_columns( $columns ) {
170
+
171
+        $columns = array(
172
+            'cb'                => $columns['cb'],
173
+            'number'            => __( 'Invoice', 'invoicing' ),
174
+            'customer'          => __( 'Customer', 'invoicing' ),
175
+            'invoice_date'      => __( 'Created', 'invoicing' ),
176
+            'payment_date'      => __( 'Completed', 'invoicing' ),
177
+            'amount'            => __( 'Amount', 'invoicing' ),
178
+            'recurring'         => __( 'Recurring', 'invoicing' ),
179
+            'status'            => __( 'Status', 'invoicing' ),
180
+        );
181
+
182
+        return apply_filters( 'wpi_invoice_table_columns', $columns );
183
+    }
184
+
185
+    /**
186
+     * Displays invoice table columns.
187
+     */
188
+    public static function display_invoice_columns( $column_name, $post_id ) {
189
+
190
+        $invoice = new WPInv_Invoice( $post_id );
191
+
192
+        switch ( $column_name ) {
193
+
194
+            case 'invoice_date' :
195
+                $date_time = esc_attr( $invoice->get_created_date() );
196
+                $date      = getpaid_format_date_value( $date_time, "&mdash;", true );
197
+                echo "<span title='$date_time'>$date</span>";
198
+                break;
199
+
200
+            case 'payment_date' :
201
+
202
+                if ( $invoice->is_paid() ) {
203
+                    $date_time = esc_attr( $invoice->get_completed_date() );
204
+                    $date      = getpaid_format_date_value( $date_time, "&mdash;", true );
205
+                    echo "<span title='$date_time'>$date</span>";
206
+                } else {
207
+                    echo "&mdash;";
208
+                }
209 209
 				
210
-				break;
210
+                break;
211 211
 
212
-			case 'amount' :
212
+            case 'amount' :
213 213
 
214
-				$amount = $invoice->get_total();
215
-				$formated_amount = wpinv_price( $amount, $invoice->get_currency() );
214
+                $amount = $invoice->get_total();
215
+                $formated_amount = wpinv_price( $amount, $invoice->get_currency() );
216 216
 
217
-				if ( $invoice->is_refunded() ) {
218
-					$refunded_amount = wpinv_price( 0, $invoice->get_currency() );
219
-					echo "<del>$formated_amount</del>&nbsp;<ins>$refunded_amount</ins>";
220
-				} else {
217
+                if ( $invoice->is_refunded() ) {
218
+                    $refunded_amount = wpinv_price( 0, $invoice->get_currency() );
219
+                    echo "<del>$formated_amount</del>&nbsp;<ins>$refunded_amount</ins>";
220
+                } else {
221 221
 
222
-					$discount = $invoice->get_total_discount();
222
+                    $discount = $invoice->get_total_discount();
223 223
 
224
-					if ( ! empty( $discount ) ) {
225
-						$new_amount = wpinv_price( $amount + $discount, $invoice->get_currency() );
226
-						echo "<del>$new_amount</del>&nbsp;<ins>$formated_amount</ins>";
227
-					} else {
228
-						echo $formated_amount;
229
-					}
224
+                    if ( ! empty( $discount ) ) {
225
+                        $new_amount = wpinv_price( $amount + $discount, $invoice->get_currency() );
226
+                        echo "<del>$new_amount</del>&nbsp;<ins>$formated_amount</ins>";
227
+                    } else {
228
+                        echo $formated_amount;
229
+                    }
230 230
 
231
-				}
231
+                }
232 232
 
233
-				break;
233
+                break;
234 234
 
235
-			case 'status' :
236
-				$status       = sanitize_text_field( $invoice->get_status() );
237
-				$status_label = sanitize_text_field( $invoice->get_status_nicename() );
235
+            case 'status' :
236
+                $status       = sanitize_text_field( $invoice->get_status() );
237
+                $status_label = sanitize_text_field( $invoice->get_status_nicename() );
238 238
 
239
-				// If it is paid, show the gateway title.
240
-				if ( $invoice->is_paid() ) {
241
-					$gateway = sanitize_text_field( $invoice->get_gateway_title() );
242
-					$gateway = wp_sprintf( esc_attr__( 'Paid via %s', 'invoicing' ), $gateway );
239
+                // If it is paid, show the gateway title.
240
+                if ( $invoice->is_paid() ) {
241
+                    $gateway = sanitize_text_field( $invoice->get_gateway_title() );
242
+                    $gateway = wp_sprintf( esc_attr__( 'Paid via %s', 'invoicing' ), $gateway );
243 243
 
244
-					echo "<mark class='wpi-help-tip getpaid-invoice-status $status' title='$gateway'><span>$status_label</span></mark>";
245
-				} else {
246
-					echo "<mark class='getpaid-invoice-status $status'><span>$status_label</span></mark>";
247
-				}
244
+                    echo "<mark class='wpi-help-tip getpaid-invoice-status $status' title='$gateway'><span>$status_label</span></mark>";
245
+                } else {
246
+                    echo "<mark class='getpaid-invoice-status $status'><span>$status_label</span></mark>";
247
+                }
248 248
 
249
-				// If it is not paid, display the overdue and view status.
250
-				if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
249
+                // If it is not paid, display the overdue and view status.
250
+                if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
251 251
 
252
-					// Invoice view status.
253
-					if ( wpinv_is_invoice_viewed( $invoice->get_id() ) ) {
254
-						echo '&nbsp;&nbsp;<i class="fa fa-eye wpi-help-tip" title="'. esc_attr__( 'Viewed by Customer', 'invoicing' ).'"></i>';
255
-					} else {
256
-						echo '&nbsp;&nbsp;<i class="fa fa-eye-slash wpi-help-tip" title="'. esc_attr__( 'Not Viewed by Customer', 'invoicing' ).'"></i>';
257
-					}
252
+                    // Invoice view status.
253
+                    if ( wpinv_is_invoice_viewed( $invoice->get_id() ) ) {
254
+                        echo '&nbsp;&nbsp;<i class="fa fa-eye wpi-help-tip" title="'. esc_attr__( 'Viewed by Customer', 'invoicing' ).'"></i>';
255
+                    } else {
256
+                        echo '&nbsp;&nbsp;<i class="fa fa-eye-slash wpi-help-tip" title="'. esc_attr__( 'Not Viewed by Customer', 'invoicing' ).'"></i>';
257
+                    }
258 258
 
259
-					// Display the overview status.
260
-					if ( wpinv_get_option( 'overdue_active' ) ) {
261
-						$due_date = $invoice->get_due_date();
262
-						$fomatted = getpaid_format_date( $due_date );
259
+                    // Display the overview status.
260
+                    if ( wpinv_get_option( 'overdue_active' ) ) {
261
+                        $due_date = $invoice->get_due_date();
262
+                        $fomatted = getpaid_format_date( $due_date );
263 263
 
264
-						if ( ! empty( $fomatted ) ) {
265
-							$date = wp_sprintf( __( 'Due %s', 'invoicing' ), $fomatted );
266
-							echo "<p class='description' style='color: #888;' title='$due_date'>$fomatted</p>";
267
-						}
268
-					}
264
+                        if ( ! empty( $fomatted ) ) {
265
+                            $date = wp_sprintf( __( 'Due %s', 'invoicing' ), $fomatted );
266
+                            echo "<p class='description' style='color: #888;' title='$due_date'>$fomatted</p>";
267
+                        }
268
+                    }
269 269
 
270
-				}
270
+                }
271 271
 
272
-				break;
272
+                break;
273 273
 
274
-			case 'recurring':
274
+            case 'recurring':
275 275
 
276
-				if ( $invoice->is_recurring() ) {
277
-					echo '<i class="fa fa-check" style="color:#43850a;"></i>';
278
-				} else {
279
-					echo '<i class="fa fa-times" style="color:#616161;"></i>';
280
-				}
281
-				break;
276
+                if ( $invoice->is_recurring() ) {
277
+                    echo '<i class="fa fa-check" style="color:#43850a;"></i>';
278
+                } else {
279
+                    echo '<i class="fa fa-times" style="color:#616161;"></i>';
280
+                }
281
+                break;
282 282
 
283
-			case 'number' :
283
+            case 'number' :
284 284
 
285
-				$edit_link       = esc_url( get_edit_post_link( $invoice->get_id() ) );
286
-				$invoice_number  = sanitize_text_field( $invoice->get_number() );
287
-				$invoice_details = esc_attr__( 'View Invoice Details', 'invoicing' );
285
+                $edit_link       = esc_url( get_edit_post_link( $invoice->get_id() ) );
286
+                $invoice_number  = sanitize_text_field( $invoice->get_number() );
287
+                $invoice_details = esc_attr__( 'View Invoice Details', 'invoicing' );
288 288
 
289
-				echo "<a href='$edit_link' title='$invoice_details'><strong>$invoice_number</strong></a>";
289
+                echo "<a href='$edit_link' title='$invoice_details'><strong>$invoice_number</strong></a>";
290 290
 
291
-				break;
291
+                break;
292 292
 
293
-			case 'customer' :
293
+            case 'customer' :
294 294
 	
295
-				$customer_name = $invoice->get_user_full_name();
295
+                $customer_name = $invoice->get_user_full_name();
296 296
 	
297
-				if ( empty( $customer_name ) ) {
298
-					$customer_name = $invoice->get_email();
299
-				}
297
+                if ( empty( $customer_name ) ) {
298
+                    $customer_name = $invoice->get_email();
299
+                }
300 300
 	
301
-				if ( ! empty( $customer_name ) ) {
302
-					$customer_details = esc_attr__( 'View Customer Details', 'invoicing' );
303
-					$view_link        = esc_url( add_query_arg( 'user_id', $invoice->get_user_id(), admin_url( 'user-edit.php' ) ) );
304
-					echo "<a href='$view_link' title='$customer_details'><span>$customer_name</span></a>";
305
-				} else {
306
-					echo '<div>&mdash;</div>';
307
-				}
301
+                if ( ! empty( $customer_name ) ) {
302
+                    $customer_details = esc_attr__( 'View Customer Details', 'invoicing' );
303
+                    $view_link        = esc_url( add_query_arg( 'user_id', $invoice->get_user_id(), admin_url( 'user-edit.php' ) ) );
304
+                    echo "<a href='$view_link' title='$customer_details'><span>$customer_name</span></a>";
305
+                } else {
306
+                    echo '<div>&mdash;</div>';
307
+                }
308 308
 
309
-				break;
309
+                break;
310 310
 
311
-		}
311
+        }
312 312
 
313
-	}
313
+    }
314 314
 
315
-	/**
316
-	 * Returns an array of payment forms table columns.
317
-	 */
318
-	public static function payment_form_columns( $columns ) {
315
+    /**
316
+     * Returns an array of payment forms table columns.
317
+     */
318
+    public static function payment_form_columns( $columns ) {
319 319
 
320
-		$columns = array(
321
-			'cb'                => $columns['cb'],
322
-			'title'             => __( 'Name', 'invoicing' ),
323
-			'shortcode'         => __( 'Shortcode', 'invoicing' ),
324
-			'earnings'          => __( 'Revenue', 'invoicing' ),
325
-			'refunds'           => __( 'Refunded', 'invoicing' ),
326
-			'items'             => __( 'Items', 'invoicing' ),
327
-			'date'              => __( 'Date', 'invoicing' ),
328
-		);
320
+        $columns = array(
321
+            'cb'                => $columns['cb'],
322
+            'title'             => __( 'Name', 'invoicing' ),
323
+            'shortcode'         => __( 'Shortcode', 'invoicing' ),
324
+            'earnings'          => __( 'Revenue', 'invoicing' ),
325
+            'refunds'           => __( 'Refunded', 'invoicing' ),
326
+            'items'             => __( 'Items', 'invoicing' ),
327
+            'date'              => __( 'Date', 'invoicing' ),
328
+        );
329 329
 
330
-		return apply_filters( 'wpi_payment_form_table_columns', $columns );
330
+        return apply_filters( 'wpi_payment_form_table_columns', $columns );
331 331
 
332
-	}
332
+    }
333 333
 
334
-	/**
335
-	 * Displays payment form table columns.
336
-	 */
337
-	public static function display_payment_form_columns( $column_name, $post_id ) {
334
+    /**
335
+     * Displays payment form table columns.
336
+     */
337
+    public static function display_payment_form_columns( $column_name, $post_id ) {
338 338
 
339
-		// Retrieve the payment form.
340
-		$form = new GetPaid_Payment_Form( $post_id );
339
+        // Retrieve the payment form.
340
+        $form = new GetPaid_Payment_Form( $post_id );
341 341
 
342
-		switch ( $column_name ) {
342
+        switch ( $column_name ) {
343 343
 
344
-			case 'earnings' :
345
-				echo wpinv_price( $form->get_earned() );
346
-				break;
344
+            case 'earnings' :
345
+                echo wpinv_price( $form->get_earned() );
346
+                break;
347 347
 
348
-			case 'refunds' :
349
-				echo wpinv_price( $form->get_refunded() );
350
-				break;
348
+            case 'refunds' :
349
+                echo wpinv_price( $form->get_refunded() );
350
+                break;
351 351
 
352
-			case 'refunds' :
353
-				echo wpinv_price( $form->get_refunded() );
354
-				break;
352
+            case 'refunds' :
353
+                echo wpinv_price( $form->get_refunded() );
354
+                break;
355 355
 
356
-			case 'shortcode' :
356
+            case 'shortcode' :
357 357
 
358
-				if ( $form->is_default() ) {
359
-					echo '&mdash;';
360
-				} else {
361
-					echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr( $form->get_id() ) . ']" style="width: 100%;" readonly/>';
362
-				}
358
+                if ( $form->is_default() ) {
359
+                    echo '&mdash;';
360
+                } else {
361
+                    echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr( $form->get_id() ) . ']" style="width: 100%;" readonly/>';
362
+                }
363 363
 
364
-				break;
364
+                break;
365 365
 
366
-			case 'items' :
366
+            case 'items' :
367 367
 
368
-				$items = $form->get_items();
368
+                $items = $form->get_items();
369 369
 
370
-				if ( $form->is_default() || empty( $items ) ) {
371
-					echo '&mdash;';
372
-					return;
373
-				}
370
+                if ( $form->is_default() || empty( $items ) ) {
371
+                    echo '&mdash;';
372
+                    return;
373
+                }
374 374
 
375
-				$_items = array();
375
+                $_items = array();
376 376
 
377
-				foreach ( $items as $item ) {
378
-					$url = $item->get_edit_url();
377
+                foreach ( $items as $item ) {
378
+                    $url = $item->get_edit_url();
379 379
 
380
-					if ( empty( $url ) ) {
381
-						$_items[] = sanitize_text_field( $item->get_name() );
382
-					} else {
383
-						$_items[] = sprintf(
384
-							'<a href="%s">%s</a>',
385
-							esc_url( $url ),
386
-							sanitize_text_field( $item->get_name() )
387
-						);
388
-					}
380
+                    if ( empty( $url ) ) {
381
+                        $_items[] = sanitize_text_field( $item->get_name() );
382
+                    } else {
383
+                        $_items[] = sprintf(
384
+                            '<a href="%s">%s</a>',
385
+                            esc_url( $url ),
386
+                            sanitize_text_field( $item->get_name() )
387
+                        );
388
+                    }
389 389
 
390
-				}
390
+                }
391 391
 
392
-				echo implode( '<br>', $_items );
392
+                echo implode( '<br>', $_items );
393 393
 
394
-				break;
394
+                break;
395 395
 
396
-		}
396
+        }
397 397
 
398
-	}
398
+    }
399 399
 
400
-	/**
401
-	 * Filters post states.
402
-	 */
403
-	public static function filter_payment_form_state( $post_states, $post ) {
400
+    /**
401
+     * Filters post states.
402
+     */
403
+    public static function filter_payment_form_state( $post_states, $post ) {
404 404
 
405
-		if ( 'wpi_payment_form' == $post->post_type && wpinv_get_default_payment_form() == $post->ID ) {
406
-			$post_states[ 'default_form' ] = __( 'Default Payment Form', 'invoicing' );
407
-		}
405
+        if ( 'wpi_payment_form' == $post->post_type && wpinv_get_default_payment_form() == $post->ID ) {
406
+            $post_states[ 'default_form' ] = __( 'Default Payment Form', 'invoicing' );
407
+        }
408 408
 	
409
-		return $post_states;
410
-
411
-	}
412
-
413
-	/**
414
-	 * Returns an array of coupon table columns.
415
-	 */
416
-	public static function discount_columns( $columns ) {
417
-
418
-		$columns = array(
419
-			'cb'                => $columns['cb'],
420
-			'title'             => __( 'Name', 'invoicing' ),
421
-			'code'              => __( 'Code', 'invoicing' ),
422
-			'amount'            => __( 'Amount', 'invoicing' ),
423
-			'usage'             => __( 'Usage / Limit', 'invoicing' ),
424
-			'start_date'        => __( 'Start Date', 'invoicing' ),
425
-			'expiry_date'       => __( 'Expiry Date', 'invoicing' ),
426
-		);
427
-
428
-		return apply_filters( 'wpi_discount_table_columns', $columns );
429
-	}
430
-
431
-	/**
432
-	 * Filters post states.
433
-	 */
434
-	public static function filter_discount_state( $post_states, $post ) {
435
-
436
-		if ( 'wpi_discount' == $post->post_type ) {
437
-
438
-			$discount = new WPInv_Discount( $post );
439
-
440
-			$status = $discount->is_expired() ? 'expired' : $discount->get_status();
441
-
442
-			if ( $status != 'publish' ) {
443
-				return array(
444
-					'discount_status' => wpinv_discount_status( $status ),
445
-				);
446
-			}
447
-
448
-			return array();
449
-
450
-		}
451
-
452
-		return $post_states;
453
-
454
-	}
455
-
456
-	/**
457
-	 * Returns an array of items table columns.
458
-	 */
459
-	public static function item_columns( $columns ) {
460
-
461
-		$columns = array(
462
-			'cb'                => $columns['cb'],
463
-			'title'             => __( 'Name', 'invoicing' ),
464
-			'price'             => __( 'Price', 'invoicing' ),
465
-			'vat_rule'          => __( 'VAT rule', 'invoicing' ),
466
-			'vat_class'         => __( 'VAT class', 'invoicing' ),
467
-			'type'              => __( 'Type', 'invoicing' ),
468
-			'shortcode'         => __( 'Shortcode', 'invoicing' ),
469
-		);
470
-
471
-		if ( ! wpinv_use_taxes() ) {
472
-			unset( $columns['vat_rule'] );
473
-			unset( $columns['vat_class'] );
474
-		}
475
-
476
-		return apply_filters( 'wpi_item_table_columns', $columns );
477
-	}
478
-
479
-	/**
480
-	 * Returns an array of sortable items table columns.
481
-	 */
482
-	public static function sortable_item_columns( $columns ) {
483
-
484
-		return array_merge(
485
-			$columns,
486
-			array(
487
-				'price'     => 'price',
488
-				'vat_rule'  => 'vat_rule',
489
-				'vat_class' => 'vat_class',
490
-				'type'      => 'type',
491
-			)
492
-		);
493
-
494
-	}
495
-
496
-	/**
497
-	 * Displays items table columns.
498
-	 */
499
-	public static function display_item_columns( $column_name, $post_id ) {
409
+        return $post_states;
410
+
411
+    }
412
+
413
+    /**
414
+     * Returns an array of coupon table columns.
415
+     */
416
+    public static function discount_columns( $columns ) {
417
+
418
+        $columns = array(
419
+            'cb'                => $columns['cb'],
420
+            'title'             => __( 'Name', 'invoicing' ),
421
+            'code'              => __( 'Code', 'invoicing' ),
422
+            'amount'            => __( 'Amount', 'invoicing' ),
423
+            'usage'             => __( 'Usage / Limit', 'invoicing' ),
424
+            'start_date'        => __( 'Start Date', 'invoicing' ),
425
+            'expiry_date'       => __( 'Expiry Date', 'invoicing' ),
426
+        );
427
+
428
+        return apply_filters( 'wpi_discount_table_columns', $columns );
429
+    }
430
+
431
+    /**
432
+     * Filters post states.
433
+     */
434
+    public static function filter_discount_state( $post_states, $post ) {
435
+
436
+        if ( 'wpi_discount' == $post->post_type ) {
437
+
438
+            $discount = new WPInv_Discount( $post );
439
+
440
+            $status = $discount->is_expired() ? 'expired' : $discount->get_status();
441
+
442
+            if ( $status != 'publish' ) {
443
+                return array(
444
+                    'discount_status' => wpinv_discount_status( $status ),
445
+                );
446
+            }
447
+
448
+            return array();
449
+
450
+        }
451
+
452
+        return $post_states;
453
+
454
+    }
455
+
456
+    /**
457
+     * Returns an array of items table columns.
458
+     */
459
+    public static function item_columns( $columns ) {
460
+
461
+        $columns = array(
462
+            'cb'                => $columns['cb'],
463
+            'title'             => __( 'Name', 'invoicing' ),
464
+            'price'             => __( 'Price', 'invoicing' ),
465
+            'vat_rule'          => __( 'VAT rule', 'invoicing' ),
466
+            'vat_class'         => __( 'VAT class', 'invoicing' ),
467
+            'type'              => __( 'Type', 'invoicing' ),
468
+            'shortcode'         => __( 'Shortcode', 'invoicing' ),
469
+        );
470
+
471
+        if ( ! wpinv_use_taxes() ) {
472
+            unset( $columns['vat_rule'] );
473
+            unset( $columns['vat_class'] );
474
+        }
475
+
476
+        return apply_filters( 'wpi_item_table_columns', $columns );
477
+    }
478
+
479
+    /**
480
+     * Returns an array of sortable items table columns.
481
+     */
482
+    public static function sortable_item_columns( $columns ) {
483
+
484
+        return array_merge(
485
+            $columns,
486
+            array(
487
+                'price'     => 'price',
488
+                'vat_rule'  => 'vat_rule',
489
+                'vat_class' => 'vat_class',
490
+                'type'      => 'type',
491
+            )
492
+        );
493
+
494
+    }
495
+
496
+    /**
497
+     * Displays items table columns.
498
+     */
499
+    public static function display_item_columns( $column_name, $post_id ) {
500 500
  
501
-		$item = new WPInv_Item( $post_id );
501
+        $item = new WPInv_Item( $post_id );
502 502
 
503
-		switch ( $column_name ) {
503
+        switch ( $column_name ) {
504 504
 
505
-			case 'price' :
505
+            case 'price' :
506 506
 
507
-				if ( ! $item->is_recurring() ) {
508
-					echo $item->get_the_price();
509
-					break;
510
-				}
507
+                if ( ! $item->is_recurring() ) {
508
+                    echo $item->get_the_price();
509
+                    break;
510
+                }
511 511
 
512
-				$price = wp_sprintf(
513
-					__( '%s / %s', 'invoicing' ),
514
-					$item->get_the_price(),
515
-					getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' )
516
-				);
512
+                $price = wp_sprintf(
513
+                    __( '%s / %s', 'invoicing' ),
514
+                    $item->get_the_price(),
515
+                    getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' )
516
+                );
517 517
 
518
-				if ( $item->get_the_price() == $item->get_the_initial_price() ) {
519
-					echo $price;
520
-					break;
521
-				}
518
+                if ( $item->get_the_price() == $item->get_the_initial_price() ) {
519
+                    echo $price;
520
+                    break;
521
+                }
522 522
 
523
-				echo $item->get_the_initial_price();
523
+                echo $item->get_the_initial_price();
524 524
 
525
-				echo '<span class="meta">' . wp_sprintf( __( 'then %s', 'invoicing' ), $price )  .'</span>';
526
-				break;
525
+                echo '<span class="meta">' . wp_sprintf( __( 'then %s', 'invoicing' ), $price )  .'</span>';
526
+                break;
527 527
 
528
-			case 'vat_rule' :
529
-				echo getpaid_get_tax_rule_label( $item->get_vat_rule() );
530
-				break;
528
+            case 'vat_rule' :
529
+                echo getpaid_get_tax_rule_label( $item->get_vat_rule() );
530
+                break;
531 531
 
532
-			case 'vat_class' :
533
-				echo getpaid_get_tax_class_label( $item->get_vat_class() );
534
-				break;
532
+            case 'vat_class' :
533
+                echo getpaid_get_tax_class_label( $item->get_vat_class() );
534
+                break;
535 535
 
536
-			case 'shortcode' :
537
-				echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr( $item->get_id() ) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>';
538
-				break;
536
+            case 'shortcode' :
537
+                echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr( $item->get_id() ) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>';
538
+                break;
539 539
 
540
-			case 'type' :
541
-				echo wpinv_item_type( $item->get_id() ) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>';
542
-				break;
540
+            case 'type' :
541
+                echo wpinv_item_type( $item->get_id() ) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>';
542
+                break;
543 543
 
544
-		}
544
+        }
545 545
 
546
-	}
546
+    }
547 547
 
548
-	/**
549
-	 * Lets users filter items using taxes.
550
-	 */
551
-	public static function add_item_filters( $post_type ) {
548
+    /**
549
+     * Lets users filter items using taxes.
550
+     */
551
+    public static function add_item_filters( $post_type ) {
552 552
 
553
-		// Abort if we're not dealing with items.
554
-		if ( $post_type != 'wpi_item' ) {
555
-			return;
556
-		}
553
+        // Abort if we're not dealing with items.
554
+        if ( $post_type != 'wpi_item' ) {
555
+            return;
556
+        }
557 557
 
558
-		// Filter by vat rules.
559
-		if ( wpinv_use_taxes() ) {
558
+        // Filter by vat rules.
559
+        if ( wpinv_use_taxes() ) {
560 560
 	
561
-			// Sanitize selected vat rule.
562
-			$vat_rule   = '';
563
-			$vat_rules  = getpaid_get_tax_rules();
564
-			if ( isset( $_GET['vat_rule'] ) ) {
565
-				$vat_rule   =  $_GET['vat_rule'];
566
-			}
567
-
568
-			// Filter by VAT rule.
569
-			echo wpinv_html_select(
570
-				array(
571
-					'options'          => array_merge(
572
-						array(
573
-							'' => __( 'All VAT rules', 'invoicing' )
574
-						),
575
-						$vat_rules
576
-					),
577
-					'name'             => 'vat_rule',
578
-					'id'               => 'vat_rule',
579
-					'selected'         => in_array( $vat_rule, array_keys( $vat_rules ) ) ? $vat_rule : '',
580
-					'show_option_all'  => false,
581
-					'show_option_none' => false,
582
-				)
583
-			);
584
-
585
-			// Filter by VAT class.
561
+            // Sanitize selected vat rule.
562
+            $vat_rule   = '';
563
+            $vat_rules  = getpaid_get_tax_rules();
564
+            if ( isset( $_GET['vat_rule'] ) ) {
565
+                $vat_rule   =  $_GET['vat_rule'];
566
+            }
567
+
568
+            // Filter by VAT rule.
569
+            echo wpinv_html_select(
570
+                array(
571
+                    'options'          => array_merge(
572
+                        array(
573
+                            '' => __( 'All VAT rules', 'invoicing' )
574
+                        ),
575
+                        $vat_rules
576
+                    ),
577
+                    'name'             => 'vat_rule',
578
+                    'id'               => 'vat_rule',
579
+                    'selected'         => in_array( $vat_rule, array_keys( $vat_rules ) ) ? $vat_rule : '',
580
+                    'show_option_all'  => false,
581
+                    'show_option_none' => false,
582
+                )
583
+            );
584
+
585
+            // Filter by VAT class.
586 586
 	
587
-			// Sanitize selected vat rule.
588
-			$vat_class   = '';
589
-			$vat_classes = getpaid_get_tax_classes();
590
-			if ( isset( $_GET['vat_class'] ) ) {
591
-				$vat_class   =  $_GET['vat_class'];
592
-			}
593
-
594
-			echo wpinv_html_select(
595
-				array(
596
-					'options'          => array_merge(
597
-						array(
598
-							'' => __( 'All VAT classes', 'invoicing' )
599
-						),
600
-						$vat_classes
601
-					),
602
-					'name'             => 'vat_class',
603
-					'id'               => 'vat_class',
604
-					'selected'         => in_array( $vat_class, array_keys( $vat_classes ) ) ? $vat_class : '',
605
-					'show_option_all'  => false,
606
-					'show_option_none' => false,
607
-				)
608
-			);
609
-
610
-		}
611
-
612
-		// Filter by item type.
613
-		$type   = '';
614
-		if ( isset( $_GET['type'] ) ) {
615
-			$type   =  $_GET['type'];
616
-		}
617
-
618
-		echo wpinv_html_select(
619
-			array(
620
-				'options'          => array_merge(
621
-					array(
622
-						'' => __( 'All item types', 'invoicing' )
623
-					),
624
-					wpinv_get_item_types()
625
-				),
626
-				'name'             => 'type',
627
-				'id'               => 'type',
628
-				'selected'         => in_array( $type, wpinv_item_types() ) ? $type : '',
629
-				'show_option_all'  => false,
630
-				'show_option_none' => false,
631
-			)
632
-		);
633
-
634
-	}
635
-
636
-	/**
637
-	 * Filters the item query.
638
-	 */
639
-	public static function filter_item_query( $query ) {
640
-
641
-		// modify the query only if it admin and main query.
642
-		if ( ! ( is_admin() && $query->is_main_query() ) ){ 
643
-			return $query;
644
-		}
645
-
646
-		// we want to modify the query for our items.
647
-		if ( empty( $query->query['post_type'] ) || 'wpi_item' != $query->query['post_type'] ){
648
-			return $query;
649
-		}
650
-
651
-		if ( empty( $query->query_vars['meta_query'] ) ) {
652
-			$query->query_vars['meta_query'] = array();
653
-		}
654
-
655
-		// Filter vat rule type
587
+            // Sanitize selected vat rule.
588
+            $vat_class   = '';
589
+            $vat_classes = getpaid_get_tax_classes();
590
+            if ( isset( $_GET['vat_class'] ) ) {
591
+                $vat_class   =  $_GET['vat_class'];
592
+            }
593
+
594
+            echo wpinv_html_select(
595
+                array(
596
+                    'options'          => array_merge(
597
+                        array(
598
+                            '' => __( 'All VAT classes', 'invoicing' )
599
+                        ),
600
+                        $vat_classes
601
+                    ),
602
+                    'name'             => 'vat_class',
603
+                    'id'               => 'vat_class',
604
+                    'selected'         => in_array( $vat_class, array_keys( $vat_classes ) ) ? $vat_class : '',
605
+                    'show_option_all'  => false,
606
+                    'show_option_none' => false,
607
+                )
608
+            );
609
+
610
+        }
611
+
612
+        // Filter by item type.
613
+        $type   = '';
614
+        if ( isset( $_GET['type'] ) ) {
615
+            $type   =  $_GET['type'];
616
+        }
617
+
618
+        echo wpinv_html_select(
619
+            array(
620
+                'options'          => array_merge(
621
+                    array(
622
+                        '' => __( 'All item types', 'invoicing' )
623
+                    ),
624
+                    wpinv_get_item_types()
625
+                ),
626
+                'name'             => 'type',
627
+                'id'               => 'type',
628
+                'selected'         => in_array( $type, wpinv_item_types() ) ? $type : '',
629
+                'show_option_all'  => false,
630
+                'show_option_none' => false,
631
+            )
632
+        );
633
+
634
+    }
635
+
636
+    /**
637
+     * Filters the item query.
638
+     */
639
+    public static function filter_item_query( $query ) {
640
+
641
+        // modify the query only if it admin and main query.
642
+        if ( ! ( is_admin() && $query->is_main_query() ) ){ 
643
+            return $query;
644
+        }
645
+
646
+        // we want to modify the query for our items.
647
+        if ( empty( $query->query['post_type'] ) || 'wpi_item' != $query->query['post_type'] ){
648
+            return $query;
649
+        }
650
+
651
+        if ( empty( $query->query_vars['meta_query'] ) ) {
652
+            $query->query_vars['meta_query'] = array();
653
+        }
654
+
655
+        // Filter vat rule type
656 656
         if ( ! empty( $_GET['vat_rule'] ) ) {
657 657
             $query->query_vars['meta_query'][] = array(
658 658
                 'key'     => '_wpinv_vat_rule',
@@ -677,94 +677,94 @@  discard block
 block discarded – undo
677 677
                 'value'   => sanitize_text_field( $_GET['type'] ),
678 678
                 'compare' => '='
679 679
             );
680
-		}
681
-
682
-	}
683
-
684
-	/**
685
-	 * Reorders items.
686
-	 */
687
-	public static function reorder_items( $vars ) {
688
-		global $typenow;
689
-
690
-		if ( 'wpi_item' !== $typenow || empty( $vars['orderby'] ) ) {
691
-			return $vars;
692
-		}
693
-
694
-		// By item type.
695
-		if ( 'type' == $vars['orderby'] ) {
696
-			return array_merge(
697
-				$vars,
698
-				array(
699
-					'meta_key' => '_wpinv_type',
700
-					'orderby'  => 'meta_value'
701
-				)
702
-			);
703
-		}
704
-
705
-		// By vat class.
706
-		if ( 'vat_class' == $vars['orderby'] ) {
707
-			return array_merge(
708
-				$vars,
709
-				array(
710
-					'meta_key' => '_wpinv_vat_class',
711
-					'orderby'  => 'meta_value'
712
-				)
713
-			);
714
-		}
715
-
716
-		// By vat rule.
717
-		if ( 'vat_rule' == $vars['orderby'] ) {
718
-			return array_merge(
719
-				$vars,
720
-				array(
721
-					'meta_key' => '_wpinv_vat_rule',
722
-					'orderby'  => 'meta_value'
723
-				)
724
-			);
725
-		}
726
-
727
-		// By price.
728
-		if ( 'price' == $vars['orderby'] ) {
729
-			return array_merge(
730
-				$vars,
731
-				array(
732
-					'meta_key' => '_wpinv_price',
733
-					'orderby'  => 'meta_value_num'
734
-				)
735
-			);
736
-		}
737
-
738
-		return $vars;
739
-
740
-	}
741
-
742
-	/**
743
-	 * Fired when deleting a post.
744
-	 */
745
-	public static function delete_post( $post_id ) {
746
-
747
-		switch ( get_post_type( $post_id ) ) {
748
-
749
-			case 'wpi_item' :
750
-				do_action( "getpaid_before_delete_item", new WPInv_Item( $post_id ) );
751
-				break;
752
-
753
-			case 'wpi_payment_form' :
754
-				do_action( "getpaid_before_delete_payment_form", new GetPaid_Payment_Form( $post_id ) );
755
-				break;
756
-
757
-			case 'wpi_discount' :
758
-				do_action( "getpaid_before_delete_discount", new WPInv_Discount( $post_id ) );
759
-				break;
760
-
761
-			case 'wpi_invoice' :
762
-				$invoice = new WPInv_Invoice( $post_id );
763
-				do_action( "getpaid_before_delete_invoice", $invoice );
764
-				$invoice->get_data_store()->delete_items( $invoice );
765
-				$invoice->get_data_store()->delete_special_fields( $invoice );
766
-				break;
767
-		}
768
-	}
680
+        }
681
+
682
+    }
683
+
684
+    /**
685
+     * Reorders items.
686
+     */
687
+    public static function reorder_items( $vars ) {
688
+        global $typenow;
689
+
690
+        if ( 'wpi_item' !== $typenow || empty( $vars['orderby'] ) ) {
691
+            return $vars;
692
+        }
693
+
694
+        // By item type.
695
+        if ( 'type' == $vars['orderby'] ) {
696
+            return array_merge(
697
+                $vars,
698
+                array(
699
+                    'meta_key' => '_wpinv_type',
700
+                    'orderby'  => 'meta_value'
701
+                )
702
+            );
703
+        }
704
+
705
+        // By vat class.
706
+        if ( 'vat_class' == $vars['orderby'] ) {
707
+            return array_merge(
708
+                $vars,
709
+                array(
710
+                    'meta_key' => '_wpinv_vat_class',
711
+                    'orderby'  => 'meta_value'
712
+                )
713
+            );
714
+        }
715
+
716
+        // By vat rule.
717
+        if ( 'vat_rule' == $vars['orderby'] ) {
718
+            return array_merge(
719
+                $vars,
720
+                array(
721
+                    'meta_key' => '_wpinv_vat_rule',
722
+                    'orderby'  => 'meta_value'
723
+                )
724
+            );
725
+        }
726
+
727
+        // By price.
728
+        if ( 'price' == $vars['orderby'] ) {
729
+            return array_merge(
730
+                $vars,
731
+                array(
732
+                    'meta_key' => '_wpinv_price',
733
+                    'orderby'  => 'meta_value_num'
734
+                )
735
+            );
736
+        }
737
+
738
+        return $vars;
739
+
740
+    }
741
+
742
+    /**
743
+     * Fired when deleting a post.
744
+     */
745
+    public static function delete_post( $post_id ) {
746
+
747
+        switch ( get_post_type( $post_id ) ) {
748
+
749
+            case 'wpi_item' :
750
+                do_action( "getpaid_before_delete_item", new WPInv_Item( $post_id ) );
751
+                break;
752
+
753
+            case 'wpi_payment_form' :
754
+                do_action( "getpaid_before_delete_payment_form", new GetPaid_Payment_Form( $post_id ) );
755
+                break;
756
+
757
+            case 'wpi_discount' :
758
+                do_action( "getpaid_before_delete_discount", new WPInv_Discount( $post_id ) );
759
+                break;
760
+
761
+            case 'wpi_invoice' :
762
+                $invoice = new WPInv_Invoice( $post_id );
763
+                do_action( "getpaid_before_delete_invoice", $invoice );
764
+                $invoice->get_data_store()->delete_items( $invoice );
765
+                $invoice->get_data_store()->delete_special_fields( $invoice );
766
+                break;
767
+        }
768
+    }
769 769
 
770 770
 }
Please login to merge, or discard this patch.
Spacing   +205 added lines, -205 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
  * Post types Admin Class
@@ -21,70 +21,70 @@  discard block
 block discarded – undo
21 21
 		GetPaid_Metaboxes::init();
22 22
 
23 23
 		// Filter the post updated messages.
24
-		add_filter( 'post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages' );
24
+		add_filter('post_updated_messages', 'GetPaid_Post_Types_Admin::post_updated_messages');
25 25
 
26 26
 		// Filter post actions.
27
-		add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2 );
28
-		add_filter( 'post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2 );
27
+		add_filter('post_row_actions', 'GetPaid_Post_Types_Admin::post_row_actions', 10, 2);
28
+		add_filter('post_row_actions', 'GetPaid_Post_Types_Admin::filter_invoice_row_actions', 90, 2);
29 29
 
30 30
 		// Invoice table columns.
31
-		add_filter( 'manage_wpi_invoice_posts_columns', array( __CLASS__, 'invoice_columns' ), 100 );
32
-		add_action( 'manage_wpi_invoice_posts_custom_column', array( __CLASS__, 'display_invoice_columns' ), 10, 2 );
31
+		add_filter('manage_wpi_invoice_posts_columns', array(__CLASS__, 'invoice_columns'), 100);
32
+		add_action('manage_wpi_invoice_posts_custom_column', array(__CLASS__, 'display_invoice_columns'), 10, 2);
33 33
 
34 34
 		// Items table columns.
35
-		add_filter( 'manage_wpi_item_posts_columns', array( __CLASS__, 'item_columns' ), 100 );
36
-		add_filter( 'manage_edit-wpi_item_sortable_columns', array( __CLASS__, 'sortable_item_columns' ), 20 );
37
-		add_action( 'manage_wpi_item_posts_custom_column', array( __CLASS__, 'display_item_columns' ), 10, 2 );
38
-		add_action( 'restrict_manage_posts', array( __CLASS__, 'add_item_filters' ), 100 );
39
-		add_action( 'parse_query', array( __CLASS__, 'filter_item_query' ), 100 );
40
-		add_action( 'request', array( __CLASS__, 'reorder_items' ), 100 );
35
+		add_filter('manage_wpi_item_posts_columns', array(__CLASS__, 'item_columns'), 100);
36
+		add_filter('manage_edit-wpi_item_sortable_columns', array(__CLASS__, 'sortable_item_columns'), 20);
37
+		add_action('manage_wpi_item_posts_custom_column', array(__CLASS__, 'display_item_columns'), 10, 2);
38
+		add_action('restrict_manage_posts', array(__CLASS__, 'add_item_filters'), 100);
39
+		add_action('parse_query', array(__CLASS__, 'filter_item_query'), 100);
40
+		add_action('request', array(__CLASS__, 'reorder_items'), 100);
41 41
 
42 42
 		// Payment forms columns.
43
-		add_filter( 'manage_wpi_payment_form_posts_columns', array( __CLASS__, 'payment_form_columns' ), 100 );
44
-		add_action( 'manage_wpi_payment_form_posts_custom_column', array( __CLASS__, 'display_payment_form_columns' ), 10, 2 );
45
-		add_filter( 'display_post_states', array( __CLASS__, 'filter_payment_form_state' ), 10, 2 );
43
+		add_filter('manage_wpi_payment_form_posts_columns', array(__CLASS__, 'payment_form_columns'), 100);
44
+		add_action('manage_wpi_payment_form_posts_custom_column', array(__CLASS__, 'display_payment_form_columns'), 10, 2);
45
+		add_filter('display_post_states', array(__CLASS__, 'filter_payment_form_state'), 10, 2);
46 46
 
47 47
 		// Discount table columns.
48
-		add_filter( 'manage_wpi_discount_posts_columns', array( __CLASS__, 'discount_columns' ), 100 );
49
-		add_filter( 'bulk_actions-edit-wpi_discount', '__return_empty_array', 100 );
48
+		add_filter('manage_wpi_discount_posts_columns', array(__CLASS__, 'discount_columns'), 100);
49
+		add_filter('bulk_actions-edit-wpi_discount', '__return_empty_array', 100);
50 50
 
51 51
 		// Deleting posts.
52
-		add_action( 'delete_post', array( __CLASS__, 'delete_post' ) );
53
-		add_filter( 'display_post_states', array( __CLASS__, 'filter_discount_state' ), 10, 2 );
52
+		add_action('delete_post', array(__CLASS__, 'delete_post'));
53
+		add_filter('display_post_states', array(__CLASS__, 'filter_discount_state'), 10, 2);
54 54
 	}
55 55
 
56 56
 	/**
57 57
 	 * Post updated messages.
58 58
 	 */
59
-	public static function post_updated_messages( $messages ) {
59
+	public static function post_updated_messages($messages) {
60 60
 		global $post;
61 61
 
62 62
 		$messages['wpi_discount'] = array(
63 63
 			0   => '',
64
-			1   => __( 'Discount updated.', 'invoicing' ),
65
-			2   => __( 'Custom field updated.', 'invoicing' ),
66
-			3   => __( 'Custom field deleted.', 'invoicing' ),
67
-			4   => __( 'Discount updated.', 'invoicing' ),
68
-			5   => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
69
-			6   => __( 'Discount updated.', 'invoicing' ),
70
-			7   => __( 'Discount saved.', 'invoicing' ),
71
-			8   => __( 'Discount submitted.', 'invoicing' ),
72
-			9   => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ),
73
-			10  => __( 'Discount draft updated.', 'invoicing' ),
64
+			1   => __('Discount updated.', 'invoicing'),
65
+			2   => __('Custom field updated.', 'invoicing'),
66
+			3   => __('Custom field deleted.', 'invoicing'),
67
+			4   => __('Discount updated.', 'invoicing'),
68
+			5   => isset($_GET['revision']) ? wp_sprintf(__('Discount restored to revision from %s', 'invoicing'), wp_post_revision_title((int) $_GET['revision'], false)) : false,
69
+			6   => __('Discount updated.', 'invoicing'),
70
+			7   => __('Discount saved.', 'invoicing'),
71
+			8   => __('Discount submitted.', 'invoicing'),
72
+			9   => wp_sprintf(__('Discount scheduled for: <strong>%1$s</strong>.', 'invoicing'), date_i18n(__('M j, Y @ G:i', 'invoicing'), strtotime($post->post_date))),
73
+			10  => __('Discount draft updated.', 'invoicing'),
74 74
 		);
75 75
 
76 76
 		$messages['wpi_payment_form'] = array(
77 77
 			0   => '',
78
-			1   => __( 'Payment Form updated.', 'invoicing' ),
79
-			2   => __( 'Custom field updated.', 'invoicing' ),
80
-			3   => __( 'Custom field deleted.', 'invoicing' ),
81
-			4   => __( 'Payment Form updated.', 'invoicing' ),
82
-			5   => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Payment Form restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
83
-			6   => __( 'Payment Form updated.', 'invoicing' ),
84
-			7   => __( 'Payment Form saved.', 'invoicing' ),
85
-			8   => __( 'Payment Form submitted.', 'invoicing' ),
86
-			9   => wp_sprintf( __( 'Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ),
87
-			10  => __( 'Payment Form draft updated.', 'invoicing' ),
78
+			1   => __('Payment Form updated.', 'invoicing'),
79
+			2   => __('Custom field updated.', 'invoicing'),
80
+			3   => __('Custom field deleted.', 'invoicing'),
81
+			4   => __('Payment Form updated.', 'invoicing'),
82
+			5   => isset($_GET['revision']) ? wp_sprintf(__('Payment Form restored to revision from %s', 'invoicing'), wp_post_revision_title((int) $_GET['revision'], false)) : false,
83
+			6   => __('Payment Form updated.', 'invoicing'),
84
+			7   => __('Payment Form saved.', 'invoicing'),
85
+			8   => __('Payment Form submitted.', 'invoicing'),
86
+			9   => wp_sprintf(__('Payment Form scheduled for: <strong>%1$s</strong>.', 'invoicing'), date_i18n(__('M j, Y @ G:i', 'invoicing'), strtotime($post->post_date))),
87
+			10  => __('Payment Form draft updated.', 'invoicing'),
88 88
 		);
89 89
 
90 90
 		return $messages;
@@ -94,14 +94,14 @@  discard block
 block discarded – undo
94 94
 	/**
95 95
 	 * Post row actions.
96 96
 	 */
97
-	public static function post_row_actions( $actions, $post ) {
97
+	public static function post_row_actions($actions, $post) {
98 98
 
99
-		$post = get_post( $post );
99
+		$post = get_post($post);
100 100
 
101 101
 		// We do not want to edit the default payment form.
102
-		if ( 'wpi_payment_form' == $post->post_type && $post->ID == wpinv_get_default_payment_form() ) {
103
-			unset( $actions['trash'] );
104
-			unset( $actions['inline hide-if-no-js'] );
102
+		if ('wpi_payment_form' == $post->post_type && $post->ID == wpinv_get_default_payment_form()) {
103
+			unset($actions['trash']);
104
+			unset($actions['inline hide-if-no-js']);
105 105
 		}
106 106
 
107 107
 		return $actions;
@@ -115,31 +115,31 @@  discard block
 block discarded – undo
115 115
 	 * @param WP_Post $post
116 116
      * @return array $actions actions without edit option
117 117
      */
118
-    public static function filter_invoice_row_actions( $actions, $post ) {
118
+    public static function filter_invoice_row_actions($actions, $post) {
119 119
 
120
-        if ( getpaid_is_invoice_post_type( $post->post_type ) ) {
120
+        if (getpaid_is_invoice_post_type($post->post_type)) {
121 121
 
122 122
 			$actions = array();
123
-			$invoice = new WPInv_Invoice( $post );
123
+			$invoice = new WPInv_Invoice($post);
124 124
 
125
-			$actions['edit'] =  sprintf(
125
+			$actions['edit'] = sprintf(
126 126
 				'<a href="%1$s">%2$s</a>',
127
-				esc_url( get_edit_post_link( $invoice->get_id() ) ),
128
-				esc_html( __( 'Edit', 'invoicing' ) )
127
+				esc_url(get_edit_post_link($invoice->get_id())),
128
+				esc_html(__('Edit', 'invoicing'))
129 129
 			);
130 130
 
131
-			if ( ! $invoice->is_draft() ) {
131
+			if (!$invoice->is_draft()) {
132 132
 
133
-				$actions['view'] =  sprintf(
133
+				$actions['view'] = sprintf(
134 134
 					'<a href="%1$s">%2$s</a>',
135
-					esc_url( $invoice->get_view_url() ),
135
+					esc_url($invoice->get_view_url()),
136 136
 					sprintf(
137
-						esc_html( __( 'View %s', 'invoicing' ) ),
138
-						getpaid_get_post_type_label( $invoice->get_post_type(), false )
137
+						esc_html(__('View %s', 'invoicing')),
138
+						getpaid_get_post_type_label($invoice->get_post_type(), false)
139 139
 					)
140 140
 				);
141 141
 
142
-				$actions['send'] =  sprintf(
142
+				$actions['send'] = sprintf(
143 143
 					'<a href="%1$s">%2$s</a>',
144 144
 					esc_url(
145 145
 						wp_nonce_url(
@@ -153,7 +153,7 @@  discard block
 block discarded – undo
153 153
 							'getpaid-nonce'
154 154
 						)
155 155
 					),
156
-					esc_html( __( 'Send to Customer', 'invoicing' ) )
156
+					esc_html(__('Send to Customer', 'invoicing'))
157 157
 				);
158 158
 
159 159
 			}
@@ -166,42 +166,42 @@  discard block
 block discarded – undo
166 166
 	/**
167 167
 	 * Returns an array of invoice table columns.
168 168
 	 */
169
-	public static function invoice_columns( $columns ) {
169
+	public static function invoice_columns($columns) {
170 170
 
171 171
 		$columns = array(
172 172
 			'cb'                => $columns['cb'],
173
-			'number'            => __( 'Invoice', 'invoicing' ),
174
-			'customer'          => __( 'Customer', 'invoicing' ),
175
-			'invoice_date'      => __( 'Created', 'invoicing' ),
176
-			'payment_date'      => __( 'Completed', 'invoicing' ),
177
-			'amount'            => __( 'Amount', 'invoicing' ),
178
-			'recurring'         => __( 'Recurring', 'invoicing' ),
179
-			'status'            => __( 'Status', 'invoicing' ),
173
+			'number'            => __('Invoice', 'invoicing'),
174
+			'customer'          => __('Customer', 'invoicing'),
175
+			'invoice_date'      => __('Created', 'invoicing'),
176
+			'payment_date'      => __('Completed', 'invoicing'),
177
+			'amount'            => __('Amount', 'invoicing'),
178
+			'recurring'         => __('Recurring', 'invoicing'),
179
+			'status'            => __('Status', 'invoicing'),
180 180
 		);
181 181
 
182
-		return apply_filters( 'wpi_invoice_table_columns', $columns );
182
+		return apply_filters('wpi_invoice_table_columns', $columns);
183 183
 	}
184 184
 
185 185
 	/**
186 186
 	 * Displays invoice table columns.
187 187
 	 */
188
-	public static function display_invoice_columns( $column_name, $post_id ) {
188
+	public static function display_invoice_columns($column_name, $post_id) {
189 189
 
190
-		$invoice = new WPInv_Invoice( $post_id );
190
+		$invoice = new WPInv_Invoice($post_id);
191 191
 
192
-		switch ( $column_name ) {
192
+		switch ($column_name) {
193 193
 
194 194
 			case 'invoice_date' :
195
-				$date_time = esc_attr( $invoice->get_created_date() );
196
-				$date      = getpaid_format_date_value( $date_time, "&mdash;", true );
195
+				$date_time = esc_attr($invoice->get_created_date());
196
+				$date      = getpaid_format_date_value($date_time, "&mdash;", true);
197 197
 				echo "<span title='$date_time'>$date</span>";
198 198
 				break;
199 199
 
200 200
 			case 'payment_date' :
201 201
 
202
-				if ( $invoice->is_paid() ) {
203
-					$date_time = esc_attr( $invoice->get_completed_date() );
204
-					$date      = getpaid_format_date_value( $date_time, "&mdash;", true );
202
+				if ($invoice->is_paid()) {
203
+					$date_time = esc_attr($invoice->get_completed_date());
204
+					$date      = getpaid_format_date_value($date_time, "&mdash;", true);
205 205
 					echo "<span title='$date_time'>$date</span>";
206 206
 				} else {
207 207
 					echo "&mdash;";
@@ -212,17 +212,17 @@  discard block
 block discarded – undo
212 212
 			case 'amount' :
213 213
 
214 214
 				$amount = $invoice->get_total();
215
-				$formated_amount = wpinv_price( $amount, $invoice->get_currency() );
215
+				$formated_amount = wpinv_price($amount, $invoice->get_currency());
216 216
 
217
-				if ( $invoice->is_refunded() ) {
218
-					$refunded_amount = wpinv_price( 0, $invoice->get_currency() );
217
+				if ($invoice->is_refunded()) {
218
+					$refunded_amount = wpinv_price(0, $invoice->get_currency());
219 219
 					echo "<del>$formated_amount</del>&nbsp;<ins>$refunded_amount</ins>";
220 220
 				} else {
221 221
 
222 222
 					$discount = $invoice->get_total_discount();
223 223
 
224
-					if ( ! empty( $discount ) ) {
225
-						$new_amount = wpinv_price( $amount + $discount, $invoice->get_currency() );
224
+					if (!empty($discount)) {
225
+						$new_amount = wpinv_price($amount + $discount, $invoice->get_currency());
226 226
 						echo "<del>$new_amount</del>&nbsp;<ins>$formated_amount</ins>";
227 227
 					} else {
228 228
 						echo $formated_amount;
@@ -233,13 +233,13 @@  discard block
 block discarded – undo
233 233
 				break;
234 234
 
235 235
 			case 'status' :
236
-				$status       = sanitize_text_field( $invoice->get_status() );
237
-				$status_label = sanitize_text_field( $invoice->get_status_nicename() );
236
+				$status       = sanitize_text_field($invoice->get_status());
237
+				$status_label = sanitize_text_field($invoice->get_status_nicename());
238 238
 
239 239
 				// If it is paid, show the gateway title.
240
-				if ( $invoice->is_paid() ) {
241
-					$gateway = sanitize_text_field( $invoice->get_gateway_title() );
242
-					$gateway = wp_sprintf( esc_attr__( 'Paid via %s', 'invoicing' ), $gateway );
240
+				if ($invoice->is_paid()) {
241
+					$gateway = sanitize_text_field($invoice->get_gateway_title());
242
+					$gateway = wp_sprintf(esc_attr__('Paid via %s', 'invoicing'), $gateway);
243 243
 
244 244
 					echo "<mark class='wpi-help-tip getpaid-invoice-status $status' title='$gateway'><span>$status_label</span></mark>";
245 245
 				} else {
@@ -247,22 +247,22 @@  discard block
 block discarded – undo
247 247
 				}
248 248
 
249 249
 				// If it is not paid, display the overdue and view status.
250
-				if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
250
+				if (!$invoice->is_paid() && !$invoice->is_refunded()) {
251 251
 
252 252
 					// Invoice view status.
253
-					if ( wpinv_is_invoice_viewed( $invoice->get_id() ) ) {
254
-						echo '&nbsp;&nbsp;<i class="fa fa-eye wpi-help-tip" title="'. esc_attr__( 'Viewed by Customer', 'invoicing' ).'"></i>';
253
+					if (wpinv_is_invoice_viewed($invoice->get_id())) {
254
+						echo '&nbsp;&nbsp;<i class="fa fa-eye wpi-help-tip" title="' . esc_attr__('Viewed by Customer', 'invoicing') . '"></i>';
255 255
 					} else {
256
-						echo '&nbsp;&nbsp;<i class="fa fa-eye-slash wpi-help-tip" title="'. esc_attr__( 'Not Viewed by Customer', 'invoicing' ).'"></i>';
256
+						echo '&nbsp;&nbsp;<i class="fa fa-eye-slash wpi-help-tip" title="' . esc_attr__('Not Viewed by Customer', 'invoicing') . '"></i>';
257 257
 					}
258 258
 
259 259
 					// Display the overview status.
260
-					if ( wpinv_get_option( 'overdue_active' ) ) {
260
+					if (wpinv_get_option('overdue_active')) {
261 261
 						$due_date = $invoice->get_due_date();
262
-						$fomatted = getpaid_format_date( $due_date );
262
+						$fomatted = getpaid_format_date($due_date);
263 263
 
264
-						if ( ! empty( $fomatted ) ) {
265
-							$date = wp_sprintf( __( 'Due %s', 'invoicing' ), $fomatted );
264
+						if (!empty($fomatted)) {
265
+							$date = wp_sprintf(__('Due %s', 'invoicing'), $fomatted);
266 266
 							echo "<p class='description' style='color: #888;' title='$due_date'>$fomatted</p>";
267 267
 						}
268 268
 					}
@@ -273,7 +273,7 @@  discard block
 block discarded – undo
273 273
 
274 274
 			case 'recurring':
275 275
 
276
-				if ( $invoice->is_recurring() ) {
276
+				if ($invoice->is_recurring()) {
277 277
 					echo '<i class="fa fa-check" style="color:#43850a;"></i>';
278 278
 				} else {
279 279
 					echo '<i class="fa fa-times" style="color:#616161;"></i>';
@@ -282,9 +282,9 @@  discard block
 block discarded – undo
282 282
 
283 283
 			case 'number' :
284 284
 
285
-				$edit_link       = esc_url( get_edit_post_link( $invoice->get_id() ) );
286
-				$invoice_number  = sanitize_text_field( $invoice->get_number() );
287
-				$invoice_details = esc_attr__( 'View Invoice Details', 'invoicing' );
285
+				$edit_link       = esc_url(get_edit_post_link($invoice->get_id()));
286
+				$invoice_number  = sanitize_text_field($invoice->get_number());
287
+				$invoice_details = esc_attr__('View Invoice Details', 'invoicing');
288 288
 
289 289
 				echo "<a href='$edit_link' title='$invoice_details'><strong>$invoice_number</strong></a>";
290 290
 
@@ -294,13 +294,13 @@  discard block
 block discarded – undo
294 294
 	
295 295
 				$customer_name = $invoice->get_user_full_name();
296 296
 	
297
-				if ( empty( $customer_name ) ) {
297
+				if (empty($customer_name)) {
298 298
 					$customer_name = $invoice->get_email();
299 299
 				}
300 300
 	
301
-				if ( ! empty( $customer_name ) ) {
302
-					$customer_details = esc_attr__( 'View Customer Details', 'invoicing' );
303
-					$view_link        = esc_url( add_query_arg( 'user_id', $invoice->get_user_id(), admin_url( 'user-edit.php' ) ) );
301
+				if (!empty($customer_name)) {
302
+					$customer_details = esc_attr__('View Customer Details', 'invoicing');
303
+					$view_link        = esc_url(add_query_arg('user_id', $invoice->get_user_id(), admin_url('user-edit.php')));
304 304
 					echo "<a href='$view_link' title='$customer_details'><span>$customer_name</span></a>";
305 305
 				} else {
306 306
 					echo '<div>&mdash;</div>';
@@ -315,50 +315,50 @@  discard block
 block discarded – undo
315 315
 	/**
316 316
 	 * Returns an array of payment forms table columns.
317 317
 	 */
318
-	public static function payment_form_columns( $columns ) {
318
+	public static function payment_form_columns($columns) {
319 319
 
320 320
 		$columns = array(
321 321
 			'cb'                => $columns['cb'],
322
-			'title'             => __( 'Name', 'invoicing' ),
323
-			'shortcode'         => __( 'Shortcode', 'invoicing' ),
324
-			'earnings'          => __( 'Revenue', 'invoicing' ),
325
-			'refunds'           => __( 'Refunded', 'invoicing' ),
326
-			'items'             => __( 'Items', 'invoicing' ),
327
-			'date'              => __( 'Date', 'invoicing' ),
322
+			'title'             => __('Name', 'invoicing'),
323
+			'shortcode'         => __('Shortcode', 'invoicing'),
324
+			'earnings'          => __('Revenue', 'invoicing'),
325
+			'refunds'           => __('Refunded', 'invoicing'),
326
+			'items'             => __('Items', 'invoicing'),
327
+			'date'              => __('Date', 'invoicing'),
328 328
 		);
329 329
 
330
-		return apply_filters( 'wpi_payment_form_table_columns', $columns );
330
+		return apply_filters('wpi_payment_form_table_columns', $columns);
331 331
 
332 332
 	}
333 333
 
334 334
 	/**
335 335
 	 * Displays payment form table columns.
336 336
 	 */
337
-	public static function display_payment_form_columns( $column_name, $post_id ) {
337
+	public static function display_payment_form_columns($column_name, $post_id) {
338 338
 
339 339
 		// Retrieve the payment form.
340
-		$form = new GetPaid_Payment_Form( $post_id );
340
+		$form = new GetPaid_Payment_Form($post_id);
341 341
 
342
-		switch ( $column_name ) {
342
+		switch ($column_name) {
343 343
 
344 344
 			case 'earnings' :
345
-				echo wpinv_price( $form->get_earned() );
345
+				echo wpinv_price($form->get_earned());
346 346
 				break;
347 347
 
348 348
 			case 'refunds' :
349
-				echo wpinv_price( $form->get_refunded() );
349
+				echo wpinv_price($form->get_refunded());
350 350
 				break;
351 351
 
352 352
 			case 'refunds' :
353
-				echo wpinv_price( $form->get_refunded() );
353
+				echo wpinv_price($form->get_refunded());
354 354
 				break;
355 355
 
356 356
 			case 'shortcode' :
357 357
 
358
-				if ( $form->is_default() ) {
358
+				if ($form->is_default()) {
359 359
 					echo '&mdash;';
360 360
 				} else {
361
-					echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr( $form->get_id() ) . ']" style="width: 100%;" readonly/>';
361
+					echo '<input onClick="this.select()" type="text" value="[getpaid form=' . esc_attr($form->get_id()) . ']" style="width: 100%;" readonly/>';
362 362
 				}
363 363
 
364 364
 				break;
@@ -367,29 +367,29 @@  discard block
 block discarded – undo
367 367
 
368 368
 				$items = $form->get_items();
369 369
 
370
-				if ( $form->is_default() || empty( $items ) ) {
370
+				if ($form->is_default() || empty($items)) {
371 371
 					echo '&mdash;';
372 372
 					return;
373 373
 				}
374 374
 
375 375
 				$_items = array();
376 376
 
377
-				foreach ( $items as $item ) {
377
+				foreach ($items as $item) {
378 378
 					$url = $item->get_edit_url();
379 379
 
380
-					if ( empty( $url ) ) {
381
-						$_items[] = sanitize_text_field( $item->get_name() );
380
+					if (empty($url)) {
381
+						$_items[] = sanitize_text_field($item->get_name());
382 382
 					} else {
383 383
 						$_items[] = sprintf(
384 384
 							'<a href="%s">%s</a>',
385
-							esc_url( $url ),
386
-							sanitize_text_field( $item->get_name() )
385
+							esc_url($url),
386
+							sanitize_text_field($item->get_name())
387 387
 						);
388 388
 					}
389 389
 
390 390
 				}
391 391
 
392
-				echo implode( '<br>', $_items );
392
+				echo implode('<br>', $_items);
393 393
 
394 394
 				break;
395 395
 
@@ -400,10 +400,10 @@  discard block
 block discarded – undo
400 400
 	/**
401 401
 	 * Filters post states.
402 402
 	 */
403
-	public static function filter_payment_form_state( $post_states, $post ) {
403
+	public static function filter_payment_form_state($post_states, $post) {
404 404
 
405
-		if ( 'wpi_payment_form' == $post->post_type && wpinv_get_default_payment_form() == $post->ID ) {
406
-			$post_states[ 'default_form' ] = __( 'Default Payment Form', 'invoicing' );
405
+		if ('wpi_payment_form' == $post->post_type && wpinv_get_default_payment_form() == $post->ID) {
406
+			$post_states['default_form'] = __('Default Payment Form', 'invoicing');
407 407
 		}
408 408
 	
409 409
 		return $post_states;
@@ -413,35 +413,35 @@  discard block
 block discarded – undo
413 413
 	/**
414 414
 	 * Returns an array of coupon table columns.
415 415
 	 */
416
-	public static function discount_columns( $columns ) {
416
+	public static function discount_columns($columns) {
417 417
 
418 418
 		$columns = array(
419 419
 			'cb'                => $columns['cb'],
420
-			'title'             => __( 'Name', 'invoicing' ),
421
-			'code'              => __( 'Code', 'invoicing' ),
422
-			'amount'            => __( 'Amount', 'invoicing' ),
423
-			'usage'             => __( 'Usage / Limit', 'invoicing' ),
424
-			'start_date'        => __( 'Start Date', 'invoicing' ),
425
-			'expiry_date'       => __( 'Expiry Date', 'invoicing' ),
420
+			'title'             => __('Name', 'invoicing'),
421
+			'code'              => __('Code', 'invoicing'),
422
+			'amount'            => __('Amount', 'invoicing'),
423
+			'usage'             => __('Usage / Limit', 'invoicing'),
424
+			'start_date'        => __('Start Date', 'invoicing'),
425
+			'expiry_date'       => __('Expiry Date', 'invoicing'),
426 426
 		);
427 427
 
428
-		return apply_filters( 'wpi_discount_table_columns', $columns );
428
+		return apply_filters('wpi_discount_table_columns', $columns);
429 429
 	}
430 430
 
431 431
 	/**
432 432
 	 * Filters post states.
433 433
 	 */
434
-	public static function filter_discount_state( $post_states, $post ) {
434
+	public static function filter_discount_state($post_states, $post) {
435 435
 
436
-		if ( 'wpi_discount' == $post->post_type ) {
436
+		if ('wpi_discount' == $post->post_type) {
437 437
 
438
-			$discount = new WPInv_Discount( $post );
438
+			$discount = new WPInv_Discount($post);
439 439
 
440 440
 			$status = $discount->is_expired() ? 'expired' : $discount->get_status();
441 441
 
442
-			if ( $status != 'publish' ) {
442
+			if ($status != 'publish') {
443 443
 				return array(
444
-					'discount_status' => wpinv_discount_status( $status ),
444
+					'discount_status' => wpinv_discount_status($status),
445 445
 				);
446 446
 			}
447 447
 
@@ -456,30 +456,30 @@  discard block
 block discarded – undo
456 456
 	/**
457 457
 	 * Returns an array of items table columns.
458 458
 	 */
459
-	public static function item_columns( $columns ) {
459
+	public static function item_columns($columns) {
460 460
 
461 461
 		$columns = array(
462 462
 			'cb'                => $columns['cb'],
463
-			'title'             => __( 'Name', 'invoicing' ),
464
-			'price'             => __( 'Price', 'invoicing' ),
465
-			'vat_rule'          => __( 'VAT rule', 'invoicing' ),
466
-			'vat_class'         => __( 'VAT class', 'invoicing' ),
467
-			'type'              => __( 'Type', 'invoicing' ),
468
-			'shortcode'         => __( 'Shortcode', 'invoicing' ),
463
+			'title'             => __('Name', 'invoicing'),
464
+			'price'             => __('Price', 'invoicing'),
465
+			'vat_rule'          => __('VAT rule', 'invoicing'),
466
+			'vat_class'         => __('VAT class', 'invoicing'),
467
+			'type'              => __('Type', 'invoicing'),
468
+			'shortcode'         => __('Shortcode', 'invoicing'),
469 469
 		);
470 470
 
471
-		if ( ! wpinv_use_taxes() ) {
472
-			unset( $columns['vat_rule'] );
473
-			unset( $columns['vat_class'] );
471
+		if (!wpinv_use_taxes()) {
472
+			unset($columns['vat_rule']);
473
+			unset($columns['vat_class']);
474 474
 		}
475 475
 
476
-		return apply_filters( 'wpi_item_table_columns', $columns );
476
+		return apply_filters('wpi_item_table_columns', $columns);
477 477
 	}
478 478
 
479 479
 	/**
480 480
 	 * Returns an array of sortable items table columns.
481 481
 	 */
482
-	public static function sortable_item_columns( $columns ) {
482
+	public static function sortable_item_columns($columns) {
483 483
 
484 484
 		return array_merge(
485 485
 			$columns,
@@ -496,49 +496,49 @@  discard block
 block discarded – undo
496 496
 	/**
497 497
 	 * Displays items table columns.
498 498
 	 */
499
-	public static function display_item_columns( $column_name, $post_id ) {
499
+	public static function display_item_columns($column_name, $post_id) {
500 500
  
501
-		$item = new WPInv_Item( $post_id );
501
+		$item = new WPInv_Item($post_id);
502 502
 
503
-		switch ( $column_name ) {
503
+		switch ($column_name) {
504 504
 
505 505
 			case 'price' :
506 506
 
507
-				if ( ! $item->is_recurring() ) {
507
+				if (!$item->is_recurring()) {
508 508
 					echo $item->get_the_price();
509 509
 					break;
510 510
 				}
511 511
 
512 512
 				$price = wp_sprintf(
513
-					__( '%s / %s', 'invoicing' ),
513
+					__('%s / %s', 'invoicing'),
514 514
 					$item->get_the_price(),
515
-					getpaid_get_subscription_period_label( $item->get_recurring_period(), $item->get_recurring_interval(), '' )
515
+					getpaid_get_subscription_period_label($item->get_recurring_period(), $item->get_recurring_interval(), '')
516 516
 				);
517 517
 
518
-				if ( $item->get_the_price() == $item->get_the_initial_price() ) {
518
+				if ($item->get_the_price() == $item->get_the_initial_price()) {
519 519
 					echo $price;
520 520
 					break;
521 521
 				}
522 522
 
523 523
 				echo $item->get_the_initial_price();
524 524
 
525
-				echo '<span class="meta">' . wp_sprintf( __( 'then %s', 'invoicing' ), $price )  .'</span>';
525
+				echo '<span class="meta">' . wp_sprintf(__('then %s', 'invoicing'), $price) . '</span>';
526 526
 				break;
527 527
 
528 528
 			case 'vat_rule' :
529
-				echo getpaid_get_tax_rule_label( $item->get_vat_rule() );
529
+				echo getpaid_get_tax_rule_label($item->get_vat_rule());
530 530
 				break;
531 531
 
532 532
 			case 'vat_class' :
533
-				echo getpaid_get_tax_class_label( $item->get_vat_class() );
533
+				echo getpaid_get_tax_class_label($item->get_vat_class());
534 534
 				break;
535 535
 
536 536
 			case 'shortcode' :
537
-				echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr( $item->get_id() ) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>';
537
+				echo '<input onClick="this.select()" type="text" value="[getpaid item=' . esc_attr($item->get_id()) . ' button=\'Buy Now\']" style="width: 100%;" readonly/>';
538 538
 				break;
539 539
 
540 540
 			case 'type' :
541
-				echo wpinv_item_type( $item->get_id() ) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>';
541
+				echo wpinv_item_type($item->get_id()) . '<span class="meta">' . $item->get_custom_singular_name() . '</span>';
542 542
 				break;
543 543
 
544 544
 		}
@@ -548,21 +548,21 @@  discard block
 block discarded – undo
548 548
 	/**
549 549
 	 * Lets users filter items using taxes.
550 550
 	 */
551
-	public static function add_item_filters( $post_type ) {
551
+	public static function add_item_filters($post_type) {
552 552
 
553 553
 		// Abort if we're not dealing with items.
554
-		if ( $post_type != 'wpi_item' ) {
554
+		if ($post_type != 'wpi_item') {
555 555
 			return;
556 556
 		}
557 557
 
558 558
 		// Filter by vat rules.
559
-		if ( wpinv_use_taxes() ) {
559
+		if (wpinv_use_taxes()) {
560 560
 	
561 561
 			// Sanitize selected vat rule.
562 562
 			$vat_rule   = '';
563 563
 			$vat_rules  = getpaid_get_tax_rules();
564
-			if ( isset( $_GET['vat_rule'] ) ) {
565
-				$vat_rule   =  $_GET['vat_rule'];
564
+			if (isset($_GET['vat_rule'])) {
565
+				$vat_rule = $_GET['vat_rule'];
566 566
 			}
567 567
 
568 568
 			// Filter by VAT rule.
@@ -570,13 +570,13 @@  discard block
 block discarded – undo
570 570
 				array(
571 571
 					'options'          => array_merge(
572 572
 						array(
573
-							'' => __( 'All VAT rules', 'invoicing' )
573
+							'' => __('All VAT rules', 'invoicing')
574 574
 						),
575 575
 						$vat_rules
576 576
 					),
577 577
 					'name'             => 'vat_rule',
578 578
 					'id'               => 'vat_rule',
579
-					'selected'         => in_array( $vat_rule, array_keys( $vat_rules ) ) ? $vat_rule : '',
579
+					'selected'         => in_array($vat_rule, array_keys($vat_rules)) ? $vat_rule : '',
580 580
 					'show_option_all'  => false,
581 581
 					'show_option_none' => false,
582 582
 				)
@@ -587,21 +587,21 @@  discard block
 block discarded – undo
587 587
 			// Sanitize selected vat rule.
588 588
 			$vat_class   = '';
589 589
 			$vat_classes = getpaid_get_tax_classes();
590
-			if ( isset( $_GET['vat_class'] ) ) {
591
-				$vat_class   =  $_GET['vat_class'];
590
+			if (isset($_GET['vat_class'])) {
591
+				$vat_class = $_GET['vat_class'];
592 592
 			}
593 593
 
594 594
 			echo wpinv_html_select(
595 595
 				array(
596 596
 					'options'          => array_merge(
597 597
 						array(
598
-							'' => __( 'All VAT classes', 'invoicing' )
598
+							'' => __('All VAT classes', 'invoicing')
599 599
 						),
600 600
 						$vat_classes
601 601
 					),
602 602
 					'name'             => 'vat_class',
603 603
 					'id'               => 'vat_class',
604
-					'selected'         => in_array( $vat_class, array_keys( $vat_classes ) ) ? $vat_class : '',
604
+					'selected'         => in_array($vat_class, array_keys($vat_classes)) ? $vat_class : '',
605 605
 					'show_option_all'  => false,
606 606
 					'show_option_none' => false,
607 607
 				)
@@ -610,22 +610,22 @@  discard block
 block discarded – undo
610 610
 		}
611 611
 
612 612
 		// Filter by item type.
613
-		$type   = '';
614
-		if ( isset( $_GET['type'] ) ) {
615
-			$type   =  $_GET['type'];
613
+		$type = '';
614
+		if (isset($_GET['type'])) {
615
+			$type = $_GET['type'];
616 616
 		}
617 617
 
618 618
 		echo wpinv_html_select(
619 619
 			array(
620 620
 				'options'          => array_merge(
621 621
 					array(
622
-						'' => __( 'All item types', 'invoicing' )
622
+						'' => __('All item types', 'invoicing')
623 623
 					),
624 624
 					wpinv_get_item_types()
625 625
 				),
626 626
 				'name'             => 'type',
627 627
 				'id'               => 'type',
628
-				'selected'         => in_array( $type, wpinv_item_types() ) ? $type : '',
628
+				'selected'         => in_array($type, wpinv_item_types()) ? $type : '',
629 629
 				'show_option_all'  => false,
630 630
 				'show_option_none' => false,
631 631
 			)
@@ -636,45 +636,45 @@  discard block
 block discarded – undo
636 636
 	/**
637 637
 	 * Filters the item query.
638 638
 	 */
639
-	public static function filter_item_query( $query ) {
639
+	public static function filter_item_query($query) {
640 640
 
641 641
 		// modify the query only if it admin and main query.
642
-		if ( ! ( is_admin() && $query->is_main_query() ) ){ 
642
+		if (!(is_admin() && $query->is_main_query())) { 
643 643
 			return $query;
644 644
 		}
645 645
 
646 646
 		// we want to modify the query for our items.
647
-		if ( empty( $query->query['post_type'] ) || 'wpi_item' != $query->query['post_type'] ){
647
+		if (empty($query->query['post_type']) || 'wpi_item' != $query->query['post_type']) {
648 648
 			return $query;
649 649
 		}
650 650
 
651
-		if ( empty( $query->query_vars['meta_query'] ) ) {
651
+		if (empty($query->query_vars['meta_query'])) {
652 652
 			$query->query_vars['meta_query'] = array();
653 653
 		}
654 654
 
655 655
 		// Filter vat rule type
656
-        if ( ! empty( $_GET['vat_rule'] ) ) {
656
+        if (!empty($_GET['vat_rule'])) {
657 657
             $query->query_vars['meta_query'][] = array(
658 658
                 'key'     => '_wpinv_vat_rule',
659
-                'value'   => sanitize_text_field( $_GET['vat_rule'] ),
659
+                'value'   => sanitize_text_field($_GET['vat_rule']),
660 660
                 'compare' => '='
661 661
             );
662 662
         }
663 663
 
664 664
         // Filter vat class
665
-        if ( ! empty( $_GET['vat_class'] ) ) {
665
+        if (!empty($_GET['vat_class'])) {
666 666
             $query->query_vars['meta_query'][] = array(
667 667
                 'key'     => '_wpinv_vat_class',
668
-                'value'   => sanitize_text_field( $_GET['vat_class'] ),
668
+                'value'   => sanitize_text_field($_GET['vat_class']),
669 669
                 'compare' => '='
670 670
             );
671 671
         }
672 672
 
673 673
         // Filter item type
674
-        if ( ! empty( $_GET['type'] ) ) {
674
+        if (!empty($_GET['type'])) {
675 675
             $query->query_vars['meta_query'][] = array(
676 676
                 'key'     => '_wpinv_type',
677
-                'value'   => sanitize_text_field( $_GET['type'] ),
677
+                'value'   => sanitize_text_field($_GET['type']),
678 678
                 'compare' => '='
679 679
             );
680 680
 		}
@@ -684,15 +684,15 @@  discard block
 block discarded – undo
684 684
 	/**
685 685
 	 * Reorders items.
686 686
 	 */
687
-	public static function reorder_items( $vars ) {
687
+	public static function reorder_items($vars) {
688 688
 		global $typenow;
689 689
 
690
-		if ( 'wpi_item' !== $typenow || empty( $vars['orderby'] ) ) {
690
+		if ('wpi_item' !== $typenow || empty($vars['orderby'])) {
691 691
 			return $vars;
692 692
 		}
693 693
 
694 694
 		// By item type.
695
-		if ( 'type' == $vars['orderby'] ) {
695
+		if ('type' == $vars['orderby']) {
696 696
 			return array_merge(
697 697
 				$vars,
698 698
 				array(
@@ -703,7 +703,7 @@  discard block
 block discarded – undo
703 703
 		}
704 704
 
705 705
 		// By vat class.
706
-		if ( 'vat_class' == $vars['orderby'] ) {
706
+		if ('vat_class' == $vars['orderby']) {
707 707
 			return array_merge(
708 708
 				$vars,
709 709
 				array(
@@ -714,7 +714,7 @@  discard block
 block discarded – undo
714 714
 		}
715 715
 
716 716
 		// By vat rule.
717
-		if ( 'vat_rule' == $vars['orderby'] ) {
717
+		if ('vat_rule' == $vars['orderby']) {
718 718
 			return array_merge(
719 719
 				$vars,
720 720
 				array(
@@ -725,7 +725,7 @@  discard block
 block discarded – undo
725 725
 		}
726 726
 
727 727
 		// By price.
728
-		if ( 'price' == $vars['orderby'] ) {
728
+		if ('price' == $vars['orderby']) {
729 729
 			return array_merge(
730 730
 				$vars,
731 731
 				array(
@@ -742,27 +742,27 @@  discard block
 block discarded – undo
742 742
 	/**
743 743
 	 * Fired when deleting a post.
744 744
 	 */
745
-	public static function delete_post( $post_id ) {
745
+	public static function delete_post($post_id) {
746 746
 
747
-		switch ( get_post_type( $post_id ) ) {
747
+		switch (get_post_type($post_id)) {
748 748
 
749 749
 			case 'wpi_item' :
750
-				do_action( "getpaid_before_delete_item", new WPInv_Item( $post_id ) );
750
+				do_action("getpaid_before_delete_item", new WPInv_Item($post_id));
751 751
 				break;
752 752
 
753 753
 			case 'wpi_payment_form' :
754
-				do_action( "getpaid_before_delete_payment_form", new GetPaid_Payment_Form( $post_id ) );
754
+				do_action("getpaid_before_delete_payment_form", new GetPaid_Payment_Form($post_id));
755 755
 				break;
756 756
 
757 757
 			case 'wpi_discount' :
758
-				do_action( "getpaid_before_delete_discount", new WPInv_Discount( $post_id ) );
758
+				do_action("getpaid_before_delete_discount", new WPInv_Discount($post_id));
759 759
 				break;
760 760
 
761 761
 			case 'wpi_invoice' :
762
-				$invoice = new WPInv_Invoice( $post_id );
763
-				do_action( "getpaid_before_delete_invoice", $invoice );
764
-				$invoice->get_data_store()->delete_items( $invoice );
765
-				$invoice->get_data_store()->delete_special_fields( $invoice );
762
+				$invoice = new WPInv_Invoice($post_id);
763
+				do_action("getpaid_before_delete_invoice", $invoice);
764
+				$invoice->get_data_store()->delete_items($invoice);
765
+				$invoice->get_data_store()->delete_special_fields($invoice);
766 766
 				break;
767 767
 		}
768 768
 	}
Please login to merge, or discard this patch.
includes/admin/views/html-gateways-edit.php 1 patch
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -4,26 +4,26 @@  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
 <div class="table-responsive">
11 11
     <table id="wpinv_gateways_select" class="table border bg-white form-table">
12
-        <caption><?php echo esc_html_e( 'This table displays installed payment methods.', 'invoicing' ); ?></caption>
12
+        <caption><?php echo esc_html_e('This table displays installed payment methods.', 'invoicing'); ?></caption>
13 13
 
14 14
         <thead>
15 15
             <tr class="table-light">
16 16
 
17 17
                 <th scope="col" class="border-bottom border-top text-left">
18
-                    <?php _e( 'Payment Method', 'invoicing' ); ?>
18
+                    <?php _e('Payment Method', 'invoicing'); ?>
19 19
                 </th>
20 20
 
21 21
                 <th scope="col" class="border-bottom border-top text-center">
22
-                    <?php _e( 'Enabled', 'invoicing' ); ?>
22
+                    <?php _e('Enabled', 'invoicing'); ?>
23 23
                 </th>
24 24
 
25 25
                 <th scope="col" class="border-bottom border-top text-center">
26
-                    <?php _e( 'Supports Subscriptions', 'invoicing' ); ?>
26
+                    <?php _e('Supports Subscriptions', 'invoicing'); ?>
27 27
                 </th>
28 28
 
29 29
                 <th scope="col" class="border-bottom border-top text-right" style="width:32px">&nbsp;</th>
@@ -32,15 +32,15 @@  discard block
 block discarded – undo
32 32
         </thead>
33 33
 
34 34
         <tbody>
35
-            <?php foreach ( wpinv_get_payment_gateways() as $id => $gateway ) : ?>
35
+            <?php foreach (wpinv_get_payment_gateways() as $id => $gateway) : ?>
36 36
                 <tr>
37 37
                     <td class="getpaid-payment-method text-left">
38
-                        <a style="color: #0073aa;" href="<?php echo esc_url( add_query_arg( 'section', $id ) ); ?>" class="font-weight-bold"><?php echo sanitize_text_field( $gateway['admin_label'] ); ?></a>
38
+                        <a style="color: #0073aa;" href="<?php echo esc_url(add_query_arg('section', $id)); ?>" class="font-weight-bold"><?php echo sanitize_text_field($gateway['admin_label']); ?></a>
39 39
                     </td>
40 40
                     <td class="getpaid-payment-method-enabled text-center">
41 41
                         <?php
42 42
 
43
-                            $id = esc_attr( $id );
43
+                            $id = esc_attr($id);
44 44
                             echo aui()->input(
45 45
                                 array(
46 46
                                     'type'    => 'checkbox',
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
                                     'value'   => 1,
50 50
                                     'switch'  => true,
51 51
                                     'label'   => '&nbsp;',
52
-                                    'checked' => wpinv_is_gateway_active( $id ),
52
+                                    'checked' => wpinv_is_gateway_active($id),
53 53
                                     'no_wrap' => true,
54 54
                                 )
55 55
                             );
@@ -59,10 +59,10 @@  discard block
 block discarded – undo
59 59
                     <td class="getpaid-payment-method-subscription text-center">
60 60
                         <?php
61 61
 
62
-                            $supports = apply_filters( "wpinv_{$id}_support_subscription", false );
63
-                            $supports = apply_filters( 'getapid_gateway_supports_subscription', $supports, $id );
62
+                            $supports = apply_filters("wpinv_{$id}_support_subscription", false);
63
+                            $supports = apply_filters('getapid_gateway_supports_subscription', $supports, $id);
64 64
 
65
-                            if ( $supports ) {
65
+                            if ($supports) {
66 66
                                 echo "<i class='text-success fa fa-check'></i>";
67 67
                             } else {
68 68
                                 echo "<i class='text-dark fa fa-times'></i>";
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
                     </td>
73 73
 
74 74
                     <td class="getpaid-payment-method-action text-right">
75
-                        <a class="button button-secondary" href="<?php echo esc_url( add_query_arg( 'section', $id ) ); ?>"><?php _e( 'Manage', 'invoicing' ); ?></a>
75
+                        <a class="button button-secondary" href="<?php echo esc_url(add_query_arg('section', $id)); ?>"><?php _e('Manage', 'invoicing'); ?></a>
76 76
                     </td>
77 77
 
78 78
                 </tr>
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
             <tr class="table-light">
84 84
                 <td colspan="4" class="border-top">
85 85
                     <a class="button button-secondary getpaid-install-gateways" href="https://wpgetpaid.com/downloads/category/gateways/">
86
-                        <span><?php _e( 'Add Payment Methods', 'invoicing' ); ?></span>
86
+                        <span><?php _e('Add Payment Methods', 'invoicing'); ?></span>
87 87
                     </a>
88 88
                 </td>
89 89
             </tr>
Please login to merge, or discard this patch.
includes/user-functions.php 2 patches
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -34,11 +34,11 @@  discard block
 block discarded – undo
34 34
  */
35 35
 function wpinv_get_capability( $capalibilty = 'manage_invoicing' ) {
36 36
 
37
-	if ( current_user_can( 'manage_options' ) ) {
38
-		return 'manage_options';
39
-	};
37
+    if ( current_user_can( 'manage_options' ) ) {
38
+        return 'manage_options';
39
+    };
40 40
 
41
-	return $capalibilty;
41
+    return $capalibilty;
42 42
 }
43 43
 
44 44
 /**
@@ -62,10 +62,10 @@  discard block
 block discarded – undo
62 62
     // Prepare user values.
63 63
     $prefix = preg_replace( '/\s+/', '', $prefix );
64 64
     $prefix = empty( $prefix ) ? $email : $prefix;
65
-	$args   = array(
66
-		'user_login' => wpinv_generate_user_name( $prefix ),
67
-		'user_pass'  => wp_generate_password(),
68
-		'user_email' => $email,
65
+    $args   = array(
66
+        'user_login' => wpinv_generate_user_name( $prefix ),
67
+        'user_pass'  => wp_generate_password(),
68
+        'user_email' => $email,
69 69
         'role'       => 'subscriber',
70 70
     );
71 71
 
@@ -82,16 +82,16 @@  discard block
 block discarded – undo
82 82
 function wpinv_generate_user_name( $prefix = '' ) {
83 83
 
84 84
     // If prefix is an email, retrieve the part before the email.
85
-	$prefix = strtok( $prefix, '@' );
85
+    $prefix = strtok( $prefix, '@' );
86 86
     $prefix = trim( $prefix, '.' );
87 87
 
88
-	// Sanitize the username.
89
-	$prefix = sanitize_user( $prefix, true );
88
+    // Sanitize the username.
89
+    $prefix = sanitize_user( $prefix, true );
90 90
 
91
-	$illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );
92
-	if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) {
93
-		$prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 );
94
-	}
91
+    $illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );
92
+    if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) {
93
+        $prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 );
94
+    }
95 95
 
96 96
     $username = $prefix;
97 97
     $postfix  = 2;
Please login to merge, or discard this patch.
Spacing   +89 added lines, -89 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package GetPaid
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  *  Generates a users select dropdown.
@@ -16,13 +16,13 @@  discard block
 block discarded – undo
16 16
  * @param array $args
17 17
  * @see wp_dropdown_users
18 18
  */
19
-function wpinv_dropdown_users( $args = '' ) {
19
+function wpinv_dropdown_users($args = '') {
20 20
 
21
-    if ( is_array( $args ) && ! empty( $args['show'] ) && 'display_name_with_email' == $args['show'] ) {
21
+    if (is_array($args) && !empty($args['show']) && 'display_name_with_email' == $args['show']) {
22 22
         $args['show'] = 'display_name_with_login';
23 23
     }
24 24
 
25
-    return wp_dropdown_users( $args );
25
+    return wp_dropdown_users($args);
26 26
 }
27 27
 
28 28
 /**
@@ -32,9 +32,9 @@  discard block
 block discarded – undo
32 32
  * @return string capability to check against
33 33
  * @param string $capalibilty Optional. The alternative capability to check against.
34 34
  */
35
-function wpinv_get_capability( $capalibilty = 'manage_invoicing' ) {
35
+function wpinv_get_capability($capalibilty = 'manage_invoicing') {
36 36
 
37
-	if ( current_user_can( 'manage_options' ) ) {
37
+	if (current_user_can('manage_options')) {
38 38
 		return 'manage_options';
39 39
 	};
40 40
 
@@ -48,7 +48,7 @@  discard block
 block discarded – undo
48 48
  * @return bool
49 49
  */
50 50
 function wpinv_current_user_can_manage_invoicing() {
51
-    return current_user_can( wpinv_get_capability() );
51
+    return current_user_can(wpinv_get_capability());
52 52
 }
53 53
 
54 54
 /**
@@ -57,19 +57,19 @@  discard block
 block discarded – undo
57 57
  * @since 1.0.19
58 58
  * @return int|WP_Error
59 59
  */
60
-function wpinv_create_user( $email, $prefix = '' ) {
60
+function wpinv_create_user($email, $prefix = '') {
61 61
 
62 62
     // Prepare user values.
63
-    $prefix = preg_replace( '/\s+/', '', $prefix );
64
-    $prefix = empty( $prefix ) ? $email : $prefix;
65
-	$args   = array(
66
-		'user_login' => wpinv_generate_user_name( $prefix ),
63
+    $prefix = preg_replace('/\s+/', '', $prefix);
64
+    $prefix = empty($prefix) ? $email : $prefix;
65
+	$args = array(
66
+		'user_login' => wpinv_generate_user_name($prefix),
67 67
 		'user_pass'  => wp_generate_password(),
68 68
 		'user_email' => $email,
69 69
         'role'       => 'subscriber',
70 70
     );
71 71
 
72
-    return wp_insert_user( $args );
72
+    return wp_insert_user($args);
73 73
 
74 74
 }
75 75
 
@@ -79,26 +79,26 @@  discard block
 block discarded – undo
79 79
  * @since 1.0.19
80 80
  * @return bool|WP_User
81 81
  */
82
-function wpinv_generate_user_name( $prefix = '' ) {
82
+function wpinv_generate_user_name($prefix = '') {
83 83
 
84 84
     // If prefix is an email, retrieve the part before the email.
85
-	$prefix = strtok( $prefix, '@' );
86
-    $prefix = trim( $prefix, '.' );
85
+	$prefix = strtok($prefix, '@');
86
+    $prefix = trim($prefix, '.');
87 87
 
88 88
 	// Sanitize the username.
89
-	$prefix = sanitize_user( $prefix, true );
89
+	$prefix = sanitize_user($prefix, true);
90 90
 
91
-	$illegal_logins = (array) apply_filters( 'illegal_user_logins', array() );
92
-	if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) {
93
-		$prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 );
91
+	$illegal_logins = (array) apply_filters('illegal_user_logins', array());
92
+	if (empty($prefix) || in_array(strtolower($prefix), array_map('strtolower', $illegal_logins), true)) {
93
+		$prefix = 'gtp_' . zeroise(wp_rand(0, 9999), 4);
94 94
 	}
95 95
 
96 96
     $username = $prefix;
97 97
     $postfix  = 2;
98 98
 
99
-    while ( username_exists( $username ) ) {
99
+    while (username_exists($username)) {
100 100
         $username = $prefix + $postfix;
101
-        $postfix ++;
101
+        $postfix++;
102 102
     }
103 103
 
104 104
     return $username;
@@ -115,26 +115,26 @@  discard block
 block discarded – undo
115 115
     $tabs = array(
116 116
 
117 117
         'gp-edit-address'  => array(
118
-            'label'        => __( 'Billing Address', 'invoicing' ),
118
+            'label'        => __('Billing Address', 'invoicing'),
119 119
             'callback'     => 'getpaid_display_address_edit_tab',
120 120
             'icon'         => 'fas fa-credit-card',
121 121
         ),
122 122
 
123 123
         'gp-invoices'   => array(
124
-            'label'     => __( 'Invoices', 'invoicing' ), // Name of the tab.
124
+            'label'     => __('Invoices', 'invoicing'), // Name of the tab.
125 125
             'content'   => '[wpinv_history]', // Content of the tab. Or specify "callback" to provide a callback instead.
126 126
             'icon'      => 'fas fa-file-invoice', // Shown on some profile plugins.
127 127
         ),
128 128
 
129 129
         'gp-subscriptions' => array(
130
-            'label'        => __( 'Subscriptions', 'invoicing' ),
130
+            'label'        => __('Subscriptions', 'invoicing'),
131 131
             'content'      => '[wpinv_subscriptions]',
132 132
             'icon'         => 'fas fa-redo',
133 133
         ),
134 134
 
135 135
     );
136 136
 
137
-    return apply_filters( 'getpaid_user_content_tabs', $tabs );
137
+    return apply_filters('getpaid_user_content_tabs', $tabs);
138 138
 }
139 139
 
140 140
 /**
@@ -144,19 +144,19 @@  discard block
 block discarded – undo
144 144
  * @param array $tab
145 145
  * @return array
146 146
  */
147
-function getpaid_prepare_user_content_tab( $tab ) {
147
+function getpaid_prepare_user_content_tab($tab) {
148 148
 
149
-    if ( ! empty( $tab['callback'] ) ) {
150
-        return call_user_func( $tab['callback'] );
149
+    if (!empty($tab['callback'])) {
150
+        return call_user_func($tab['callback']);
151 151
     }
152 152
 
153
-    if ( ! empty( $tab['content'] ) ) {
154
-        return convert_smilies( capital_P_dangit( wp_filter_content_tags( do_shortcode( shortcode_unautop( wpautop( wptexturize( do_blocks( $tab['content'] ) ) ) ) ) ) ) );
153
+    if (!empty($tab['content'])) {
154
+        return convert_smilies(capital_P_dangit(wp_filter_content_tags(do_shortcode(shortcode_unautop(wpautop(wptexturize(do_blocks($tab['content']))))))));
155 155
     }
156 156
 
157 157
     $notice = aui()->alert(
158 158
         array(
159
-            'content'     => __( 'This tab has no content or content callback.', 'invoicing' ),
159
+            'content'     => __('This tab has no content or content callback.', 'invoicing'),
160 160
             'type'        => 'error',
161 161
         )
162 162
     );
@@ -172,14 +172,14 @@  discard block
 block discarded – undo
172 172
  * @param string $default
173 173
  * @return array
174 174
  */
175
-function getpaid_get_tab_url( $tab, $default ) {
175
+function getpaid_get_tab_url($tab, $default) {
176 176
     global $getpaid_tab_url;
177 177
 
178
-    if ( empty( $getpaid_tab_url ) ) {
178
+    if (empty($getpaid_tab_url)) {
179 179
         return $default;
180 180
     }
181 181
 
182
-    return sprintf( $getpaid_tab_url, $tab );
182
+    return sprintf($getpaid_tab_url, $tab);
183 183
 
184 184
 }
185 185
 
@@ -199,19 +199,19 @@  discard block
 block discarded – undo
199 199
 
200 200
                 <?php
201 201
 
202
-                    foreach ( getpaid_user_address_fields() as $key => $label ) {
202
+                    foreach (getpaid_user_address_fields() as $key => $label) {
203 203
 
204 204
                         // Display the country.
205
-                        if ( 'country' == $key ) {
205
+                        if ('country' == $key) {
206 206
 
207 207
                             echo aui()->select(
208 208
                                 array(
209 209
                                     'options'     => wpinv_get_country_list(),
210
-                                    'name'        => esc_attr( $key ),
211
-                                    'id'          => 'wpinv-' . sanitize_html_class( $key ),
212
-                                    'value'       => sanitize_text_field( getpaid_get_user_address_field( get_current_user_id(), $key ) ),
210
+                                    'name'        => esc_attr($key),
211
+                                    'id'          => 'wpinv-' . sanitize_html_class($key),
212
+                                    'value'       => sanitize_text_field(getpaid_get_user_address_field(get_current_user_id(), $key)),
213 213
                                     'placeholder' => $label,
214
-                                    'label'       => wp_kses_post( $label ),
214
+                                    'label'       => wp_kses_post($label),
215 215
                                     'label_type'  => 'vertical',
216 216
                                     'class'       => 'getpaid-address-field',
217 217
                                 )
@@ -220,11 +220,11 @@  discard block
 block discarded – undo
220 220
                         }
221 221
 
222 222
                         // Display the state.
223
-                        else if ( 'state' == $key ) {
223
+                        else if ('state' == $key) {
224 224
 
225
-                            echo getpaid_get_states_select_markup (
226
-                                getpaid_get_user_address_field( get_current_user_id(), 'country' ),
227
-                                getpaid_get_user_address_field( get_current_user_id(), 'state' ),
225
+                            echo getpaid_get_states_select_markup(
226
+                                getpaid_get_user_address_field(get_current_user_id(), 'country'),
227
+                                getpaid_get_user_address_field(get_current_user_id(), 'state'),
228 228
                                 $label,
229 229
                                 $label,
230 230
                                 '',
@@ -237,13 +237,13 @@  discard block
 block discarded – undo
237 237
 
238 238
                             echo aui()->input(
239 239
                                 array(
240
-                                    'name'        => esc_attr( $key ),
241
-                                    'id'          => 'wpinv-' . sanitize_html_class( $key ),
240
+                                    'name'        => esc_attr($key),
241
+                                    'id'          => 'wpinv-' . sanitize_html_class($key),
242 242
                                     'placeholder' => $label,
243
-                                    'label'       => wp_kses_post( $label ),
243
+                                    'label'       => wp_kses_post($label),
244 244
                                     'label_type'  => 'vertical',
245 245
                                     'type'        => 'text',
246
-                                    'value'       => sanitize_text_field( getpaid_get_user_address_field( get_current_user_id(), $key ) ),
246
+                                    'value'       => sanitize_text_field(getpaid_get_user_address_field(get_current_user_id(), $key)),
247 247
                                     'class'       => 'getpaid-address-field',
248 248
                                 )
249 249
                             );
@@ -252,21 +252,21 @@  discard block
 block discarded – undo
252 252
 
253 253
                     }
254 254
 
255
-                    do_action( 'getpaid_display_address_edit_tab' );
255
+                    do_action('getpaid_display_address_edit_tab');
256 256
 
257 257
                     echo aui()->input(
258 258
                         array(
259 259
                             'name'             => 'getpaid_profile_edit_submit_button',
260 260
                             'id'               => 'getpaid_profile_edit_submit_button',
261
-                            'value'            => __( 'Save Address', 'invoicing' ),
262
-                            'help_text'        => __( 'New invoices will use this address as the billing address.', 'invoicing' ),
261
+                            'value'            => __('Save Address', 'invoicing'),
262
+                            'help_text'        => __('New invoices will use this address as the billing address.', 'invoicing'),
263 263
                             'type'             => 'submit',
264 264
                             'class'            => 'btn btn-primary btn-block submit-button',
265 265
                         )
266 266
                     );
267 267
 
268
-                    wp_nonce_field( 'getpaid-nonce', 'getpaid-nonce' );
269
-                    getpaid_hidden_field( 'getpaid-action', 'edit_billing_details' );
268
+                    wp_nonce_field('getpaid-nonce', 'getpaid-nonce');
269
+                    getpaid_hidden_field('getpaid-action', 'edit_billing_details');
270 270
                 ?>
271 271
 
272 272
             </form>
@@ -283,20 +283,20 @@  discard block
 block discarded – undo
283 283
  * @since 2.1.4
284 284
  * @param array $data
285 285
  */
286
-function getpaid_save_address_edit_tab( $data ) {
286
+function getpaid_save_address_edit_tab($data) {
287 287
 
288
-    foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
288
+    foreach (array_keys(getpaid_user_address_fields()) as $field) {
289 289
 
290
-        if ( isset( $data[ $field ] ) ) {
291
-            $value = sanitize_text_field( $data[ $field ] );
292
-            update_user_meta( get_current_user_id(), '_wpinv_' . $field, $value );
290
+        if (isset($data[$field])) {
291
+            $value = sanitize_text_field($data[$field]);
292
+            update_user_meta(get_current_user_id(), '_wpinv_' . $field, $value);
293 293
         }
294 294
 
295
-        wpinv_set_error( 'address_updated', __( 'You billing address has been updated', 'invoicing' ), 'success');
295
+        wpinv_set_error('address_updated', __('You billing address has been updated', 'invoicing'), 'success');
296 296
     }
297 297
 
298 298
 }
299
-add_action( 'getpaid_authenticated_action_edit_billing_details', 'getpaid_save_address_edit_tab' );
299
+add_action('getpaid_authenticated_action_edit_billing_details', 'getpaid_save_address_edit_tab');
300 300
 
301 301
 
302 302
 /*
@@ -314,27 +314,27 @@  discard block
 block discarded – undo
314 314
  * @param  array $tabs
315 315
  * @return array
316 316
  */
317
-function getpaid_filter_userswp_account_tabs( $tabs ) {
317
+function getpaid_filter_userswp_account_tabs($tabs) {
318 318
 
319 319
     // Abort if the integration is inactive.
320
-    if ( ! getpaid_is_userswp_integration_active() ) {
320
+    if (!getpaid_is_userswp_integration_active()) {
321 321
         return $tabs;
322 322
     }
323 323
 
324
-    $new_tabs   = array();
324
+    $new_tabs = array();
325 325
 
326
-    foreach ( getpaid_get_user_content_tabs() as $slug => $tab ) {
326
+    foreach (getpaid_get_user_content_tabs() as $slug => $tab) {
327 327
 
328
-        $new_tabs[ $slug ] = array(
329
-            'title' => $tab[ 'label'],
330
-            'icon'  =>  $tab[ 'icon'],
328
+        $new_tabs[$slug] = array(
329
+            'title' => $tab['label'],
330
+            'icon'  =>  $tab['icon'],
331 331
         );
332 332
 
333 333
     }
334 334
 
335
-    return array_merge( $tabs, $new_tabs );
335
+    return array_merge($tabs, $new_tabs);
336 336
 }
337
-add_filter( 'uwp_account_available_tabs', 'getpaid_filter_userswp_account_tabs' );
337
+add_filter('uwp_account_available_tabs', 'getpaid_filter_userswp_account_tabs');
338 338
 
339 339
 /**
340 340
  * Display our UsersWP account tabs.
@@ -343,18 +343,18 @@  discard block
 block discarded – undo
343 343
  * @param  array $tabs
344 344
  * @return array
345 345
  */
346
-function getpaid_display_userswp_account_tabs( $tab ) {
346
+function getpaid_display_userswp_account_tabs($tab) {
347 347
     global $getpaid_tab_url;
348 348
 
349 349
     $our_tabs = getpaid_get_user_content_tabs();
350 350
 
351
-    if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) {
352
-        $getpaid_tab_url = add_query_arg( 'type', '%s', uwp_get_account_page_url() );
353
-        echo getpaid_prepare_user_content_tab( $our_tabs[ $tab ] );
351
+    if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) {
352
+        $getpaid_tab_url = add_query_arg('type', '%s', uwp_get_account_page_url());
353
+        echo getpaid_prepare_user_content_tab($our_tabs[$tab]);
354 354
     }
355 355
 
356 356
 }
357
-add_action( 'uwp_account_form_display', 'getpaid_display_userswp_account_tabs' );
357
+add_action('uwp_account_form_display', 'getpaid_display_userswp_account_tabs');
358 358
 
359 359
 
360 360
 /**
@@ -365,17 +365,17 @@  discard block
 block discarded – undo
365 365
  * @param  string $tab   Current tab.
366 366
  * @return string Title.
367 367
  */
368
-function getpaid_filter_userswp_account_title( $title, $tab ) {
368
+function getpaid_filter_userswp_account_title($title, $tab) {
369 369
 
370
-    $our_tabs   = getpaid_get_user_content_tabs();
370
+    $our_tabs = getpaid_get_user_content_tabs();
371 371
 
372
-    if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) {
373
-        return $our_tabs[ $tab ]['label'];
372
+    if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) {
373
+        return $our_tabs[$tab]['label'];
374 374
     }
375 375
 
376 376
     return $title;
377 377
 }
378
-add_filter( 'uwp_account_page_title', 'getpaid_filter_userswp_account_title', 10, 2 );
378
+add_filter('uwp_account_page_title', 'getpaid_filter_userswp_account_title', 10, 2);
379 379
 
380 380
 /**
381 381
  * Registers the UsersWP integration settings.
@@ -384,26 +384,26 @@  discard block
 block discarded – undo
384 384
  * @param  array $settings An array of integration settings.
385 385
  * @return array
386 386
  */
387
-function getpaid_register_userswp_settings( $settings ) {
387
+function getpaid_register_userswp_settings($settings) {
388 388
 
389
-    if ( defined( 'USERSWP_PLUGIN_FILE' ) ) {
389
+    if (defined('USERSWP_PLUGIN_FILE')) {
390 390
 
391 391
         $settings[] = array(
392 392
 
393 393
             'id'       => 'userswp',
394
-            'label'    => __( 'UsersWP', 'invoicing' ),
394
+            'label'    => __('UsersWP', 'invoicing'),
395 395
             'settings' => array(
396 396
 
397 397
                 'userswp_settings' => array(
398 398
                     'id'   => 'userswp_settings',
399
-                    'name' => '<h3>' . __( 'UsersWP', 'invoicing' ) . '</h3>',
399
+                    'name' => '<h3>' . __('UsersWP', 'invoicing') . '</h3>',
400 400
                     'type' => 'header',
401 401
                 ),
402 402
 
403 403
                 'enable_userswp' => array(
404 404
                     'id'         => 'enable_userswp',
405
-                    'name'       => __( 'Enable Integration', 'invoicing' ),
406
-                    'desc'       => __( 'Display GetPaid items on UsersWP account page.', 'invoicing' ),
405
+                    'name'       => __('Enable Integration', 'invoicing'),
406
+                    'desc'       => __('Display GetPaid items on UsersWP account page.', 'invoicing'),
407 407
                     'type'       => 'checkbox',
408 408
                     'std'        => 1,
409 409
                 )
@@ -416,7 +416,7 @@  discard block
 block discarded – undo
416 416
 
417 417
     return $settings;
418 418
 }
419
-add_filter( 'getpaid_integration_settings', 'getpaid_register_userswp_settings' );
419
+add_filter('getpaid_integration_settings', 'getpaid_register_userswp_settings');
420 420
 
421 421
 /**
422 422
  * Checks if the integration is enabled.
@@ -425,6 +425,6 @@  discard block
 block discarded – undo
425 425
  * @return bool
426 426
  */
427 427
 function getpaid_is_userswp_integration_active() {
428
-    $enabled = wpinv_get_option( 'enable_userswp', 1 );
429
-    return defined( 'USERSWP_PLUGIN_FILE' ) && ! empty( $enabled );
428
+    $enabled = wpinv_get_option('enable_userswp', 1);
429
+    return defined('USERSWP_PLUGIN_FILE') && !empty($enabled);
430 430
 }
Please login to merge, or discard this patch.
includes/admin/class-wpinv-admin-menus.php 1 patch
Spacing   +81 added lines, -81 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Setup menus in WP admin.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * WC_Admin_Menus Class.
@@ -13,25 +13,25 @@  discard block
 block discarded – undo
13 13
      * Hook in tabs.
14 14
      */
15 15
     public function __construct() {
16
-        add_action( 'admin_menu', array( $this, 'admin_menu' ), 10 );
17
-        add_action( 'admin_menu', array( $this, 'add_customers_menu' ), 18 );
18
-        add_action( 'admin_menu', array( $this, 'add_subscriptions_menu' ), 40 );
19
-        add_action( 'admin_menu', array( $this, 'add_addons_menu' ), 100 );
20
-        add_action( 'admin_menu', array( $this, 'add_settings_menu' ), 60 );
21
-        add_action( 'admin_menu', array( $this, 'remove_admin_submenus' ), 10 );
22
-        add_action( 'admin_head-nav-menus.php', array( $this, 'add_nav_menu_meta_boxes' ) );
16
+        add_action('admin_menu', array($this, 'admin_menu'), 10);
17
+        add_action('admin_menu', array($this, 'add_customers_menu'), 18);
18
+        add_action('admin_menu', array($this, 'add_subscriptions_menu'), 40);
19
+        add_action('admin_menu', array($this, 'add_addons_menu'), 100);
20
+        add_action('admin_menu', array($this, 'add_settings_menu'), 60);
21
+        add_action('admin_menu', array($this, 'remove_admin_submenus'), 10);
22
+        add_action('admin_head-nav-menus.php', array($this, 'add_nav_menu_meta_boxes'));
23 23
     }
24 24
 
25 25
     public function admin_menu() {
26 26
 
27
-        $capability = apply_filters( 'invoicing_capability', wpinv_get_capability() );
27
+        $capability = apply_filters('invoicing_capability', wpinv_get_capability());
28 28
         add_menu_page(
29
-            __( 'GetPaid', 'invoicing' ),
30
-            __( 'GetPaid', 'invoicing' ),
29
+            __('GetPaid', 'invoicing'),
30
+            __('GetPaid', 'invoicing'),
31 31
             $capability,
32 32
             'wpinv',
33 33
             null,
34
-            'data:image/svg+xml;base64,' . base64_encode( file_get_contents( WPINV_PLUGIN_DIR . 'assets/images/GetPaid.svg' ) ),
34
+            'data:image/svg+xml;base64,' . base64_encode(file_get_contents(WPINV_PLUGIN_DIR . 'assets/images/GetPaid.svg')),
35 35
             '54.123460'
36 36
         );
37 37
 
@@ -43,11 +43,11 @@  discard block
 block discarded – undo
43 43
     public function add_customers_menu() {
44 44
         add_submenu_page(
45 45
             'wpinv',
46
-            __( 'Customers', 'invoicing' ),
47
-            __( 'Customers', 'invoicing' ),
46
+            __('Customers', 'invoicing'),
47
+            __('Customers', 'invoicing'),
48 48
             wpinv_get_capability(),
49 49
             'wpinv-customers',
50
-            array( $this, 'customers_page' )
50
+            array($this, 'customers_page')
51 51
         );
52 52
     }
53 53
 
@@ -57,8 +57,8 @@  discard block
 block discarded – undo
57 57
     public function add_subscriptions_menu() {
58 58
         add_submenu_page(
59 59
             'wpinv',
60
-            __( 'Subscriptions', 'invoicing' ),
61
-            __( 'Subscriptions', 'invoicing' ),
60
+            __('Subscriptions', 'invoicing'),
61
+            __('Subscriptions', 'invoicing'),
62 62
             wpinv_get_capability(),
63 63
             'wpinv-subscriptions',
64 64
             'wpinv_subscriptions_page'
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
      * Displays the customers page.
70 70
      */
71 71
     public function customers_page() {
72
-        require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-customers-table.php' );
72
+        require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-customers-table.php');
73 73
         ?>
74 74
         <div class="wrap wpi-customers-wrap">
75 75
             <style>
@@ -77,12 +77,12 @@  discard block
 block discarded – undo
77 77
                     width: 30%;
78 78
                 }
79 79
             </style>
80
-            <h1><?php echo esc_html( __( 'Customers', 'invoicing' ) ); ?></h1>
80
+            <h1><?php echo esc_html(__('Customers', 'invoicing')); ?></h1>
81 81
             <form method="post">
82 82
             <?php
83 83
                 $table = new WPInv_Customers_Table();
84 84
                 $table->prepare_items();
85
-                $table->search_box( __( 'Search Customers', 'invoicing' ), 'search-customers' );
85
+                $table->search_box(__('Search Customers', 'invoicing'), 'search-customers');
86 86
                 $table->display();
87 87
             ?>
88 88
             </form>
@@ -96,16 +96,16 @@  discard block
 block discarded – undo
96 96
     public function add_settings_menu() {
97 97
         add_submenu_page(
98 98
             'wpinv',
99
-            __( 'Invoice Settings', 'invoicing' ),
100
-            __( 'Settings', 'invoicing' ),
101
-            apply_filters( 'invoicing_capability', wpinv_get_capability() ),
99
+            __('Invoice Settings', 'invoicing'),
100
+            __('Settings', 'invoicing'),
101
+            apply_filters('invoicing_capability', wpinv_get_capability()),
102 102
             'wpinv-settings',
103
-            array( $this, 'options_page' )
103
+            array($this, 'options_page')
104 104
         );
105 105
     }
106 106
 
107
-    public function add_addons_menu(){
108
-        if ( !apply_filters( 'wpi_show_addons_page', true ) ) {
107
+    public function add_addons_menu() {
108
+        if (!apply_filters('wpi_show_addons_page', true)) {
109 109
             return;
110 110
         }
111 111
 
@@ -115,78 +115,78 @@  discard block
 block discarded – undo
115 115
             __('Extensions', 'invoicing'),
116 116
             'manage_options',
117 117
             'wpi-addons',
118
-            array( $this, 'addons_page' )
118
+            array($this, 'addons_page')
119 119
         );
120 120
     }
121 121
 
122
-    public function addons_page(){
122
+    public function addons_page() {
123 123
         $addon_obj = new WPInv_Admin_Addons();
124 124
         $addon_obj->output();
125 125
     }
126 126
 
127 127
     function options_page() {
128
-        $page       = isset( $_GET['page'] )                ? strtolower( $_GET['page'] )               : false;
128
+        $page = isset($_GET['page']) ? strtolower($_GET['page']) : false;
129 129
 
130
-        if ( $page !== 'wpinv-settings' ) {
130
+        if ($page !== 'wpinv-settings') {
131 131
             return;
132 132
         }
133 133
 
134 134
         $settings_tabs = wpinv_get_settings_tabs();
135 135
         $settings_tabs = empty($settings_tabs) ? array() : $settings_tabs;
136
-        $active_tab    = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $settings_tabs ) ? sanitize_text_field( $_GET['tab'] ) : 'general';
137
-        $sections      = wpinv_get_settings_tab_sections( $active_tab );
136
+        $active_tab    = isset($_GET['tab']) && array_key_exists($_GET['tab'], $settings_tabs) ? sanitize_text_field($_GET['tab']) : 'general';
137
+        $sections      = wpinv_get_settings_tab_sections($active_tab);
138 138
         $key           = 'main';
139 139
 
140
-        if ( is_array( $sections ) ) {
141
-            $key = key( $sections );
140
+        if (is_array($sections)) {
141
+            $key = key($sections);
142 142
         }
143 143
 
144
-        $registered_sections = wpinv_get_settings_tab_sections( $active_tab );
145
-        $section             = isset( $_GET['section'] ) && ! empty( $registered_sections ) && array_key_exists( $_GET['section'], $registered_sections ) ? $_GET['section'] : $key;
144
+        $registered_sections = wpinv_get_settings_tab_sections($active_tab);
145
+        $section             = isset($_GET['section']) && !empty($registered_sections) && array_key_exists($_GET['section'], $registered_sections) ? $_GET['section'] : $key;
146 146
         ob_start();
147 147
         ?>
148 148
         <div class="wrap">
149 149
             <h1 class="nav-tab-wrapper">
150 150
                 <?php
151
-                foreach( wpinv_get_settings_tabs() as $tab_id => $tab_name ) {
152
-                    $tab_url = add_query_arg( array(
151
+                foreach (wpinv_get_settings_tabs() as $tab_id => $tab_name) {
152
+                    $tab_url = add_query_arg(array(
153 153
                         'settings-updated' => false,
154 154
                         'tab' => $tab_id,
155
-                    ) );
155
+                    ));
156 156
 
157 157
                     // Remove the section from the tabs so we always end up at the main section
158
-                    $tab_url = remove_query_arg( 'section', $tab_url );
159
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
158
+                    $tab_url = remove_query_arg('section', $tab_url);
159
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
160 160
 
161 161
                     $active = $active_tab == $tab_id ? ' nav-tab-active' : '';
162 162
 
163
-                    echo '<a href="' . esc_url( $tab_url ) . '" title="' . esc_attr( $tab_name ) . '" class="nav-tab' . $active . '">';
164
-                    echo esc_html( $tab_name );
163
+                    echo '<a href="' . esc_url($tab_url) . '" title="' . esc_attr($tab_name) . '" class="nav-tab' . $active . '">';
164
+                    echo esc_html($tab_name);
165 165
                     echo '</a>';
166 166
                 }
167 167
                 ?>
168 168
             </h1>
169 169
             <?php
170
-            $number_of_sections = count( $sections );
170
+            $number_of_sections = count($sections);
171 171
             $number = 0;
172
-            if ( $number_of_sections > 1 ) {
172
+            if ($number_of_sections > 1) {
173 173
                 echo '<div><ul class="subsubsub">';
174
-                foreach( $sections as $section_id => $section_name ) {
174
+                foreach ($sections as $section_id => $section_name) {
175 175
                     echo '<li>';
176 176
                     $number++;
177
-                    $tab_url = add_query_arg( array(
177
+                    $tab_url = add_query_arg(array(
178 178
                         'settings-updated' => false,
179 179
                         'tab' => $active_tab,
180 180
                         'section' => $section_id
181
-                    ) );
182
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
181
+                    ));
182
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
183 183
                     $class = '';
184
-                    if ( $section == $section_id ) {
184
+                    if ($section == $section_id) {
185 185
                         $class = 'current';
186 186
                     }
187
-                    echo '<a class="' . $class . '" href="' . esc_url( $tab_url ) . '">' . $section_name . '</a>';
187
+                    echo '<a class="' . $class . '" href="' . esc_url($tab_url) . '">' . $section_name . '</a>';
188 188
 
189
-                    if ( $number != $number_of_sections ) {
189
+                    if ($number != $number_of_sections) {
190 190
                         echo ' | ';
191 191
                     }
192 192
                     echo '</li>';
@@ -198,20 +198,20 @@  discard block
 block discarded – undo
198 198
                 <form method="post" action="options.php">
199 199
                     <table class="form-table">
200 200
                         <?php
201
-                        settings_fields( 'wpinv_settings' );
201
+                        settings_fields('wpinv_settings');
202 202
 
203
-                        if ( 'main' === $section ) {
204
-                            do_action( 'wpinv_settings_tab_top', $active_tab );
203
+                        if ('main' === $section) {
204
+                            do_action('wpinv_settings_tab_top', $active_tab);
205 205
                         }
206 206
 
207
-                        do_action( 'wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section );
208
-                        do_settings_sections( 'wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section );
209
-                        do_action( 'wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section );
210
-                        do_action( 'getpaid_settings_tab_bottom', $active_tab, $section );
207
+                        do_action('wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section);
208
+                        do_settings_sections('wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section);
209
+                        do_action('wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section);
210
+                        do_action('getpaid_settings_tab_bottom', $active_tab, $section);
211 211
 
212 212
                         // For backwards compatibility
213
-                        if ( 'main' === $section ) {
214
-                            do_action( 'wpinv_settings_tab_bottom', $active_tab );
213
+                        if ('main' === $section) {
214
+                            do_action('wpinv_settings_tab_bottom', $active_tab);
215 215
                         }
216 216
                         ?>
217 217
                     </table>
@@ -225,7 +225,7 @@  discard block
 block discarded – undo
225 225
     }
226 226
 
227 227
     public function remove_admin_submenus() {
228
-        remove_submenu_page( 'edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice' );
228
+        remove_submenu_page('edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice');
229 229
     }
230 230
 
231 231
     /**
@@ -235,8 +235,8 @@  discard block
 block discarded – undo
235 235
 
236 236
         add_meta_box(
237 237
             'wpinv_endpoints_nav_link',
238
-            __( 'GetPaid endpoints', 'invoicing' ),
239
-            array( $this, 'nav_menu_links' ),
238
+            __('GetPaid endpoints', 'invoicing'),
239
+            array($this, 'nav_menu_links'),
240 240
             'nav-menus',
241 241
             'side',
242 242
             'low'
@@ -251,12 +251,12 @@  discard block
 block discarded – undo
251 251
         $endpoints = $this->get_menu_items();
252 252
         ?>
253 253
         <div id="invoicing-endpoints" class="posttypediv">
254
-            <?php if ( ! empty( $endpoints['pages'] ) ) : ?>
254
+            <?php if (!empty($endpoints['pages'])) : ?>
255 255
                 <div id="tabs-panel-invoicing-endpoints" class="tabs-panel tabs-panel-active">
256 256
                     <ul id="invoicing-endpoints-checklist" class="categorychecklist form-no-clear">
257 257
                         <?php
258
-                            $walker = new Walker_Nav_Menu_Checklist( array() );
259
-                            echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $endpoints['pages'] ), 0, (object) array( 'walker' => $walker ) );
258
+                            $walker = new Walker_Nav_Menu_Checklist(array());
259
+                            echo walk_nav_menu_tree(array_map('wp_setup_nav_menu_item', $endpoints['pages']), 0, (object) array('walker' => $walker));
260 260
                         ?>
261 261
                     </ul>
262 262
                 </div>
@@ -265,11 +265,11 @@  discard block
 block discarded – undo
265 265
             <p class="button-controls wp-clearfix" data-items-type="invoicing-endpoints">
266 266
                 <span class="list-controls hide-if-no-js">
267 267
                     <input type="checkbox" id="invoicing-endpoints-tab" class="select-all">
268
-                    <label for="invoicing-endpoints-tab"><?php _e( 'Select all', 'invoicing' ); ?></label>
268
+                    <label for="invoicing-endpoints-tab"><?php _e('Select all', 'invoicing'); ?></label>
269 269
                 </span>
270 270
 
271 271
                 <span class="add-to-menu">
272
-                    <input type="submit" class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to menu', 'invoicing' ); ?>" name="add-invoicing-endpoints-item" id="submit-invoicing-endpoints">
272
+                    <input type="submit" class="button submit-add-to-menu right" value="<?php esc_attr_e('Add to menu', 'invoicing'); ?>" name="add-invoicing-endpoints-item" id="submit-invoicing-endpoints">
273 273
                     <span class="spinner"></span>
274 274
                 </span>
275 275
             </p>
@@ -282,35 +282,35 @@  discard block
 block discarded – undo
282 282
      *
283 283
      * @return array.
284 284
      */
285
-    public function get_menu_items(){
285
+    public function get_menu_items() {
286 286
         $items = array();
287 287
 
288 288
         $pages = array(
289 289
             array(
290
-                'id'    => wpinv_get_option( 'invoice_history_page' ),
291
-                'label' => __( 'My Invoices', 'invoicing' ),
290
+                'id'    => wpinv_get_option('invoice_history_page'),
291
+                'label' => __('My Invoices', 'invoicing'),
292 292
             ),
293 293
             array(
294
-                'id'    => wpinv_get_option( 'invoice_subscription_page' ),
295
-                'label' => __( 'My Subscriptions', 'invoicing' ),
294
+                'id'    => wpinv_get_option('invoice_subscription_page'),
295
+                'label' => __('My Subscriptions', 'invoicing'),
296 296
             )
297 297
         );
298 298
 
299
-        foreach ( apply_filters( 'getpaid_menu_pages', $pages ) as $page ) {
299
+        foreach (apply_filters('getpaid_menu_pages', $pages) as $page) {
300 300
 
301
-            if ( (int) $page['id'] > 0 ) {
301
+            if ((int) $page['id'] > 0) {
302 302
 
303 303
                 $item                   = new stdClass();
304 304
                 $item->object_id        = (int) $page['id'];
305 305
                 $item->db_id            = 0;
306
-                $item->object           =  'page';
306
+                $item->object           = 'page';
307 307
                 $item->menu_item_parent = 0;
308 308
                 $item->type             = 'post_type';
309
-                $item->title            = sanitize_text_field( $page['label'] );
310
-                $item->url              = get_permalink( (int) $page['id'] );
309
+                $item->title            = sanitize_text_field($page['label']);
310
+                $item->url              = get_permalink((int) $page['id']);
311 311
                 $item->target           = '';
312 312
                 $item->attr_title       = '';
313
-                $item->classes          = array( 'wpinv-menu-item' );
313
+                $item->classes          = array('wpinv-menu-item');
314 314
                 $item->xfn              = '';
315 315
 
316 316
                 $items['pages'][]       = $item;
@@ -319,7 +319,7 @@  discard block
 block discarded – undo
319 319
 
320 320
         }
321 321
 
322
-        return apply_filters( 'wpinv_menu_items', $items );
322
+        return apply_filters('wpinv_menu_items', $items);
323 323
     }
324 324
 
325 325
 }
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-form-submission.php 2 patches
Indentation   +777 added lines, -777 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
 /**
@@ -10,187 +10,187 @@  discard block
 block discarded – undo
10 10
 class GetPaid_Payment_Form_Submission {
11 11
 
12 12
     /**
13
-	 * Submission ID
14
-	 *
15
-	 * @var string
16
-	 */
17
-	public $id = null;
18
-
19
-	/**
20
-	 * The raw submission data.
21
-	 *
22
-	 * @var array
23
-	 */
24
-	protected $data = null;
25
-
26
-	/**
27
-	 * Submission totals
28
-	 *
29
-	 * @var array
30
-	 */
31
-	protected $totals = array(
32
-
33
-		'subtotal'      => array(
34
-			'initial'   => 0,
35
-			'recurring' => 0,
36
-		),
37
-
38
-		'discount'      => array(
39
-			'initial'   => 0,
40
-			'recurring' => 0,
41
-		),
42
-
43
-		'fees'          => array(
44
-			'initial'   => 0,
45
-			'recurring' => 0,
46
-		),
47
-
48
-		'taxes'         => array(
49
-			'initial'   => 0,
50
-			'recurring' => 0,
51
-		),
52
-
53
-	);
54
-
55
-	/**
56
-	 * Sets the associated payment form.
57
-	 *
58
-	 * @var GetPaid_Payment_Form
59
-	 */
13
+     * Submission ID
14
+     *
15
+     * @var string
16
+     */
17
+    public $id = null;
18
+
19
+    /**
20
+     * The raw submission data.
21
+     *
22
+     * @var array
23
+     */
24
+    protected $data = null;
25
+
26
+    /**
27
+     * Submission totals
28
+     *
29
+     * @var array
30
+     */
31
+    protected $totals = array(
32
+
33
+        'subtotal'      => array(
34
+            'initial'   => 0,
35
+            'recurring' => 0,
36
+        ),
37
+
38
+        'discount'      => array(
39
+            'initial'   => 0,
40
+            'recurring' => 0,
41
+        ),
42
+
43
+        'fees'          => array(
44
+            'initial'   => 0,
45
+            'recurring' => 0,
46
+        ),
47
+
48
+        'taxes'         => array(
49
+            'initial'   => 0,
50
+            'recurring' => 0,
51
+        ),
52
+
53
+    );
54
+
55
+    /**
56
+     * Sets the associated payment form.
57
+     *
58
+     * @var GetPaid_Payment_Form
59
+     */
60 60
     protected $payment_form = null;
61 61
 
62 62
     /**
63
-	 * The country for the submission.
64
-	 *
65
-	 * @var string
66
-	 */
67
-	public $country = null;
68
-
69
-    /**
70
-	 * The state for the submission.
71
-	 *
72
-	 * @since 1.0.19
73
-	 * @var string
74
-	 */
75
-	public $state = null;
76
-
77
-	/**
78
-	 * The invoice associated with the submission.
79
-	 *
80
-	 * @var WPInv_Invoice
81
-	 */
82
-	protected $invoice = null;
83
-
84
-	/**
85
-	 * The recurring item for the submission.
86
-	 *
87
-	 * @var int
88
-	 */
89
-	public $has_recurring = 0;
90
-
91
-	/**
92
-	 * An array of fees for the submission.
93
-	 *
94
-	 * @var array
95
-	 */
96
-	protected $fees = array();
97
-
98
-	/**
99
-	 * An array of discounts for the submission.
100
-	 *
101
-	 * @var array
102
-	 */
103
-	protected $discounts = array();
104
-
105
-	/**
106
-	 * An array of taxes for the submission.
107
-	 *
108
-	 * @var array
109
-	 */
110
-	protected $taxes = array();
111
-
112
-	/**
113
-	 * An array of items for the submission.
114
-	 *
115
-	 * @var GetPaid_Form_Item[]
116
-	 */
117
-	protected $items = array();
118
-
119
-	/**
120
-	 * The last error.
121
-	 *
122
-	 * @var string
123
-	 */
124
-	public $last_error = null;
125
-
126
-    /**
127
-	 * Class constructor.
128
-	 *
129
-	 */
130
-	public function __construct() {
131
-
132
-		// Set the state and country to the default state and country.
133
-		$this->country = wpinv_default_billing_country();
134
-		$this->state   = wpinv_get_default_state();
135
-
136
-		// Do we have an actual submission?
137
-		if ( isset( $_POST['getpaid_payment_form_submission'] ) ) {
138
-			$this->load_data( $_POST );
139
-		}
140
-
141
-	}
142
-
143
-	/**
144
-	 * Loads submission data.
145
-	 *
146
-	 * @param array $data
147
-	 */
148
-	public function load_data( $data ) {
149
-
150
-		// Remove slashes from the submitted data...
151
-		$data       = wp_unslash( $data );
152
-
153
-		// Allow plugins to filter the data.
154
-		$data       = apply_filters( 'getpaid_submission_data', $data, $this );
155
-
156
-		// Cache it...
157
-		$this->data = $data;
158
-
159
-		// Then generate a unique id from the data.
160
-		$this->id   = md5( wp_json_encode( $data ) );
161
-
162
-		// Finally, process the submission.
163
-		try {
164
-
165
-			// Each process is passed an instance of the class (with reference)
166
-			// and should throw an Exception whenever it encounters one.
167
-			$processors = apply_filters(
168
-				'getpaid_payment_form_submission_processors',
169
-				array(
170
-					array( $this, 'process_payment_form' ),
171
-					array( $this, 'process_invoice' ),
172
-					array( $this, 'process_fees' ),
173
-					array( $this, 'process_items' ),
174
-					array( $this, 'process_discount' ),
175
-					array( $this, 'process_taxes' ),
176
-				),
177
-				$this		
178
-			);
179
-
180
-			foreach ( $processors as $processor ) {
181
-				call_user_func_array( $processor, array( &$this ) );
182
-			}
183
-
184
-		} catch ( Exception $e ) {
185
-			$this->last_error = $e->getMessage();
186
-		}
187
-
188
-		// Fired when we are done processing a submission.
189
-		do_action_ref_array( 'getpaid_process_submission', array( &$this ) );
190
-
191
-	}
192
-
193
-	/*
63
+     * The country for the submission.
64
+     *
65
+     * @var string
66
+     */
67
+    public $country = null;
68
+
69
+    /**
70
+     * The state for the submission.
71
+     *
72
+     * @since 1.0.19
73
+     * @var string
74
+     */
75
+    public $state = null;
76
+
77
+    /**
78
+     * The invoice associated with the submission.
79
+     *
80
+     * @var WPInv_Invoice
81
+     */
82
+    protected $invoice = null;
83
+
84
+    /**
85
+     * The recurring item for the submission.
86
+     *
87
+     * @var int
88
+     */
89
+    public $has_recurring = 0;
90
+
91
+    /**
92
+     * An array of fees for the submission.
93
+     *
94
+     * @var array
95
+     */
96
+    protected $fees = array();
97
+
98
+    /**
99
+     * An array of discounts for the submission.
100
+     *
101
+     * @var array
102
+     */
103
+    protected $discounts = array();
104
+
105
+    /**
106
+     * An array of taxes for the submission.
107
+     *
108
+     * @var array
109
+     */
110
+    protected $taxes = array();
111
+
112
+    /**
113
+     * An array of items for the submission.
114
+     *
115
+     * @var GetPaid_Form_Item[]
116
+     */
117
+    protected $items = array();
118
+
119
+    /**
120
+     * The last error.
121
+     *
122
+     * @var string
123
+     */
124
+    public $last_error = null;
125
+
126
+    /**
127
+     * Class constructor.
128
+     *
129
+     */
130
+    public function __construct() {
131
+
132
+        // Set the state and country to the default state and country.
133
+        $this->country = wpinv_default_billing_country();
134
+        $this->state   = wpinv_get_default_state();
135
+
136
+        // Do we have an actual submission?
137
+        if ( isset( $_POST['getpaid_payment_form_submission'] ) ) {
138
+            $this->load_data( $_POST );
139
+        }
140
+
141
+    }
142
+
143
+    /**
144
+     * Loads submission data.
145
+     *
146
+     * @param array $data
147
+     */
148
+    public function load_data( $data ) {
149
+
150
+        // Remove slashes from the submitted data...
151
+        $data       = wp_unslash( $data );
152
+
153
+        // Allow plugins to filter the data.
154
+        $data       = apply_filters( 'getpaid_submission_data', $data, $this );
155
+
156
+        // Cache it...
157
+        $this->data = $data;
158
+
159
+        // Then generate a unique id from the data.
160
+        $this->id   = md5( wp_json_encode( $data ) );
161
+
162
+        // Finally, process the submission.
163
+        try {
164
+
165
+            // Each process is passed an instance of the class (with reference)
166
+            // and should throw an Exception whenever it encounters one.
167
+            $processors = apply_filters(
168
+                'getpaid_payment_form_submission_processors',
169
+                array(
170
+                    array( $this, 'process_payment_form' ),
171
+                    array( $this, 'process_invoice' ),
172
+                    array( $this, 'process_fees' ),
173
+                    array( $this, 'process_items' ),
174
+                    array( $this, 'process_discount' ),
175
+                    array( $this, 'process_taxes' ),
176
+                ),
177
+                $this		
178
+            );
179
+
180
+            foreach ( $processors as $processor ) {
181
+                call_user_func_array( $processor, array( &$this ) );
182
+            }
183
+
184
+        } catch ( Exception $e ) {
185
+            $this->last_error = $e->getMessage();
186
+        }
187
+
188
+        // Fired when we are done processing a submission.
189
+        do_action_ref_array( 'getpaid_process_submission', array( &$this ) );
190
+
191
+    }
192
+
193
+    /*
194 194
 	|--------------------------------------------------------------------------
195 195
 	| Payment Forms.
196 196
 	|--------------------------------------------------------------------------
@@ -199,39 +199,39 @@  discard block
 block discarded – undo
199 199
 	| submission has an active payment form etc.
200 200
     */
201 201
 
202
-	/**
203
-	 * Prepares the submission's payment form.
204
-	 *
205
-	 * @since 1.0.19
206
-	 */
207
-	public function process_payment_form() {
202
+    /**
203
+     * Prepares the submission's payment form.
204
+     *
205
+     * @since 1.0.19
206
+     */
207
+    public function process_payment_form() {
208 208
 
209
-		// Every submission needs an active payment form.
210
-		if ( empty( $this->data['form_id'] ) ) {
211
-			throw new Exception( __( 'Missing payment form', 'invoicing' ) );
212
-		}
209
+        // Every submission needs an active payment form.
210
+        if ( empty( $this->data['form_id'] ) ) {
211
+            throw new Exception( __( 'Missing payment form', 'invoicing' ) );
212
+        }
213 213
 
214
-		// Fetch the payment form.
215
-		$this->payment_form = new GetPaid_Payment_Form( $this->data['form_id'] );
214
+        // Fetch the payment form.
215
+        $this->payment_form = new GetPaid_Payment_Form( $this->data['form_id'] );
216 216
 
217
-		if ( ! $this->payment_form->is_active() ) {
218
-			throw new Exception( __( 'Payment form not active', 'invoicing' ) );
219
-		}
217
+        if ( ! $this->payment_form->is_active() ) {
218
+            throw new Exception( __( 'Payment form not active', 'invoicing' ) );
219
+        }
220 220
 
221
-		do_action_ref_array( 'getpaid_submissions_process_payment_form', array( &$this ) );
222
-	}
221
+        do_action_ref_array( 'getpaid_submissions_process_payment_form', array( &$this ) );
222
+    }
223 223
 
224 224
     /**
225
-	 * Returns the payment form.
226
-	 *
227
-	 * @since 1.0.19
228
-	 * @return GetPaid_Payment_Form
229
-	 */
230
-	public function get_payment_form() {
231
-		return $this->payment_form;
232
-	}
225
+     * Returns the payment form.
226
+     *
227
+     * @since 1.0.19
228
+     * @return GetPaid_Payment_Form
229
+     */
230
+    public function get_payment_form() {
231
+        return $this->payment_form;
232
+    }
233 233
 
234
-	/*
234
+    /*
235 235
 	|--------------------------------------------------------------------------
236 236
 	| Invoices.
237 237
 	|--------------------------------------------------------------------------
@@ -240,61 +240,61 @@  discard block
 block discarded – undo
240 240
 	| might be for an existing invoice.
241 241
 	*/
242 242
 
243
-	/**
244
-	 * Prepares the submission's invoice.
245
-	 *
246
-	 * @since 1.0.19
247
-	 */
248
-	public function process_invoice() {
243
+    /**
244
+     * Prepares the submission's invoice.
245
+     *
246
+     * @since 1.0.19
247
+     */
248
+    public function process_invoice() {
249 249
 
250
-		// Abort if there is no invoice.
251
-		if ( empty( $this->data['invoice_id'] ) ) {
252
-			return;
253
-		}
250
+        // Abort if there is no invoice.
251
+        if ( empty( $this->data['invoice_id'] ) ) {
252
+            return;
253
+        }
254 254
 
255
-		// If the submission is for an existing invoice, ensure that it exists
256
-		// and that it is not paid for.
257
-		$invoice = wpinv_get_invoice( $this->data['invoice_id'] );
255
+        // If the submission is for an existing invoice, ensure that it exists
256
+        // and that it is not paid for.
257
+        $invoice = wpinv_get_invoice( $this->data['invoice_id'] );
258 258
 
259 259
         if ( empty( $invoice ) ) {
260
-			throw new Exception( __( 'Invalid invoice', 'invoicing' ) );
261
-		}
262
-
263
-		if ( $invoice->is_paid() ) {
264
-			throw new Exception( __( 'This invoice is already paid for.', 'invoicing' ) );
265
-		}
266
-
267
-		$this->payment_form->set_items( $invoice->get_items() );
268
-		$this->payment_form->invoice = $invoice;
269
-
270
-		$this->country = $invoice->get_country();
271
-		$this->state   = $invoice->get_state();
272
-		$this->invoice = $invoice;
273
-
274
-		do_action_ref_array( 'getpaid_submissions_process_invoice', array( &$this ) );
275
-	}
276
-
277
-	/**
278
-	 * Returns the associated invoice.
279
-	 *
280
-	 * @since 1.0.19
281
-	 * @return WPInv_Invoice
282
-	 */
283
-	public function get_invoice() {
284
-		return $this->invoice;
285
-	}
286
-
287
-	/**
288
-	 * Checks whether there is an invoice associated with this submission.
289
-	 *
290
-	 * @since 1.0.19
291
-	 * @return bool
292
-	 */
293
-	public function has_invoice() {
294
-		return ! empty( $this->invoice );
295
-	}
296
-
297
-	/*
260
+            throw new Exception( __( 'Invalid invoice', 'invoicing' ) );
261
+        }
262
+
263
+        if ( $invoice->is_paid() ) {
264
+            throw new Exception( __( 'This invoice is already paid for.', 'invoicing' ) );
265
+        }
266
+
267
+        $this->payment_form->set_items( $invoice->get_items() );
268
+        $this->payment_form->invoice = $invoice;
269
+
270
+        $this->country = $invoice->get_country();
271
+        $this->state   = $invoice->get_state();
272
+        $this->invoice = $invoice;
273
+
274
+        do_action_ref_array( 'getpaid_submissions_process_invoice', array( &$this ) );
275
+    }
276
+
277
+    /**
278
+     * Returns the associated invoice.
279
+     *
280
+     * @since 1.0.19
281
+     * @return WPInv_Invoice
282
+     */
283
+    public function get_invoice() {
284
+        return $this->invoice;
285
+    }
286
+
287
+    /**
288
+     * Checks whether there is an invoice associated with this submission.
289
+     *
290
+     * @since 1.0.19
291
+     * @return bool
292
+     */
293
+    public function has_invoice() {
294
+        return ! empty( $this->invoice );
295
+    }
296
+
297
+    /*
298 298
 	|--------------------------------------------------------------------------
299 299
 	| Items.
300 300
 	|--------------------------------------------------------------------------
@@ -303,115 +303,115 @@  discard block
 block discarded – undo
303 303
 	| recurring item. But can have an unlimited number of non-recurring items.
304 304
 	*/
305 305
 
306
-	/**
307
-	 * Prepares the submission's items.
308
-	 *
309
-	 * @since 1.0.19
310
-	 */
311
-	public function process_items() {
312
-
313
-		$processor = new GetPaid_Payment_Form_Submission_Items( $this );
314
-
315
-		foreach ( $processor->items as $item ) {
316
-			$this->add_item( $item );
317
-		}
318
-
319
-		do_action_ref_array( 'getpaid_submissions_process_items', array( &$this ) );
320
-	}
321
-
322
-	/**
323
-	 * Adds an item to the submission.
324
-	 *
325
-	 * @since 1.0.19
326
-	 * @param GetPaid_Form_Item $item
327
-	 */
328
-	public function add_item( $item ) {
329
-
330
-		// Make sure that it is available for purchase.
331
-		if ( ! $item->can_purchase() || isset( $this->items[ $item->get_id() ] ) ) {
332
-			return;
333
-		}
334
-
335
-		// Each submission can only contain one recurring item.
336
-		if ( $item->is_recurring() ) {
337
-
338
-			if ( $this->has_recurring != 0 ) {
339
-				throw new Exception( __( 'You can only buy one recurring item at a time.', 'invoicing' ) );
340
-			}
341
-
342
-			$this->has_recurring = $item->get_id();
343
-
344
-		}
345
-
346
-		// Update the items and totals.
347
-		$this->items[ $item->get_id() ]         = $item;
348
-		$this->totals['subtotal']['initial']   += $item->get_sub_total();
349
-		$this->totals['subtotal']['recurring'] += $item->get_recurring_sub_total();
350
-
351
-	}
352
-
353
-	/**
354
-	 * Removes a specific item.
355
-	 * 
356
-	 * You should not call this method after the discounts and taxes
357
-	 * have been calculated.
358
-	 *
359
-	 * @since 1.0.19
360
-	 */
361
-	public function remove_item( $item_id ) {
362
-
363
-		if ( isset( $this->items[ $item_id ] ) ) {
364
-			$this->totals['subtotal']['initial']   -= $this->items[ $item_id ]->get_sub_total();
365
-			$this->totals['subtotal']['recurring'] -= $this->items[ $item_id ]->get_recurring_sub_total();
366
-
367
-			if ( $this->items[ $item_id ]->is_recurring() ) {
368
-				$this->has_recurring = 0;
369
-			}
370
-
371
-			unset( $this->items[ $item_id ] );
372
-		}
373
-
374
-	}
375
-
376
-	/**
377
-	 * Returns the subtotal.
378
-	 *
379
-	 * @since 1.0.19
380
-	 */
381
-	public function get_subtotal() {
382
-
383
-		if ( wpinv_prices_include_tax() ) {
384
-			return $this->totals['subtotal']['initial'] - $this->totals['taxes']['initial'];
385
-		}
386
-
387
-		return $this->totals['subtotal']['initial'];
388
-	}
389
-
390
-	/**
391
-	 * Returns the recurring subtotal.
392
-	 *
393
-	 * @since 1.0.19
394
-	 */
395
-	public function get_recurring_subtotal() {
396
-
397
-		if ( wpinv_prices_include_tax() ) {
398
-			return $this->totals['subtotal']['recurring'] - $this->totals['taxes']['recurring'];
399
-		}
400
-
401
-		return $this->totals['subtotal']['recurring'];
402
-	}
403
-
404
-	/**
405
-	 * Returns all items.
406
-	 *
407
-	 * @since 1.0.19
408
-	 * @return GetPaid_Form_Item[]
409
-	 */
410
-	public function get_items() {
411
-		return $this->items;
412
-	}
413
-
414
-	/*
306
+    /**
307
+     * Prepares the submission's items.
308
+     *
309
+     * @since 1.0.19
310
+     */
311
+    public function process_items() {
312
+
313
+        $processor = new GetPaid_Payment_Form_Submission_Items( $this );
314
+
315
+        foreach ( $processor->items as $item ) {
316
+            $this->add_item( $item );
317
+        }
318
+
319
+        do_action_ref_array( 'getpaid_submissions_process_items', array( &$this ) );
320
+    }
321
+
322
+    /**
323
+     * Adds an item to the submission.
324
+     *
325
+     * @since 1.0.19
326
+     * @param GetPaid_Form_Item $item
327
+     */
328
+    public function add_item( $item ) {
329
+
330
+        // Make sure that it is available for purchase.
331
+        if ( ! $item->can_purchase() || isset( $this->items[ $item->get_id() ] ) ) {
332
+            return;
333
+        }
334
+
335
+        // Each submission can only contain one recurring item.
336
+        if ( $item->is_recurring() ) {
337
+
338
+            if ( $this->has_recurring != 0 ) {
339
+                throw new Exception( __( 'You can only buy one recurring item at a time.', 'invoicing' ) );
340
+            }
341
+
342
+            $this->has_recurring = $item->get_id();
343
+
344
+        }
345
+
346
+        // Update the items and totals.
347
+        $this->items[ $item->get_id() ]         = $item;
348
+        $this->totals['subtotal']['initial']   += $item->get_sub_total();
349
+        $this->totals['subtotal']['recurring'] += $item->get_recurring_sub_total();
350
+
351
+    }
352
+
353
+    /**
354
+     * Removes a specific item.
355
+     * 
356
+     * You should not call this method after the discounts and taxes
357
+     * have been calculated.
358
+     *
359
+     * @since 1.0.19
360
+     */
361
+    public function remove_item( $item_id ) {
362
+
363
+        if ( isset( $this->items[ $item_id ] ) ) {
364
+            $this->totals['subtotal']['initial']   -= $this->items[ $item_id ]->get_sub_total();
365
+            $this->totals['subtotal']['recurring'] -= $this->items[ $item_id ]->get_recurring_sub_total();
366
+
367
+            if ( $this->items[ $item_id ]->is_recurring() ) {
368
+                $this->has_recurring = 0;
369
+            }
370
+
371
+            unset( $this->items[ $item_id ] );
372
+        }
373
+
374
+    }
375
+
376
+    /**
377
+     * Returns the subtotal.
378
+     *
379
+     * @since 1.0.19
380
+     */
381
+    public function get_subtotal() {
382
+
383
+        if ( wpinv_prices_include_tax() ) {
384
+            return $this->totals['subtotal']['initial'] - $this->totals['taxes']['initial'];
385
+        }
386
+
387
+        return $this->totals['subtotal']['initial'];
388
+    }
389
+
390
+    /**
391
+     * Returns the recurring subtotal.
392
+     *
393
+     * @since 1.0.19
394
+     */
395
+    public function get_recurring_subtotal() {
396
+
397
+        if ( wpinv_prices_include_tax() ) {
398
+            return $this->totals['subtotal']['recurring'] - $this->totals['taxes']['recurring'];
399
+        }
400
+
401
+        return $this->totals['subtotal']['recurring'];
402
+    }
403
+
404
+    /**
405
+     * Returns all items.
406
+     *
407
+     * @since 1.0.19
408
+     * @return GetPaid_Form_Item[]
409
+     */
410
+    public function get_items() {
411
+        return $this->items;
412
+    }
413
+
414
+    /*
415 415
 	|--------------------------------------------------------------------------
416 416
 	| Taxes
417 417
 	|--------------------------------------------------------------------------
@@ -420,128 +420,128 @@  discard block
 block discarded – undo
420 420
 	| or only one-time.
421 421
     */
422 422
 
423
-	/**
424
-	 * Prepares the submission's taxes.
425
-	 *
426
-	 * @since 1.0.19
427
-	 */
428
-	public function process_taxes() {
429
-
430
-		// Abort if we're not using taxes.
431
-		if ( ! $this->use_taxes() ) {
432
-			return;
433
-		}
434
-
435
-		// If a custom country && state has been passed in, use it to calculate taxes.
436
-		$country = $this->get_field( 'wpinv_country', 'billing' );
437
-		if ( ! empty( $country ) ) {
438
-			$this->country = $country;
439
-		}
440
-
441
-		$state = $this->get_field( 'wpinv_state', 'billing' );
442
-		if ( ! empty( $state ) ) {
443
-			$this->state = $state;
444
-		}
445
-
446
-		// Confirm if the provided country and the ip country are similar.
447
-		$address_confirmed = $this->get_field( 'confirm-address' );
448
-		if ( wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty( $address_confirmed ) ) {
449
-			throw new Exception( __( 'The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing' ) );
450
-		}
451
-
452
-		// Abort if the country is not taxable.
453
-		if ( ! wpinv_is_country_taxable( $this->country ) ) {
454
-			return;
455
-		}
456
-
457
-		$processor = new GetPaid_Payment_Form_Submission_Taxes( $this );
458
-
459
-		foreach ( $processor->taxes as $tax ) {
460
-			$this->add_tax( $tax );
461
-		}
462
-
463
-		do_action_ref_array( 'getpaid_submissions_process_taxes', array( &$this ) );
464
-	}
465
-
466
-	/**
467
-	 * Adds a tax to the submission.
468
-	 *
469
-	 * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
470
-	 * @since 1.0.19
471
-	 */
472
-	public function add_tax( $tax ) {
473
-
474
-		if ( wpinv_round_tax_per_tax_rate() ) {
475
-			$tax['initial_tax']   = wpinv_round_amount( $tax['initial_tax'] );
476
-			$tax['recurring_tax'] = wpinv_round_amount( $tax['recurring_tax'] );
477
-		}
478
-
479
-		$this->taxes[ $tax['name'] ]         = $tax;
480
-		$this->totals['taxes']['initial']   += wpinv_sanitize_amount( $tax['initial_tax'] );
481
-		$this->totals['taxes']['recurring'] += wpinv_sanitize_amount( $tax['recurring_tax'] );
482
-
483
-	}
484
-
485
-	/**
486
-	 * Removes a specific tax.
487
-	 *
488
-	 * @since 1.0.19
489
-	 */
490
-	public function remove_tax( $tax_name ) {
491
-
492
-		if ( isset( $this->taxes[ $tax_name ] ) ) {
493
-			$this->totals['taxes']['initial']   -= $this->taxes[ $tax_name ]['initial_tax'];
494
-			$this->totals['taxes']['recurring'] -= $this->taxes[ $tax_name ]['recurring_tax'];
495
-			unset( $this->taxes[ $tax_name ] );
496
-		}
497
-
498
-	}
499
-
500
-	/**
501
-	 * Whether or not we'll use taxes for the submission.
502
-	 *
503
-	 * @since 1.0.19
504
-	 */
505
-	public function use_taxes() {
506
-
507
-		$use_taxes = wpinv_use_taxes();
508
-
509
-		if ( $this->has_invoice() && ! $this->invoice->is_taxable() ) {
510
-			$use_taxes = false;
511
-		}
512
-
513
-		return apply_filters( 'getpaid_submission_use_taxes', $use_taxes, $this );
514
-
515
-	}
516
-
517
-	/**
518
-	 * Returns the tax.
519
-	 *
520
-	 * @since 1.0.19
521
-	 */
522
-	public function get_tax() {
523
-		return $this->totals['taxes']['initial'];
524
-	}
525
-
526
-	/**
527
-	 * Returns the recurring tax.
528
-	 *
529
-	 * @since 1.0.19
530
-	 */
531
-	public function get_recurring_tax() {
532
-		return $this->totals['taxes']['recurring'];
533
-	}
534
-
535
-	/**
536
-	 * Returns all taxes.
537
-	 *
538
-	 * @since 1.0.19
539
-	 */
540
-	public function get_taxes() {
541
-		return $this->taxes;
542
-	}
543
-
544
-	/*
423
+    /**
424
+     * Prepares the submission's taxes.
425
+     *
426
+     * @since 1.0.19
427
+     */
428
+    public function process_taxes() {
429
+
430
+        // Abort if we're not using taxes.
431
+        if ( ! $this->use_taxes() ) {
432
+            return;
433
+        }
434
+
435
+        // If a custom country && state has been passed in, use it to calculate taxes.
436
+        $country = $this->get_field( 'wpinv_country', 'billing' );
437
+        if ( ! empty( $country ) ) {
438
+            $this->country = $country;
439
+        }
440
+
441
+        $state = $this->get_field( 'wpinv_state', 'billing' );
442
+        if ( ! empty( $state ) ) {
443
+            $this->state = $state;
444
+        }
445
+
446
+        // Confirm if the provided country and the ip country are similar.
447
+        $address_confirmed = $this->get_field( 'confirm-address' );
448
+        if ( wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty( $address_confirmed ) ) {
449
+            throw new Exception( __( 'The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing' ) );
450
+        }
451
+
452
+        // Abort if the country is not taxable.
453
+        if ( ! wpinv_is_country_taxable( $this->country ) ) {
454
+            return;
455
+        }
456
+
457
+        $processor = new GetPaid_Payment_Form_Submission_Taxes( $this );
458
+
459
+        foreach ( $processor->taxes as $tax ) {
460
+            $this->add_tax( $tax );
461
+        }
462
+
463
+        do_action_ref_array( 'getpaid_submissions_process_taxes', array( &$this ) );
464
+    }
465
+
466
+    /**
467
+     * Adds a tax to the submission.
468
+     *
469
+     * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
470
+     * @since 1.0.19
471
+     */
472
+    public function add_tax( $tax ) {
473
+
474
+        if ( wpinv_round_tax_per_tax_rate() ) {
475
+            $tax['initial_tax']   = wpinv_round_amount( $tax['initial_tax'] );
476
+            $tax['recurring_tax'] = wpinv_round_amount( $tax['recurring_tax'] );
477
+        }
478
+
479
+        $this->taxes[ $tax['name'] ]         = $tax;
480
+        $this->totals['taxes']['initial']   += wpinv_sanitize_amount( $tax['initial_tax'] );
481
+        $this->totals['taxes']['recurring'] += wpinv_sanitize_amount( $tax['recurring_tax'] );
482
+
483
+    }
484
+
485
+    /**
486
+     * Removes a specific tax.
487
+     *
488
+     * @since 1.0.19
489
+     */
490
+    public function remove_tax( $tax_name ) {
491
+
492
+        if ( isset( $this->taxes[ $tax_name ] ) ) {
493
+            $this->totals['taxes']['initial']   -= $this->taxes[ $tax_name ]['initial_tax'];
494
+            $this->totals['taxes']['recurring'] -= $this->taxes[ $tax_name ]['recurring_tax'];
495
+            unset( $this->taxes[ $tax_name ] );
496
+        }
497
+
498
+    }
499
+
500
+    /**
501
+     * Whether or not we'll use taxes for the submission.
502
+     *
503
+     * @since 1.0.19
504
+     */
505
+    public function use_taxes() {
506
+
507
+        $use_taxes = wpinv_use_taxes();
508
+
509
+        if ( $this->has_invoice() && ! $this->invoice->is_taxable() ) {
510
+            $use_taxes = false;
511
+        }
512
+
513
+        return apply_filters( 'getpaid_submission_use_taxes', $use_taxes, $this );
514
+
515
+    }
516
+
517
+    /**
518
+     * Returns the tax.
519
+     *
520
+     * @since 1.0.19
521
+     */
522
+    public function get_tax() {
523
+        return $this->totals['taxes']['initial'];
524
+    }
525
+
526
+    /**
527
+     * Returns the recurring tax.
528
+     *
529
+     * @since 1.0.19
530
+     */
531
+    public function get_recurring_tax() {
532
+        return $this->totals['taxes']['recurring'];
533
+    }
534
+
535
+    /**
536
+     * Returns all taxes.
537
+     *
538
+     * @since 1.0.19
539
+     */
540
+    public function get_taxes() {
541
+        return $this->taxes;
542
+    }
543
+
544
+    /*
545 545
 	|--------------------------------------------------------------------------
546 546
 	| Discounts
547 547
 	|--------------------------------------------------------------------------
@@ -550,99 +550,99 @@  discard block
 block discarded – undo
550 550
 	| or only one-time. They also do not have to come from a discount code.
551 551
     */
552 552
 
553
-	/**
554
-	 * Prepares the submission's discount.
555
-	 *
556
-	 * @since 1.0.19
557
-	 */
558
-	public function process_discount() {
559
-
560
-		$initial_total    = $this->get_subtotal() + $this->get_fee() + $this->get_tax();
561
-		$recurring_total  = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax();
562
-		$processor        = new GetPaid_Payment_Form_Submission_Discount( $this, $initial_total, $recurring_total );
563
-
564
-		foreach ( $processor->discounts as $discount ) {
565
-			$this->add_discount( $discount );
566
-		}
567
-
568
-		do_action_ref_array( 'getpaid_submissions_process_discounts', array( &$this ) );
569
-	}
570
-
571
-	/**
572
-	 * Adds a discount to the submission.
573
-	 *
574
-	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
575
-	 * @since 1.0.19
576
-	 */
577
-	public function add_discount( $discount ) {
578
-		$this->discounts[ $discount['name'] ]   = $discount;
579
-		$this->totals['discount']['initial']   += wpinv_sanitize_amount( $discount['initial_discount'] );
580
-		$this->totals['discount']['recurring'] += wpinv_sanitize_amount( $discount['recurring_discount'] );
581
-	}
582
-
583
-	/**
584
-	 * Removes a discount from the submission.
585
-	 *
586
-	 * @since 1.0.19
587
-	 */
588
-	public function remove_discount( $name ) {
589
-
590
-		if ( isset( $this->discounts[ $name ] ) ) {
591
-			$this->totals['discount']['initial']   -= $this->discounts[ $name ]['initial_discount'];
592
-			$this->totals['discount']['recurring'] -= $this->discounts[ $name ]['recurring_discount'];
593
-			unset( $this->discounts[ $name ] );
594
-		}
595
-
596
-	}
597
-
598
-	/**
599
-	 * Checks whether there is a discount code associated with this submission.
600
-	 *
601
-	 * @since 1.0.19
602
-	 * @return bool
603
-	 */
604
-	public function has_discount_code() {
605
-		return ! empty( $this->discounts['discount_code'] );
606
-	}
607
-
608
-	/**
609
-	 * Returns the discount code.
610
-	 *
611
-	 * @since 1.0.19
612
-	 * @return string
613
-	 */
614
-	public function get_discount_code() {
615
-		return $this->has_discount_code() ? $this->discounts['discount_code']['discount_code'] : '';
616
-	}
617
-
618
-	/**
619
-	 * Returns the discount.
620
-	 *
621
-	 * @since 1.0.19
622
-	 */
623
-	public function get_discount() {
624
-		return $this->totals['discount']['initial'];
625
-	}
626
-
627
-	/**
628
-	 * Returns the recurring discount.
629
-	 *
630
-	 * @since 1.0.19
631
-	 */
632
-	public function get_recurring_discount() {
633
-		return $this->totals['discount']['recurring'];
634
-	}
635
-
636
-	/**
637
-	 * Returns all discounts.
638
-	 *
639
-	 * @since 1.0.19
640
-	 */
641
-	public function get_discounts() {
642
-		return $this->discounts;
643
-	}
644
-
645
-	/*
553
+    /**
554
+     * Prepares the submission's discount.
555
+     *
556
+     * @since 1.0.19
557
+     */
558
+    public function process_discount() {
559
+
560
+        $initial_total    = $this->get_subtotal() + $this->get_fee() + $this->get_tax();
561
+        $recurring_total  = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax();
562
+        $processor        = new GetPaid_Payment_Form_Submission_Discount( $this, $initial_total, $recurring_total );
563
+
564
+        foreach ( $processor->discounts as $discount ) {
565
+            $this->add_discount( $discount );
566
+        }
567
+
568
+        do_action_ref_array( 'getpaid_submissions_process_discounts', array( &$this ) );
569
+    }
570
+
571
+    /**
572
+     * Adds a discount to the submission.
573
+     *
574
+     * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
575
+     * @since 1.0.19
576
+     */
577
+    public function add_discount( $discount ) {
578
+        $this->discounts[ $discount['name'] ]   = $discount;
579
+        $this->totals['discount']['initial']   += wpinv_sanitize_amount( $discount['initial_discount'] );
580
+        $this->totals['discount']['recurring'] += wpinv_sanitize_amount( $discount['recurring_discount'] );
581
+    }
582
+
583
+    /**
584
+     * Removes a discount from the submission.
585
+     *
586
+     * @since 1.0.19
587
+     */
588
+    public function remove_discount( $name ) {
589
+
590
+        if ( isset( $this->discounts[ $name ] ) ) {
591
+            $this->totals['discount']['initial']   -= $this->discounts[ $name ]['initial_discount'];
592
+            $this->totals['discount']['recurring'] -= $this->discounts[ $name ]['recurring_discount'];
593
+            unset( $this->discounts[ $name ] );
594
+        }
595
+
596
+    }
597
+
598
+    /**
599
+     * Checks whether there is a discount code associated with this submission.
600
+     *
601
+     * @since 1.0.19
602
+     * @return bool
603
+     */
604
+    public function has_discount_code() {
605
+        return ! empty( $this->discounts['discount_code'] );
606
+    }
607
+
608
+    /**
609
+     * Returns the discount code.
610
+     *
611
+     * @since 1.0.19
612
+     * @return string
613
+     */
614
+    public function get_discount_code() {
615
+        return $this->has_discount_code() ? $this->discounts['discount_code']['discount_code'] : '';
616
+    }
617
+
618
+    /**
619
+     * Returns the discount.
620
+     *
621
+     * @since 1.0.19
622
+     */
623
+    public function get_discount() {
624
+        return $this->totals['discount']['initial'];
625
+    }
626
+
627
+    /**
628
+     * Returns the recurring discount.
629
+     *
630
+     * @since 1.0.19
631
+     */
632
+    public function get_recurring_discount() {
633
+        return $this->totals['discount']['recurring'];
634
+    }
635
+
636
+    /**
637
+     * Returns all discounts.
638
+     *
639
+     * @since 1.0.19
640
+     */
641
+    public function get_discounts() {
642
+        return $this->discounts;
643
+    }
644
+
645
+    /*
646 646
 	|--------------------------------------------------------------------------
647 647
 	| Fees
648 648
 	|--------------------------------------------------------------------------
@@ -652,89 +652,89 @@  discard block
 block discarded – undo
652 652
 	| fees.
653 653
     */
654 654
 
655
-	/**
656
-	 * Prepares the submission's fees.
657
-	 *
658
-	 * @since 1.0.19
659
-	 */
660
-	public function process_fees() {
661
-
662
-		$fees_processor = new GetPaid_Payment_Form_Submission_Fees( $this );
663
-
664
-		foreach ( $fees_processor->fees as $fee ) {
665
-			$this->add_fee( $fee );
666
-		}
667
-
668
-		do_action_ref_array( 'getpaid_submissions_process_fees', array( &$this ) );
669
-	}
670
-
671
-	/**
672
-	 * Adds a fee to the submission.
673
-	 *
674
-	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
675
-	 * @since 1.0.19
676
-	 */
677
-	public function add_fee( $fee ) {
678
-
679
-		$this->fees[ $fee['name'] ]         = $fee;
680
-		$this->totals['fees']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
681
-		$this->totals['fees']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
682
-
683
-	}
684
-
685
-	/**
686
-	 * Removes a fee from the submission.
687
-	 *
688
-	 * @since 1.0.19
689
-	 */
690
-	public function remove_fee( $name ) {
691
-
692
-		if ( isset( $this->fees[ $name ] ) ) {
693
-			$this->totals['fees']['initial']   -= $this->fees[ $name ]['initial_fee'];
694
-			$this->totals['fees']['recurring'] -= $this->fees[ $name ]['recurring_fee'];
695
-			unset( $this->fees[ $name ] );
696
-		}
697
-
698
-	}
699
-
700
-	/**
701
-	 * Returns the fees.
702
-	 *
703
-	 * @since 1.0.19
704
-	 */
705
-	public function get_fee() {
706
-		return $this->totals['fees']['initial'];
707
-	}
708
-
709
-	/**
710
-	 * Returns the recurring fees.
711
-	 *
712
-	 * @since 1.0.19
713
-	 */
714
-	public function get_recurring_fee() {
715
-		return $this->totals['fees']['recurring'];
716
-	}
717
-
718
-	/**
719
-	 * Returns all fees.
720
-	 *
721
-	 * @since 1.0.19
722
-	 */
723
-	public function get_fees() {
724
-		return $this->fees;
725
-	}
726
-
727
-	/**
728
-	 * Checks if there are any fees for the form.
729
-	 *
730
-	 * @return bool
731
-	 * @since 1.0.19
732
-	 */
733
-	public function has_fees() {
734
-		return count( $this->fees ) !== 0;
735
-	}
736
-
737
-	/*
655
+    /**
656
+     * Prepares the submission's fees.
657
+     *
658
+     * @since 1.0.19
659
+     */
660
+    public function process_fees() {
661
+
662
+        $fees_processor = new GetPaid_Payment_Form_Submission_Fees( $this );
663
+
664
+        foreach ( $fees_processor->fees as $fee ) {
665
+            $this->add_fee( $fee );
666
+        }
667
+
668
+        do_action_ref_array( 'getpaid_submissions_process_fees', array( &$this ) );
669
+    }
670
+
671
+    /**
672
+     * Adds a fee to the submission.
673
+     *
674
+     * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
675
+     * @since 1.0.19
676
+     */
677
+    public function add_fee( $fee ) {
678
+
679
+        $this->fees[ $fee['name'] ]         = $fee;
680
+        $this->totals['fees']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
681
+        $this->totals['fees']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
682
+
683
+    }
684
+
685
+    /**
686
+     * Removes a fee from the submission.
687
+     *
688
+     * @since 1.0.19
689
+     */
690
+    public function remove_fee( $name ) {
691
+
692
+        if ( isset( $this->fees[ $name ] ) ) {
693
+            $this->totals['fees']['initial']   -= $this->fees[ $name ]['initial_fee'];
694
+            $this->totals['fees']['recurring'] -= $this->fees[ $name ]['recurring_fee'];
695
+            unset( $this->fees[ $name ] );
696
+        }
697
+
698
+    }
699
+
700
+    /**
701
+     * Returns the fees.
702
+     *
703
+     * @since 1.0.19
704
+     */
705
+    public function get_fee() {
706
+        return $this->totals['fees']['initial'];
707
+    }
708
+
709
+    /**
710
+     * Returns the recurring fees.
711
+     *
712
+     * @since 1.0.19
713
+     */
714
+    public function get_recurring_fee() {
715
+        return $this->totals['fees']['recurring'];
716
+    }
717
+
718
+    /**
719
+     * Returns all fees.
720
+     *
721
+     * @since 1.0.19
722
+     */
723
+    public function get_fees() {
724
+        return $this->fees;
725
+    }
726
+
727
+    /**
728
+     * Checks if there are any fees for the form.
729
+     *
730
+     * @return bool
731
+     * @since 1.0.19
732
+     */
733
+    public function has_fees() {
734
+        return count( $this->fees ) !== 0;
735
+    }
736
+
737
+    /*
738 738
 	|--------------------------------------------------------------------------
739 739
 	| MISC
740 740
 	|--------------------------------------------------------------------------
@@ -742,119 +742,119 @@  discard block
 block discarded – undo
742 742
 	| Extra submission functions.
743 743
     */
744 744
 
745
-	/**
746
-	 * Checks if this is the initial fetch.
747
-	 *
748
-	 * @return bool
749
-	 * @since 1.0.19
750
-	 */
751
-	public function is_initial_fetch() {
752
-		return empty( $this->data['initial_state'] );
753
-	}
754
-
755
-	/**
756
-	 * Returns the total amount to collect for this submission.
757
-	 *
758
-	 * @since 1.0.19
759
-	 */
760
-	public function get_total() {
761
-		$total = $this->get_subtotal() + $this->get_fee() + $this->get_tax() - $this->get_discount();
762
-		return max( $total, 0 );
763
-	}
764
-
765
-	/**
766
-	 * Returns the recurring total amount to collect for this submission.
767
-	 *
768
-	 * @since 1.0.19
769
-	 */
770
-	public function get_recurring_total() {
771
-		$total = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax() - $this->get_recurring_discount();
772
-		return max( $total, 0 );
773
-	}
774
-
775
-	/**
776
-	 * Whether payment details should be collected for this submission.
777
-	 *
778
-	 * @since 1.0.19
779
-	 */
780
-	public function should_collect_payment_details() {
781
-		$initial   = $this->get_total();
782
-		$recurring = $this->get_recurring_total();
783
-
784
-		if ( $this->has_recurring == 0 ) {
785
-			$recurring = 0;
786
-		}
787
-
788
-		$collect = $initial > 0 || $recurring > 0;
789
-		return apply_filters( 'getpaid_submission_should_collect_payment_details', $collect, $this  );
790
-	}
791
-
792
-	/**
793
-	 * Returns the billing email of the user.
794
-	 *
795
-	 * @since 1.0.19
796
-	 */
797
-	public function get_billing_email() {
798
-		return apply_filters( 'getpaid_get_submission_billing_email', $this->get_field( 'billing_email' ), $this  );
799
-	}
800
-
801
-	/**
802
-	 * Checks if the submitter has a billing email.
803
-	 *
804
-	 * @since 1.0.19
805
-	 */
806
-	public function has_billing_email() {
807
-		$billing_email = $this->get_billing_email();
808
-		return ! empty( $billing_email ) && is_email( $billing_email );
809
-	}
810
-
811
-	/**
812
-	 * Returns the appropriate currency for the submission.
813
-	 *
814
-	 * @since 1.0.19
815
-	 * @return string
816
-	 */
817
-	public function get_currency() {
818
-		return $this->has_invoice() ? $this->invoice->get_currency() : wpinv_get_currency();
819
-    }
820
-
821
-    /**
822
-	 * Returns the raw submission data.
823
-	 *
824
-	 * @since 1.0.19
825
-	 * @return array
826
-	 */
827
-	public function get_data() {
828
-		return $this->data;
829
-	}
830
-
831
-	/**
832
-	 * Returns a field from the submission data
833
-	 *
834
-	 * @param string $field
835
-	 * @since 1.0.19
836
-	 * @return mixed|null
837
-	 */
838
-	public function get_field( $field, $sub_array_key = null ) {
839
-		return getpaid_get_array_field( $this->data, $field, $sub_array_key );
840
-	}
841
-
842
-	/**
843
-	 * Checks if a required field is set.
844
-	 *
845
-	 * @since 1.0.19
846
-	 */
847
-	public function is_required_field_set( $field ) {
848
-		return empty( $field['required'] ) || ! empty( $this->data[ $field['id'] ] );
849
-	}
850
-
851
-	/**
852
-	 * Formats an amount
853
-	 *
854
-	 * @since 1.0.19
855
-	 */
856
-	public function format_amount( $amount ) {
857
-		return wpinv_price( $amount, $this->get_currency() );
858
-	}
745
+    /**
746
+     * Checks if this is the initial fetch.
747
+     *
748
+     * @return bool
749
+     * @since 1.0.19
750
+     */
751
+    public function is_initial_fetch() {
752
+        return empty( $this->data['initial_state'] );
753
+    }
754
+
755
+    /**
756
+     * Returns the total amount to collect for this submission.
757
+     *
758
+     * @since 1.0.19
759
+     */
760
+    public function get_total() {
761
+        $total = $this->get_subtotal() + $this->get_fee() + $this->get_tax() - $this->get_discount();
762
+        return max( $total, 0 );
763
+    }
764
+
765
+    /**
766
+     * Returns the recurring total amount to collect for this submission.
767
+     *
768
+     * @since 1.0.19
769
+     */
770
+    public function get_recurring_total() {
771
+        $total = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax() - $this->get_recurring_discount();
772
+        return max( $total, 0 );
773
+    }
774
+
775
+    /**
776
+     * Whether payment details should be collected for this submission.
777
+     *
778
+     * @since 1.0.19
779
+     */
780
+    public function should_collect_payment_details() {
781
+        $initial   = $this->get_total();
782
+        $recurring = $this->get_recurring_total();
783
+
784
+        if ( $this->has_recurring == 0 ) {
785
+            $recurring = 0;
786
+        }
787
+
788
+        $collect = $initial > 0 || $recurring > 0;
789
+        return apply_filters( 'getpaid_submission_should_collect_payment_details', $collect, $this  );
790
+    }
791
+
792
+    /**
793
+     * Returns the billing email of the user.
794
+     *
795
+     * @since 1.0.19
796
+     */
797
+    public function get_billing_email() {
798
+        return apply_filters( 'getpaid_get_submission_billing_email', $this->get_field( 'billing_email' ), $this  );
799
+    }
800
+
801
+    /**
802
+     * Checks if the submitter has a billing email.
803
+     *
804
+     * @since 1.0.19
805
+     */
806
+    public function has_billing_email() {
807
+        $billing_email = $this->get_billing_email();
808
+        return ! empty( $billing_email ) && is_email( $billing_email );
809
+    }
810
+
811
+    /**
812
+     * Returns the appropriate currency for the submission.
813
+     *
814
+     * @since 1.0.19
815
+     * @return string
816
+     */
817
+    public function get_currency() {
818
+        return $this->has_invoice() ? $this->invoice->get_currency() : wpinv_get_currency();
819
+    }
820
+
821
+    /**
822
+     * Returns the raw submission data.
823
+     *
824
+     * @since 1.0.19
825
+     * @return array
826
+     */
827
+    public function get_data() {
828
+        return $this->data;
829
+    }
830
+
831
+    /**
832
+     * Returns a field from the submission data
833
+     *
834
+     * @param string $field
835
+     * @since 1.0.19
836
+     * @return mixed|null
837
+     */
838
+    public function get_field( $field, $sub_array_key = null ) {
839
+        return getpaid_get_array_field( $this->data, $field, $sub_array_key );
840
+    }
841
+
842
+    /**
843
+     * Checks if a required field is set.
844
+     *
845
+     * @since 1.0.19
846
+     */
847
+    public function is_required_field_set( $field ) {
848
+        return empty( $field['required'] ) || ! empty( $this->data[ $field['id'] ] );
849
+    }
850
+
851
+    /**
852
+     * Formats an amount
853
+     *
854
+     * @since 1.0.19
855
+     */
856
+    public function format_amount( $amount ) {
857
+        return wpinv_price( $amount, $this->get_currency() );
858
+    }
859 859
 
860 860
 }
Please login to merge, or discard this patch.
Spacing   +118 added lines, -118 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
 
@@ -134,8 +134,8 @@  discard block
 block discarded – undo
134 134
 		$this->state   = wpinv_get_default_state();
135 135
 
136 136
 		// Do we have an actual submission?
137
-		if ( isset( $_POST['getpaid_payment_form_submission'] ) ) {
138
-			$this->load_data( $_POST );
137
+		if (isset($_POST['getpaid_payment_form_submission'])) {
138
+			$this->load_data($_POST);
139 139
 		}
140 140
 
141 141
 	}
@@ -145,19 +145,19 @@  discard block
 block discarded – undo
145 145
 	 *
146 146
 	 * @param array $data
147 147
 	 */
148
-	public function load_data( $data ) {
148
+	public function load_data($data) {
149 149
 
150 150
 		// Remove slashes from the submitted data...
151
-		$data       = wp_unslash( $data );
151
+		$data       = wp_unslash($data);
152 152
 
153 153
 		// Allow plugins to filter the data.
154
-		$data       = apply_filters( 'getpaid_submission_data', $data, $this );
154
+		$data       = apply_filters('getpaid_submission_data', $data, $this);
155 155
 
156 156
 		// Cache it...
157 157
 		$this->data = $data;
158 158
 
159 159
 		// Then generate a unique id from the data.
160
-		$this->id   = md5( wp_json_encode( $data ) );
160
+		$this->id   = md5(wp_json_encode($data));
161 161
 
162 162
 		// Finally, process the submission.
163 163
 		try {
@@ -167,26 +167,26 @@  discard block
 block discarded – undo
167 167
 			$processors = apply_filters(
168 168
 				'getpaid_payment_form_submission_processors',
169 169
 				array(
170
-					array( $this, 'process_payment_form' ),
171
-					array( $this, 'process_invoice' ),
172
-					array( $this, 'process_fees' ),
173
-					array( $this, 'process_items' ),
174
-					array( $this, 'process_discount' ),
175
-					array( $this, 'process_taxes' ),
170
+					array($this, 'process_payment_form'),
171
+					array($this, 'process_invoice'),
172
+					array($this, 'process_fees'),
173
+					array($this, 'process_items'),
174
+					array($this, 'process_discount'),
175
+					array($this, 'process_taxes'),
176 176
 				),
177 177
 				$this		
178 178
 			);
179 179
 
180
-			foreach ( $processors as $processor ) {
181
-				call_user_func_array( $processor, array( &$this ) );
180
+			foreach ($processors as $processor) {
181
+				call_user_func_array($processor, array(&$this));
182 182
 			}
183 183
 
184
-		} catch ( Exception $e ) {
184
+		} catch (Exception $e) {
185 185
 			$this->last_error = $e->getMessage();
186 186
 		}
187 187
 
188 188
 		// Fired when we are done processing a submission.
189
-		do_action_ref_array( 'getpaid_process_submission', array( &$this ) );
189
+		do_action_ref_array('getpaid_process_submission', array(&$this));
190 190
 
191 191
 	}
192 192
 
@@ -207,18 +207,18 @@  discard block
 block discarded – undo
207 207
 	public function process_payment_form() {
208 208
 
209 209
 		// Every submission needs an active payment form.
210
-		if ( empty( $this->data['form_id'] ) ) {
211
-			throw new Exception( __( 'Missing payment form', 'invoicing' ) );
210
+		if (empty($this->data['form_id'])) {
211
+			throw new Exception(__('Missing payment form', 'invoicing'));
212 212
 		}
213 213
 
214 214
 		// Fetch the payment form.
215
-		$this->payment_form = new GetPaid_Payment_Form( $this->data['form_id'] );
215
+		$this->payment_form = new GetPaid_Payment_Form($this->data['form_id']);
216 216
 
217
-		if ( ! $this->payment_form->is_active() ) {
218
-			throw new Exception( __( 'Payment form not active', 'invoicing' ) );
217
+		if (!$this->payment_form->is_active()) {
218
+			throw new Exception(__('Payment form not active', 'invoicing'));
219 219
 		}
220 220
 
221
-		do_action_ref_array( 'getpaid_submissions_process_payment_form', array( &$this ) );
221
+		do_action_ref_array('getpaid_submissions_process_payment_form', array(&$this));
222 222
 	}
223 223
 
224 224
     /**
@@ -248,30 +248,30 @@  discard block
 block discarded – undo
248 248
 	public function process_invoice() {
249 249
 
250 250
 		// Abort if there is no invoice.
251
-		if ( empty( $this->data['invoice_id'] ) ) {
251
+		if (empty($this->data['invoice_id'])) {
252 252
 			return;
253 253
 		}
254 254
 
255 255
 		// If the submission is for an existing invoice, ensure that it exists
256 256
 		// and that it is not paid for.
257
-		$invoice = wpinv_get_invoice( $this->data['invoice_id'] );
257
+		$invoice = wpinv_get_invoice($this->data['invoice_id']);
258 258
 
259
-        if ( empty( $invoice ) ) {
260
-			throw new Exception( __( 'Invalid invoice', 'invoicing' ) );
259
+        if (empty($invoice)) {
260
+			throw new Exception(__('Invalid invoice', 'invoicing'));
261 261
 		}
262 262
 
263
-		if ( $invoice->is_paid() ) {
264
-			throw new Exception( __( 'This invoice is already paid for.', 'invoicing' ) );
263
+		if ($invoice->is_paid()) {
264
+			throw new Exception(__('This invoice is already paid for.', 'invoicing'));
265 265
 		}
266 266
 
267
-		$this->payment_form->set_items( $invoice->get_items() );
267
+		$this->payment_form->set_items($invoice->get_items());
268 268
 		$this->payment_form->invoice = $invoice;
269 269
 
270 270
 		$this->country = $invoice->get_country();
271 271
 		$this->state   = $invoice->get_state();
272 272
 		$this->invoice = $invoice;
273 273
 
274
-		do_action_ref_array( 'getpaid_submissions_process_invoice', array( &$this ) );
274
+		do_action_ref_array('getpaid_submissions_process_invoice', array(&$this));
275 275
 	}
276 276
 
277 277
 	/**
@@ -291,7 +291,7 @@  discard block
 block discarded – undo
291 291
 	 * @return bool
292 292
 	 */
293 293
 	public function has_invoice() {
294
-		return ! empty( $this->invoice );
294
+		return !empty($this->invoice);
295 295
 	}
296 296
 
297 297
 	/*
@@ -310,13 +310,13 @@  discard block
 block discarded – undo
310 310
 	 */
311 311
 	public function process_items() {
312 312
 
313
-		$processor = new GetPaid_Payment_Form_Submission_Items( $this );
313
+		$processor = new GetPaid_Payment_Form_Submission_Items($this);
314 314
 
315
-		foreach ( $processor->items as $item ) {
316
-			$this->add_item( $item );
315
+		foreach ($processor->items as $item) {
316
+			$this->add_item($item);
317 317
 		}
318 318
 
319
-		do_action_ref_array( 'getpaid_submissions_process_items', array( &$this ) );
319
+		do_action_ref_array('getpaid_submissions_process_items', array(&$this));
320 320
 	}
321 321
 
322 322
 	/**
@@ -325,18 +325,18 @@  discard block
 block discarded – undo
325 325
 	 * @since 1.0.19
326 326
 	 * @param GetPaid_Form_Item $item
327 327
 	 */
328
-	public function add_item( $item ) {
328
+	public function add_item($item) {
329 329
 
330 330
 		// Make sure that it is available for purchase.
331
-		if ( ! $item->can_purchase() || isset( $this->items[ $item->get_id() ] ) ) {
331
+		if (!$item->can_purchase() || isset($this->items[$item->get_id()])) {
332 332
 			return;
333 333
 		}
334 334
 
335 335
 		// Each submission can only contain one recurring item.
336
-		if ( $item->is_recurring() ) {
336
+		if ($item->is_recurring()) {
337 337
 
338
-			if ( $this->has_recurring != 0 ) {
339
-				throw new Exception( __( 'You can only buy one recurring item at a time.', 'invoicing' ) );
338
+			if ($this->has_recurring != 0) {
339
+				throw new Exception(__('You can only buy one recurring item at a time.', 'invoicing'));
340 340
 			}
341 341
 
342 342
 			$this->has_recurring = $item->get_id();
@@ -344,7 +344,7 @@  discard block
 block discarded – undo
344 344
 		}
345 345
 
346 346
 		// Update the items and totals.
347
-		$this->items[ $item->get_id() ]         = $item;
347
+		$this->items[$item->get_id()]         = $item;
348 348
 		$this->totals['subtotal']['initial']   += $item->get_sub_total();
349 349
 		$this->totals['subtotal']['recurring'] += $item->get_recurring_sub_total();
350 350
 
@@ -358,17 +358,17 @@  discard block
 block discarded – undo
358 358
 	 *
359 359
 	 * @since 1.0.19
360 360
 	 */
361
-	public function remove_item( $item_id ) {
361
+	public function remove_item($item_id) {
362 362
 
363
-		if ( isset( $this->items[ $item_id ] ) ) {
364
-			$this->totals['subtotal']['initial']   -= $this->items[ $item_id ]->get_sub_total();
365
-			$this->totals['subtotal']['recurring'] -= $this->items[ $item_id ]->get_recurring_sub_total();
363
+		if (isset($this->items[$item_id])) {
364
+			$this->totals['subtotal']['initial']   -= $this->items[$item_id]->get_sub_total();
365
+			$this->totals['subtotal']['recurring'] -= $this->items[$item_id]->get_recurring_sub_total();
366 366
 
367
-			if ( $this->items[ $item_id ]->is_recurring() ) {
367
+			if ($this->items[$item_id]->is_recurring()) {
368 368
 				$this->has_recurring = 0;
369 369
 			}
370 370
 
371
-			unset( $this->items[ $item_id ] );
371
+			unset($this->items[$item_id]);
372 372
 		}
373 373
 
374 374
 	}
@@ -380,7 +380,7 @@  discard block
 block discarded – undo
380 380
 	 */
381 381
 	public function get_subtotal() {
382 382
 
383
-		if ( wpinv_prices_include_tax() ) {
383
+		if (wpinv_prices_include_tax()) {
384 384
 			return $this->totals['subtotal']['initial'] - $this->totals['taxes']['initial'];
385 385
 		}
386 386
 
@@ -394,7 +394,7 @@  discard block
 block discarded – undo
394 394
 	 */
395 395
 	public function get_recurring_subtotal() {
396 396
 
397
-		if ( wpinv_prices_include_tax() ) {
397
+		if (wpinv_prices_include_tax()) {
398 398
 			return $this->totals['subtotal']['recurring'] - $this->totals['taxes']['recurring'];
399 399
 		}
400 400
 
@@ -428,39 +428,39 @@  discard block
 block discarded – undo
428 428
 	public function process_taxes() {
429 429
 
430 430
 		// Abort if we're not using taxes.
431
-		if ( ! $this->use_taxes() ) {
431
+		if (!$this->use_taxes()) {
432 432
 			return;
433 433
 		}
434 434
 
435 435
 		// If a custom country && state has been passed in, use it to calculate taxes.
436
-		$country = $this->get_field( 'wpinv_country', 'billing' );
437
-		if ( ! empty( $country ) ) {
436
+		$country = $this->get_field('wpinv_country', 'billing');
437
+		if (!empty($country)) {
438 438
 			$this->country = $country;
439 439
 		}
440 440
 
441
-		$state = $this->get_field( 'wpinv_state', 'billing' );
442
-		if ( ! empty( $state ) ) {
441
+		$state = $this->get_field('wpinv_state', 'billing');
442
+		if (!empty($state)) {
443 443
 			$this->state = $state;
444 444
 		}
445 445
 
446 446
 		// Confirm if the provided country and the ip country are similar.
447
-		$address_confirmed = $this->get_field( 'confirm-address' );
448
-		if ( wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty( $address_confirmed ) ) {
449
-			throw new Exception( __( 'The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing' ) );
447
+		$address_confirmed = $this->get_field('confirm-address');
448
+		if (wpinv_should_validate_vat_number() && getpaid_get_ip_country() != $this->country && empty($address_confirmed)) {
449
+			throw new Exception(__('The country of your current location must be the same as the country of your billing location or you must confirm the billing address is your home country.', 'invoicing'));
450 450
 		}
451 451
 
452 452
 		// Abort if the country is not taxable.
453
-		if ( ! wpinv_is_country_taxable( $this->country ) ) {
453
+		if (!wpinv_is_country_taxable($this->country)) {
454 454
 			return;
455 455
 		}
456 456
 
457
-		$processor = new GetPaid_Payment_Form_Submission_Taxes( $this );
457
+		$processor = new GetPaid_Payment_Form_Submission_Taxes($this);
458 458
 
459
-		foreach ( $processor->taxes as $tax ) {
460
-			$this->add_tax( $tax );
459
+		foreach ($processor->taxes as $tax) {
460
+			$this->add_tax($tax);
461 461
 		}
462 462
 
463
-		do_action_ref_array( 'getpaid_submissions_process_taxes', array( &$this ) );
463
+		do_action_ref_array('getpaid_submissions_process_taxes', array(&$this));
464 464
 	}
465 465
 
466 466
 	/**
@@ -469,16 +469,16 @@  discard block
 block discarded – undo
469 469
 	 * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
470 470
 	 * @since 1.0.19
471 471
 	 */
472
-	public function add_tax( $tax ) {
472
+	public function add_tax($tax) {
473 473
 
474
-		if ( wpinv_round_tax_per_tax_rate() ) {
475
-			$tax['initial_tax']   = wpinv_round_amount( $tax['initial_tax'] );
476
-			$tax['recurring_tax'] = wpinv_round_amount( $tax['recurring_tax'] );
474
+		if (wpinv_round_tax_per_tax_rate()) {
475
+			$tax['initial_tax']   = wpinv_round_amount($tax['initial_tax']);
476
+			$tax['recurring_tax'] = wpinv_round_amount($tax['recurring_tax']);
477 477
 		}
478 478
 
479
-		$this->taxes[ $tax['name'] ]         = $tax;
480
-		$this->totals['taxes']['initial']   += wpinv_sanitize_amount( $tax['initial_tax'] );
481
-		$this->totals['taxes']['recurring'] += wpinv_sanitize_amount( $tax['recurring_tax'] );
479
+		$this->taxes[$tax['name']]         = $tax;
480
+		$this->totals['taxes']['initial']   += wpinv_sanitize_amount($tax['initial_tax']);
481
+		$this->totals['taxes']['recurring'] += wpinv_sanitize_amount($tax['recurring_tax']);
482 482
 
483 483
 	}
484 484
 
@@ -487,12 +487,12 @@  discard block
 block discarded – undo
487 487
 	 *
488 488
 	 * @since 1.0.19
489 489
 	 */
490
-	public function remove_tax( $tax_name ) {
490
+	public function remove_tax($tax_name) {
491 491
 
492
-		if ( isset( $this->taxes[ $tax_name ] ) ) {
493
-			$this->totals['taxes']['initial']   -= $this->taxes[ $tax_name ]['initial_tax'];
494
-			$this->totals['taxes']['recurring'] -= $this->taxes[ $tax_name ]['recurring_tax'];
495
-			unset( $this->taxes[ $tax_name ] );
492
+		if (isset($this->taxes[$tax_name])) {
493
+			$this->totals['taxes']['initial']   -= $this->taxes[$tax_name]['initial_tax'];
494
+			$this->totals['taxes']['recurring'] -= $this->taxes[$tax_name]['recurring_tax'];
495
+			unset($this->taxes[$tax_name]);
496 496
 		}
497 497
 
498 498
 	}
@@ -506,11 +506,11 @@  discard block
 block discarded – undo
506 506
 
507 507
 		$use_taxes = wpinv_use_taxes();
508 508
 
509
-		if ( $this->has_invoice() && ! $this->invoice->is_taxable() ) {
509
+		if ($this->has_invoice() && !$this->invoice->is_taxable()) {
510 510
 			$use_taxes = false;
511 511
 		}
512 512
 
513
-		return apply_filters( 'getpaid_submission_use_taxes', $use_taxes, $this );
513
+		return apply_filters('getpaid_submission_use_taxes', $use_taxes, $this);
514 514
 
515 515
 	}
516 516
 
@@ -559,13 +559,13 @@  discard block
 block discarded – undo
559 559
 
560 560
 		$initial_total    = $this->get_subtotal() + $this->get_fee() + $this->get_tax();
561 561
 		$recurring_total  = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax();
562
-		$processor        = new GetPaid_Payment_Form_Submission_Discount( $this, $initial_total, $recurring_total );
562
+		$processor        = new GetPaid_Payment_Form_Submission_Discount($this, $initial_total, $recurring_total);
563 563
 
564
-		foreach ( $processor->discounts as $discount ) {
565
-			$this->add_discount( $discount );
564
+		foreach ($processor->discounts as $discount) {
565
+			$this->add_discount($discount);
566 566
 		}
567 567
 
568
-		do_action_ref_array( 'getpaid_submissions_process_discounts', array( &$this ) );
568
+		do_action_ref_array('getpaid_submissions_process_discounts', array(&$this));
569 569
 	}
570 570
 
571 571
 	/**
@@ -574,10 +574,10 @@  discard block
 block discarded – undo
574 574
 	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
575 575
 	 * @since 1.0.19
576 576
 	 */
577
-	public function add_discount( $discount ) {
578
-		$this->discounts[ $discount['name'] ]   = $discount;
579
-		$this->totals['discount']['initial']   += wpinv_sanitize_amount( $discount['initial_discount'] );
580
-		$this->totals['discount']['recurring'] += wpinv_sanitize_amount( $discount['recurring_discount'] );
577
+	public function add_discount($discount) {
578
+		$this->discounts[$discount['name']]   = $discount;
579
+		$this->totals['discount']['initial']   += wpinv_sanitize_amount($discount['initial_discount']);
580
+		$this->totals['discount']['recurring'] += wpinv_sanitize_amount($discount['recurring_discount']);
581 581
 	}
582 582
 
583 583
 	/**
@@ -585,12 +585,12 @@  discard block
 block discarded – undo
585 585
 	 *
586 586
 	 * @since 1.0.19
587 587
 	 */
588
-	public function remove_discount( $name ) {
588
+	public function remove_discount($name) {
589 589
 
590
-		if ( isset( $this->discounts[ $name ] ) ) {
591
-			$this->totals['discount']['initial']   -= $this->discounts[ $name ]['initial_discount'];
592
-			$this->totals['discount']['recurring'] -= $this->discounts[ $name ]['recurring_discount'];
593
-			unset( $this->discounts[ $name ] );
590
+		if (isset($this->discounts[$name])) {
591
+			$this->totals['discount']['initial']   -= $this->discounts[$name]['initial_discount'];
592
+			$this->totals['discount']['recurring'] -= $this->discounts[$name]['recurring_discount'];
593
+			unset($this->discounts[$name]);
594 594
 		}
595 595
 
596 596
 	}
@@ -602,7 +602,7 @@  discard block
 block discarded – undo
602 602
 	 * @return bool
603 603
 	 */
604 604
 	public function has_discount_code() {
605
-		return ! empty( $this->discounts['discount_code'] );
605
+		return !empty($this->discounts['discount_code']);
606 606
 	}
607 607
 
608 608
 	/**
@@ -659,13 +659,13 @@  discard block
 block discarded – undo
659 659
 	 */
660 660
 	public function process_fees() {
661 661
 
662
-		$fees_processor = new GetPaid_Payment_Form_Submission_Fees( $this );
662
+		$fees_processor = new GetPaid_Payment_Form_Submission_Fees($this);
663 663
 
664
-		foreach ( $fees_processor->fees as $fee ) {
665
-			$this->add_fee( $fee );
664
+		foreach ($fees_processor->fees as $fee) {
665
+			$this->add_fee($fee);
666 666
 		}
667 667
 
668
-		do_action_ref_array( 'getpaid_submissions_process_fees', array( &$this ) );
668
+		do_action_ref_array('getpaid_submissions_process_fees', array(&$this));
669 669
 	}
670 670
 
671 671
 	/**
@@ -674,11 +674,11 @@  discard block
 block discarded – undo
674 674
 	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
675 675
 	 * @since 1.0.19
676 676
 	 */
677
-	public function add_fee( $fee ) {
677
+	public function add_fee($fee) {
678 678
 
679
-		$this->fees[ $fee['name'] ]         = $fee;
680
-		$this->totals['fees']['initial']   += wpinv_sanitize_amount( $fee['initial_fee'] );
681
-		$this->totals['fees']['recurring'] += wpinv_sanitize_amount( $fee['recurring_fee'] );
679
+		$this->fees[$fee['name']]         = $fee;
680
+		$this->totals['fees']['initial']   += wpinv_sanitize_amount($fee['initial_fee']);
681
+		$this->totals['fees']['recurring'] += wpinv_sanitize_amount($fee['recurring_fee']);
682 682
 
683 683
 	}
684 684
 
@@ -687,12 +687,12 @@  discard block
 block discarded – undo
687 687
 	 *
688 688
 	 * @since 1.0.19
689 689
 	 */
690
-	public function remove_fee( $name ) {
690
+	public function remove_fee($name) {
691 691
 
692
-		if ( isset( $this->fees[ $name ] ) ) {
693
-			$this->totals['fees']['initial']   -= $this->fees[ $name ]['initial_fee'];
694
-			$this->totals['fees']['recurring'] -= $this->fees[ $name ]['recurring_fee'];
695
-			unset( $this->fees[ $name ] );
692
+		if (isset($this->fees[$name])) {
693
+			$this->totals['fees']['initial']   -= $this->fees[$name]['initial_fee'];
694
+			$this->totals['fees']['recurring'] -= $this->fees[$name]['recurring_fee'];
695
+			unset($this->fees[$name]);
696 696
 		}
697 697
 
698 698
 	}
@@ -731,7 +731,7 @@  discard block
 block discarded – undo
731 731
 	 * @since 1.0.19
732 732
 	 */
733 733
 	public function has_fees() {
734
-		return count( $this->fees ) !== 0;
734
+		return count($this->fees) !== 0;
735 735
 	}
736 736
 
737 737
 	/*
@@ -749,7 +749,7 @@  discard block
 block discarded – undo
749 749
 	 * @since 1.0.19
750 750
 	 */
751 751
 	public function is_initial_fetch() {
752
-		return empty( $this->data['initial_state'] );
752
+		return empty($this->data['initial_state']);
753 753
 	}
754 754
 
755 755
 	/**
@@ -759,7 +759,7 @@  discard block
 block discarded – undo
759 759
 	 */
760 760
 	public function get_total() {
761 761
 		$total = $this->get_subtotal() + $this->get_fee() + $this->get_tax() - $this->get_discount();
762
-		return max( $total, 0 );
762
+		return max($total, 0);
763 763
 	}
764 764
 
765 765
 	/**
@@ -769,7 +769,7 @@  discard block
 block discarded – undo
769 769
 	 */
770 770
 	public function get_recurring_total() {
771 771
 		$total = $this->get_recurring_subtotal() + $this->get_recurring_fee() + $this->get_recurring_tax() - $this->get_recurring_discount();
772
-		return max( $total, 0 );
772
+		return max($total, 0);
773 773
 	}
774 774
 
775 775
 	/**
@@ -781,12 +781,12 @@  discard block
 block discarded – undo
781 781
 		$initial   = $this->get_total();
782 782
 		$recurring = $this->get_recurring_total();
783 783
 
784
-		if ( $this->has_recurring == 0 ) {
784
+		if ($this->has_recurring == 0) {
785 785
 			$recurring = 0;
786 786
 		}
787 787
 
788 788
 		$collect = $initial > 0 || $recurring > 0;
789
-		return apply_filters( 'getpaid_submission_should_collect_payment_details', $collect, $this  );
789
+		return apply_filters('getpaid_submission_should_collect_payment_details', $collect, $this);
790 790
 	}
791 791
 
792 792
 	/**
@@ -795,7 +795,7 @@  discard block
 block discarded – undo
795 795
 	 * @since 1.0.19
796 796
 	 */
797 797
 	public function get_billing_email() {
798
-		return apply_filters( 'getpaid_get_submission_billing_email', $this->get_field( 'billing_email' ), $this  );
798
+		return apply_filters('getpaid_get_submission_billing_email', $this->get_field('billing_email'), $this);
799 799
 	}
800 800
 
801 801
 	/**
@@ -805,7 +805,7 @@  discard block
 block discarded – undo
805 805
 	 */
806 806
 	public function has_billing_email() {
807 807
 		$billing_email = $this->get_billing_email();
808
-		return ! empty( $billing_email ) && is_email( $billing_email );
808
+		return !empty($billing_email) && is_email($billing_email);
809 809
 	}
810 810
 
811 811
 	/**
@@ -835,8 +835,8 @@  discard block
 block discarded – undo
835 835
 	 * @since 1.0.19
836 836
 	 * @return mixed|null
837 837
 	 */
838
-	public function get_field( $field, $sub_array_key = null ) {
839
-		return getpaid_get_array_field( $this->data, $field, $sub_array_key );
838
+	public function get_field($field, $sub_array_key = null) {
839
+		return getpaid_get_array_field($this->data, $field, $sub_array_key);
840 840
 	}
841 841
 
842 842
 	/**
@@ -844,8 +844,8 @@  discard block
 block discarded – undo
844 844
 	 *
845 845
 	 * @since 1.0.19
846 846
 	 */
847
-	public function is_required_field_set( $field ) {
848
-		return empty( $field['required'] ) || ! empty( $this->data[ $field['id'] ] );
847
+	public function is_required_field_set($field) {
848
+		return empty($field['required']) || !empty($this->data[$field['id']]);
849 849
 	}
850 850
 
851 851
 	/**
@@ -853,8 +853,8 @@  discard block
 block discarded – undo
853 853
 	 *
854 854
 	 * @since 1.0.19
855 855
 	 */
856
-	public function format_amount( $amount ) {
857
-		return wpinv_price( $amount, $this->get_currency() );
856
+	public function format_amount($amount) {
857
+		return wpinv_price($amount, $this->get_currency());
858 858
 	}
859 859
 
860 860
 }
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-bank-transfer-gateway.php 2 patches
Indentation   +175 added lines, -175 removed lines patch added patch discarded remove patch
@@ -13,30 +13,30 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Bank_Transfer_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'bank_transfer';
21 21
 
22
-	/**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
27
-	protected $supports = array( 'addons' );
22
+    /**
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27
+    protected $supports = array( 'addons' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
34
-	public $order = 8;
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34
+    public $order = 8;
35 35
 
36 36
     /**
37
-	 * Class constructor.
38
-	 */
39
-	public function __construct() {
37
+     * Class constructor.
38
+     */
39
+    public function __construct() {
40 40
         parent::__construct();
41 41
 
42 42
         $this->title                = __( 'Direct bank transfer', 'invoicing' );
@@ -44,23 +44,23 @@  discard block
 block discarded – undo
44 44
         $this->checkout_button_text = __( 'Proceed', 'invoicing' );
45 45
         $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
46 46
 
47
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
48
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
49
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
50
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
47
+        add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
48
+        add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
49
+        add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
50
+        add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
51 51
 
52 52
     }
53 53
 
54 54
     /**
55
-	 * Process Payment.
56
-	 *
57
-	 *
58
-	 * @param WPInv_Invoice $invoice Invoice.
59
-	 * @param array $submission_data Posted checkout fields.
60
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
61
-	 * @return array
62
-	 */
63
-	public function process_payment( $invoice, $submission_data, $submission ) {
55
+     * Process Payment.
56
+     *
57
+     *
58
+     * @param WPInv_Invoice $invoice Invoice.
59
+     * @param array $submission_data Posted checkout fields.
60
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
61
+     * @return array
62
+     */
63
+    public function process_payment( $invoice, $submission_data, $submission ) {
64 64
 
65 65
         // Add a transaction id.
66 66
         $invoice->set_transaction_id( $invoice->generate_key('trans_') );
@@ -81,66 +81,66 @@  discard block
 block discarded – undo
81 81
     }
82 82
 
83 83
     /**
84
-	 * Output for the order received page.
85
-	 *
86
-	 * @param WPInv_Invoice $invoice Invoice.
87
-	 */
88
-	public function thankyou_page( $invoice ) {
84
+     * Output for the order received page.
85
+     *
86
+     * @param WPInv_Invoice $invoice Invoice.
87
+     */
88
+    public function thankyou_page( $invoice ) {
89 89
 
90 90
         if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
91 91
 
92
-			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
92
+            echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
93 93
 
94 94
             if ( ! empty( $this->instructions ) ) {
95 95
                 echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
96
-			}
96
+            }
97 97
 
98
-			$this->bank_details( $invoice );
98
+            $this->bank_details( $invoice );
99 99
 
100
-			echo '</div>';
100
+            echo '</div>';
101 101
 
102 102
         }
103 103
 
104
-	}
104
+    }
105 105
 
106 106
     /**
107
-	 * Add content to the WPI emails.
108
-	 *
109
-	 * @param WPInv_Invoice $invoice Invoice.
110
-	 * @param string     $email_type Email format: plain text or HTML.
111
-	 * @param bool     $sent_to_admin Sent to admin.
112
-	 */
113
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
107
+     * Add content to the WPI emails.
108
+     *
109
+     * @param WPInv_Invoice $invoice Invoice.
110
+     * @param string     $email_type Email format: plain text or HTML.
111
+     * @param bool     $sent_to_admin Sent to admin.
112
+     */
113
+    public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
114 114
 
115
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
115
+        if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
116 116
 
117
-			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
117
+            echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
118 118
 
119
-			if ( $this->instructions ) {
120
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
119
+            if ( $this->instructions ) {
120
+                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
121 121
             }
122 122
 
123
-			$this->bank_details( $invoice );
123
+            $this->bank_details( $invoice );
124 124
 			
125
-			echo '</div>';
125
+            echo '</div>';
126 126
 
127
-		}
127
+        }
128 128
 
129 129
     }
130 130
     
131 131
     /**
132
-	 * Get bank details and place into a list format.
133
-	 *
134
-	 * @param WPInv_Invoice $invoice Invoice.
135
-	 */
136
-	protected function bank_details( $invoice ) {
132
+     * Get bank details and place into a list format.
133
+     *
134
+     * @param WPInv_Invoice $invoice Invoice.
135
+     */
136
+    protected function bank_details( $invoice ) {
137 137
 
138
-		// Get the invoice country and country $locale.
139
-		$country = $invoice->get_country();
140
-		$locale  = $this->get_country_locale();
138
+        // Get the invoice country and country $locale.
139
+        $country = $invoice->get_country();
140
+        $locale  = $this->get_country_locale();
141 141
 
142
-		// Get sortcode label in the $locale array and use appropriate one.
143
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
142
+        // Get sortcode label in the $locale array and use appropriate one.
143
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
144 144
 
145 145
         $bank_fields = array(
146 146
             'ac_name'     => __( 'Account Name', 'invoicing' ),
@@ -169,144 +169,144 @@  discard block
 block discarded – undo
169 169
             return;
170 170
         }
171 171
 
172
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL;
172
+        echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL;
173 173
 
174
-		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
174
+        echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
175 175
 
176
-		foreach ( $bank_info as $key => $data ) {
176
+        foreach ( $bank_info as $key => $data ) {
177 177
 
178
-			$key   = sanitize_html_class( $key );
179
-			$label = wp_kses_post( $data['label'] );
180
-			$value = wp_kses_post( wptexturize( $data['value'] ) );
178
+            $key   = sanitize_html_class( $key );
179
+            $label = wp_kses_post( $data['label'] );
180
+            $value = wp_kses_post( wptexturize( $data['value'] ) );
181 181
 
182
-			echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL;
183
-		}
182
+            echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL;
183
+        }
184 184
 
185
-		echo '</table>';
185
+        echo '</table>';
186 186
 
187 187
     }
188 188
     
189 189
     /**
190
-	 * Get country locale if localized.
191
-	 *
192
-	 * @return array
193
-	 */
194
-	public function get_country_locale() {
195
-
196
-		if ( empty( $this->locale ) ) {
197
-
198
-			// Locale information to be used - only those that are not 'Sort Code'.
199
-			$this->locale = apply_filters(
200
-				'getpaid_get_bank_transfer_locale',
201
-				array(
202
-					'AU' => array(
203
-						'sortcode' => array(
204
-							'label' => __( 'BSB', 'invoicing' ),
205
-						),
206
-					),
207
-					'CA' => array(
208
-						'sortcode' => array(
209
-							'label' => __( 'Bank transit number', 'invoicing' ),
210
-						),
211
-					),
212
-					'IN' => array(
213
-						'sortcode' => array(
214
-							'label' => __( 'IFSC', 'invoicing' ),
215
-						),
216
-					),
217
-					'IT' => array(
218
-						'sortcode' => array(
219
-							'label' => __( 'Branch sort', 'invoicing' ),
220
-						),
221
-					),
222
-					'NZ' => array(
223
-						'sortcode' => array(
224
-							'label' => __( 'Bank code', 'invoicing' ),
225
-						),
226
-					),
227
-					'SE' => array(
228
-						'sortcode' => array(
229
-							'label' => __( 'Bank code', 'invoicing' ),
230
-						),
231
-					),
232
-					'US' => array(
233
-						'sortcode' => array(
234
-							'label' => __( 'Routing number', 'invoicing' ),
235
-						),
236
-					),
237
-					'ZA' => array(
238
-						'sortcode' => array(
239
-							'label' => __( 'Branch code', 'invoicing' ),
240
-						),
241
-					),
242
-				)
243
-			);
244
-
245
-		}
246
-
247
-		return $this->locale;
248
-
249
-	}
250
-
251
-	/**
252
-	 * Filters the gateway settings.
253
-	 * 
254
-	 * @param array $admin_settings
255
-	 */
256
-	public function admin_settings( $admin_settings ) {
190
+     * Get country locale if localized.
191
+     *
192
+     * @return array
193
+     */
194
+    public function get_country_locale() {
195
+
196
+        if ( empty( $this->locale ) ) {
197
+
198
+            // Locale information to be used - only those that are not 'Sort Code'.
199
+            $this->locale = apply_filters(
200
+                'getpaid_get_bank_transfer_locale',
201
+                array(
202
+                    'AU' => array(
203
+                        'sortcode' => array(
204
+                            'label' => __( 'BSB', 'invoicing' ),
205
+                        ),
206
+                    ),
207
+                    'CA' => array(
208
+                        'sortcode' => array(
209
+                            'label' => __( 'Bank transit number', 'invoicing' ),
210
+                        ),
211
+                    ),
212
+                    'IN' => array(
213
+                        'sortcode' => array(
214
+                            'label' => __( 'IFSC', 'invoicing' ),
215
+                        ),
216
+                    ),
217
+                    'IT' => array(
218
+                        'sortcode' => array(
219
+                            'label' => __( 'Branch sort', 'invoicing' ),
220
+                        ),
221
+                    ),
222
+                    'NZ' => array(
223
+                        'sortcode' => array(
224
+                            'label' => __( 'Bank code', 'invoicing' ),
225
+                        ),
226
+                    ),
227
+                    'SE' => array(
228
+                        'sortcode' => array(
229
+                            'label' => __( 'Bank code', 'invoicing' ),
230
+                        ),
231
+                    ),
232
+                    'US' => array(
233
+                        'sortcode' => array(
234
+                            'label' => __( 'Routing number', 'invoicing' ),
235
+                        ),
236
+                    ),
237
+                    'ZA' => array(
238
+                        'sortcode' => array(
239
+                            'label' => __( 'Branch code', 'invoicing' ),
240
+                        ),
241
+                    ),
242
+                )
243
+            );
244
+
245
+        }
246
+
247
+        return $this->locale;
248
+
249
+    }
250
+
251
+    /**
252
+     * Filters the gateway settings.
253
+     * 
254
+     * @param array $admin_settings
255
+     */
256
+    public function admin_settings( $admin_settings ) {
257 257
 
258 258
         $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
259
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
259
+        $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
260 260
 
261
-		$locale  = $this->get_country_locale();
261
+        $locale  = $this->get_country_locale();
262 262
 
263
-		// Get sortcode label in the $locale array and use appropriate one.
264
-		$country  = wpinv_default_billing_country();
265
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
263
+        // Get sortcode label in the $locale array and use appropriate one.
264
+        $country  = wpinv_default_billing_country();
265
+        $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
266 266
 
267
-		$admin_settings['bank_transfer_ac_name'] = array(
267
+        $admin_settings['bank_transfer_ac_name'] = array(
268 268
             'type' => 'text',
269 269
             'id'   => 'bank_transfer_ac_name',
270 270
             'name' => __( 'Account Name', 'invoicing' ),
271
-		);
271
+        );
272 272
 		
273
-		$admin_settings['bank_transfer_ac_no'] = array(
273
+        $admin_settings['bank_transfer_ac_no'] = array(
274 274
             'type' => 'text',
275 275
             'id'   => 'bank_transfer_ac_no',
276 276
             'name' => __( 'Account Number', 'invoicing' ),
277
-		);
277
+        );
278 278
 		
279
-		$admin_settings['bank_transfer_bank_name'] = array(
279
+        $admin_settings['bank_transfer_bank_name'] = array(
280 280
             'type' => 'text',
281 281
             'id'   => 'bank_transfer_bank_name',
282 282
             'name' => __( 'Bank Name', 'invoicing' ),
283
-		);
283
+        );
284 284
 
285
-		$admin_settings['bank_transfer_ifsc'] = array(
285
+        $admin_settings['bank_transfer_ifsc'] = array(
286 286
             'type' => 'text',
287 287
             'id'   => 'bank_transfer_ifsc',
288 288
             'name' => __( 'IFSC Code', 'invoicing' ),
289
-		);
289
+        );
290 290
 
291
-		$admin_settings['bank_transfer_iban'] = array(
291
+        $admin_settings['bank_transfer_iban'] = array(
292 292
             'type' => 'text',
293 293
             'id'   => 'bank_transfer_iban',
294 294
             'name' => __( 'IBAN', 'invoicing' ),
295
-		);
295
+        );
296 296
 
297
-		$admin_settings['bank_transfer_bic'] = array(
297
+        $admin_settings['bank_transfer_bic'] = array(
298 298
             'type' => 'text',
299 299
             'id'   => 'bank_transfer_bic',
300 300
             'name' => __( 'BIC/Swift Code', 'invoicing' ),
301
-		);
301
+        );
302 302
 		
303
-		$admin_settings['bank_transfer_sort_code'] = array(
304
-			'type' => 'text',
305
-			'id'   => 'bank_transfer_sort_code',
306
-			'name' => $sortcode,
307
-		);
303
+        $admin_settings['bank_transfer_sort_code'] = array(
304
+            'type' => 'text',
305
+            'id'   => 'bank_transfer_sort_code',
306
+            'name' => $sortcode,
307
+        );
308 308
 
309
-		$admin_settings['bank_transfer_info'] = array(
309
+        $admin_settings['bank_transfer_info'] = array(
310 310
             'id'   => 'bank_transfer_info',
311 311
             'name' => __( 'Instructions', 'invoicing' ),
312 312
             'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
@@ -316,17 +316,17 @@  discard block
 block discarded – undo
316 316
             'rows' => 5
317 317
         );
318 318
 
319
-		return $admin_settings;
320
-	}
319
+        return $admin_settings;
320
+    }
321 321
 
322
-	/**
323
-	 * Processes invoice addons.
324
-	 *
325
-	 * @param WPInv_Invoice $invoice
326
-	 * @param GetPaid_Form_Item[] $items
327
-	 * @return WPInv_Invoice
328
-	 */
329
-	public function process_addons( $invoice, $items ) {
322
+    /**
323
+     * Processes invoice addons.
324
+     *
325
+     * @param WPInv_Invoice $invoice
326
+     * @param GetPaid_Form_Item[] $items
327
+     * @return WPInv_Invoice
328
+     */
329
+    public function process_addons( $invoice, $items ) {
330 330
 
331 331
         foreach ( $items as $item ) {
332 332
             $invoice->add_item( $item );
@@ -334,6 +334,6 @@  discard block
 block discarded – undo
334 334
 
335 335
         $invoice->recalculate_total();
336 336
         $invoice->save();
337
-	}
337
+    }
338 338
 
339 339
 }
Please login to merge, or discard this patch.
Spacing   +71 added lines, -71 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
  * Bank transfer Payment Gateway class.
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 	 *
25 25
 	 * @var array
26 26
 	 */
27
-	protected $supports = array( 'addons' );
27
+	protected $supports = array('addons');
28 28
 
29 29
     /**
30 30
 	 * Payment method order.
@@ -39,15 +39,15 @@  discard block
 block discarded – undo
39 39
 	public function __construct() {
40 40
         parent::__construct();
41 41
 
42
-        $this->title                = __( 'Direct bank transfer', 'invoicing' );
43
-        $this->method_title         = __( 'Bank transfer', 'invoicing' );
44
-        $this->checkout_button_text = __( 'Proceed', 'invoicing' );
45
-        $this->instructions         = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) );
42
+        $this->title                = __('Direct bank transfer', 'invoicing');
43
+        $this->method_title         = __('Bank transfer', 'invoicing');
44
+        $this->checkout_button_text = __('Proceed', 'invoicing');
45
+        $this->instructions         = apply_filters('wpinv_bank_instructions', $this->get_option('info'));
46 46
 
47
-		add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) );
48
-		add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 );
49
-		add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 );
50
-		add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 );
47
+		add_action('wpinv_receipt_end', array($this, 'thankyou_page'));
48
+		add_action('getpaid_invoice_line_items', array($this, 'thankyou_page'), 40);
49
+		add_action('wpinv_pdf_content_billing', array($this, 'thankyou_page'), 11);
50
+		add_action('wpinv_email_invoice_details', array($this, 'email_instructions'), 10, 3);
51 51
 
52 52
     }
53 53
 
@@ -60,23 +60,23 @@  discard block
 block discarded – undo
60 60
 	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
61 61
 	 * @return array
62 62
 	 */
63
-	public function process_payment( $invoice, $submission_data, $submission ) {
63
+	public function process_payment($invoice, $submission_data, $submission) {
64 64
 
65 65
         // Add a transaction id.
66
-        $invoice->set_transaction_id( $invoice->generate_key('trans_') );
66
+        $invoice->set_transaction_id($invoice->generate_key('trans_'));
67 67
 
68 68
         // Set it as pending payment.
69
-        if ( ! $invoice->needs_payment() ) {
69
+        if (!$invoice->needs_payment()) {
70 70
             $invoice->mark_paid();
71
-        } else if ( ! $invoice->is_paid() ) {
72
-            $invoice->set_status( 'wpi-onhold' );
71
+        } else if (!$invoice->is_paid()) {
72
+            $invoice->set_status('wpi-onhold');
73 73
         }
74 74
 
75 75
         // Save it.
76 76
         $invoice->save();
77 77
 
78 78
         // Send to the success page.
79
-        wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
79
+        wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key()));
80 80
 
81 81
     }
82 82
 
@@ -85,17 +85,17 @@  discard block
 block discarded – undo
85 85
 	 *
86 86
 	 * @param WPInv_Invoice $invoice Invoice.
87 87
 	 */
88
-	public function thankyou_page( $invoice ) {
88
+	public function thankyou_page($invoice) {
89 89
 
90
-        if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
90
+        if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
91 91
 
92 92
 			echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL;
93 93
 
94
-            if ( ! empty( $this->instructions ) ) {
95
-                echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) );
94
+            if (!empty($this->instructions)) {
95
+                echo wp_kses_post(wpautop(wptexturize($this->instructions)));
96 96
 			}
97 97
 
98
-			$this->bank_details( $invoice );
98
+			$this->bank_details($invoice);
99 99
 
100 100
 			echo '</div>';
101 101
 
@@ -110,17 +110,17 @@  discard block
 block discarded – undo
110 110
 	 * @param string     $email_type Email format: plain text or HTML.
111 111
 	 * @param bool     $sent_to_admin Sent to admin.
112 112
 	 */
113
-	public function email_instructions( $invoice, $email_type, $sent_to_admin ) {
113
+	public function email_instructions($invoice, $email_type, $sent_to_admin) {
114 114
 
115
-		if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) {
115
+		if (!$sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) {
116 116
 
117 117
 			echo '<div class="wpi-email-row getpaid-bank-transfer-details">';
118 118
 
119
-			if ( $this->instructions ) {
120
-				echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL );
119
+			if ($this->instructions) {
120
+				echo wp_kses_post(wpautop(wptexturize($this->instructions)) . PHP_EOL);
121 121
             }
122 122
 
123
-			$this->bank_details( $invoice );
123
+			$this->bank_details($invoice);
124 124
 			
125 125
 			echo '</div>';
126 126
 
@@ -133,51 +133,51 @@  discard block
 block discarded – undo
133 133
 	 *
134 134
 	 * @param WPInv_Invoice $invoice Invoice.
135 135
 	 */
136
-	protected function bank_details( $invoice ) {
136
+	protected function bank_details($invoice) {
137 137
 
138 138
 		// Get the invoice country and country $locale.
139 139
 		$country = $invoice->get_country();
140 140
 		$locale  = $this->get_country_locale();
141 141
 
142 142
 		// Get sortcode label in the $locale array and use appropriate one.
143
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
143
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
144 144
 
145 145
         $bank_fields = array(
146
-            'ac_name'     => __( 'Account Name', 'invoicing' ),
147
-            'ac_no'       => __( 'Account Number', 'invoicing' ),
148
-            'bank_name'   => __( 'Bank Name', 'invoicing' ),
149
-            'ifsc'        => __( 'IFSC code', 'invoicing' ),
150
-            'iban'        => __( 'IBAN', 'invoicing' ),
151
-            'bic'         => __( 'BIC/Swift code', 'invoicing' ),
146
+            'ac_name'     => __('Account Name', 'invoicing'),
147
+            'ac_no'       => __('Account Number', 'invoicing'),
148
+            'bank_name'   => __('Bank Name', 'invoicing'),
149
+            'ifsc'        => __('IFSC code', 'invoicing'),
150
+            'iban'        => __('IBAN', 'invoicing'),
151
+            'bic'         => __('BIC/Swift code', 'invoicing'),
152 152
             'sort_code'   => $sortcode,
153 153
         );
154 154
 
155 155
         $bank_info = array();
156 156
 
157
-        foreach ( $bank_fields as $field => $label ) {
158
-            $value = $this->get_option( $field );
157
+        foreach ($bank_fields as $field => $label) {
158
+            $value = $this->get_option($field);
159 159
 
160
-            if ( ! empty( $value ) ) {
161
-                $bank_info[$field] = array( 'label' => $label, 'value' => $value );
160
+            if (!empty($value)) {
161
+                $bank_info[$field] = array('label' => $label, 'value' => $value);
162 162
             }
163 163
 
164 164
         }
165 165
 
166
-        $bank_info = apply_filters( 'wpinv_bank_info', $bank_info );
166
+        $bank_info = apply_filters('wpinv_bank_info', $bank_info);
167 167
 
168
-        if ( empty( $bank_info ) ) {
168
+        if (empty($bank_info)) {
169 169
             return;
170 170
         }
171 171
 
172
-		echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL;
172
+		echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters('wpinv_receipt_bank_details_title', __('Bank Details', 'invoicing')) . '</h3>' . PHP_EOL;
173 173
 
174 174
 		echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL;
175 175
 
176
-		foreach ( $bank_info as $key => $data ) {
176
+		foreach ($bank_info as $key => $data) {
177 177
 
178
-			$key   = sanitize_html_class( $key );
179
-			$label = wp_kses_post( $data['label'] );
180
-			$value = wp_kses_post( wptexturize( $data['value'] ) );
178
+			$key   = sanitize_html_class($key);
179
+			$label = wp_kses_post($data['label']);
180
+			$value = wp_kses_post(wptexturize($data['value']));
181 181
 
182 182
 			echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL;
183 183
 		}
@@ -193,7 +193,7 @@  discard block
 block discarded – undo
193 193
 	 */
194 194
 	public function get_country_locale() {
195 195
 
196
-		if ( empty( $this->locale ) ) {
196
+		if (empty($this->locale)) {
197 197
 
198 198
 			// Locale information to be used - only those that are not 'Sort Code'.
199 199
 			$this->locale = apply_filters(
@@ -201,42 +201,42 @@  discard block
 block discarded – undo
201 201
 				array(
202 202
 					'AU' => array(
203 203
 						'sortcode' => array(
204
-							'label' => __( 'BSB', 'invoicing' ),
204
+							'label' => __('BSB', 'invoicing'),
205 205
 						),
206 206
 					),
207 207
 					'CA' => array(
208 208
 						'sortcode' => array(
209
-							'label' => __( 'Bank transit number', 'invoicing' ),
209
+							'label' => __('Bank transit number', 'invoicing'),
210 210
 						),
211 211
 					),
212 212
 					'IN' => array(
213 213
 						'sortcode' => array(
214
-							'label' => __( 'IFSC', 'invoicing' ),
214
+							'label' => __('IFSC', 'invoicing'),
215 215
 						),
216 216
 					),
217 217
 					'IT' => array(
218 218
 						'sortcode' => array(
219
-							'label' => __( 'Branch sort', 'invoicing' ),
219
+							'label' => __('Branch sort', 'invoicing'),
220 220
 						),
221 221
 					),
222 222
 					'NZ' => array(
223 223
 						'sortcode' => array(
224
-							'label' => __( 'Bank code', 'invoicing' ),
224
+							'label' => __('Bank code', 'invoicing'),
225 225
 						),
226 226
 					),
227 227
 					'SE' => array(
228 228
 						'sortcode' => array(
229
-							'label' => __( 'Bank code', 'invoicing' ),
229
+							'label' => __('Bank code', 'invoicing'),
230 230
 						),
231 231
 					),
232 232
 					'US' => array(
233 233
 						'sortcode' => array(
234
-							'label' => __( 'Routing number', 'invoicing' ),
234
+							'label' => __('Routing number', 'invoicing'),
235 235
 						),
236 236
 					),
237 237
 					'ZA' => array(
238 238
 						'sortcode' => array(
239
-							'label' => __( 'Branch code', 'invoicing' ),
239
+							'label' => __('Branch code', 'invoicing'),
240 240
 						),
241 241
 					),
242 242
 				)
@@ -253,51 +253,51 @@  discard block
 block discarded – undo
253 253
 	 * 
254 254
 	 * @param array $admin_settings
255 255
 	 */
256
-	public function admin_settings( $admin_settings ) {
256
+	public function admin_settings($admin_settings) {
257 257
 
258
-        $admin_settings['bank_transfer_desc']['std']    = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' );
259
-		$admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' );
258
+        $admin_settings['bank_transfer_desc']['std'] = __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing');
259
+		$admin_settings['bank_transfer_active']['desc'] = __('Enable bank transfer', 'invoicing');
260 260
 
261
-		$locale  = $this->get_country_locale();
261
+		$locale = $this->get_country_locale();
262 262
 
263 263
 		// Get sortcode label in the $locale array and use appropriate one.
264 264
 		$country  = wpinv_default_billing_country();
265
-		$sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' );
265
+		$sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing');
266 266
 
267 267
 		$admin_settings['bank_transfer_ac_name'] = array(
268 268
             'type' => 'text',
269 269
             'id'   => 'bank_transfer_ac_name',
270
-            'name' => __( 'Account Name', 'invoicing' ),
270
+            'name' => __('Account Name', 'invoicing'),
271 271
 		);
272 272
 		
273 273
 		$admin_settings['bank_transfer_ac_no'] = array(
274 274
             'type' => 'text',
275 275
             'id'   => 'bank_transfer_ac_no',
276
-            'name' => __( 'Account Number', 'invoicing' ),
276
+            'name' => __('Account Number', 'invoicing'),
277 277
 		);
278 278
 		
279 279
 		$admin_settings['bank_transfer_bank_name'] = array(
280 280
             'type' => 'text',
281 281
             'id'   => 'bank_transfer_bank_name',
282
-            'name' => __( 'Bank Name', 'invoicing' ),
282
+            'name' => __('Bank Name', 'invoicing'),
283 283
 		);
284 284
 
285 285
 		$admin_settings['bank_transfer_ifsc'] = array(
286 286
             'type' => 'text',
287 287
             'id'   => 'bank_transfer_ifsc',
288
-            'name' => __( 'IFSC Code', 'invoicing' ),
288
+            'name' => __('IFSC Code', 'invoicing'),
289 289
 		);
290 290
 
291 291
 		$admin_settings['bank_transfer_iban'] = array(
292 292
             'type' => 'text',
293 293
             'id'   => 'bank_transfer_iban',
294
-            'name' => __( 'IBAN', 'invoicing' ),
294
+            'name' => __('IBAN', 'invoicing'),
295 295
 		);
296 296
 
297 297
 		$admin_settings['bank_transfer_bic'] = array(
298 298
             'type' => 'text',
299 299
             'id'   => 'bank_transfer_bic',
300
-            'name' => __( 'BIC/Swift Code', 'invoicing' ),
300
+            'name' => __('BIC/Swift Code', 'invoicing'),
301 301
 		);
302 302
 		
303 303
 		$admin_settings['bank_transfer_sort_code'] = array(
@@ -308,10 +308,10 @@  discard block
 block discarded – undo
308 308
 
309 309
 		$admin_settings['bank_transfer_info'] = array(
310 310
             'id'   => 'bank_transfer_info',
311
-            'name' => __( 'Instructions', 'invoicing' ),
312
-            'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ),
311
+            'name' => __('Instructions', 'invoicing'),
312
+            'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'),
313 313
             'type' => 'textarea',
314
-            'std'  => __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ),
314
+            'std'  => __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'),
315 315
             'cols' => 50,
316 316
             'rows' => 5
317 317
         );
@@ -326,10 +326,10 @@  discard block
 block discarded – undo
326 326
 	 * @param GetPaid_Form_Item[] $items
327 327
 	 * @return WPInv_Invoice
328 328
 	 */
329
-	public function process_addons( $invoice, $items ) {
329
+	public function process_addons($invoice, $items) {
330 330
 
331
-        foreach ( $items as $item ) {
332
-            $invoice->add_item( $item );
331
+        foreach ($items as $item) {
332
+            $invoice->add_item($item);
333 333
         }
334 334
 
335 335
         $invoice->recalculate_total();
Please login to merge, or discard this patch.
includes/class-wpinv.php 2 patches
Indentation   +504 added lines, -504 removed lines patch added patch discarded remove patch
@@ -14,547 +14,547 @@
 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
-	 * @param 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
-
128
-		if ( class_exists( 'BuddyPress' ) ) {
129
-			add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) );
130
-		}
131
-
132
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
133
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
134
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
135
-		add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
136
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
137
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
138
-
139
-		// Fires after registering actions.
140
-		do_action( 'wpinv_actions', $this );
141
-		do_action( 'getpaid_actions', $this );
142
-
143
-	}
144
-
145
-	public function plugins_loaded() {
146
-		/* Internationalize the text strings used. */
147
-		$this->load_textdomain();
148
-
149
-		do_action( 'wpinv_loaded' );
150
-
151
-		// Fix oxygen page builder conflict
152
-		if ( function_exists( 'ct_css_output' ) ) {
153
-			wpinv_oxygen_fix_conflict();
154
-		}
155
-	}
156
-
157
-	/**
158
-	 * Load the translation of the plugin.
159
-	 *
160
-	 * @since 1.0
161
-	 */
162
-	public function load_textdomain( $locale = NULL ) {
163
-		if ( empty( $locale ) ) {
164
-			$locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
165
-		}
166
-
167
-		$locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
168
-
169
-		unload_textdomain( 'invoicing' );
170
-		load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
171
-		load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
172
-
173
-		/**
174
-		 * Define language constants.
175
-		 */
176
-		require_once( WPINV_PLUGIN_DIR . 'language.php' );
177
-	}
178
-
179
-	/**
180
-	 * Include required core files used in admin and on the frontend.
181
-	 */
182
-	public function includes() {
183
-
184
-		// Start with the settings.
185
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
186
-
187
-		// Packages/libraries.
188
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
189
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
190
-
191
-		// Load functions.
192
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
194
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
195
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
196
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
198
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
199
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
205
-		require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
206
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
207
-
208
-		// Register autoloader.
209
-		try {
210
-			spl_autoload_register( array( $this, 'autoload' ), true );
211
-		} catch ( Exception $e ) {
212
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
213
-		}
214
-
215
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
216
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
217
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
218
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
219
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
220
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
221
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
222
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
234
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
235
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
236
-
237
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
238
-			GetPaid_Post_Types_Admin::init();
239
-
240
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
241
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
242
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
243
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
244
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
245
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
246
-			// load the user class only on the users.php page
247
-			global $pagenow;
248
-			if($pagenow=='users.php'){
249
-				new WPInv_Admin_Users();
250
-			}
251
-		}
252
-
253
-		// Register cli commands
254
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
255
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
256
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
257
-		}
258
-
259
-	}
260
-
261
-	/**
262
-	 * Class autoloader
263
-	 *
264
-	 * @param       string $class_name The name of the class to load.
265
-	 * @access      public
266
-	 * @since       1.0.19
267
-	 * @return      void
268
-	 */
269
-	public function autoload( $class_name ) {
270
-
271
-		// Normalize the class name...
272
-		$class_name  = strtolower( $class_name );
273
-
274
-		// ... and make sure it is our class.
275
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
276
-			return;
277
-		}
278
-
279
-		// Next, prepare the file name from the class.
280
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
281
-
282
-		// Base path of the classes.
283
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
284
-
285
-		// And an array of possible locations in order of importance.
286
-		$locations = array(
287
-			"$plugin_path/includes",
288
-			"$plugin_path/includes/data-stores",
289
-			"$plugin_path/includes/gateways",
290
-			"$plugin_path/includes/payments",
291
-			"$plugin_path/includes/geolocation",
292
-			"$plugin_path/includes/reports",
293
-			"$plugin_path/includes/api",
294
-			"$plugin_path/includes/admin",
295
-			"$plugin_path/includes/admin/meta-boxes",
296
-		);
297
-
298
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
299
-
300
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
301
-				include trailingslashit( $location ) . $file_name;
302
-				break;
303
-			}
304
-
305
-		}
306
-
307
-	}
308
-
309
-	/**
310
-	 * Inits hooks etc.
311
-	 */
312
-	public function init() {
313
-
314
-		// Fires before getpaid inits.
315
-		do_action( 'before_getpaid_init', $this );
316
-
317
-		// Maybe upgrade.
318
-		$this->maybe_upgrade_database();
319
-
320
-		// Load default gateways.
321
-		$gateways = apply_filters(
322
-			'getpaid_default_gateways',
323
-			array(
324
-				'manual'        => 'GetPaid_Manual_Gateway',
325
-				'paypal'        => 'GetPaid_Paypal_Gateway',
326
-				'worldpay'      => 'GetPaid_Worldpay_Gateway',
327
-				'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
328
-				'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
329
-			)
330
-		);
331
-
332
-		foreach ( $gateways as $id => $class ) {
333
-			$this->gateways[ $id ] = new $class();
334
-		}
335
-
336
-		// Fires after getpaid inits.
337
-		do_action( 'getpaid_init', $this );
338
-
339
-	}
340
-
341
-	/**
342
-	 * Checks if this is an IPN request and processes it.
343
-	 */
344
-	public function maybe_process_ipn() {
345
-
346
-		// Ensure that this is an IPN request.
347
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
348
-			return;
349
-		}
350
-
351
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
352
-
353
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
354
-		do_action( "wpinv_verify_{$gateway}_ipn" );
355
-		exit;
356
-
357
-	}
358
-
359
-	public function enqueue_scripts() {
360
-
361
-		// Fires before adding scripts.
362
-		do_action( 'getpaid_enqueue_scripts' );
363
-
364
-		$localize                         = array();
365
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
366
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
367
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
368
-		$localize['UseTaxes']             = wpinv_use_taxes();
369
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
370
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
371
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
372
-
373
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
374
-
375
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
376
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
377
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
378
-	}
379
-
380
-	public function wpinv_actions() {
381
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
382
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
383
-		}
384
-	}
385
-
386
-	/**
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
+     * @param 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
+
128
+        if ( class_exists( 'BuddyPress' ) ) {
129
+            add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) );
130
+        }
131
+
132
+        add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
133
+        add_action( 'wp_footer', array( $this, 'wp_footer' ) );
134
+        add_action( 'wp_head', array( $this, 'wp_head' ) );
135
+        add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
136
+        add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
137
+        add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
138
+
139
+        // Fires after registering actions.
140
+        do_action( 'wpinv_actions', $this );
141
+        do_action( 'getpaid_actions', $this );
142
+
143
+    }
144
+
145
+    public function plugins_loaded() {
146
+        /* Internationalize the text strings used. */
147
+        $this->load_textdomain();
148
+
149
+        do_action( 'wpinv_loaded' );
150
+
151
+        // Fix oxygen page builder conflict
152
+        if ( function_exists( 'ct_css_output' ) ) {
153
+            wpinv_oxygen_fix_conflict();
154
+        }
155
+    }
156
+
157
+    /**
158
+     * Load the translation of the plugin.
159
+     *
160
+     * @since 1.0
161
+     */
162
+    public function load_textdomain( $locale = NULL ) {
163
+        if ( empty( $locale ) ) {
164
+            $locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
165
+        }
166
+
167
+        $locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
168
+
169
+        unload_textdomain( 'invoicing' );
170
+        load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
171
+        load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
172
+
173
+        /**
174
+         * Define language constants.
175
+         */
176
+        require_once( WPINV_PLUGIN_DIR . 'language.php' );
177
+    }
178
+
179
+    /**
180
+     * Include required core files used in admin and on the frontend.
181
+     */
182
+    public function includes() {
183
+
184
+        // Start with the settings.
185
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
186
+
187
+        // Packages/libraries.
188
+        require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
189
+        require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
190
+
191
+        // Load functions.
192
+        require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
193
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
194
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
195
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
196
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
197
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
198
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
199
+        require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
200
+        require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
201
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
202
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
203
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
204
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
205
+        require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
206
+        require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
207
+
208
+        // Register autoloader.
209
+        try {
210
+            spl_autoload_register( array( $this, 'autoload' ), true );
211
+        } catch ( Exception $e ) {
212
+            wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
213
+        }
214
+
215
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
216
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
217
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
218
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
219
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
220
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
221
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
222
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
223
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
224
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
225
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
226
+        require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
227
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
228
+        require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
229
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
230
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
231
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
232
+        require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
233
+        require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
234
+        require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
235
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
236
+
237
+        if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
238
+            GetPaid_Post_Types_Admin::init();
239
+
240
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
241
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
242
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
243
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
244
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
245
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
246
+            // load the user class only on the users.php page
247
+            global $pagenow;
248
+            if($pagenow=='users.php'){
249
+                new WPInv_Admin_Users();
250
+            }
251
+        }
252
+
253
+        // Register cli commands
254
+        if ( defined( 'WP_CLI' ) && WP_CLI ) {
255
+            require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
256
+            WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
257
+        }
258
+
259
+    }
260
+
261
+    /**
262
+     * Class autoloader
263
+     *
264
+     * @param       string $class_name The name of the class to load.
265
+     * @access      public
266
+     * @since       1.0.19
267
+     * @return      void
268
+     */
269
+    public function autoload( $class_name ) {
270
+
271
+        // Normalize the class name...
272
+        $class_name  = strtolower( $class_name );
273
+
274
+        // ... and make sure it is our class.
275
+        if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
276
+            return;
277
+        }
278
+
279
+        // Next, prepare the file name from the class.
280
+        $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
281
+
282
+        // Base path of the classes.
283
+        $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
284
+
285
+        // And an array of possible locations in order of importance.
286
+        $locations = array(
287
+            "$plugin_path/includes",
288
+            "$plugin_path/includes/data-stores",
289
+            "$plugin_path/includes/gateways",
290
+            "$plugin_path/includes/payments",
291
+            "$plugin_path/includes/geolocation",
292
+            "$plugin_path/includes/reports",
293
+            "$plugin_path/includes/api",
294
+            "$plugin_path/includes/admin",
295
+            "$plugin_path/includes/admin/meta-boxes",
296
+        );
297
+
298
+        foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
299
+
300
+            if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
301
+                include trailingslashit( $location ) . $file_name;
302
+                break;
303
+            }
304
+
305
+        }
306
+
307
+    }
308
+
309
+    /**
310
+     * Inits hooks etc.
311
+     */
312
+    public function init() {
313
+
314
+        // Fires before getpaid inits.
315
+        do_action( 'before_getpaid_init', $this );
316
+
317
+        // Maybe upgrade.
318
+        $this->maybe_upgrade_database();
319
+
320
+        // Load default gateways.
321
+        $gateways = apply_filters(
322
+            'getpaid_default_gateways',
323
+            array(
324
+                'manual'        => 'GetPaid_Manual_Gateway',
325
+                'paypal'        => 'GetPaid_Paypal_Gateway',
326
+                'worldpay'      => 'GetPaid_Worldpay_Gateway',
327
+                'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
328
+                'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
329
+            )
330
+        );
331
+
332
+        foreach ( $gateways as $id => $class ) {
333
+            $this->gateways[ $id ] = new $class();
334
+        }
335
+
336
+        // Fires after getpaid inits.
337
+        do_action( 'getpaid_init', $this );
338
+
339
+    }
340
+
341
+    /**
342
+     * Checks if this is an IPN request and processes it.
343
+     */
344
+    public function maybe_process_ipn() {
345
+
346
+        // Ensure that this is an IPN request.
347
+        if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
348
+            return;
349
+        }
350
+
351
+        $gateway = wpinv_clean( $_GET['wpi-gateway'] );
352
+
353
+        do_action( 'wpinv_verify_payment_ipn', $gateway );
354
+        do_action( "wpinv_verify_{$gateway}_ipn" );
355
+        exit;
356
+
357
+    }
358
+
359
+    public function enqueue_scripts() {
360
+
361
+        // Fires before adding scripts.
362
+        do_action( 'getpaid_enqueue_scripts' );
363
+
364
+        $localize                         = array();
365
+        $localize['ajax_url']             = admin_url( 'admin-ajax.php' );
366
+        $localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
367
+        $localize['txtComplete']          = __( 'Continue', 'invoicing' );
368
+        $localize['UseTaxes']             = wpinv_use_taxes();
369
+        $localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
370
+        $localize['loading']              = __( 'Loading...', 'invoicing' );
371
+        $localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
372
+
373
+        $localize = apply_filters( 'wpinv_front_js_localize', $localize );
374
+
375
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
376
+        wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
377
+        wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
378
+    }
379
+
380
+    public function wpinv_actions() {
381
+        if ( isset( $_REQUEST['wpi_action'] ) ) {
382
+            do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
383
+        }
384
+    }
385
+
386
+    /**
387 387
      * Fires an action after verifying that a user can fire them.
388
-	 *
389
-	 * Note: If the action is on an invoice, subscription etc, esure that the
390
-	 * current user owns the invoice/subscription.
388
+     *
389
+     * Note: If the action is on an invoice, subscription etc, esure that the
390
+     * current user owns the invoice/subscription.
391 391
      */
392 392
     public function maybe_do_authenticated_action() {
393 393
 
394
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
394
+        if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
395 395
 
396
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
397
-			$data = wp_unslash( $_REQUEST );
398
-			if ( is_user_logged_in() ) {
399
-				do_action( "getpaid_authenticated_action_$key", $data );
400
-			}
396
+            $key  = sanitize_key( $_REQUEST['getpaid-action'] );
397
+            $data = wp_unslash( $_REQUEST );
398
+            if ( is_user_logged_in() ) {
399
+                do_action( "getpaid_authenticated_action_$key", $data );
400
+            }
401 401
 
402
-			do_action( "getpaid_unauthenticated_action_$key", $data );
402
+            do_action( "getpaid_unauthenticated_action_$key", $data );
403 403
 
404
-		}
404
+        }
405
+
406
+    }
407
+
408
+    public function pre_get_posts( $wp_query ) {
409
+
410
+        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() ) {
411
+            $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
412
+        }
413
+
414
+        return $wp_query;
415
+    }
405 416
 
417
+    public function bp_invoicing_init() {
418
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' );
406 419
     }
407 420
 
408
-	public function pre_get_posts( $wp_query ) {
409
-
410
-		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() ) {
411
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
412
-		}
413
-
414
-		return $wp_query;
415
-	}
416
-
417
-	public function bp_invoicing_init() {
418
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' );
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 560
 }
Please login to merge, or discard this patch.
Spacing   +165 added lines, -165 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,28 +117,28 @@  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 );
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 127
 
128
-		if ( class_exists( 'BuddyPress' ) ) {
129
-			add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) );
128
+		if (class_exists('BuddyPress')) {
129
+			add_action('bp_include', array(&$this, 'bp_invoicing_init'));
130 130
 		}
131 131
 
132
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
133
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
134
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
135
-		add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
136
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
137
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
132
+		add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 11);
133
+		add_action('wp_footer', array($this, 'wp_footer'));
134
+		add_action('wp_head', array($this, 'wp_head'));
135
+		add_action('widgets_init', array(&$this, 'register_widgets'));
136
+		add_filter('wpseo_exclude_from_sitemap_by_post_ids', array($this, 'wpseo_exclude_from_sitemap_by_post_ids'));
137
+		add_filter('pre_get_posts', array(&$this, 'pre_get_posts'));
138 138
 
139 139
 		// Fires after registering actions.
140
-		do_action( 'wpinv_actions', $this );
141
-		do_action( 'getpaid_actions', $this );
140
+		do_action('wpinv_actions', $this);
141
+		do_action('getpaid_actions', $this);
142 142
 
143 143
 	}
144 144
 
@@ -146,10 +146,10 @@  discard block
 block discarded – undo
146 146
 		/* Internationalize the text strings used. */
147 147
 		$this->load_textdomain();
148 148
 
149
-		do_action( 'wpinv_loaded' );
149
+		do_action('wpinv_loaded');
150 150
 
151 151
 		// Fix oxygen page builder conflict
152
-		if ( function_exists( 'ct_css_output' ) ) {
152
+		if (function_exists('ct_css_output')) {
153 153
 			wpinv_oxygen_fix_conflict();
154 154
 		}
155 155
 	}
@@ -159,21 +159,21 @@  discard block
 block discarded – undo
159 159
 	 *
160 160
 	 * @since 1.0
161 161
 	 */
162
-	public function load_textdomain( $locale = NULL ) {
163
-		if ( empty( $locale ) ) {
164
-			$locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
162
+	public function load_textdomain($locale = NULL) {
163
+		if (empty($locale)) {
164
+			$locale = is_admin() && function_exists('get_user_locale') ? get_user_locale() : get_locale();
165 165
 		}
166 166
 
167
-		$locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
167
+		$locale = apply_filters('plugin_locale', $locale, 'invoicing');
168 168
 
169
-		unload_textdomain( 'invoicing' );
170
-		load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
171
-		load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
169
+		unload_textdomain('invoicing');
170
+		load_textdomain('invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo');
171
+		load_plugin_textdomain('invoicing', false, WPINV_PLUGIN_DIR . 'languages');
172 172
 
173 173
 		/**
174 174
 		 * Define language constants.
175 175
 		 */
176
-		require_once( WPINV_PLUGIN_DIR . 'language.php' );
176
+		require_once(WPINV_PLUGIN_DIR . 'language.php');
177 177
 	}
178 178
 
179 179
 	/**
@@ -182,78 +182,78 @@  discard block
 block discarded – undo
182 182
 	public function includes() {
183 183
 
184 184
 		// Start with the settings.
185
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
185
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php');
186 186
 
187 187
 		// Packages/libraries.
188
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
189
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
188
+		require_once(WPINV_PLUGIN_DIR . 'vendor/autoload.php');
189
+		require_once(WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php');
190 190
 
191 191
 		// Load functions.
192
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
194
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
195
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
196
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
198
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
199
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
205
-		require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
206
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
192
+		require_once(WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php');
193
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php');
194
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php');
195
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php');
196
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php');
197
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php');
198
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php');
199
+		require_once(WPINV_PLUGIN_DIR . 'includes/invoice-functions.php');
200
+		require_once(WPINV_PLUGIN_DIR . 'includes/subscription-functions.php');
201
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php');
202
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php');
203
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php');
204
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php');
205
+		require_once(WPINV_PLUGIN_DIR . 'includes/user-functions.php');
206
+		require_once(WPINV_PLUGIN_DIR . 'includes/error-functions.php');
207 207
 
208 208
 		// Register autoloader.
209 209
 		try {
210
-			spl_autoload_register( array( $this, 'autoload' ), true );
211
-		} catch ( Exception $e ) {
212
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
210
+			spl_autoload_register(array($this, 'autoload'), true);
211
+		} catch (Exception $e) {
212
+			wpinv_error_log($e->getMessage(), '', __FILE__, 149, true);
213 213
 		}
214 214
 
215
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
216
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
217
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
218
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
219
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
220
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
221
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
222
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
234
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
235
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
236
-
237
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
215
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php');
216
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php');
217
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php');
218
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php');
219
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php');
220
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php');
221
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php');
222
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php');
223
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php');
224
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php');
225
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php');
226
+		require_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php');
227
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php');
228
+		require_once(WPINV_PLUGIN_DIR . 'widgets/checkout.php');
229
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-history.php');
230
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php');
231
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php');
232
+		require_once(WPINV_PLUGIN_DIR . 'widgets/subscriptions.php');
233
+		require_once(WPINV_PLUGIN_DIR . 'widgets/buy-item.php');
234
+		require_once(WPINV_PLUGIN_DIR . 'widgets/getpaid.php');
235
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php');
236
+
237
+		if (is_admin() || (defined('WP_CLI') && WP_CLI)) {
238 238
 			GetPaid_Post_Types_Admin::init();
239 239
 
240
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
241
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
242
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
243
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
244
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
245
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
240
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php');
241
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php');
242
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php');
243
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php');
244
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php');
245
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php');
246 246
 			// load the user class only on the users.php page
247 247
 			global $pagenow;
248
-			if($pagenow=='users.php'){
248
+			if ($pagenow == 'users.php') {
249 249
 				new WPInv_Admin_Users();
250 250
 			}
251 251
 		}
252 252
 
253 253
 		// Register cli commands
254
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
255
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
256
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
254
+		if (defined('WP_CLI') && WP_CLI) {
255
+			require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php');
256
+			WP_CLI::add_command('invoicing', 'WPInv_CLI');
257 257
 		}
258 258
 
259 259
 	}
@@ -266,21 +266,21 @@  discard block
 block discarded – undo
266 266
 	 * @since       1.0.19
267 267
 	 * @return      void
268 268
 	 */
269
-	public function autoload( $class_name ) {
269
+	public function autoload($class_name) {
270 270
 
271 271
 		// Normalize the class name...
272
-		$class_name  = strtolower( $class_name );
272
+		$class_name = strtolower($class_name);
273 273
 
274 274
 		// ... and make sure it is our class.
275
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
275
+		if (false === strpos($class_name, 'getpaid_') && false === strpos($class_name, 'wpinv_')) {
276 276
 			return;
277 277
 		}
278 278
 
279 279
 		// Next, prepare the file name from the class.
280
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
280
+		$file_name = 'class-' . str_replace('_', '-', $class_name) . '.php';
281 281
 
282 282
 		// Base path of the classes.
283
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
283
+		$plugin_path = untrailingslashit(WPINV_PLUGIN_DIR);
284 284
 
285 285
 		// And an array of possible locations in order of importance.
286 286
 		$locations = array(
@@ -295,10 +295,10 @@  discard block
 block discarded – undo
295 295
 			"$plugin_path/includes/admin/meta-boxes",
296 296
 		);
297 297
 
298
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
298
+		foreach (apply_filters('getpaid_autoload_locations', $locations) as $location) {
299 299
 
300
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
301
-				include trailingslashit( $location ) . $file_name;
300
+			if (file_exists(trailingslashit($location) . $file_name)) {
301
+				include trailingslashit($location) . $file_name;
302 302
 				break;
303 303
 			}
304 304
 
@@ -312,7 +312,7 @@  discard block
 block discarded – undo
312 312
 	public function init() {
313 313
 
314 314
 		// Fires before getpaid inits.
315
-		do_action( 'before_getpaid_init', $this );
315
+		do_action('before_getpaid_init', $this);
316 316
 
317 317
 		// Maybe upgrade.
318 318
 		$this->maybe_upgrade_database();
@@ -329,12 +329,12 @@  discard block
 block discarded – undo
329 329
 			)
330 330
 		);
331 331
 
332
-		foreach ( $gateways as $id => $class ) {
333
-			$this->gateways[ $id ] = new $class();
332
+		foreach ($gateways as $id => $class) {
333
+			$this->gateways[$id] = new $class();
334 334
 		}
335 335
 
336 336
 		// Fires after getpaid inits.
337
-		do_action( 'getpaid_init', $this );
337
+		do_action('getpaid_init', $this);
338 338
 
339 339
 	}
340 340
 
@@ -344,14 +344,14 @@  discard block
 block discarded – undo
344 344
 	public function maybe_process_ipn() {
345 345
 
346 346
 		// Ensure that this is an IPN request.
347
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
347
+		if (empty($_GET['wpi-listener']) || 'IPN' !== $_GET['wpi-listener'] || empty($_GET['wpi-gateway'])) {
348 348
 			return;
349 349
 		}
350 350
 
351
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
351
+		$gateway = wpinv_clean($_GET['wpi-gateway']);
352 352
 
353
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
354
-		do_action( "wpinv_verify_{$gateway}_ipn" );
353
+		do_action('wpinv_verify_payment_ipn', $gateway);
354
+		do_action("wpinv_verify_{$gateway}_ipn");
355 355
 		exit;
356 356
 
357 357
 	}
@@ -359,27 +359,27 @@  discard block
 block discarded – undo
359 359
 	public function enqueue_scripts() {
360 360
 
361 361
 		// Fires before adding scripts.
362
-		do_action( 'getpaid_enqueue_scripts' );
362
+		do_action('getpaid_enqueue_scripts');
363 363
 
364 364
 		$localize                         = array();
365
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
366
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
367
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
365
+		$localize['ajax_url']             = admin_url('admin-ajax.php');
366
+		$localize['nonce']                = wp_create_nonce('wpinv-nonce');
367
+		$localize['txtComplete']          = __('Continue', 'invoicing');
368 368
 		$localize['UseTaxes']             = wpinv_use_taxes();
369
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
370
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
371
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
369
+		$localize['formNonce']            = wp_create_nonce('getpaid_form_nonce');
370
+		$localize['loading']              = __('Loading...', 'invoicing');
371
+		$localize['connectionError']      = __('Could not establish a connection to the server.', 'invoicing');
372 372
 
373
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
373
+		$localize = apply_filters('wpinv_front_js_localize', $localize);
374 374
 
375
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
376
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
377
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
375
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js');
376
+		wp_enqueue_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array('jquery'), $version, true);
377
+		wp_localize_script('wpinv-front-script', 'WPInv', $localize);
378 378
 	}
379 379
 
380 380
 	public function wpinv_actions() {
381
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
382
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
381
+		if (isset($_REQUEST['wpi_action'])) {
382
+			do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST);
383 383
 		}
384 384
 	}
385 385
 
@@ -391,31 +391,31 @@  discard block
 block discarded – undo
391 391
      */
392 392
     public function maybe_do_authenticated_action() {
393 393
 
394
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
394
+		if (isset($_REQUEST['getpaid-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) {
395 395
 
396
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
397
-			$data = wp_unslash( $_REQUEST );
398
-			if ( is_user_logged_in() ) {
399
-				do_action( "getpaid_authenticated_action_$key", $data );
396
+			$key  = sanitize_key($_REQUEST['getpaid-action']);
397
+			$data = wp_unslash($_REQUEST);
398
+			if (is_user_logged_in()) {
399
+				do_action("getpaid_authenticated_action_$key", $data);
400 400
 			}
401 401
 
402
-			do_action( "getpaid_unauthenticated_action_$key", $data );
402
+			do_action("getpaid_unauthenticated_action_$key", $data);
403 403
 
404 404
 		}
405 405
 
406 406
     }
407 407
 
408
-	public function pre_get_posts( $wp_query ) {
408
+	public function pre_get_posts($wp_query) {
409 409
 
410
-		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() ) {
411
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
410
+		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()) {
411
+			$wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses(false, false, $wp_query->query_vars['post_type']));
412 412
 		}
413 413
 
414 414
 		return $wp_query;
415 415
 	}
416 416
 
417 417
 	public function bp_invoicing_init() {
418
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' );
418
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php');
419 419
 	}
420 420
 
421 421
 	/**
@@ -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,7 +554,7 @@  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
 }
Please login to merge, or discard this patch.