Passed
Push — master ( 684a37...347a19 )
by Brian
08:43 queued 03:30
created
includes/admin/class-getpaid-admin.php 2 patches
Indentation   +620 added lines, -620 removed lines patch added patch discarded remove patch
@@ -14,93 +14,93 @@  discard block
 block discarded – undo
14 14
 class GetPaid_Admin {
15 15
 
16 16
     /**
17
-	 * Local path to this plugins admin directory
18
-	 *
19
-	 * @var         string
20
-	 */
21
-	public $admin_path;
22
-
23
-	/**
24
-	 * Web path to this plugins admin directory
25
-	 *
26
-	 * @var         string
27
-	 */
28
-	public $admin_url;
29
-
30
-	/**
31
-	 * Reports components.
32
-	 *
33
-	 * @var GetPaid_Reports
34
-	 */
17
+     * Local path to this plugins admin directory
18
+     *
19
+     * @var         string
20
+     */
21
+    public $admin_path;
22
+
23
+    /**
24
+     * Web path to this plugins admin directory
25
+     *
26
+     * @var         string
27
+     */
28
+    public $admin_url;
29
+
30
+    /**
31
+     * Reports components.
32
+     *
33
+     * @var GetPaid_Reports
34
+     */
35 35
     public $reports;
36 36
 
37 37
     /**
38
-	 * Class constructor.
39
-	 */
40
-	public function __construct() {
38
+     * Class constructor.
39
+     */
40
+    public function __construct() {
41 41
 
42 42
         $this->admin_path  = plugin_dir_path( __FILE__ );
43
-		$this->admin_url   = plugins_url( '/', __FILE__ );
44
-		$this->reports     = new GetPaid_Reports();
43
+        $this->admin_url   = plugins_url( '/', __FILE__ );
44
+        $this->reports     = new GetPaid_Reports();
45 45
 
46 46
         if ( is_admin() ) {
47
-			$this->init_admin_hooks();
47
+            $this->init_admin_hooks();
48 48
         }
49 49
 
50 50
     }
51 51
 
52 52
     /**
53
-	 * Init action and filter hooks
54
-	 *
55
-	 */
56
-	private function init_admin_hooks() {
53
+     * Init action and filter hooks
54
+     *
55
+     */
56
+    private function init_admin_hooks() {
57 57
         add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ), 9 );
58 58
         add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) );
59 59
         add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) );
60 60
         add_action( 'admin_init', array( $this, 'activation_redirect' ) );
61 61
         add_action( 'admin_init', array( $this, 'maybe_do_admin_action' ) );
62
-		add_action( 'admin_notices', array( $this, 'show_notices' ) );
63
-		add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) );
64
-		add_action( 'getpaid_authenticated_admin_action_duplicate_form', array( $this, 'duplicate_payment_form' ) );
65
-		add_action( 'getpaid_authenticated_admin_action_reset_form_stats', array( $this, 'reset_form_stats' ) );
66
-		add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) );
67
-		add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
68
-		add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
62
+        add_action( 'admin_notices', array( $this, 'show_notices' ) );
63
+        add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) );
64
+        add_action( 'getpaid_authenticated_admin_action_duplicate_form', array( $this, 'duplicate_payment_form' ) );
65
+        add_action( 'getpaid_authenticated_admin_action_reset_form_stats', array( $this, 'reset_form_stats' ) );
66
+        add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) );
67
+        add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
68
+        add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
69 69
         add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) );
70
-		add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
71
-		add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) );
72
-		add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
73
-		add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
74
-		add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
75
-		add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
76
-		add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
77
-		add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
78
-		add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
79
-		do_action( 'getpaid_init_admin_hooks', $this );
80
-
81
-		// Setup/welcome
82
-		if ( ! empty( $_GET['page'] ) ) {
83
-			switch ( sanitize_text_field( $_GET['page'] ) ) {
84
-				case 'gp-setup':
85
-					include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php';
86
-					break;
87
-			}
88
-		}
89
-
90
-    }
91
-
92
-    /**
93
-	 * Register admin scripts
94
-	 *
95
-	 */
96
-	public function enqeue_scripts() {
70
+        add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
71
+        add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) );
72
+        add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
73
+        add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
74
+        add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
75
+        add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
76
+        add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
77
+        add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
78
+        add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
79
+        do_action( 'getpaid_init_admin_hooks', $this );
80
+
81
+        // Setup/welcome
82
+        if ( ! empty( $_GET['page'] ) ) {
83
+            switch ( sanitize_text_field( $_GET['page'] ) ) {
84
+                case 'gp-setup':
85
+                    include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php';
86
+                    break;
87
+            }
88
+        }
89
+
90
+    }
91
+
92
+    /**
93
+     * Register admin scripts
94
+     *
95
+     */
96
+    public function enqeue_scripts() {
97 97
         global $current_screen, $pagenow;
98 98
 
99
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
100
-		$editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
99
+        $page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
100
+        $editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
101 101
 
102 102
         if ( ! empty( $current_screen->post_type ) ) {
103
-			$page = $current_screen->post_type;
103
+            $page = $current_screen->post_type;
104 104
         }
105 105
 
106 106
         // General styles.
@@ -121,53 +121,53 @@  discard block
 block discarded – undo
121 121
         }
122 122
 
123 123
         // Payment form scripts.
124
-		if ( 'wpi_payment_form' == $page && $editing ) {
124
+        if ( 'wpi_payment_form' == $page && $editing ) {
125 125
             $this->load_payment_form_scripts();
126 126
         }
127 127
 
128
-		if ( $page == 'wpinv-subscriptions' ) {
129
-			wp_enqueue_script( 'postbox' );
130
-		}
128
+        if ( $page == 'wpinv-subscriptions' ) {
129
+            wp_enqueue_script( 'postbox' );
130
+        }
131 131
 
132 132
     }
133 133
 
134 134
     /**
135
-	 * Returns admin js translations.
136
-	 *
137
-	 */
138
-	protected function get_admin_i18() {
135
+     * Returns admin js translations.
136
+     *
137
+     */
138
+    protected function get_admin_i18() {
139 139
         global $post;
140 140
 
141
-		$date_range = array(
142
-			'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days',
143
-		);
141
+        $date_range = array(
142
+            'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days',
143
+        );
144 144
 
145
-		if ( $date_range['period'] == 'custom' ) {
145
+        if ( $date_range['period'] == 'custom' ) {
146 146
 
147
-			if ( isset( $_GET['from'] ) ) {
148
-				$date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
149
-			}
147
+            if ( isset( $_GET['from'] ) ) {
148
+                $date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
149
+            }
150 150
 
151
-			if ( isset( $_GET['to'] ) ) {
152
-				$date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
153
-			}
151
+            if ( isset( $_GET['to'] ) ) {
152
+                $date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
153
+            }
154 154
 }
155 155
 
156 156
         $i18n = array(
157 157
             'ajax_url'                  => admin_url( 'admin-ajax.php' ),
158 158
             'post_ID'                   => isset( $post->ID ) ? $post->ID : '',
159
-			'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
160
-			'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
161
-			'rest_root'                 => esc_url_raw( rest_url() ),
162
-			'date_range'                => $date_range,
159
+            'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
160
+            'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
161
+            'rest_root'                 => esc_url_raw( rest_url() ),
162
+            'date_range'                => $date_range,
163 163
             'add_invoice_note_nonce'    => wp_create_nonce( 'add-invoice-note' ),
164 164
             'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ),
165 165
             'invoice_item_nonce'        => wp_create_nonce( 'invoice-item' ),
166 166
             'billing_details_nonce'     => wp_create_nonce( 'get-billing-details' ),
167 167
             'tax'                       => wpinv_tax_amount(),
168 168
             'discount'                  => 0,
169
-			'currency_symbol'           => wpinv_currency_symbol(),
170
-			'currency'                  => wpinv_get_currency(),
169
+            'currency_symbol'           => wpinv_currency_symbol(),
170
+            'currency'                  => wpinv_get_currency(),
171 171
             'currency_pos'              => wpinv_currency_position(),
172 172
             'thousand_sep'              => wpinv_thousands_separator(),
173 173
             'decimal_sep'               => wpinv_decimal_separator(),
@@ -187,118 +187,118 @@  discard block
 block discarded – undo
187 187
             'item_description'          => __( 'Item Description', 'invoicing' ),
188 188
             'invoice_description'       => __( 'Invoice Description', 'invoicing' ),
189 189
             'discount_description'      => __( 'Discount Description', 'invoicing' ),
190
-			'searching'                 => __( 'Searching', 'invoicing' ),
191
-			'loading'                   => __( 'Loading...', 'invoicing' ),
192
-			'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
193
-			'search_items'              => __( 'Enter item name', 'invoicing' ),
194
-			'graphs'                    => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ),
190
+            'searching'                 => __( 'Searching', 'invoicing' ),
191
+            'loading'                   => __( 'Loading...', 'invoicing' ),
192
+            'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
193
+            'search_items'              => __( 'Enter item name', 'invoicing' ),
194
+            'graphs'                    => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ),
195 195
         );
196 196
 
197
-		if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
197
+        if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
198 198
 
199
-			$invoice              = new WPInv_Invoice( $post );
200
-			$i18n['save_invoice'] = sprintf(
201
-				__( 'Save %s', 'invoicing' ),
202
-				ucfirst( $invoice->get_invoice_quote_type() )
203
-			);
199
+            $invoice              = new WPInv_Invoice( $post );
200
+            $i18n['save_invoice'] = sprintf(
201
+                __( 'Save %s', 'invoicing' ),
202
+                ucfirst( $invoice->get_invoice_quote_type() )
203
+            );
204 204
 
205
-			$i18n['invoice_description'] = sprintf(
206
-				__( '%s Description', 'invoicing' ),
207
-				ucfirst( $invoice->get_invoice_quote_type() )
208
-			);
205
+            $i18n['invoice_description'] = sprintf(
206
+                __( '%s Description', 'invoicing' ),
207
+                ucfirst( $invoice->get_invoice_quote_type() )
208
+            );
209 209
 
210
-		}
211
-		return $i18n;
212
-	}
210
+        }
211
+        return $i18n;
212
+    }
213 213
 
214
-	/**
215
-	 * Change the admin footer text on GetPaid admin pages.
216
-	 *
217
-	 * @since  2.0.0
218
-	 * @param  string $footer_text
219
-	 * @return string
220
-	 */
221
-	public function admin_footer_text( $footer_text ) {
222
-		global $current_screen;
214
+    /**
215
+     * Change the admin footer text on GetPaid admin pages.
216
+     *
217
+     * @since  2.0.0
218
+     * @param  string $footer_text
219
+     * @return string
220
+     */
221
+    public function admin_footer_text( $footer_text ) {
222
+        global $current_screen;
223 223
 
224
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
224
+        $page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
225 225
 
226 226
         if ( ! empty( $current_screen->post_type ) ) {
227
-			$page = $current_screen->post_type;
227
+            $page = $current_screen->post_type;
228 228
         }
229 229
 
230 230
         // General styles.
231 231
         if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) {
232 232
 
233
-			// Change the footer text
234
-			if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
233
+            // Change the footer text
234
+            if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
235 235
 
236
-				$rating_url  = esc_url(
237
-					wp_nonce_url(
238
-						admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
239
-						'getpaid-nonce',
240
-						'getpaid-nonce'
236
+                $rating_url  = esc_url(
237
+                    wp_nonce_url(
238
+                        admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
239
+                        'getpaid-nonce',
240
+                        'getpaid-nonce'
241 241
                     )
242
-				);
242
+                );
243 243
 
244
-				$footer_text = sprintf(
245
-					/* translators: %s: five stars */
246
-					__( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
247
-					"<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
248
-				);
244
+                $footer_text = sprintf(
245
+                    /* translators: %s: five stars */
246
+                    __( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
247
+                    "<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
248
+                );
249 249
 
250
-			} else {
250
+            } else {
251 251
 
252
-				$footer_text = sprintf(
253
-					/* translators: %s: GetPaid */
254
-					__( 'Thank you for using %s!', 'invoicing' ),
255
-					"<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
256
-				);
252
+                $footer_text = sprintf(
253
+                    /* translators: %s: GetPaid */
254
+                    __( 'Thank you for using %s!', 'invoicing' ),
255
+                    "<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
256
+                );
257 257
 
258
-			}
258
+            }
259 259
 }
260 260
 
261
-		return $footer_text;
262
-	}
263
-
264
-	/**
265
-	 * Redirects to wp.org to rate the plugin.
266
-	 *
267
-	 * @since  2.0.0
268
-	 */
269
-	public function redirect_to_wordpress_rating_page() {
270
-		update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
271
-		wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
272
-		exit;
273
-	}
274
-
275
-    /**
276
-	 * Loads payment form js.
277
-	 *
278
-	 */
279
-	protected function load_payment_form_scripts() {
261
+        return $footer_text;
262
+    }
263
+
264
+    /**
265
+     * Redirects to wp.org to rate the plugin.
266
+     *
267
+     * @since  2.0.0
268
+     */
269
+    public function redirect_to_wordpress_rating_page() {
270
+        update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
271
+        wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
272
+        exit;
273
+    }
274
+
275
+    /**
276
+     * Loads payment form js.
277
+     *
278
+     */
279
+    protected function load_payment_form_scripts() {
280 280
         global $post;
281 281
 
282 282
         wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION );
283
-		wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
284
-		wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
283
+        wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
284
+        wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
285 285
 
286
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' );
287
-		wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), $version );
286
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' );
287
+        wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), $version );
288 288
 
289
-		wp_localize_script(
289
+        wp_localize_script(
290 290
             'wpinv-admin-payment-form-script',
291 291
             'wpinvPaymentFormAdmin',
292 292
             array(
293
-				'elements'      => wpinv_get_data( 'payment-form-elements' ),
294
-				'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
295
-				'currency'      => wpinv_currency_symbol(),
296
-				'position'      => wpinv_currency_position(),
297
-				'decimals'      => (int) wpinv_decimals(),
298
-				'thousands_sep' => wpinv_thousands_separator(),
299
-				'decimals_sep'  => wpinv_decimal_separator(),
300
-				'form_items'    => gepaid_get_form_items( $post->ID ),
301
-				'is_default'    => $post->ID == wpinv_get_default_payment_form(),
293
+                'elements'      => wpinv_get_data( 'payment-form-elements' ),
294
+                'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
295
+                'currency'      => wpinv_currency_symbol(),
296
+                'position'      => wpinv_currency_position(),
297
+                'decimals'      => (int) wpinv_decimals(),
298
+                'thousands_sep' => wpinv_thousands_separator(),
299
+                'decimals_sep'  => wpinv_decimal_separator(),
300
+                'form_items'    => gepaid_get_form_items( $post->ID ),
301
+                'is_default'    => $post->ID == wpinv_get_default_payment_form(),
302 302
             )
303 303
         );
304 304
 
@@ -307,19 +307,19 @@  discard block
 block discarded – undo
307 307
     }
308 308
 
309 309
     /**
310
-	 * Add our classes to admin pages.
310
+     * Add our classes to admin pages.
311 311
      *
312 312
      * @param string $classes
313 313
      * @return string
314
-	 *
315
-	 */
314
+     *
315
+     */
316 316
     public function admin_body_class( $classes ) {
317
-		global $pagenow, $post, $current_screen;
317
+        global $pagenow, $post, $current_screen;
318 318
 
319 319
         $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
320 320
 
321 321
         if ( ! empty( $current_screen->post_type ) ) {
322
-			$page = $current_screen->post_type;
322
+            $page = $current_screen->post_type;
323 323
         }
324 324
 
325 325
         if ( false !== stripos( $page, 'wpi' ) ) {
@@ -328,70 +328,70 @@  discard block
 block discarded – undo
328 328
 
329 329
         if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) {
330 330
             $classes .= ' wpinv-cpt wpinv';
331
-		}
331
+        }
332 332
 
333
-		if ( getpaid_is_invoice_post_type( $page ) ) {
333
+        if ( getpaid_is_invoice_post_type( $page ) ) {
334 334
             $classes .= ' getpaid-is-invoice-cpt';
335 335
         }
336 336
 
337
-		return $classes;
337
+        return $classes;
338 338
     }
339 339
 
340 340
     /**
341
-	 * Maybe show the AyeCode Connect Notice.
342
-	 */
343
-	public function init_ayecode_connect_helper() {
341
+     * Maybe show the AyeCode Connect Notice.
342
+     */
343
+    public function init_ayecode_connect_helper() {
344 344
 
345
-		// Register with the deactivation survey class.
346
-		AyeCode_Deactivation_Survey::instance(
345
+        // Register with the deactivation survey class.
346
+        AyeCode_Deactivation_Survey::instance(
347 347
             array(
348
-				'slug'              => 'invoicing',
349
-				'version'           => WPINV_VERSION,
350
-				'support_url'       => 'https://wpgetpaid.com/support/',
351
-				'documentation_url' => 'https://docs.wpgetpaid.com/',
352
-				'activated'         => (int) get_option( 'gepaid_installed_on' ),
348
+                'slug'              => 'invoicing',
349
+                'version'           => WPINV_VERSION,
350
+                'support_url'       => 'https://wpgetpaid.com/support/',
351
+                'documentation_url' => 'https://docs.wpgetpaid.com/',
352
+                'activated'         => (int) get_option( 'gepaid_installed_on' ),
353 353
             )
354 354
         );
355 355
 
356 356
         new AyeCode_Connect_Helper(
357 357
             array(
358
-				'connect_title'     => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ),
359
-				'connect_external'  => __( 'Please confirm you wish to connect your site?', 'invoicing' ),
360
-				'connect'           => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ),
361
-				'connect_button'    => __( 'Connect Site', 'invoicing' ),
362
-				'connecting_button' => __( 'Connecting...', 'invoicing' ),
363
-				'error_localhost'   => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ),
364
-				'error'             => __( 'Something went wrong, please refresh and try again.', 'invoicing' ),
358
+                'connect_title'     => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ),
359
+                'connect_external'  => __( 'Please confirm you wish to connect your site?', 'invoicing' ),
360
+                'connect'           => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ),
361
+                'connect_button'    => __( 'Connect Site', 'invoicing' ),
362
+                'connecting_button' => __( 'Connecting...', 'invoicing' ),
363
+                'error_localhost'   => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ),
364
+                'error'             => __( 'Something went wrong, please refresh and try again.', 'invoicing' ),
365 365
             ),
366 366
             array( 'wpi-addons' )
367 367
         );
368 368
 
369 369
     }
370 370
 
371
-	/**
372
-	 * Redirect users to settings on activation.
373
-	 *
374
-	 * @return void
375
-	 */
376
-	public function activation_redirect() {
371
+    /**
372
+     * Redirect users to settings on activation.
373
+     *
374
+     * @return void
375
+     */
376
+    public function activation_redirect() {
377 377
 
378
-		$redirected = get_option( 'wpinv_redirected_to_settings' );
378
+        $redirected = get_option( 'wpinv_redirected_to_settings' );
379 379
 
380
-		if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
381
-			return;
382
-		}
380
+        if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
381
+            return;
382
+        }
383 383
 
384
-		// Bail if activating from network, or bulk
385
-		if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
386
-			return;
387
-		}
384
+        // Bail if activating from network, or bulk
385
+        if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
386
+            return;
387
+        }
388 388
 
389
-	    update_option( 'wpinv_redirected_to_settings', 1 );
389
+        update_option( 'wpinv_redirected_to_settings', 1 );
390 390
 
391 391
         wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) );
392 392
         exit;
393 393
 
394
-	}
394
+    }
395 395
 
396 396
     /**
397 397
      * Fires an admin action after verifying that a user can fire them.
@@ -404,564 +404,564 @@  discard block
 block discarded – undo
404 404
         }
405 405
     }
406 406
 
407
-	/**
407
+    /**
408 408
      * Duplicate invoice.
409
-	 *
410
-	 * @param array $args
409
+     *
410
+     * @param array $args
411 411
      */
412 412
     public function duplicate_invoice( $args ) {
413 413
 
414
-		if ( empty( $args['invoice_id'] ) ) {
415
-			return;
416
-		}
414
+        if ( empty( $args['invoice_id'] ) ) {
415
+            return;
416
+        }
417 417
 
418
-		$invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
418
+        $invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
419 419
 
420
-		if ( ! $invoice->exists() ) {
421
-			return;
422
-		}
420
+        if ( ! $invoice->exists() ) {
421
+            return;
422
+        }
423 423
 
424
-		$new_invoice = getpaid_duplicate_invoice( $invoice );
425
-		$new_invoice->save();
424
+        $new_invoice = getpaid_duplicate_invoice( $invoice );
425
+        $new_invoice->save();
426 426
 
427
-		if ( $new_invoice->exists() ) {
427
+        if ( $new_invoice->exists() ) {
428 428
 
429
-			getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) );
429
+            getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) );
430 430
 
431
-			wp_safe_redirect(
432
-				add_query_arg(
433
-					array(
434
-						'action' => 'edit',
435
-						'post'   => $new_invoice->get_id(),
436
-					),
437
-					admin_url( 'post.php' )
438
-				)
439
-			);
440
-			exit;
431
+            wp_safe_redirect(
432
+                add_query_arg(
433
+                    array(
434
+                        'action' => 'edit',
435
+                        'post'   => $new_invoice->get_id(),
436
+                    ),
437
+                    admin_url( 'post.php' )
438
+                )
439
+            );
440
+            exit;
441 441
 
442
-		}
442
+        }
443 443
 
444
-		getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) );
444
+        getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) );
445 445
 
446
-	}
446
+    }
447 447
 
448
-	/**
448
+    /**
449 449
      * Sends a payment reminder to a customer.
450
-	 *
451
-	 * @param array $args
450
+     *
451
+     * @param array $args
452 452
      */
453 453
     public function duplicate_payment_form( $args ) {
454 454
 
455
-		if ( empty( $args['form_id'] ) ) {
456
-			return;
457
-		}
458
-
459
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
455
+        if ( empty( $args['form_id'] ) ) {
456
+            return;
457
+        }
460 458
 
461
-		if ( ! $form->exists() ) {
462
-			return;
463
-		}
459
+        $form = new GetPaid_Payment_Form( (int) $args['form_id'] );
464 460
 
465
-		$new_form = new GetPaid_Payment_Form();
466
-		$new_form->set_author( $form->get_author( 'edit' ) );
467
-		$new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) );
468
-		$new_form->set_elements( $form->get_elements( 'edit' ) );
469
-		$new_form->set_items( $form->get_items( 'edit' ) );
470
-		$new_form->save();
461
+        if ( ! $form->exists() ) {
462
+            return;
463
+        }
471 464
 
472
-		if ( $new_form->exists() ) {
473
-			$this->show_success( __( 'Form duplicated successfully', 'invoicing' ) );
474
-			$url = get_edit_post_link( $new_form->get_id(), 'edit' );
475
-		} else {
476
-			$this->show_error( __( 'Unable to duplicate form', 'invoicing' ) );
477
-			$url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) );
478
-		}
465
+        $new_form = new GetPaid_Payment_Form();
466
+        $new_form->set_author( $form->get_author( 'edit' ) );
467
+        $new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) );
468
+        $new_form->set_elements( $form->get_elements( 'edit' ) );
469
+        $new_form->set_items( $form->get_items( 'edit' ) );
470
+        $new_form->save();
471
+
472
+        if ( $new_form->exists() ) {
473
+            $this->show_success( __( 'Form duplicated successfully', 'invoicing' ) );
474
+            $url = get_edit_post_link( $new_form->get_id(), 'edit' );
475
+        } else {
476
+            $this->show_error( __( 'Unable to duplicate form', 'invoicing' ) );
477
+            $url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) );
478
+        }
479 479
 
480
-		wp_redirect( $url );
481
-		exit;
482
-	}
480
+        wp_redirect( $url );
481
+        exit;
482
+    }
483 483
 
484
-	/**
484
+    /**
485 485
      * Resets form stats.
486
-	 *
487
-	 * @param array $args
486
+     *
487
+     * @param array $args
488 488
      */
489 489
     public function reset_form_stats( $args ) {
490 490
 
491
-		if ( empty( $args['form_id'] ) ) {
492
-			return;
493
-		}
491
+        if ( empty( $args['form_id'] ) ) {
492
+            return;
493
+        }
494 494
 
495
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
495
+        $form = new GetPaid_Payment_Form( (int) $args['form_id'] );
496 496
 
497
-		if ( ! $form->exists() ) {
498
-			return;
499
-		}
497
+        if ( ! $form->exists() ) {
498
+            return;
499
+        }
500 500
 
501
-		$form->set_earned( 0 );
502
-		$form->set_refunded( 0 );
503
-		$form->set_cancelled( 0 );
504
-		$form->set_failed( 0 );
505
-		$form->save();
501
+        $form->set_earned( 0 );
502
+        $form->set_refunded( 0 );
503
+        $form->set_cancelled( 0 );
504
+        $form->set_failed( 0 );
505
+        $form->save();
506 506
 
507
-		$this->show_success( __( 'Form stats reset successfully', 'invoicing' ) );
507
+        $this->show_success( __( 'Form stats reset successfully', 'invoicing' ) );
508 508
 
509
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ) );
510
-		exit;
511
-	}
509
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ) );
510
+        exit;
511
+    }
512 512
 
513
-	/**
513
+    /**
514 514
      * Sends a payment reminder to a customer.
515
-	 *
516
-	 * @param array $args
515
+     *
516
+     * @param array $args
517 517
      */
518 518
     public function send_customer_invoice( $args ) {
519
-		getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
520
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
521
-		exit;
522
-	}
519
+        getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
520
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
521
+        exit;
522
+    }
523 523
 
524
-	/**
524
+    /**
525 525
      * Sends a payment reminder to a customer.
526
-	 *
527
-	 * @param array $args
526
+     *
527
+     * @param array $args
528 528
      */
529 529
     public function send_customer_payment_reminder( $args ) {
530
-		$sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
530
+        $sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
531 531
 
532
-		if ( $sent ) {
533
-			$this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
534
-		} else {
535
-			$this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
536
-		}
532
+        if ( $sent ) {
533
+            $this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
534
+        } else {
535
+            $this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
536
+        }
537 537
 
538
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
539
-		exit;
540
-	}
538
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
539
+        exit;
540
+    }
541 541
 
542
-	/**
542
+    /**
543 543
      * Resets tax rates.
544
-	 *
544
+     *
545 545
      */
546 546
     public function admin_reset_tax_rates() {
547 547
 
548
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
549
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
550
-		exit;
548
+        update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
549
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
550
+        exit;
551 551
 
552
-	}
552
+    }
553 553
 
554
-	/**
554
+    /**
555 555
      * Resets admin pages.
556
-	 *
556
+     *
557 557
      */
558 558
     public function admin_create_missing_pages() {
559
-		$installer = new GetPaid_Installer();
560
-		$installer->create_pages();
561
-		$this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
562
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
563
-		exit;
564
-	}
565
-
566
-	/**
567
-	 * Refreshes the permalinks.
568
-	 */
569
-	public function admin_refresh_permalinks() {
570
-		flush_rewrite_rules();
571
-		$this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) );
572
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
573
-		exit;
574
-	}
575
-
576
-	/**
559
+        $installer = new GetPaid_Installer();
560
+        $installer->create_pages();
561
+        $this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
562
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
563
+        exit;
564
+    }
565
+
566
+    /**
567
+     * Refreshes the permalinks.
568
+     */
569
+    public function admin_refresh_permalinks() {
570
+        flush_rewrite_rules();
571
+        $this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) );
572
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
573
+        exit;
574
+    }
575
+
576
+    /**
577 577
      * Creates an missing admin tables.
578
-	 *
578
+     *
579 579
      */
580 580
     public function admin_create_missing_tables() {
581
-		global $wpdb;
582
-		$installer = new GetPaid_Installer();
581
+        global $wpdb;
582
+        $installer = new GetPaid_Installer();
583 583
 
584
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) {
585
-			$installer->create_subscriptions_table();
584
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) {
585
+            $installer->create_subscriptions_table();
586 586
 
587
-			if ( $wpdb->last_error !== '' ) {
588
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
589
-			}
590
-		}
587
+            if ( $wpdb->last_error !== '' ) {
588
+                $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
589
+            }
590
+        }
591 591
 
592
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) {
593
-			$installer->create_invoices_table();
592
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) {
593
+            $installer->create_invoices_table();
594 594
 
595
-			if ( '' !== $wpdb->last_error ) {
596
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
597
-			}
598
-		}
595
+            if ( '' !== $wpdb->last_error ) {
596
+                $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
597
+            }
598
+        }
599 599
 
600
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) {
601
-			$installer->create_invoice_items_table();
600
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) {
601
+            $installer->create_invoice_items_table();
602 602
 
603
-			if ( '' !== $wpdb->last_error ) {
604
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
605
-			}
606
-		}
603
+            if ( '' !== $wpdb->last_error ) {
604
+                $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
605
+            }
606
+        }
607 607
 
608
-		if ( ! $this->has_notices() ) {
609
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
610
-		}
608
+        if ( ! $this->has_notices() ) {
609
+            $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
610
+        }
611 611
 
612
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
613
-		exit;
614
-	}
612
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
613
+        exit;
614
+    }
615 615
 
616
-	/**
616
+    /**
617 617
      * Migrates old invoices to the new database tables.
618
-	 *
618
+     *
619 619
      */
620 620
     public function admin_migrate_old_invoices() {
621 621
 
622
-		// Migrate the invoices.
623
-		$installer = new GetPaid_Installer();
624
-		$installer->migrate_old_invoices();
622
+        // Migrate the invoices.
623
+        $installer = new GetPaid_Installer();
624
+        $installer->migrate_old_invoices();
625 625
 
626
-		// Show an admin message.
627
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
626
+        // Show an admin message.
627
+        $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
628 628
 
629
-		// Redirect the admin.
630
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
631
-		exit;
629
+        // Redirect the admin.
630
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
631
+        exit;
632 632
 
633
-	}
633
+    }
634 634
 
635
-	/**
635
+    /**
636 636
      * Download customers.
637
-	 *
637
+     *
638 638
      */
639 639
     public function admin_download_customers() {
640
-		global $wpdb;
641
-
642
-		$output = fopen( 'php://output', 'w' );
643
-
644
-		if ( false === $output ) {
645
-			wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
646
-		}
640
+        global $wpdb;
647 641
 
648
-		header( 'Content-Type:text/csv' );
649
-		header( 'Content-Disposition:attachment;filename=customers.csv' );
642
+        $output = fopen( 'php://output', 'w' );
650 643
 
651
-		$post_types = '';
644
+        if ( false === $output ) {
645
+            wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
646
+        }
652 647
 
653
-		foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
654
-			$post_types .= $wpdb->prepare( 'post_type=%s OR ', $post_type );
655
-		}
648
+        header( 'Content-Type:text/csv' );
649
+        header( 'Content-Disposition:attachment;filename=customers.csv' );
656 650
 
657
-		$post_types = rtrim( $post_types, ' OR' );
651
+        $post_types = '';
658 652
 
659
-		$customers = $wpdb->get_col( "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types" );
653
+        foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
654
+            $post_types .= $wpdb->prepare( 'post_type=%s OR ', $post_type );
655
+        }
660 656
 
661
-		$columns = array(
662
-			'name'       => __( 'Name', 'invoicing' ),
663
-			'email'      => __( 'Email', 'invoicing' ),
664
-			'country'    => __( 'Country', 'invoicing' ),
665
-			'state'      => __( 'State', 'invoicing' ),
666
-			'city'       => __( 'City', 'invoicing' ),
667
-			'zip'        => __( 'ZIP', 'invoicing' ),
668
-			'address'    => __( 'Address', 'invoicing' ),
669
-			'phone'      => __( 'Phone', 'invoicing' ),
670
-			'company'    => __( 'Company', 'invoicing' ),
671
-			'company_id' => __( 'Company ID', 'invoicing' ),
672
-			'invoices'   => __( 'Invoices', 'invoicing' ),
673
-			'total_raw'  => __( 'Total Spend', 'invoicing' ),
674
-			'signup'     => __( 'Date created', 'invoicing' ),
675
-		);
657
+        $post_types = rtrim( $post_types, ' OR' );
658
+
659
+        $customers = $wpdb->get_col( "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types" );
660
+
661
+        $columns = array(
662
+            'name'       => __( 'Name', 'invoicing' ),
663
+            'email'      => __( 'Email', 'invoicing' ),
664
+            'country'    => __( 'Country', 'invoicing' ),
665
+            'state'      => __( 'State', 'invoicing' ),
666
+            'city'       => __( 'City', 'invoicing' ),
667
+            'zip'        => __( 'ZIP', 'invoicing' ),
668
+            'address'    => __( 'Address', 'invoicing' ),
669
+            'phone'      => __( 'Phone', 'invoicing' ),
670
+            'company'    => __( 'Company', 'invoicing' ),
671
+            'company_id' => __( 'Company ID', 'invoicing' ),
672
+            'invoices'   => __( 'Invoices', 'invoicing' ),
673
+            'total_raw'  => __( 'Total Spend', 'invoicing' ),
674
+            'signup'     => __( 'Date created', 'invoicing' ),
675
+        );
676 676
 
677
-		// Output the csv column headers.
678
-		fputcsv( $output, array_values( $columns ) );
677
+        // Output the csv column headers.
678
+        fputcsv( $output, array_values( $columns ) );
679 679
 
680
-		// Loop through
681
-		$table = new WPInv_Customers_Table();
682
-		foreach ( $customers as $customer_id ) {
680
+        // Loop through
681
+        $table = new WPInv_Customers_Table();
682
+        foreach ( $customers as $customer_id ) {
683 683
 
684
-			$user = get_user_by( 'id', $customer_id );
685
-			$row  = array();
686
-			if ( empty( $user ) ) {
687
-				continue;
688
-			}
684
+            $user = get_user_by( 'id', $customer_id );
685
+            $row  = array();
686
+            if ( empty( $user ) ) {
687
+                continue;
688
+            }
689 689
 
690
-			foreach ( array_keys( $columns ) as $column ) {
690
+            foreach ( array_keys( $columns ) as $column ) {
691 691
 
692
-				$method = 'column_' . $column;
692
+                $method = 'column_' . $column;
693 693
 
694
-				if ( 'name' == $column ) {
695
-					$value = esc_html( $user->display_name );
696
-				} elseif ( 'email' == $column ) {
697
-					$value = sanitize_email( $user->user_email );
698
-				} elseif ( is_callable( array( $table, $method ) ) ) {
699
-					$value = wp_strip_all_tags( $table->$method( $user ) );
700
-				}
694
+                if ( 'name' == $column ) {
695
+                    $value = esc_html( $user->display_name );
696
+                } elseif ( 'email' == $column ) {
697
+                    $value = sanitize_email( $user->user_email );
698
+                } elseif ( is_callable( array( $table, $method ) ) ) {
699
+                    $value = wp_strip_all_tags( $table->$method( $user ) );
700
+                }
701 701
 
702
-				if ( empty( $value ) ) {
703
-					$value = esc_html( get_user_meta( $user->ID, '_wpinv_' . $column, true ) );
704
-				}
702
+                if ( empty( $value ) ) {
703
+                    $value = esc_html( get_user_meta( $user->ID, '_wpinv_' . $column, true ) );
704
+                }
705 705
 
706
-				$row[] = $value;
706
+                $row[] = $value;
707 707
 
708
-			}
708
+            }
709 709
 
710
-			fputcsv( $output, $row );
711
-		}
710
+            fputcsv( $output, $row );
711
+        }
712 712
 
713
-		fclose( $output );
714
-		exit;
713
+        fclose( $output );
714
+        exit;
715 715
 
716
-	}
716
+    }
717 717
 
718
-	/**
718
+    /**
719 719
      * Installs a plugin.
720
-	 *
721
-	 * @param array $data
720
+     *
721
+     * @param array $data
722 722
      */
723 723
     public function admin_install_plugin( $data ) {
724 724
 
725
-		if ( ! empty( $data['plugins'] ) ) {
726
-			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
727
-			wp_cache_flush();
725
+        if ( ! empty( $data['plugins'] ) ) {
726
+            include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
727
+            wp_cache_flush();
728 728
 
729
-			foreach ( $data['plugins'] as $slug => $file ) {
730
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
731
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
732
-				$installed  = $upgrader->install( $plugin_zip );
729
+            foreach ( $data['plugins'] as $slug => $file ) {
730
+                $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
731
+                $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
732
+                $installed  = $upgrader->install( $plugin_zip );
733 733
 
734
-				if ( ! is_wp_error( $installed ) && $installed ) {
735
-					activate_plugin( $file, '', false, true );
736
-				} else {
737
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
738
-				}
734
+                if ( ! is_wp_error( $installed ) && $installed ) {
735
+                    activate_plugin( $file, '', false, true );
736
+                } else {
737
+                    wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
738
+                }
739 739
 }
740 740
 }
741 741
 
742
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
743
-		wp_safe_redirect( $redirect );
744
-		exit;
742
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
743
+        wp_safe_redirect( $redirect );
744
+        exit;
745 745
 
746
-	}
746
+    }
747 747
 
748
-	/**
748
+    /**
749 749
      * Connects a gateway.
750
-	 *
751
-	 * @param array $data
750
+     *
751
+     * @param array $data
752 752
      */
753 753
     public function admin_connect_gateway( $data ) {
754 754
 
755
-		if ( ! empty( $data['plugin'] ) ) {
755
+        if ( ! empty( $data['plugin'] ) ) {
756 756
 
757
-			$gateway     = sanitize_key( $data['plugin'] );
758
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
757
+            $gateway     = sanitize_key( $data['plugin'] );
758
+            $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
759 759
 
760
-			if ( ! empty( $connect_url ) ) {
761
-				wp_redirect( $connect_url );
762
-				exit;
763
-			}
760
+            if ( ! empty( $connect_url ) ) {
761
+                wp_redirect( $connect_url );
762
+                exit;
763
+            }
764 764
 
765
-			if ( 'stripe' == $data['plugin'] ) {
766
-				require_once ABSPATH . 'wp-admin/includes/plugin.php';
767
-				include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
768
-				wp_cache_flush();
765
+            if ( 'stripe' == $data['plugin'] ) {
766
+                require_once ABSPATH . 'wp-admin/includes/plugin.php';
767
+                include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
768
+                wp_cache_flush();
769 769
 
770
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
771
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
772
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
773
-					$upgrader->install( $plugin_zip );
774
-				}
770
+                if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
771
+                    $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
772
+                    $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
773
+                    $upgrader->install( $plugin_zip );
774
+                }
775 775
 
776
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
777
-			}
776
+                activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
777
+            }
778 778
 
779
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
780
-			if ( ! empty( $connect_url ) ) {
781
-				wp_redirect( $connect_url );
782
-				exit;
783
-			}
779
+            $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
780
+            if ( ! empty( $connect_url ) ) {
781
+                wp_redirect( $connect_url );
782
+                exit;
783
+            }
784 784
 }
785 785
 
786
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
787
-		wp_safe_redirect( $redirect );
788
-		exit;
786
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
787
+        wp_safe_redirect( $redirect );
788
+        exit;
789 789
 
790
-	}
790
+    }
791 791
 
792
-	/**
792
+    /**
793 793
      * Recalculates discounts.
794
-	 *
794
+     *
795 795
      */
796 796
     public function admin_recalculate_discounts() {
797
-		global $wpdb;
797
+        global $wpdb;
798 798
 
799
-		// Fetch all invoices that have discount codes.
800
-		$table    = $wpdb->prefix . 'getpaid_invoices';
801
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
799
+        // Fetch all invoices that have discount codes.
800
+        $table    = $wpdb->prefix . 'getpaid_invoices';
801
+        $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
802 802
 
803
-		foreach ( $invoices as $invoice ) {
803
+        foreach ( $invoices as $invoice ) {
804 804
 
805
-			$invoice = new WPInv_Invoice( $invoice );
805
+            $invoice = new WPInv_Invoice( $invoice );
806 806
 
807
-			if ( ! $invoice->exists() ) {
808
-				continue;
809
-			}
807
+            if ( ! $invoice->exists() ) {
808
+                continue;
809
+            }
810 810
 
811
-			// Abort if the discount does not exist or does not apply here.
812
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
813
-			if ( ! $discount->exists() ) {
814
-				continue;
815
-			}
811
+            // Abort if the discount does not exist or does not apply here.
812
+            $discount = new WPInv_Discount( $invoice->get_discount_code() );
813
+            if ( ! $discount->exists() ) {
814
+                continue;
815
+            }
816 816
 
817
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
818
-			$invoice->recalculate_total();
817
+            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
818
+            $invoice->recalculate_total();
819 819
 
820
-			if ( $invoice->get_total_discount() > 0 ) {
821
-				$invoice->save();
822
-			}
820
+            if ( $invoice->get_total_discount() > 0 ) {
821
+                $invoice->save();
822
+            }
823 823
 }
824 824
 
825
-		// Show an admin message.
826
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
825
+        // Show an admin message.
826
+        $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
827 827
 
828
-		// Redirect the admin.
829
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
830
-		exit;
828
+        // Redirect the admin.
829
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
830
+        exit;
831 831
 
832
-	}
832
+    }
833 833
 
834 834
     /**
835
-	 * Returns an array of admin notices.
836
-	 *
837
-	 * @since       1.0.19
835
+     * Returns an array of admin notices.
836
+     *
837
+     * @since       1.0.19
838 838
      * @return array
839
-	 */
840
-	public function get_notices() {
841
-		$notices = get_option( 'wpinv_admin_notices' );
839
+     */
840
+    public function get_notices() {
841
+        $notices = get_option( 'wpinv_admin_notices' );
842 842
         return is_array( $notices ) ? $notices : array();
843
-	}
843
+    }
844 844
 
845
-	/**
846
-	 * Checks if we have any admin notices.
847
-	 *
848
-	 * @since       2.0.4
845
+    /**
846
+     * Checks if we have any admin notices.
847
+     *
848
+     * @since       2.0.4
849 849
      * @return array
850
-	 */
851
-	public function has_notices() {
852
-		return count( $this->get_notices() ) > 0;
853
-	}
854
-
855
-	/**
856
-	 * Clears all admin notices
857
-	 *
858
-	 * @access      public
859
-	 * @since       1.0.19
860
-	 */
861
-	public function clear_notices() {
862
-		delete_option( 'wpinv_admin_notices' );
863
-	}
864
-
865
-	/**
866
-	 * Saves a new admin notice
867
-	 *
868
-	 * @access      public
869
-	 * @since       1.0.19
870
-	 */
871
-	public function save_notice( $type, $message ) {
872
-		$notices = $this->get_notices();
873
-
874
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
875
-			$notices[ $type ] = array();
876
-		}
877
-
878
-		$notices[ $type ][] = $message;
879
-
880
-		update_option( 'wpinv_admin_notices', $notices );
881
-	}
882
-
883
-	/**
884
-	 * Displays a success notice
885
-	 *
886
-	 * @param       string $msg The message to qeue.
887
-	 * @access      public
888
-	 * @since       1.0.19
889
-	 */
890
-	public function show_success( $msg ) {
891
-		$this->save_notice( 'success', $msg );
892
-	}
893
-
894
-	/**
895
-	 * Displays a error notice
896
-	 *
897
-	 * @access      public
898
-	 * @param       string $msg The message to qeue.
899
-	 * @since       1.0.19
900
-	 */
901
-	public function show_error( $msg ) {
902
-		$this->save_notice( 'error', $msg );
903
-	}
904
-
905
-	/**
906
-	 * Displays a warning notice
907
-	 *
908
-	 * @access      public
909
-	 * @param       string $msg The message to qeue.
910
-	 * @since       1.0.19
911
-	 */
912
-	public function show_warning( $msg ) {
913
-		$this->save_notice( 'warning', $msg );
914
-	}
915
-
916
-	/**
917
-	 * Displays a info notice
918
-	 *
919
-	 * @access      public
920
-	 * @param       string $msg The message to qeue.
921
-	 * @since       1.0.19
922
-	 */
923
-	public function show_info( $msg ) {
924
-		$this->save_notice( 'info', $msg );
925
-	}
926
-
927
-	/**
928
-	 * Show notices
929
-	 *
930
-	 * @access      public
931
-	 * @since       1.0.19
932
-	 */
933
-	public function show_notices() {
850
+     */
851
+    public function has_notices() {
852
+        return count( $this->get_notices() ) > 0;
853
+    }
854
+
855
+    /**
856
+     * Clears all admin notices
857
+     *
858
+     * @access      public
859
+     * @since       1.0.19
860
+     */
861
+    public function clear_notices() {
862
+        delete_option( 'wpinv_admin_notices' );
863
+    }
864
+
865
+    /**
866
+     * Saves a new admin notice
867
+     *
868
+     * @access      public
869
+     * @since       1.0.19
870
+     */
871
+    public function save_notice( $type, $message ) {
872
+        $notices = $this->get_notices();
873
+
874
+        if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
875
+            $notices[ $type ] = array();
876
+        }
877
+
878
+        $notices[ $type ][] = $message;
879
+
880
+        update_option( 'wpinv_admin_notices', $notices );
881
+    }
882
+
883
+    /**
884
+     * Displays a success notice
885
+     *
886
+     * @param       string $msg The message to qeue.
887
+     * @access      public
888
+     * @since       1.0.19
889
+     */
890
+    public function show_success( $msg ) {
891
+        $this->save_notice( 'success', $msg );
892
+    }
893
+
894
+    /**
895
+     * Displays a error notice
896
+     *
897
+     * @access      public
898
+     * @param       string $msg The message to qeue.
899
+     * @since       1.0.19
900
+     */
901
+    public function show_error( $msg ) {
902
+        $this->save_notice( 'error', $msg );
903
+    }
904
+
905
+    /**
906
+     * Displays a warning notice
907
+     *
908
+     * @access      public
909
+     * @param       string $msg The message to qeue.
910
+     * @since       1.0.19
911
+     */
912
+    public function show_warning( $msg ) {
913
+        $this->save_notice( 'warning', $msg );
914
+    }
915
+
916
+    /**
917
+     * Displays a info notice
918
+     *
919
+     * @access      public
920
+     * @param       string $msg The message to qeue.
921
+     * @since       1.0.19
922
+     */
923
+    public function show_info( $msg ) {
924
+        $this->save_notice( 'info', $msg );
925
+    }
926
+
927
+    /**
928
+     * Show notices
929
+     *
930
+     * @access      public
931
+     * @since       1.0.19
932
+     */
933
+    public function show_notices() {
934 934
 
935 935
         $notices = $this->get_notices();
936 936
         $this->clear_notices();
937 937
 
938
-		foreach ( $notices as $type => $messages ) {
938
+        foreach ( $notices as $type => $messages ) {
939 939
 
940
-			if ( ! is_array( $messages ) ) {
941
-				continue;
942
-			}
940
+            if ( ! is_array( $messages ) ) {
941
+                continue;
942
+            }
943 943
 
944 944
             $type  = esc_attr( $type );
945
-			foreach ( $messages as $message ) {
946
-				echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
945
+            foreach ( $messages as $message ) {
946
+                echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
947 947
             }
948 948
 }
949 949
 
950
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
951
-
952
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
953
-				$url     = wp_nonce_url(
954
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
955
-					'getpaid-nonce',
956
-					'getpaid-nonce'
957
-				);
958
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
959
-				$message2 = __( 'Generate Pages', 'invoicing' );
960
-				echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" );
961
-				break;
962
-			}
950
+        foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
951
+
952
+            if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
953
+                $url     = wp_nonce_url(
954
+                    add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
955
+                    'getpaid-nonce',
956
+                    'getpaid-nonce'
957
+                );
958
+                $message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
959
+                $message2 = __( 'Generate Pages', 'invoicing' );
960
+                echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" );
961
+                break;
962
+            }
963 963
 }
964 964
 
965
-	}
965
+    }
966 966
 
967 967
 }
Please login to merge, or discard this patch.
Spacing   +294 added lines, -294 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
  * The main admin class.
@@ -39,11 +39,11 @@  discard block
 block discarded – undo
39 39
 	 */
40 40
 	public function __construct() {
41 41
 
42
-        $this->admin_path  = plugin_dir_path( __FILE__ );
43
-		$this->admin_url   = plugins_url( '/', __FILE__ );
42
+        $this->admin_path = plugin_dir_path(__FILE__);
43
+		$this->admin_url   = plugins_url('/', __FILE__);
44 44
 		$this->reports     = new GetPaid_Reports();
45 45
 
46
-        if ( is_admin() ) {
46
+        if (is_admin()) {
47 47
 			$this->init_admin_hooks();
48 48
         }
49 49
 
@@ -54,35 +54,35 @@  discard block
 block discarded – undo
54 54
 	 *
55 55
 	 */
56 56
 	private function init_admin_hooks() {
57
-        add_action( 'admin_enqueue_scripts', array( $this, 'enqeue_scripts' ), 9 );
58
-        add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) );
59
-        add_action( 'admin_init', array( $this, 'init_ayecode_connect_helper' ) );
60
-        add_action( 'admin_init', array( $this, 'activation_redirect' ) );
61
-        add_action( 'admin_init', array( $this, 'maybe_do_admin_action' ) );
62
-		add_action( 'admin_notices', array( $this, 'show_notices' ) );
63
-		add_action( 'getpaid_authenticated_admin_action_rate_plugin', array( $this, 'redirect_to_wordpress_rating_page' ) );
64
-		add_action( 'getpaid_authenticated_admin_action_duplicate_form', array( $this, 'duplicate_payment_form' ) );
65
-		add_action( 'getpaid_authenticated_admin_action_reset_form_stats', array( $this, 'reset_form_stats' ) );
66
-		add_action( 'getpaid_authenticated_admin_action_duplicate_invoice', array( $this, 'duplicate_invoice' ) );
67
-		add_action( 'getpaid_authenticated_admin_action_send_invoice', array( $this, 'send_customer_invoice' ) );
68
-		add_action( 'getpaid_authenticated_admin_action_send_invoice_reminder', array( $this, 'send_customer_payment_reminder' ) );
69
-        add_action( 'getpaid_authenticated_admin_action_reset_tax_rates', array( $this, 'admin_reset_tax_rates' ) );
70
-		add_action( 'getpaid_authenticated_admin_action_create_missing_pages', array( $this, 'admin_create_missing_pages' ) );
71
-		add_action( 'getpaid_authenticated_admin_action_refresh_permalinks', array( $this, 'admin_refresh_permalinks' ) );
72
-		add_action( 'getpaid_authenticated_admin_action_create_missing_tables', array( $this, 'admin_create_missing_tables' ) );
73
-		add_action( 'getpaid_authenticated_admin_action_migrate_old_invoices', array( $this, 'admin_migrate_old_invoices' ) );
74
-		add_action( 'getpaid_authenticated_admin_action_download_customers', array( $this, 'admin_download_customers' ) );
75
-		add_action( 'getpaid_authenticated_admin_action_recalculate_discounts', array( $this, 'admin_recalculate_discounts' ) );
76
-		add_action( 'getpaid_authenticated_admin_action_install_plugin', array( $this, 'admin_install_plugin' ) );
77
-		add_action( 'getpaid_authenticated_admin_action_connect_gateway', array( $this, 'admin_connect_gateway' ) );
78
-		add_filter( 'admin_footer_text', array( $this, 'admin_footer_text' ) );
79
-		do_action( 'getpaid_init_admin_hooks', $this );
57
+        add_action('admin_enqueue_scripts', array($this, 'enqeue_scripts'), 9);
58
+        add_filter('admin_body_class', array($this, 'admin_body_class'));
59
+        add_action('admin_init', array($this, 'init_ayecode_connect_helper'));
60
+        add_action('admin_init', array($this, 'activation_redirect'));
61
+        add_action('admin_init', array($this, 'maybe_do_admin_action'));
62
+		add_action('admin_notices', array($this, 'show_notices'));
63
+		add_action('getpaid_authenticated_admin_action_rate_plugin', array($this, 'redirect_to_wordpress_rating_page'));
64
+		add_action('getpaid_authenticated_admin_action_duplicate_form', array($this, 'duplicate_payment_form'));
65
+		add_action('getpaid_authenticated_admin_action_reset_form_stats', array($this, 'reset_form_stats'));
66
+		add_action('getpaid_authenticated_admin_action_duplicate_invoice', array($this, 'duplicate_invoice'));
67
+		add_action('getpaid_authenticated_admin_action_send_invoice', array($this, 'send_customer_invoice'));
68
+		add_action('getpaid_authenticated_admin_action_send_invoice_reminder', array($this, 'send_customer_payment_reminder'));
69
+        add_action('getpaid_authenticated_admin_action_reset_tax_rates', array($this, 'admin_reset_tax_rates'));
70
+		add_action('getpaid_authenticated_admin_action_create_missing_pages', array($this, 'admin_create_missing_pages'));
71
+		add_action('getpaid_authenticated_admin_action_refresh_permalinks', array($this, 'admin_refresh_permalinks'));
72
+		add_action('getpaid_authenticated_admin_action_create_missing_tables', array($this, 'admin_create_missing_tables'));
73
+		add_action('getpaid_authenticated_admin_action_migrate_old_invoices', array($this, 'admin_migrate_old_invoices'));
74
+		add_action('getpaid_authenticated_admin_action_download_customers', array($this, 'admin_download_customers'));
75
+		add_action('getpaid_authenticated_admin_action_recalculate_discounts', array($this, 'admin_recalculate_discounts'));
76
+		add_action('getpaid_authenticated_admin_action_install_plugin', array($this, 'admin_install_plugin'));
77
+		add_action('getpaid_authenticated_admin_action_connect_gateway', array($this, 'admin_connect_gateway'));
78
+		add_filter('admin_footer_text', array($this, 'admin_footer_text'));
79
+		do_action('getpaid_init_admin_hooks', $this);
80 80
 
81 81
 		// Setup/welcome
82
-		if ( ! empty( $_GET['page'] ) ) {
83
-			switch ( sanitize_text_field( $_GET['page'] ) ) {
82
+		if (!empty($_GET['page'])) {
83
+			switch (sanitize_text_field($_GET['page'])) {
84 84
 				case 'gp-setup':
85
-					include_once dirname( __FILE__ ) . '/class-getpaid-admin-setup-wizard.php';
85
+					include_once dirname(__FILE__) . '/class-getpaid-admin-setup-wizard.php';
86 86
 					break;
87 87
 			}
88 88
 		}
@@ -96,37 +96,37 @@  discard block
 block discarded – undo
96 96
 	public function enqeue_scripts() {
97 97
         global $current_screen, $pagenow;
98 98
 
99
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
99
+		$page    = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
100 100
 		$editing = $pagenow == 'post.php' || $pagenow == 'post-new.php';
101 101
 
102
-        if ( ! empty( $current_screen->post_type ) ) {
102
+        if (!empty($current_screen->post_type)) {
103 103
 			$page = $current_screen->post_type;
104 104
         }
105 105
 
106 106
         // General styles.
107
-        if ( false !== stripos( $page, 'wpi' ) || false !== stripos( $page, 'getpaid' ) || 'gp-setup' == $page || false !== stripos( $page, 'geodir-tickets' ) ) {
107
+        if (false !== stripos($page, 'wpi') || false !== stripos($page, 'getpaid') || 'gp-setup' == $page || false !== stripos($page, 'geodir-tickets')) {
108 108
 
109 109
             // Styles.
110
-            $version = filemtime( WPINV_PLUGIN_DIR . 'assets/css/admin.css' );
111
-            wp_enqueue_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array( 'wp-color-picker' ), $version );
112
-            wp_enqueue_style( 'select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all' );
110
+            $version = filemtime(WPINV_PLUGIN_DIR . 'assets/css/admin.css');
111
+            wp_enqueue_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array('wp-color-picker'), $version);
112
+            wp_enqueue_style('select2', WPINV_PLUGIN_URL . 'assets/css/select2/select2.min.css', array(), '4.0.13', 'all');
113 113
 
114 114
             // Scripts.
115
-            wp_enqueue_script( 'select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array( 'jquery' ), WPINV_VERSION );
115
+            wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full.min.js', array('jquery'), WPINV_VERSION);
116 116
 
117
-            $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin.js' );
118
-            wp_enqueue_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery', 'wp-color-picker', 'jquery-ui-tooltip' ), $version );
119
-            wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', apply_filters( 'wpinv_admin_js_localize', $this->get_admin_i18() ) );
117
+            $version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin.js');
118
+            wp_enqueue_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array('jquery', 'wp-color-picker', 'jquery-ui-tooltip'), $version);
119
+            wp_localize_script('wpinv-admin-script', 'WPInv_Admin', apply_filters('wpinv_admin_js_localize', $this->get_admin_i18()));
120 120
 
121 121
         }
122 122
 
123 123
         // Payment form scripts.
124
-		if ( 'wpi_payment_form' == $page && $editing ) {
124
+		if ('wpi_payment_form' == $page && $editing) {
125 125
             $this->load_payment_form_scripts();
126 126
         }
127 127
 
128
-		if ( $page == 'wpinv-subscriptions' ) {
129
-			wp_enqueue_script( 'postbox' );
128
+		if ($page == 'wpinv-subscriptions') {
129
+			wp_enqueue_script('postbox');
130 130
 		}
131 131
 
132 132
     }
@@ -139,31 +139,31 @@  discard block
 block discarded – undo
139 139
         global $post;
140 140
 
141 141
 		$date_range = array(
142
-			'period' => isset( $_GET['date_range'] ) ? sanitize_text_field( $_GET['date_range'] ) : '7_days',
142
+			'period' => isset($_GET['date_range']) ? sanitize_text_field($_GET['date_range']) : '7_days',
143 143
 		);
144 144
 
145
-		if ( $date_range['period'] == 'custom' ) {
145
+		if ($date_range['period'] == 'custom') {
146 146
 
147
-			if ( isset( $_GET['from'] ) ) {
148
-				$date_range['after'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['from'] ), current_time( 'timestamp' ) ) - DAY_IN_SECONDS );
147
+			if (isset($_GET['from'])) {
148
+				$date_range['after'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['from']), current_time('timestamp')) - DAY_IN_SECONDS);
149 149
 			}
150 150
 
151
-			if ( isset( $_GET['to'] ) ) {
152
-				$date_range['before'] = date( 'Y-m-d', strtotime( sanitize_text_field( $_GET['to'] ), current_time( 'timestamp' ) ) + DAY_IN_SECONDS );
151
+			if (isset($_GET['to'])) {
152
+				$date_range['before'] = date('Y-m-d', strtotime(sanitize_text_field($_GET['to']), current_time('timestamp')) + DAY_IN_SECONDS);
153 153
 			}
154 154
 }
155 155
 
156 156
         $i18n = array(
157
-            'ajax_url'                  => admin_url( 'admin-ajax.php' ),
158
-            'post_ID'                   => isset( $post->ID ) ? $post->ID : '',
159
-			'wpinv_nonce'               => wp_create_nonce( 'wpinv-nonce' ),
160
-			'rest_nonce'                => wp_create_nonce( 'wp_rest' ),
161
-			'rest_root'                 => esc_url_raw( rest_url() ),
157
+            'ajax_url'                  => admin_url('admin-ajax.php'),
158
+            'post_ID'                   => isset($post->ID) ? $post->ID : '',
159
+			'wpinv_nonce'               => wp_create_nonce('wpinv-nonce'),
160
+			'rest_nonce'                => wp_create_nonce('wp_rest'),
161
+			'rest_root'                 => esc_url_raw(rest_url()),
162 162
 			'date_range'                => $date_range,
163
-            'add_invoice_note_nonce'    => wp_create_nonce( 'add-invoice-note' ),
164
-            'delete_invoice_note_nonce' => wp_create_nonce( 'delete-invoice-note' ),
165
-            'invoice_item_nonce'        => wp_create_nonce( 'invoice-item' ),
166
-            'billing_details_nonce'     => wp_create_nonce( 'get-billing-details' ),
163
+            'add_invoice_note_nonce'    => wp_create_nonce('add-invoice-note'),
164
+            'delete_invoice_note_nonce' => wp_create_nonce('delete-invoice-note'),
165
+            'invoice_item_nonce'        => wp_create_nonce('invoice-item'),
166
+            'billing_details_nonce'     => wp_create_nonce('get-billing-details'),
167 167
             'tax'                       => wpinv_tax_amount(),
168 168
             'discount'                  => 0,
169 169
 			'currency_symbol'           => wpinv_currency_symbol(),
@@ -172,39 +172,39 @@  discard block
 block discarded – undo
172 172
             'thousand_sep'              => wpinv_thousands_separator(),
173 173
             'decimal_sep'               => wpinv_decimal_separator(),
174 174
             'decimals'                  => wpinv_decimals(),
175
-            'save_invoice'              => __( 'Save Invoice', 'invoicing' ),
176
-            'status_publish'            => wpinv_status_nicename( 'publish' ),
177
-            'status_pending'            => wpinv_status_nicename( 'wpi-pending' ),
178
-            'delete_tax_rate'           => __( 'Are you sure you wish to delete this tax rate?', 'invoicing' ),
179
-            'status_pending'            => wpinv_status_nicename( 'wpi-pending' ),
180
-            'FillBillingDetails'        => __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' ),
181
-            'confirmCalcTotals'         => __( 'Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing' ),
182
-            'AreYouSure'                => __( 'Are you sure?', 'invoicing' ),
183
-            'errDeleteItem'             => __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' ),
184
-            'delete_subscription'       => __( 'Are you sure you want to delete this subscription?', 'invoicing' ),
185
-            'action_edit'               => __( 'Edit', 'invoicing' ),
186
-            'action_cancel'             => __( 'Cancel', 'invoicing' ),
187
-            'item_description'          => __( 'Item Description', 'invoicing' ),
188
-            'invoice_description'       => __( 'Invoice Description', 'invoicing' ),
189
-            'discount_description'      => __( 'Discount Description', 'invoicing' ),
190
-			'searching'                 => __( 'Searching', 'invoicing' ),
191
-			'loading'                   => __( 'Loading...', 'invoicing' ),
192
-			'search_customers'          => __( 'Enter customer name or email', 'invoicing' ),
193
-			'search_items'              => __( 'Enter item name', 'invoicing' ),
194
-			'graphs'                    => array_merge( array( 'refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax' ), array_keys( wpinv_get_report_graphs() ) ),
175
+            'save_invoice'              => __('Save Invoice', 'invoicing'),
176
+            'status_publish'            => wpinv_status_nicename('publish'),
177
+            'status_pending'            => wpinv_status_nicename('wpi-pending'),
178
+            'delete_tax_rate'           => __('Are you sure you wish to delete this tax rate?', 'invoicing'),
179
+            'status_pending'            => wpinv_status_nicename('wpi-pending'),
180
+            'FillBillingDetails'        => __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing'),
181
+            'confirmCalcTotals'         => __('Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing'),
182
+            'AreYouSure'                => __('Are you sure?', 'invoicing'),
183
+            'errDeleteItem'             => __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing'),
184
+            'delete_subscription'       => __('Are you sure you want to delete this subscription?', 'invoicing'),
185
+            'action_edit'               => __('Edit', 'invoicing'),
186
+            'action_cancel'             => __('Cancel', 'invoicing'),
187
+            'item_description'          => __('Item Description', 'invoicing'),
188
+            'invoice_description'       => __('Invoice Description', 'invoicing'),
189
+            'discount_description'      => __('Discount Description', 'invoicing'),
190
+			'searching'                 => __('Searching', 'invoicing'),
191
+			'loading'                   => __('Loading...', 'invoicing'),
192
+			'search_customers'          => __('Enter customer name or email', 'invoicing'),
193
+			'search_items'              => __('Enter item name', 'invoicing'),
194
+			'graphs'                    => array_merge(array('refunded_fees', 'refunded_items', 'refunded_subtotal', 'refunded_tax'), array_keys(wpinv_get_report_graphs())),
195 195
         );
196 196
 
197
-		if ( ! empty( $post ) && getpaid_is_invoice_post_type( $post->post_type ) ) {
197
+		if (!empty($post) && getpaid_is_invoice_post_type($post->post_type)) {
198 198
 
199
-			$invoice              = new WPInv_Invoice( $post );
199
+			$invoice              = new WPInv_Invoice($post);
200 200
 			$i18n['save_invoice'] = sprintf(
201
-				__( 'Save %s', 'invoicing' ),
202
-				ucfirst( $invoice->get_invoice_quote_type() )
201
+				__('Save %s', 'invoicing'),
202
+				ucfirst($invoice->get_invoice_quote_type())
203 203
 			);
204 204
 
205 205
 			$i18n['invoice_description'] = sprintf(
206
-				__( '%s Description', 'invoicing' ),
207
-				ucfirst( $invoice->get_invoice_quote_type() )
206
+				__('%s Description', 'invoicing'),
207
+				ucfirst($invoice->get_invoice_quote_type())
208 208
 			);
209 209
 
210 210
 		}
@@ -218,24 +218,24 @@  discard block
 block discarded – undo
218 218
 	 * @param  string $footer_text
219 219
 	 * @return string
220 220
 	 */
221
-	public function admin_footer_text( $footer_text ) {
221
+	public function admin_footer_text($footer_text) {
222 222
 		global $current_screen;
223 223
 
224
-		$page    = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
224
+		$page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
225 225
 
226
-        if ( ! empty( $current_screen->post_type ) ) {
226
+        if (!empty($current_screen->post_type)) {
227 227
 			$page = $current_screen->post_type;
228 228
         }
229 229
 
230 230
         // General styles.
231
-        if ( apply_filters( 'getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing() ) && false !== stripos( $page, 'wpi' ) ) {
231
+        if (apply_filters('getpaid_display_admin_footer_text', wpinv_current_user_can_manage_invoicing()) && false !== stripos($page, 'wpi')) {
232 232
 
233 233
 			// Change the footer text
234
-			if ( ! get_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', true ) ) {
234
+			if (!get_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', true)) {
235 235
 
236
-				$rating_url  = esc_url(
236
+				$rating_url = esc_url(
237 237
 					wp_nonce_url(
238
-						admin_url( 'admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin' ),
238
+						admin_url('admin.php?page=wpinv-reports&getpaid-admin-action=rate_plugin'),
239 239
 						'getpaid-nonce',
240 240
 						'getpaid-nonce'
241 241
                     )
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
 
244 244
 				$footer_text = sprintf(
245 245
 					/* translators: %s: five stars */
246
-					__( 'If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing' ),
246
+					__('If you like <strong>GetPaid</strong>, please leave us a %s rating. A huge thanks in advance!', 'invoicing'),
247 247
 					"<a href='$rating_url'>&#9733;&#9733;&#9733;&#9733;&#9733;</a>"
248 248
 				);
249 249
 
@@ -251,7 +251,7 @@  discard block
 block discarded – undo
251 251
 
252 252
 				$footer_text = sprintf(
253 253
 					/* translators: %s: GetPaid */
254
-					__( 'Thank you for using %s!', 'invoicing' ),
254
+					__('Thank you for using %s!', 'invoicing'),
255 255
 					"<a href='https://wpgetpaid.com/' target='_blank'><strong>GetPaid</strong></a>"
256 256
 				);
257 257
 
@@ -267,8 +267,8 @@  discard block
 block discarded – undo
267 267
 	 * @since  2.0.0
268 268
 	 */
269 269
 	public function redirect_to_wordpress_rating_page() {
270
-		update_user_meta( get_current_user_id(), 'getpaid_admin_footer_text_rated', 1 );
271
-		wp_redirect( 'https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post' );
270
+		update_user_meta(get_current_user_id(), 'getpaid_admin_footer_text_rated', 1);
271
+		wp_redirect('https://wordpress.org/support/plugin/invoicing/reviews?rate=5#new-post');
272 272
 		exit;
273 273
 	}
274 274
 
@@ -279,30 +279,30 @@  discard block
 block discarded – undo
279 279
 	protected function load_payment_form_scripts() {
280 280
         global $post;
281 281
 
282
-        wp_enqueue_script( 'vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION );
283
-		wp_enqueue_script( 'sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION );
284
-		wp_enqueue_script( 'vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array( 'sortable', 'vue' ), WPINV_VERSION );
282
+        wp_enqueue_script('vue', WPINV_PLUGIN_URL . 'assets/js/vue/vue.min.js', array(), WPINV_VERSION);
283
+		wp_enqueue_script('sortable', WPINV_PLUGIN_URL . 'assets/js/sortable.min.js', array(), WPINV_VERSION);
284
+		wp_enqueue_script('vue_draggable', WPINV_PLUGIN_URL . 'assets/js/vue/vuedraggable.min.js', array('sortable', 'vue'), WPINV_VERSION);
285 285
 
286
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js' );
287
-		wp_register_script( 'wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array( 'wpinv-admin-script', 'vue_draggable', 'wp-hooks' ), $version );
286
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/admin-payment-forms.js');
287
+		wp_register_script('wpinv-admin-payment-form-script', WPINV_PLUGIN_URL . 'assets/js/admin-payment-forms.js', array('wpinv-admin-script', 'vue_draggable', 'wp-hooks'), $version);
288 288
 
289 289
 		wp_localize_script(
290 290
             'wpinv-admin-payment-form-script',
291 291
             'wpinvPaymentFormAdmin',
292 292
             array(
293
-				'elements'      => wpinv_get_data( 'payment-form-elements' ),
294
-				'form_elements' => getpaid_get_payment_form_elements( $post->ID ),
293
+				'elements'      => wpinv_get_data('payment-form-elements'),
294
+				'form_elements' => getpaid_get_payment_form_elements($post->ID),
295 295
 				'currency'      => wpinv_currency_symbol(),
296 296
 				'position'      => wpinv_currency_position(),
297 297
 				'decimals'      => (int) wpinv_decimals(),
298 298
 				'thousands_sep' => wpinv_thousands_separator(),
299 299
 				'decimals_sep'  => wpinv_decimal_separator(),
300
-				'form_items'    => gepaid_get_form_items( $post->ID ),
300
+				'form_items'    => gepaid_get_form_items($post->ID),
301 301
 				'is_default'    => $post->ID == wpinv_get_default_payment_form(),
302 302
             )
303 303
         );
304 304
 
305
-        wp_enqueue_script( 'wpinv-admin-payment-form-script' );
305
+        wp_enqueue_script('wpinv-admin-payment-form-script');
306 306
 
307 307
     }
308 308
 
@@ -313,24 +313,24 @@  discard block
 block discarded – undo
313 313
      * @return string
314 314
 	 *
315 315
 	 */
316
-    public function admin_body_class( $classes ) {
316
+    public function admin_body_class($classes) {
317 317
 		global $pagenow, $post, $current_screen;
318 318
 
319
-        $page = isset( $_GET['page'] ) ? sanitize_text_field( $_GET['page'] ) : '';
319
+        $page = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : '';
320 320
 
321
-        if ( ! empty( $current_screen->post_type ) ) {
321
+        if (!empty($current_screen->post_type)) {
322 322
 			$page = $current_screen->post_type;
323 323
         }
324 324
 
325
-        if ( false !== stripos( $page, 'wpi' ) ) {
326
-            $classes .= ' wpi-' . sanitize_key( $page );
325
+        if (false !== stripos($page, 'wpi')) {
326
+            $classes .= ' wpi-' . sanitize_key($page);
327 327
         }
328 328
 
329
-        if ( in_array( $page, wpinv_parse_list( 'wpi_invoice wpi_payment_form wpi_quote' ) ) ) {
329
+        if (in_array($page, wpinv_parse_list('wpi_invoice wpi_payment_form wpi_quote'))) {
330 330
             $classes .= ' wpinv-cpt wpinv';
331 331
 		}
332 332
 
333
-		if ( getpaid_is_invoice_post_type( $page ) ) {
333
+		if (getpaid_is_invoice_post_type($page)) {
334 334
             $classes .= ' getpaid-is-invoice-cpt';
335 335
         }
336 336
 
@@ -349,21 +349,21 @@  discard block
 block discarded – undo
349 349
 				'version'           => WPINV_VERSION,
350 350
 				'support_url'       => 'https://wpgetpaid.com/support/',
351 351
 				'documentation_url' => 'https://docs.wpgetpaid.com/',
352
-				'activated'         => (int) get_option( 'gepaid_installed_on' ),
352
+				'activated'         => (int) get_option('gepaid_installed_on'),
353 353
             )
354 354
         );
355 355
 
356 356
         new AyeCode_Connect_Helper(
357 357
             array(
358
-				'connect_title'     => __( 'WP Invoicing - an AyeCode product!', 'invoicing' ),
359
-				'connect_external'  => __( 'Please confirm you wish to connect your site?', 'invoicing' ),
360
-				'connect'           => sprintf( __( '<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>' ),
361
-				'connect_button'    => __( 'Connect Site', 'invoicing' ),
362
-				'connecting_button' => __( 'Connecting...', 'invoicing' ),
363
-				'error_localhost'   => __( 'This service will only work with a live domain, not a localhost.', 'invoicing' ),
364
-				'error'             => __( 'Something went wrong, please refresh and try again.', 'invoicing' ),
358
+				'connect_title'     => __('WP Invoicing - an AyeCode product!', 'invoicing'),
359
+				'connect_external'  => __('Please confirm you wish to connect your site?', 'invoicing'),
360
+				'connect'           => sprintf(__('<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %1$slearn more%2$s', 'invoicing'), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", '</a>'),
361
+				'connect_button'    => __('Connect Site', 'invoicing'),
362
+				'connecting_button' => __('Connecting...', 'invoicing'),
363
+				'error_localhost'   => __('This service will only work with a live domain, not a localhost.', 'invoicing'),
364
+				'error'             => __('Something went wrong, please refresh and try again.', 'invoicing'),
365 365
             ),
366
-            array( 'wpi-addons' )
366
+            array('wpi-addons')
367 367
         );
368 368
 
369 369
     }
@@ -375,20 +375,20 @@  discard block
 block discarded – undo
375 375
 	 */
376 376
 	public function activation_redirect() {
377 377
 
378
-		$redirected = get_option( 'wpinv_redirected_to_settings' );
378
+		$redirected = get_option('wpinv_redirected_to_settings');
379 379
 
380
-		if ( ! empty( $redirected ) || wp_doing_ajax() || ! current_user_can( 'manage_options' ) ) {
380
+		if (!empty($redirected) || wp_doing_ajax() || !current_user_can('manage_options')) {
381 381
 			return;
382 382
 		}
383 383
 
384 384
 		// Bail if activating from network, or bulk
385
-		if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
385
+		if (is_network_admin() || isset($_GET['activate-multi'])) {
386 386
 			return;
387 387
 		}
388 388
 
389
-	    update_option( 'wpinv_redirected_to_settings', 1 );
389
+	    update_option('wpinv_redirected_to_settings', 1);
390 390
 
391
-        wp_safe_redirect( admin_url( 'index.php?page=gp-setup' ) );
391
+        wp_safe_redirect(admin_url('index.php?page=gp-setup'));
392 392
         exit;
393 393
 
394 394
 	}
@@ -397,10 +397,10 @@  discard block
 block discarded – undo
397 397
      * Fires an admin action after verifying that a user can fire them.
398 398
      */
399 399
     public function maybe_do_admin_action() {
400
-        if ( isset( $_REQUEST['getpaid-admin-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) && wpinv_current_user_can( sanitize_text_field( $_REQUEST['getpaid-admin-action'] ), $_REQUEST ) ) {
401
-            $key = sanitize_key( $_REQUEST['getpaid-admin-action'] );
400
+        if (isset($_REQUEST['getpaid-admin-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce') && wpinv_current_user_can(sanitize_text_field($_REQUEST['getpaid-admin-action']), $_REQUEST)) {
401
+            $key = sanitize_key($_REQUEST['getpaid-admin-action']);
402 402
 
403
-            do_action( "getpaid_authenticated_admin_action_$key", $_REQUEST );
403
+            do_action("getpaid_authenticated_admin_action_$key", $_REQUEST);
404 404
         }
405 405
     }
406 406
 
@@ -409,24 +409,24 @@  discard block
 block discarded – undo
409 409
 	 *
410 410
 	 * @param array $args
411 411
      */
412
-    public function duplicate_invoice( $args ) {
412
+    public function duplicate_invoice($args) {
413 413
 
414
-		if ( empty( $args['invoice_id'] ) ) {
414
+		if (empty($args['invoice_id'])) {
415 415
 			return;
416 416
 		}
417 417
 
418
-		$invoice = new WPInv_Invoice( (int) $args['invoice_id'] );
418
+		$invoice = new WPInv_Invoice((int) $args['invoice_id']);
419 419
 
420
-		if ( ! $invoice->exists() ) {
420
+		if (!$invoice->exists()) {
421 421
 			return;
422 422
 		}
423 423
 
424
-		$new_invoice = getpaid_duplicate_invoice( $invoice );
424
+		$new_invoice = getpaid_duplicate_invoice($invoice);
425 425
 		$new_invoice->save();
426 426
 
427
-		if ( $new_invoice->exists() ) {
427
+		if ($new_invoice->exists()) {
428 428
 
429
-			getpaid_admin()->show_success( __( 'Invoice duplicated successfully.', 'invoicing' ) );
429
+			getpaid_admin()->show_success(__('Invoice duplicated successfully.', 'invoicing'));
430 430
 
431 431
 			wp_safe_redirect(
432 432
 				add_query_arg(
@@ -434,14 +434,14 @@  discard block
 block discarded – undo
434 434
 						'action' => 'edit',
435 435
 						'post'   => $new_invoice->get_id(),
436 436
 					),
437
-					admin_url( 'post.php' )
437
+					admin_url('post.php')
438 438
 				)
439 439
 			);
440 440
 			exit;
441 441
 
442 442
 		}
443 443
 
444
-		getpaid_admin()->show_error( __( 'There was an error duplicating this invoice. Please try again.', 'invoicing' ) );
444
+		getpaid_admin()->show_error(__('There was an error duplicating this invoice. Please try again.', 'invoicing'));
445 445
 
446 446
 	}
447 447
 
@@ -450,34 +450,34 @@  discard block
 block discarded – undo
450 450
 	 *
451 451
 	 * @param array $args
452 452
      */
453
-    public function duplicate_payment_form( $args ) {
453
+    public function duplicate_payment_form($args) {
454 454
 
455
-		if ( empty( $args['form_id'] ) ) {
455
+		if (empty($args['form_id'])) {
456 456
 			return;
457 457
 		}
458 458
 
459
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
459
+		$form = new GetPaid_Payment_Form((int) $args['form_id']);
460 460
 
461
-		if ( ! $form->exists() ) {
461
+		if (!$form->exists()) {
462 462
 			return;
463 463
 		}
464 464
 
465 465
 		$new_form = new GetPaid_Payment_Form();
466
-		$new_form->set_author( $form->get_author( 'edit' ) );
467
-		$new_form->set_name( $form->get_name( 'edit' ) . __( '(copy)', 'invoicing' ) );
468
-		$new_form->set_elements( $form->get_elements( 'edit' ) );
469
-		$new_form->set_items( $form->get_items( 'edit' ) );
466
+		$new_form->set_author($form->get_author('edit'));
467
+		$new_form->set_name($form->get_name('edit') . __('(copy)', 'invoicing'));
468
+		$new_form->set_elements($form->get_elements('edit'));
469
+		$new_form->set_items($form->get_items('edit'));
470 470
 		$new_form->save();
471 471
 
472
-		if ( $new_form->exists() ) {
473
-			$this->show_success( __( 'Form duplicated successfully', 'invoicing' ) );
474
-			$url = get_edit_post_link( $new_form->get_id(), 'edit' );
472
+		if ($new_form->exists()) {
473
+			$this->show_success(__('Form duplicated successfully', 'invoicing'));
474
+			$url = get_edit_post_link($new_form->get_id(), 'edit');
475 475
 		} else {
476
-			$this->show_error( __( 'Unable to duplicate form', 'invoicing' ) );
477
-			$url = remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) );
476
+			$this->show_error(__('Unable to duplicate form', 'invoicing'));
477
+			$url = remove_query_arg(array('getpaid-admin-action', 'form_id', 'getpaid-nonce'));
478 478
 		}
479 479
 
480
-		wp_redirect( $url );
480
+		wp_redirect($url);
481 481
 		exit;
482 482
 	}
483 483
 
@@ -486,27 +486,27 @@  discard block
 block discarded – undo
486 486
 	 *
487 487
 	 * @param array $args
488 488
      */
489
-    public function reset_form_stats( $args ) {
489
+    public function reset_form_stats($args) {
490 490
 
491
-		if ( empty( $args['form_id'] ) ) {
491
+		if (empty($args['form_id'])) {
492 492
 			return;
493 493
 		}
494 494
 
495
-		$form = new GetPaid_Payment_Form( (int) $args['form_id'] );
495
+		$form = new GetPaid_Payment_Form((int) $args['form_id']);
496 496
 
497
-		if ( ! $form->exists() ) {
497
+		if (!$form->exists()) {
498 498
 			return;
499 499
 		}
500 500
 
501
-		$form->set_earned( 0 );
502
-		$form->set_refunded( 0 );
503
-		$form->set_cancelled( 0 );
504
-		$form->set_failed( 0 );
501
+		$form->set_earned(0);
502
+		$form->set_refunded(0);
503
+		$form->set_cancelled(0);
504
+		$form->set_failed(0);
505 505
 		$form->save();
506 506
 
507
-		$this->show_success( __( 'Form stats reset successfully', 'invoicing' ) );
507
+		$this->show_success(__('Form stats reset successfully', 'invoicing'));
508 508
 
509
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'form_id', 'getpaid-nonce' ) ) );
509
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'form_id', 'getpaid-nonce')));
510 510
 		exit;
511 511
 	}
512 512
 
@@ -515,9 +515,9 @@  discard block
 block discarded – undo
515 515
 	 *
516 516
 	 * @param array $args
517 517
      */
518
-    public function send_customer_invoice( $args ) {
519
-		getpaid()->get( 'invoice_emails' )->user_invoice( new WPInv_Invoice( $args['invoice_id'] ), true );
520
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
518
+    public function send_customer_invoice($args) {
519
+		getpaid()->get('invoice_emails')->user_invoice(new WPInv_Invoice($args['invoice_id']), true);
520
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id')));
521 521
 		exit;
522 522
 	}
523 523
 
@@ -526,16 +526,16 @@  discard block
 block discarded – undo
526 526
 	 *
527 527
 	 * @param array $args
528 528
      */
529
-    public function send_customer_payment_reminder( $args ) {
530
-		$sent = getpaid()->get( 'invoice_emails' )->force_send_overdue_notice( new WPInv_Invoice( $args['invoice_id'] ) );
529
+    public function send_customer_payment_reminder($args) {
530
+		$sent = getpaid()->get('invoice_emails')->force_send_overdue_notice(new WPInv_Invoice($args['invoice_id']));
531 531
 
532
-		if ( $sent ) {
533
-			$this->show_success( __( 'Payment reminder was successfully sent to the customer', 'invoicing' ) );
532
+		if ($sent) {
533
+			$this->show_success(__('Payment reminder was successfully sent to the customer', 'invoicing'));
534 534
 		} else {
535
-			$this->show_error( __( 'Could not sent payment reminder to the customer', 'invoicing' ) );
535
+			$this->show_error(__('Could not sent payment reminder to the customer', 'invoicing'));
536 536
 		}
537 537
 
538
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce', 'invoice_id' ) ) );
538
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce', 'invoice_id')));
539 539
 		exit;
540 540
 	}
541 541
 
@@ -545,8 +545,8 @@  discard block
 block discarded – undo
545 545
      */
546 546
     public function admin_reset_tax_rates() {
547 547
 
548
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
549
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
548
+		update_option('wpinv_tax_rates', wpinv_get_data('tax-rates'));
549
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
550 550
 		exit;
551 551
 
552 552
 	}
@@ -558,8 +558,8 @@  discard block
 block discarded – undo
558 558
     public function admin_create_missing_pages() {
559 559
 		$installer = new GetPaid_Installer();
560 560
 		$installer->create_pages();
561
-		$this->show_success( __( 'GetPaid pages updated.', 'invoicing' ) );
562
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
561
+		$this->show_success(__('GetPaid pages updated.', 'invoicing'));
562
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
563 563
 		exit;
564 564
 	}
565 565
 
@@ -568,8 +568,8 @@  discard block
 block discarded – undo
568 568
 	 */
569 569
 	public function admin_refresh_permalinks() {
570 570
 		flush_rewrite_rules();
571
-		$this->show_success( __( 'Permalinks refreshed.', 'invoicing' ) );
572
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
571
+		$this->show_success(__('Permalinks refreshed.', 'invoicing'));
572
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
573 573
 		exit;
574 574
 	}
575 575
 
@@ -581,35 +581,35 @@  discard block
 block discarded – undo
581 581
 		global $wpdb;
582 582
 		$installer = new GetPaid_Installer();
583 583
 
584
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'" ) != $wpdb->prefix . 'wpinv_subscriptions' ) {
584
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}wpinv_subscriptions'") != $wpdb->prefix . 'wpinv_subscriptions') {
585 585
 			$installer->create_subscriptions_table();
586 586
 
587
-			if ( $wpdb->last_error !== '' ) {
588
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
587
+			if ($wpdb->last_error !== '') {
588
+				$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
589 589
 			}
590 590
 		}
591 591
 
592
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) != $wpdb->prefix . 'getpaid_invoices' ) {
592
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'") != $wpdb->prefix . 'getpaid_invoices') {
593 593
 			$installer->create_invoices_table();
594 594
 
595
-			if ( '' !== $wpdb->last_error ) {
596
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
595
+			if ('' !== $wpdb->last_error) {
596
+				$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
597 597
 			}
598 598
 		}
599 599
 
600
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'" ) != $wpdb->prefix . 'getpaid_invoice_items' ) {
600
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoice_items'") != $wpdb->prefix . 'getpaid_invoice_items') {
601 601
 			$installer->create_invoice_items_table();
602 602
 
603
-			if ( '' !== $wpdb->last_error ) {
604
-				$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
603
+			if ('' !== $wpdb->last_error) {
604
+				$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
605 605
 			}
606 606
 		}
607 607
 
608
-		if ( ! $this->has_notices() ) {
609
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
608
+		if (!$this->has_notices()) {
609
+			$this->show_success(__('Your GetPaid tables have been updated.', 'invoicing'));
610 610
 		}
611 611
 
612
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
612
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
613 613
 		exit;
614 614
 	}
615 615
 
@@ -624,10 +624,10 @@  discard block
 block discarded – undo
624 624
 		$installer->migrate_old_invoices();
625 625
 
626 626
 		// Show an admin message.
627
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
627
+		$this->show_success(__('Your invoices have been migrated.', 'invoicing'));
628 628
 
629 629
 		// Redirect the admin.
630
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
630
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
631 631
 		exit;
632 632
 
633 633
 	}
@@ -639,78 +639,78 @@  discard block
 block discarded – undo
639 639
     public function admin_download_customers() {
640 640
 		global $wpdb;
641 641
 
642
-		$output = fopen( 'php://output', 'w' );
642
+		$output = fopen('php://output', 'w');
643 643
 
644
-		if ( false === $output ) {
645
-			wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
644
+		if (false === $output) {
645
+			wp_die(esc_html__('Unsupported server', 'invoicing'), 500);
646 646
 		}
647 647
 
648
-		header( 'Content-Type:text/csv' );
649
-		header( 'Content-Disposition:attachment;filename=customers.csv' );
648
+		header('Content-Type:text/csv');
649
+		header('Content-Disposition:attachment;filename=customers.csv');
650 650
 
651 651
 		$post_types = '';
652 652
 
653
-		foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
654
-			$post_types .= $wpdb->prepare( 'post_type=%s OR ', $post_type );
653
+		foreach (array_keys(getpaid_get_invoice_post_types()) as $post_type) {
654
+			$post_types .= $wpdb->prepare('post_type=%s OR ', $post_type);
655 655
 		}
656 656
 
657
-		$post_types = rtrim( $post_types, ' OR' );
657
+		$post_types = rtrim($post_types, ' OR');
658 658
 
659
-		$customers = $wpdb->get_col( "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types" );
659
+		$customers = $wpdb->get_col("SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types");
660 660
 
661 661
 		$columns = array(
662
-			'name'       => __( 'Name', 'invoicing' ),
663
-			'email'      => __( 'Email', 'invoicing' ),
664
-			'country'    => __( 'Country', 'invoicing' ),
665
-			'state'      => __( 'State', 'invoicing' ),
666
-			'city'       => __( 'City', 'invoicing' ),
667
-			'zip'        => __( 'ZIP', 'invoicing' ),
668
-			'address'    => __( 'Address', 'invoicing' ),
669
-			'phone'      => __( 'Phone', 'invoicing' ),
670
-			'company'    => __( 'Company', 'invoicing' ),
671
-			'company_id' => __( 'Company ID', 'invoicing' ),
672
-			'invoices'   => __( 'Invoices', 'invoicing' ),
673
-			'total_raw'  => __( 'Total Spend', 'invoicing' ),
674
-			'signup'     => __( 'Date created', 'invoicing' ),
662
+			'name'       => __('Name', 'invoicing'),
663
+			'email'      => __('Email', 'invoicing'),
664
+			'country'    => __('Country', 'invoicing'),
665
+			'state'      => __('State', 'invoicing'),
666
+			'city'       => __('City', 'invoicing'),
667
+			'zip'        => __('ZIP', 'invoicing'),
668
+			'address'    => __('Address', 'invoicing'),
669
+			'phone'      => __('Phone', 'invoicing'),
670
+			'company'    => __('Company', 'invoicing'),
671
+			'company_id' => __('Company ID', 'invoicing'),
672
+			'invoices'   => __('Invoices', 'invoicing'),
673
+			'total_raw'  => __('Total Spend', 'invoicing'),
674
+			'signup'     => __('Date created', 'invoicing'),
675 675
 		);
676 676
 
677 677
 		// Output the csv column headers.
678
-		fputcsv( $output, array_values( $columns ) );
678
+		fputcsv($output, array_values($columns));
679 679
 
680 680
 		// Loop through
681 681
 		$table = new WPInv_Customers_Table();
682
-		foreach ( $customers as $customer_id ) {
682
+		foreach ($customers as $customer_id) {
683 683
 
684
-			$user = get_user_by( 'id', $customer_id );
684
+			$user = get_user_by('id', $customer_id);
685 685
 			$row  = array();
686
-			if ( empty( $user ) ) {
686
+			if (empty($user)) {
687 687
 				continue;
688 688
 			}
689 689
 
690
-			foreach ( array_keys( $columns ) as $column ) {
690
+			foreach (array_keys($columns) as $column) {
691 691
 
692 692
 				$method = 'column_' . $column;
693 693
 
694
-				if ( 'name' == $column ) {
695
-					$value = esc_html( $user->display_name );
696
-				} elseif ( 'email' == $column ) {
697
-					$value = sanitize_email( $user->user_email );
698
-				} elseif ( is_callable( array( $table, $method ) ) ) {
699
-					$value = wp_strip_all_tags( $table->$method( $user ) );
694
+				if ('name' == $column) {
695
+					$value = esc_html($user->display_name);
696
+				} elseif ('email' == $column) {
697
+					$value = sanitize_email($user->user_email);
698
+				} elseif (is_callable(array($table, $method))) {
699
+					$value = wp_strip_all_tags($table->$method($user));
700 700
 				}
701 701
 
702
-				if ( empty( $value ) ) {
703
-					$value = esc_html( get_user_meta( $user->ID, '_wpinv_' . $column, true ) );
702
+				if (empty($value)) {
703
+					$value = esc_html(get_user_meta($user->ID, '_wpinv_' . $column, true));
704 704
 				}
705 705
 
706 706
 				$row[] = $value;
707 707
 
708 708
 			}
709 709
 
710
-			fputcsv( $output, $row );
710
+			fputcsv($output, $row);
711 711
 		}
712 712
 
713
-		fclose( $output );
713
+		fclose($output);
714 714
 		exit;
715 715
 
716 716
 	}
@@ -720,27 +720,27 @@  discard block
 block discarded – undo
720 720
 	 *
721 721
 	 * @param array $data
722 722
      */
723
-    public function admin_install_plugin( $data ) {
723
+    public function admin_install_plugin($data) {
724 724
 
725
-		if ( ! empty( $data['plugins'] ) ) {
725
+		if (!empty($data['plugins'])) {
726 726
 			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
727 727
 			wp_cache_flush();
728 728
 
729
-			foreach ( $data['plugins'] as $slug => $file ) {
730
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
731
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
732
-				$installed  = $upgrader->install( $plugin_zip );
729
+			foreach ($data['plugins'] as $slug => $file) {
730
+				$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip');
731
+				$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
732
+				$installed  = $upgrader->install($plugin_zip);
733 733
 
734
-				if ( ! is_wp_error( $installed ) && $installed ) {
735
-					activate_plugin( $file, '', false, true );
734
+				if (!is_wp_error($installed) && $installed) {
735
+					activate_plugin($file, '', false, true);
736 736
 				} else {
737
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
737
+					wpinv_error_log($upgrader->skin->get_upgrade_messages(), false);
738 738
 				}
739 739
 }
740 740
 }
741 741
 
742
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
743
-		wp_safe_redirect( $redirect );
742
+		$redirect = isset($data['redirect']) ? esc_url_raw($data['redirect']) : admin_url('plugins.php');
743
+		wp_safe_redirect($redirect);
744 744
 		exit;
745 745
 
746 746
 	}
@@ -750,41 +750,41 @@  discard block
 block discarded – undo
750 750
 	 *
751 751
 	 * @param array $data
752 752
      */
753
-    public function admin_connect_gateway( $data ) {
753
+    public function admin_connect_gateway($data) {
754 754
 
755
-		if ( ! empty( $data['plugin'] ) ) {
755
+		if (!empty($data['plugin'])) {
756 756
 
757
-			$gateway     = sanitize_key( $data['plugin'] );
758
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
757
+			$gateway     = sanitize_key($data['plugin']);
758
+			$connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data);
759 759
 
760
-			if ( ! empty( $connect_url ) ) {
761
-				wp_redirect( $connect_url );
760
+			if (!empty($connect_url)) {
761
+				wp_redirect($connect_url);
762 762
 				exit;
763 763
 			}
764 764
 
765
-			if ( 'stripe' == $data['plugin'] ) {
765
+			if ('stripe' == $data['plugin']) {
766 766
 				require_once ABSPATH . 'wp-admin/includes/plugin.php';
767 767
 				include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
768 768
 				wp_cache_flush();
769 769
 
770
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
771
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
772
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
773
-					$upgrader->install( $plugin_zip );
770
+				if (!array_key_exists('getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins())) {
771
+					$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip');
772
+					$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
773
+					$upgrader->install($plugin_zip);
774 774
 				}
775 775
 
776
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
776
+				activate_plugin('getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true);
777 777
 			}
778 778
 
779
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
780
-			if ( ! empty( $connect_url ) ) {
781
-				wp_redirect( $connect_url );
779
+			$connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data);
780
+			if (!empty($connect_url)) {
781
+				wp_redirect($connect_url);
782 782
 				exit;
783 783
 			}
784 784
 }
785 785
 
786
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
787
-		wp_safe_redirect( $redirect );
786
+		$redirect = isset($data['redirect']) ? esc_url_raw(urldecode($data['redirect'])) : admin_url('admin.php?page=wpinv-settings&tab=gateways');
787
+		wp_safe_redirect($redirect);
788 788
 		exit;
789 789
 
790 790
 	}
@@ -798,35 +798,35 @@  discard block
 block discarded – undo
798 798
 
799 799
 		// Fetch all invoices that have discount codes.
800 800
 		$table    = $wpdb->prefix . 'getpaid_invoices';
801
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
801
+		$invoices = $wpdb->get_col("SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''");
802 802
 
803
-		foreach ( $invoices as $invoice ) {
803
+		foreach ($invoices as $invoice) {
804 804
 
805
-			$invoice = new WPInv_Invoice( $invoice );
805
+			$invoice = new WPInv_Invoice($invoice);
806 806
 
807
-			if ( ! $invoice->exists() ) {
807
+			if (!$invoice->exists()) {
808 808
 				continue;
809 809
 			}
810 810
 
811 811
 			// Abort if the discount does not exist or does not apply here.
812
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
813
-			if ( ! $discount->exists() ) {
812
+			$discount = new WPInv_Discount($invoice->get_discount_code());
813
+			if (!$discount->exists()) {
814 814
 				continue;
815 815
 			}
816 816
 
817
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
817
+			$invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
818 818
 			$invoice->recalculate_total();
819 819
 
820
-			if ( $invoice->get_total_discount() > 0 ) {
820
+			if ($invoice->get_total_discount() > 0) {
821 821
 				$invoice->save();
822 822
 			}
823 823
 }
824 824
 
825 825
 		// Show an admin message.
826
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
826
+		$this->show_success(__('Discounts have been recalculated.', 'invoicing'));
827 827
 
828 828
 		// Redirect the admin.
829
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
829
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
830 830
 		exit;
831 831
 
832 832
 	}
@@ -838,8 +838,8 @@  discard block
 block discarded – undo
838 838
      * @return array
839 839
 	 */
840 840
 	public function get_notices() {
841
-		$notices = get_option( 'wpinv_admin_notices' );
842
-        return is_array( $notices ) ? $notices : array();
841
+		$notices = get_option('wpinv_admin_notices');
842
+        return is_array($notices) ? $notices : array();
843 843
 	}
844 844
 
845 845
 	/**
@@ -849,7 +849,7 @@  discard block
 block discarded – undo
849 849
      * @return array
850 850
 	 */
851 851
 	public function has_notices() {
852
-		return count( $this->get_notices() ) > 0;
852
+		return count($this->get_notices()) > 0;
853 853
 	}
854 854
 
855 855
 	/**
@@ -859,7 +859,7 @@  discard block
 block discarded – undo
859 859
 	 * @since       1.0.19
860 860
 	 */
861 861
 	public function clear_notices() {
862
-		delete_option( 'wpinv_admin_notices' );
862
+		delete_option('wpinv_admin_notices');
863 863
 	}
864 864
 
865 865
 	/**
@@ -868,16 +868,16 @@  discard block
 block discarded – undo
868 868
 	 * @access      public
869 869
 	 * @since       1.0.19
870 870
 	 */
871
-	public function save_notice( $type, $message ) {
871
+	public function save_notice($type, $message) {
872 872
 		$notices = $this->get_notices();
873 873
 
874
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
875
-			$notices[ $type ] = array();
874
+		if (empty($notices[$type]) || !is_array($notices[$type])) {
875
+			$notices[$type] = array();
876 876
 		}
877 877
 
878
-		$notices[ $type ][] = $message;
878
+		$notices[$type][] = $message;
879 879
 
880
-		update_option( 'wpinv_admin_notices', $notices );
880
+		update_option('wpinv_admin_notices', $notices);
881 881
 	}
882 882
 
883 883
 	/**
@@ -887,8 +887,8 @@  discard block
 block discarded – undo
887 887
 	 * @access      public
888 888
 	 * @since       1.0.19
889 889
 	 */
890
-	public function show_success( $msg ) {
891
-		$this->save_notice( 'success', $msg );
890
+	public function show_success($msg) {
891
+		$this->save_notice('success', $msg);
892 892
 	}
893 893
 
894 894
 	/**
@@ -898,8 +898,8 @@  discard block
 block discarded – undo
898 898
 	 * @param       string $msg The message to qeue.
899 899
 	 * @since       1.0.19
900 900
 	 */
901
-	public function show_error( $msg ) {
902
-		$this->save_notice( 'error', $msg );
901
+	public function show_error($msg) {
902
+		$this->save_notice('error', $msg);
903 903
 	}
904 904
 
905 905
 	/**
@@ -909,8 +909,8 @@  discard block
 block discarded – undo
909 909
 	 * @param       string $msg The message to qeue.
910 910
 	 * @since       1.0.19
911 911
 	 */
912
-	public function show_warning( $msg ) {
913
-		$this->save_notice( 'warning', $msg );
912
+	public function show_warning($msg) {
913
+		$this->save_notice('warning', $msg);
914 914
 	}
915 915
 
916 916
 	/**
@@ -920,8 +920,8 @@  discard block
 block discarded – undo
920 920
 	 * @param       string $msg The message to qeue.
921 921
 	 * @since       1.0.19
922 922
 	 */
923
-	public function show_info( $msg ) {
924
-		$this->save_notice( 'info', $msg );
923
+	public function show_info($msg) {
924
+		$this->save_notice('info', $msg);
925 925
 	}
926 926
 
927 927
 	/**
@@ -935,29 +935,29 @@  discard block
 block discarded – undo
935 935
         $notices = $this->get_notices();
936 936
         $this->clear_notices();
937 937
 
938
-		foreach ( $notices as $type => $messages ) {
938
+		foreach ($notices as $type => $messages) {
939 939
 
940
-			if ( ! is_array( $messages ) ) {
940
+			if (!is_array($messages)) {
941 941
 				continue;
942 942
 			}
943 943
 
944
-            $type  = esc_attr( $type );
945
-			foreach ( $messages as $message ) {
946
-				echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
944
+            $type = esc_attr($type);
945
+			foreach ($messages as $message) {
946
+				echo wp_kses_post("<div class='notice notice-$type is-dismissible'><p>$message</p></div>");
947 947
             }
948 948
 }
949 949
 
950
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
950
+		foreach (array('checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page') as $page) {
951 951
 
952
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
953
-				$url     = wp_nonce_url(
954
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
952
+			if (!is_numeric(wpinv_get_option($page, false))) {
953
+				$url = wp_nonce_url(
954
+					add_query_arg('getpaid-admin-action', 'create_missing_pages'),
955 955
 					'getpaid-nonce',
956 956
 					'getpaid-nonce'
957 957
 				);
958
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
959
-				$message2 = __( 'Generate Pages', 'invoicing' );
960
-				echo wp_kses_post( "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>" );
958
+				$message  = __('Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing');
959
+				$message2 = __('Generate Pages', 'invoicing');
960
+				echo wp_kses_post("<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>");
961 961
 				break;
962 962
 			}
963 963
 }
Please login to merge, or discard this patch.
includes/admin/admin-pages.php 2 patches
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -57,8 +57,8 @@  discard block
 block discarded – undo
57 57
             'getpaid-nonce',
58 58
             'getpaid-nonce'
59 59
         );
60
-		$anchor = __( 'Deactivate', 'invoicing' );
61
-		$title  = esc_attr__( 'Are you sure you want to deactivate this discount?', 'invoicing' );
60
+        $anchor = __( 'Deactivate', 'invoicing' );
61
+        $title  = esc_attr__( 'Are you sure you want to deactivate this discount?', 'invoicing' );
62 62
         $row_actions['deactivate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
63 63
 
64 64
     } elseif ( in_array( strtolower( $discount->post_status ), array( 'pending', 'draft' ) ) && wpinv_current_user_can( 'activate_discount', array( 'discount' => (int) $discount->ID ) ) ) {
@@ -73,8 +73,8 @@  discard block
 block discarded – undo
73 73
             'getpaid-nonce',
74 74
             'getpaid-nonce'
75 75
         );
76
-		$anchor = __( 'Activate', 'invoicing' );
77
-		$title  = esc_attr__( 'Are you sure you want to activate this discount?', 'invoicing' );
76
+        $anchor = __( 'Activate', 'invoicing' );
77
+        $title  = esc_attr__( 'Are you sure you want to activate this discount?', 'invoicing' );
78 78
         $row_actions['activate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
79 79
 
80 80
     }
@@ -121,13 +121,13 @@  discard block
 block discarded – undo
121 121
             $types = wpinv_get_discount_types();
122 122
 
123 123
             foreach ( $types as $name => $type ) {
124
-			echo '<option value="' . esc_attr( $name ) . '"';
124
+            echo '<option value="' . esc_attr( $name ) . '"';
125 125
 
126
-			if ( isset( $_GET['discount_type'] ) ) {
127
-				selected( $name, sanitize_text_field( $_GET['discount_type'] ) );
126
+            if ( isset( $_GET['discount_type'] ) ) {
127
+                selected( $name, sanitize_text_field( $_GET['discount_type'] ) );
128 128
                 }
129 129
 
130
-			echo '>' . esc_html__( $type, 'invoicing' ) . '</option>';
130
+            echo '>' . esc_html__( $type, 'invoicing' ) . '</option>';
131 131
             }
132 132
         ?>
133 133
     </select>
@@ -154,15 +154,15 @@  discard block
 block discarded – undo
154 154
         // Filter vat rule type
155 155
         if ( isset( $_GET['discount_type'] ) && $_GET['discount_type'] !== '' ) {
156 156
             $meta_query[] = array(
157
-				'key'     => '_wpi_discount_type',
158
-				'value'   => sanitize_key( urldecode( $_GET['discount_type'] ) ),
159
-				'compare' => '=',
160
-			);
161
-			}
157
+                'key'     => '_wpi_discount_type',
158
+                'value'   => sanitize_key( urldecode( $_GET['discount_type'] ) ),
159
+                'compare' => '=',
160
+            );
161
+            }
162 162
 
163 163
         if ( ! empty( $meta_query ) ) {
164 164
             $vars['meta_query'] = $meta_query;
165
-			}
165
+            }
166 166
     }
167 167
 
168 168
     return $vars;
Please login to merge, or discard this patch.
Spacing   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -1,51 +1,51 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // MUST have WordPress.
3
-if ( ! defined( 'WPINC' ) ) {
3
+if (!defined('WPINC')) {
4 4
     exit;
5 5
 }
6 6
 
7
-add_action( 'manage_wpi_discount_posts_custom_column', 'wpinv_discount_custom_column' );
8
-function wpinv_discount_custom_column( $column ) {
7
+add_action('manage_wpi_discount_posts_custom_column', 'wpinv_discount_custom_column');
8
+function wpinv_discount_custom_column($column) {
9 9
     global $post;
10 10
 
11
-    $discount = new WPInv_Discount( $post );
11
+    $discount = new WPInv_Discount($post);
12 12
 
13
-    switch ( $column ) {
13
+    switch ($column) {
14 14
         case 'code':
15
-            echo esc_html( $discount->get_code() );
15
+            echo esc_html($discount->get_code());
16 16
             break;
17 17
         case 'amount':
18
-            echo wp_kses_post( $discount->get_formatted_amount() );
18
+            echo wp_kses_post($discount->get_formatted_amount());
19 19
             break;
20 20
         case 'usage':
21
-            echo wp_kses_post( $discount->get_usage() );
21
+            echo wp_kses_post($discount->get_usage());
22 22
             break;
23 23
         case 'start_date':
24
-            echo wp_kses_post( getpaid_format_date_value( $discount->get_start_date() ) );
24
+            echo wp_kses_post(getpaid_format_date_value($discount->get_start_date()));
25 25
             break;
26 26
         case 'expiry_date':
27
-            echo wp_kses_post( getpaid_format_date_value( $discount->get_expiration_date(), __( 'Never', 'invoicing' ) ) );
27
+            echo wp_kses_post(getpaid_format_date_value($discount->get_expiration_date(), __('Never', 'invoicing')));
28 28
             break;
29 29
     }
30 30
 }
31 31
 
32
-add_filter( 'post_row_actions', 'wpinv_post_row_actions', 90, 2 );
33
-function wpinv_post_row_actions( $actions, $post ) {
34
-    $post_type = ! empty( $post->post_type ) ? $post->post_type : '';
32
+add_filter('post_row_actions', 'wpinv_post_row_actions', 90, 2);
33
+function wpinv_post_row_actions($actions, $post) {
34
+    $post_type = !empty($post->post_type) ? $post->post_type : '';
35 35
 
36
-    if ( $post_type == 'wpi_discount' ) {
37
-        $actions = wpinv_discount_row_actions( $post, $actions );
36
+    if ($post_type == 'wpi_discount') {
37
+        $actions = wpinv_discount_row_actions($post, $actions);
38 38
     }
39 39
 
40 40
     return $actions;
41 41
 }
42 42
 
43
-function wpinv_discount_row_actions( $discount, $row_actions ) {
44
-    $row_actions  = array();
45
-    $edit_link = get_edit_post_link( $discount->ID );
46
-    $row_actions['edit'] = '<a href="' . esc_url( $edit_link ) . '">' . __( 'Edit', 'invoicing' ) . '</a>';
43
+function wpinv_discount_row_actions($discount, $row_actions) {
44
+    $row_actions = array();
45
+    $edit_link = get_edit_post_link($discount->ID);
46
+    $row_actions['edit'] = '<a href="' . esc_url($edit_link) . '">' . __('Edit', 'invoicing') . '</a>';
47 47
 
48
-    if ( in_array( strtolower( $discount->post_status ), array( 'publish' ) ) && wpinv_current_user_can( 'deactivate_discount', array( 'discount' => (int) $discount->ID ) ) ) {
48
+    if (in_array(strtolower($discount->post_status), array('publish')) && wpinv_current_user_can('deactivate_discount', array('discount' => (int) $discount->ID))) {
49 49
 
50 50
         $url = wp_nonce_url(
51 51
             add_query_arg(
@@ -57,13 +57,13 @@  discard block
 block discarded – undo
57 57
             'getpaid-nonce',
58 58
             'getpaid-nonce'
59 59
         );
60
-		$anchor = __( 'Deactivate', 'invoicing' );
61
-		$title  = esc_attr__( 'Are you sure you want to deactivate this discount?', 'invoicing' );
60
+		$anchor = __('Deactivate', 'invoicing');
61
+		$title  = esc_attr__('Are you sure you want to deactivate this discount?', 'invoicing');
62 62
         $row_actions['deactivate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
63 63
 
64
-    } elseif ( in_array( strtolower( $discount->post_status ), array( 'pending', 'draft' ) ) && wpinv_current_user_can( 'activate_discount', array( 'discount' => (int) $discount->ID ) ) ) {
64
+    } elseif (in_array(strtolower($discount->post_status), array('pending', 'draft')) && wpinv_current_user_can('activate_discount', array('discount' => (int) $discount->ID))) {
65 65
 
66
-        $url    = wp_nonce_url(
66
+        $url = wp_nonce_url(
67 67
             add_query_arg(
68 68
                 array(
69 69
                     'getpaid-admin-action' => 'activate_discount',
@@ -73,14 +73,14 @@  discard block
 block discarded – undo
73 73
             'getpaid-nonce',
74 74
             'getpaid-nonce'
75 75
         );
76
-		$anchor = __( 'Activate', 'invoicing' );
77
-		$title  = esc_attr__( 'Are you sure you want to activate this discount?', 'invoicing' );
76
+		$anchor = __('Activate', 'invoicing');
77
+		$title  = esc_attr__('Are you sure you want to activate this discount?', 'invoicing');
78 78
         $row_actions['activate'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
79 79
 
80 80
     }
81 81
 
82
-    if ( wpinv_current_user_can( 'delete_discount', array( 'discount' => (int) $discount->ID ) ) ) {
83
-        $url    = esc_url(
82
+    if (wpinv_current_user_can('delete_discount', array('discount' => (int) $discount->ID))) {
83
+        $url = esc_url(
84 84
             wp_nonce_url(
85 85
                 add_query_arg(
86 86
                     array(
@@ -93,12 +93,12 @@  discard block
 block discarded – undo
93 93
             )
94 94
     );
95 95
 
96
-        $anchor = __( 'Delete', 'invoicing' );
97
-        $title  = esc_attr__( 'Are you sure you want to delete this discount?', 'invoicing' );
96
+        $anchor = __('Delete', 'invoicing');
97
+        $title  = esc_attr__('Are you sure you want to delete this discount?', 'invoicing');
98 98
         $row_actions['delete'] = "<a href='$url' onclick='return confirm(\"$title\")'>$anchor</a>";
99 99
     }
100 100
 
101
-    $row_actions = apply_filters( 'wpinv_discount_row_actions', $row_actions, $discount );
101
+    $row_actions = apply_filters('wpinv_discount_row_actions', $row_actions, $discount);
102 102
 
103 103
     return $row_actions;
104 104
 }
@@ -106,68 +106,68 @@  discard block
 block discarded – undo
106 106
 function wpinv_restrict_manage_posts() {
107 107
     global $typenow;
108 108
 
109
-    if ( 'wpi_discount' == $typenow ) {
109
+    if ('wpi_discount' == $typenow) {
110 110
         wpinv_discount_filters();
111 111
     }
112 112
 }
113
-add_action( 'restrict_manage_posts', 'wpinv_restrict_manage_posts', 10 );
113
+add_action('restrict_manage_posts', 'wpinv_restrict_manage_posts', 10);
114 114
 
115 115
 function wpinv_discount_filters() {
116 116
 
117 117
     ?>
118 118
     <select name="discount_type" id="dropdown_wpinv_discount_type">
119
-        <option value=""><?php esc_html_e( 'Show all types', 'invoicing' ); ?></option>
119
+        <option value=""><?php esc_html_e('Show all types', 'invoicing'); ?></option>
120 120
         <?php
121 121
             $types = wpinv_get_discount_types();
122 122
 
123
-            foreach ( $types as $name => $type ) {
124
-			echo '<option value="' . esc_attr( $name ) . '"';
123
+            foreach ($types as $name => $type) {
124
+			echo '<option value="' . esc_attr($name) . '"';
125 125
 
126
-			if ( isset( $_GET['discount_type'] ) ) {
127
-				selected( $name, sanitize_text_field( $_GET['discount_type'] ) );
126
+			if (isset($_GET['discount_type'])) {
127
+				selected($name, sanitize_text_field($_GET['discount_type']));
128 128
                 }
129 129
 
130
-			echo '>' . esc_html__( $type, 'invoicing' ) . '</option>';
130
+			echo '>' . esc_html__($type, 'invoicing') . '</option>';
131 131
             }
132 132
         ?>
133 133
     </select>
134 134
     <?php
135 135
 }
136 136
 
137
-function wpinv_request( $vars ) {
137
+function wpinv_request($vars) {
138 138
     global $typenow, $wp_post_statuses;
139 139
 
140
-    if ( getpaid_is_invoice_post_type( $typenow ) ) {
141
-        if ( ! isset( $vars['post_status'] ) ) {
142
-            $post_statuses = wpinv_get_invoice_statuses( false, false, $typenow );
140
+    if (getpaid_is_invoice_post_type($typenow)) {
141
+        if (!isset($vars['post_status'])) {
142
+            $post_statuses = wpinv_get_invoice_statuses(false, false, $typenow);
143 143
 
144
-            foreach ( $post_statuses as $status => $value ) {
145
-                if ( isset( $wp_post_statuses[ $status ] ) && false === $wp_post_statuses[ $status ]->show_in_admin_all_list ) {
146
-                    unset( $post_statuses[ $status ] );
144
+            foreach ($post_statuses as $status => $value) {
145
+                if (isset($wp_post_statuses[$status]) && false === $wp_post_statuses[$status]->show_in_admin_all_list) {
146
+                    unset($post_statuses[$status]);
147 147
                 }
148 148
             }
149 149
 
150
-            $vars['post_status'] = array_keys( $post_statuses );
150
+            $vars['post_status'] = array_keys($post_statuses);
151 151
         }
152
-} elseif ( 'wpi_discount' == $typenow ) {
153
-        $meta_query = ! empty( $vars['meta_query'] ) ? $vars['meta_query'] : array();
152
+} elseif ('wpi_discount' == $typenow) {
153
+        $meta_query = !empty($vars['meta_query']) ? $vars['meta_query'] : array();
154 154
         // Filter vat rule type
155
-        if ( isset( $_GET['discount_type'] ) && $_GET['discount_type'] !== '' ) {
155
+        if (isset($_GET['discount_type']) && $_GET['discount_type'] !== '') {
156 156
             $meta_query[] = array(
157 157
 				'key'     => '_wpi_discount_type',
158
-				'value'   => sanitize_key( urldecode( $_GET['discount_type'] ) ),
158
+				'value'   => sanitize_key(urldecode($_GET['discount_type'])),
159 159
 				'compare' => '=',
160 160
 			);
161 161
 			}
162 162
 
163
-        if ( ! empty( $meta_query ) ) {
163
+        if (!empty($meta_query)) {
164 164
             $vars['meta_query'] = $meta_query;
165 165
 			}
166 166
     }
167 167
 
168 168
     return $vars;
169 169
 }
170
-add_filter( 'request', 'wpinv_request' );
170
+add_filter('request', 'wpinv_request');
171 171
 
172 172
 /**
173 173
  * Create a page and store the ID in an option.
@@ -179,61 +179,61 @@  discard block
 block discarded – undo
179 179
  * @param int $post_parent (default: 0) Parent for the new page
180 180
  * @return int page ID
181 181
  */
182
-function wpinv_create_page( $slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0 ) {
182
+function wpinv_create_page($slug, $option = '', $page_title = '', $page_content = '', $post_parent = 0) {
183 183
     global $wpdb;
184 184
 
185
-    $option_value = wpinv_get_option( $option );
185
+    $option_value = wpinv_get_option($option);
186 186
 
187
-    if ( ! empty( $option_value ) && ( $page_object = get_post( $option_value ) ) ) {
188
-        if ( 'page' === $page_object->post_type && ! in_array( $page_object->post_status, array( 'pending', 'trash', 'future', 'auto-draft' ) ) ) {
187
+    if (!empty($option_value) && ($page_object = get_post($option_value))) {
188
+        if ('page' === $page_object->post_type && !in_array($page_object->post_status, array('pending', 'trash', 'future', 'auto-draft'))) {
189 189
             // Valid page is already in place
190 190
             return $page_object->ID;
191 191
         }
192 192
     }
193 193
 
194
-    if ( ! empty( $post_parent ) ) {
195
-        $page = get_page_by_path( $post_parent );
196
-        if ( $page ) {
194
+    if (!empty($post_parent)) {
195
+        $page = get_page_by_path($post_parent);
196
+        if ($page) {
197 197
             $post_parent = $page->ID;
198 198
         } else {
199 199
             $post_parent = '';
200 200
         }
201 201
     }
202 202
 
203
-    if ( strlen( $page_content ) > 0 ) {
203
+    if (strlen($page_content) > 0) {
204 204
         // Search for an existing page with the specified page content (typically a shortcode)
205
-        $valid_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_content LIKE %s LIMIT 1;", "%{$page_content}%" ) );
205
+        $valid_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' ) AND post_content LIKE %s LIMIT 1;", "%{$page_content}%"));
206 206
     } else {
207 207
         // Search for an existing page with the specified page slug
208
-        $valid_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' )  AND post_name = %s LIMIT 1;", $slug ) );
208
+        $valid_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status NOT IN ( 'pending', 'trash', 'future', 'auto-draft' )  AND post_name = %s LIMIT 1;", $slug));
209 209
     }
210 210
 
211
-    $valid_page_found = apply_filters( 'wpinv_create_page_id', $valid_page_found, $slug, $page_content );
211
+    $valid_page_found = apply_filters('wpinv_create_page_id', $valid_page_found, $slug, $page_content);
212 212
 
213
-    if ( $valid_page_found ) {
214
-        if ( $option ) {
215
-            wpinv_update_option( $option, $valid_page_found );
213
+    if ($valid_page_found) {
214
+        if ($option) {
215
+            wpinv_update_option($option, $valid_page_found);
216 216
         }
217 217
         return $valid_page_found;
218 218
     }
219 219
 
220 220
     // Search for a matching valid trashed page
221
-    if ( strlen( $page_content ) > 0 ) {
221
+    if (strlen($page_content) > 0) {
222 222
         // Search for an existing page with the specified page content (typically a shortcode)
223
-        $trashed_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_content LIKE %s LIMIT 1;", "%{$page_content}%" ) );
223
+        $trashed_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_content LIKE %s LIMIT 1;", "%{$page_content}%"));
224 224
     } else {
225 225
         // Search for an existing page with the specified page slug
226
-        $trashed_page_found = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_name = %s LIMIT 1;", $slug ) );
226
+        $trashed_page_found = $wpdb->get_var($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_type='page' AND post_status = 'trash' AND post_name = %s LIMIT 1;", $slug));
227 227
     }
228 228
 
229
-    if ( $trashed_page_found ) {
229
+    if ($trashed_page_found) {
230 230
         $page_id   = $trashed_page_found;
231 231
         $page_data = array(
232 232
             'ID'          => $page_id,
233 233
             'post_status' => 'publish',
234 234
             'post_parent' => $post_parent,
235 235
         );
236
-        wp_update_post( $page_data );
236
+        wp_update_post($page_data);
237 237
     } else {
238 238
         $page_data = array(
239 239
             'post_status'    => 'publish',
@@ -245,11 +245,11 @@  discard block
 block discarded – undo
245 245
             'post_parent'    => $post_parent,
246 246
             'comment_status' => 'closed',
247 247
         );
248
-        $page_id = wp_insert_post( $page_data );
248
+        $page_id = wp_insert_post($page_data);
249 249
     }
250 250
 
251
-    if ( $option ) {
252
-        wpinv_update_option( $option, (int) $page_id );
251
+    if ($option) {
252
+        wpinv_update_option($option, (int) $page_id);
253 253
     }
254 254
 
255 255
     return $page_id;
@@ -262,11 +262,11 @@  discard block
 block discarded – undo
262 262
  *
263 263
  * @return array
264 264
  */
265
-function wpinv_add_aui_screens( $screen_ids ) {
265
+function wpinv_add_aui_screens($screen_ids) {
266 266
 
267 267
     // load on these pages if set
268
-    $screen_ids = array_merge( $screen_ids, wpinv_get_screen_ids() );
268
+    $screen_ids = array_merge($screen_ids, wpinv_get_screen_ids());
269 269
 
270 270
     return $screen_ids;
271 271
 }
272
-add_filter( 'aui_screen_ids', 'wpinv_add_aui_screens' );
272
+add_filter('aui_screen_ids', 'wpinv_add_aui_screens');
Please login to merge, or discard this patch.
includes/invoice-functions.php 1 patch
Spacing   +365 added lines, -365 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Retrieves the current invoice.
@@ -14,15 +14,15 @@  discard block
 block discarded – undo
14 14
 function getpaid_get_current_invoice_id() {
15 15
 
16 16
     // Ensure that we have an invoice key.
17
-    if ( empty( $_GET['invoice_key'] ) ) {
17
+    if (empty($_GET['invoice_key'])) {
18 18
         return 0;
19 19
     }
20 20
 
21 21
     // Retrieve an invoice using the key.
22
-    $invoice = new WPInv_Invoice( sanitize_text_field( $_GET['invoice_key'] ) );
22
+    $invoice = new WPInv_Invoice(sanitize_text_field($_GET['invoice_key']));
23 23
 
24 24
     // Compare the invoice key and the parsed key.
25
-    if ( $invoice->get_id() != 0 && $invoice->get_key() == sanitize_text_field( $_GET['invoice_key'] ) ) {
25
+    if ($invoice->get_id() != 0 && $invoice->get_key() == sanitize_text_field($_GET['invoice_key'])) {
26 26
         return $invoice->get_id();
27 27
     }
28 28
 
@@ -32,42 +32,42 @@  discard block
 block discarded – undo
32 32
 /**
33 33
  * Checks if the current user cna view an invoice.
34 34
  */
35
-function wpinv_user_can_view_invoice( $invoice ) {
36
-    $invoice = new WPInv_Invoice( $invoice );
35
+function wpinv_user_can_view_invoice($invoice) {
36
+    $invoice = new WPInv_Invoice($invoice);
37 37
 
38 38
     // Abort if the invoice does not exist.
39
-    if ( 0 == $invoice->get_id() ) {
39
+    if (0 == $invoice->get_id()) {
40 40
         return false;
41 41
     }
42 42
 
43 43
     // Don't allow trash, draft status
44
-    if ( $invoice->is_draft() ) {
44
+    if ($invoice->is_draft()) {
45 45
         return false;
46 46
     }
47 47
 
48 48
     // If users are not required to login to check out, compare the invoice keys.
49
-    if ( ! wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && sanitize_text_field( $_GET['invoice_key'] ) == $invoice->get_key() ) {
49
+    if (!wpinv_require_login_to_checkout() && isset($_GET['invoice_key']) && sanitize_text_field($_GET['invoice_key']) == $invoice->get_key()) {
50 50
         return true;
51 51
     }
52 52
 
53 53
     // Always enable for admins..
54
-    if ( wpinv_current_user_can( 'view_invoice', array( 'invoice' => $invoice ) ) || current_user_can( 'view_invoices', $invoice->get_id() ) ) { // Admin user
54
+    if (wpinv_current_user_can('view_invoice', array('invoice' => $invoice)) || current_user_can('view_invoices', $invoice->get_id())) { // Admin user
55 55
         return true;
56 56
     }
57 57
 
58 58
     // Else, ensure that this is their invoice.
59
-    if ( is_user_logged_in() && $invoice->get_user_id() == get_current_user_id() ) {
59
+    if (is_user_logged_in() && $invoice->get_user_id() == get_current_user_id()) {
60 60
         return true;
61 61
     }
62 62
 
63
-    return apply_filters( 'wpinv_current_user_can_view_invoice', false, $invoice );
63
+    return apply_filters('wpinv_current_user_can_view_invoice', false, $invoice);
64 64
 }
65 65
 
66 66
 /**
67 67
  * Checks if the current user cna view an invoice receipt.
68 68
  */
69
-function wpinv_can_view_receipt( $invoice ) {
70
-	return (bool) apply_filters( 'wpinv_can_view_receipt', wpinv_user_can_view_invoice( $invoice ), $invoice );
69
+function wpinv_can_view_receipt($invoice) {
70
+	return (bool) apply_filters('wpinv_can_view_receipt', wpinv_user_can_view_invoice($invoice), $invoice);
71 71
 }
72 72
 
73 73
 /**
@@ -77,16 +77,16 @@  discard block
 block discarded – undo
77 77
  */
78 78
 function getpaid_get_invoice_post_types() {
79 79
     $post_types = array(
80
-        'wpi_quote'   => __( 'Quote', 'invoicing' ),
81
-        'wpi_invoice' => __( 'Invoice', 'invoicing' ),
80
+        'wpi_quote'   => __('Quote', 'invoicing'),
81
+        'wpi_invoice' => __('Invoice', 'invoicing'),
82 82
     );
83 83
 
84 84
     // Ensure the quotes addon is installed.
85
-    if ( ! defined( 'WPINV_QUOTES_VERSION' ) ) {
86
-        unset( $post_types['wpi_quote'] );
85
+    if (!defined('WPINV_QUOTES_VERSION')) {
86
+        unset($post_types['wpi_quote']);
87 87
     }
88 88
 
89
-    return apply_filters( 'getpaid_invoice_post_types', $post_types );
89
+    return apply_filters('getpaid_invoice_post_types', $post_types);
90 90
 }
91 91
 
92 92
 /**
@@ -95,8 +95,8 @@  discard block
 block discarded – undo
95 95
  *
96 96
  * @param string $post_type The post type to check for.
97 97
  */
98
-function getpaid_is_invoice_post_type( $post_type ) {
99
-    return is_scalar( $post_type ) && ! empty( $post_type ) && array_key_exists( $post_type, getpaid_get_invoice_post_types() );
98
+function getpaid_is_invoice_post_type($post_type) {
99
+    return is_scalar($post_type) && !empty($post_type) && array_key_exists($post_type, getpaid_get_invoice_post_types());
100 100
 }
101 101
 
102 102
 /**
@@ -106,9 +106,9 @@  discard block
 block discarded – undo
106 106
  * @param  bool  $wp_error       Whether to return false or WP_Error on failure.
107 107
  * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success.
108 108
  */
109
-function wpinv_create_invoice( $data = array(), $deprecated = null, $wp_error = false ) {
109
+function wpinv_create_invoice($data = array(), $deprecated = null, $wp_error = false) {
110 110
     $data['invoice_id'] = 0;
111
-    return wpinv_insert_invoice( $data, $wp_error );
111
+    return wpinv_insert_invoice($data, $wp_error);
112 112
 }
113 113
 
114 114
 /**
@@ -118,35 +118,35 @@  discard block
 block discarded – undo
118 118
  * @param  bool  $wp_error       Whether to return false or WP_Error on failure.
119 119
  * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success.
120 120
  */
121
-function wpinv_update_invoice( $data = array(), $wp_error = false ) {
121
+function wpinv_update_invoice($data = array(), $wp_error = false) {
122 122
 
123 123
     // Backwards compatibility.
124
-    if ( ! empty( $data['ID'] ) ) {
124
+    if (!empty($data['ID'])) {
125 125
         $data['invoice_id'] = $data['ID'];
126 126
     }
127 127
 
128 128
     // Do we have an invoice id?
129
-    if ( empty( $data['invoice_id'] ) ) {
130
-        return $wp_error ? new WP_Error( 'invalid_invoice_id', __( 'Invalid invoice ID.', 'invoicing' ) ) : 0;
129
+    if (empty($data['invoice_id'])) {
130
+        return $wp_error ? new WP_Error('invalid_invoice_id', __('Invalid invoice ID.', 'invoicing')) : 0;
131 131
     }
132 132
 
133 133
     // Retrieve the invoice.
134
-    $invoice = wpinv_get_invoice( $data['invoice_id'] );
134
+    $invoice = wpinv_get_invoice($data['invoice_id']);
135 135
 
136 136
     // And abort if it does not exist.
137
-    if ( empty( $invoice ) ) {
138
-        return $wp_error ? new WP_Error( 'missing_invoice', __( 'Invoice not found.', 'invoicing' ) ) : 0;
137
+    if (empty($invoice)) {
138
+        return $wp_error ? new WP_Error('missing_invoice', __('Invoice not found.', 'invoicing')) : 0;
139 139
     }
140 140
 
141 141
     // Do not update totals for paid / refunded invoices.
142
-    if ( $invoice->is_paid() || $invoice->is_refunded() ) {
142
+    if ($invoice->is_paid() || $invoice->is_refunded()) {
143 143
 
144
-        if ( ! empty( $data['items'] ) || ! empty( $data['cart_details'] ) ) {
145
-            return $wp_error ? new WP_Error( 'paid_invoice', __( 'You can not update cart items for invoices that have already been paid for.', 'invoicing' ) ) : 0;
144
+        if (!empty($data['items']) || !empty($data['cart_details'])) {
145
+            return $wp_error ? new WP_Error('paid_invoice', __('You can not update cart items for invoices that have already been paid for.', 'invoicing')) : 0;
146 146
         }
147 147
 }
148 148
 
149
-    return wpinv_insert_invoice( $data, $wp_error );
149
+    return wpinv_insert_invoice($data, $wp_error);
150 150
 
151 151
 }
152 152
 
@@ -157,62 +157,62 @@  discard block
 block discarded – undo
157 157
  * @param  bool  $wp_error       Whether to return false or WP_Error on failure.
158 158
  * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success.
159 159
  */
160
-function wpinv_insert_invoice( $data = array(), $wp_error = false ) {
160
+function wpinv_insert_invoice($data = array(), $wp_error = false) {
161 161
 
162 162
     // Ensure that we have invoice data.
163
-    if ( empty( $data ) ) {
163
+    if (empty($data)) {
164 164
         return false;
165 165
     }
166 166
 
167 167
     // The invoice id will be provided when updating an invoice.
168
-    $data['invoice_id'] = ! empty( $data['invoice_id'] ) ? (int) $data['invoice_id'] : false;
168
+    $data['invoice_id'] = !empty($data['invoice_id']) ? (int) $data['invoice_id'] : false;
169 169
 
170 170
     // Retrieve the invoice.
171
-    $invoice = new WPInv_Invoice( $data['invoice_id'] );
171
+    $invoice = new WPInv_Invoice($data['invoice_id']);
172 172
 
173 173
     // Do we have an error?
174
-    if ( ! empty( $invoice->last_error ) ) {
175
-        return $wp_error ? new WP_Error( 'invalid_invoice_id', $invoice->last_error ) : 0;
174
+    if (!empty($invoice->last_error)) {
175
+        return $wp_error ? new WP_Error('invalid_invoice_id', $invoice->last_error) : 0;
176 176
     }
177 177
 
178 178
     // Backwards compatibility (billing address).
179
-    if ( ! empty( $data['user_info'] ) ) {
179
+    if (!empty($data['user_info'])) {
180 180
 
181
-        foreach ( $data['user_info'] as $key => $value ) {
181
+        foreach ($data['user_info'] as $key => $value) {
182 182
 
183
-            if ( $key == 'discounts' ) {
183
+            if ($key == 'discounts') {
184 184
                 $value = (array) $value;
185
-                $data['discount_code'] = empty( $value ) ? null : $value[0];
185
+                $data['discount_code'] = empty($value) ? null : $value[0];
186 186
             } else {
187
-                $data[ $key ] = $value;
187
+                $data[$key] = $value;
188 188
             }
189 189
 }
190 190
 }
191 191
 
192 192
     // Backwards compatibility.
193
-    if ( ! empty( $data['payment_details'] ) ) {
193
+    if (!empty($data['payment_details'])) {
194 194
 
195
-        foreach ( $data['payment_details'] as $key => $value ) {
196
-            $data[ $key ] = $value;
195
+        foreach ($data['payment_details'] as $key => $value) {
196
+            $data[$key] = $value;
197 197
         }
198 198
 }
199 199
 
200 200
     // Set up the owner of the invoice.
201
-    $user_id = ! empty( $data['user_id'] ) ? wpinv_clean( $data['user_id'] ) : get_current_user_id();
201
+    $user_id = !empty($data['user_id']) ? wpinv_clean($data['user_id']) : get_current_user_id();
202 202
 
203 203
     // Make sure the user exists.
204
-    if ( ! get_userdata( $user_id ) ) {
205
-        return $wp_error ? new WP_Error( 'wpinv_invalid_user', __( 'There is no user with that ID.', 'invoicing' ) ) : 0;
204
+    if (!get_userdata($user_id)) {
205
+        return $wp_error ? new WP_Error('wpinv_invalid_user', __('There is no user with that ID.', 'invoicing')) : 0;
206 206
     }
207 207
 
208
-    $address = wpinv_get_user_address( $user_id );
208
+    $address = wpinv_get_user_address($user_id);
209 209
 
210
-    foreach ( $address as $key => $value ) {
210
+    foreach ($address as $key => $value) {
211 211
 
212
-        if ( $value == '' ) {
213
-            $address[ $key ] = null;
212
+        if ($value == '') {
213
+            $address[$key] = null;
214 214
         } else {
215
-            $address[ $key ] = wpinv_clean( $value );
215
+            $address[$key] = wpinv_clean($value);
216 216
         }
217 217
 }
218 218
 
@@ -221,101 +221,101 @@  discard block
 block discarded – undo
221 221
         array(
222 222
 
223 223
             // Basic info.
224
-            'template'          => isset( $data['template'] ) ? wpinv_clean( $data['template'] ) : null,
225
-            'email_cc'          => isset( $data['email_cc'] ) ? wpinv_clean( $data['email_cc'] ) : null,
226
-            'date_created'      => isset( $data['created_date'] ) ? wpinv_clean( $data['created_date'] ) : null,
227
-            'due_date'          => isset( $data['due_date'] ) ? wpinv_clean( $data['due_date'] ) : null,
228
-            'date_completed'    => isset( $data['date_completed'] ) ? wpinv_clean( $data['date_completed'] ) : null,
229
-            'number'            => isset( $data['number'] ) ? wpinv_clean( $data['number'] ) : null,
230
-            'key'               => isset( $data['key'] ) ? wpinv_clean( $data['key'] ) : null,
231
-            'status'            => isset( $data['status'] ) ? wpinv_clean( $data['status'] ) : null,
232
-            'post_type'         => isset( $data['post_type'] ) ? wpinv_clean( $data['post_type'] ) : null,
233
-            'user_ip'           => isset( $data['ip'] ) ? wpinv_clean( $data['ip'] ) : wpinv_get_ip(),
234
-            'parent_id'         => isset( $data['parent'] ) ? intval( $data['parent'] ) : null,
235
-            'mode'              => isset( $data['mode'] ) ? wpinv_clean( $data['mode'] ) : null,
236
-            'description'       => isset( $data['description'] ) ? wp_kses_post( $data['description'] ) : null,
224
+            'template'          => isset($data['template']) ? wpinv_clean($data['template']) : null,
225
+            'email_cc'          => isset($data['email_cc']) ? wpinv_clean($data['email_cc']) : null,
226
+            'date_created'      => isset($data['created_date']) ? wpinv_clean($data['created_date']) : null,
227
+            'due_date'          => isset($data['due_date']) ? wpinv_clean($data['due_date']) : null,
228
+            'date_completed'    => isset($data['date_completed']) ? wpinv_clean($data['date_completed']) : null,
229
+            'number'            => isset($data['number']) ? wpinv_clean($data['number']) : null,
230
+            'key'               => isset($data['key']) ? wpinv_clean($data['key']) : null,
231
+            'status'            => isset($data['status']) ? wpinv_clean($data['status']) : null,
232
+            'post_type'         => isset($data['post_type']) ? wpinv_clean($data['post_type']) : null,
233
+            'user_ip'           => isset($data['ip']) ? wpinv_clean($data['ip']) : wpinv_get_ip(),
234
+            'parent_id'         => isset($data['parent']) ? intval($data['parent']) : null,
235
+            'mode'              => isset($data['mode']) ? wpinv_clean($data['mode']) : null,
236
+            'description'       => isset($data['description']) ? wp_kses_post($data['description']) : null,
237 237
 
238 238
             // Payment info.
239
-            'disable_taxes'     => ! empty( $data['disable_taxes'] ),
240
-            'currency'          => isset( $data['currency'] ) ? wpinv_clean( $data['currency'] ) : wpinv_get_currency(),
241
-            'gateway'           => isset( $data['gateway'] ) ? wpinv_clean( $data['gateway'] ) : null,
242
-            'transaction_id'    => isset( $data['transaction_id'] ) ? wpinv_clean( $data['transaction_id'] ) : null,
243
-            'discount_code'     => isset( $data['discount_code'] ) ? wpinv_clean( $data['discount_code'] ) : null,
244
-            'payment_form'      => isset( $data['payment_form'] ) ? intval( $data['payment_form'] ) : null,
245
-            'submission_id'     => isset( $data['submission_id'] ) ? wpinv_clean( $data['submission_id'] ) : null,
246
-            'subscription_id'   => isset( $data['subscription_id'] ) ? wpinv_clean( $data['subscription_id'] ) : null,
247
-            'is_viewed'         => isset( $data['is_viewed'] ) ? wpinv_clean( $data['is_viewed'] ) : null,
248
-            'fees'              => isset( $data['fees'] ) ? wpinv_clean( $data['fees'] ) : null,
249
-            'discounts'         => isset( $data['discounts'] ) ? wpinv_clean( $data['discounts'] ) : null,
250
-            'taxes'             => isset( $data['taxes'] ) ? wpinv_clean( $data['taxes'] ) : null,
239
+            'disable_taxes'     => !empty($data['disable_taxes']),
240
+            'currency'          => isset($data['currency']) ? wpinv_clean($data['currency']) : wpinv_get_currency(),
241
+            'gateway'           => isset($data['gateway']) ? wpinv_clean($data['gateway']) : null,
242
+            'transaction_id'    => isset($data['transaction_id']) ? wpinv_clean($data['transaction_id']) : null,
243
+            'discount_code'     => isset($data['discount_code']) ? wpinv_clean($data['discount_code']) : null,
244
+            'payment_form'      => isset($data['payment_form']) ? intval($data['payment_form']) : null,
245
+            'submission_id'     => isset($data['submission_id']) ? wpinv_clean($data['submission_id']) : null,
246
+            'subscription_id'   => isset($data['subscription_id']) ? wpinv_clean($data['subscription_id']) : null,
247
+            'is_viewed'         => isset($data['is_viewed']) ? wpinv_clean($data['is_viewed']) : null,
248
+            'fees'              => isset($data['fees']) ? wpinv_clean($data['fees']) : null,
249
+            'discounts'         => isset($data['discounts']) ? wpinv_clean($data['discounts']) : null,
250
+            'taxes'             => isset($data['taxes']) ? wpinv_clean($data['taxes']) : null,
251 251
 
252 252
             // Billing details.
253 253
             'user_id'           => $data['user_id'],
254
-            'first_name'        => isset( $data['first_name'] ) ? wpinv_clean( $data['first_name'] ) : $address['first_name'],
255
-            'last_name'         => isset( $data['last_name'] ) ? wpinv_clean( $data['last_name'] ) : $address['last_name'],
256
-            'address'           => isset( $data['address'] ) ? wpinv_clean( $data['address'] ) : $address['address'],
257
-            'vat_number'        => isset( $data['vat_number'] ) ? wpinv_clean( $data['vat_number'] ) : $address['vat_number'],
258
-            'company'           => isset( $data['company'] ) ? wpinv_clean( $data['company'] ) : $address['company'],
259
-            'zip'               => isset( $data['zip'] ) ? wpinv_clean( $data['zip'] ) : $address['zip'],
260
-            'state'             => isset( $data['state'] ) ? wpinv_clean( $data['state'] ) : $address['state'],
261
-            'city'              => isset( $data['city'] ) ? wpinv_clean( $data['city'] ) : $address['city'],
262
-            'country'           => isset( $data['country'] ) ? wpinv_clean( $data['country'] ) : $address['country'],
263
-            'phone'             => isset( $data['phone'] ) ? wpinv_clean( $data['phone'] ) : $address['phone'],
264
-            'address_confirmed' => ! empty( $data['address_confirmed'] ),
254
+            'first_name'        => isset($data['first_name']) ? wpinv_clean($data['first_name']) : $address['first_name'],
255
+            'last_name'         => isset($data['last_name']) ? wpinv_clean($data['last_name']) : $address['last_name'],
256
+            'address'           => isset($data['address']) ? wpinv_clean($data['address']) : $address['address'],
257
+            'vat_number'        => isset($data['vat_number']) ? wpinv_clean($data['vat_number']) : $address['vat_number'],
258
+            'company'           => isset($data['company']) ? wpinv_clean($data['company']) : $address['company'],
259
+            'zip'               => isset($data['zip']) ? wpinv_clean($data['zip']) : $address['zip'],
260
+            'state'             => isset($data['state']) ? wpinv_clean($data['state']) : $address['state'],
261
+            'city'              => isset($data['city']) ? wpinv_clean($data['city']) : $address['city'],
262
+            'country'           => isset($data['country']) ? wpinv_clean($data['country']) : $address['country'],
263
+            'phone'             => isset($data['phone']) ? wpinv_clean($data['phone']) : $address['phone'],
264
+            'address_confirmed' => !empty($data['address_confirmed']),
265 265
 
266 266
         )
267 267
     );
268 268
 
269 269
     // Backwards compatibililty.
270
-    if ( ! empty( $data['cart_details'] ) && is_array( $data['cart_details'] ) ) {
270
+    if (!empty($data['cart_details']) && is_array($data['cart_details'])) {
271 271
         $data['items'] = array();
272 272
 
273
-        foreach ( $data['cart_details'] as $_item ) {
273
+        foreach ($data['cart_details'] as $_item) {
274 274
 
275 275
             // Ensure that we have an item id.
276
-            if ( empty( $_item['id'] ) ) {
276
+            if (empty($_item['id'])) {
277 277
                 continue;
278 278
             }
279 279
 
280 280
             // Retrieve the item.
281
-            $item = new GetPaid_Form_Item( $_item['id'] );
281
+            $item = new GetPaid_Form_Item($_item['id']);
282 282
 
283 283
             // Ensure that it is purchasable.
284
-            if ( ! $item->can_purchase() ) {
284
+            if (!$item->can_purchase()) {
285 285
                 continue;
286 286
             }
287 287
 
288 288
             // Set quantity.
289
-            if ( ! empty( $_item['quantity'] ) && is_numeric( $_item['quantity'] ) ) {
290
-                $item->set_quantity( $_item['quantity'] );
289
+            if (!empty($_item['quantity']) && is_numeric($_item['quantity'])) {
290
+                $item->set_quantity($_item['quantity']);
291 291
             }
292 292
 
293 293
             // Set price.
294
-            if ( isset( $_item['item_price'] ) ) {
295
-                $item->set_price( $_item['item_price'] );
294
+            if (isset($_item['item_price'])) {
295
+                $item->set_price($_item['item_price']);
296 296
             }
297 297
 
298
-            if ( isset( $_item['custom_price'] ) ) {
299
-                $item->set_price( $_item['custom_price'] );
298
+            if (isset($_item['custom_price'])) {
299
+                $item->set_price($_item['custom_price']);
300 300
             }
301 301
 
302 302
             // Set name.
303
-            if ( ! empty( $_item['name'] ) ) {
304
-                $item->set_name( $_item['name'] );
303
+            if (!empty($_item['name'])) {
304
+                $item->set_name($_item['name']);
305 305
             }
306 306
 
307 307
             // Set description.
308
-            if ( isset( $_item['description'] ) ) {
309
-                $item->set_custom_description( $_item['description'] );
308
+            if (isset($_item['description'])) {
309
+                $item->set_custom_description($_item['description']);
310 310
             }
311 311
 
312 312
             // Set meta.
313
-            if ( isset( $_item['meta'] ) && is_array( $_item['meta'] ) ) {
313
+            if (isset($_item['meta']) && is_array($_item['meta'])) {
314 314
 
315
-                $item->set_item_meta( $_item['meta'] );
315
+                $item->set_item_meta($_item['meta']);
316 316
 
317
-                if ( isset( $_item['meta']['description'] ) ) {
318
-                    $item->set_custom_description( $_item['meta']['description'] );
317
+                if (isset($_item['meta']['description'])) {
318
+                    $item->set_custom_description($_item['meta']['description']);
319 319
                 }
320 320
             }
321 321
 
@@ -325,14 +325,14 @@  discard block
 block discarded – undo
325 325
     }
326 326
 
327 327
     // Add invoice items.
328
-    if ( ! empty( $data['items'] ) && is_array( $data['items'] ) ) {
328
+    if (!empty($data['items']) && is_array($data['items'])) {
329 329
 
330
-        $invoice->set_items( array() );
330
+        $invoice->set_items(array());
331 331
 
332
-        foreach ( $data['items'] as $item ) {
332
+        foreach ($data['items'] as $item) {
333 333
 
334
-            if ( is_object( $item ) && is_a( $item, 'GetPaid_Form_Item' ) && $item->can_purchase() ) {
335
-                $invoice->add_item( $item );
334
+            if (is_object($item) && is_a($item, 'GetPaid_Form_Item') && $item->can_purchase()) {
335
+                $invoice->add_item($item);
336 336
             }
337 337
 }
338 338
 }
@@ -341,30 +341,30 @@  discard block
 block discarded – undo
341 341
     $invoice->recalculate_total();
342 342
     $invoice->save();
343 343
 
344
-    if ( ! $invoice->get_id() ) {
345
-        return $wp_error ? new WP_Error( 'wpinv_insert_invoice_error', __( 'An error occured when saving your invoice.', 'invoicing' ) ) : 0;
344
+    if (!$invoice->get_id()) {
345
+        return $wp_error ? new WP_Error('wpinv_insert_invoice_error', __('An error occured when saving your invoice.', 'invoicing')) : 0;
346 346
     }
347 347
 
348 348
     // Add private note.
349
-    if ( ! empty( $data['private_note'] ) ) {
350
-        $invoice->add_note( $data['private_note'] );
349
+    if (!empty($data['private_note'])) {
350
+        $invoice->add_note($data['private_note']);
351 351
     }
352 352
 
353 353
     // User notes.
354
-    if ( ! empty( $data['user_note'] ) ) {
355
-        $invoice->add_note( $data['user_note'], true );
354
+    if (!empty($data['user_note'])) {
355
+        $invoice->add_note($data['user_note'], true);
356 356
     }
357 357
 
358 358
     // Created via.
359
-    if ( isset( $data['created_via'] ) ) {
360
-        update_post_meta( $invoice->get_id(), 'wpinv_created_via', $data['created_via'] );
359
+    if (isset($data['created_via'])) {
360
+        update_post_meta($invoice->get_id(), 'wpinv_created_via', $data['created_via']);
361 361
     }
362 362
 
363 363
     // Backwards compatiblity.
364
-    if ( $invoice->is_quote() ) {
364
+    if ($invoice->is_quote()) {
365 365
 
366
-        if ( isset( $data['valid_until'] ) ) {
367
-            update_post_meta( $invoice->get_id(), 'wpinv_quote_valid_until', $data['valid_until'] );
366
+        if (isset($data['valid_until'])) {
367
+            update_post_meta($invoice->get_id(), 'wpinv_quote_valid_until', $data['valid_until']);
368 368
         }
369 369
 }
370 370
 
@@ -378,20 +378,20 @@  discard block
 block discarded – undo
378 378
  * @param $bool $deprecated
379 379
  * @return WPInv_Invoice|null
380 380
  */
381
-function wpinv_get_invoice( $invoice = 0, $deprecated = false ) {
381
+function wpinv_get_invoice($invoice = 0, $deprecated = false) {
382 382
 
383 383
     // If we are retrieving the invoice from the cart...
384
-    if ( $deprecated && empty( $invoice ) ) {
384
+    if ($deprecated && empty($invoice)) {
385 385
         $invoice = (int) getpaid_get_current_invoice_id();
386 386
     }
387 387
 
388 388
     // Retrieve the invoice.
389
-    if ( ! is_a( $invoice, 'WPInv_Invoice' ) ) {
390
-        $invoice = new WPInv_Invoice( $invoice );
389
+    if (!is_a($invoice, 'WPInv_Invoice')) {
390
+        $invoice = new WPInv_Invoice($invoice);
391 391
     }
392 392
 
393 393
     // Check if it exists.
394
-    if ( $invoice->exists() ) {
394
+    if ($invoice->exists()) {
395 395
         return $invoice;
396 396
     }
397 397
 
@@ -404,15 +404,15 @@  discard block
 block discarded – undo
404 404
  * @param array $args Args to search for.
405 405
  * @return WPInv_Invoice[]|int[]|object
406 406
  */
407
-function wpinv_get_invoices( $args ) {
407
+function wpinv_get_invoices($args) {
408 408
 
409 409
     // Prepare args.
410 410
     $args = wp_parse_args(
411 411
         $args,
412 412
         array(
413
-            'status' => array_keys( wpinv_get_invoice_statuses() ),
413
+            'status' => array_keys(wpinv_get_invoice_statuses()),
414 414
             'type'   => 'wpi_invoice',
415
-            'limit'  => get_option( 'posts_per_page' ),
415
+            'limit'  => get_option('posts_per_page'),
416 416
             'return' => 'objects',
417 417
         )
418 418
     );
@@ -430,24 +430,24 @@  discard block
 block discarded – undo
430 430
         'post__in'       => 'include',
431 431
     );
432 432
 
433
-    foreach ( $map_legacy as $to => $from ) {
434
-        if ( isset( $args[ $from ] ) ) {
435
-            $args[ $to ] = $args[ $from ];
436
-            unset( $args[ $from ] );
433
+    foreach ($map_legacy as $to => $from) {
434
+        if (isset($args[$from])) {
435
+            $args[$to] = $args[$from];
436
+            unset($args[$from]);
437 437
         }
438 438
     }
439 439
 
440 440
     // Backwards compatibility.
441
-    if ( ! empty( $args['email'] ) && empty( $args['user'] ) ) {
441
+    if (!empty($args['email']) && empty($args['user'])) {
442 442
         $args['user'] = $args['email'];
443
-        unset( $args['email'] );
443
+        unset($args['email']);
444 444
     }
445 445
 
446 446
     // Handle cases where the user is set as an email.
447
-    if ( ! empty( $args['author'] ) && is_email( $args['author'] ) ) {
448
-        $user = get_user_by( 'email', $args['user'] );
447
+    if (!empty($args['author']) && is_email($args['author'])) {
448
+        $user = get_user_by('email', $args['user']);
449 449
 
450
-        if ( $user ) {
450
+        if ($user) {
451 451
             $args['author'] = $user->user_email;
452 452
         }
453 453
 }
@@ -457,31 +457,31 @@  discard block
 block discarded – undo
457 457
 
458 458
     // Show all posts.
459 459
     $paginate = true;
460
-    if ( isset( $args['paginate'] ) ) {
460
+    if (isset($args['paginate'])) {
461 461
 
462 462
         $paginate = $args['paginate'];
463
-        $args['no_found_rows'] = empty( $args['paginate'] );
464
-        unset( $args['paginate'] );
463
+        $args['no_found_rows'] = empty($args['paginate']);
464
+        unset($args['paginate']);
465 465
 
466 466
     }
467 467
 
468 468
     // Whether to return objects or fields.
469 469
     $return = $args['return'];
470
-    unset( $args['return'] );
470
+    unset($args['return']);
471 471
 
472 472
     // Get invoices.
473
-    $invoices = new WP_Query( apply_filters( 'wpinv_get_invoices_args', $args ) );
473
+    $invoices = new WP_Query(apply_filters('wpinv_get_invoices_args', $args));
474 474
 
475 475
     // Prepare the results.
476
-    if ( 'objects' === $return ) {
477
-        $results = array_map( 'wpinv_get_invoice', $invoices->posts );
478
-    } elseif ( 'self' === $return ) {
476
+    if ('objects' === $return) {
477
+        $results = array_map('wpinv_get_invoice', $invoices->posts);
478
+    } elseif ('self' === $return) {
479 479
         return $invoices;
480 480
     } else {
481 481
         $results = $invoices->posts;
482 482
     }
483 483
 
484
-    if ( $paginate ) {
484
+    if ($paginate) {
485 485
         return (object) array(
486 486
             'invoices'      => $results,
487 487
             'total'         => $invoices->found_posts,
@@ -499,8 +499,8 @@  discard block
 block discarded – undo
499 499
  * @param string $transaction_id The transaction id to check.
500 500
  * @return int Invoice id on success or 0 on failure
501 501
  */
502
-function wpinv_get_id_by_transaction_id( $transaction_id ) {
503
-    return WPInv_Invoice::get_invoice_id_by_field( $transaction_id, 'transaction_id' );
502
+function wpinv_get_id_by_transaction_id($transaction_id) {
503
+    return WPInv_Invoice::get_invoice_id_by_field($transaction_id, 'transaction_id');
504 504
 }
505 505
 
506 506
 /**
@@ -509,8 +509,8 @@  discard block
 block discarded – undo
509 509
  * @param string $invoice_number The invoice number to check.
510 510
  * @return int Invoice id on success or 0 on failure
511 511
  */
512
-function wpinv_get_id_by_invoice_number( $invoice_number ) {
513
-    return WPInv_Invoice::get_invoice_id_by_field( $invoice_number, 'number' );
512
+function wpinv_get_id_by_invoice_number($invoice_number) {
513
+    return WPInv_Invoice::get_invoice_id_by_field($invoice_number, 'number');
514 514
 }
515 515
 
516 516
 /**
@@ -519,8 +519,8 @@  discard block
 block discarded – undo
519 519
  * @param string $invoice_key The invoice key to check.
520 520
  * @return int Invoice id on success or 0 on failure
521 521
  */
522
-function wpinv_get_invoice_id_by_key( $invoice_key ) {
523
-    return WPInv_Invoice::get_invoice_id_by_field( $invoice_key, 'key' );
522
+function wpinv_get_invoice_id_by_key($invoice_key) {
523
+    return WPInv_Invoice::get_invoice_id_by_field($invoice_key, 'key');
524 524
 }
525 525
 
526 526
 /**
@@ -530,19 +530,19 @@  discard block
 block discarded – undo
530 530
  * @param string $type Optionally filter by type i.e customer|system
531 531
  * @return array|null
532 532
  */
533
-function wpinv_get_invoice_notes( $invoice = 0, $type = '' ) {
533
+function wpinv_get_invoice_notes($invoice = 0, $type = '') {
534 534
 
535 535
     // Prepare the invoice.
536
-    $invoice = wpinv_get_invoice( $invoice );
537
-    if ( empty( $invoice ) ) {
536
+    $invoice = wpinv_get_invoice($invoice);
537
+    if (empty($invoice)) {
538 538
         return null;
539 539
     }
540 540
 
541 541
     // Fetch notes.
542
-    $notes = getpaid_notes()->get_invoice_notes( $invoice->get_id(), $type );
542
+    $notes = getpaid_notes()->get_invoice_notes($invoice->get_id(), $type);
543 543
 
544 544
     // Filter the notes.
545
-    return apply_filters( 'wpinv_invoice_notes', $notes, $invoice->get_id(), $type );
545
+    return apply_filters('wpinv_invoice_notes', $notes, $invoice->get_id(), $type);
546 546
 }
547 547
 
548 548
 /**
@@ -550,10 +550,10 @@  discard block
 block discarded – undo
550 550
  *
551 551
  * @param string $post_type
552 552
  */
553
-function wpinv_get_user_invoices_columns( $post_type = 'wpi_invoice' ) {
553
+function wpinv_get_user_invoices_columns($post_type = 'wpi_invoice') {
554 554
 
555
-    $label   = getpaid_get_post_type_label( $post_type, false );
556
-    $label   = empty( $label ) ? __( 'Invoice', 'invoicing' ) : sanitize_text_field( $label );
555
+    $label   = getpaid_get_post_type_label($post_type, false);
556
+    $label   = empty($label) ? __('Invoice', 'invoicing') : sanitize_text_field($label);
557 557
     $columns = array(
558 558
 
559 559
 		'invoice-number'  => array(
@@ -562,22 +562,22 @@  discard block
 block discarded – undo
562 562
 		),
563 563
 
564 564
 		'created-date'    => array(
565
-			'title' => __( 'Created Date', 'invoicing' ),
565
+			'title' => __('Created Date', 'invoicing'),
566 566
 			'class' => 'text-left',
567 567
 		),
568 568
 
569 569
 		'payment-date'    => array(
570
-			'title' => __( 'Payment Date', 'invoicing' ),
570
+			'title' => __('Payment Date', 'invoicing'),
571 571
 			'class' => 'text-left',
572 572
 		),
573 573
 
574 574
 		'invoice-status'  => array(
575
-			'title' => __( 'Status', 'invoicing' ),
575
+			'title' => __('Status', 'invoicing'),
576 576
 			'class' => 'text-center',
577 577
 		),
578 578
 
579 579
 		'invoice-total'   => array(
580
-			'title' => __( 'Total', 'invoicing' ),
580
+			'title' => __('Total', 'invoicing'),
581 581
 			'class' => 'text-right',
582 582
 		),
583 583
 
@@ -588,7 +588,7 @@  discard block
 block discarded – undo
588 588
 
589 589
 	);
590 590
 
591
-    return apply_filters( 'wpinv_user_invoices_columns', $columns, $post_type );
591
+    return apply_filters('wpinv_user_invoices_columns', $columns, $post_type);
592 592
 }
593 593
 
594 594
 /**
@@ -598,59 +598,59 @@  discard block
 block discarded – undo
598 598
 
599 599
     // Find the invoice.
600 600
     $invoice_id = getpaid_get_current_invoice_id();
601
-    $invoice = new WPInv_Invoice( $invoice_id );
601
+    $invoice = new WPInv_Invoice($invoice_id);
602 602
 
603 603
     // Abort if non was found.
604
-    if ( empty( $invoice_id ) || $invoice->is_draft() ) {
604
+    if (empty($invoice_id) || $invoice->is_draft()) {
605 605
 
606 606
         return aui()->alert(
607 607
             array(
608 608
                 'type'    => 'warning',
609
-                'content' => __( 'We could not find your invoice', 'invoicing' ),
609
+                'content' => __('We could not find your invoice', 'invoicing'),
610 610
             )
611 611
         );
612 612
 
613 613
     }
614 614
 
615 615
     // Can the user view this invoice?
616
-    if ( ! wpinv_can_view_receipt( $invoice_id ) ) {
616
+    if (!wpinv_can_view_receipt($invoice_id)) {
617 617
 
618 618
         return aui()->alert(
619 619
             array(
620 620
                 'type'    => 'warning',
621
-                'content' => __( 'You are not allowed to view this receipt', 'invoicing' ),
621
+                'content' => __('You are not allowed to view this receipt', 'invoicing'),
622 622
             )
623 623
         );
624 624
 
625 625
     }
626 626
 
627 627
     // Load the template.
628
-    return wpinv_get_template_html( 'invoice-receipt.php', compact( 'invoice' ) );
628
+    return wpinv_get_template_html('invoice-receipt.php', compact('invoice'));
629 629
 
630 630
 }
631 631
 
632 632
 /**
633 633
  * Displays the invoice history.
634 634
  */
635
-function getpaid_invoice_history( $user_id = 0, $post_type = 'wpi_invoice' ) {
635
+function getpaid_invoice_history($user_id = 0, $post_type = 'wpi_invoice') {
636 636
 
637 637
     // Ensure that we have a user id.
638
-    if ( empty( $user_id ) || ! is_numeric( $user_id ) ) {
638
+    if (empty($user_id) || !is_numeric($user_id)) {
639 639
         $user_id = get_current_user_id();
640 640
     }
641 641
 
642
-    $label = getpaid_get_post_type_label( $post_type );
643
-    $label = empty( $label ) ? __( 'Invoices', 'invoicing' ) : sanitize_text_field( $label );
642
+    $label = getpaid_get_post_type_label($post_type);
643
+    $label = empty($label) ? __('Invoices', 'invoicing') : sanitize_text_field($label);
644 644
 
645 645
     // View user id.
646
-    if ( empty( $user_id ) ) {
646
+    if (empty($user_id)) {
647 647
 
648 648
         return aui()->alert(
649 649
             array(
650 650
                 'type'    => 'warning',
651 651
                 'content' => sprintf(
652
-                    __( 'You must be logged in to view your %s.', 'invoicing' ),
653
-                    strtolower( $label )
652
+                    __('You must be logged in to view your %s.', 'invoicing'),
653
+                    strtolower($label)
654 654
                 ),
655 655
             )
656 656
         );
@@ -660,22 +660,22 @@  discard block
 block discarded – undo
660 660
     // Fetch invoices.
661 661
     $invoices = wpinv_get_invoices(
662 662
         array(
663
-            'page'     => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1,
663
+            'page'     => (get_query_var('paged')) ? absint(get_query_var('paged')) : 1,
664 664
             'user'     => $user_id,
665 665
             'paginate' => true,
666 666
             'type'     => $post_type,
667
-            'status'   => array_keys( wpinv_get_invoice_statuses( false, false, $post_type ) ),
667
+            'status'   => array_keys(wpinv_get_invoice_statuses(false, false, $post_type)),
668 668
         )
669 669
     );
670 670
 
671
-    if ( empty( $invoices->total ) ) {
671
+    if (empty($invoices->total)) {
672 672
 
673 673
         return aui()->alert(
674 674
             array(
675 675
                 'type'    => 'info',
676 676
                 'content' => sprintf(
677
-                    __( 'No %s found.', 'invoicing' ),
678
-                    strtolower( $label )
677
+                    __('No %s found.', 'invoicing'),
678
+                    strtolower($label)
679 679
                 ),
680 680
             )
681 681
         );
@@ -683,38 +683,38 @@  discard block
 block discarded – undo
683 683
     }
684 684
 
685 685
     // Load the template.
686
-    return wpinv_get_template_html( 'invoice-history.php', compact( 'invoices', 'post_type' ) );
686
+    return wpinv_get_template_html('invoice-history.php', compact('invoices', 'post_type'));
687 687
 
688 688
 }
689 689
 
690 690
 /**
691 691
  * Formats an invoice number given an invoice type.
692 692
  */
693
-function wpinv_format_invoice_number( $number, $type = '' ) {
693
+function wpinv_format_invoice_number($number, $type = '') {
694 694
 
695 695
     // Allow other plugins to overide this.
696
-    $check = apply_filters( 'wpinv_pre_format_invoice_number', null, $number, $type );
697
-    if ( null !== $check ) {
696
+    $check = apply_filters('wpinv_pre_format_invoice_number', null, $number, $type);
697
+    if (null !== $check) {
698 698
         return $check;
699 699
     }
700 700
 
701 701
     // Ensure that we have a numeric number.
702
-    if ( ! is_numeric( $number ) ) {
702
+    if (!is_numeric($number)) {
703 703
         return $number;
704 704
     }
705 705
 
706 706
     // Format the number.
707
-    $padd             = absint( (int) wpinv_get_option( 'invoice_number_padd', 5 ) );
708
-    $prefix           = sanitize_text_field( (string) wpinv_get_option( 'invoice_number_prefix', 'INV-' ) );
709
-    $prefix           = sanitize_text_field( apply_filters( 'getpaid_invoice_type_prefix', $prefix, $type ) );
710
-    $postfix          = sanitize_text_field( (string) wpinv_get_option( 'invoice_number_postfix' ) );
711
-    $postfix          = sanitize_text_field( apply_filters( 'getpaid_invoice_type_postfix', $postfix, $type ) );
712
-    $formatted_number = zeroise( absint( $number ), $padd );
707
+    $padd             = absint((int) wpinv_get_option('invoice_number_padd', 5));
708
+    $prefix           = sanitize_text_field((string) wpinv_get_option('invoice_number_prefix', 'INV-'));
709
+    $prefix           = sanitize_text_field(apply_filters('getpaid_invoice_type_prefix', $prefix, $type));
710
+    $postfix          = sanitize_text_field((string) wpinv_get_option('invoice_number_postfix'));
711
+    $postfix          = sanitize_text_field(apply_filters('getpaid_invoice_type_postfix', $postfix, $type));
712
+    $formatted_number = zeroise(absint($number), $padd);
713 713
 
714 714
     // Add the prefix and post fix.
715 715
     $formatted_number = $prefix . $formatted_number . $postfix;
716 716
 
717
-    return apply_filters( 'wpinv_format_invoice_number', $formatted_number, $number, $prefix, $postfix, $padd );
717
+    return apply_filters('wpinv_format_invoice_number', $formatted_number, $number, $prefix, $postfix, $padd);
718 718
 }
719 719
 
720 720
 /**
@@ -723,58 +723,58 @@  discard block
 block discarded – undo
723 723
  * @param string $type.
724 724
  * @return int|null|bool
725 725
  */
726
-function wpinv_get_next_invoice_number( $type = '' ) {
726
+function wpinv_get_next_invoice_number($type = '') {
727 727
 
728 728
     // Allow plugins to overide this.
729
-    $check = apply_filters( 'wpinv_get_pre_next_invoice_number', null, $type );
730
-    if ( null !== $check ) {
729
+    $check = apply_filters('wpinv_get_pre_next_invoice_number', null, $type);
730
+    if (null !== $check) {
731 731
         return $check;
732 732
     }
733 733
 
734 734
     // Ensure sequential invoice numbers is active.
735
-    if ( ! wpinv_sequential_number_active() ) {
735
+    if (!wpinv_sequential_number_active()) {
736 736
         return false;
737 737
     }
738 738
 
739 739
     // Retrieve the current number and the start number.
740
-    $number = (int) get_option( 'wpinv_last_invoice_number', 0 );
741
-    $start  = absint( (int) wpinv_get_option( 'invoice_sequence_start', 1 ) );
740
+    $number = (int) get_option('wpinv_last_invoice_number', 0);
741
+    $start  = absint((int) wpinv_get_option('invoice_sequence_start', 1));
742 742
 
743 743
     // Ensure that we are starting at a positive integer.
744
-    $start  = max( $start, 1 );
744
+    $start  = max($start, 1);
745 745
 
746 746
     // If this is the first invoice, use the start number.
747
-    $number = max( $start, $number );
747
+    $number = max($start, $number);
748 748
 
749 749
     // Format the invoice number.
750
-    $formatted_number = wpinv_format_invoice_number( $number, $type );
750
+    $formatted_number = wpinv_format_invoice_number($number, $type);
751 751
 
752 752
     // Ensure that this number is unique.
753
-    $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $formatted_number, 'number' );
753
+    $invoice_id = WPInv_Invoice::get_invoice_id_by_field($formatted_number, 'number');
754 754
 
755 755
     // We found a match. Nice.
756
-    if ( empty( $invoice_id ) ) {
757
-        update_option( 'wpinv_last_invoice_number', $number );
758
-        return apply_filters( 'wpinv_get_next_invoice_number', $number );
756
+    if (empty($invoice_id)) {
757
+        update_option('wpinv_last_invoice_number', $number);
758
+        return apply_filters('wpinv_get_next_invoice_number', $number);
759 759
     }
760 760
 
761
-    update_option( 'wpinv_last_invoice_number', $number + 1 );
762
-    return wpinv_get_next_invoice_number( $type );
761
+    update_option('wpinv_last_invoice_number', $number + 1);
762
+    return wpinv_get_next_invoice_number($type);
763 763
 
764 764
 }
765 765
 
766 766
 /**
767 767
  * The prefix used for invoice paths.
768 768
  */
769
-function wpinv_post_name_prefix( $post_type = 'wpi_invoice' ) {
770
-    return apply_filters( 'wpinv_post_name_prefix', 'inv-', $post_type );
769
+function wpinv_post_name_prefix($post_type = 'wpi_invoice') {
770
+    return apply_filters('wpinv_post_name_prefix', 'inv-', $post_type);
771 771
 }
772 772
 
773
-function wpinv_generate_post_name( $post_ID ) {
774
-    $prefix = wpinv_post_name_prefix( get_post_type( $post_ID ) );
775
-    $post_name = sanitize_title( $prefix . $post_ID );
773
+function wpinv_generate_post_name($post_ID) {
774
+    $prefix = wpinv_post_name_prefix(get_post_type($post_ID));
775
+    $post_name = sanitize_title($prefix . $post_ID);
776 776
 
777
-    return apply_filters( 'wpinv_generate_post_name', $post_name, $post_ID, $prefix );
777
+    return apply_filters('wpinv_generate_post_name', $post_name, $post_ID, $prefix);
778 778
 }
779 779
 
780 780
 /**
@@ -782,8 +782,8 @@  discard block
 block discarded – undo
782 782
  *
783 783
  * @param int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object.
784 784
  */
785
-function wpinv_is_invoice_viewed( $invoice ) {
786
-    $invoice = new WPInv_Invoice( $invoice );
785
+function wpinv_is_invoice_viewed($invoice) {
786
+    $invoice = new WPInv_Invoice($invoice);
787 787
     return (bool) $invoice->get_is_viewed();
788 788
 }
789 789
 
@@ -792,17 +792,17 @@  discard block
 block discarded – undo
792 792
  *
793 793
  * @param int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object.
794 794
  */
795
-function getpaid_maybe_mark_invoice_as_viewed( $invoice ) {
796
-    $invoice = new WPInv_Invoice( $invoice );
795
+function getpaid_maybe_mark_invoice_as_viewed($invoice) {
796
+    $invoice = new WPInv_Invoice($invoice);
797 797
 
798
-    if ( get_current_user_id() == $invoice->get_user_id() && ! $invoice->get_is_viewed() ) {
799
-        $invoice->set_is_viewed( true );
798
+    if (get_current_user_id() == $invoice->get_user_id() && !$invoice->get_is_viewed()) {
799
+        $invoice->set_is_viewed(true);
800 800
         $invoice->save();
801 801
     }
802 802
 
803 803
 }
804
-add_action( 'wpinv_invoice_print_before_display', 'getpaid_maybe_mark_invoice_as_viewed' );
805
-add_action( 'wpinv_before_receipt', 'getpaid_maybe_mark_invoice_as_viewed' );
804
+add_action('wpinv_invoice_print_before_display', 'getpaid_maybe_mark_invoice_as_viewed');
805
+add_action('wpinv_before_receipt', 'getpaid_maybe_mark_invoice_as_viewed');
806 806
 
807 807
 /**
808 808
  * Processes an invoice refund.
@@ -811,26 +811,26 @@  discard block
 block discarded – undo
811 811
  * @param array $status_transition
812 812
  * @todo: descrease customer/store earnings
813 813
  */
814
-function getpaid_maybe_process_refund( $invoice, $status_transition ) {
814
+function getpaid_maybe_process_refund($invoice, $status_transition) {
815 815
 
816
-    if ( empty( $status_transition['from'] ) || ! in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ) ) ) {
816
+    if (empty($status_transition['from']) || !in_array($status_transition['from'], array('publish', 'wpi-processing', 'wpi-renewal'))) {
817 817
         return;
818 818
     }
819 819
 
820 820
     $discount_code = $invoice->get_discount_code();
821
-    if ( ! empty( $discount_code ) ) {
822
-        $discount = wpinv_get_discount_obj( $discount_code );
821
+    if (!empty($discount_code)) {
822
+        $discount = wpinv_get_discount_obj($discount_code);
823 823
 
824
-        if ( $discount->exists() ) {
824
+        if ($discount->exists()) {
825 825
             $discount->increase_usage( -1 );
826 826
         }
827 827
 }
828 828
 
829
-    do_action( 'wpinv_pre_refund_invoice', $invoice, $invoice->get_id() );
830
-    do_action( 'wpinv_refund_invoice', $invoice, $invoice->get_id() );
831
-    do_action( 'wpinv_post_refund_invoice', $invoice, $invoice->get_id() );
829
+    do_action('wpinv_pre_refund_invoice', $invoice, $invoice->get_id());
830
+    do_action('wpinv_refund_invoice', $invoice, $invoice->get_id());
831
+    do_action('wpinv_post_refund_invoice', $invoice, $invoice->get_id());
832 832
 }
833
-add_action( 'getpaid_invoice_status_wpi-refunded', 'getpaid_maybe_process_refund', 10, 2 );
833
+add_action('getpaid_invoice_status_wpi-refunded', 'getpaid_maybe_process_refund', 10, 2);
834 834
 
835 835
 
836 836
 /**
@@ -838,47 +838,47 @@  discard block
 block discarded – undo
838 838
  *
839 839
  * @param int $invoice_id
840 840
  */
841
-function getpaid_process_invoice_payment( $invoice_id ) {
841
+function getpaid_process_invoice_payment($invoice_id) {
842 842
 
843 843
     // Fetch the invoice.
844
-    $invoice = new WPInv_Invoice( $invoice_id );
844
+    $invoice = new WPInv_Invoice($invoice_id);
845 845
 
846 846
     // We only want to do this once.
847
-    if ( 1 == get_post_meta( $invoice->get_id(), 'wpinv_processed_payment', true ) ) {
847
+    if (1 == get_post_meta($invoice->get_id(), 'wpinv_processed_payment', true)) {
848 848
         return;
849 849
     }
850 850
 
851
-    update_post_meta( $invoice->get_id(), 'wpinv_processed_payment', 1 );
851
+    update_post_meta($invoice->get_id(), 'wpinv_processed_payment', 1);
852 852
 
853 853
     // Fires when processing a payment.
854
-    do_action( 'getpaid_process_payment', $invoice );
854
+    do_action('getpaid_process_payment', $invoice);
855 855
 
856 856
     // Fire an action for each invoice item.
857
-    foreach ( $invoice->get_items() as $item ) {
858
-        do_action( 'getpaid_process_item_payment', $item, $invoice );
857
+    foreach ($invoice->get_items() as $item) {
858
+        do_action('getpaid_process_item_payment', $item, $invoice);
859 859
     }
860 860
 
861 861
     // Increase discount usage.
862 862
     $discount_code = $invoice->get_discount_code();
863
-    if ( ! empty( $discount_code ) && ! $invoice->is_renewal() ) {
864
-        $discount = wpinv_get_discount_obj( $discount_code );
863
+    if (!empty($discount_code) && !$invoice->is_renewal()) {
864
+        $discount = wpinv_get_discount_obj($discount_code);
865 865
 
866
-        if ( $discount->exists() ) {
866
+        if ($discount->exists()) {
867 867
             $discount->increase_usage();
868 868
         }
869 869
 }
870 870
 
871 871
     // Record reverse vat.
872
-    if ( 'invoice' === $invoice->get_type() && wpinv_use_taxes() && ! $invoice->get_disable_taxes() ) {
872
+    if ('invoice' === $invoice->get_type() && wpinv_use_taxes() && !$invoice->get_disable_taxes()) {
873 873
 
874 874
         $taxes = $invoice->get_total_tax();
875
-        if ( empty( $taxes ) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $invoice->get_country() ) ) {
876
-            $invoice->add_note( __( 'VAT was reverse charged', 'invoicing' ), false, false, true );
875
+        if (empty($taxes) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction($invoice->get_country())) {
876
+            $invoice->add_note(__('VAT was reverse charged', 'invoicing'), false, false, true);
877 877
         }
878 878
 }
879 879
 
880 880
 }
881
-add_action( 'getpaid_invoice_payment_status_changed', 'getpaid_process_invoice_payment' );
881
+add_action('getpaid_invoice_payment_status_changed', 'getpaid_process_invoice_payment');
882 882
 
883 883
 /**
884 884
  * Returns an array of invoice item columns
@@ -886,13 +886,13 @@  discard block
 block discarded – undo
886 886
  * @param int|WPInv_Invoice $invoice
887 887
  * @return array
888 888
  */
889
-function getpaid_invoice_item_columns( $invoice ) {
889
+function getpaid_invoice_item_columns($invoice) {
890 890
 
891 891
     // Prepare the invoice.
892
-    $invoice = new WPInv_Invoice( $invoice );
892
+    $invoice = new WPInv_Invoice($invoice);
893 893
 
894 894
     // Abort if there is no invoice.
895
-    if ( 0 == $invoice->get_id() ) {
895
+    if (0 == $invoice->get_id()) {
896 896
         return array();
897 897
     }
898 898
 
@@ -900,52 +900,52 @@  discard block
 block discarded – undo
900 900
     $columns = apply_filters(
901 901
         'getpaid_invoice_item_columns',
902 902
         array(
903
-            'name'     => __( 'Item', 'invoicing' ),
904
-            'price'    => __( 'Price', 'invoicing' ),
905
-            'tax_rate' => __( 'Tax Rate', 'invoicing' ),
906
-            'quantity' => __( 'Quantity', 'invoicing' ),
907
-            'subtotal' => __( 'Item Subtotal', 'invoicing' ),
903
+            'name'     => __('Item', 'invoicing'),
904
+            'price'    => __('Price', 'invoicing'),
905
+            'tax_rate' => __('Tax Rate', 'invoicing'),
906
+            'quantity' => __('Quantity', 'invoicing'),
907
+            'subtotal' => __('Item Subtotal', 'invoicing'),
908 908
         ),
909 909
         $invoice
910 910
     );
911 911
 
912 912
     // Quantities.
913
-    if ( isset( $columns['quantity'] ) ) {
913
+    if (isset($columns['quantity'])) {
914 914
 
915
-        if ( 'hours' == $invoice->get_template() ) {
916
-            $columns['quantity'] = __( 'Hours', 'invoicing' );
915
+        if ('hours' == $invoice->get_template()) {
916
+            $columns['quantity'] = __('Hours', 'invoicing');
917 917
         }
918 918
 
919
-        if ( ! wpinv_item_quantities_enabled() || 'amount' == $invoice->get_template() ) {
920
-            unset( $columns['quantity'] );
919
+        if (!wpinv_item_quantities_enabled() || 'amount' == $invoice->get_template()) {
920
+            unset($columns['quantity']);
921 921
         }
922 922
 }
923 923
 
924 924
     // Price.
925
-    if ( isset( $columns['price'] ) ) {
925
+    if (isset($columns['price'])) {
926 926
 
927
-        if ( 'amount' == $invoice->get_template() ) {
928
-            $columns['price'] = __( 'Amount', 'invoicing' );
927
+        if ('amount' == $invoice->get_template()) {
928
+            $columns['price'] = __('Amount', 'invoicing');
929 929
         }
930 930
 
931
-        if ( 'hours' == $invoice->get_template() ) {
932
-            $columns['price'] = __( 'Rate', 'invoicing' );
931
+        if ('hours' == $invoice->get_template()) {
932
+            $columns['price'] = __('Rate', 'invoicing');
933 933
         }
934 934
 }
935 935
 
936 936
     // Sub total.
937
-    if ( isset( $columns['subtotal'] ) ) {
937
+    if (isset($columns['subtotal'])) {
938 938
 
939
-        if ( 'amount' == $invoice->get_template() ) {
940
-            unset( $columns['subtotal'] );
939
+        if ('amount' == $invoice->get_template()) {
940
+            unset($columns['subtotal']);
941 941
         }
942 942
 }
943 943
 
944 944
     // Tax rates.
945
-    if ( isset( $columns['tax_rate'] ) ) {
945
+    if (isset($columns['tax_rate'])) {
946 946
 
947
-        if ( 0 == $invoice->get_tax() ) {
948
-            unset( $columns['tax_rate'] );
947
+        if (0 == $invoice->get_tax()) {
948
+            unset($columns['tax_rate']);
949 949
         }
950 950
 }
951 951
 
@@ -958,43 +958,43 @@  discard block
 block discarded – undo
958 958
  * @param int|WPInv_Invoice $invoice
959 959
  * @return array
960 960
  */
961
-function getpaid_invoice_totals_rows( $invoice ) {
961
+function getpaid_invoice_totals_rows($invoice) {
962 962
 
963 963
     // Prepare the invoice.
964
-    $invoice = new WPInv_Invoice( $invoice );
964
+    $invoice = new WPInv_Invoice($invoice);
965 965
 
966 966
     // Abort if there is no invoice.
967
-    if ( 0 == $invoice->get_id() ) {
967
+    if (0 == $invoice->get_id()) {
968 968
         return array();
969 969
     }
970 970
 
971 971
     $totals = apply_filters(
972 972
         'getpaid_invoice_totals_rows',
973 973
         array(
974
-            'subtotal' => __( 'Subtotal', 'invoicing' ),
975
-            'shipping' => __( 'Shipping', 'invoicing' ),
976
-            'tax'      => __( 'Tax', 'invoicing' ),
977
-            'fee'      => __( 'Fee', 'invoicing' ),
978
-            'discount' => __( 'Discount', 'invoicing' ),
979
-            'total'    => __( 'Total', 'invoicing' ),
974
+            'subtotal' => __('Subtotal', 'invoicing'),
975
+            'shipping' => __('Shipping', 'invoicing'),
976
+            'tax'      => __('Tax', 'invoicing'),
977
+            'fee'      => __('Fee', 'invoicing'),
978
+            'discount' => __('Discount', 'invoicing'),
979
+            'total'    => __('Total', 'invoicing'),
980 980
         ),
981 981
         $invoice
982 982
     );
983 983
 
984
-    if ( ! $invoice->has_shipping() ) {
985
-        unset( $totals['shipping'] );
984
+    if (!$invoice->has_shipping()) {
985
+        unset($totals['shipping']);
986 986
     }
987 987
 
988
-    if ( ( $invoice->get_disable_taxes() || ! wpinv_use_taxes() ) && isset( $totals['tax'] ) ) {
989
-        unset( $totals['tax'] );
988
+    if (($invoice->get_disable_taxes() || !wpinv_use_taxes()) && isset($totals['tax'])) {
989
+        unset($totals['tax']);
990 990
     }
991 991
 
992
-    if ( 0 == $invoice->get_total_fees() && isset( $totals['fee'] ) ) {
993
-        unset( $totals['fee'] );
992
+    if (0 == $invoice->get_total_fees() && isset($totals['fee'])) {
993
+        unset($totals['fee']);
994 994
     }
995 995
 
996
-    if ( 0 == $invoice->get_total_discount() && isset( $totals['discount'] ) ) {
997
-        unset( $totals['discount'] );
996
+    if (0 == $invoice->get_total_discount() && isset($totals['discount'])) {
997
+        unset($totals['discount']);
998 998
     }
999 999
 
1000 1000
     return $totals;
@@ -1005,47 +1005,47 @@  discard block
 block discarded – undo
1005 1005
  *
1006 1006
  * @param WPInv_Invoice $invoice
1007 1007
  */
1008
-function getpaid_new_invoice( $invoice ) {
1008
+function getpaid_new_invoice($invoice) {
1009 1009
 
1010
-    if ( ! $invoice->get_status() ) {
1010
+    if (!$invoice->get_status()) {
1011 1011
         return;
1012 1012
     }
1013 1013
 
1014 1014
     // Add an invoice created note.
1015 1015
     $invoice->add_note(
1016 1016
         sprintf(
1017
-            __( '%1$s created with the status "%2$s".', 'invoicing' ),
1018
-            ucfirst( $invoice->get_invoice_quote_type() ),
1019
-            wpinv_status_nicename( $invoice->get_status(), $invoice )
1017
+            __('%1$s created with the status "%2$s".', 'invoicing'),
1018
+            ucfirst($invoice->get_invoice_quote_type()),
1019
+            wpinv_status_nicename($invoice->get_status(), $invoice)
1020 1020
         )
1021 1021
     );
1022 1022
 
1023 1023
 }
1024
-add_action( 'getpaid_new_invoice', 'getpaid_new_invoice' );
1024
+add_action('getpaid_new_invoice', 'getpaid_new_invoice');
1025 1025
 
1026 1026
 /**
1027 1027
  * This function updates invoice caches.
1028 1028
  *
1029 1029
  * @param WPInv_Invoice $invoice
1030 1030
  */
1031
-function getpaid_update_invoice_caches( $invoice ) {
1031
+function getpaid_update_invoice_caches($invoice) {
1032 1032
 
1033 1033
     // Cache invoice number.
1034
-    wp_cache_set( $invoice->get_number(), $invoice->get_id(), 'getpaid_invoice_numbers_to_invoice_ids' );
1034
+    wp_cache_set($invoice->get_number(), $invoice->get_id(), 'getpaid_invoice_numbers_to_invoice_ids');
1035 1035
 
1036 1036
     // Cache invoice key.
1037
-    wp_cache_set( $invoice->get_key(), $invoice->get_id(), 'getpaid_invoice_keys_to_invoice_ids' );
1037
+    wp_cache_set($invoice->get_key(), $invoice->get_id(), 'getpaid_invoice_keys_to_invoice_ids');
1038 1038
 
1039 1039
     // (Maybe) cache transaction id.
1040 1040
     $transaction_id = $invoice->get_transaction_id();
1041 1041
 
1042
-    if ( ! empty( $transaction_id ) ) {
1043
-        wp_cache_set( $transaction_id, $invoice->get_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
1042
+    if (!empty($transaction_id)) {
1043
+        wp_cache_set($transaction_id, $invoice->get_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids');
1044 1044
     }
1045 1045
 
1046 1046
 }
1047
-add_action( 'getpaid_new_invoice', 'getpaid_update_invoice_caches', 5 );
1048
-add_action( 'getpaid_update_invoice', 'getpaid_update_invoice_caches', 5 );
1047
+add_action('getpaid_new_invoice', 'getpaid_update_invoice_caches', 5);
1048
+add_action('getpaid_update_invoice', 'getpaid_update_invoice_caches', 5);
1049 1049
 
1050 1050
 /**
1051 1051
  * Duplicates an invoice.
@@ -1055,7 +1055,7 @@  discard block
 block discarded – undo
1055 1055
  * @param  WPInv_Invoice $old_invoice The invoice to duplicate
1056 1056
  * @return WPInv_Invoice The new invoice.
1057 1057
  */
1058
-function getpaid_duplicate_invoice( $old_invoice ) {
1058
+function getpaid_duplicate_invoice($old_invoice) {
1059 1059
 
1060 1060
     // Create the new invoice.
1061 1061
     $invoice = new WPInv_Invoice();
@@ -1115,136 +1115,136 @@  discard block
 block discarded – undo
1115 1115
  * @param WPInv_Invoice $invoice
1116 1116
  * @return array
1117 1117
  */
1118
-function getpaid_get_invoice_meta( $invoice ) {
1118
+function getpaid_get_invoice_meta($invoice) {
1119 1119
 
1120 1120
     // Load the invoice meta.
1121 1121
     $meta = array(
1122 1122
 
1123 1123
         'number'         => array(
1124 1124
             'label' => sprintf(
1125
-                __( '%s Number', 'invoicing' ),
1126
-                ucfirst( $invoice->get_invoice_quote_type() )
1125
+                __('%s Number', 'invoicing'),
1126
+                ucfirst($invoice->get_invoice_quote_type())
1127 1127
             ),
1128
-            'value' => sanitize_text_field( $invoice->get_number() ),
1128
+            'value' => sanitize_text_field($invoice->get_number()),
1129 1129
         ),
1130 1130
 
1131 1131
         'status'         => array(
1132 1132
             'label' => sprintf(
1133
-                __( '%s Status', 'invoicing' ),
1134
-                ucfirst( $invoice->get_invoice_quote_type() )
1133
+                __('%s Status', 'invoicing'),
1134
+                ucfirst($invoice->get_invoice_quote_type())
1135 1135
             ),
1136 1136
             'value' => $invoice->get_status_label_html(),
1137 1137
         ),
1138 1138
 
1139 1139
         'date'           => array(
1140 1140
             'label' => sprintf(
1141
-                __( '%s Date', 'invoicing' ),
1142
-                ucfirst( $invoice->get_invoice_quote_type() )
1141
+                __('%s Date', 'invoicing'),
1142
+                ucfirst($invoice->get_invoice_quote_type())
1143 1143
             ),
1144
-            'value' => getpaid_format_date( $invoice->get_created_date() ),
1144
+            'value' => getpaid_format_date($invoice->get_created_date()),
1145 1145
         ),
1146 1146
 
1147 1147
         'date_paid'      => array(
1148
-            'label' => __( 'Paid On', 'invoicing' ),
1149
-            'value' => getpaid_format_date( $invoice->get_completed_date() ),
1148
+            'label' => __('Paid On', 'invoicing'),
1149
+            'value' => getpaid_format_date($invoice->get_completed_date()),
1150 1150
         ),
1151 1151
 
1152 1152
         'gateway'        => array(
1153
-            'label' => __( 'Payment Method', 'invoicing' ),
1154
-            'value' => sanitize_text_field( $invoice->get_gateway_title() ),
1153
+            'label' => __('Payment Method', 'invoicing'),
1154
+            'value' => sanitize_text_field($invoice->get_gateway_title()),
1155 1155
         ),
1156 1156
 
1157 1157
         'transaction_id' => array(
1158
-            'label' => __( 'Transaction ID', 'invoicing' ),
1159
-            'value' => sanitize_text_field( $invoice->get_transaction_id() ),
1158
+            'label' => __('Transaction ID', 'invoicing'),
1159
+            'value' => sanitize_text_field($invoice->get_transaction_id()),
1160 1160
         ),
1161 1161
 
1162 1162
         'due_date'       => array(
1163
-            'label' => __( 'Due Date', 'invoicing' ),
1164
-            'value' => getpaid_format_date( $invoice->get_due_date() ),
1163
+            'label' => __('Due Date', 'invoicing'),
1164
+            'value' => getpaid_format_date($invoice->get_due_date()),
1165 1165
         ),
1166 1166
 
1167 1167
         'vat_number'     => array(
1168
-            'label' => __( 'VAT Number', 'invoicing' ),
1169
-            'value' => sanitize_text_field( $invoice->get_vat_number() ),
1168
+            'label' => __('VAT Number', 'invoicing'),
1169
+            'value' => sanitize_text_field($invoice->get_vat_number()),
1170 1170
         ),
1171 1171
 
1172 1172
     );
1173 1173
 
1174
-    $additional_meta = get_post_meta( $invoice->get_id(), 'additional_meta_data', true );
1174
+    $additional_meta = get_post_meta($invoice->get_id(), 'additional_meta_data', true);
1175 1175
 
1176
-    if ( ! empty( $additional_meta ) ) {
1176
+    if (!empty($additional_meta)) {
1177 1177
 
1178
-        foreach ( $additional_meta as $label => $value ) {
1179
-            $meta[ sanitize_key( $label ) ] = array(
1180
-                'label' => esc_html( $label ),
1181
-                'value' => esc_html( $value ),
1178
+        foreach ($additional_meta as $label => $value) {
1179
+            $meta[sanitize_key($label)] = array(
1180
+                'label' => esc_html($label),
1181
+                'value' => esc_html($value),
1182 1182
             );
1183 1183
         }
1184 1184
 }
1185 1185
     // If it is not paid, remove the date of payment.
1186
-    if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
1187
-        unset( $meta['date_paid'] );
1188
-        unset( $meta['transaction_id'] );
1186
+    if (!$invoice->is_paid() && !$invoice->is_refunded()) {
1187
+        unset($meta['date_paid']);
1188
+        unset($meta['transaction_id']);
1189 1189
     }
1190 1190
 
1191
-    if ( ! $invoice->is_paid() || 'none' == $invoice->get_gateway() ) {
1192
-        unset( $meta['gateway'] );
1191
+    if (!$invoice->is_paid() || 'none' == $invoice->get_gateway()) {
1192
+        unset($meta['gateway']);
1193 1193
     }
1194 1194
 
1195 1195
     // Only display the due date if due dates are enabled.
1196
-    if ( ! $invoice->needs_payment() || ! wpinv_get_option( 'overdue_active' ) ) {
1197
-        unset( $meta['due_date'] );
1196
+    if (!$invoice->needs_payment() || !wpinv_get_option('overdue_active')) {
1197
+        unset($meta['due_date']);
1198 1198
     }
1199 1199
 
1200 1200
     // Only display the vat number if taxes are enabled.
1201
-    if ( ! wpinv_use_taxes() ) {
1202
-        unset( $meta['vat_number'] );
1201
+    if (!wpinv_use_taxes()) {
1202
+        unset($meta['vat_number']);
1203 1203
     }
1204 1204
 
1205 1205
     // Link to the parent invoice.
1206
-    if ( $invoice->get_parent_id() > 0 ) {
1206
+    if ($invoice->get_parent_id() > 0) {
1207 1207
 
1208 1208
         $meta['parent'] = array(
1209 1209
 
1210 1210
             'label' => sprintf(
1211
-                __( 'Parent %s', 'invoicing' ),
1212
-                ucfirst( $invoice->get_invoice_quote_type() )
1211
+                __('Parent %s', 'invoicing'),
1212
+                ucfirst($invoice->get_invoice_quote_type())
1213 1213
             ),
1214 1214
 
1215
-            'value' => wpinv_invoice_link( $invoice->get_parent_id() ),
1215
+            'value' => wpinv_invoice_link($invoice->get_parent_id()),
1216 1216
 
1217 1217
         );
1218 1218
 
1219 1219
     }
1220 1220
 
1221
-    if ( $invoice->is_recurring() ) {
1221
+    if ($invoice->is_recurring()) {
1222 1222
 
1223
-        $subscription = getpaid_get_invoice_subscriptions( $invoice );
1224
-        if ( ! empty( $subscription ) && ! is_array( $subscription ) && $subscription->exists() ) {
1223
+        $subscription = getpaid_get_invoice_subscriptions($invoice);
1224
+        if (!empty($subscription) && !is_array($subscription) && $subscription->exists()) {
1225 1225
 
1226 1226
             // Display the renewal date.
1227
-            if ( $subscription->is_active() && 'cancelled' != $subscription->get_status() ) {
1227
+            if ($subscription->is_active() && 'cancelled' != $subscription->get_status()) {
1228 1228
 
1229 1229
                 $meta['renewal_date'] = array(
1230
-                    'label' => __( 'Renews On', 'invoicing' ),
1231
-                    'value' => getpaid_format_date( $subscription->get_expiration() ) .
1230
+                    'label' => __('Renews On', 'invoicing'),
1231
+                    'value' => getpaid_format_date($subscription->get_expiration()) .
1232 1232
                     sprintf(
1233 1233
                         ' <a class="small" href="%s">%s<a>',
1234 1234
                         $subscription->get_view_url(),
1235
-                        __( '(View Subscription)', 'invoicing' )
1235
+                        __('(View Subscription)', 'invoicing')
1236 1236
                     ),
1237 1237
                 );
1238 1238
 
1239 1239
             }
1240 1240
 
1241
-            if ( $invoice->is_parent() ) {
1241
+            if ($invoice->is_parent()) {
1242 1242
 
1243 1243
                 // Display the recurring amount.
1244 1244
                 $meta['recurring_total'] = array(
1245 1245
 
1246
-                    'label' => __( 'Recurring Amount', 'invoicing' ),
1247
-                    'value' => wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ),
1246
+                    'label' => __('Recurring Amount', 'invoicing'),
1247
+                    'value' => wpinv_price($subscription->get_recurring_amount(), $invoice->get_currency()),
1248 1248
 
1249 1249
                 );
1250 1250
 
@@ -1255,13 +1255,13 @@  discard block
 block discarded – undo
1255 1255
     // Add the invoice total to the meta.
1256 1256
     $meta['invoice_total'] = array(
1257 1257
 
1258
-        'label' => __( 'Total Amount', 'invoicing' ),
1259
-        'value' => wpinv_price( $invoice->get_total(), $invoice->get_currency() ),
1258
+        'label' => __('Total Amount', 'invoicing'),
1259
+        'value' => wpinv_price($invoice->get_total(), $invoice->get_currency()),
1260 1260
 
1261 1261
     );
1262 1262
 
1263 1263
     // Provide a way for third party plugins to filter the meta.
1264
-    $meta = apply_filters( 'getpaid_invoice_meta_data', $meta, $invoice );
1264
+    $meta = apply_filters('getpaid_invoice_meta_data', $meta, $invoice);
1265 1265
 
1266 1266
     return $meta;
1267 1267
 
@@ -1300,12 +1300,12 @@  discard block
 block discarded – undo
1300 1300
  * @param GetPaid_Form_Item $item
1301 1301
  * @return float
1302 1302
  */
1303
-function getpaid_get_invoice_tax_rate( $invoice, $item ) {
1303
+function getpaid_get_invoice_tax_rate($invoice, $item) {
1304 1304
 
1305
-    $rates   = getpaid_get_item_tax_rates( $item, $invoice->get_country(), $invoice->get_state() );
1306
-	$rates   = getpaid_filter_item_tax_rates( $item, $rates );
1307
-    $rates   = wp_list_pluck( $rates, 'rate' );
1305
+    $rates   = getpaid_get_item_tax_rates($item, $invoice->get_country(), $invoice->get_state());
1306
+	$rates = getpaid_filter_item_tax_rates($item, $rates);
1307
+    $rates   = wp_list_pluck($rates, 'rate');
1308 1308
 
1309
-    return array_sum( $rates );
1309
+    return array_sum($rates);
1310 1310
 
1311 1311
 }
Please login to merge, or discard this patch.
includes/class-wpinv-ajax.php 1 patch
Spacing   +325 added lines, -325 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * WPInv_Ajax class.
@@ -17,8 +17,8 @@  discard block
 block discarded – undo
17 17
 	 * Hook in ajax handlers.
18 18
 	 */
19 19
 	public static function init() {
20
-		add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 );
21
-		add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 );
20
+		add_action('init', array(__CLASS__, 'define_ajax'), 0);
21
+		add_action('template_redirect', array(__CLASS__, 'do_wpinv_ajax'), 0);
22 22
 		self::add_ajax_events();
23 23
     }
24 24
 
@@ -27,11 +27,11 @@  discard block
 block discarded – undo
27 27
 	 */
28 28
 	public static function define_ajax() {
29 29
 
30
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
31
-			getpaid_maybe_define_constant( 'DOING_AJAX', true );
32
-			getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true );
33
-			if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) {
34
-				/** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 );
30
+		if (!empty($_GET['wpinv-ajax'])) {
31
+			getpaid_maybe_define_constant('DOING_AJAX', true);
32
+			getpaid_maybe_define_constant('WPInv_DOING_AJAX', true);
33
+			if (!WP_DEBUG || (WP_DEBUG && !WP_DEBUG_DISPLAY)) {
34
+				/** @scrutinizer ignore-unhandled */ @ini_set('display_errors', 0);
35 35
 			}
36 36
 			$GLOBALS['wpdb']->hide_errors();
37 37
 		}
@@ -44,13 +44,13 @@  discard block
 block discarded – undo
44 44
 	 * @since 1.0.18
45 45
 	 */
46 46
 	private static function wpinv_ajax_headers() {
47
-		if ( ! headers_sent() ) {
47
+		if (!headers_sent()) {
48 48
 			send_origin_headers();
49 49
 			send_nosniff_header();
50 50
 			nocache_headers();
51
-			header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
52
-			header( 'X-Robots-Tag: noindex' );
53
-			status_header( 200 );
51
+			header('Content-Type: text/html; charset=' . get_option('blog_charset'));
52
+			header('X-Robots-Tag: noindex');
53
+			status_header(200);
54 54
 		}
55 55
     }
56 56
 
@@ -60,16 +60,16 @@  discard block
 block discarded – undo
60 60
 	public static function do_wpinv_ajax() {
61 61
 		global $wp_query;
62 62
 
63
-		if ( ! empty( $_GET['wpinv-ajax'] ) ) {
64
-			$wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) );
63
+		if (!empty($_GET['wpinv-ajax'])) {
64
+			$wp_query->set('wpinv-ajax', sanitize_text_field(wp_unslash($_GET['wpinv-ajax'])));
65 65
 		}
66 66
 
67
-		$action = $wp_query->get( 'wpinv-ajax' );
67
+		$action = $wp_query->get('wpinv-ajax');
68 68
 
69
-		if ( $action ) {
69
+		if ($action) {
70 70
 			self::wpinv_ajax_headers();
71
-			$action = sanitize_text_field( $action );
72
-			do_action( 'wpinv_ajax_' . $action );
71
+			$action = sanitize_text_field($action);
72
+			do_action('wpinv_ajax_' . $action);
73 73
 			wp_die();
74 74
 		}
75 75
 
@@ -106,36 +106,36 @@  discard block
 block discarded – undo
106 106
             'file_upload'                   => true,
107 107
         );
108 108
 
109
-        foreach ( $ajax_events as $ajax_event => $nopriv ) {
110
-            add_action( 'wp_ajax_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) );
111
-            add_action( 'wp_ajax_getpaid_' . $ajax_event, array( __CLASS__, $ajax_event ) );
109
+        foreach ($ajax_events as $ajax_event => $nopriv) {
110
+            add_action('wp_ajax_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event));
111
+            add_action('wp_ajax_getpaid_' . $ajax_event, array(__CLASS__, $ajax_event));
112 112
 
113
-            if ( $nopriv ) {
114
-                add_action( 'wp_ajax_nopriv_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) );
115
-                add_action( 'wp_ajax_nopriv_getpaid_' . $ajax_event, array( __CLASS__, $ajax_event ) );
116
-                add_action( 'wpinv_ajax_' . $ajax_event, array( __CLASS__, $ajax_event ) );
113
+            if ($nopriv) {
114
+                add_action('wp_ajax_nopriv_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event));
115
+                add_action('wp_ajax_nopriv_getpaid_' . $ajax_event, array(__CLASS__, $ajax_event));
116
+                add_action('wpinv_ajax_' . $ajax_event, array(__CLASS__, $ajax_event));
117 117
             }
118 118
         }
119 119
     }
120 120
 
121 121
     public static function add_note() {
122
-        check_ajax_referer( 'add-invoice-note', '_nonce' );
122
+        check_ajax_referer('add-invoice-note', '_nonce');
123 123
 
124
-        $post_id   = absint( $_POST['post_id'] );
125
-        $note      = wp_kses_post( trim( stripslashes( $_POST['note'] ) ) );
126
-        $note_type = sanitize_text_field( $_POST['note_type'] );
124
+        $post_id   = absint($_POST['post_id']);
125
+        $note      = wp_kses_post(trim(stripslashes($_POST['note'])));
126
+        $note_type = sanitize_text_field($_POST['note_type']);
127 127
 
128
-        if ( ! wpinv_current_user_can( 'invoice_add_note', array( 'post_id' => $post_id, 'note_type' => $note_type ) ) ) {
128
+        if (!wpinv_current_user_can('invoice_add_note', array('post_id' => $post_id, 'note_type' => $note_type))) {
129 129
             die( -1 );
130 130
         }
131 131
 
132 132
         $is_customer_note = $note_type == 'customer' ? 1 : 0;
133 133
 
134
-        if ( $post_id > 0 ) {
135
-            $note_id = wpinv_insert_payment_note( $post_id, $note, $is_customer_note );
134
+        if ($post_id > 0) {
135
+            $note_id = wpinv_insert_payment_note($post_id, $note, $is_customer_note);
136 136
 
137
-            if ( $note_id > 0 && ! is_wp_error( $note_id ) ) {
138
-                wpinv_get_invoice_note_line_item( $note_id );
137
+            if ($note_id > 0 && !is_wp_error($note_id)) {
138
+                wpinv_get_invoice_note_line_item($note_id);
139 139
             }
140 140
         }
141 141
 
@@ -143,16 +143,16 @@  discard block
 block discarded – undo
143 143
     }
144 144
 
145 145
     public static function delete_note() {
146
-        check_ajax_referer( 'delete-invoice-note', '_nonce' );
146
+        check_ajax_referer('delete-invoice-note', '_nonce');
147 147
 
148
-        $note_id = (int)$_POST['note_id'];
148
+        $note_id = (int) $_POST['note_id'];
149 149
 
150
-        if ( ! wpinv_current_user_can( 'invoice_delete_note', array( 'note_id' => $note_id ) ) ) {
150
+        if (!wpinv_current_user_can('invoice_delete_note', array('note_id' => $note_id))) {
151 151
             die( -1 );
152 152
         }
153 153
 
154
-        if ( $note_id > 0 ) {
155
-            wp_delete_comment( $note_id, true );
154
+        if ($note_id > 0) {
155
+            wp_delete_comment($note_id, true);
156 156
         }
157 157
 
158 158
         die();
@@ -169,35 +169,35 @@  discard block
 block discarded – undo
169 169
      */
170 170
     public static function get_billing_details() {
171 171
         // Verify nonce.
172
-        check_ajax_referer( 'wpinv-nonce' );
172
+        check_ajax_referer('wpinv-nonce');
173 173
 
174 174
         // Do we have a user id?
175 175
         $user_id = (int) $_GET['user_id'];
176
-        $invoice_id = ! empty( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0;
176
+        $invoice_id = !empty($_REQUEST['post_id']) ? (int) $_REQUEST['post_id'] : 0;
177 177
 
178
-        if ( empty( $user_id ) || ! is_numeric( $user_id ) ) {
178
+        if (empty($user_id) || !is_numeric($user_id)) {
179 179
             die( -1 );
180 180
         }
181 181
 
182 182
         // Can the user manage the plugin?
183
-        if ( ! wpinv_current_user_can( 'invoice_get_billing_details', array( 'user_id' => $user_id, 'invoice_id' => $invoice_id ) ) ) {
183
+        if (!wpinv_current_user_can('invoice_get_billing_details', array('user_id' => $user_id, 'invoice_id' => $invoice_id))) {
184 184
             die( -1 );
185 185
         }
186 186
 
187 187
         // Fetch the billing details.
188
-        $billing_details    = wpinv_get_user_address( $user_id );
189
-        $billing_details    = apply_filters( 'wpinv_ajax_billing_details', $billing_details, $user_id );
188
+        $billing_details    = wpinv_get_user_address($user_id);
189
+        $billing_details    = apply_filters('wpinv_ajax_billing_details', $billing_details, $user_id);
190 190
 
191 191
         // unset the user id and email.
192
-        $to_ignore = array( 'user_id', 'email' );
192
+        $to_ignore = array('user_id', 'email');
193 193
 
194
-        foreach ( $to_ignore as $key ) {
195
-            if ( isset( $billing_details[ $key ] ) ) {
196
-                unset( $billing_details[ $key ] );
194
+        foreach ($to_ignore as $key) {
195
+            if (isset($billing_details[$key])) {
196
+                unset($billing_details[$key]);
197 197
             }
198 198
         }
199 199
 
200
-        wp_send_json_success( $billing_details );
200
+        wp_send_json_success($billing_details);
201 201
 
202 202
     }
203 203
 
@@ -207,47 +207,47 @@  discard block
 block discarded – undo
207 207
     public static function check_new_user_email() {
208 208
 
209 209
         // Verify nonce.
210
-        check_ajax_referer( 'wpinv-nonce' );
210
+        check_ajax_referer('wpinv-nonce');
211 211
 
212 212
         // Can the user manage the plugin?
213
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
213
+        if (!wpinv_current_user_can_manage_invoicing()) {
214 214
             die( -1 );
215 215
         }
216 216
 
217 217
         // We need an email address.
218
-        if ( empty( $_GET['email'] ) ) {
219
-            esc_html_e( "Provide the new user's email address", 'invoicing' );
218
+        if (empty($_GET['email'])) {
219
+            esc_html_e("Provide the new user's email address", 'invoicing');
220 220
             exit;
221 221
         }
222 222
 
223 223
         // Ensure the email is valid.
224
-        $email = sanitize_email( $_GET['email'] );
225
-        if ( ! is_email( $email ) ) {
226
-            esc_html_e( 'Invalid email address', 'invoicing' );
224
+        $email = sanitize_email($_GET['email']);
225
+        if (!is_email($email)) {
226
+            esc_html_e('Invalid email address', 'invoicing');
227 227
             exit;
228 228
         }
229 229
 
230 230
         // And it does not exist.
231
-        $id = email_exists( $email );
232
-        if ( $id ) {
233
-            wp_send_json_success( compact( 'id' ) );
231
+        $id = email_exists($email);
232
+        if ($id) {
233
+            wp_send_json_success(compact('id'));
234 234
         }
235 235
 
236
-        wp_send_json_success( true );
236
+        wp_send_json_success(true);
237 237
     }
238 238
 
239 239
     public static function run_tool() {
240
-        check_ajax_referer( 'wpinv-nonce', '_nonce' );
241
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
240
+        check_ajax_referer('wpinv-nonce', '_nonce');
241
+        if (!wpinv_current_user_can_manage_invoicing()) {
242 242
             die( -1 );
243 243
         }
244 244
 
245
-        $tool = sanitize_text_field( $_POST['tool'] );
245
+        $tool = sanitize_text_field($_POST['tool']);
246 246
 
247
-        do_action( 'wpinv_run_tool' );
247
+        do_action('wpinv_run_tool');
248 248
 
249
-        if ( ! empty( $tool ) ) {
250
-            do_action( 'wpinv_tool_' . $tool );
249
+        if (!empty($tool)) {
250
+            do_action('wpinv_tool_' . $tool);
251 251
         }
252 252
     }
253 253
 
@@ -258,11 +258,11 @@  discard block
 block discarded – undo
258 258
         global $getpaid_force_checkbox;
259 259
 
260 260
         // Is the request set up correctly?
261
-		if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) && empty( $_GET['invoice'] ) ) {
261
+		if (empty($_GET['form']) && empty($_GET['item']) && empty($_GET['invoice'])) {
262 262
 			aui()->alert(
263 263
 				array(
264 264
 					'type'    => 'warning',
265
-					'content' => __( 'No payment form or item provided', 'invoicing' ),
265
+					'content' => __('No payment form or item provided', 'invoicing'),
266 266
                 ),
267 267
                 true
268 268
             );
@@ -270,29 +270,29 @@  discard block
 block discarded – undo
270 270
         }
271 271
 
272 272
         // Payment form or button?
273
-		if ( ! empty( $_GET['form'] ) ) {
274
-            $form = sanitize_text_field( urldecode( $_GET['form'] ) );
273
+		if (!empty($_GET['form'])) {
274
+            $form = sanitize_text_field(urldecode($_GET['form']));
275 275
 
276
-            if ( false !== strpos( $form, '|' ) ) {
277
-                $form_pos = strpos( $form, '|' );
278
-                $_items   = getpaid_convert_items_to_array( substr( $form, $form_pos + 1 ) );
279
-                $form     = substr( $form, 0, $form_pos );
276
+            if (false !== strpos($form, '|')) {
277
+                $form_pos = strpos($form, '|');
278
+                $_items   = getpaid_convert_items_to_array(substr($form, $form_pos + 1));
279
+                $form     = substr($form, 0, $form_pos);
280 280
 
281 281
                 // Retrieve appropriate payment form.
282
-                $payment_form = new GetPaid_Payment_Form( $form );
283
-                $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
282
+                $payment_form = new GetPaid_Payment_Form($form);
283
+                $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form(wpinv_get_default_payment_form());
284 284
 
285 285
                 $items    = array();
286 286
                 $item_ids = array();
287 287
 
288
-                foreach ( $_items as $item_id => $qty ) {
289
-                    if ( ! in_array( $item_id, $item_ids ) ) {
290
-                        $item = new GetPaid_Form_Item( $item_id );
291
-                        $item->set_quantity( $qty );
288
+                foreach ($_items as $item_id => $qty) {
289
+                    if (!in_array($item_id, $item_ids)) {
290
+                        $item = new GetPaid_Form_Item($item_id);
291
+                        $item->set_quantity($qty);
292 292
 
293
-                        if ( 0 == $qty ) {
294
-                            $item->set_allow_quantities( true );
295
-                            $item->set_is_required( false );
293
+                        if (0 == $qty) {
294
+                            $item->set_allow_quantities(true);
295
+                            $item->set_is_required(false);
296 296
                             $getpaid_force_checkbox = true;
297 297
                         }
298 298
 
@@ -301,32 +301,32 @@  discard block
 block discarded – undo
301 301
                     }
302 302
                 }
303 303
 
304
-                if ( ! $payment_form->is_default() ) {
304
+                if (!$payment_form->is_default()) {
305 305
 
306
-                    foreach ( $payment_form->get_items() as $item ) {
307
-                        if ( ! in_array( $item->get_id(), $item_ids ) ) {
306
+                    foreach ($payment_form->get_items() as $item) {
307
+                        if (!in_array($item->get_id(), $item_ids)) {
308 308
                             $item_ids[] = $item->get_id();
309 309
                             $items[]    = $item;
310 310
                         }
311 311
                     }
312 312
                 }
313 313
 
314
-                $payment_form->set_items( $items );
315
-                $extra_items     = esc_attr( getpaid_convert_items_to_string( $_items ) );
316
-                $extra_items_key = md5( NONCE_KEY . AUTH_KEY . $extra_items );
314
+                $payment_form->set_items($items);
315
+                $extra_items     = esc_attr(getpaid_convert_items_to_string($_items));
316
+                $extra_items_key = md5(NONCE_KEY . AUTH_KEY . $extra_items);
317 317
                 $extra_items     = "<input type='hidden' name='getpaid-form-items' value='$extra_items' />";
318 318
                 $extra_items    .= "<input type='hidden' name='getpaid-form-items-key' value='$extra_items_key' />";
319
-                $payment_form->display( $extra_items );
319
+                $payment_form->display($extra_items);
320 320
                 $getpaid_force_checkbox = false;
321 321
 
322 322
             } else {
323
-                getpaid_display_payment_form( $form );
323
+                getpaid_display_payment_form($form);
324 324
             }
325
-} elseif ( ! empty( $_GET['invoice'] ) ) {
326
-		    getpaid_display_invoice_payment_form( (int) urldecode( $_GET['invoice'] ) );
325
+} elseif (!empty($_GET['invoice'])) {
326
+		    getpaid_display_invoice_payment_form((int) urldecode($_GET['invoice']));
327 327
         } else {
328
-			$items = getpaid_convert_items_to_array( sanitize_text_field( urldecode( $_GET['item'] ) ) );
329
-		    getpaid_display_item_payment_form( $items );
328
+			$items = getpaid_convert_items_to_array(sanitize_text_field(urldecode($_GET['item'])));
329
+		    getpaid_display_item_payment_form($items);
330 330
         }
331 331
 
332 332
         exit;
@@ -341,14 +341,14 @@  discard block
 block discarded – undo
341 341
     public static function payment_form() {
342 342
 
343 343
         // ... form fields...
344
-        if ( empty( $_POST['getpaid_payment_form_submission'] ) ) {
345
-            esc_html_e( 'Error: Reload the page and try again.', 'invoicing' );
344
+        if (empty($_POST['getpaid_payment_form_submission'])) {
345
+            esc_html_e('Error: Reload the page and try again.', 'invoicing');
346 346
             exit;
347 347
         }
348 348
 
349 349
         // Process the payment form.
350
-        $checkout_class = apply_filters( 'getpaid_checkout_class', 'GetPaid_Checkout' );
351
-        $checkout       = new $checkout_class( new GetPaid_Payment_Form_Submission() );
350
+        $checkout_class = apply_filters('getpaid_checkout_class', 'GetPaid_Checkout');
351
+        $checkout       = new $checkout_class(new GetPaid_Payment_Form_Submission());
352 352
         $checkout->process_checkout();
353 353
 
354 354
         exit;
@@ -361,55 +361,55 @@  discard block
 block discarded – undo
361 361
      */
362 362
     public static function get_payment_form_states_field() {
363 363
 
364
-        if ( empty( $_GET['country'] ) || empty( $_GET['form'] ) ) {
364
+        if (empty($_GET['country']) || empty($_GET['form'])) {
365 365
             exit;
366 366
         }
367 367
 
368
-        $elements = getpaid_get_payment_form_elements( (int) $_GET['form'] );
368
+        $elements = getpaid_get_payment_form_elements((int) $_GET['form']);
369 369
 
370
-        if ( empty( $elements ) ) {
370
+        if (empty($elements)) {
371 371
             exit;
372 372
         }
373 373
 
374 374
         $address_fields = array();
375
-        foreach ( $elements as $element ) {
376
-            if ( 'address' === $element['type'] ) {
375
+        foreach ($elements as $element) {
376
+            if ('address' === $element['type']) {
377 377
                 $address_fields = $element;
378 378
                 break;
379 379
             }
380 380
         }
381 381
 
382
-        if ( empty( $address_fields ) ) {
382
+        if (empty($address_fields)) {
383 383
             exit;
384 384
         }
385 385
 
386
-        foreach ( $address_fields['fields'] as $address_field ) {
386
+        foreach ($address_fields['fields'] as $address_field) {
387 387
 
388
-            if ( 'wpinv_state' == $address_field['name'] ) {
388
+            if ('wpinv_state' == $address_field['name']) {
389 389
 
390
-                $wrap_class  = getpaid_get_form_element_grid_class( $address_field );
391
-                $wrap_class  = esc_attr( "$wrap_class getpaid-address-field-wrapper" );
392
-                $placeholder = empty( $address_field['placeholder'] ) ? '' : esc_attr( $address_field['placeholder'] );
393
-                $description = empty( $address_field['description'] ) ? '' : wp_kses_post( $address_field['description'] );
394
-                $value       = is_user_logged_in() ? get_user_meta( get_current_user_id(), '_wpinv_state', true ) : '';
395
-                $label       = empty( $address_field['label'] ) ? '' : wp_kses_post( $address_field['label'] );
390
+                $wrap_class  = getpaid_get_form_element_grid_class($address_field);
391
+                $wrap_class  = esc_attr("$wrap_class getpaid-address-field-wrapper");
392
+                $placeholder = empty($address_field['placeholder']) ? '' : esc_attr($address_field['placeholder']);
393
+                $description = empty($address_field['description']) ? '' : wp_kses_post($address_field['description']);
394
+                $value       = is_user_logged_in() ? get_user_meta(get_current_user_id(), '_wpinv_state', true) : '';
395
+                $label       = empty($address_field['label']) ? '' : wp_kses_post($address_field['label']);
396 396
 
397
-                if ( ! empty( $address_field['required'] ) ) {
397
+                if (!empty($address_field['required'])) {
398 398
                     $label .= "<span class='text-danger'> *</span>";
399 399
                 }
400 400
 
401 401
                 $html = getpaid_get_states_select_markup(
402
-                    sanitize_text_field( $_GET['country'] ),
402
+                    sanitize_text_field($_GET['country']),
403 403
                     $value,
404 404
                     $placeholder,
405 405
                     $label,
406 406
                     $description,
407
-                    ! empty( $address_field['required'] ),
407
+                    !empty($address_field['required']),
408 408
                     $wrap_class,
409
-                    sanitize_text_field( $_GET['name'] )
409
+                    sanitize_text_field($_GET['name'])
410 410
                 );
411 411
 
412
-                wp_send_json_success( $html );
412
+                wp_send_json_success($html);
413 413
                 exit;
414 414
 
415 415
             }
@@ -424,66 +424,66 @@  discard block
 block discarded – undo
424 424
     public static function recalculate_invoice_totals() {
425 425
 
426 426
         // Verify nonce.
427
-        check_ajax_referer( 'wpinv-nonce' );
427
+        check_ajax_referer('wpinv-nonce');
428 428
 
429
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
429
+        if (!wpinv_current_user_can_manage_invoicing()) {
430 430
             exit;
431 431
         }
432 432
 
433 433
         // We need an invoice.
434
-        if ( empty( $_POST['post_id'] ) ) {
434
+        if (empty($_POST['post_id'])) {
435 435
             exit;
436 436
         }
437 437
 
438 438
         // Fetch the invoice.
439
-        $invoice = new WPInv_Invoice( intval( $_POST['post_id'] ) );
439
+        $invoice = new WPInv_Invoice(intval($_POST['post_id']));
440 440
 
441 441
         // Ensure it exists.
442
-        if ( ! $invoice->get_id() ) {
442
+        if (!$invoice->get_id()) {
443 443
             exit;
444 444
         }
445 445
 
446 446
         // Maybe set the country, state, currency.
447
-        foreach ( array( 'country', 'state', 'currency', 'vat_number', 'discount_code' ) as $key ) {
448
-            if ( isset( $_POST[ $key ] ) ) {
447
+        foreach (array('country', 'state', 'currency', 'vat_number', 'discount_code') as $key) {
448
+            if (isset($_POST[$key])) {
449 449
                 $method = "set_$key";
450
-                $invoice->$method( sanitize_text_field( $_POST[ $key ] ) );
450
+                $invoice->$method(sanitize_text_field($_POST[$key]));
451 451
             }
452 452
         }
453 453
 
454 454
         // Maybe disable taxes.
455
-        $invoice->set_disable_taxes( ! empty( $_POST['taxes'] ) );
455
+        $invoice->set_disable_taxes(!empty($_POST['taxes']));
456 456
 
457 457
         // Discount code.
458
-        if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
459
-            $discount = new WPInv_Discount( $invoice->get_discount_code() );
460
-            if ( $discount->exists() ) {
461
-                $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
458
+        if (!$invoice->is_paid() && !$invoice->is_refunded()) {
459
+            $discount = new WPInv_Discount($invoice->get_discount_code());
460
+            if ($discount->exists()) {
461
+                $invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
462 462
             } else {
463
-                $invoice->remove_discount( 'discount_code' );
463
+                $invoice->remove_discount('discount_code');
464 464
             }
465 465
         }
466 466
 
467 467
         // Recalculate totals.
468 468
         $invoice->recalculate_total();
469 469
 
470
-        $total        = wpinv_price( $invoice->get_total(), $invoice->get_currency() );
471
-        $suscriptions = getpaid_get_invoice_subscriptions( $invoice );
472
-        if ( is_a( $suscriptions, 'WPInv_Subscription' ) && $invoice->is_recurring() && $invoice->is_parent() && $invoice->get_total() != $invoice->get_recurring_total() ) {
473
-            $recurring_total = wpinv_price( $invoice->get_recurring_total(), $invoice->get_currency() );
474
-            $total          .= '<small class="form-text text-muted">' . sprintf( __( 'Recurring Price: %s', 'invoicing' ), $recurring_total ) . '</small>';
470
+        $total        = wpinv_price($invoice->get_total(), $invoice->get_currency());
471
+        $suscriptions = getpaid_get_invoice_subscriptions($invoice);
472
+        if (is_a($suscriptions, 'WPInv_Subscription') && $invoice->is_recurring() && $invoice->is_parent() && $invoice->get_total() != $invoice->get_recurring_total()) {
473
+            $recurring_total = wpinv_price($invoice->get_recurring_total(), $invoice->get_currency());
474
+            $total          .= '<small class="form-text text-muted">' . sprintf(__('Recurring Price: %s', 'invoicing'), $recurring_total) . '</small>';
475 475
         }
476 476
 
477 477
         $totals = array(
478
-            'subtotal' => wpinv_price( $invoice->get_subtotal(), $invoice->get_currency() ),
479
-            'discount' => wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() ),
480
-            'tax'      => wpinv_price( $invoice->get_total_tax(), $invoice->get_currency() ),
478
+            'subtotal' => wpinv_price($invoice->get_subtotal(), $invoice->get_currency()),
479
+            'discount' => wpinv_price($invoice->get_total_discount(), $invoice->get_currency()),
480
+            'tax'      => wpinv_price($invoice->get_total_tax(), $invoice->get_currency()),
481 481
             'total'    => $total,
482 482
         );
483 483
 
484
-        $totals = apply_filters( 'getpaid_invoice_totals', $totals, $invoice );
484
+        $totals = apply_filters('getpaid_invoice_totals', $totals, $invoice);
485 485
 
486
-        wp_send_json_success( compact( 'totals' ) );
486
+        wp_send_json_success(compact('totals'));
487 487
     }
488 488
 
489 489
     /**
@@ -492,33 +492,33 @@  discard block
 block discarded – undo
492 492
     public static function get_invoice_items() {
493 493
 
494 494
         // Verify nonce.
495
-        check_ajax_referer( 'wpinv-nonce' );
495
+        check_ajax_referer('wpinv-nonce');
496 496
 
497
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
497
+        if (!wpinv_current_user_can_manage_invoicing()) {
498 498
             exit;
499 499
         }
500 500
 
501 501
         // We need an invoice and items.
502
-        if ( empty( $_POST['post_id'] ) ) {
502
+        if (empty($_POST['post_id'])) {
503 503
             exit;
504 504
         }
505 505
 
506 506
         // Fetch the invoice.
507
-        $invoice = new WPInv_Invoice( intval( $_POST['post_id'] ) );
507
+        $invoice = new WPInv_Invoice(intval($_POST['post_id']));
508 508
 
509 509
         // Ensure it exists.
510
-        if ( ! $invoice->get_id() ) {
510
+        if (!$invoice->get_id()) {
511 511
             exit;
512 512
         }
513 513
 
514 514
         // Return an array of invoice items.
515 515
         $items = array();
516 516
 
517
-        foreach ( $invoice->get_items() as $item ) {
518
-            $items[] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency(), $invoice->is_renewal() );
517
+        foreach ($invoice->get_items() as $item) {
518
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency(), $invoice->is_renewal());
519 519
         }
520 520
 
521
-        wp_send_json_success( compact( 'items' ) );
521
+        wp_send_json_success(compact('items'));
522 522
     }
523 523
 
524 524
     /**
@@ -527,50 +527,50 @@  discard block
 block discarded – undo
527 527
     public static function edit_invoice_item() {
528 528
 
529 529
         // Verify nonce.
530
-        check_ajax_referer( 'wpinv-nonce' );
530
+        check_ajax_referer('wpinv-nonce');
531 531
 
532
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
532
+        if (!wpinv_current_user_can_manage_invoicing()) {
533 533
             exit;
534 534
         }
535 535
 
536 536
         // We need an invoice and item details.
537
-        if ( empty( $_POST['post_id'] ) || empty( $_POST['data'] ) ) {
537
+        if (empty($_POST['post_id']) || empty($_POST['data'])) {
538 538
             exit;
539 539
         }
540 540
 
541 541
         // Fetch the invoice.
542
-        $invoice = new WPInv_Invoice( intval( $_POST['post_id'] ) );
542
+        $invoice = new WPInv_Invoice(intval($_POST['post_id']));
543 543
 
544 544
         // Ensure it exists and its not been paid for.
545
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
545
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
546 546
             exit;
547 547
         }
548 548
 
549 549
         // Format the data.
550
-        $data = wp_kses_post_deep( wp_unslash( wp_list_pluck( $_POST['data'], 'value', 'field' ) ) );
550
+        $data = wp_kses_post_deep(wp_unslash(wp_list_pluck($_POST['data'], 'value', 'field')));
551 551
 
552 552
         // Ensure that we have an item id.
553
-        if ( empty( $data['id'] ) ) {
553
+        if (empty($data['id'])) {
554 554
             exit;
555 555
         }
556 556
 
557 557
         // Abort if the invoice does not have the specified item.
558
-        $item = $invoice->get_item( (int) $data['id'] );
558
+        $item = $invoice->get_item((int) $data['id']);
559 559
 
560
-        if ( empty( $item ) ) {
560
+        if (empty($item)) {
561 561
             exit;
562 562
         }
563 563
 
564 564
         // Update the item.
565
-        $item->set_price( getpaid_standardize_amount( $data['price'] ) );
566
-        $item->set_name( sanitize_text_field( $data['name'] ) );
567
-        $item->set_description( wp_kses_post( $data['description'] ) );
568
-        $item->set_quantity( floatval( $data['quantity'] ) );
565
+        $item->set_price(getpaid_standardize_amount($data['price']));
566
+        $item->set_name(sanitize_text_field($data['name']));
567
+        $item->set_description(wp_kses_post($data['description']));
568
+        $item->set_quantity(floatval($data['quantity']));
569 569
 
570 570
         // Add it to the invoice.
571
-        $error = $invoice->add_item( $item );
571
+        $error = $invoice->add_item($item);
572 572
         $alert = false;
573
-        if ( is_wp_error( $error ) ) {
573
+        if (is_wp_error($error)) {
574 574
             $alert = $error->get_error_message();
575 575
         }
576 576
 
@@ -583,11 +583,11 @@  discard block
 block discarded – undo
583 583
         // Return an array of invoice items.
584 584
         $items = array();
585 585
 
586
-        foreach ( $invoice->get_items() as $item ) {
587
-            $items[] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() );
586
+        foreach ($invoice->get_items() as $item) {
587
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency());
588 588
         }
589 589
 
590
-        wp_send_json_success( compact( 'items', 'alert' ) );
590
+        wp_send_json_success(compact('items', 'alert'));
591 591
     }
592 592
 
593 593
     /**
@@ -596,57 +596,57 @@  discard block
 block discarded – undo
596 596
     public static function create_invoice_item() {
597 597
 
598 598
         // Verify nonce.
599
-        check_ajax_referer( 'wpinv-nonce' );
599
+        check_ajax_referer('wpinv-nonce');
600 600
 
601 601
         // We need an invoice and item details.
602
-        if ( empty( $_POST['invoice_id'] ) || empty( $_POST['_wpinv_quick'] ) ) {
602
+        if (empty($_POST['invoice_id']) || empty($_POST['_wpinv_quick'])) {
603 603
             exit;
604 604
         }
605 605
 
606 606
         // Fetch the invoice.
607
-        $invoice = new WPInv_Invoice( intval( $_POST['invoice_id'] ) );
607
+        $invoice = new WPInv_Invoice(intval($_POST['invoice_id']));
608 608
 
609 609
         // Ensure it exists and its not been paid for.
610
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
610
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
611 611
             exit;
612 612
         }
613 613
 
614
-        if ( ! wpinv_current_user_can( 'invoice_create_item', array( 'invoice' => $invoice ) ) ) {
614
+        if (!wpinv_current_user_can('invoice_create_item', array('invoice' => $invoice))) {
615 615
             exit;
616 616
         }
617 617
 
618 618
         // Format the data.
619
-        $data = wp_kses_post_deep( wp_unslash( $_POST['_wpinv_quick'] ) );
619
+        $data = wp_kses_post_deep(wp_unslash($_POST['_wpinv_quick']));
620 620
 
621 621
         $item = new WPInv_Item();
622
-        $item->set_price( getpaid_standardize_amount( $data['price'] ) );
623
-        $item->set_name( sanitize_text_field( $data['name'] ) );
624
-        $item->set_description( wp_kses_post( $data['description'] ) );
625
-        $item->set_type( sanitize_text_field( $data['type'] ) );
626
-        $item->set_vat_rule( sanitize_text_field( $data['vat_rule'] ) );
627
-        $item->set_vat_class( sanitize_text_field( $data['vat_class'] ) );
628
-        $item->set_status( 'publish' );
622
+        $item->set_price(getpaid_standardize_amount($data['price']));
623
+        $item->set_name(sanitize_text_field($data['name']));
624
+        $item->set_description(wp_kses_post($data['description']));
625
+        $item->set_type(sanitize_text_field($data['type']));
626
+        $item->set_vat_rule(sanitize_text_field($data['vat_rule']));
627
+        $item->set_vat_class(sanitize_text_field($data['vat_class']));
628
+        $item->set_status('publish');
629 629
         $item->save();
630 630
 
631
-        if ( ! $item->exists() ) {
632
-            $alert = __( 'Could not create invoice item. Please try again.', 'invoicing' );
633
-            wp_send_json_success( compact( 'alert' ) );
631
+        if (!$item->exists()) {
632
+            $alert = __('Could not create invoice item. Please try again.', 'invoicing');
633
+            wp_send_json_success(compact('alert'));
634 634
         }
635 635
 
636
-        if ( ! empty( $data['one-time'] ) ) {
637
-            update_post_meta( $item->get_id(), '_wpinv_one_time', 'yes' );
636
+        if (!empty($data['one-time'])) {
637
+            update_post_meta($item->get_id(), '_wpinv_one_time', 'yes');
638 638
         }
639 639
 
640
-        $item = new GetPaid_Form_Item( $item->get_id() );
641
-        $item->set_quantity( floatval( $data['qty'] ) );
640
+        $item = new GetPaid_Form_Item($item->get_id());
641
+        $item->set_quantity(floatval($data['qty']));
642 642
 
643 643
         // Add it to the invoice.
644
-        $error = $invoice->add_item( $item );
644
+        $error = $invoice->add_item($item);
645 645
         $alert = false;
646 646
 
647
-        if ( is_wp_error( $error ) ) {
647
+        if (is_wp_error($error)) {
648 648
             $alert = $error->get_error_message();
649
-            wp_send_json_success( compact( 'alert' ) );
649
+            wp_send_json_success(compact('alert'));
650 650
          }
651 651
 
652 652
         // Update totals.
@@ -659,9 +659,9 @@  discard block
 block discarded – undo
659 659
         $invoice->recalculate_total();
660 660
         $invoice->save();
661 661
         ob_start();
662
-        GetPaid_Meta_Box_Invoice_Items::output_row( GetPaid_Meta_Box_Invoice_Items::get_columns( $invoice ), $item, $invoice );
662
+        GetPaid_Meta_Box_Invoice_Items::output_row(GetPaid_Meta_Box_Invoice_Items::get_columns($invoice), $item, $invoice);
663 663
         $row = ob_get_clean();
664
-        wp_send_json_success( compact( 'row' ) );
664
+        wp_send_json_success(compact('row'));
665 665
     }
666 666
 
667 667
     /**
@@ -670,33 +670,33 @@  discard block
 block discarded – undo
670 670
     public static function remove_invoice_item() {
671 671
 
672 672
         // Verify nonce.
673
-        check_ajax_referer( 'wpinv-nonce' );
673
+        check_ajax_referer('wpinv-nonce');
674 674
 
675
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
675
+        if (!wpinv_current_user_can_manage_invoicing()) {
676 676
             exit;
677 677
         }
678 678
 
679 679
         // We need an invoice and an item.
680
-        if ( empty( $_POST['post_id'] ) || empty( $_POST['item_id'] ) ) {
680
+        if (empty($_POST['post_id']) || empty($_POST['item_id'])) {
681 681
             exit;
682 682
         }
683 683
 
684 684
         // Fetch the invoice.
685
-        $invoice = new WPInv_Invoice( intval( $_POST['post_id'] ) );
685
+        $invoice = new WPInv_Invoice(intval($_POST['post_id']));
686 686
 
687 687
         // Ensure it exists and its not been paid for.
688
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
688
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
689 689
             exit;
690 690
         }
691 691
 
692 692
         // Abort if the invoice does not have the specified item.
693
-        $item = $invoice->get_item( (int) $_POST['item_id'] );
693
+        $item = $invoice->get_item((int) $_POST['item_id']);
694 694
 
695
-        if ( empty( $item ) ) {
695
+        if (empty($item)) {
696 696
             exit;
697 697
         }
698 698
 
699
-        $invoice->remove_item( (int) $_POST['item_id'] );
699
+        $invoice->remove_item((int) $_POST['item_id']);
700 700
 
701 701
         // Update totals.
702 702
         $invoice->recalculate_total();
@@ -707,11 +707,11 @@  discard block
 block discarded – undo
707 707
         // Return an array of invoice items.
708 708
         $items = array();
709 709
 
710
-        foreach ( $invoice->get_items() as $item ) {
711
-            $items[] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() );
710
+        foreach ($invoice->get_items() as $item) {
711
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency());
712 712
         }
713 713
 
714
-        wp_send_json_success( compact( 'items' ) );
714
+        wp_send_json_success(compact('items'));
715 715
     }
716 716
 
717 717
     /**
@@ -720,68 +720,68 @@  discard block
 block discarded – undo
720 720
     public static function recalculate_full_prices() {
721 721
 
722 722
         // Verify nonce.
723
-        check_ajax_referer( 'wpinv-nonce' );
723
+        check_ajax_referer('wpinv-nonce');
724 724
 
725 725
         // We need an invoice and item.
726
-        if ( empty( $_POST['post_id'] ) ) {
726
+        if (empty($_POST['post_id'])) {
727 727
             exit;
728 728
         }
729 729
 
730 730
         // Fetch the invoice.
731
-        $invoice = new WPInv_Invoice( intval( $_POST['post_id'] ) );
731
+        $invoice = new WPInv_Invoice(intval($_POST['post_id']));
732 732
         $alert   = false;
733 733
 
734 734
         // Ensure it exists and its not been paid for.
735
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
735
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
736 736
             exit;
737 737
         }
738 738
 
739
-        if ( ! wpinv_current_user_can( 'invoice_recalculate_full_prices', array( 'invoice' => $invoice ) ) ) {
739
+        if (!wpinv_current_user_can('invoice_recalculate_full_prices', array('invoice' => $invoice))) {
740 740
             exit;
741 741
         }
742 742
 
743
-        $invoice->set_items( array() );
743
+        $invoice->set_items(array());
744 744
 
745
-        if ( ! empty( $_POST['getpaid_items'] ) ) {
745
+        if (!empty($_POST['getpaid_items'])) {
746 746
 
747
-            foreach ( wp_kses_post_deep( $_POST['getpaid_items'] ) as $item_id => $args ) {
748
-                $item = new GetPaid_Form_Item( $item_id );
747
+            foreach (wp_kses_post_deep($_POST['getpaid_items']) as $item_id => $args) {
748
+                $item = new GetPaid_Form_Item($item_id);
749 749
 
750
-                if ( $item->exists() ) {
751
-                    $item->set_price( getpaid_standardize_amount( $args['price'] ) );
752
-                    $item->set_quantity( floatval( $args['quantity'] ) );
753
-                    $item->set_name( sanitize_text_field( $args['name'] ) );
754
-                    $item->set_description( wp_kses_post( $args['description'] ) );
755
-                    $invoice->add_item( $item );
750
+                if ($item->exists()) {
751
+                    $item->set_price(getpaid_standardize_amount($args['price']));
752
+                    $item->set_quantity(floatval($args['quantity']));
753
+                    $item->set_name(sanitize_text_field($args['name']));
754
+                    $item->set_description(wp_kses_post($args['description']));
755
+                    $invoice->add_item($item);
756 756
                 }
757 757
             }
758 758
 }
759 759
 
760
-        $invoice->set_disable_taxes( ! empty( $_POST['disable_taxes'] ) );
760
+        $invoice->set_disable_taxes(!empty($_POST['disable_taxes']));
761 761
 
762 762
         // Maybe set the country, state, currency.
763
-        foreach ( array( 'wpinv_country', 'wpinv_state', 'wpinv_currency', 'wpinv_vat_number', 'wpinv_discount_code' ) as $key ) {
764
-            if ( isset( $_POST[ $key ] ) ) {
765
-                $_key   = str_replace( 'wpinv_', '', $key );
763
+        foreach (array('wpinv_country', 'wpinv_state', 'wpinv_currency', 'wpinv_vat_number', 'wpinv_discount_code') as $key) {
764
+            if (isset($_POST[$key])) {
765
+                $_key   = str_replace('wpinv_', '', $key);
766 766
                 $method = "set_$_key";
767
-                $invoice->$method( sanitize_text_field( $_POST[ $key ] ) );
767
+                $invoice->$method(sanitize_text_field($_POST[$key]));
768 768
             }
769 769
         }
770 770
 
771
-        $discount = new WPInv_Discount( $invoice->get_discount_code() );
772
-        if ( $discount->exists() ) {
773
-            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
771
+        $discount = new WPInv_Discount($invoice->get_discount_code());
772
+        if ($discount->exists()) {
773
+            $invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
774 774
         } else {
775
-            $invoice->remove_discount( 'discount_code' );
775
+            $invoice->remove_discount('discount_code');
776 776
         }
777 777
 
778 778
         // Save the invoice.
779 779
         $invoice->recalculate_total();
780 780
         $invoice->save();
781 781
         ob_start();
782
-        GetPaid_Meta_Box_Invoice_Items::output( get_post( $invoice->get_id() ), $invoice );
782
+        GetPaid_Meta_Box_Invoice_Items::output(get_post($invoice->get_id()), $invoice);
783 783
         $table = ob_get_clean();
784
-        wp_send_json_success( compact( 'table' ) );
784
+        wp_send_json_success(compact('table'));
785 785
     }
786 786
 
787 787
     /**
@@ -790,43 +790,43 @@  discard block
 block discarded – undo
790 790
     public static function admin_add_invoice_item() {
791 791
 
792 792
         // Verify nonce.
793
-        check_ajax_referer( 'wpinv-nonce' );
793
+        check_ajax_referer('wpinv-nonce');
794 794
 
795 795
         // We need an invoice and item.
796
-        if ( empty( $_POST['post_id'] ) || empty( $_POST['item_id'] ) ) {
796
+        if (empty($_POST['post_id']) || empty($_POST['item_id'])) {
797 797
             exit;
798 798
         }
799 799
 
800 800
         // Fetch the invoice.
801
-        $invoice = new WPInv_Invoice( intval( $_POST['post_id'] ) );
801
+        $invoice = new WPInv_Invoice(intval($_POST['post_id']));
802 802
         $alert   = false;
803 803
 
804 804
         // Ensure it exists and its not been paid for.
805
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
805
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
806 806
             exit;
807 807
         }
808 808
 
809 809
         // Add the item.
810
-        $item  = new GetPaid_Form_Item( (int) $_POST['item_id'] );
810
+        $item = new GetPaid_Form_Item((int) $_POST['item_id']);
811 811
 
812
-        if ( ! wpinv_current_user_can( 'invoice_add_item', array( 'invoice' => $invoice, 'invoice_item' => $item ) ) ) {
812
+        if (!wpinv_current_user_can('invoice_add_item', array('invoice' => $invoice, 'invoice_item' => $item))) {
813 813
             exit;
814 814
         }
815 815
 
816
-        $error = $invoice->add_item( $item );
816
+        $error = $invoice->add_item($item);
817 817
 
818
-        if ( is_wp_error( $error ) ) {
818
+        if (is_wp_error($error)) {
819 819
             $alert = $error->get_error_message();
820
-            wp_send_json_success( compact( 'alert' ) );
820
+            wp_send_json_success(compact('alert'));
821 821
         }
822 822
 
823 823
         // Save the invoice.
824 824
         $invoice->recalculate_total();
825 825
         $invoice->save();
826 826
         ob_start();
827
-        GetPaid_Meta_Box_Invoice_Items::output_row( GetPaid_Meta_Box_Invoice_Items::get_columns( $invoice ), $item, $invoice );
827
+        GetPaid_Meta_Box_Invoice_Items::output_row(GetPaid_Meta_Box_Invoice_Items::get_columns($invoice), $item, $invoice);
828 828
         $row = ob_get_clean();
829
-        wp_send_json_success( compact( 'row' ) );
829
+        wp_send_json_success(compact('row'));
830 830
     }
831 831
 
832 832
     /**
@@ -835,39 +835,39 @@  discard block
 block discarded – undo
835 835
     public static function add_invoice_items() {
836 836
 
837 837
         // Verify nonce.
838
-        check_ajax_referer( 'wpinv-nonce' );
838
+        check_ajax_referer('wpinv-nonce');
839 839
 
840
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
840
+        if (!wpinv_current_user_can_manage_invoicing()) {
841 841
             exit;
842 842
         }
843 843
 
844 844
         // We need an invoice and items.
845
-        if ( empty( $_POST['post_id'] ) || empty( $_POST['items'] ) ) {
845
+        if (empty($_POST['post_id']) || empty($_POST['items'])) {
846 846
             exit;
847 847
         }
848 848
 
849 849
         // Fetch the invoice.
850
-        $invoice = new WPInv_Invoice( intval( $_POST['post_id'] ) );
850
+        $invoice = new WPInv_Invoice(intval($_POST['post_id']));
851 851
         $alert   = false;
852 852
 
853 853
         // Ensure it exists and its not been paid for.
854
-        if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) {
854
+        if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) {
855 855
             exit;
856 856
         }
857 857
 
858 858
         // Add the items.
859
-        foreach ( wp_kses_post_deep( wp_unslash( $_POST['items'] ) ) as $data ) {
859
+        foreach (wp_kses_post_deep(wp_unslash($_POST['items'])) as $data) {
860 860
 
861
-            $item = new GetPaid_Form_Item( (int) $data['id'] );
861
+            $item = new GetPaid_Form_Item((int) $data['id']);
862 862
 
863
-            if ( is_numeric( $data['qty'] ) && (float) $data['qty'] > 0 ) {
864
-                $item->set_quantity( floatval( $data['qty'] ) );
863
+            if (is_numeric($data['qty']) && (float) $data['qty'] > 0) {
864
+                $item->set_quantity(floatval($data['qty']));
865 865
             }
866 866
 
867
-            if ( $item->get_id() > 0 ) {
868
-                $error = $invoice->add_item( $item );
867
+            if ($item->get_id() > 0) {
868
+                $error = $invoice->add_item($item);
869 869
 
870
-                if ( is_wp_error( $error ) ) {
870
+                if (is_wp_error($error)) {
871 871
                     $alert = $error->get_error_message();
872 872
                 }
873 873
 }
@@ -880,11 +880,11 @@  discard block
 block discarded – undo
880 880
         // Return an array of invoice items.
881 881
         $items = array();
882 882
 
883
-        foreach ( $invoice->get_items() as $item ) {
884
-            $items[] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() );
883
+        foreach ($invoice->get_items() as $item) {
884
+            $items[] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency());
885 885
         }
886 886
 
887
-        wp_send_json_success( compact( 'items', 'alert' ) );
887
+        wp_send_json_success(compact('items', 'alert'));
888 888
     }
889 889
 
890 890
     /**
@@ -893,15 +893,15 @@  discard block
 block discarded – undo
893 893
     public static function get_invoicing_items() {
894 894
 
895 895
         // Verify nonce.
896
-        check_ajax_referer( 'wpinv-nonce' );
896
+        check_ajax_referer('wpinv-nonce');
897 897
 
898
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
898
+        if (!wpinv_current_user_can_manage_invoicing()) {
899 899
             exit;
900 900
         }
901 901
 
902 902
         // We need a search term.
903
-        if ( empty( $_GET['search'] ) ) {
904
-            wp_send_json_success( array() );
903
+        if (empty($_GET['search'])) {
904
+            wp_send_json_success(array());
905 905
         }
906 906
 
907 907
         // Retrieve items.
@@ -910,8 +910,8 @@  discard block
 block discarded – undo
910 910
             'orderby'        => 'title',
911 911
             'order'          => 'ASC',
912 912
             'posts_per_page' => -1,
913
-            'post_status'    => array( 'publish' ),
914
-            's'              => sanitize_text_field( urldecode( $_GET['search'] ) ),
913
+            'post_status'    => array('publish'),
914
+            's'              => sanitize_text_field(urldecode($_GET['search'])),
915 915
             'meta_query'     => array(
916 916
                 array(
917 917
                     'key'     => '_wpinv_type',
@@ -925,25 +925,25 @@  discard block
 block discarded – undo
925 925
             ),
926 926
         );
927 927
 
928
-        if ( ! empty( $_GET['ignore'] ) ) {
929
-            $item_args['exclude'] = wp_parse_id_list( sanitize_text_field( $_GET['ignore'] ) );
928
+        if (!empty($_GET['ignore'])) {
929
+            $item_args['exclude'] = wp_parse_id_list(sanitize_text_field($_GET['ignore']));
930 930
         }
931 931
 
932
-        $items = get_posts( apply_filters( 'getpaid_ajax_invoice_items_query_args', $item_args ) );
932
+        $items = get_posts(apply_filters('getpaid_ajax_invoice_items_query_args', $item_args));
933 933
         $data  = array();
934 934
 
935
-        $is_payment_form = ( ! empty( $_GET['post_id'] ) && 'wpi_payment_form' == get_post_type( (int) $_GET['post_id'] ) );
935
+        $is_payment_form = (!empty($_GET['post_id']) && 'wpi_payment_form' == get_post_type((int) $_GET['post_id']));
936 936
 
937
-        foreach ( $items as $item ) {
938
-            $item      = new GetPaid_Form_Item( $item );
937
+        foreach ($items as $item) {
938
+            $item = new GetPaid_Form_Item($item);
939 939
             $data[] = array(
940 940
                 'id'        => (int) $item->get_id(),
941
-                'text'      => strip_tags( $item->get_name() ),
942
-                'form_data' => $is_payment_form ? $item->prepare_data_for_use( false ) : '',
941
+                'text'      => strip_tags($item->get_name()),
942
+                'form_data' => $is_payment_form ? $item->prepare_data_for_use(false) : '',
943 943
             );
944 944
         }
945 945
 
946
-        wp_send_json_success( $data );
946
+        wp_send_json_success($data);
947 947
 
948 948
     }
949 949
 
@@ -952,40 +952,40 @@  discard block
 block discarded – undo
952 952
      */
953 953
     public static function get_customers() {
954 954
         // Verify nonce.
955
-        check_ajax_referer( 'wpinv-nonce' );
955
+        check_ajax_referer('wpinv-nonce');
956 956
 
957
-        $invoice_id = ! empty( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0;
957
+        $invoice_id = !empty($_REQUEST['post_id']) ? (int) $_REQUEST['post_id'] : 0;
958 958
 
959 959
         // Can the user manage the plugin?
960
-        if ( ! wpinv_current_user_can( 'invoice_get_customers', array( 'invoice_id' => $invoice_id ) ) ) {
960
+        if (!wpinv_current_user_can('invoice_get_customers', array('invoice_id' => $invoice_id))) {
961 961
             die( -1 );
962 962
         }
963 963
 
964 964
         // We need a search term.
965
-        if ( empty( $_GET['search'] ) ) {
966
-            wp_send_json_success( array() );
965
+        if (empty($_GET['search'])) {
966
+            wp_send_json_success(array());
967 967
         }
968 968
 
969 969
         // Retrieve customers.
970 970
 
971 971
         $customer_args = array(
972
-            'fields'         => array( 'ID', 'user_email', 'display_name' ),
972
+            'fields'         => array('ID', 'user_email', 'display_name'),
973 973
             'orderby'        => 'display_name',
974
-            'search'         => '*' . sanitize_text_field( $_GET['search'] ) . '*',
975
-            'search_columns' => array( 'user_login', 'user_email', 'display_name' ),
974
+            'search'         => '*' . sanitize_text_field($_GET['search']) . '*',
975
+            'search_columns' => array('user_login', 'user_email', 'display_name'),
976 976
         );
977 977
 
978
-        $customers = get_users( apply_filters( 'getpaid_ajax_invoice_customers_query_args', $customer_args ) );
978
+        $customers = get_users(apply_filters('getpaid_ajax_invoice_customers_query_args', $customer_args));
979 979
         $data      = array();
980 980
 
981
-        foreach ( $customers as $customer ) {
981
+        foreach ($customers as $customer) {
982 982
             $data[] = array(
983 983
                 'id'   => (int) $customer->ID,
984
-                'text' => strip_tags( sprintf( _x( '%1$s (%2$s)', 'user dropdown', 'invoicing' ), $customer->display_name, $customer->user_email ) ),
984
+                'text' => strip_tags(sprintf(_x('%1$s (%2$s)', 'user dropdown', 'invoicing'), $customer->display_name, $customer->user_email)),
985 985
             );
986 986
         }
987 987
 
988
-        wp_send_json_success( $data );
988
+        wp_send_json_success($data);
989 989
 
990 990
     }
991 991
 
@@ -995,25 +995,25 @@  discard block
 block discarded – undo
995 995
     public static function get_aui_states_field() {
996 996
 
997 997
         // We need a country.
998
-        if ( empty( $_GET['country'] ) ) {
998
+        if (empty($_GET['country'])) {
999 999
             exit;
1000 1000
         }
1001 1001
 
1002
-        $states = wpinv_get_country_states( sanitize_text_field( $_GET['country'] ) );
1003
-        $state  = isset( $_GET['state'] ) ? sanitize_text_field( $_GET['state'] ) : wpinv_get_default_state();
1004
-        $name   = isset( $_GET['name'] ) ? sanitize_text_field( $_GET['name'] ) : 'wpinv_state';
1005
-        $class  = isset( $_GET['class'] ) ? sanitize_text_field( $_GET['class'] ) : 'form-control-sm';
1002
+        $states = wpinv_get_country_states(sanitize_text_field($_GET['country']));
1003
+        $state  = isset($_GET['state']) ? sanitize_text_field($_GET['state']) : wpinv_get_default_state();
1004
+        $name   = isset($_GET['name']) ? sanitize_text_field($_GET['name']) : 'wpinv_state';
1005
+        $class  = isset($_GET['class']) ? sanitize_text_field($_GET['class']) : 'form-control-sm';
1006 1006
 
1007
-        if ( empty( $states ) ) {
1007
+        if (empty($states)) {
1008 1008
 
1009 1009
             $html = aui()->input(
1010 1010
                 array(
1011 1011
                     'type'        => 'text',
1012 1012
                     'id'          => 'wpinv_state',
1013 1013
                     'name'        => $name,
1014
-                    'label'       => __( 'State', 'invoicing' ),
1014
+                    'label'       => __('State', 'invoicing'),
1015 1015
                     'label_type'  => 'vertical',
1016
-                    'placeholder' => __( 'State', 'invoicing' ),
1016
+                    'placeholder' => __('State', 'invoicing'),
1017 1017
                     'class'       => $class,
1018 1018
                     'value'       => $state,
1019 1019
                 )
@@ -1025,9 +1025,9 @@  discard block
 block discarded – undo
1025 1025
                 array(
1026 1026
                     'id'               => 'wpinv_state',
1027 1027
                     'name'             => $name,
1028
-                    'label'            => __( 'State', 'invoicing' ),
1028
+                    'label'            => __('State', 'invoicing'),
1029 1029
                     'label_type'       => 'vertical',
1030
-                    'placeholder'      => __( 'Select a state', 'invoicing' ),
1030
+                    'placeholder'      => __('Select a state', 'invoicing'),
1031 1031
                     'class'            => $class,
1032 1032
                     'value'            => $state,
1033 1033
                     'options'          => $states,
@@ -1041,7 +1041,7 @@  discard block
 block discarded – undo
1041 1041
         wp_send_json_success(
1042 1042
             array(
1043 1043
                 'html'   => $html,
1044
-                'select' => ! empty( $states ),
1044
+                'select' => !empty($states),
1045 1045
             )
1046 1046
         );
1047 1047
 
@@ -1055,8 +1055,8 @@  discard block
 block discarded – undo
1055 1055
     public static function payment_form_refresh_prices() {
1056 1056
 
1057 1057
         // ... form fields...
1058
-        if ( empty( $_POST['getpaid_payment_form_submission'] ) ) {
1059
-            esc_html_e( 'Error: Reload the page and try again.', 'invoicing' );
1058
+        if (empty($_POST['getpaid_payment_form_submission'])) {
1059
+            esc_html_e('Error: Reload the page and try again.', 'invoicing');
1060 1060
             exit;
1061 1061
         }
1062 1062
 
@@ -1064,7 +1064,7 @@  discard block
 block discarded – undo
1064 1064
         $submission = new GetPaid_Payment_Form_Submission();
1065 1065
 
1066 1066
         // Do we have an error?
1067
-        if ( ! empty( $submission->last_error ) ) {
1067
+        if (!empty($submission->last_error)) {
1068 1068
             wp_send_json_error(
1069 1069
                 array(
1070 1070
                     'code'  => $submission->last_error_code,
@@ -1074,12 +1074,12 @@  discard block
 block discarded – undo
1074 1074
         }
1075 1075
 
1076 1076
         // Prepare the response.
1077
-        $response = new GetPaid_Payment_Form_Submission_Refresh_Prices( $submission );
1077
+        $response = new GetPaid_Payment_Form_Submission_Refresh_Prices($submission);
1078 1078
 
1079 1079
         // Filter the response.
1080
-        $response = apply_filters( 'getpaid_payment_form_ajax_refresh_prices', $response->response, $submission );
1080
+        $response = apply_filters('getpaid_payment_form_ajax_refresh_prices', $response->response, $submission);
1081 1081
 
1082
-        wp_send_json_success( $response );
1082
+        wp_send_json_success($response);
1083 1083
     }
1084 1084
 
1085 1085
     /**
@@ -1091,63 +1091,63 @@  discard block
 block discarded – undo
1091 1091
 	public static function file_upload() {
1092 1092
 
1093 1093
         // Check nonce.
1094
-        check_ajax_referer( 'getpaid_form_nonce' );
1094
+        check_ajax_referer('getpaid_form_nonce');
1095 1095
 
1096
-        if ( empty( $_POST['form_id'] ) || empty( $_POST['field_name'] ) || empty( $_FILES['file'] ) ) {
1097
-            wp_die( esc_html_e( 'Bad Request', 'invoicing' ), 400 );
1096
+        if (empty($_POST['form_id']) || empty($_POST['field_name']) || empty($_FILES['file'])) {
1097
+            wp_die(esc_html_e('Bad Request', 'invoicing'), 400);
1098 1098
         }
1099 1099
 
1100 1100
         // Fetch form.
1101
-        $form = new GetPaid_Payment_Form( intval( $_POST['form_id'] ) );
1101
+        $form = new GetPaid_Payment_Form(intval($_POST['form_id']));
1102 1102
 
1103
-        if ( ! $form->is_active() ) {
1104
-            wp_send_json_error( __( 'Payment form not active', 'invoicing' ) );
1103
+        if (!$form->is_active()) {
1104
+            wp_send_json_error(__('Payment form not active', 'invoicing'));
1105 1105
         }
1106 1106
 
1107 1107
         // Fetch appropriate field.
1108
-        $upload_field = current( wp_list_filter( $form->get_elements(), array( 'id' => sanitize_text_field( $_POST['field_name'] ) ) ) );
1109
-        if ( empty( $upload_field ) ) {
1110
-            wp_send_json_error( __( 'Invalid upload field.', 'invoicing' ) );
1108
+        $upload_field = current(wp_list_filter($form->get_elements(), array('id' => sanitize_text_field($_POST['field_name']))));
1109
+        if (empty($upload_field)) {
1110
+            wp_send_json_error(__('Invalid upload field.', 'invoicing'));
1111 1111
         }
1112 1112
 
1113 1113
         // Prepare allowed file types.
1114
-        $file_types = isset( $upload_field['file_types'] ) ? $upload_field['file_types'] : array( 'jpg|jpeg|jpe', 'gif', 'png' );
1114
+        $file_types = isset($upload_field['file_types']) ? $upload_field['file_types'] : array('jpg|jpeg|jpe', 'gif', 'png');
1115 1115
         $all_types  = getpaid_get_allowed_mime_types();
1116 1116
         $mime_types = array();
1117 1117
 
1118
-        foreach ( $file_types as $file_type ) {
1119
-            if ( isset( $all_types[ $file_type ] ) ) {
1120
-                $mime_types[] = $all_types[ $file_type ];
1118
+        foreach ($file_types as $file_type) {
1119
+            if (isset($all_types[$file_type])) {
1120
+                $mime_types[] = $all_types[$file_type];
1121 1121
             }
1122 1122
         }
1123 1123
 
1124
-        if ( ! in_array( $_FILES['file']['type'], $mime_types ) ) {
1125
-            wp_send_json_error( __( 'Unsupported file type.', 'invoicing' ) );
1124
+        if (!in_array($_FILES['file']['type'], $mime_types)) {
1125
+            wp_send_json_error(__('Unsupported file type.', 'invoicing'));
1126 1126
         }
1127 1127
 
1128 1128
         // Upload file.
1129
-        $file_name = explode( '.', strtolower( $_FILES['file']['name'] ) );
1130
-        $file_name = uniqid( 'getpaid-' ) . '.' . array_pop( $file_name );
1129
+        $file_name = explode('.', strtolower($_FILES['file']['name']));
1130
+        $file_name = uniqid('getpaid-') . '.' . array_pop($file_name);
1131 1131
 
1132 1132
         $uploaded = wp_upload_bits(
1133 1133
             $file_name,
1134 1134
             null,
1135
-            file_get_contents( $_FILES['file']['tmp_name'] )
1135
+            file_get_contents($_FILES['file']['tmp_name'])
1136 1136
         );
1137 1137
 
1138
-        if ( ! empty( $uploaded['error'] ) ) {
1139
-            wp_send_json_error( $uploaded['error'] );
1138
+        if (!empty($uploaded['error'])) {
1139
+            wp_send_json_error($uploaded['error']);
1140 1140
         }
1141 1141
 
1142 1142
         // Retrieve response.
1143 1143
         $response = sprintf(
1144 1144
             '<input type="hidden" name="%s[%s]" value="%s" />',
1145
-            esc_attr( sanitize_text_field( $_POST['field_name'] ) ),
1146
-            esc_url( $uploaded['url'] ),
1147
-            esc_attr( sanitize_text_field( strtolower( $_FILES['file']['name'] ) ) )
1145
+            esc_attr(sanitize_text_field($_POST['field_name'])),
1146
+            esc_url($uploaded['url']),
1147
+            esc_attr(sanitize_text_field(strtolower($_FILES['file']['name'])))
1148 1148
         );
1149 1149
 
1150
-        wp_send_json_success( $response );
1150
+        wp_send_json_success($response);
1151 1151
 
1152 1152
 	}
1153 1153
 
Please login to merge, or discard this patch.