Passed
Push — master ( fc5da4...f5b623 )
by Brian
05:33
created
includes/admin/class-getpaid-admin.php 2 patches
Indentation   +568 added lines, -568 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,500 +404,500 @@  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 missing admin tables.
578
-	 *
578
+     *
579 579
      */
580 580
     public function admin_create_missing_tables() {
581
-		global $wpdb;
581
+        global $wpdb;
582 582
 
583
-		GetPaid_Installer::create_db_tables();
584
-		GetPaid_Installer::migrate_old_customers();
583
+        GetPaid_Installer::create_db_tables();
584
+        GetPaid_Installer::migrate_old_customers();
585 585
 
586
-		if ( '' !== $wpdb->last_error ) {
587
-			$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
588
-		} else {
589
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
590
-		}
586
+        if ( '' !== $wpdb->last_error ) {
587
+            $this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
588
+        } else {
589
+            $this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
590
+        }
591 591
 
592
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
593
-		exit;
594
-	}
592
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
593
+        exit;
594
+    }
595 595
 
596
-	/**
596
+    /**
597 597
      * Migrates old invoices to the new database tables.
598
-	 *
598
+     *
599 599
      */
600 600
     public function admin_migrate_old_invoices() {
601 601
 
602
-		// Migrate the invoices.
603
-		$installer = new GetPaid_Installer();
604
-		$installer->migrate_old_invoices();
602
+        // Migrate the invoices.
603
+        $installer = new GetPaid_Installer();
604
+        $installer->migrate_old_invoices();
605 605
 
606
-		// Show an admin message.
607
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
606
+        // Show an admin message.
607
+        $this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
608 608
 
609
-		// Redirect the admin.
610
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
611
-		exit;
609
+        // Redirect the admin.
610
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
611
+        exit;
612 612
 
613
-	}
613
+    }
614 614
 
615
-	/**
615
+    /**
616 616
      * Download customers.
617
-	 *
617
+     *
618 618
      */
619 619
     public function admin_download_customers() {
620 620
 
621
-		$output = fopen( 'php://output', 'w' );
621
+        $output = fopen( 'php://output', 'w' );
622 622
 
623
-		if ( false === $output ) {
624
-			wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
625
-		}
623
+        if ( false === $output ) {
624
+            wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
625
+        }
626 626
 
627
-		header( 'Content-Type:text/csv' );
628
-		header( 'Content-Disposition:attachment;filename=customers.csv' );
627
+        header( 'Content-Type:text/csv' );
628
+        header( 'Content-Disposition:attachment;filename=customers.csv' );
629 629
 
630
-		/** @var GetPaid_Customer[] $customers */
631
-		$customers = getpaid_get_customers( array( 'number' => -1 ) );
632
-		$columns   = array_keys( GetPaid_Customer_Data_Store::get_database_fields() );
630
+        /** @var GetPaid_Customer[] $customers */
631
+        $customers = getpaid_get_customers( array( 'number' => -1 ) );
632
+        $columns   = array_keys( GetPaid_Customer_Data_Store::get_database_fields() );
633 633
 
634
-		// Output the csv column headers.
635
-		fputcsv( $output, $columns );
634
+        // Output the csv column headers.
635
+        fputcsv( $output, $columns );
636 636
 
637
-		// Loop through
638
-		foreach ( $customers as $customer ) {
637
+        // Loop through
638
+        foreach ( $customers as $customer ) {
639 639
 
640
-			$row  = array();
640
+            $row  = array();
641 641
 
642
-			foreach ( $columns as $column ) {
643
-				$row[]  = (string) maybe_serialize( $customer->get( $column, 'edit' ) );
644
-			}
642
+            foreach ( $columns as $column ) {
643
+                $row[]  = (string) maybe_serialize( $customer->get( $column, 'edit' ) );
644
+            }
645 645
 
646
-			fputcsv( $output, $row );
647
-		}
646
+            fputcsv( $output, $row );
647
+        }
648 648
 
649
-		fclose( $output );
650
-		exit;
649
+        fclose( $output );
650
+        exit;
651 651
 
652
-	}
652
+    }
653 653
 
654
-	/**
654
+    /**
655 655
      * Installs a plugin.
656
-	 *
657
-	 * @param array $data
656
+     *
657
+     * @param array $data
658 658
      */
659 659
     public function admin_install_plugin( $data ) {
660 660
 
661
-		if ( ! empty( $data['plugins'] ) ) {
662
-			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
663
-			wp_cache_flush();
661
+        if ( ! empty( $data['plugins'] ) ) {
662
+            include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
663
+            wp_cache_flush();
664 664
 
665
-			foreach ( $data['plugins'] as $slug => $file ) {
666
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
667
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
668
-				$installed  = $upgrader->install( $plugin_zip );
665
+            foreach ( $data['plugins'] as $slug => $file ) {
666
+                $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
667
+                $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
668
+                $installed  = $upgrader->install( $plugin_zip );
669 669
 
670
-				if ( ! is_wp_error( $installed ) && $installed ) {
671
-					activate_plugin( $file, '', false, true );
672
-				} else {
673
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
674
-				}
670
+                if ( ! is_wp_error( $installed ) && $installed ) {
671
+                    activate_plugin( $file, '', false, true );
672
+                } else {
673
+                    wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
674
+                }
675 675
 }
676 676
 }
677 677
 
678
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
679
-		wp_safe_redirect( $redirect );
680
-		exit;
678
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
679
+        wp_safe_redirect( $redirect );
680
+        exit;
681 681
 
682
-	}
682
+    }
683 683
 
684
-	/**
684
+    /**
685 685
      * Connects a gateway.
686
-	 *
687
-	 * @param array $data
686
+     *
687
+     * @param array $data
688 688
      */
689 689
     public function admin_connect_gateway( $data ) {
690 690
 
691
-		if ( ! empty( $data['plugin'] ) ) {
691
+        if ( ! empty( $data['plugin'] ) ) {
692 692
 
693
-			$gateway     = sanitize_key( $data['plugin'] );
694
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
693
+            $gateway     = sanitize_key( $data['plugin'] );
694
+            $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
695 695
 
696
-			if ( ! empty( $connect_url ) ) {
697
-				wp_redirect( $connect_url );
698
-				exit;
699
-			}
696
+            if ( ! empty( $connect_url ) ) {
697
+                wp_redirect( $connect_url );
698
+                exit;
699
+            }
700 700
 
701
-			if ( 'stripe' == $data['plugin'] ) {
702
-				require_once ABSPATH . 'wp-admin/includes/plugin.php';
703
-				include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
704
-				wp_cache_flush();
701
+            if ( 'stripe' == $data['plugin'] ) {
702
+                require_once ABSPATH . 'wp-admin/includes/plugin.php';
703
+                include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
704
+                wp_cache_flush();
705 705
 
706
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
707
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
708
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
709
-					$upgrader->install( $plugin_zip );
710
-				}
706
+                if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
707
+                    $plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
708
+                    $upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
709
+                    $upgrader->install( $plugin_zip );
710
+                }
711 711
 
712
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
713
-			}
712
+                activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
713
+            }
714 714
 
715
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
716
-			if ( ! empty( $connect_url ) ) {
717
-				wp_redirect( $connect_url );
718
-				exit;
719
-			}
715
+            $connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
716
+            if ( ! empty( $connect_url ) ) {
717
+                wp_redirect( $connect_url );
718
+                exit;
719
+            }
720 720
 }
721 721
 
722
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
723
-		wp_safe_redirect( $redirect );
724
-		exit;
722
+        $redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
723
+        wp_safe_redirect( $redirect );
724
+        exit;
725 725
 
726
-	}
726
+    }
727 727
 
728
-	/**
728
+    /**
729 729
      * Recalculates discounts.
730
-	 *
730
+     *
731 731
      */
732 732
     public function admin_recalculate_discounts() {
733
-		global $wpdb;
733
+        global $wpdb;
734 734
 
735
-		// Fetch all invoices that have discount codes.
736
-		$table    = $wpdb->prefix . 'getpaid_invoices';
737
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
735
+        // Fetch all invoices that have discount codes.
736
+        $table    = $wpdb->prefix . 'getpaid_invoices';
737
+        $invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
738 738
 
739
-		foreach ( $invoices as $invoice ) {
739
+        foreach ( $invoices as $invoice ) {
740 740
 
741
-			$invoice = new WPInv_Invoice( $invoice );
741
+            $invoice = new WPInv_Invoice( $invoice );
742 742
 
743
-			if ( ! $invoice->exists() ) {
744
-				continue;
745
-			}
743
+            if ( ! $invoice->exists() ) {
744
+                continue;
745
+            }
746 746
 
747
-			// Abort if the discount does not exist or does not apply here.
748
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
749
-			if ( ! $discount->exists() ) {
750
-				continue;
751
-			}
747
+            // Abort if the discount does not exist or does not apply here.
748
+            $discount = new WPInv_Discount( $invoice->get_discount_code() );
749
+            if ( ! $discount->exists() ) {
750
+                continue;
751
+            }
752 752
 
753
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
754
-			$invoice->recalculate_total();
753
+            $invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
754
+            $invoice->recalculate_total();
755 755
 
756
-			if ( $invoice->get_total_discount() > 0 ) {
757
-				$invoice->save();
758
-			}
756
+            if ( $invoice->get_total_discount() > 0 ) {
757
+                $invoice->save();
758
+            }
759 759
 }
760 760
 
761
-		// Show an admin message.
762
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
761
+        // Show an admin message.
762
+        $this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
763 763
 
764
-		// Redirect the admin.
765
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
766
-		exit;
764
+        // Redirect the admin.
765
+        wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
766
+        exit;
767 767
 
768
-	}
768
+    }
769 769
 
770 770
     /**
771
-	 * Returns an array of admin notices.
772
-	 *
773
-	 * @since       1.0.19
771
+     * Returns an array of admin notices.
772
+     *
773
+     * @since       1.0.19
774 774
      * @return array
775
-	 */
776
-	public function get_notices() {
777
-		$notices = get_option( 'wpinv_admin_notices' );
775
+     */
776
+    public function get_notices() {
777
+        $notices = get_option( 'wpinv_admin_notices' );
778 778
         return is_array( $notices ) ? $notices : array();
779
-	}
779
+    }
780 780
 
781
-	/**
782
-	 * Checks if we have any admin notices.
783
-	 *
784
-	 * @since       2.0.4
781
+    /**
782
+     * Checks if we have any admin notices.
783
+     *
784
+     * @since       2.0.4
785 785
      * @return array
786
-	 */
787
-	public function has_notices() {
788
-		return count( $this->get_notices() ) > 0;
789
-	}
790
-
791
-	/**
792
-	 * Clears all admin notices
793
-	 *
794
-	 * @access      public
795
-	 * @since       1.0.19
796
-	 */
797
-	public function clear_notices() {
798
-		delete_option( 'wpinv_admin_notices' );
799
-	}
800
-
801
-	/**
802
-	 * Saves a new admin notice
803
-	 *
804
-	 * @access      public
805
-	 * @since       1.0.19
806
-	 */
807
-	public function save_notice( $type, $message ) {
808
-		$notices = $this->get_notices();
809
-
810
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
811
-			$notices[ $type ] = array();
812
-		}
813
-
814
-		$notices[ $type ][] = $message;
815
-
816
-		update_option( 'wpinv_admin_notices', $notices );
817
-	}
818
-
819
-	/**
820
-	 * Displays a success notice
821
-	 *
822
-	 * @param       string $msg The message to qeue.
823
-	 * @access      public
824
-	 * @since       1.0.19
825
-	 */
826
-	public function show_success( $msg ) {
827
-		$this->save_notice( 'success', $msg );
828
-	}
829
-
830
-	/**
831
-	 * Displays a error notice
832
-	 *
833
-	 * @access      public
834
-	 * @param       string $msg The message to qeue.
835
-	 * @since       1.0.19
836
-	 */
837
-	public function show_error( $msg ) {
838
-		$this->save_notice( 'error', $msg );
839
-	}
840
-
841
-	/**
842
-	 * Displays a warning notice
843
-	 *
844
-	 * @access      public
845
-	 * @param       string $msg The message to qeue.
846
-	 * @since       1.0.19
847
-	 */
848
-	public function show_warning( $msg ) {
849
-		$this->save_notice( 'warning', $msg );
850
-	}
851
-
852
-	/**
853
-	 * Displays a info notice
854
-	 *
855
-	 * @access      public
856
-	 * @param       string $msg The message to qeue.
857
-	 * @since       1.0.19
858
-	 */
859
-	public function show_info( $msg ) {
860
-		$this->save_notice( 'info', $msg );
861
-	}
862
-
863
-	/**
864
-	 * Show notices
865
-	 *
866
-	 * @access      public
867
-	 * @since       1.0.19
868
-	 */
869
-	public function show_notices() {
786
+     */
787
+    public function has_notices() {
788
+        return count( $this->get_notices() ) > 0;
789
+    }
790
+
791
+    /**
792
+     * Clears all admin notices
793
+     *
794
+     * @access      public
795
+     * @since       1.0.19
796
+     */
797
+    public function clear_notices() {
798
+        delete_option( 'wpinv_admin_notices' );
799
+    }
800
+
801
+    /**
802
+     * Saves a new admin notice
803
+     *
804
+     * @access      public
805
+     * @since       1.0.19
806
+     */
807
+    public function save_notice( $type, $message ) {
808
+        $notices = $this->get_notices();
809
+
810
+        if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
811
+            $notices[ $type ] = array();
812
+        }
813
+
814
+        $notices[ $type ][] = $message;
815
+
816
+        update_option( 'wpinv_admin_notices', $notices );
817
+    }
818
+
819
+    /**
820
+     * Displays a success notice
821
+     *
822
+     * @param       string $msg The message to qeue.
823
+     * @access      public
824
+     * @since       1.0.19
825
+     */
826
+    public function show_success( $msg ) {
827
+        $this->save_notice( 'success', $msg );
828
+    }
829
+
830
+    /**
831
+     * Displays a error notice
832
+     *
833
+     * @access      public
834
+     * @param       string $msg The message to qeue.
835
+     * @since       1.0.19
836
+     */
837
+    public function show_error( $msg ) {
838
+        $this->save_notice( 'error', $msg );
839
+    }
840
+
841
+    /**
842
+     * Displays a warning notice
843
+     *
844
+     * @access      public
845
+     * @param       string $msg The message to qeue.
846
+     * @since       1.0.19
847
+     */
848
+    public function show_warning( $msg ) {
849
+        $this->save_notice( 'warning', $msg );
850
+    }
851
+
852
+    /**
853
+     * Displays a info notice
854
+     *
855
+     * @access      public
856
+     * @param       string $msg The message to qeue.
857
+     * @since       1.0.19
858
+     */
859
+    public function show_info( $msg ) {
860
+        $this->save_notice( 'info', $msg );
861
+    }
862
+
863
+    /**
864
+     * Show notices
865
+     *
866
+     * @access      public
867
+     * @since       1.0.19
868
+     */
869
+    public function show_notices() {
870 870
 
871 871
         $notices = $this->get_notices();
872 872
         $this->clear_notices();
873 873
 
874
-		foreach ( $notices as $type => $messages ) {
874
+        foreach ( $notices as $type => $messages ) {
875 875
 
876
-			if ( ! is_array( $messages ) ) {
877
-				continue;
878
-			}
876
+            if ( ! is_array( $messages ) ) {
877
+                continue;
878
+            }
879 879
 
880 880
             $type  = esc_attr( $type );
881
-			foreach ( $messages as $message ) {
882
-				echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
881
+            foreach ( $messages as $message ) {
882
+                echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
883 883
             }
884 884
 }
885 885
 
886
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
887
-
888
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
889
-				$url     = wp_nonce_url(
890
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
891
-					'getpaid-nonce',
892
-					'getpaid-nonce'
893
-				);
894
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
895
-				$message2 = __( 'Generate Pages', 'invoicing' );
896
-				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>" );
897
-				break;
898
-			}
886
+        foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
887
+
888
+            if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
889
+                $url     = wp_nonce_url(
890
+                    add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
891
+                    'getpaid-nonce',
892
+                    'getpaid-nonce'
893
+                );
894
+                $message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
895
+                $message2 = __( 'Generate Pages', 'invoicing' );
896
+                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>" );
897
+                break;
898
+            }
899 899
 }
900 900
 
901
-	}
901
+    }
902 902
 
903 903
 }
Please login to merge, or discard this patch.
Spacing   +263 added lines, -263 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
 
@@ -583,13 +583,13 @@  discard block
 block discarded – undo
583 583
 		GetPaid_Installer::create_db_tables();
584 584
 		GetPaid_Installer::migrate_old_customers();
585 585
 
586
-		if ( '' !== $wpdb->last_error ) {
587
-			$this->show_error( __( 'Your GetPaid tables have been updated:', 'invoicing' ) . ' ' . $wpdb->last_error );
586
+		if ('' !== $wpdb->last_error) {
587
+			$this->show_error(__('Your GetPaid tables have been updated:', 'invoicing') . ' ' . $wpdb->last_error);
588 588
 		} else {
589
-			$this->show_success( __( 'Your GetPaid tables have been updated.', 'invoicing' ) );
589
+			$this->show_success(__('Your GetPaid tables have been updated.', 'invoicing'));
590 590
 		}
591 591
 
592
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
592
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
593 593
 		exit;
594 594
 	}
595 595
 
@@ -604,10 +604,10 @@  discard block
 block discarded – undo
604 604
 		$installer->migrate_old_invoices();
605 605
 
606 606
 		// Show an admin message.
607
-		$this->show_success( __( 'Your invoices have been migrated.', 'invoicing' ) );
607
+		$this->show_success(__('Your invoices have been migrated.', 'invoicing'));
608 608
 
609 609
 		// Redirect the admin.
610
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
610
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
611 611
 		exit;
612 612
 
613 613
 	}
@@ -618,35 +618,35 @@  discard block
 block discarded – undo
618 618
      */
619 619
     public function admin_download_customers() {
620 620
 
621
-		$output = fopen( 'php://output', 'w' );
621
+		$output = fopen('php://output', 'w');
622 622
 
623
-		if ( false === $output ) {
624
-			wp_die( esc_html__( 'Unsupported server', 'invoicing' ), 500 );
623
+		if (false === $output) {
624
+			wp_die(esc_html__('Unsupported server', 'invoicing'), 500);
625 625
 		}
626 626
 
627
-		header( 'Content-Type:text/csv' );
628
-		header( 'Content-Disposition:attachment;filename=customers.csv' );
627
+		header('Content-Type:text/csv');
628
+		header('Content-Disposition:attachment;filename=customers.csv');
629 629
 
630 630
 		/** @var GetPaid_Customer[] $customers */
631
-		$customers = getpaid_get_customers( array( 'number' => -1 ) );
632
-		$columns   = array_keys( GetPaid_Customer_Data_Store::get_database_fields() );
631
+		$customers = getpaid_get_customers(array('number' => -1));
632
+		$columns   = array_keys(GetPaid_Customer_Data_Store::get_database_fields());
633 633
 
634 634
 		// Output the csv column headers.
635
-		fputcsv( $output, $columns );
635
+		fputcsv($output, $columns);
636 636
 
637 637
 		// Loop through
638
-		foreach ( $customers as $customer ) {
638
+		foreach ($customers as $customer) {
639 639
 
640
-			$row  = array();
640
+			$row = array();
641 641
 
642
-			foreach ( $columns as $column ) {
643
-				$row[]  = (string) maybe_serialize( $customer->get( $column, 'edit' ) );
642
+			foreach ($columns as $column) {
643
+				$row[] = (string) maybe_serialize($customer->get($column, 'edit'));
644 644
 			}
645 645
 
646
-			fputcsv( $output, $row );
646
+			fputcsv($output, $row);
647 647
 		}
648 648
 
649
-		fclose( $output );
649
+		fclose($output);
650 650
 		exit;
651 651
 
652 652
 	}
@@ -656,27 +656,27 @@  discard block
 block discarded – undo
656 656
 	 *
657 657
 	 * @param array $data
658 658
      */
659
-    public function admin_install_plugin( $data ) {
659
+    public function admin_install_plugin($data) {
660 660
 
661
-		if ( ! empty( $data['plugins'] ) ) {
661
+		if (!empty($data['plugins'])) {
662 662
 			include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
663 663
 			wp_cache_flush();
664 664
 
665
-			foreach ( $data['plugins'] as $slug => $file ) {
666
-				$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip' );
667
-				$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
668
-				$installed  = $upgrader->install( $plugin_zip );
665
+			foreach ($data['plugins'] as $slug => $file) {
666
+				$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/' . $slug . '.latest-stable.zip');
667
+				$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
668
+				$installed  = $upgrader->install($plugin_zip);
669 669
 
670
-				if ( ! is_wp_error( $installed ) && $installed ) {
671
-					activate_plugin( $file, '', false, true );
670
+				if (!is_wp_error($installed) && $installed) {
671
+					activate_plugin($file, '', false, true);
672 672
 				} else {
673
-					wpinv_error_log( $upgrader->skin->get_upgrade_messages(), false );
673
+					wpinv_error_log($upgrader->skin->get_upgrade_messages(), false);
674 674
 				}
675 675
 }
676 676
 }
677 677
 
678
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( $data['redirect'] ) : admin_url( 'plugins.php' );
679
-		wp_safe_redirect( $redirect );
678
+		$redirect = isset($data['redirect']) ? esc_url_raw($data['redirect']) : admin_url('plugins.php');
679
+		wp_safe_redirect($redirect);
680 680
 		exit;
681 681
 
682 682
 	}
@@ -686,41 +686,41 @@  discard block
 block discarded – undo
686 686
 	 *
687 687
 	 * @param array $data
688 688
      */
689
-    public function admin_connect_gateway( $data ) {
689
+    public function admin_connect_gateway($data) {
690 690
 
691
-		if ( ! empty( $data['plugin'] ) ) {
691
+		if (!empty($data['plugin'])) {
692 692
 
693
-			$gateway     = sanitize_key( $data['plugin'] );
694
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
693
+			$gateway     = sanitize_key($data['plugin']);
694
+			$connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data);
695 695
 
696
-			if ( ! empty( $connect_url ) ) {
697
-				wp_redirect( $connect_url );
696
+			if (!empty($connect_url)) {
697
+				wp_redirect($connect_url);
698 698
 				exit;
699 699
 			}
700 700
 
701
-			if ( 'stripe' == $data['plugin'] ) {
701
+			if ('stripe' == $data['plugin']) {
702 702
 				require_once ABSPATH . 'wp-admin/includes/plugin.php';
703 703
 				include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
704 704
 				wp_cache_flush();
705 705
 
706
-				if ( ! array_key_exists( 'getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins() ) ) {
707
-					$plugin_zip = esc_url( 'https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip' );
708
-					$upgrader   = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
709
-					$upgrader->install( $plugin_zip );
706
+				if (!array_key_exists('getpaid-stripe-payments/getpaid-stripe-payments.php', get_plugins())) {
707
+					$plugin_zip = esc_url('https://downloads.wordpress.org/plugin/getpaid-stripe-payments.latest-stable.zip');
708
+					$upgrader   = new Plugin_Upgrader(new Automatic_Upgrader_Skin());
709
+					$upgrader->install($plugin_zip);
710 710
 				}
711 711
 
712
-				activate_plugin( 'getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true );
712
+				activate_plugin('getpaid-stripe-payments/getpaid-stripe-payments.php', '', false, true);
713 713
 			}
714 714
 
715
-			$connect_url = apply_filters( "getpaid_get_{$gateway}_connect_url", false, $data );
716
-			if ( ! empty( $connect_url ) ) {
717
-				wp_redirect( $connect_url );
715
+			$connect_url = apply_filters("getpaid_get_{$gateway}_connect_url", false, $data);
716
+			if (!empty($connect_url)) {
717
+				wp_redirect($connect_url);
718 718
 				exit;
719 719
 			}
720 720
 }
721 721
 
722
-		$redirect = isset( $data['redirect'] ) ? esc_url_raw( urldecode( $data['redirect'] ) ) : admin_url( 'admin.php?page=wpinv-settings&tab=gateways' );
723
-		wp_safe_redirect( $redirect );
722
+		$redirect = isset($data['redirect']) ? esc_url_raw(urldecode($data['redirect'])) : admin_url('admin.php?page=wpinv-settings&tab=gateways');
723
+		wp_safe_redirect($redirect);
724 724
 		exit;
725 725
 
726 726
 	}
@@ -734,35 +734,35 @@  discard block
 block discarded – undo
734 734
 
735 735
 		// Fetch all invoices that have discount codes.
736 736
 		$table    = $wpdb->prefix . 'getpaid_invoices';
737
-		$invoices = $wpdb->get_col( "SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''" );
737
+		$invoices = $wpdb->get_col("SELECT `post_id` FROM `$table` WHERE `discount` = 0 && `discount_code` <> ''");
738 738
 
739
-		foreach ( $invoices as $invoice ) {
739
+		foreach ($invoices as $invoice) {
740 740
 
741
-			$invoice = new WPInv_Invoice( $invoice );
741
+			$invoice = new WPInv_Invoice($invoice);
742 742
 
743
-			if ( ! $invoice->exists() ) {
743
+			if (!$invoice->exists()) {
744 744
 				continue;
745 745
 			}
746 746
 
747 747
 			// Abort if the discount does not exist or does not apply here.
748
-			$discount = new WPInv_Discount( $invoice->get_discount_code() );
749
-			if ( ! $discount->exists() ) {
748
+			$discount = new WPInv_Discount($invoice->get_discount_code());
749
+			if (!$discount->exists()) {
750 750
 				continue;
751 751
 			}
752 752
 
753
-			$invoice->add_discount( getpaid_calculate_invoice_discount( $invoice, $discount ) );
753
+			$invoice->add_discount(getpaid_calculate_invoice_discount($invoice, $discount));
754 754
 			$invoice->recalculate_total();
755 755
 
756
-			if ( $invoice->get_total_discount() > 0 ) {
756
+			if ($invoice->get_total_discount() > 0) {
757 757
 				$invoice->save();
758 758
 			}
759 759
 }
760 760
 
761 761
 		// Show an admin message.
762
-		$this->show_success( __( 'Discounts have been recalculated.', 'invoicing' ) );
762
+		$this->show_success(__('Discounts have been recalculated.', 'invoicing'));
763 763
 
764 764
 		// Redirect the admin.
765
-		wp_safe_redirect( remove_query_arg( array( 'getpaid-admin-action', 'getpaid-nonce' ) ) );
765
+		wp_safe_redirect(remove_query_arg(array('getpaid-admin-action', 'getpaid-nonce')));
766 766
 		exit;
767 767
 
768 768
 	}
@@ -774,8 +774,8 @@  discard block
 block discarded – undo
774 774
      * @return array
775 775
 	 */
776 776
 	public function get_notices() {
777
-		$notices = get_option( 'wpinv_admin_notices' );
778
-        return is_array( $notices ) ? $notices : array();
777
+		$notices = get_option('wpinv_admin_notices');
778
+        return is_array($notices) ? $notices : array();
779 779
 	}
780 780
 
781 781
 	/**
@@ -785,7 +785,7 @@  discard block
 block discarded – undo
785 785
      * @return array
786 786
 	 */
787 787
 	public function has_notices() {
788
-		return count( $this->get_notices() ) > 0;
788
+		return count($this->get_notices()) > 0;
789 789
 	}
790 790
 
791 791
 	/**
@@ -795,7 +795,7 @@  discard block
 block discarded – undo
795 795
 	 * @since       1.0.19
796 796
 	 */
797 797
 	public function clear_notices() {
798
-		delete_option( 'wpinv_admin_notices' );
798
+		delete_option('wpinv_admin_notices');
799 799
 	}
800 800
 
801 801
 	/**
@@ -804,16 +804,16 @@  discard block
 block discarded – undo
804 804
 	 * @access      public
805 805
 	 * @since       1.0.19
806 806
 	 */
807
-	public function save_notice( $type, $message ) {
807
+	public function save_notice($type, $message) {
808 808
 		$notices = $this->get_notices();
809 809
 
810
-		if ( empty( $notices[ $type ] ) || ! is_array( $notices[ $type ] ) ) {
811
-			$notices[ $type ] = array();
810
+		if (empty($notices[$type]) || !is_array($notices[$type])) {
811
+			$notices[$type] = array();
812 812
 		}
813 813
 
814
-		$notices[ $type ][] = $message;
814
+		$notices[$type][] = $message;
815 815
 
816
-		update_option( 'wpinv_admin_notices', $notices );
816
+		update_option('wpinv_admin_notices', $notices);
817 817
 	}
818 818
 
819 819
 	/**
@@ -823,8 +823,8 @@  discard block
 block discarded – undo
823 823
 	 * @access      public
824 824
 	 * @since       1.0.19
825 825
 	 */
826
-	public function show_success( $msg ) {
827
-		$this->save_notice( 'success', $msg );
826
+	public function show_success($msg) {
827
+		$this->save_notice('success', $msg);
828 828
 	}
829 829
 
830 830
 	/**
@@ -834,8 +834,8 @@  discard block
 block discarded – undo
834 834
 	 * @param       string $msg The message to qeue.
835 835
 	 * @since       1.0.19
836 836
 	 */
837
-	public function show_error( $msg ) {
838
-		$this->save_notice( 'error', $msg );
837
+	public function show_error($msg) {
838
+		$this->save_notice('error', $msg);
839 839
 	}
840 840
 
841 841
 	/**
@@ -845,8 +845,8 @@  discard block
 block discarded – undo
845 845
 	 * @param       string $msg The message to qeue.
846 846
 	 * @since       1.0.19
847 847
 	 */
848
-	public function show_warning( $msg ) {
849
-		$this->save_notice( 'warning', $msg );
848
+	public function show_warning($msg) {
849
+		$this->save_notice('warning', $msg);
850 850
 	}
851 851
 
852 852
 	/**
@@ -856,8 +856,8 @@  discard block
 block discarded – undo
856 856
 	 * @param       string $msg The message to qeue.
857 857
 	 * @since       1.0.19
858 858
 	 */
859
-	public function show_info( $msg ) {
860
-		$this->save_notice( 'info', $msg );
859
+	public function show_info($msg) {
860
+		$this->save_notice('info', $msg);
861 861
 	}
862 862
 
863 863
 	/**
@@ -871,29 +871,29 @@  discard block
 block discarded – undo
871 871
         $notices = $this->get_notices();
872 872
         $this->clear_notices();
873 873
 
874
-		foreach ( $notices as $type => $messages ) {
874
+		foreach ($notices as $type => $messages) {
875 875
 
876
-			if ( ! is_array( $messages ) ) {
876
+			if (!is_array($messages)) {
877 877
 				continue;
878 878
 			}
879 879
 
880
-            $type  = esc_attr( $type );
881
-			foreach ( $messages as $message ) {
882
-				echo wp_kses_post( "<div class='notice notice-$type is-dismissible'><p>$message</p></div>" );
880
+            $type = esc_attr($type);
881
+			foreach ($messages as $message) {
882
+				echo wp_kses_post("<div class='notice notice-$type is-dismissible'><p>$message</p></div>");
883 883
             }
884 884
 }
885 885
 
886
-		foreach ( array( 'checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page' ) as $page ) {
886
+		foreach (array('checkout_page', 'invoice_history_page', 'success_page', 'failure_page', 'invoice_subscription_page') as $page) {
887 887
 
888
-			if ( ! is_numeric( wpinv_get_option( $page, false ) ) ) {
889
-				$url     = wp_nonce_url(
890
-					add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
888
+			if (!is_numeric(wpinv_get_option($page, false))) {
889
+				$url = wp_nonce_url(
890
+					add_query_arg('getpaid-admin-action', 'create_missing_pages'),
891 891
 					'getpaid-nonce',
892 892
 					'getpaid-nonce'
893 893
 				);
894
-				$message  = __( 'Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing' );
895
-				$message2 = __( 'Generate Pages', 'invoicing' );
896
-				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>" );
894
+				$message  = __('Some GetPaid pages are missing. To use GetPaid without any issues, click the button below to generate the missing pages.', 'invoicing');
895
+				$message2 = __('Generate Pages', 'invoicing');
896
+				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>");
897 897
 				break;
898 898
 			}
899 899
 }
Please login to merge, or discard this patch.
includes/class-getpaid-customer.php 2 patches
Indentation   +176 added lines, -176 removed lines patch added patch discarded remove patch
@@ -15,69 +15,69 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class GetPaid_Customer extends GetPaid_Data {
17 17
 
18
-	/**
19
-	 * Which data store to load.
20
-	 *
21
-	 * @var string
22
-	 */
18
+    /**
19
+     * Which data store to load.
20
+     *
21
+     * @var string
22
+     */
23 23
     protected $data_store_name = 'customer';
24 24
 
25 25
     /**
26
-	 * This is the name of this object type.
27
-	 *
28
-	 * @var string
29
-	 */
30
-	protected $object_type = 'customer';
31
-
32
-	/**
33
-	 * Get the customer if ID is passed, otherwise the customer is new and empty.
34
-	 *
35
-	 * @param int|string|GetPaid_Customer|object $customer customer id, object, or email.
36
-	 */
37
-	public function __construct( $customer = 0 ) {
26
+     * This is the name of this object type.
27
+     *
28
+     * @var string
29
+     */
30
+    protected $object_type = 'customer';
31
+
32
+    /**
33
+     * Get the customer if ID is passed, otherwise the customer is new and empty.
34
+     *
35
+     * @param int|string|GetPaid_Customer|object $customer customer id, object, or email.
36
+     */
37
+    public function __construct( $customer = 0 ) {
38 38
 
39 39
         // Setup default customer data.
40 40
         $this->setup_default_data();
41 41
 
42
-		if ( is_numeric( $customer ) ) {
43
-			$this->set_id( $customer );
44
-		} elseif ( $customer instanceof self ) {
45
-			$this->set_id( $customer->get_id() );
46
-		} elseif ( is_string( $customer ) && $customer_id = self::get_customer_id_by( $customer, 'email' ) ) {
47
-			$this->set_id( $customer_id );
48
-		} elseif ( ! empty( $customer->id ) ) {
49
-			$this->set_id( $customer->id );
50
-		}
42
+        if ( is_numeric( $customer ) ) {
43
+            $this->set_id( $customer );
44
+        } elseif ( $customer instanceof self ) {
45
+            $this->set_id( $customer->get_id() );
46
+        } elseif ( is_string( $customer ) && $customer_id = self::get_customer_id_by( $customer, 'email' ) ) {
47
+            $this->set_id( $customer_id );
48
+        } elseif ( ! empty( $customer->id ) ) {
49
+            $this->set_id( $customer->id );
50
+        }
51 51
 
52 52
         // Load the datastore.
53
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
53
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
54 54
 
55
-		if ( $this->get_id() > 0 ) {
56
-			$this->data_store->read( $this );
55
+        if ( $this->get_id() > 0 ) {
56
+            $this->data_store->read( $this );
57 57
         }
58 58
 
59 59
         $this->set_object_read( true );
60
-	}
60
+    }
61 61
 
62 62
     /**
63
-	 * Sets up default customer data.
64
-	 */
65
-	private function setup_default_data() {
63
+     * Sets up default customer data.
64
+     */
65
+    private function setup_default_data() {
66 66
 
67 67
         $this->data = array(
68
-			'user_id'        => 0,
69
-			'email'          => '',
70
-			'email_cc'       => '',
71
-			'status'         => 'active',
72
-			'purchase_value' => 0,
73
-			'purchase_count' => 0,
74
-			'date_created'   => current_time( 'mysql' ),
75
-			'date_modified'  => current_time( 'mysql' ),
76
-			'uuid'           => wp_generate_uuid4(),
77
-		);
68
+            'user_id'        => 0,
69
+            'email'          => '',
70
+            'email_cc'       => '',
71
+            'status'         => 'active',
72
+            'purchase_value' => 0,
73
+            'purchase_count' => 0,
74
+            'date_created'   => current_time( 'mysql' ),
75
+            'date_modified'  => current_time( 'mysql' ),
76
+            'uuid'           => wp_generate_uuid4(),
77
+        );
78 78
 
79 79
         // Add address fields.
80
-		foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
80
+        foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
81 81
 
82 82
             if ( isset( $this->data[ $field ] ) ) {
83 83
                 continue;
@@ -95,22 +95,22 @@  discard block
 block discarded – undo
95 95
                 continue;
96 96
             }
97 97
 
98
-			$this->data[ $field ] = '';
99
-		}
98
+            $this->data[ $field ] = '';
99
+        }
100 100
 
101 101
         $this->default_data = $this->data;
102
-	}
103
-
104
-	/**
105
-	 * Given a customer email or user id, it returns a customer id.
106
-	 *
107
-	 * @static
108
-	 * @param string $value
109
-	 * @since 1.0.15
110
-	 * @return int
111
-	 */
112
-	public static function get_customer_id_by( $value, $by = 'email' ) {
113
-		global $wpdb;
102
+    }
103
+
104
+    /**
105
+     * Given a customer email or user id, it returns a customer id.
106
+     *
107
+     * @static
108
+     * @param string $value
109
+     * @since 1.0.15
110
+     * @return int
111
+     */
112
+    public static function get_customer_id_by( $value, $by = 'email' ) {
113
+        global $wpdb;
114 114
 
115 115
         // Prepare value.
116 116
         if ( 'email' === $by ) {
@@ -125,12 +125,12 @@  discard block
 block discarded – undo
125 125
             return 0;
126 126
         }
127 127
 
128
-		// Maybe retrieve from the cache.
128
+        // Maybe retrieve from the cache.
129 129
         $cache_key   = 'getpaid_customer_ids_by_' . $by;
130
-		$customer_id = wp_cache_get( $value, $cache_key );
131
-		if ( false !== $customer_id ) {
132
-			return $customer_id;
133
-		}
130
+        $customer_id = wp_cache_get( $value, $cache_key );
131
+        if ( false !== $customer_id ) {
132
+            return $customer_id;
133
+        }
134 134
 
135 135
         if ( 'email' === $by ) {
136 136
             $customer_id = (int) $wpdb->get_var(
@@ -142,23 +142,23 @@  discard block
 block discarded – undo
142 142
             );
143 143
         }
144 144
 
145
-		// Update the cache with our data
146
-		wp_cache_set( $value, $customer_id, $cache_key );
145
+        // Update the cache with our data
146
+        wp_cache_set( $value, $customer_id, $cache_key );
147 147
 
148
-		return $customer_id;
148
+        return $customer_id;
149 149
 
150
-	}
150
+    }
151 151
 
152
-	/**
152
+    /**
153 153
      * Clears the customer's cache.
154 154
      */
155 155
     public function clear_cache() {
156 156
         wp_cache_delete( $this->get( 'email' ), 'getpaid_customer_ids_by_email' );
157 157
         wp_cache_delete( $this->get( 'user_id' ), 'getpaid_customer_ids_by_user_id' );
158
-		wp_cache_delete( $this->get_id(), 'getpaid_customers' );
159
-	}
158
+        wp_cache_delete( $this->get_id(), 'getpaid_customers' );
159
+    }
160 160
 
161
-	/*
161
+    /*
162 162
 	|--------------------------------------------------------------------------
163 163
 	| CRUD methods
164 164
 	|--------------------------------------------------------------------------
@@ -189,11 +189,11 @@  discard block
 block discarded – undo
189 189
             return call_user_func( array( $this, 'get_' . $key ), $context );
190 190
         }
191 191
 
192
-		return $this->get_prop( $key, $context );
192
+        return $this->get_prop( $key, $context );
193 193
 
194 194
     }
195 195
 
196
-	/*
196
+    /*
197 197
 	|--------------------------------------------------------------------------
198 198
 	| Setters
199 199
 	|--------------------------------------------------------------------------
@@ -216,114 +216,114 @@  discard block
 block discarded – undo
216 216
             return call_user_func( array( $this, 'set_' . $key ), $value );
217 217
         }
218 218
 
219
-		return $this->set_prop( $key, $value );
219
+        return $this->set_prop( $key, $value );
220 220
 
221 221
     }
222 222
 
223
-	/**
224
-	 * Sets customer status.
225
-	 *
226
-	 * @since 1.0.0
227
-	 * @param  string $status New status.
228
-	 */
229
-	public function set_status( $status ) {
230
-
231
-		if ( in_array( $status, array( 'active', 'inactive', 'blocked' ), true ) ) {
232
-			return $this->set_prop( 'status', $status );
233
-		}
234
-
235
-		$this->set_prop( 'status', 'inactive' );
236
-	}
237
-
238
-	/**
239
-	 * Sets the purchase value.
240
-	 *
241
-	 * @since 1.0.0
242
-	 * @param float $purchase_value.
243
-	 */
244
-	public function set_purchase_value( $purchase_value ) {
245
-		$this->set_prop( 'purchase_value', (float) $purchase_value );
246
-	}
223
+    /**
224
+     * Sets customer status.
225
+     *
226
+     * @since 1.0.0
227
+     * @param  string $status New status.
228
+     */
229
+    public function set_status( $status ) {
230
+
231
+        if ( in_array( $status, array( 'active', 'inactive', 'blocked' ), true ) ) {
232
+            return $this->set_prop( 'status', $status );
233
+        }
234
+
235
+        $this->set_prop( 'status', 'inactive' );
236
+    }
237
+
238
+    /**
239
+     * Sets the purchase value.
240
+     *
241
+     * @since 1.0.0
242
+     * @param float $purchase_value.
243
+     */
244
+    public function set_purchase_value( $purchase_value ) {
245
+        $this->set_prop( 'purchase_value', (float) $purchase_value );
246
+    }
247 247
 
248 248
     /**
249
-	 * Sets the purchase count.
250
-	 *
251
-	 * @since 1.0.0
252
-	 * @param int $purchase_count.
253
-	 */
254
-	public function set_purchase_count( $purchase_count ) {
255
-		$this->set_prop( 'purchase_count', absint( $purchase_count ) );
256
-	}
249
+     * Sets the purchase count.
250
+     *
251
+     * @since 1.0.0
252
+     * @param int $purchase_count.
253
+     */
254
+    public function set_purchase_count( $purchase_count ) {
255
+        $this->set_prop( 'purchase_count', absint( $purchase_count ) );
256
+    }
257 257
 
258 258
     /**
259
-	 * Sets the user id.
260
-	 *
261
-	 * @since 1.0.0
262
-	 * @param int $user_id.
263
-	 */
264
-	public function set_user_id( $user_id ) {
265
-		$this->set_prop( 'user_id', absint( $user_id ) );
266
-	}
259
+     * Sets the user id.
260
+     *
261
+     * @since 1.0.0
262
+     * @param int $user_id.
263
+     */
264
+    public function set_user_id( $user_id ) {
265
+        $this->set_prop( 'user_id', absint( $user_id ) );
266
+    }
267 267
 
268 268
     /**
269
-	 * Sets the email.
270
-	 *
271
-	 * @since 1.0.0
272
-	 * @param string $email.
273
-	 */
274
-	public function set_email( $email ) {
269
+     * Sets the email.
270
+     *
271
+     * @since 1.0.0
272
+     * @param string $email.
273
+     */
274
+    public function set_email( $email ) {
275 275
         $email = is_string( $email ) ? sanitize_email( $email ) : '';
276
-		$this->set_prop( 'email', $email );
277
-	}
276
+        $this->set_prop( 'email', $email );
277
+    }
278 278
 
279 279
     /**
280
-	 * Sets the email cc.
281
-	 *
282
-	 * @since 1.0.0
283
-	 * @param string $email_cc.
284
-	 */
285
-	public function set_email_cc( $email_cc ) {
280
+     * Sets the email cc.
281
+     *
282
+     * @since 1.0.0
283
+     * @param string $email_cc.
284
+     */
285
+    public function set_email_cc( $email_cc ) {
286 286
         $email_cc = implode( ', ', wp_parse_list( $email_cc ) );
287
-		$this->set_prop( 'email_cc', $email_cc );
288
-	}
287
+        $this->set_prop( 'email_cc', $email_cc );
288
+    }
289 289
 
290 290
     /**
291
-	 * Sets the created date.
292
-	 *
293
-	 * @since 1.0.0
294
-	 * @param  string $date_created date created.
295
-	 */
296
-	public function set_date_created( $date_created ) {
291
+     * Sets the created date.
292
+     *
293
+     * @since 1.0.0
294
+     * @param  string $date_created date created.
295
+     */
296
+    public function set_date_created( $date_created ) {
297 297
 
298
-		$date = strtotime( $date_created );
298
+        $date = strtotime( $date_created );
299 299
 
300 300
         if ( $date && $date_created !== '0000-00-00 00:00:00'  && $date_created !== '0000-00-00 00:00' ) {
301 301
             $this->set_prop( 'date_created', gmdate( 'Y-m-d H:i:s', $date ) );
302 302
             return;
303
-		}
303
+        }
304 304
 
305
-		$this->set_prop( 'date_created', null );
306
-	}
305
+        $this->set_prop( 'date_created', null );
306
+    }
307 307
 
308 308
     /**
309
-	 * Sets the created date.
310
-	 *
311
-	 * @since 1.0.0
312
-	 * @param  string $date_modified date created.
313
-	 */
314
-	public function set_date_modified( $date_modified ) {
309
+     * Sets the created date.
310
+     *
311
+     * @since 1.0.0
312
+     * @param  string $date_modified date created.
313
+     */
314
+    public function set_date_modified( $date_modified ) {
315 315
 
316
-		$date = strtotime( $date_modified );
316
+        $date = strtotime( $date_modified );
317 317
 
318 318
         if ( $date && $date_modified !== '0000-00-00 00:00:00'  && $date_modified !== '0000-00-00 00:00' ) {
319 319
             $this->set_prop( 'date_modified', gmdate( 'Y-m-d H:i:s', $date ) );
320 320
             return;
321
-		}
321
+        }
322 322
 
323
-		$this->set_prop( 'date_modified', null );
324
-	}
323
+        $this->set_prop( 'date_modified', null );
324
+    }
325 325
 
326
-	/*
326
+    /*
327 327
 	|--------------------------------------------------------------------------
328 328
 	| Additional methods
329 329
 	|--------------------------------------------------------------------------
@@ -332,12 +332,12 @@  discard block
 block discarded – undo
332 332
 	|
333 333
 	*/
334 334
 
335
-	/**
336
-	 * Saves the customer.
337
-	 *
338
-	 * @since 1.0.0
339
-	 */
340
-	public function save() {
335
+    /**
336
+     * Saves the customer.
337
+     *
338
+     * @since 1.0.0
339
+     */
340
+    public function save() {
341 341
 
342 342
         $maybe_set = array(
343 343
             'uuid'         => wp_generate_uuid4(),
@@ -354,29 +354,29 @@  discard block
 block discarded – undo
354 354
 
355 355
         $this->set( 'date_modified', current_time( 'mysql' ) );
356 356
 
357
-		return parent::save();
358
-	}
357
+        return parent::save();
358
+    }
359 359
 
360 360
     /**
361
-	 * Helper method to clone a customer from a user ID.
362
-	 *
363
-	 * @since 1.0.0
364
-	 * @param int $user_id.
365
-	 */
366
-	public function clone_user( $user_id ) {
361
+     * Helper method to clone a customer from a user ID.
362
+     *
363
+     * @since 1.0.0
364
+     * @param int $user_id.
365
+     */
366
+    public function clone_user( $user_id ) {
367 367
         $user = get_userdata( $user_id );
368 368
 
369 369
         if ( empty( $user ) ) {
370 370
             return;
371 371
         }
372 372
 
373
-		$this->set_user_id( $user->ID );
373
+        $this->set_user_id( $user->ID );
374 374
         $this->set_email( $user->user_email );
375 375
         $this->set_purchase_value( getpaid_get_user_total_spend( $user->ID ) );
376 376
         $this->set_purchase_count( getpaid_count_user_invoices( $user->ID ) );
377 377
         $this->set( 'first_name', $user->first_name );
378 378
         $this->set( 'last_name', $user->last_name );
379
-		$this->set_date_created( $user->user_registered );
379
+        $this->set_date_created( $user->user_registered );
380 380
 
381 381
         // Fetch extra data from WC or old GetPaid.
382 382
         $prefixes = array(
@@ -400,18 +400,18 @@  discard block
 block discarded – undo
400 400
                     continue;
401 401
                 }
402 402
             }
403
-		}
404
-	}
403
+        }
404
+    }
405 405
 
406 406
     /**
407
-	 * Helper method to migrate an existing user ID to the new customers table.
408
-	 *
409
-	 * @since 1.0.0
410
-	 * @param int $user_id.
411
-	 */
412
-	public function migrate_from_user( $user_id ) {
407
+     * Helper method to migrate an existing user ID to the new customers table.
408
+     *
409
+     * @since 1.0.0
410
+     * @param int $user_id.
411
+     */
412
+    public function migrate_from_user( $user_id ) {
413 413
         $this->clone_user( $user_id );
414 414
         do_action( 'getpaid_customer_migrated_from_user', $this, $user_id );
415 415
         $this->save();
416
-	}
416
+    }
417 417
 }
Please login to merge, or discard this patch.
Spacing   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * @since   1.0.15
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Customer class.
@@ -34,29 +34,29 @@  discard block
 block discarded – undo
34 34
 	 *
35 35
 	 * @param int|string|GetPaid_Customer|object $customer customer id, object, or email.
36 36
 	 */
37
-	public function __construct( $customer = 0 ) {
37
+	public function __construct($customer = 0) {
38 38
 
39 39
         // Setup default customer data.
40 40
         $this->setup_default_data();
41 41
 
42
-		if ( is_numeric( $customer ) ) {
43
-			$this->set_id( $customer );
44
-		} elseif ( $customer instanceof self ) {
45
-			$this->set_id( $customer->get_id() );
46
-		} elseif ( is_string( $customer ) && $customer_id = self::get_customer_id_by( $customer, 'email' ) ) {
47
-			$this->set_id( $customer_id );
48
-		} elseif ( ! empty( $customer->id ) ) {
49
-			$this->set_id( $customer->id );
42
+		if (is_numeric($customer)) {
43
+			$this->set_id($customer);
44
+		} elseif ($customer instanceof self) {
45
+			$this->set_id($customer->get_id());
46
+		} elseif (is_string($customer) && $customer_id = self::get_customer_id_by($customer, 'email')) {
47
+			$this->set_id($customer_id);
48
+		} elseif (!empty($customer->id)) {
49
+			$this->set_id($customer->id);
50 50
 		}
51 51
 
52 52
         // Load the datastore.
53
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
53
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
54 54
 
55
-		if ( $this->get_id() > 0 ) {
56
-			$this->data_store->read( $this );
55
+		if ($this->get_id() > 0) {
56
+			$this->data_store->read($this);
57 57
         }
58 58
 
59
-        $this->set_object_read( true );
59
+        $this->set_object_read(true);
60 60
 	}
61 61
 
62 62
     /**
@@ -71,31 +71,31 @@  discard block
 block discarded – undo
71 71
 			'status'         => 'active',
72 72
 			'purchase_value' => 0,
73 73
 			'purchase_count' => 0,
74
-			'date_created'   => current_time( 'mysql' ),
75
-			'date_modified'  => current_time( 'mysql' ),
74
+			'date_created'   => current_time('mysql'),
75
+			'date_modified'  => current_time('mysql'),
76 76
 			'uuid'           => wp_generate_uuid4(),
77 77
 		);
78 78
 
79 79
         // Add address fields.
80
-		foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
80
+		foreach (array_keys(getpaid_user_address_fields()) as $field) {
81 81
 
82
-            if ( isset( $this->data[ $field ] ) ) {
82
+            if (isset($this->data[$field])) {
83 83
                 continue;
84 84
             }
85 85
 
86 86
             // Country.
87
-            if ( 'country' === $field ) {
88
-                $this->data[ $field ] = wpinv_get_default_country();
87
+            if ('country' === $field) {
88
+                $this->data[$field] = wpinv_get_default_country();
89 89
                 continue;
90 90
             }
91 91
 
92 92
             // State.
93
-            if ( 'state' === $field ) {
94
-                $this->data[ $field ] = wpinv_get_default_state();
93
+            if ('state' === $field) {
94
+                $this->data[$field] = wpinv_get_default_state();
95 95
                 continue;
96 96
             }
97 97
 
98
-			$this->data[ $field ] = '';
98
+			$this->data[$field] = '';
99 99
 		}
100 100
 
101 101
         $this->default_data = $this->data;
@@ -109,41 +109,41 @@  discard block
 block discarded – undo
109 109
 	 * @since 1.0.15
110 110
 	 * @return int
111 111
 	 */
112
-	public static function get_customer_id_by( $value, $by = 'email' ) {
112
+	public static function get_customer_id_by($value, $by = 'email') {
113 113
 		global $wpdb;
114 114
 
115 115
         // Prepare value.
116
-        if ( 'email' === $by ) {
117
-            $value = sanitize_email( $value );
118
-        } elseif ( 'user_id' === $by ) {
119
-            $value = absint( $value );
116
+        if ('email' === $by) {
117
+            $value = sanitize_email($value);
118
+        } elseif ('user_id' === $by) {
119
+            $value = absint($value);
120 120
         } else {
121 121
             return 0;
122 122
         }
123 123
 
124
-        if ( empty( $value ) ) {
124
+        if (empty($value)) {
125 125
             return 0;
126 126
         }
127 127
 
128 128
 		// Maybe retrieve from the cache.
129
-        $cache_key   = 'getpaid_customer_ids_by_' . $by;
130
-		$customer_id = wp_cache_get( $value, $cache_key );
131
-		if ( false !== $customer_id ) {
129
+        $cache_key = 'getpaid_customer_ids_by_' . $by;
130
+		$customer_id = wp_cache_get($value, $cache_key);
131
+		if (false !== $customer_id) {
132 132
 			return $customer_id;
133 133
 		}
134 134
 
135
-        if ( 'email' === $by ) {
135
+        if ('email' === $by) {
136 136
             $customer_id = (int) $wpdb->get_var(
137
-                $wpdb->prepare( "SELECT id FROM {$wpdb->prefix}getpaid_customers WHERE email=%s LIMIT 1", $value )
137
+                $wpdb->prepare("SELECT id FROM {$wpdb->prefix}getpaid_customers WHERE email=%s LIMIT 1", $value)
138 138
             );
139
-        } elseif ( 'user_id' === $by ) {
139
+        } elseif ('user_id' === $by) {
140 140
             $customer_id = (int) $wpdb->get_var(
141
-                $wpdb->prepare( "SELECT id FROM {$wpdb->prefix}getpaid_customers WHERE user_id=%d LIMIT 1", $value )
141
+                $wpdb->prepare("SELECT id FROM {$wpdb->prefix}getpaid_customers WHERE user_id=%d LIMIT 1", $value)
142 142
             );
143 143
         }
144 144
 
145 145
 		// Update the cache with our data
146
-		wp_cache_set( $value, $customer_id, $cache_key );
146
+		wp_cache_set($value, $customer_id, $cache_key);
147 147
 
148 148
 		return $customer_id;
149 149
 
@@ -153,9 +153,9 @@  discard block
 block discarded – undo
153 153
      * Clears the customer's cache.
154 154
      */
155 155
     public function clear_cache() {
156
-        wp_cache_delete( $this->get( 'email' ), 'getpaid_customer_ids_by_email' );
157
-        wp_cache_delete( $this->get( 'user_id' ), 'getpaid_customer_ids_by_user_id' );
158
-		wp_cache_delete( $this->get_id(), 'getpaid_customers' );
156
+        wp_cache_delete($this->get('email'), 'getpaid_customer_ids_by_email');
157
+        wp_cache_delete($this->get('user_id'), 'getpaid_customer_ids_by_user_id');
158
+		wp_cache_delete($this->get_id(), 'getpaid_customers');
159 159
 	}
160 160
 
161 161
 	/*
@@ -179,17 +179,17 @@  discard block
 block discarded – undo
179 179
      * @param  string $key The key to fetch.
180 180
      * @param  string $context View or edit context.
181 181
      */
182
-    public function get( $key, $context = 'view' ) {
182
+    public function get($key, $context = 'view') {
183 183
 
184 184
         // Maybe strip _wpinv_ prefix from key.
185
-        $key = str_replace( '_wpinv_', '', $key );
185
+        $key = str_replace('_wpinv_', '', $key);
186 186
 
187 187
         // Check if we have a helper method for that.
188
-        if ( method_exists( $this, 'get_' . $key ) ) {
189
-            return call_user_func( array( $this, 'get_' . $key ), $context );
188
+        if (method_exists($this, 'get_' . $key)) {
189
+            return call_user_func(array($this, 'get_' . $key), $context);
190 190
         }
191 191
 
192
-		return $this->get_prop( $key, $context );
192
+		return $this->get_prop($key, $context);
193 193
 
194 194
     }
195 195
 
@@ -209,14 +209,14 @@  discard block
 block discarded – undo
209 209
      * @param string $key The key to fetch.
210 210
      * @param mixed $value The new value.
211 211
      */
212
-    public function set( $key, $value ) {
212
+    public function set($key, $value) {
213 213
 
214 214
         // Check if we have a helper method for that.
215
-        if ( method_exists( $this, 'set_' . $key ) ) {
216
-            return call_user_func( array( $this, 'set_' . $key ), $value );
215
+        if (method_exists($this, 'set_' . $key)) {
216
+            return call_user_func(array($this, 'set_' . $key), $value);
217 217
         }
218 218
 
219
-		return $this->set_prop( $key, $value );
219
+		return $this->set_prop($key, $value);
220 220
 
221 221
     }
222 222
 
@@ -226,13 +226,13 @@  discard block
 block discarded – undo
226 226
 	 * @since 1.0.0
227 227
 	 * @param  string $status New status.
228 228
 	 */
229
-	public function set_status( $status ) {
229
+	public function set_status($status) {
230 230
 
231
-		if ( in_array( $status, array( 'active', 'inactive', 'blocked' ), true ) ) {
232
-			return $this->set_prop( 'status', $status );
231
+		if (in_array($status, array('active', 'inactive', 'blocked'), true)) {
232
+			return $this->set_prop('status', $status);
233 233
 		}
234 234
 
235
-		$this->set_prop( 'status', 'inactive' );
235
+		$this->set_prop('status', 'inactive');
236 236
 	}
237 237
 
238 238
 	/**
@@ -241,8 +241,8 @@  discard block
 block discarded – undo
241 241
 	 * @since 1.0.0
242 242
 	 * @param float $purchase_value.
243 243
 	 */
244
-	public function set_purchase_value( $purchase_value ) {
245
-		$this->set_prop( 'purchase_value', (float) $purchase_value );
244
+	public function set_purchase_value($purchase_value) {
245
+		$this->set_prop('purchase_value', (float) $purchase_value);
246 246
 	}
247 247
 
248 248
     /**
@@ -251,8 +251,8 @@  discard block
 block discarded – undo
251 251
 	 * @since 1.0.0
252 252
 	 * @param int $purchase_count.
253 253
 	 */
254
-	public function set_purchase_count( $purchase_count ) {
255
-		$this->set_prop( 'purchase_count', absint( $purchase_count ) );
254
+	public function set_purchase_count($purchase_count) {
255
+		$this->set_prop('purchase_count', absint($purchase_count));
256 256
 	}
257 257
 
258 258
     /**
@@ -261,8 +261,8 @@  discard block
 block discarded – undo
261 261
 	 * @since 1.0.0
262 262
 	 * @param int $user_id.
263 263
 	 */
264
-	public function set_user_id( $user_id ) {
265
-		$this->set_prop( 'user_id', absint( $user_id ) );
264
+	public function set_user_id($user_id) {
265
+		$this->set_prop('user_id', absint($user_id));
266 266
 	}
267 267
 
268 268
     /**
@@ -271,9 +271,9 @@  discard block
 block discarded – undo
271 271
 	 * @since 1.0.0
272 272
 	 * @param string $email.
273 273
 	 */
274
-	public function set_email( $email ) {
275
-        $email = is_string( $email ) ? sanitize_email( $email ) : '';
276
-		$this->set_prop( 'email', $email );
274
+	public function set_email($email) {
275
+        $email = is_string($email) ? sanitize_email($email) : '';
276
+		$this->set_prop('email', $email);
277 277
 	}
278 278
 
279 279
     /**
@@ -282,9 +282,9 @@  discard block
 block discarded – undo
282 282
 	 * @since 1.0.0
283 283
 	 * @param string $email_cc.
284 284
 	 */
285
-	public function set_email_cc( $email_cc ) {
286
-        $email_cc = implode( ', ', wp_parse_list( $email_cc ) );
287
-		$this->set_prop( 'email_cc', $email_cc );
285
+	public function set_email_cc($email_cc) {
286
+        $email_cc = implode(', ', wp_parse_list($email_cc));
287
+		$this->set_prop('email_cc', $email_cc);
288 288
 	}
289 289
 
290 290
     /**
@@ -293,16 +293,16 @@  discard block
 block discarded – undo
293 293
 	 * @since 1.0.0
294 294
 	 * @param  string $date_created date created.
295 295
 	 */
296
-	public function set_date_created( $date_created ) {
296
+	public function set_date_created($date_created) {
297 297
 
298
-		$date = strtotime( $date_created );
298
+		$date = strtotime($date_created);
299 299
 
300
-        if ( $date && $date_created !== '0000-00-00 00:00:00'  && $date_created !== '0000-00-00 00:00' ) {
301
-            $this->set_prop( 'date_created', gmdate( 'Y-m-d H:i:s', $date ) );
300
+        if ($date && $date_created !== '0000-00-00 00:00:00' && $date_created !== '0000-00-00 00:00') {
301
+            $this->set_prop('date_created', gmdate('Y-m-d H:i:s', $date));
302 302
             return;
303 303
 		}
304 304
 
305
-		$this->set_prop( 'date_created', null );
305
+		$this->set_prop('date_created', null);
306 306
 	}
307 307
 
308 308
     /**
@@ -311,16 +311,16 @@  discard block
 block discarded – undo
311 311
 	 * @since 1.0.0
312 312
 	 * @param  string $date_modified date created.
313 313
 	 */
314
-	public function set_date_modified( $date_modified ) {
314
+	public function set_date_modified($date_modified) {
315 315
 
316
-		$date = strtotime( $date_modified );
316
+		$date = strtotime($date_modified);
317 317
 
318
-        if ( $date && $date_modified !== '0000-00-00 00:00:00'  && $date_modified !== '0000-00-00 00:00' ) {
319
-            $this->set_prop( 'date_modified', gmdate( 'Y-m-d H:i:s', $date ) );
318
+        if ($date && $date_modified !== '0000-00-00 00:00:00' && $date_modified !== '0000-00-00 00:00') {
319
+            $this->set_prop('date_modified', gmdate('Y-m-d H:i:s', $date));
320 320
             return;
321 321
 		}
322 322
 
323
-		$this->set_prop( 'date_modified', null );
323
+		$this->set_prop('date_modified', null);
324 324
 	}
325 325
 
326 326
 	/*
@@ -341,18 +341,18 @@  discard block
 block discarded – undo
341 341
 
342 342
         $maybe_set = array(
343 343
             'uuid'         => wp_generate_uuid4(),
344
-            'date_created' => current_time( 'mysql' ),
344
+            'date_created' => current_time('mysql'),
345 345
         );
346 346
 
347
-        foreach ( $maybe_set as $key => $value ) {
348
-            $current_value = $this->get( $key );
347
+        foreach ($maybe_set as $key => $value) {
348
+            $current_value = $this->get($key);
349 349
 
350
-            if ( empty( $current_value ) ) {
351
-                $this->set( $key, $value );
350
+            if (empty($current_value)) {
351
+                $this->set($key, $value);
352 352
             }
353 353
         }
354 354
 
355
-        $this->set( 'date_modified', current_time( 'mysql' ) );
355
+        $this->set('date_modified', current_time('mysql'));
356 356
 
357 357
 		return parent::save();
358 358
 	}
@@ -363,20 +363,20 @@  discard block
 block discarded – undo
363 363
 	 * @since 1.0.0
364 364
 	 * @param int $user_id.
365 365
 	 */
366
-	public function clone_user( $user_id ) {
367
-        $user = get_userdata( $user_id );
366
+	public function clone_user($user_id) {
367
+        $user = get_userdata($user_id);
368 368
 
369
-        if ( empty( $user ) ) {
369
+        if (empty($user)) {
370 370
             return;
371 371
         }
372 372
 
373
-		$this->set_user_id( $user->ID );
374
-        $this->set_email( $user->user_email );
375
-        $this->set_purchase_value( getpaid_get_user_total_spend( $user->ID ) );
376
-        $this->set_purchase_count( getpaid_count_user_invoices( $user->ID ) );
377
-        $this->set( 'first_name', $user->first_name );
378
-        $this->set( 'last_name', $user->last_name );
379
-		$this->set_date_created( $user->user_registered );
373
+		$this->set_user_id($user->ID);
374
+        $this->set_email($user->user_email);
375
+        $this->set_purchase_value(getpaid_get_user_total_spend($user->ID));
376
+        $this->set_purchase_count(getpaid_count_user_invoices($user->ID));
377
+        $this->set('first_name', $user->first_name);
378
+        $this->set('last_name', $user->last_name);
379
+		$this->set_date_created($user->user_registered);
380 380
 
381 381
         // Fetch extra data from WC or old GetPaid.
382 382
         $prefixes = array(
@@ -385,18 +385,18 @@  discard block
 block discarded – undo
385 385
             '',
386 386
         );
387 387
 
388
-        foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
388
+        foreach (array_keys(getpaid_user_address_fields()) as $field) {
389 389
 
390
-            foreach ( $prefixes as $prefix ) {
390
+            foreach ($prefixes as $prefix) {
391 391
 
392 392
                 // Meta table.
393
-                $value = get_user_meta( $user_id, $prefix . $field, true );
393
+                $value = get_user_meta($user_id, $prefix . $field, true);
394 394
 
395 395
                 // UWP table.
396
-                $value = ( empty( $value ) && function_exists( 'uwp_get_usermeta' ) ) ? uwp_get_usermeta( $user_id, $prefix . $field ) : $value;
396
+                $value = (empty($value) && function_exists('uwp_get_usermeta')) ? uwp_get_usermeta($user_id, $prefix . $field) : $value;
397 397
 
398
-                if ( ! empty( $value ) ) {
399
-                    $this->set( $field, $value );
398
+                if (!empty($value)) {
399
+                    $this->set($field, $value);
400 400
                     continue;
401 401
                 }
402 402
             }
@@ -409,9 +409,9 @@  discard block
 block discarded – undo
409 409
 	 * @since 1.0.0
410 410
 	 * @param int $user_id.
411 411
 	 */
412
-	public function migrate_from_user( $user_id ) {
413
-        $this->clone_user( $user_id );
414
-        do_action( 'getpaid_customer_migrated_from_user', $this, $user_id );
412
+	public function migrate_from_user($user_id) {
413
+        $this->clone_user($user_id);
414
+        do_action('getpaid_customer_migrated_from_user', $this, $user_id);
415 415
         $this->save();
416 416
 	}
417 417
 }
Please login to merge, or discard this patch.