Passed
Push — master ( 0f9edb...599c71 )
by Kiran
12:27 queued 07:01
created
templates/payment-forms-admin/edit/discount.php 1 patch
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -7,44 +7,44 @@
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 ?>
13 13
 
14 14
 <div class='form-group mb-3'>
15 15
     <label class="form-label d-block">
16
-        <span><?php esc_html_e( 'Input Label', 'invoicing' ); ?></span>
16
+        <span><?php esc_html_e('Input Label', 'invoicing'); ?></span>
17 17
         <input v-model='active_form_element.input_label' class='form-control' type="text"/>
18 18
     </label>
19 19
 </div>
20 20
 
21 21
 <div class='form-group mb-3'>
22 22
     <label class="form-label d-block">
23
-        <span><?php esc_html_e( 'Button Label', 'invoicing' ); ?></span>
23
+        <span><?php esc_html_e('Button Label', 'invoicing'); ?></span>
24 24
         <input v-model='active_form_element.button_label' class='form-control' type="text"/>
25 25
     </label>
26 26
 </div>
27 27
 
28 28
 <div class='form-group mb-3'>
29
-    <label class="form-label" :for="active_form_element.id + '_edit_type'"><?php esc_html_e( 'Button Type', 'invoicing' ); ?></label>
29
+    <label class="form-label" :for="active_form_element.id + '_edit_type'"><?php esc_html_e('Button Type', 'invoicing'); ?></label>
30 30
     <select class='form-control custom-select' :id="active_form_element.id + '_edit_type'" v-model='active_form_element.class'>
31
-        <option disabled><?php esc_html_e( 'Select button type', 'invoicing' ); ?></option>
32
-        <option value='btn-primary'><?php esc_html_e( 'Primary', 'invoicing' ); ?></option>
33
-        <option value='btn-secondary'><?php esc_html_e( 'Secondary', 'invoicing' ); ?></option>
34
-        <option value='btn-success'><?php esc_html_e( 'Success', 'invoicing' ); ?></option>
35
-        <option value='btn-danger'><?php esc_html_e( 'Danger', 'invoicing' ); ?></option>
36
-        <option value='btn-warning'><?php esc_html_e( 'Warning', 'invoicing' ); ?></option>
37
-        <option value='btn-info'><?php esc_html_e( 'Info', 'invoicing' ); ?></option>
38
-        <option value='btn-light'><?php esc_html_e( 'Light', 'invoicing' ); ?></option>
39
-        <option value='btn-dark'><?php esc_html_e( 'Dark', 'invoicing' ); ?></option>
40
-        <option value='btn-link'><?php esc_html_e( 'Link', 'invoicing' ); ?></option>
31
+        <option disabled><?php esc_html_e('Select button type', 'invoicing'); ?></option>
32
+        <option value='btn-primary'><?php esc_html_e('Primary', 'invoicing'); ?></option>
33
+        <option value='btn-secondary'><?php esc_html_e('Secondary', 'invoicing'); ?></option>
34
+        <option value='btn-success'><?php esc_html_e('Success', 'invoicing'); ?></option>
35
+        <option value='btn-danger'><?php esc_html_e('Danger', 'invoicing'); ?></option>
36
+        <option value='btn-warning'><?php esc_html_e('Warning', 'invoicing'); ?></option>
37
+        <option value='btn-info'><?php esc_html_e('Info', 'invoicing'); ?></option>
38
+        <option value='btn-light'><?php esc_html_e('Light', 'invoicing'); ?></option>
39
+        <option value='btn-dark'><?php esc_html_e('Dark', 'invoicing'); ?></option>
40
+        <option value='btn-link'><?php esc_html_e('Link', 'invoicing'); ?></option>
41 41
     </select>
42 42
 </div>
43 43
 
44 44
 <div class='form-group mb-3'>
45 45
     <label class="form-label d-block">
46
-        <span><?php esc_html_e( 'Help Text', 'invoicing' ); ?></span>
47
-        <textarea placeholder='<?php esc_attr_e( 'Add some help text for this field', 'invoicing' ); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
48
-        <small class="form-text text-muted"><?php esc_html_e( 'HTML is allowed', 'invoicing' ); ?></small>
46
+        <span><?php esc_html_e('Help Text', 'invoicing'); ?></span>
47
+        <textarea placeholder='<?php esc_attr_e('Add some help text for this field', 'invoicing'); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
48
+        <small class="form-text text-muted"><?php esc_html_e('HTML is allowed', 'invoicing'); ?></small>
49 49
     </label>
50 50
 </div>
Please login to merge, or discard this patch.
templates/payment-forms/elements/discount.php 1 patch
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -8,35 +8,35 @@
 block discarded – undo
8 8
  * @var GetPaid_Payment_Form $form The current payment form
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13
-if ( ! getpaid_has_published_discount() ) {
13
+if (!getpaid_has_published_discount()) {
14 14
     return;
15 15
 }
16 16
 
17
-if ( ! empty( $description ) ) {
17
+if (!empty($description)) {
18 18
     $description = "<small class='form-text text-muted'>$description</small>";
19 19
 } else {
20 20
     $description = '';
21 21
 }
22 22
 
23 23
 $discount_code = '';
24
-if ( ! empty( $form->invoice ) ) {
24
+if (!empty($form->invoice)) {
25 25
     $discount_code = $form->invoice->get_discount_code();
26 26
 }
27 27
 
28
-$class = empty( $class ) ? 'btn-secondary' : sanitize_html_class( $class );
28
+$class = empty($class) ? 'btn-secondary' : sanitize_html_class($class);
29 29
 ?>
30 30
 
31 31
 <div class="form-group mb-3">
32 32
     <div class="getpaid-discount-field  border rounded p-3">
33 33
         <div class="getpaid-discount-field-inner d-flex flex-column flex-md-row">
34
-            <input name="discount" placeholder="<?php echo esc_attr( $input_label ); ?>" value="<?php echo esc_attr( $discount_code ); ?>" class="form-control mr-2 mb-2 getpaid-discount-field-input" style="flex: 1;" type="text">
35
-            <a href="#" class="btn <?php echo esc_attr( $class ); ?> submit-button mb-2 getpaid-discount-button"><?php echo esc_html( $button_label ); ?></a>
34
+            <input name="discount" placeholder="<?php echo esc_attr($input_label); ?>" value="<?php echo esc_attr($discount_code); ?>" class="form-control mr-2 mb-2 getpaid-discount-field-input" style="flex: 1;" type="text">
35
+            <a href="#" class="btn <?php echo esc_attr($class); ?> submit-button mb-2 getpaid-discount-button"><?php echo esc_html($button_label); ?></a>
36 36
         </div>
37
-        <?php echo wp_kses_post( $description ); ?>
37
+        <?php echo wp_kses_post($description); ?>
38 38
         <div class="getpaid-custom-payment-form-errors alert alert-danger d-none"></div>
39
-        <div class="getpaid-custom-payment-form-success alert alert-success d-none"><?php esc_html_e( 'Discount code applied!', 'invoicing' ); ?></div>
39
+        <div class="getpaid-custom-payment-form-success alert alert-success d-none"><?php esc_html_e('Discount code applied!', 'invoicing'); ?></div>
40 40
     </div>
41 41
 </div>
42 42
 
Please login to merge, or discard this patch.
includes/admin/class-getpaid-installer.php 2 patches
Indentation   +494 added lines, -494 removed lines patch added patch discarded remove patch
@@ -20,411 +20,411 @@  discard block
 block discarded – undo
20 20
  */
21 21
 class GetPaid_Installer {
22 22
 
23
-	private static $schema = null;
24
-	private static $schema_version = null;
25
-
26
-	/**
27
-	 * Upgrades the install.
28
-	 *
29
-	 * @param string $upgrade_from The current invoicing version.
30
-	 */
31
-	public function upgrade_db( $upgrade_from ) {
32
-
33
-		// Save the current invoicing version.
34
-		update_option( 'wpinv_version', WPINV_VERSION );
35
-
36
-		// Setup the invoice Custom Post Type.
37
-		GetPaid_Post_Types::register_post_types();
38
-
39
-		// Clear the permalinks
40
-		flush_rewrite_rules();
41
-
42
-		// Maybe create new/missing pages.
43
-		$this->create_pages();
44
-
45
-		// Maybe re(add) admin capabilities.
46
-		$this->add_capabilities();
47
-
48
-		// Maybe create the default payment form.
49
-		wpinv_get_default_payment_form();
50
-
51
-		// Create any missing database tables.
52
-		$method = "upgrade_from_$upgrade_from";
53
-
54
-		$installed = get_option( 'gepaid_installed_on' );
55
-
56
-		if ( empty( $installed ) ) {
57
-			update_option( 'gepaid_installed_on', time() );
58
-		}
59
-
60
-		if ( method_exists( $this, $method ) ) {
61
-			$this->$method();
62
-		}
63
-
64
-	}
65
-
66
-	/**
67
-	 * Do a fresh install.
68
-	 *
69
-	 */
70
-	public function upgrade_from_0() {
71
-
72
-		// Save default tax rates.
73
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
74
-	}
75
-
76
-	/**
77
-	 * Upgrade to 0.0.5
78
-	 *
79
-	 */
80
-	public function upgrade_from_004() {
81
-		global $wpdb;
82
-
83
-		// Invoices.
84
-		$results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
85
-		if ( ! empty( $results ) ) {
86
-			$wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
87
-
88
-			// Clean post cache
89
-			foreach ( $results as $row ) {
90
-				clean_post_cache( $row->ID );
91
-			}
92
-		}
93
-
94
-		// Item meta key changes
95
-		$query = 'SELECT DISTINCT post_id FROM ' . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )";
96
-		$results = $wpdb->get_results( $query );
97
-
98
-		if ( ! empty( $results ) ) {
99
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" );
100
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" );
101
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" );
102
-
103
-			foreach ( $results as $row ) {
104
-				clean_post_cache( $row->post_id );
105
-			}
106
-		}
107
-
108
-		$this->upgrade_from_118();
109
-	}
110
-
111
-	/**
112
-	 * Upgrade to version 2.0.0.
113
-	 *
114
-	 */
115
-	public function upgrade_from_118() {
116
-		$this->migrate_old_invoices();
117
-		$this->upgrade_from_279();
118
-	}
119
-
120
-	/**
121
-	 * Upgrade to version 2.0.0.
122
-	 *
123
-	 */
124
-	public function upgrade_from_279() {
125
-		self::migrate_old_customers();
126
-	}
127
-
128
-	/**
129
-	 * Give administrators the capability to manage GetPaid.
130
-	 *
131
-	 */
132
-	public function add_capabilities() {
133
-		$GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' );
134
-	}
135
-
136
-	/**
137
-	 * Retreives GetPaid pages.
138
-	 *
139
-	 */
140
-	public static function get_pages() {
141
-
142
-		return apply_filters(
143
-			'wpinv_create_pages',
144
-			array(
145
-
146
-				// Checkout page.
147
-				'checkout_page'             => array(
148
-					'name'    => _x( 'gp-checkout', 'Page slug', 'invoicing' ),
149
-					'title'   => _x( 'Checkout', 'Page title', 'invoicing' ),
150
-					'content' => '
23
+    private static $schema = null;
24
+    private static $schema_version = null;
25
+
26
+    /**
27
+     * Upgrades the install.
28
+     *
29
+     * @param string $upgrade_from The current invoicing version.
30
+     */
31
+    public function upgrade_db( $upgrade_from ) {
32
+
33
+        // Save the current invoicing version.
34
+        update_option( 'wpinv_version', WPINV_VERSION );
35
+
36
+        // Setup the invoice Custom Post Type.
37
+        GetPaid_Post_Types::register_post_types();
38
+
39
+        // Clear the permalinks
40
+        flush_rewrite_rules();
41
+
42
+        // Maybe create new/missing pages.
43
+        $this->create_pages();
44
+
45
+        // Maybe re(add) admin capabilities.
46
+        $this->add_capabilities();
47
+
48
+        // Maybe create the default payment form.
49
+        wpinv_get_default_payment_form();
50
+
51
+        // Create any missing database tables.
52
+        $method = "upgrade_from_$upgrade_from";
53
+
54
+        $installed = get_option( 'gepaid_installed_on' );
55
+
56
+        if ( empty( $installed ) ) {
57
+            update_option( 'gepaid_installed_on', time() );
58
+        }
59
+
60
+        if ( method_exists( $this, $method ) ) {
61
+            $this->$method();
62
+        }
63
+
64
+    }
65
+
66
+    /**
67
+     * Do a fresh install.
68
+     *
69
+     */
70
+    public function upgrade_from_0() {
71
+
72
+        // Save default tax rates.
73
+        update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
74
+    }
75
+
76
+    /**
77
+     * Upgrade to 0.0.5
78
+     *
79
+     */
80
+    public function upgrade_from_004() {
81
+        global $wpdb;
82
+
83
+        // Invoices.
84
+        $results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
85
+        if ( ! empty( $results ) ) {
86
+            $wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
87
+
88
+            // Clean post cache
89
+            foreach ( $results as $row ) {
90
+                clean_post_cache( $row->ID );
91
+            }
92
+        }
93
+
94
+        // Item meta key changes
95
+        $query = 'SELECT DISTINCT post_id FROM ' . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )";
96
+        $results = $wpdb->get_results( $query );
97
+
98
+        if ( ! empty( $results ) ) {
99
+            $wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" );
100
+            $wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" );
101
+            $wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" );
102
+
103
+            foreach ( $results as $row ) {
104
+                clean_post_cache( $row->post_id );
105
+            }
106
+        }
107
+
108
+        $this->upgrade_from_118();
109
+    }
110
+
111
+    /**
112
+     * Upgrade to version 2.0.0.
113
+     *
114
+     */
115
+    public function upgrade_from_118() {
116
+        $this->migrate_old_invoices();
117
+        $this->upgrade_from_279();
118
+    }
119
+
120
+    /**
121
+     * Upgrade to version 2.0.0.
122
+     *
123
+     */
124
+    public function upgrade_from_279() {
125
+        self::migrate_old_customers();
126
+    }
127
+
128
+    /**
129
+     * Give administrators the capability to manage GetPaid.
130
+     *
131
+     */
132
+    public function add_capabilities() {
133
+        $GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' );
134
+    }
135
+
136
+    /**
137
+     * Retreives GetPaid pages.
138
+     *
139
+     */
140
+    public static function get_pages() {
141
+
142
+        return apply_filters(
143
+            'wpinv_create_pages',
144
+            array(
145
+
146
+                // Checkout page.
147
+                'checkout_page'             => array(
148
+                    'name'    => _x( 'gp-checkout', 'Page slug', 'invoicing' ),
149
+                    'title'   => _x( 'Checkout', 'Page title', 'invoicing' ),
150
+                    'content' => '
151 151
 						<!-- wp:shortcode -->
152 152
 						[wpinv_checkout]
153 153
 						<!-- /wp:shortcode -->
154 154
 					',
155
-					'parent'  => '',
156
-				),
157
-
158
-				// Invoice history page.
159
-				'invoice_history_page'      => array(
160
-					'name'    => _x( 'gp-invoices', 'Page slug', 'invoicing' ),
161
-					'title'   => _x( 'My Invoices', 'Page title', 'invoicing' ),
162
-					'content' => '
155
+                    'parent'  => '',
156
+                ),
157
+
158
+                // Invoice history page.
159
+                'invoice_history_page'      => array(
160
+                    'name'    => _x( 'gp-invoices', 'Page slug', 'invoicing' ),
161
+                    'title'   => _x( 'My Invoices', 'Page title', 'invoicing' ),
162
+                    'content' => '
163 163
 					<!-- wp:shortcode -->
164 164
 					[wpinv_history]
165 165
 					<!-- /wp:shortcode -->
166 166
 				',
167
-					'parent'  => '',
168
-				),
169
-
170
-				// Success page content.
171
-				'success_page'              => array(
172
-					'name'    => _x( 'gp-receipt', 'Page slug', 'invoicing' ),
173
-					'title'   => _x( 'Payment Confirmation', 'Page title', 'invoicing' ),
174
-					'content' => '
167
+                    'parent'  => '',
168
+                ),
169
+
170
+                // Success page content.
171
+                'success_page'              => array(
172
+                    'name'    => _x( 'gp-receipt', 'Page slug', 'invoicing' ),
173
+                    'title'   => _x( 'Payment Confirmation', 'Page title', 'invoicing' ),
174
+                    'content' => '
175 175
 					<!-- wp:shortcode -->
176 176
 					[wpinv_receipt]
177 177
 					<!-- /wp:shortcode -->
178 178
 				',
179
-					'parent'  => 'gp-checkout',
180
-				),
181
-
182
-				// Failure page content.
183
-				'failure_page'              => array(
184
-					'name'    => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ),
185
-					'title'   => _x( 'Transaction Failed', 'Page title', 'invoicing' ),
186
-					'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ),
187
-					'parent'  => 'gp-checkout',
188
-				),
189
-
190
-				// Subscriptions history page.
191
-				'invoice_subscription_page' => array(
192
-					'name'    => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ),
193
-					'title'   => _x( 'My Subscriptions', 'Page title', 'invoicing' ),
194
-					'content' => '
179
+                    'parent'  => 'gp-checkout',
180
+                ),
181
+
182
+                // Failure page content.
183
+                'failure_page'              => array(
184
+                    'name'    => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ),
185
+                    'title'   => _x( 'Transaction Failed', 'Page title', 'invoicing' ),
186
+                    'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ),
187
+                    'parent'  => 'gp-checkout',
188
+                ),
189
+
190
+                // Subscriptions history page.
191
+                'invoice_subscription_page' => array(
192
+                    'name'    => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ),
193
+                    'title'   => _x( 'My Subscriptions', 'Page title', 'invoicing' ),
194
+                    'content' => '
195 195
 					<!-- wp:shortcode -->
196 196
 					[wpinv_subscriptions]
197 197
 					<!-- /wp:shortcode -->
198 198
 				',
199
-					'parent'  => '',
200
-				),
201
-
202
-			)
203
-		);
204
-
205
-	}
206
-
207
-	/**
208
-	 * Re-create GetPaid pages.
209
-	 *
210
-	 */
211
-	public function create_pages() {
212
-
213
-		foreach ( self::get_pages() as $key => $page ) {
214
-			wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] );
215
-		}
216
-
217
-	}
218
-
219
-	/**
220
-	 * Migrates old invoices to new invoices.
221
-	 *
222
-	 */
223
-	public function migrate_old_invoices() {
224
-		global $wpdb;
225
-
226
-		$invoices_table      = $wpdb->prefix . 'getpaid_invoices';
227
-		$invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items';
228
-		$migrated            = $wpdb->get_col( "SELECT post_id FROM $invoices_table" );
229
-		$invoices            = array_unique(
230
-			get_posts(
231
-				array(
232
-					'post_type'      => array( 'wpi_invoice', 'wpi_quote' ),
233
-					'posts_per_page' => -1,
234
-					'fields'         => 'ids',
235
-					'post_status'    => array_keys( get_post_stati() ),
236
-					'exclude'        => (array) $migrated,
237
-				)
238
-			)
239
-		);
240
-
241
-		// Abort if we do not have any invoices.
242
-		if ( empty( $invoices ) ) {
243
-			return;
244
-		}
245
-
246
-		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php';
247
-
248
-		$invoice_rows = array();
249
-		foreach ( $invoices as $invoice ) {
250
-
251
-			$invoice = new WPInv_Legacy_Invoice( $invoice );
252
-
253
-			if ( empty( $invoice->ID ) ) {
254
-				return;
255
-			}
256
-
257
-			$fields = array(
258
-				'post_id'            => $invoice->ID,
259
-				'number'             => $invoice->get_number(),
260
-				'key'                => $invoice->get_key(),
261
-				'type'               => str_replace( 'wpi_', '', $invoice->post_type ),
262
-				'mode'               => $invoice->mode,
263
-				'user_ip'            => $invoice->get_ip(),
264
-				'first_name'         => $invoice->get_first_name(),
265
-				'last_name'          => $invoice->get_last_name(),
266
-				'address'            => $invoice->get_address(),
267
-				'city'               => $invoice->city,
268
-				'state'              => $invoice->state,
269
-				'country'            => $invoice->country,
270
-				'zip'                => $invoice->zip,
271
-				'adddress_confirmed' => (int) $invoice->adddress_confirmed,
272
-				'gateway'            => $invoice->get_gateway(),
273
-				'transaction_id'     => $invoice->get_transaction_id(),
274
-				'currency'           => $invoice->get_currency(),
275
-				'subtotal'           => $invoice->get_subtotal(),
276
-				'tax'                => $invoice->get_tax(),
277
-				'fees_total'         => $invoice->get_fees_total(),
278
-				'total'              => $invoice->get_total(),
279
-				'discount'           => $invoice->get_discount(),
280
-				'discount_code'      => $invoice->get_discount_code(),
281
-				'disable_taxes'      => $invoice->disable_taxes,
282
-				'due_date'           => $invoice->get_due_date(),
283
-				'completed_date'     => $invoice->get_completed_date(),
284
-				'company'            => $invoice->company,
285
-				'vat_number'         => $invoice->vat_number,
286
-				'vat_rate'           => $invoice->vat_rate,
287
-				'custom_meta'        => $invoice->payment_meta,
288
-			);
289
-
290
-			foreach ( $fields as $key => $val ) {
291
-				if ( is_null( $val ) ) {
292
-					$val = '';
293
-				}
294
-				$val = maybe_serialize( $val );
295
-				$fields[ $key ] = $wpdb->prepare( '%s', $val );
296
-			}
297
-
298
-			$fields = implode( ', ', $fields );
299
-			$invoice_rows[] = "($fields)";
300
-
301
-			$item_rows    = array();
302
-			$item_columns = array();
303
-			foreach ( $invoice->get_cart_details() as $details ) {
304
-				$fields = array(
305
-					'post_id'          => $invoice->ID,
306
-					'item_id'          => $details['id'],
307
-					'item_name'        => $details['name'],
308
-					'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'],
309
-					'vat_rate'         => $details['vat_rate'],
310
-					'vat_class'        => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'],
311
-					'tax'              => $details['tax'],
312
-					'item_price'       => $details['item_price'],
313
-					'custom_price'     => $details['custom_price'],
314
-					'quantity'         => $details['quantity'],
315
-					'discount'         => $details['discount'],
316
-					'subtotal'         => $details['subtotal'],
317
-					'price'            => $details['price'],
318
-					'meta'             => $details['meta'],
319
-					'fees'             => $details['fees'],
320
-				);
321
-
322
-				$item_columns = array_keys( $fields );
323
-
324
-				foreach ( $fields as $key => $val ) {
325
-					if ( is_null( $val ) ) {
326
-						$val = '';
327
-					}
328
-					$val = maybe_serialize( $val );
329
-					$fields[ $key ] = $wpdb->prepare( '%s', $val );
330
-				}
331
-
332
-				$fields = implode( ', ', $fields );
333
-				$item_rows[] = "($fields)";
334
-			}
335
-
336
-			$item_rows    = implode( ', ', $item_rows );
337
-			$item_columns = implode( ', ', $item_columns );
338
-			$wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" );
339
-		}
340
-
341
-		if ( empty( $invoice_rows ) ) {
342
-			return;
343
-		}
344
-
345
-		$invoice_rows = implode( ', ', $invoice_rows );
346
-		$wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" );
347
-
348
-	}
349
-
350
-	/**
351
-	 * Migrates old customers to new table.
352
-	 *
353
-	 */
354
-	public static function migrate_old_customers() {
355
-		global $wpdb;
356
-
357
-		// Fetch post_id from $wpdb->prefix . 'getpaid_invoices' where customer_id = 0 or null.
358
-		$invoice_ids = $wpdb->get_col( "SELECT post_id FROM {$wpdb->prefix}getpaid_invoices WHERE customer_id = 0 OR customer_id IS NULL" );
359
-
360
-		foreach ( $invoice_ids as $invoice_id ) {
361
-			$invoice = wpinv_get_invoice( $invoice_id );
362
-
363
-			if ( empty( $invoice ) ) {
364
-				continue;
365
-			}
366
-
367
-			// Fetch customer from the user ID.
368
-			$user_id = $invoice->get_user_id();
369
-
370
-			if ( empty( $user_id ) ) {
371
-				continue;
372
-			}
373
-
374
-			$customer = getpaid_get_customer_by_user_id( $user_id );
375
-
376
-			// Create if not exists.
377
-			if ( empty( $customer ) ) {
378
-				$customer = new GetPaid_Customer( 0 );
379
-				$customer->clone_user( $user_id );
380
-				$customer->save();
381
-			}
382
-
383
-			$invoice->set_customer_id( $customer->get_id() );
384
-			$invoice->save();
385
-		}
386
-
387
-	}
388
-
389
-	/**
390
-	 * Migrates old invoices to new invoices.
391
-	 *
392
-	 */
393
-	public static function rename_gateways_label() {
394
-		global $wpdb;
395
-
396
-		foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) {
397
-
398
-			$wpdb->update(
399
-				$wpdb->prefix . 'getpaid_invoices',
400
-				array( 'gateway' => $gateway ),
401
-				array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ),
402
-				'%s',
403
-				'%s'
404
-			);
405
-
406
-		}
407
-	}
408
-
409
-	/**
410
-	 * Returns the DB schema.
411
-	 *
412
-	 */
413
-	public static function get_db_schema() {
414
-		global $wpdb;
415
-
416
-		if ( ! empty( self::$schema ) ) {
417
-			return self::$schema;
418
-		}
199
+                    'parent'  => '',
200
+                ),
201
+
202
+            )
203
+        );
204
+
205
+    }
206
+
207
+    /**
208
+     * Re-create GetPaid pages.
209
+     *
210
+     */
211
+    public function create_pages() {
212
+
213
+        foreach ( self::get_pages() as $key => $page ) {
214
+            wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] );
215
+        }
216
+
217
+    }
218
+
219
+    /**
220
+     * Migrates old invoices to new invoices.
221
+     *
222
+     */
223
+    public function migrate_old_invoices() {
224
+        global $wpdb;
225
+
226
+        $invoices_table      = $wpdb->prefix . 'getpaid_invoices';
227
+        $invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items';
228
+        $migrated            = $wpdb->get_col( "SELECT post_id FROM $invoices_table" );
229
+        $invoices            = array_unique(
230
+            get_posts(
231
+                array(
232
+                    'post_type'      => array( 'wpi_invoice', 'wpi_quote' ),
233
+                    'posts_per_page' => -1,
234
+                    'fields'         => 'ids',
235
+                    'post_status'    => array_keys( get_post_stati() ),
236
+                    'exclude'        => (array) $migrated,
237
+                )
238
+            )
239
+        );
240
+
241
+        // Abort if we do not have any invoices.
242
+        if ( empty( $invoices ) ) {
243
+            return;
244
+        }
245
+
246
+        require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php';
247
+
248
+        $invoice_rows = array();
249
+        foreach ( $invoices as $invoice ) {
250
+
251
+            $invoice = new WPInv_Legacy_Invoice( $invoice );
252
+
253
+            if ( empty( $invoice->ID ) ) {
254
+                return;
255
+            }
256
+
257
+            $fields = array(
258
+                'post_id'            => $invoice->ID,
259
+                'number'             => $invoice->get_number(),
260
+                'key'                => $invoice->get_key(),
261
+                'type'               => str_replace( 'wpi_', '', $invoice->post_type ),
262
+                'mode'               => $invoice->mode,
263
+                'user_ip'            => $invoice->get_ip(),
264
+                'first_name'         => $invoice->get_first_name(),
265
+                'last_name'          => $invoice->get_last_name(),
266
+                'address'            => $invoice->get_address(),
267
+                'city'               => $invoice->city,
268
+                'state'              => $invoice->state,
269
+                'country'            => $invoice->country,
270
+                'zip'                => $invoice->zip,
271
+                'adddress_confirmed' => (int) $invoice->adddress_confirmed,
272
+                'gateway'            => $invoice->get_gateway(),
273
+                'transaction_id'     => $invoice->get_transaction_id(),
274
+                'currency'           => $invoice->get_currency(),
275
+                'subtotal'           => $invoice->get_subtotal(),
276
+                'tax'                => $invoice->get_tax(),
277
+                'fees_total'         => $invoice->get_fees_total(),
278
+                'total'              => $invoice->get_total(),
279
+                'discount'           => $invoice->get_discount(),
280
+                'discount_code'      => $invoice->get_discount_code(),
281
+                'disable_taxes'      => $invoice->disable_taxes,
282
+                'due_date'           => $invoice->get_due_date(),
283
+                'completed_date'     => $invoice->get_completed_date(),
284
+                'company'            => $invoice->company,
285
+                'vat_number'         => $invoice->vat_number,
286
+                'vat_rate'           => $invoice->vat_rate,
287
+                'custom_meta'        => $invoice->payment_meta,
288
+            );
289
+
290
+            foreach ( $fields as $key => $val ) {
291
+                if ( is_null( $val ) ) {
292
+                    $val = '';
293
+                }
294
+                $val = maybe_serialize( $val );
295
+                $fields[ $key ] = $wpdb->prepare( '%s', $val );
296
+            }
297
+
298
+            $fields = implode( ', ', $fields );
299
+            $invoice_rows[] = "($fields)";
300
+
301
+            $item_rows    = array();
302
+            $item_columns = array();
303
+            foreach ( $invoice->get_cart_details() as $details ) {
304
+                $fields = array(
305
+                    'post_id'          => $invoice->ID,
306
+                    'item_id'          => $details['id'],
307
+                    'item_name'        => $details['name'],
308
+                    'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'],
309
+                    'vat_rate'         => $details['vat_rate'],
310
+                    'vat_class'        => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'],
311
+                    'tax'              => $details['tax'],
312
+                    'item_price'       => $details['item_price'],
313
+                    'custom_price'     => $details['custom_price'],
314
+                    'quantity'         => $details['quantity'],
315
+                    'discount'         => $details['discount'],
316
+                    'subtotal'         => $details['subtotal'],
317
+                    'price'            => $details['price'],
318
+                    'meta'             => $details['meta'],
319
+                    'fees'             => $details['fees'],
320
+                );
321
+
322
+                $item_columns = array_keys( $fields );
323
+
324
+                foreach ( $fields as $key => $val ) {
325
+                    if ( is_null( $val ) ) {
326
+                        $val = '';
327
+                    }
328
+                    $val = maybe_serialize( $val );
329
+                    $fields[ $key ] = $wpdb->prepare( '%s', $val );
330
+                }
331
+
332
+                $fields = implode( ', ', $fields );
333
+                $item_rows[] = "($fields)";
334
+            }
335
+
336
+            $item_rows    = implode( ', ', $item_rows );
337
+            $item_columns = implode( ', ', $item_columns );
338
+            $wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" );
339
+        }
340
+
341
+        if ( empty( $invoice_rows ) ) {
342
+            return;
343
+        }
344
+
345
+        $invoice_rows = implode( ', ', $invoice_rows );
346
+        $wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" );
347
+
348
+    }
349
+
350
+    /**
351
+     * Migrates old customers to new table.
352
+     *
353
+     */
354
+    public static function migrate_old_customers() {
355
+        global $wpdb;
356
+
357
+        // Fetch post_id from $wpdb->prefix . 'getpaid_invoices' where customer_id = 0 or null.
358
+        $invoice_ids = $wpdb->get_col( "SELECT post_id FROM {$wpdb->prefix}getpaid_invoices WHERE customer_id = 0 OR customer_id IS NULL" );
359
+
360
+        foreach ( $invoice_ids as $invoice_id ) {
361
+            $invoice = wpinv_get_invoice( $invoice_id );
362
+
363
+            if ( empty( $invoice ) ) {
364
+                continue;
365
+            }
366
+
367
+            // Fetch customer from the user ID.
368
+            $user_id = $invoice->get_user_id();
369
+
370
+            if ( empty( $user_id ) ) {
371
+                continue;
372
+            }
373
+
374
+            $customer = getpaid_get_customer_by_user_id( $user_id );
375
+
376
+            // Create if not exists.
377
+            if ( empty( $customer ) ) {
378
+                $customer = new GetPaid_Customer( 0 );
379
+                $customer->clone_user( $user_id );
380
+                $customer->save();
381
+            }
382
+
383
+            $invoice->set_customer_id( $customer->get_id() );
384
+            $invoice->save();
385
+        }
386
+
387
+    }
388
+
389
+    /**
390
+     * Migrates old invoices to new invoices.
391
+     *
392
+     */
393
+    public static function rename_gateways_label() {
394
+        global $wpdb;
395
+
396
+        foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) {
397
+
398
+            $wpdb->update(
399
+                $wpdb->prefix . 'getpaid_invoices',
400
+                array( 'gateway' => $gateway ),
401
+                array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ),
402
+                '%s',
403
+                '%s'
404
+            );
405
+
406
+        }
407
+    }
408
+
409
+    /**
410
+     * Returns the DB schema.
411
+     *
412
+     */
413
+    public static function get_db_schema() {
414
+        global $wpdb;
415
+
416
+        if ( ! empty( self::$schema ) ) {
417
+            return self::$schema;
418
+        }
419 419
 
420
-		require_once ABSPATH . 'wp-admin/includes/upgrade.php';
420
+        require_once ABSPATH . 'wp-admin/includes/upgrade.php';
421 421
 
422
-		$charset_collate = $wpdb->get_charset_collate();
422
+        $charset_collate = $wpdb->get_charset_collate();
423 423
 
424
-		$schema = array();
424
+        $schema = array();
425 425
 
426
-		// Subscriptions.
427
-		$schema['subscriptions'] = "CREATE TABLE {$wpdb->prefix}wpinv_subscriptions (
426
+        // Subscriptions.
427
+        $schema['subscriptions'] = "CREATE TABLE {$wpdb->prefix}wpinv_subscriptions (
428 428
 			id bigint(20) unsigned NOT NULL auto_increment,
429 429
 			customer_id bigint(20) NOT NULL,
430 430
 			frequency int(11) NOT NULL DEFAULT '1',
@@ -447,8 +447,8 @@  discard block
 block discarded – undo
447 447
 			KEY customer_and_status (customer_id, status)
448 448
 		  ) $charset_collate;";
449 449
 
450
-		// Invoices.
451
-		$schema['invoices'] = "CREATE TABLE {$wpdb->prefix}getpaid_invoices (
450
+        // Invoices.
451
+        $schema['invoices'] = "CREATE TABLE {$wpdb->prefix}getpaid_invoices (
452 452
 			post_id BIGINT(20) NOT NULL,
453 453
 			customer_id BIGINT(20) NOT NULL DEFAULT 0,
454 454
             `number` VARCHAR(100),
@@ -485,8 +485,8 @@  discard block
 block discarded – undo
485 485
 			KEY invoice_key (invoice_key)
486 486
 		  ) $charset_collate;";
487 487
 
488
-		// Invoice items.
489
-		$schema['items'] = "CREATE TABLE {$wpdb->prefix}getpaid_invoice_items (
488
+        // Invoice items.
489
+        $schema['items'] = "CREATE TABLE {$wpdb->prefix}getpaid_invoice_items (
490 490
 			ID BIGINT(20) NOT NULL AUTO_INCREMENT,
491 491
             post_id BIGINT(20) NOT NULL,
492 492
             item_id BIGINT(20) NOT NULL,
@@ -508,8 +508,8 @@  discard block
 block discarded – undo
508 508
 			KEY post_id (post_id)
509 509
 		  ) $charset_collate;";
510 510
 
511
-		// Customers.
512
-		$schema['customers'] = "CREATE TABLE {$wpdb->prefix}getpaid_customers (
511
+        // Customers.
512
+        $schema['customers'] = "CREATE TABLE {$wpdb->prefix}getpaid_customers (
513 513
 			id BIGINT(20) NOT NULL AUTO_INCREMENT,
514 514
 			user_id BIGINT(20) NOT NULL,
515 515
 			email VARCHAR(100) NOT NULL,
@@ -519,38 +519,38 @@  discard block
 block discarded – undo
519 519
 			purchase_count BIGINT(20) NOT NULL DEFAULT 0,
520 520
 			";
521 521
 
522
-		// Add address fields.
523
-		foreach ( array_keys( getpaid_user_address_fields( true ) ) as $field ) {
524
-			// Skip id, user_id and email.
525
-			if ( in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) {
526
-				continue;
527
-			}
528
-
529
-			$field   = sanitize_key( $field );
530
-			$length  = 100;
531
-			$default = '';
532
-
533
-			// Country.
534
-			if ( 'country' === $field ) {
535
-				$length  = 2;
536
-				$default = wpinv_get_default_country();
537
-			}
538
-
539
-			// State.
540
-			if ( 'state' === $field ) {
541
-				$default = wpinv_get_default_state();
542
-			}
543
-
544
-			// Phone, zip.
545
-			if ( in_array( $field, array( 'phone', 'zip' ), true ) ) {
546
-				$length = 20;
547
-			}
548
-
549
-			$schema['customers'] .= "`$field` VARCHAR($length) NOT NULL DEFAULT '$default',
522
+        // Add address fields.
523
+        foreach ( array_keys( getpaid_user_address_fields( true ) ) as $field ) {
524
+            // Skip id, user_id and email.
525
+            if ( in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) {
526
+                continue;
527
+            }
528
+
529
+            $field   = sanitize_key( $field );
530
+            $length  = 100;
531
+            $default = '';
532
+
533
+            // Country.
534
+            if ( 'country' === $field ) {
535
+                $length  = 2;
536
+                $default = wpinv_get_default_country();
537
+            }
538
+
539
+            // State.
540
+            if ( 'state' === $field ) {
541
+                $default = wpinv_get_default_state();
542
+            }
543
+
544
+            // Phone, zip.
545
+            if ( in_array( $field, array( 'phone', 'zip' ), true ) ) {
546
+                $length = 20;
547
+            }
548
+
549
+            $schema['customers'] .= "`$field` VARCHAR($length) NOT NULL DEFAULT '$default',
550 550
 			";
551
-		}
551
+        }
552 552
 
553
-		$schema['customers'] .= "date_created DATETIME NOT NULL,
553
+        $schema['customers'] .= "date_created DATETIME NOT NULL,
554 554
 			date_modified DATETIME NOT NULL,
555 555
 			uuid VARCHAR(100) NOT NULL,
556 556
 			PRIMARY KEY  (id),
@@ -558,8 +558,8 @@  discard block
 block discarded – undo
558 558
 			KEY email (email)
559 559
 		  ) $charset_collate;";
560 560
 
561
-		// Customer meta.
562
-		$schema['customer_meta'] = "CREATE TABLE {$wpdb->prefix}getpaid_customer_meta (
561
+        // Customer meta.
562
+        $schema['customer_meta'] = "CREATE TABLE {$wpdb->prefix}getpaid_customer_meta (
563 563
 			meta_id BIGINT(20) NOT NULL AUTO_INCREMENT,
564 564
 			customer_id BIGINT(20) NOT NULL,
565 565
 			meta_key VARCHAR(255) NOT NULL,
@@ -569,75 +569,75 @@  discard block
 block discarded – undo
569 569
 			KEY meta_key (meta_key(191))
570 570
 		  ) $charset_collate;";
571 571
 
572
-		// Filter.
573
-		$schema = apply_filters( 'getpaid_db_schema', $schema );
574
-
575
-		self::$schema         = implode( "\n", array_values( $schema ) );
576
-		self::$schema_version = md5( sanitize_key( self::$schema ) );
577
-
578
-		return self::$schema;
579
-	}
580
-
581
-	/**
582
-	 * Returns the DB schema version.
583
-	 *
584
-	 */
585
-	public static function get_db_schema_version() {
586
-		if ( ! empty( self::$schema_version ) ) {
587
-			return self::$schema_version;
588
-		}
589
-
590
-		self::get_db_schema();
591
-
592
-		return self::$schema_version;
593
-	}
594
-
595
-	/**
596
-	 * Checks if the db schema is up to date.
597
-	 *
598
-	 * @return bool
599
-	 */
600
-	public static function is_db_schema_up_to_date() {
601
-		return self::get_db_schema_version() === get_option( 'getpaid_db_schema' );
602
-	}
603
-
604
-	/**
605
-	 * Set up the database tables which the plugin needs to function.
606
-	 */
607
-	public static function create_db_tables() {
608
-		global $wpdb;
609
-
610
-		$wpdb->hide_errors();
611
-
612
-		require_once ABSPATH . 'wp-admin/includes/upgrade.php';
613
-
614
-		$schema = self::get_db_schema();
615
-
616
-		// If invoices table exists, rename key to invoice_key.
617
-		$invoices_table = "{$wpdb->prefix}getpaid_invoices";
618
-
619
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) === $invoices_table ) {
620
-			$fields = $wpdb->get_results( "SHOW COLUMNS FROM {$wpdb->prefix}getpaid_invoices" );
621
-
622
-			foreach ( $fields as $field ) {
623
-				if ( 'key' === $field->Field ) {
624
-					$wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoices CHANGE `key` `invoice_key` VARCHAR(100)" );
625
-					break;
626
-				}
627
-			}
628
-		}
629
-
630
-		dbDelta( $schema );
631
-		wp_cache_flush();
632
-		update_option( 'getpaid_db_schema', self::get_db_schema_version() );
633
-	}
634
-
635
-	/**
636
-	 * Creates tables if schema is not up to date.
637
-	 */
638
-	public static function maybe_create_db_tables() {
639
-		if ( ! self::is_db_schema_up_to_date() ) {
640
-			self::create_db_tables();
641
-		}
642
-	}
572
+        // Filter.
573
+        $schema = apply_filters( 'getpaid_db_schema', $schema );
574
+
575
+        self::$schema         = implode( "\n", array_values( $schema ) );
576
+        self::$schema_version = md5( sanitize_key( self::$schema ) );
577
+
578
+        return self::$schema;
579
+    }
580
+
581
+    /**
582
+     * Returns the DB schema version.
583
+     *
584
+     */
585
+    public static function get_db_schema_version() {
586
+        if ( ! empty( self::$schema_version ) ) {
587
+            return self::$schema_version;
588
+        }
589
+
590
+        self::get_db_schema();
591
+
592
+        return self::$schema_version;
593
+    }
594
+
595
+    /**
596
+     * Checks if the db schema is up to date.
597
+     *
598
+     * @return bool
599
+     */
600
+    public static function is_db_schema_up_to_date() {
601
+        return self::get_db_schema_version() === get_option( 'getpaid_db_schema' );
602
+    }
603
+
604
+    /**
605
+     * Set up the database tables which the plugin needs to function.
606
+     */
607
+    public static function create_db_tables() {
608
+        global $wpdb;
609
+
610
+        $wpdb->hide_errors();
611
+
612
+        require_once ABSPATH . 'wp-admin/includes/upgrade.php';
613
+
614
+        $schema = self::get_db_schema();
615
+
616
+        // If invoices table exists, rename key to invoice_key.
617
+        $invoices_table = "{$wpdb->prefix}getpaid_invoices";
618
+
619
+        if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) === $invoices_table ) {
620
+            $fields = $wpdb->get_results( "SHOW COLUMNS FROM {$wpdb->prefix}getpaid_invoices" );
621
+
622
+            foreach ( $fields as $field ) {
623
+                if ( 'key' === $field->Field ) {
624
+                    $wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoices CHANGE `key` `invoice_key` VARCHAR(100)" );
625
+                    break;
626
+                }
627
+            }
628
+        }
629
+
630
+        dbDelta( $schema );
631
+        wp_cache_flush();
632
+        update_option( 'getpaid_db_schema', self::get_db_schema_version() );
633
+    }
634
+
635
+    /**
636
+     * Creates tables if schema is not up to date.
637
+     */
638
+    public static function maybe_create_db_tables() {
639
+        if ( ! self::is_db_schema_up_to_date() ) {
640
+            self::create_db_tables();
641
+        }
642
+    }
643 643
 }
Please login to merge, or discard this patch.
Spacing   +95 added lines, -95 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  * @since   2.0.2
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 /**
14 14
  * The main installer/updater class.
@@ -28,10 +28,10 @@  discard block
 block discarded – undo
28 28
 	 *
29 29
 	 * @param string $upgrade_from The current invoicing version.
30 30
 	 */
31
-	public function upgrade_db( $upgrade_from ) {
31
+	public function upgrade_db($upgrade_from) {
32 32
 
33 33
 		// Save the current invoicing version.
34
-		update_option( 'wpinv_version', WPINV_VERSION );
34
+		update_option('wpinv_version', WPINV_VERSION);
35 35
 
36 36
 		// Setup the invoice Custom Post Type.
37 37
 		GetPaid_Post_Types::register_post_types();
@@ -51,13 +51,13 @@  discard block
 block discarded – undo
51 51
 		// Create any missing database tables.
52 52
 		$method = "upgrade_from_$upgrade_from";
53 53
 
54
-		$installed = get_option( 'gepaid_installed_on' );
54
+		$installed = get_option('gepaid_installed_on');
55 55
 
56
-		if ( empty( $installed ) ) {
57
-			update_option( 'gepaid_installed_on', time() );
56
+		if (empty($installed)) {
57
+			update_option('gepaid_installed_on', time());
58 58
 		}
59 59
 
60
-		if ( method_exists( $this, $method ) ) {
60
+		if (method_exists($this, $method)) {
61 61
 			$this->$method();
62 62
 		}
63 63
 
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
 	public function upgrade_from_0() {
71 71
 
72 72
 		// Save default tax rates.
73
-		update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) );
73
+		update_option('wpinv_tax_rates', wpinv_get_data('tax-rates'));
74 74
 	}
75 75
 
76 76
 	/**
@@ -81,27 +81,27 @@  discard block
 block discarded – undo
81 81
 		global $wpdb;
82 82
 
83 83
 		// Invoices.
84
-		$results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
85
-		if ( ! empty( $results ) ) {
86
-			$wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" );
84
+		$results = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )");
85
+		if (!empty($results)) {
86
+			$wpdb->query("UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )");
87 87
 
88 88
 			// Clean post cache
89
-			foreach ( $results as $row ) {
90
-				clean_post_cache( $row->ID );
89
+			foreach ($results as $row) {
90
+				clean_post_cache($row->ID);
91 91
 			}
92 92
 		}
93 93
 
94 94
 		// Item meta key changes
95 95
 		$query = 'SELECT DISTINCT post_id FROM ' . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )";
96
-		$results = $wpdb->get_results( $query );
96
+		$results = $wpdb->get_results($query);
97 97
 
98
-		if ( ! empty( $results ) ) {
99
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" );
100
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" );
101
-			$wpdb->query( 'UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" );
98
+		if (!empty($results)) {
99
+			$wpdb->query('UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )");
100
+			$wpdb->query('UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'");
101
+			$wpdb->query('UPDATE ' . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'");
102 102
 
103
-			foreach ( $results as $row ) {
104
-				clean_post_cache( $row->post_id );
103
+			foreach ($results as $row) {
104
+				clean_post_cache($row->post_id);
105 105
 			}
106 106
 		}
107 107
 
@@ -130,7 +130,7 @@  discard block
 block discarded – undo
130 130
 	 *
131 131
 	 */
132 132
 	public function add_capabilities() {
133
-		$GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' );
133
+		$GLOBALS['wp_roles']->add_cap('administrator', 'manage_invoicing');
134 134
 	}
135 135
 
136 136
 	/**
@@ -145,8 +145,8 @@  discard block
 block discarded – undo
145 145
 
146 146
 				// Checkout page.
147 147
 				'checkout_page'             => array(
148
-					'name'    => _x( 'gp-checkout', 'Page slug', 'invoicing' ),
149
-					'title'   => _x( 'Checkout', 'Page title', 'invoicing' ),
148
+					'name'    => _x('gp-checkout', 'Page slug', 'invoicing'),
149
+					'title'   => _x('Checkout', 'Page title', 'invoicing'),
150 150
 					'content' => '
151 151
 						<!-- wp:shortcode -->
152 152
 						[wpinv_checkout]
@@ -157,8 +157,8 @@  discard block
 block discarded – undo
157 157
 
158 158
 				// Invoice history page.
159 159
 				'invoice_history_page'      => array(
160
-					'name'    => _x( 'gp-invoices', 'Page slug', 'invoicing' ),
161
-					'title'   => _x( 'My Invoices', 'Page title', 'invoicing' ),
160
+					'name'    => _x('gp-invoices', 'Page slug', 'invoicing'),
161
+					'title'   => _x('My Invoices', 'Page title', 'invoicing'),
162 162
 					'content' => '
163 163
 					<!-- wp:shortcode -->
164 164
 					[wpinv_history]
@@ -169,8 +169,8 @@  discard block
 block discarded – undo
169 169
 
170 170
 				// Success page content.
171 171
 				'success_page'              => array(
172
-					'name'    => _x( 'gp-receipt', 'Page slug', 'invoicing' ),
173
-					'title'   => _x( 'Payment Confirmation', 'Page title', 'invoicing' ),
172
+					'name'    => _x('gp-receipt', 'Page slug', 'invoicing'),
173
+					'title'   => _x('Payment Confirmation', 'Page title', 'invoicing'),
174 174
 					'content' => '
175 175
 					<!-- wp:shortcode -->
176 176
 					[wpinv_receipt]
@@ -181,16 +181,16 @@  discard block
 block discarded – undo
181 181
 
182 182
 				// Failure page content.
183 183
 				'failure_page'              => array(
184
-					'name'    => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ),
185
-					'title'   => _x( 'Transaction Failed', 'Page title', 'invoicing' ),
186
-					'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ),
184
+					'name'    => _x('gp-transaction-failed', 'Page slug', 'invoicing'),
185
+					'title'   => _x('Transaction Failed', 'Page title', 'invoicing'),
186
+					'content' => __('Your transaction failed, please try again or contact site support.', 'invoicing'),
187 187
 					'parent'  => 'gp-checkout',
188 188
 				),
189 189
 
190 190
 				// Subscriptions history page.
191 191
 				'invoice_subscription_page' => array(
192
-					'name'    => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ),
193
-					'title'   => _x( 'My Subscriptions', 'Page title', 'invoicing' ),
192
+					'name'    => _x('gp-subscriptions', 'Page slug', 'invoicing'),
193
+					'title'   => _x('My Subscriptions', 'Page title', 'invoicing'),
194 194
 					'content' => '
195 195
 					<!-- wp:shortcode -->
196 196
 					[wpinv_subscriptions]
@@ -210,8 +210,8 @@  discard block
 block discarded – undo
210 210
 	 */
211 211
 	public function create_pages() {
212 212
 
213
-		foreach ( self::get_pages() as $key => $page ) {
214
-			wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] );
213
+		foreach (self::get_pages() as $key => $page) {
214
+			wpinv_create_page(esc_sql($page['name']), $key, $page['title'], $page['content'], $page['parent']);
215 215
 		}
216 216
 
217 217
 	}
@@ -225,32 +225,32 @@  discard block
 block discarded – undo
225 225
 
226 226
 		$invoices_table      = $wpdb->prefix . 'getpaid_invoices';
227 227
 		$invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items';
228
-		$migrated            = $wpdb->get_col( "SELECT post_id FROM $invoices_table" );
228
+		$migrated            = $wpdb->get_col("SELECT post_id FROM $invoices_table");
229 229
 		$invoices            = array_unique(
230 230
 			get_posts(
231 231
 				array(
232
-					'post_type'      => array( 'wpi_invoice', 'wpi_quote' ),
232
+					'post_type'      => array('wpi_invoice', 'wpi_quote'),
233 233
 					'posts_per_page' => -1,
234 234
 					'fields'         => 'ids',
235
-					'post_status'    => array_keys( get_post_stati() ),
235
+					'post_status'    => array_keys(get_post_stati()),
236 236
 					'exclude'        => (array) $migrated,
237 237
 				)
238 238
 			)
239 239
 		);
240 240
 
241 241
 		// Abort if we do not have any invoices.
242
-		if ( empty( $invoices ) ) {
242
+		if (empty($invoices)) {
243 243
 			return;
244 244
 		}
245 245
 
246 246
 		require_once WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php';
247 247
 
248 248
 		$invoice_rows = array();
249
-		foreach ( $invoices as $invoice ) {
249
+		foreach ($invoices as $invoice) {
250 250
 
251
-			$invoice = new WPInv_Legacy_Invoice( $invoice );
251
+			$invoice = new WPInv_Legacy_Invoice($invoice);
252 252
 
253
-			if ( empty( $invoice->ID ) ) {
253
+			if (empty($invoice->ID)) {
254 254
 				return;
255 255
 			}
256 256
 
@@ -258,7 +258,7 @@  discard block
 block discarded – undo
258 258
 				'post_id'            => $invoice->ID,
259 259
 				'number'             => $invoice->get_number(),
260 260
 				'key'                => $invoice->get_key(),
261
-				'type'               => str_replace( 'wpi_', '', $invoice->post_type ),
261
+				'type'               => str_replace('wpi_', '', $invoice->post_type),
262 262
 				'mode'               => $invoice->mode,
263 263
 				'user_ip'            => $invoice->get_ip(),
264 264
 				'first_name'         => $invoice->get_first_name(),
@@ -287,27 +287,27 @@  discard block
 block discarded – undo
287 287
 				'custom_meta'        => $invoice->payment_meta,
288 288
 			);
289 289
 
290
-			foreach ( $fields as $key => $val ) {
291
-				if ( is_null( $val ) ) {
290
+			foreach ($fields as $key => $val) {
291
+				if (is_null($val)) {
292 292
 					$val = '';
293 293
 				}
294
-				$val = maybe_serialize( $val );
295
-				$fields[ $key ] = $wpdb->prepare( '%s', $val );
294
+				$val = maybe_serialize($val);
295
+				$fields[$key] = $wpdb->prepare('%s', $val);
296 296
 			}
297 297
 
298
-			$fields = implode( ', ', $fields );
298
+			$fields = implode(', ', $fields);
299 299
 			$invoice_rows[] = "($fields)";
300 300
 
301 301
 			$item_rows    = array();
302 302
 			$item_columns = array();
303
-			foreach ( $invoice->get_cart_details() as $details ) {
303
+			foreach ($invoice->get_cart_details() as $details) {
304 304
 				$fields = array(
305 305
 					'post_id'          => $invoice->ID,
306 306
 					'item_id'          => $details['id'],
307 307
 					'item_name'        => $details['name'],
308
-					'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'],
308
+					'item_description' => empty($details['meta']['description']) ? '' : $details['meta']['description'],
309 309
 					'vat_rate'         => $details['vat_rate'],
310
-					'vat_class'        => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'],
310
+					'vat_class'        => empty($details['vat_class']) ? '_standard' : $details['vat_class'],
311 311
 					'tax'              => $details['tax'],
312 312
 					'item_price'       => $details['item_price'],
313 313
 					'custom_price'     => $details['custom_price'],
@@ -319,31 +319,31 @@  discard block
 block discarded – undo
319 319
 					'fees'             => $details['fees'],
320 320
 				);
321 321
 
322
-				$item_columns = array_keys( $fields );
322
+				$item_columns = array_keys($fields);
323 323
 
324
-				foreach ( $fields as $key => $val ) {
325
-					if ( is_null( $val ) ) {
324
+				foreach ($fields as $key => $val) {
325
+					if (is_null($val)) {
326 326
 						$val = '';
327 327
 					}
328
-					$val = maybe_serialize( $val );
329
-					$fields[ $key ] = $wpdb->prepare( '%s', $val );
328
+					$val = maybe_serialize($val);
329
+					$fields[$key] = $wpdb->prepare('%s', $val);
330 330
 				}
331 331
 
332
-				$fields = implode( ', ', $fields );
332
+				$fields = implode(', ', $fields);
333 333
 				$item_rows[] = "($fields)";
334 334
 			}
335 335
 
336
-			$item_rows    = implode( ', ', $item_rows );
337
-			$item_columns = implode( ', ', $item_columns );
338
-			$wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" );
336
+			$item_rows    = implode(', ', $item_rows);
337
+			$item_columns = implode(', ', $item_columns);
338
+			$wpdb->query("INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows");
339 339
 		}
340 340
 
341
-		if ( empty( $invoice_rows ) ) {
341
+		if (empty($invoice_rows)) {
342 342
 			return;
343 343
 		}
344 344
 
345
-		$invoice_rows = implode( ', ', $invoice_rows );
346
-		$wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" );
345
+		$invoice_rows = implode(', ', $invoice_rows);
346
+		$wpdb->query("INSERT INTO $invoices_table VALUES $invoice_rows");
347 347
 
348 348
 	}
349 349
 
@@ -355,32 +355,32 @@  discard block
 block discarded – undo
355 355
 		global $wpdb;
356 356
 
357 357
 		// Fetch post_id from $wpdb->prefix . 'getpaid_invoices' where customer_id = 0 or null.
358
-		$invoice_ids = $wpdb->get_col( "SELECT post_id FROM {$wpdb->prefix}getpaid_invoices WHERE customer_id = 0 OR customer_id IS NULL" );
358
+		$invoice_ids = $wpdb->get_col("SELECT post_id FROM {$wpdb->prefix}getpaid_invoices WHERE customer_id = 0 OR customer_id IS NULL");
359 359
 
360
-		foreach ( $invoice_ids as $invoice_id ) {
361
-			$invoice = wpinv_get_invoice( $invoice_id );
360
+		foreach ($invoice_ids as $invoice_id) {
361
+			$invoice = wpinv_get_invoice($invoice_id);
362 362
 
363
-			if ( empty( $invoice ) ) {
363
+			if (empty($invoice)) {
364 364
 				continue;
365 365
 			}
366 366
 
367 367
 			// Fetch customer from the user ID.
368 368
 			$user_id = $invoice->get_user_id();
369 369
 
370
-			if ( empty( $user_id ) ) {
370
+			if (empty($user_id)) {
371 371
 				continue;
372 372
 			}
373 373
 
374
-			$customer = getpaid_get_customer_by_user_id( $user_id );
374
+			$customer = getpaid_get_customer_by_user_id($user_id);
375 375
 
376 376
 			// Create if not exists.
377
-			if ( empty( $customer ) ) {
378
-				$customer = new GetPaid_Customer( 0 );
379
-				$customer->clone_user( $user_id );
377
+			if (empty($customer)) {
378
+				$customer = new GetPaid_Customer(0);
379
+				$customer->clone_user($user_id);
380 380
 				$customer->save();
381 381
 			}
382 382
 
383
-			$invoice->set_customer_id( $customer->get_id() );
383
+			$invoice->set_customer_id($customer->get_id());
384 384
 			$invoice->save();
385 385
 		}
386 386
 
@@ -393,12 +393,12 @@  discard block
 block discarded – undo
393 393
 	public static function rename_gateways_label() {
394 394
 		global $wpdb;
395 395
 
396
-		foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) {
396
+		foreach (array_keys(wpinv_get_payment_gateways()) as $gateway) {
397 397
 
398 398
 			$wpdb->update(
399 399
 				$wpdb->prefix . 'getpaid_invoices',
400
-				array( 'gateway' => $gateway ),
401
-				array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ),
400
+				array('gateway' => $gateway),
401
+				array('gateway' => wpinv_get_gateway_admin_label($gateway)),
402 402
 				'%s',
403 403
 				'%s'
404 404
 			);
@@ -413,7 +413,7 @@  discard block
 block discarded – undo
413 413
 	public static function get_db_schema() {
414 414
 		global $wpdb;
415 415
 
416
-		if ( ! empty( self::$schema ) ) {
416
+		if (!empty(self::$schema)) {
417 417
 			return self::$schema;
418 418
 		}
419 419
 
@@ -520,29 +520,29 @@  discard block
 block discarded – undo
520 520
 			";
521 521
 
522 522
 		// Add address fields.
523
-		foreach ( array_keys( getpaid_user_address_fields( true ) ) as $field ) {
523
+		foreach (array_keys(getpaid_user_address_fields(true)) as $field) {
524 524
 			// Skip id, user_id and email.
525
-			if ( in_array( $field, array( 'id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid' ), true ) ) {
525
+			if (in_array($field, array('id', 'user_id', 'email', 'purchase_value', 'purchase_count', 'date_created', 'date_modified', 'uuid'), true)) {
526 526
 				continue;
527 527
 			}
528 528
 
529
-			$field   = sanitize_key( $field );
529
+			$field   = sanitize_key($field);
530 530
 			$length  = 100;
531 531
 			$default = '';
532 532
 
533 533
 			// Country.
534
-			if ( 'country' === $field ) {
534
+			if ('country' === $field) {
535 535
 				$length  = 2;
536 536
 				$default = wpinv_get_default_country();
537 537
 			}
538 538
 
539 539
 			// State.
540
-			if ( 'state' === $field ) {
540
+			if ('state' === $field) {
541 541
 				$default = wpinv_get_default_state();
542 542
 			}
543 543
 
544 544
 			// Phone, zip.
545
-			if ( in_array( $field, array( 'phone', 'zip' ), true ) ) {
545
+			if (in_array($field, array('phone', 'zip'), true)) {
546 546
 				$length = 20;
547 547
 			}
548 548
 
@@ -570,10 +570,10 @@  discard block
 block discarded – undo
570 570
 		  ) $charset_collate;";
571 571
 
572 572
 		// Filter.
573
-		$schema = apply_filters( 'getpaid_db_schema', $schema );
573
+		$schema = apply_filters('getpaid_db_schema', $schema);
574 574
 
575
-		self::$schema         = implode( "\n", array_values( $schema ) );
576
-		self::$schema_version = md5( sanitize_key( self::$schema ) );
575
+		self::$schema         = implode("\n", array_values($schema));
576
+		self::$schema_version = md5(sanitize_key(self::$schema));
577 577
 
578 578
 		return self::$schema;
579 579
 	}
@@ -583,7 +583,7 @@  discard block
 block discarded – undo
583 583
 	 *
584 584
 	 */
585 585
 	public static function get_db_schema_version() {
586
-		if ( ! empty( self::$schema_version ) ) {
586
+		if (!empty(self::$schema_version)) {
587 587
 			return self::$schema_version;
588 588
 		}
589 589
 
@@ -598,7 +598,7 @@  discard block
 block discarded – undo
598 598
 	 * @return bool
599 599
 	 */
600 600
 	public static function is_db_schema_up_to_date() {
601
-		return self::get_db_schema_version() === get_option( 'getpaid_db_schema' );
601
+		return self::get_db_schema_version() === get_option('getpaid_db_schema');
602 602
 	}
603 603
 
604 604
 	/**
@@ -616,27 +616,27 @@  discard block
 block discarded – undo
616 616
 		// If invoices table exists, rename key to invoice_key.
617 617
 		$invoices_table = "{$wpdb->prefix}getpaid_invoices";
618 618
 
619
-		if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'" ) === $invoices_table ) {
620
-			$fields = $wpdb->get_results( "SHOW COLUMNS FROM {$wpdb->prefix}getpaid_invoices" );
619
+		if ($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->prefix}getpaid_invoices'") === $invoices_table) {
620
+			$fields = $wpdb->get_results("SHOW COLUMNS FROM {$wpdb->prefix}getpaid_invoices");
621 621
 
622
-			foreach ( $fields as $field ) {
623
-				if ( 'key' === $field->Field ) {
624
-					$wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoices CHANGE `key` `invoice_key` VARCHAR(100)" );
622
+			foreach ($fields as $field) {
623
+				if ('key' === $field->Field) {
624
+					$wpdb->query("ALTER TABLE {$wpdb->prefix}getpaid_invoices CHANGE `key` `invoice_key` VARCHAR(100)");
625 625
 					break;
626 626
 				}
627 627
 			}
628 628
 		}
629 629
 
630
-		dbDelta( $schema );
630
+		dbDelta($schema);
631 631
 		wp_cache_flush();
632
-		update_option( 'getpaid_db_schema', self::get_db_schema_version() );
632
+		update_option('getpaid_db_schema', self::get_db_schema_version());
633 633
 	}
634 634
 
635 635
 	/**
636 636
 	 * Creates tables if schema is not up to date.
637 637
 	 */
638 638
 	public static function maybe_create_db_tables() {
639
-		if ( ! self::is_db_schema_up_to_date() ) {
639
+		if (!self::is_db_schema_up_to_date()) {
640 640
 			self::create_db_tables();
641 641
 		}
642 642
 	}
Please login to merge, or discard this patch.
includes/class-getpaid-subscription-notification-emails.php 2 patches
Indentation   +283 added lines, -283 removed lines patch added patch discarded remove patch
@@ -13,325 +13,325 @@
 block discarded – undo
13 13
 class GetPaid_Subscription_Notification_Emails {
14 14
 
15 15
     /**
16
-	 * The array of subscription email actions.
17
-	 *
18
-	 * @param array
19
-	 */
20
-	public $subscription_actions;
16
+     * The array of subscription email actions.
17
+     *
18
+     * @param array
19
+     */
20
+    public $subscription_actions;
21 21
 
22 22
     /**
23
-	 * Class constructor
23
+     * Class constructor
24 24
      *
25
-	 */
26
-	public function __construct() {
27
-
28
-		$this->subscription_actions = apply_filters(
29
-			'getpaid_notification_email_subscription_triggers',
30
-			array(
31
-				'getpaid_subscription_active'    => 'subscription_active',
32
-				'getpaid_subscription_trialling' => 'subscription_trial',
33
-				'getpaid_subscription_cancelled' => 'subscription_cancelled',
34
-				'getpaid_subscription_expired'   => 'subscription_expired',
35
-				'getpaid_subscription_completed' => 'subscription_complete',
36
-				'getpaid_daily_maintenance'      => 'renewal_reminder'
37
-			)
38
-		);
39
-
40
-		$this->init_hooks();
25
+     */
26
+    public function __construct() {
27
+
28
+        $this->subscription_actions = apply_filters(
29
+            'getpaid_notification_email_subscription_triggers',
30
+            array(
31
+                'getpaid_subscription_active'    => 'subscription_active',
32
+                'getpaid_subscription_trialling' => 'subscription_trial',
33
+                'getpaid_subscription_cancelled' => 'subscription_cancelled',
34
+                'getpaid_subscription_expired'   => 'subscription_expired',
35
+                'getpaid_subscription_completed' => 'subscription_complete',
36
+                'getpaid_daily_maintenance'      => 'renewal_reminder'
37
+            )
38
+        );
39
+
40
+        $this->init_hooks();
41 41
 
42 42
     }
43 43
 
44 44
     /**
45
-	 * Registers email hooks.
46
-	 */
47
-	public function init_hooks() {
48
-
49
-		add_filter( 'getpaid_get_email_merge_tags', array( $this, 'subscription_merge_tags' ), 10, 2 );
50
-		foreach ( $this->subscription_actions as $hook => $email_type ) {
51
-
52
-			$email = new GetPaid_Notification_Email( $email_type );
53
-
54
-			if ( ! $email->is_active() ) {
55
-				continue;
56
-			}
57
-
58
-			if ( method_exists( $this, $email_type ) ) {
59
-				add_action( $hook, array( $this, $email_type ), 100, 2 );
60
-				continue;
61
-			}
62
-
63
-			do_action( 'getpaid_subscription_notification_email_register_hook', $email_type, $hook );
64
-
65
-		}
66
-
67
-	}
68
-
69
-	/**
70
-	 * Filters subscription merge tags.
71
-	 *
72
-	 * @param array $merge_tags
73
-	 * @param mixed|WPInv_Invoice|WPInv_Subscription $object
74
-	 */
75
-	public function subscription_merge_tags( $merge_tags, $object ) {
76
-
77
-		if ( is_a( $object, 'WPInv_Subscription' ) ) {
78
-			$merge_tags = array_merge(
79
-				$merge_tags,
80
-				$this->get_subscription_merge_tags( $object )
81
-			);
82
-		}
83
-
84
-		return $merge_tags;
85
-
86
-	}
87
-
88
-	/**
89
-	 * Generates subscription merge tags.
90
-	 *
91
-	 * @param WPInv_Subscription $subscription
92
-	 * @return array
93
-	 */
94
-	public function get_subscription_merge_tags( $subscription ) {
95
-
96
-		// Abort if it does not exist.
97
-		if ( ! $subscription->get_id() ) {
98
-			return array();
99
-		}
100
-
101
-		$invoice    = $subscription->get_parent_invoice();
102
-		return array(
103
-			'{subscription_renewal_date}'     => getpaid_format_date_value( $subscription->get_next_renewal_date(), __( 'Never', 'invoicing' ) ),
104
-			'{subscription_created}'          => getpaid_format_date_value( $subscription->get_date_created() ),
105
-			'{subscription_status}'           => sanitize_text_field( $subscription->get_status_label() ),
106
-			'{subscription_profile_id}'       => sanitize_text_field( $subscription->get_profile_id() ),
107
-			'{subscription_id}'               => absint( $subscription->get_id() ),
108
-			'{subscription_recurring_amount}' => sanitize_text_field( wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ) ),
109
-			'{subscription_initial_amount}'   => sanitize_text_field( wpinv_price( $subscription->get_initial_amount(), $invoice->get_currency() ) ),
110
-			'{subscription_recurring_period}' => getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' ),
111
-			'{subscription_bill_times}'       => $subscription->get_bill_times(),
112
-			'{subscription_url}'              => esc_url( $subscription->get_view_url() ),
113
-		);
114
-
115
-	}
116
-
117
-	/**
118
-	 * Checks if we should send a notification for a subscription.
119
-	 *
120
-	 * @param WPInv_Invoice $invoice
121
-	 * @return bool
122
-	 */
123
-	public function should_send_notification( $invoice ) {
124
-		return 0 != $invoice->get_id();
125
-	}
126
-
127
-	/**
128
-	 * Returns notification recipients.
129
-	 *
130
-	 * @param WPInv_Invoice $invoice
131
-	 * @return array
132
-	 */
133
-	public function get_recipients( $invoice ) {
134
-		$recipients = array( $invoice->get_email() );
135
-
136
-		$cc = $invoice->get_email_cc();
137
-
138
-		if ( ! empty( $cc ) ) {
139
-			$cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
140
-			$recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
141
-		}
142
-
143
-		return $recipients;
144
-	}
145
-
146
-	/**
147
-	 * Helper function to send an email.
148
-	 *
149
-	 * @param WPInv_Subscription $subscription
150
-	 * @param GetPaid_Notification_Email $email
151
-	 * @param string $type
152
-	 * @param array $extra_args Extra template args.
153
-	 */
154
-	public function send_email( $subscription, $email, $type, $extra_args = array() ) {
155
-
156
-		if ( empty( $subscription ) ) {
157
-			return;
158
-		}
159
-
160
-		if ( is_array( $subscription ) ) {
161
-			$subscription = current( $subscription );
162
-		}
163
-
164
-		if ( ! $subscription instanceof WPInv_Subscription ) {
165
-			return;
166
-		}
167
-
168
-		// Abort in case the parent invoice does not exist.
169
-		$invoice = $subscription->get_parent_invoice();
170
-		if ( ! $this->should_send_notification( $invoice ) ) {
171
-			return;
172
-		}
173
-
174
-		if ( apply_filters( 'getpaid_skip_subscription_email', false, $type, $subscription ) ) {
175
-			return;
176
-		}
177
-
178
-		do_action( 'getpaid_before_send_subscription_notification', $type, $subscription, $email );
179
-
180
-		$recipients  = $this->get_recipients( $invoice );
181
-		$mailer      = new GetPaid_Notification_Email_Sender();
182
-		$merge_tags  = $email->get_merge_tags();
183
-		$content     = $email->get_content( $merge_tags, $extra_args );
184
-		$subject     = $email->add_merge_tags( $email->get_subject(), $merge_tags );
185
-		$attachments = $email->get_attachments();
186
-
187
-		$result = $mailer->send(
188
-			apply_filters( 'getpaid_subscription_email_recipients', wpinv_parse_list( $recipients ), $email ),
189
-			$subject,
190
-			$content,
191
-			$attachments
192
-		);
193
-
194
-		// Maybe send a copy to the admin.
195
-		if ( $email->include_admin_bcc() ) {
196
-			$mailer->send(
197
-				wpinv_get_admin_email(),
198
-				$subject . __( ' - ADMIN BCC COPY', 'invoicing' ),
199
-				$content,
200
-				$attachments
201
-			);
202
-		}
203
-
204
-		if ( $result ) {
205
-			$invoice->add_system_note(
206
-				sprintf(
207
-					__( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),
208
-					sanitize_key( $type ),
209
-					$email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
210
-				)
211
-			);
212
-		} else {
213
-			$invoice->add_system_note(
214
-				sprintf(
215
-					__( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),
216
-					sanitize_key( $type ),
217
-					$email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
218
-				)
219
-			);
220
-		}
221
-
222
-		do_action( 'getpaid_after_send_subscription_notification', $type, $subscription, $email );
223
-
224
-	}
225
-
226
-	/**
227
-	 * Sends a subscription active.
228
-	 *
229
-	 * @since 2.8.4
230
-	 *
231
-	 * @param WPInv_Subscription $subscription
232
-	 */
233
-	public function subscription_active( $subscription ) {
234
-		$email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
235
-
236
-		$this->send_email( $subscription, $email, __FUNCTION__ );
237
-	}
45
+     * Registers email hooks.
46
+     */
47
+    public function init_hooks() {
48
+
49
+        add_filter( 'getpaid_get_email_merge_tags', array( $this, 'subscription_merge_tags' ), 10, 2 );
50
+        foreach ( $this->subscription_actions as $hook => $email_type ) {
51
+
52
+            $email = new GetPaid_Notification_Email( $email_type );
53
+
54
+            if ( ! $email->is_active() ) {
55
+                continue;
56
+            }
57
+
58
+            if ( method_exists( $this, $email_type ) ) {
59
+                add_action( $hook, array( $this, $email_type ), 100, 2 );
60
+                continue;
61
+            }
62
+
63
+            do_action( 'getpaid_subscription_notification_email_register_hook', $email_type, $hook );
64
+
65
+        }
66
+
67
+    }
238 68
 
239 69
     /**
240
-	 * Sends a new trial notification.
241
-	 *
242
-	 * @param WPInv_Subscription $subscription
243
-	 */
244
-	public function subscription_trial( $subscription ) {
70
+     * Filters subscription merge tags.
71
+     *
72
+     * @param array $merge_tags
73
+     * @param mixed|WPInv_Invoice|WPInv_Subscription $object
74
+     */
75
+    public function subscription_merge_tags( $merge_tags, $object ) {
245 76
 
246
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
247
-		$this->send_email( $subscription, $email, __FUNCTION__ );
77
+        if ( is_a( $object, 'WPInv_Subscription' ) ) {
78
+            $merge_tags = array_merge(
79
+                $merge_tags,
80
+                $this->get_subscription_merge_tags( $object )
81
+            );
82
+        }
248 83
 
249
-	}
84
+        return $merge_tags;
250 85
 
251
-	/**
252
-	 * Sends a cancelled subscription notification.
253
-	 *
254
-	 * @param WPInv_Subscription $subscription
255
-	 */
256
-	public function subscription_cancelled( $subscription ) {
86
+    }
257 87
 
258
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
259
-		$this->send_email( $subscription, $email, __FUNCTION__ );
88
+    /**
89
+     * Generates subscription merge tags.
90
+     *
91
+     * @param WPInv_Subscription $subscription
92
+     * @return array
93
+     */
94
+    public function get_subscription_merge_tags( $subscription ) {
95
+
96
+        // Abort if it does not exist.
97
+        if ( ! $subscription->get_id() ) {
98
+            return array();
99
+        }
100
+
101
+        $invoice    = $subscription->get_parent_invoice();
102
+        return array(
103
+            '{subscription_renewal_date}'     => getpaid_format_date_value( $subscription->get_next_renewal_date(), __( 'Never', 'invoicing' ) ),
104
+            '{subscription_created}'          => getpaid_format_date_value( $subscription->get_date_created() ),
105
+            '{subscription_status}'           => sanitize_text_field( $subscription->get_status_label() ),
106
+            '{subscription_profile_id}'       => sanitize_text_field( $subscription->get_profile_id() ),
107
+            '{subscription_id}'               => absint( $subscription->get_id() ),
108
+            '{subscription_recurring_amount}' => sanitize_text_field( wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ) ),
109
+            '{subscription_initial_amount}'   => sanitize_text_field( wpinv_price( $subscription->get_initial_amount(), $invoice->get_currency() ) ),
110
+            '{subscription_recurring_period}' => getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' ),
111
+            '{subscription_bill_times}'       => $subscription->get_bill_times(),
112
+            '{subscription_url}'              => esc_url( $subscription->get_view_url() ),
113
+        );
260 114
 
261
-	}
115
+    }
262 116
 
263
-	/**
264
-	 * Sends a subscription expired notification.
265
-	 *
266
-	 * @param WPInv_Subscription $subscription
267
-	 */
268
-	public function subscription_expired( $subscription ) {
117
+    /**
118
+     * Checks if we should send a notification for a subscription.
119
+     *
120
+     * @param WPInv_Invoice $invoice
121
+     * @return bool
122
+     */
123
+    public function should_send_notification( $invoice ) {
124
+        return 0 != $invoice->get_id();
125
+    }
269 126
 
270
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
271
-		$this->send_email( $subscription, $email, __FUNCTION__ );
127
+    /**
128
+     * Returns notification recipients.
129
+     *
130
+     * @param WPInv_Invoice $invoice
131
+     * @return array
132
+     */
133
+    public function get_recipients( $invoice ) {
134
+        $recipients = array( $invoice->get_email() );
272 135
 
273
-	}
136
+        $cc = $invoice->get_email_cc();
274 137
 
275
-	/**
276
-	 * Sends a completed subscription notification.
277
-	 *
278
-	 * @param WPInv_Subscription $subscription
279
-	 */
280
-	public function subscription_complete( $subscription ) {
138
+        if ( ! empty( $cc ) ) {
139
+            $cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
140
+            $recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
141
+        }
281 142
 
282
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
283
-		$this->send_email( $subscription, $email, __FUNCTION__ );
143
+        return $recipients;
144
+    }
284 145
 
285
-	}
146
+    /**
147
+     * Helper function to send an email.
148
+     *
149
+     * @param WPInv_Subscription $subscription
150
+     * @param GetPaid_Notification_Email $email
151
+     * @param string $type
152
+     * @param array $extra_args Extra template args.
153
+     */
154
+    public function send_email( $subscription, $email, $type, $extra_args = array() ) {
155
+
156
+        if ( empty( $subscription ) ) {
157
+            return;
158
+        }
159
+
160
+        if ( is_array( $subscription ) ) {
161
+            $subscription = current( $subscription );
162
+        }
163
+
164
+        if ( ! $subscription instanceof WPInv_Subscription ) {
165
+            return;
166
+        }
167
+
168
+        // Abort in case the parent invoice does not exist.
169
+        $invoice = $subscription->get_parent_invoice();
170
+        if ( ! $this->should_send_notification( $invoice ) ) {
171
+            return;
172
+        }
173
+
174
+        if ( apply_filters( 'getpaid_skip_subscription_email', false, $type, $subscription ) ) {
175
+            return;
176
+        }
177
+
178
+        do_action( 'getpaid_before_send_subscription_notification', $type, $subscription, $email );
179
+
180
+        $recipients  = $this->get_recipients( $invoice );
181
+        $mailer      = new GetPaid_Notification_Email_Sender();
182
+        $merge_tags  = $email->get_merge_tags();
183
+        $content     = $email->get_content( $merge_tags, $extra_args );
184
+        $subject     = $email->add_merge_tags( $email->get_subject(), $merge_tags );
185
+        $attachments = $email->get_attachments();
186
+
187
+        $result = $mailer->send(
188
+            apply_filters( 'getpaid_subscription_email_recipients', wpinv_parse_list( $recipients ), $email ),
189
+            $subject,
190
+            $content,
191
+            $attachments
192
+        );
193
+
194
+        // Maybe send a copy to the admin.
195
+        if ( $email->include_admin_bcc() ) {
196
+            $mailer->send(
197
+                wpinv_get_admin_email(),
198
+                $subject . __( ' - ADMIN BCC COPY', 'invoicing' ),
199
+                $content,
200
+                $attachments
201
+            );
202
+        }
203
+
204
+        if ( $result ) {
205
+            $invoice->add_system_note(
206
+                sprintf(
207
+                    __( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),
208
+                    sanitize_key( $type ),
209
+                    $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
210
+                )
211
+            );
212
+        } else {
213
+            $invoice->add_system_note(
214
+                sprintf(
215
+                    __( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),
216
+                    sanitize_key( $type ),
217
+                    $email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
218
+                )
219
+            );
220
+        }
221
+
222
+        do_action( 'getpaid_after_send_subscription_notification', $type, $subscription, $email );
286 223
 
287
-	/**
288
-	 * Sends a subscription renewal reminder notification.
289
-	 *
290
-	 */
291
-	public function renewal_reminder() {
224
+    }
292 225
 
293
-		$email = new GetPaid_Notification_Email( __FUNCTION__ );
226
+    /**
227
+     * Sends a subscription active.
228
+     *
229
+     * @since 2.8.4
230
+     *
231
+     * @param WPInv_Subscription $subscription
232
+     */
233
+    public function subscription_active( $subscription ) {
234
+        $email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
294 235
 
295
-		// Fetch reminder days.
296
-		$reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
236
+        $this->send_email( $subscription, $email, __FUNCTION__ );
237
+    }
297 238
 
298
-		// Abort if non is set.
299
-		if ( empty( $reminder_days ) ) {
300
-			return;
301
-		}
239
+    /**
240
+     * Sends a new trial notification.
241
+     *
242
+     * @param WPInv_Subscription $subscription
243
+     */
244
+    public function subscription_trial( $subscription ) {
302 245
 
303
-		// Fetch matching subscriptions.
246
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
247
+        $this->send_email( $subscription, $email, __FUNCTION__ );
248
+
249
+    }
250
+
251
+    /**
252
+     * Sends a cancelled subscription notification.
253
+     *
254
+     * @param WPInv_Subscription $subscription
255
+     */
256
+    public function subscription_cancelled( $subscription ) {
257
+
258
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
259
+        $this->send_email( $subscription, $email, __FUNCTION__ );
260
+
261
+    }
262
+
263
+    /**
264
+     * Sends a subscription expired notification.
265
+     *
266
+     * @param WPInv_Subscription $subscription
267
+     */
268
+    public function subscription_expired( $subscription ) {
269
+
270
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
271
+        $this->send_email( $subscription, $email, __FUNCTION__ );
272
+
273
+    }
274
+
275
+    /**
276
+     * Sends a completed subscription notification.
277
+     *
278
+     * @param WPInv_Subscription $subscription
279
+     */
280
+    public function subscription_complete( $subscription ) {
281
+
282
+        $email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
283
+        $this->send_email( $subscription, $email, __FUNCTION__ );
284
+
285
+    }
286
+
287
+    /**
288
+     * Sends a subscription renewal reminder notification.
289
+     *
290
+     */
291
+    public function renewal_reminder() {
292
+
293
+        $email = new GetPaid_Notification_Email( __FUNCTION__ );
294
+
295
+        // Fetch reminder days.
296
+        $reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
297
+
298
+        // Abort if non is set.
299
+        if ( empty( $reminder_days ) ) {
300
+            return;
301
+        }
302
+
303
+        // Fetch matching subscriptions.
304 304
         $args  = array(
305 305
             'number'             => -1,
306
-			'count_total'        => false,
307
-			'status'             => 'trialling active',
306
+            'count_total'        => false,
307
+            'status'             => 'trialling active',
308 308
             'date_expires_query' => array(
309
-				'relation' => 'OR',
309
+                'relation' => 'OR',
310 310
             ),
311
-		);
311
+        );
312 312
 
313
-		foreach ( $reminder_days as $days ) {
314
-			$date = date_parse( date( 'Y-m-d', strtotime( "+$days days", current_time( 'timestamp' ) ) ) );
313
+        foreach ( $reminder_days as $days ) {
314
+            $date = date_parse( date( 'Y-m-d', strtotime( "+$days days", current_time( 'timestamp' ) ) ) );
315 315
 
316
-			$args['date_expires_query'][] = array(
317
-				'year'  => $date['year'],
318
-				'month' => $date['month'],
319
-				'day'   => $date['day'],
320
-			);
316
+            $args['date_expires_query'][] = array(
317
+                'year'  => $date['year'],
318
+                'month' => $date['month'],
319
+                'day'   => $date['day'],
320
+            );
321 321
 
322
-		}
322
+        }
323 323
 
324
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
324
+        $subscriptions = new GetPaid_Subscriptions_Query( $args );
325 325
 
326 326
         foreach ( $subscriptions->get_results() as $subscription ) {
327 327
 
328
-			// Skip packages.
329
-			if ( apply_filters( 'getpaid_send_subscription_renewal_reminder_email', true ) ) {
330
-				$email->object = $subscription;
331
-            	$this->send_email( $subscription, $email, __FUNCTION__ );
332
-			}
333
-		}
328
+            // Skip packages.
329
+            if ( apply_filters( 'getpaid_send_subscription_renewal_reminder_email', true ) ) {
330
+                $email->object = $subscription;
331
+                $this->send_email( $subscription, $email, __FUNCTION__ );
332
+            }
333
+        }
334 334
 
335
-	}
335
+    }
336 336
 
337 337
 }
Please login to merge, or discard this patch.
Spacing   +76 added lines, -76 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * This class handles subscription notificaiton emails.
@@ -46,21 +46,21 @@  discard block
 block discarded – undo
46 46
 	 */
47 47
 	public function init_hooks() {
48 48
 
49
-		add_filter( 'getpaid_get_email_merge_tags', array( $this, 'subscription_merge_tags' ), 10, 2 );
50
-		foreach ( $this->subscription_actions as $hook => $email_type ) {
49
+		add_filter('getpaid_get_email_merge_tags', array($this, 'subscription_merge_tags'), 10, 2);
50
+		foreach ($this->subscription_actions as $hook => $email_type) {
51 51
 
52
-			$email = new GetPaid_Notification_Email( $email_type );
52
+			$email = new GetPaid_Notification_Email($email_type);
53 53
 
54
-			if ( ! $email->is_active() ) {
54
+			if (!$email->is_active()) {
55 55
 				continue;
56 56
 			}
57 57
 
58
-			if ( method_exists( $this, $email_type ) ) {
59
-				add_action( $hook, array( $this, $email_type ), 100, 2 );
58
+			if (method_exists($this, $email_type)) {
59
+				add_action($hook, array($this, $email_type), 100, 2);
60 60
 				continue;
61 61
 			}
62 62
 
63
-			do_action( 'getpaid_subscription_notification_email_register_hook', $email_type, $hook );
63
+			do_action('getpaid_subscription_notification_email_register_hook', $email_type, $hook);
64 64
 
65 65
 		}
66 66
 
@@ -72,12 +72,12 @@  discard block
 block discarded – undo
72 72
 	 * @param array $merge_tags
73 73
 	 * @param mixed|WPInv_Invoice|WPInv_Subscription $object
74 74
 	 */
75
-	public function subscription_merge_tags( $merge_tags, $object ) {
75
+	public function subscription_merge_tags($merge_tags, $object) {
76 76
 
77
-		if ( is_a( $object, 'WPInv_Subscription' ) ) {
77
+		if (is_a($object, 'WPInv_Subscription')) {
78 78
 			$merge_tags = array_merge(
79 79
 				$merge_tags,
80
-				$this->get_subscription_merge_tags( $object )
80
+				$this->get_subscription_merge_tags($object)
81 81
 			);
82 82
 		}
83 83
 
@@ -91,25 +91,25 @@  discard block
 block discarded – undo
91 91
 	 * @param WPInv_Subscription $subscription
92 92
 	 * @return array
93 93
 	 */
94
-	public function get_subscription_merge_tags( $subscription ) {
94
+	public function get_subscription_merge_tags($subscription) {
95 95
 
96 96
 		// Abort if it does not exist.
97
-		if ( ! $subscription->get_id() ) {
97
+		if (!$subscription->get_id()) {
98 98
 			return array();
99 99
 		}
100 100
 
101
-		$invoice    = $subscription->get_parent_invoice();
101
+		$invoice = $subscription->get_parent_invoice();
102 102
 		return array(
103
-			'{subscription_renewal_date}'     => getpaid_format_date_value( $subscription->get_next_renewal_date(), __( 'Never', 'invoicing' ) ),
104
-			'{subscription_created}'          => getpaid_format_date_value( $subscription->get_date_created() ),
105
-			'{subscription_status}'           => sanitize_text_field( $subscription->get_status_label() ),
106
-			'{subscription_profile_id}'       => sanitize_text_field( $subscription->get_profile_id() ),
107
-			'{subscription_id}'               => absint( $subscription->get_id() ),
108
-			'{subscription_recurring_amount}' => sanitize_text_field( wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ) ),
109
-			'{subscription_initial_amount}'   => sanitize_text_field( wpinv_price( $subscription->get_initial_amount(), $invoice->get_currency() ) ),
110
-			'{subscription_recurring_period}' => getpaid_get_subscription_period_label( $subscription->get_period(), $subscription->get_frequency(), '' ),
103
+			'{subscription_renewal_date}'     => getpaid_format_date_value($subscription->get_next_renewal_date(), __('Never', 'invoicing')),
104
+			'{subscription_created}'          => getpaid_format_date_value($subscription->get_date_created()),
105
+			'{subscription_status}'           => sanitize_text_field($subscription->get_status_label()),
106
+			'{subscription_profile_id}'       => sanitize_text_field($subscription->get_profile_id()),
107
+			'{subscription_id}'               => absint($subscription->get_id()),
108
+			'{subscription_recurring_amount}' => sanitize_text_field(wpinv_price($subscription->get_recurring_amount(), $invoice->get_currency())),
109
+			'{subscription_initial_amount}'   => sanitize_text_field(wpinv_price($subscription->get_initial_amount(), $invoice->get_currency())),
110
+			'{subscription_recurring_period}' => getpaid_get_subscription_period_label($subscription->get_period(), $subscription->get_frequency(), ''),
111 111
 			'{subscription_bill_times}'       => $subscription->get_bill_times(),
112
-			'{subscription_url}'              => esc_url( $subscription->get_view_url() ),
112
+			'{subscription_url}'              => esc_url($subscription->get_view_url()),
113 113
 		);
114 114
 
115 115
 	}
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
 	 * @param WPInv_Invoice $invoice
121 121
 	 * @return bool
122 122
 	 */
123
-	public function should_send_notification( $invoice ) {
123
+	public function should_send_notification($invoice) {
124 124
 		return 0 != $invoice->get_id();
125 125
 	}
126 126
 
@@ -130,14 +130,14 @@  discard block
 block discarded – undo
130 130
 	 * @param WPInv_Invoice $invoice
131 131
 	 * @return array
132 132
 	 */
133
-	public function get_recipients( $invoice ) {
134
-		$recipients = array( $invoice->get_email() );
133
+	public function get_recipients($invoice) {
134
+		$recipients = array($invoice->get_email());
135 135
 
136 136
 		$cc = $invoice->get_email_cc();
137 137
 
138
-		if ( ! empty( $cc ) ) {
139
-			$cc = array_map( 'sanitize_email', wpinv_parse_list( $cc ) );
140
-			$recipients = array_filter( array_unique( array_merge( $recipients, $cc ) ) );
138
+		if (!empty($cc)) {
139
+			$cc = array_map('sanitize_email', wpinv_parse_list($cc));
140
+			$recipients = array_filter(array_unique(array_merge($recipients, $cc)));
141 141
 		}
142 142
 
143 143
 		return $recipients;
@@ -151,75 +151,75 @@  discard block
 block discarded – undo
151 151
 	 * @param string $type
152 152
 	 * @param array $extra_args Extra template args.
153 153
 	 */
154
-	public function send_email( $subscription, $email, $type, $extra_args = array() ) {
154
+	public function send_email($subscription, $email, $type, $extra_args = array()) {
155 155
 
156
-		if ( empty( $subscription ) ) {
156
+		if (empty($subscription)) {
157 157
 			return;
158 158
 		}
159 159
 
160
-		if ( is_array( $subscription ) ) {
161
-			$subscription = current( $subscription );
160
+		if (is_array($subscription)) {
161
+			$subscription = current($subscription);
162 162
 		}
163 163
 
164
-		if ( ! $subscription instanceof WPInv_Subscription ) {
164
+		if (!$subscription instanceof WPInv_Subscription) {
165 165
 			return;
166 166
 		}
167 167
 
168 168
 		// Abort in case the parent invoice does not exist.
169 169
 		$invoice = $subscription->get_parent_invoice();
170
-		if ( ! $this->should_send_notification( $invoice ) ) {
170
+		if (!$this->should_send_notification($invoice)) {
171 171
 			return;
172 172
 		}
173 173
 
174
-		if ( apply_filters( 'getpaid_skip_subscription_email', false, $type, $subscription ) ) {
174
+		if (apply_filters('getpaid_skip_subscription_email', false, $type, $subscription)) {
175 175
 			return;
176 176
 		}
177 177
 
178
-		do_action( 'getpaid_before_send_subscription_notification', $type, $subscription, $email );
178
+		do_action('getpaid_before_send_subscription_notification', $type, $subscription, $email);
179 179
 
180
-		$recipients  = $this->get_recipients( $invoice );
180
+		$recipients  = $this->get_recipients($invoice);
181 181
 		$mailer      = new GetPaid_Notification_Email_Sender();
182 182
 		$merge_tags  = $email->get_merge_tags();
183
-		$content     = $email->get_content( $merge_tags, $extra_args );
184
-		$subject     = $email->add_merge_tags( $email->get_subject(), $merge_tags );
183
+		$content     = $email->get_content($merge_tags, $extra_args);
184
+		$subject     = $email->add_merge_tags($email->get_subject(), $merge_tags);
185 185
 		$attachments = $email->get_attachments();
186 186
 
187 187
 		$result = $mailer->send(
188
-			apply_filters( 'getpaid_subscription_email_recipients', wpinv_parse_list( $recipients ), $email ),
188
+			apply_filters('getpaid_subscription_email_recipients', wpinv_parse_list($recipients), $email),
189 189
 			$subject,
190 190
 			$content,
191 191
 			$attachments
192 192
 		);
193 193
 
194 194
 		// Maybe send a copy to the admin.
195
-		if ( $email->include_admin_bcc() ) {
195
+		if ($email->include_admin_bcc()) {
196 196
 			$mailer->send(
197 197
 				wpinv_get_admin_email(),
198
-				$subject . __( ' - ADMIN BCC COPY', 'invoicing' ),
198
+				$subject . __(' - ADMIN BCC COPY', 'invoicing'),
199 199
 				$content,
200 200
 				$attachments
201 201
 			);
202 202
 		}
203 203
 
204
-		if ( $result ) {
204
+		if ($result) {
205 205
 			$invoice->add_system_note(
206 206
 				sprintf(
207
-					__( 'Successfully sent %1$s notification email to %2$s.', 'invoicing' ),
208
-					sanitize_key( $type ),
209
-					$email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
207
+					__('Successfully sent %1$s notification email to %2$s.', 'invoicing'),
208
+					sanitize_key($type),
209
+					$email->is_admin_email() ? __('admin') : __('the customer')
210 210
 				)
211 211
 			);
212 212
 		} else {
213 213
 			$invoice->add_system_note(
214 214
 				sprintf(
215
-					__( 'Failed sending %1$s notification email to %2$s.', 'invoicing' ),
216
-					sanitize_key( $type ),
217
-					$email->is_admin_email() ? __( 'admin' ) : __( 'the customer' )
215
+					__('Failed sending %1$s notification email to %2$s.', 'invoicing'),
216
+					sanitize_key($type),
217
+					$email->is_admin_email() ? __('admin') : __('the customer')
218 218
 				)
219 219
 			);
220 220
 		}
221 221
 
222
-		do_action( 'getpaid_after_send_subscription_notification', $type, $subscription, $email );
222
+		do_action('getpaid_after_send_subscription_notification', $type, $subscription, $email);
223 223
 
224 224
 	}
225 225
 
@@ -230,10 +230,10 @@  discard block
 block discarded – undo
230 230
 	 *
231 231
 	 * @param WPInv_Subscription $subscription
232 232
 	 */
233
-	public function subscription_active( $subscription ) {
234
-		$email = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
233
+	public function subscription_active($subscription) {
234
+		$email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);
235 235
 
236
-		$this->send_email( $subscription, $email, __FUNCTION__ );
236
+		$this->send_email($subscription, $email, __FUNCTION__);
237 237
 	}
238 238
 
239 239
     /**
@@ -241,10 +241,10 @@  discard block
 block discarded – undo
241 241
 	 *
242 242
 	 * @param WPInv_Subscription $subscription
243 243
 	 */
244
-	public function subscription_trial( $subscription ) {
244
+	public function subscription_trial($subscription) {
245 245
 
246
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
247
-		$this->send_email( $subscription, $email, __FUNCTION__ );
246
+		$email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);
247
+		$this->send_email($subscription, $email, __FUNCTION__);
248 248
 
249 249
 	}
250 250
 
@@ -253,10 +253,10 @@  discard block
 block discarded – undo
253 253
 	 *
254 254
 	 * @param WPInv_Subscription $subscription
255 255
 	 */
256
-	public function subscription_cancelled( $subscription ) {
256
+	public function subscription_cancelled($subscription) {
257 257
 
258
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
259
-		$this->send_email( $subscription, $email, __FUNCTION__ );
258
+		$email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);
259
+		$this->send_email($subscription, $email, __FUNCTION__);
260 260
 
261 261
 	}
262 262
 
@@ -265,10 +265,10 @@  discard block
 block discarded – undo
265 265
 	 *
266 266
 	 * @param WPInv_Subscription $subscription
267 267
 	 */
268
-	public function subscription_expired( $subscription ) {
268
+	public function subscription_expired($subscription) {
269 269
 
270
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
271
-		$this->send_email( $subscription, $email, __FUNCTION__ );
270
+		$email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);
271
+		$this->send_email($subscription, $email, __FUNCTION__);
272 272
 
273 273
 	}
274 274
 
@@ -277,10 +277,10 @@  discard block
 block discarded – undo
277 277
 	 *
278 278
 	 * @param WPInv_Subscription $subscription
279 279
 	 */
280
-	public function subscription_complete( $subscription ) {
280
+	public function subscription_complete($subscription) {
281 281
 
282
-		$email     = new GetPaid_Notification_Email( __FUNCTION__, $subscription );
283
-		$this->send_email( $subscription, $email, __FUNCTION__ );
282
+		$email = new GetPaid_Notification_Email(__FUNCTION__, $subscription);
283
+		$this->send_email($subscription, $email, __FUNCTION__);
284 284
 
285 285
 	}
286 286
 
@@ -290,18 +290,18 @@  discard block
 block discarded – undo
290 290
 	 */
291 291
 	public function renewal_reminder() {
292 292
 
293
-		$email = new GetPaid_Notification_Email( __FUNCTION__ );
293
+		$email = new GetPaid_Notification_Email(__FUNCTION__);
294 294
 
295 295
 		// Fetch reminder days.
296
-		$reminder_days = array_unique( wp_parse_id_list( $email->get_option( 'days' ) ) );
296
+		$reminder_days = array_unique(wp_parse_id_list($email->get_option('days')));
297 297
 
298 298
 		// Abort if non is set.
299
-		if ( empty( $reminder_days ) ) {
299
+		if (empty($reminder_days)) {
300 300
 			return;
301 301
 		}
302 302
 
303 303
 		// Fetch matching subscriptions.
304
-        $args  = array(
304
+        $args = array(
305 305
             'number'             => -1,
306 306
 			'count_total'        => false,
307 307
 			'status'             => 'trialling active',
@@ -310,8 +310,8 @@  discard block
 block discarded – undo
310 310
             ),
311 311
 		);
312 312
 
313
-		foreach ( $reminder_days as $days ) {
314
-			$date = date_parse( date( 'Y-m-d', strtotime( "+$days days", current_time( 'timestamp' ) ) ) );
313
+		foreach ($reminder_days as $days) {
314
+			$date = date_parse(date('Y-m-d', strtotime("+$days days", current_time('timestamp'))));
315 315
 
316 316
 			$args['date_expires_query'][] = array(
317 317
 				'year'  => $date['year'],
@@ -321,14 +321,14 @@  discard block
 block discarded – undo
321 321
 
322 322
 		}
323 323
 
324
-		$subscriptions = new GetPaid_Subscriptions_Query( $args );
324
+		$subscriptions = new GetPaid_Subscriptions_Query($args);
325 325
 
326
-        foreach ( $subscriptions->get_results() as $subscription ) {
326
+        foreach ($subscriptions->get_results() as $subscription) {
327 327
 
328 328
 			// Skip packages.
329
-			if ( apply_filters( 'getpaid_send_subscription_renewal_reminder_email', true ) ) {
329
+			if (apply_filters('getpaid_send_subscription_renewal_reminder_email', true)) {
330 330
 				$email->object = $subscription;
331
-            	$this->send_email( $subscription, $email, __FUNCTION__ );
331
+            	$this->send_email($subscription, $email, __FUNCTION__);
332 332
 			}
333 333
 		}
334 334
 
Please login to merge, or discard this patch.
includes/data/email-settings.php 1 patch
Spacing   +243 added lines, -243 removed lines patch added patch discarded remove patch
@@ -8,24 +8,24 @@  discard block
 block discarded – undo
8 8
  * @version 1.0.19
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 // Prepare the due date reminder options.
14 14
 $overdue_days_options       = array();
15
-$overdue_days_options['0']  = __( 'On the Due Date', 'invoicing' );
16
-$overdue_days_options['1']  = __( '1 day after Due Date', 'invoicing' );
15
+$overdue_days_options['0']  = __('On the Due Date', 'invoicing');
16
+$overdue_days_options['1']  = __('1 day after Due Date', 'invoicing');
17 17
 
18
-for ( $i = 2; $i <= 45; $i++ ) {
19
-    $overdue_days_options[ "$i" ] = wp_sprintf( __( '%d days after Due Date', 'invoicing' ), $i );
18
+for ($i = 2; $i <= 45; $i++) {
19
+    $overdue_days_options["$i"] = wp_sprintf(__('%d days after Due Date', 'invoicing'), $i);
20 20
 }
21 21
 
22 22
 // Prepare up coming renewal reminder options.
23 23
 $renewal_days_options       = array();
24
-$renewal_days_options['0']  = __( 'On the renewal date', 'invoicing' );
25
-$renewal_days_options['1']  = __( '1 day before the renewal date', 'invoicing' );
24
+$renewal_days_options['0']  = __('On the renewal date', 'invoicing');
25
+$renewal_days_options['1']  = __('1 day before the renewal date', 'invoicing');
26 26
 
27
-for ( $i = 2; $i <= 45; $i++ ) {
28
-    $renewal_days_options[ "$i" ]   = wp_sprintf( __( '%d days before the renewal date', 'invoicing' ), $i );
27
+for ($i = 2; $i <= 45; $i++) {
28
+    $renewal_days_options["$i"] = wp_sprintf(__('%d days before the renewal date', 'invoicing'), $i);
29 29
 }
30 30
 
31 31
 // Default, built-in gateways
@@ -34,45 +34,45 @@  discard block
 block discarded – undo
34 34
 
35 35
         'email_new_invoice_header'  => array(
36 36
             'id'   => 'email_new_invoice_header',
37
-            'name' => '<h3>' . __( 'New Invoice', 'invoicing' ) . '</h3>',
38
-            'desc' => __( 'These emails are sent to the site admin whenever there is a new invoice.', 'invoicing' ),
37
+            'name' => '<h3>' . __('New Invoice', 'invoicing') . '</h3>',
38
+            'desc' => __('These emails are sent to the site admin whenever there is a new invoice.', 'invoicing'),
39 39
             'type' => 'header',
40 40
         ),
41 41
 
42 42
         'email_new_invoice_active'  => array(
43 43
             'id'   => 'email_new_invoice_active',
44
-            'name' => __( 'Enable/Disable', 'invoicing' ),
45
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
44
+            'name' => __('Enable/Disable', 'invoicing'),
45
+            'desc' => __('Enable this email notification', 'invoicing'),
46 46
             'type' => 'checkbox',
47 47
             'std'  => 1,
48 48
         ),
49 49
 
50 50
         'email_new_invoice_subject' => array(
51 51
             'id'       => 'email_new_invoice_subject',
52
-            'name'     => __( 'Subject', 'invoicing' ),
53
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
52
+            'name'     => __('Subject', 'invoicing'),
53
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
54 54
             'help-tip' => true,
55 55
             'type'     => 'text',
56
-            'std'      => __( '[{site_title}] New invoice ({invoice_number}) for {invoice_total} {invoice_currency}', 'invoicing' ),
56
+            'std'      => __('[{site_title}] New invoice ({invoice_number}) for {invoice_total} {invoice_currency}', 'invoicing'),
57 57
             'size'     => 'large',
58 58
         ),
59 59
 
60 60
         'email_new_invoice_heading' => array(
61 61
             'id'       => 'email_new_invoice_heading',
62
-            'name'     => __( 'Email Heading', 'invoicing' ),
63
-            'desc'     => __( 'Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing' ),
62
+            'name'     => __('Email Heading', 'invoicing'),
63
+            'desc'     => __('Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing'),
64 64
             'help-tip' => true,
65 65
             'type'     => 'text',
66
-            'std'      => __( 'New invoice', 'invoicing' ),
66
+            'std'      => __('New invoice', 'invoicing'),
67 67
             'size'     => 'large',
68 68
         ),
69 69
 
70 70
         'email_new_invoice_body'    => array(
71 71
             'id'    => 'email_new_invoice_body',
72
-            'name'  => __( 'Email Content', 'invoicing' ),
72
+            'name'  => __('Email Content', 'invoicing'),
73 73
             'desc'  => wpinv_get_merge_tags_help_text(),
74 74
             'type'  => 'rich_editor',
75
-            'std'   => __( '<p>A new invoice <a href="{invoice_link}">({invoice_number})</a> to {name} for {invoice_total} {invoice_currency} has been created on your site. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ),
75
+            'std'   => __('<p>A new invoice <a href="{invoice_link}">({invoice_number})</a> to {name} for {invoice_total} {invoice_currency} has been created on your site. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'),
76 76
             'class' => 'large',
77 77
             'size'  => '10',
78 78
         ),
@@ -82,53 +82,53 @@  discard block
 block discarded – undo
82 82
 
83 83
         'email_cancelled_invoice_header'    => array(
84 84
             'id'   => 'email_cancelled_invoice_header',
85
-            'name' => '<h3>' . __( 'Cancelled Invoice', 'invoicing' ) . '</h3>',
86
-            'desc' => __( 'These emails are sent to customers whenever invoices are cancelled.', 'invoicing' ),
85
+            'name' => '<h3>' . __('Cancelled Invoice', 'invoicing') . '</h3>',
86
+            'desc' => __('These emails are sent to customers whenever invoices are cancelled.', 'invoicing'),
87 87
             'type' => 'header',
88 88
         ),
89 89
 
90 90
         'email_cancelled_invoice_active'    => array(
91 91
             'id'   => 'email_cancelled_invoice_active',
92
-            'name' => __( 'Enable/Disable', 'invoicing' ),
93
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
92
+            'name' => __('Enable/Disable', 'invoicing'),
93
+            'desc' => __('Enable this email notification', 'invoicing'),
94 94
             'type' => 'checkbox',
95 95
             'std'  => 1,
96 96
         ),
97 97
 
98 98
         'email_cancelled_invoice_admin_bcc' => array(
99 99
             'id'   => 'email_cancelled_invoice_admin_bcc',
100
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
101
-            'desc' => __( 'Check if you want to send this notification email to site Admin.', 'invoicing' ),
100
+            'name' => __('Enable Admin BCC', 'invoicing'),
101
+            'desc' => __('Check if you want to send this notification email to site Admin.', 'invoicing'),
102 102
             'type' => 'checkbox',
103 103
             'std'  => 1,
104 104
         ),
105 105
 
106 106
         'email_cancelled_invoice_subject'   => array(
107 107
             'id'       => 'email_cancelled_invoice_subject',
108
-            'name'     => __( 'Subject', 'invoicing' ),
109
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
108
+            'name'     => __('Subject', 'invoicing'),
109
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
110 110
             'help-tip' => true,
111 111
             'type'     => 'text',
112
-            'std'      => __( '[{site_title}] Invoice ({invoice_number}) Cancelled', 'invoicing' ),
112
+            'std'      => __('[{site_title}] Invoice ({invoice_number}) Cancelled', 'invoicing'),
113 113
             'size'     => 'large',
114 114
         ),
115 115
 
116 116
         'email_cancelled_invoice_heading'   => array(
117 117
             'id'       => 'email_cancelled_invoice_heading',
118
-            'name'     => __( 'Email Heading', 'invoicing' ),
119
-            'desc'     => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),
118
+            'name'     => __('Email Heading', 'invoicing'),
119
+            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'),
120 120
             'help-tip' => true,
121 121
             'type'     => 'text',
122
-            'std'      => __( 'Invoice Cancelled', 'invoicing' ),
122
+            'std'      => __('Invoice Cancelled', 'invoicing'),
123 123
             'size'     => 'large',
124 124
         ),
125 125
 
126 126
         'email_cancelled_invoice_body'      => array(
127 127
             'id'    => 'email_cancelled_invoice_body',
128
-            'name'  => __( 'Email Content', 'invoicing' ),
128
+            'name'  => __('Email Content', 'invoicing'),
129 129
             'desc'  => wpinv_get_merge_tags_help_text(),
130 130
             'type'  => 'rich_editor',
131
-            'std'   => __( '<p>The invoice <a href="{invoice_link}">#{invoice_number}</a> created for {name} on {site_title} has been cancelled. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ),
131
+            'std'   => __('<p>The invoice <a href="{invoice_link}">#{invoice_number}</a> created for {name} on {site_title} has been cancelled. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'),
132 132
             'class' => 'large',
133 133
             'size'  => '10',
134 134
         ),
@@ -139,45 +139,45 @@  discard block
 block discarded – undo
139 139
 
140 140
         'email_failed_invoice_header'  => array(
141 141
             'id'   => 'email_failed_invoice_header',
142
-            'name' => '<h3>' . __( 'Failed Invoice', 'invoicing' ) . '</h3>',
143
-            'desc' => __( 'Failed invoice emails are sent to the site admin when invoice payments fail.', 'invoicing' ),
142
+            'name' => '<h3>' . __('Failed Invoice', 'invoicing') . '</h3>',
143
+            'desc' => __('Failed invoice emails are sent to the site admin when invoice payments fail.', 'invoicing'),
144 144
             'type' => 'header',
145 145
         ),
146 146
 
147 147
         'email_failed_invoice_active'  => array(
148 148
             'id'   => 'email_failed_invoice_active',
149
-            'name' => __( 'Enable/Disable', 'invoicing' ),
150
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
149
+            'name' => __('Enable/Disable', 'invoicing'),
150
+            'desc' => __('Enable this email notification', 'invoicing'),
151 151
             'type' => 'checkbox',
152 152
             'std'  => 1,
153 153
         ),
154 154
 
155 155
         'email_failed_invoice_subject' => array(
156 156
             'id'       => 'email_failed_invoice_subject',
157
-            'name'     => __( 'Subject', 'invoicing' ),
158
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
157
+            'name'     => __('Subject', 'invoicing'),
158
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
159 159
             'help-tip' => true,
160 160
             'type'     => 'text',
161
-            'std'      => __( '[{site_title}] Invoice ({invoice_number}) Payment Failed', 'invoicing' ),
161
+            'std'      => __('[{site_title}] Invoice ({invoice_number}) Payment Failed', 'invoicing'),
162 162
             'size'     => 'large',
163 163
         ),
164 164
 
165 165
         'email_failed_invoice_heading' => array(
166 166
             'id'       => 'email_failed_invoice_heading',
167
-            'name'     => __( 'Email Heading', 'invoicing' ),
168
-            'desc'     => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),
167
+            'name'     => __('Email Heading', 'invoicing'),
168
+            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'),
169 169
             'help-tip' => true,
170 170
             'type'     => 'text',
171
-            'std'      => __( 'Invoice Payment Failed', 'invoicing' ),
171
+            'std'      => __('Invoice Payment Failed', 'invoicing'),
172 172
             'size'     => 'large',
173 173
         ),
174 174
 
175 175
         'email_failed_invoice_body'    => array(
176 176
             'id'    => 'email_failed_invoice_body',
177
-            'name'  => __( 'Email Content', 'invoicing' ),
177
+            'name'  => __('Email Content', 'invoicing'),
178 178
             'desc'  => wpinv_get_merge_tags_help_text(),
179 179
             'type'  => 'rich_editor',
180
-            'std'   => __( '<p>Payment for the invoice <a href="{invoice_link}">#{invoice_number}</a> on {site_title} has failed to go through. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ),
180
+            'std'   => __('<p>Payment for the invoice <a href="{invoice_link}">#{invoice_number}</a> on {site_title} has failed to go through. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'),
181 181
             'class' => 'large',
182 182
             'size'  => '10',
183 183
         ),
@@ -187,53 +187,53 @@  discard block
 block discarded – undo
187 187
 
188 188
         'email_onhold_invoice_header'    => array(
189 189
             'id'   => 'email_onhold_invoice_header',
190
-            'name' => '<h3>' . __( 'On Hold Invoice', 'invoicing' ) . '</h3>',
191
-            'desc' => __( 'These emails are sent to customers whenever their invoices are held.', 'invoicing' ),
190
+            'name' => '<h3>' . __('On Hold Invoice', 'invoicing') . '</h3>',
191
+            'desc' => __('These emails are sent to customers whenever their invoices are held.', 'invoicing'),
192 192
             'type' => 'header',
193 193
         ),
194 194
 
195 195
         'email_onhold_invoice_active'    => array(
196 196
             'id'   => 'email_onhold_invoice_active',
197
-            'name' => __( 'Enable/Disable', 'invoicing' ),
198
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
197
+            'name' => __('Enable/Disable', 'invoicing'),
198
+            'desc' => __('Enable this email notification', 'invoicing'),
199 199
             'type' => 'checkbox',
200 200
             'std'  => 1,
201 201
         ),
202 202
 
203 203
         'email_onhold_invoice_admin_bcc' => array(
204 204
             'id'   => 'email_onhold_invoice_admin_bcc',
205
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
206
-            'desc' => __( 'Check if you want to send this notification email to site Admin.', 'invoicing' ),
205
+            'name' => __('Enable Admin BCC', 'invoicing'),
206
+            'desc' => __('Check if you want to send this notification email to site Admin.', 'invoicing'),
207 207
             'type' => 'checkbox',
208 208
             'std'  => 1,
209 209
         ),
210 210
 
211 211
         'email_onhold_invoice_subject'   => array(
212 212
             'id'       => 'email_onhold_invoice_subject',
213
-            'name'     => __( 'Subject', 'invoicing' ),
214
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
213
+            'name'     => __('Subject', 'invoicing'),
214
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
215 215
             'help-tip' => true,
216 216
             'type'     => 'text',
217
-            'std'      => __( '[{site_title}] Your invoice is on hold', 'invoicing' ),
217
+            'std'      => __('[{site_title}] Your invoice is on hold', 'invoicing'),
218 218
             'size'     => 'large',
219 219
         ),
220 220
 
221 221
         'email_onhold_invoice_heading'   => array(
222 222
             'id'       => 'email_onhold_invoice_heading',
223
-            'name'     => __( 'Email Heading', 'invoicing' ),
224
-            'desc'     => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),
223
+            'name'     => __('Email Heading', 'invoicing'),
224
+            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'),
225 225
             'help-tip' => true,
226 226
             'type'     => 'text',
227
-            'std'      => __( 'Your invoice is on hold', 'invoicing' ),
227
+            'std'      => __('Your invoice is on hold', 'invoicing'),
228 228
             'size'     => 'large',
229 229
         ),
230 230
 
231 231
         'email_onhold_invoice_body'      => array(
232 232
             'id'    => 'email_onhold_invoice_body',
233
-            'name'  => __( 'Email Content', 'invoicing' ),
233
+            'name'  => __('Email Content', 'invoicing'),
234 234
             'desc'  => wpinv_get_merge_tags_help_text(),
235 235
             'type'  => 'rich_editor',
236
-            'std'   => __( '<p>Hi {name},</p><p>Your invoice is on-hold and will be processed when we receive your payment. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ),
236
+            'std'   => __('<p>Hi {name},</p><p>Your invoice is on-hold and will be processed when we receive your payment. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'),
237 237
             'class' => 'large',
238 238
             'size'  => '10',
239 239
         ),
@@ -244,53 +244,53 @@  discard block
 block discarded – undo
244 244
 
245 245
         'email_processing_invoice_header'    => array(
246 246
             'id'   => 'email_processing_invoice_header',
247
-            'name' => '<h3>' . __( 'Processing Invoice', 'invoicing' ) . '</h3>',
248
-            'desc' => __( 'These emails are sent to users whenever payments for their invoices are processing.', 'invoicing' ),
247
+            'name' => '<h3>' . __('Processing Invoice', 'invoicing') . '</h3>',
248
+            'desc' => __('These emails are sent to users whenever payments for their invoices are processing.', 'invoicing'),
249 249
             'type' => 'header',
250 250
         ),
251 251
 
252 252
         'email_processing_invoice_active'    => array(
253 253
             'id'   => 'email_processing_invoice_active',
254
-            'name' => __( 'Enable/Disable', 'invoicing' ),
255
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
254
+            'name' => __('Enable/Disable', 'invoicing'),
255
+            'desc' => __('Enable this email notification', 'invoicing'),
256 256
             'type' => 'checkbox',
257 257
             'std'  => 1,
258 258
         ),
259 259
 
260 260
         'email_processing_invoice_admin_bcc' => array(
261 261
             'id'   => 'email_processing_invoice_admin_bcc',
262
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
263
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
262
+            'name' => __('Enable Admin BCC', 'invoicing'),
263
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
264 264
             'type' => 'checkbox',
265 265
             'std'  => 1,
266 266
         ),
267 267
 
268 268
         'email_processing_invoice_subject'   => array(
269 269
             'id'       => 'email_processing_invoice_subject',
270
-            'name'     => __( 'Subject', 'invoicing' ),
271
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
270
+            'name'     => __('Subject', 'invoicing'),
271
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
272 272
             'help-tip' => true,
273 273
             'type'     => 'text',
274
-            'std'      => __( '[{site_title}] Your payment is being processed', 'invoicing' ),
274
+            'std'      => __('[{site_title}] Your payment is being processed', 'invoicing'),
275 275
             'size'     => 'large',
276 276
         ),
277 277
 
278 278
         'email_processing_invoice_heading'   => array(
279 279
             'id'       => 'email_processing_invoice_heading',
280
-            'name'     => __( 'Email Heading', 'invoicing' ),
281
-            'desc'     => __( 'Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing' ),
280
+            'name'     => __('Email Heading', 'invoicing'),
281
+            'desc'     => __('Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing'),
282 282
             'help-tip' => true,
283 283
             'type'     => 'text',
284
-            'std'      => __( 'Your payment is being processed', 'invoicing' ),
284
+            'std'      => __('Your payment is being processed', 'invoicing'),
285 285
             'size'     => 'large',
286 286
         ),
287 287
 
288 288
         'email_processing_invoice_body'      => array(
289 289
             'id'    => 'email_processing_invoice_body',
290
-            'name'  => __( 'Email Content', 'invoicing' ),
290
+            'name'  => __('Email Content', 'invoicing'),
291 291
             'desc'  => wpinv_get_merge_tags_help_text(),
292 292
             'type'  => 'rich_editor',
293
-            'std'   => __( '<p>Hi {name},</p><p>I would like to let you know that we have received and are currently processing your payment for the invoice <a href="{invoice_link}">#{invoice_number}</a> on {site_title}. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ),
293
+            'std'   => __('<p>Hi {name},</p><p>I would like to let you know that we have received and are currently processing your payment for the invoice <a href="{invoice_link}">#{invoice_number}</a> on {site_title}. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'),
294 294
             'class' => 'large',
295 295
             'size'  => '10',
296 296
         ),
@@ -301,61 +301,61 @@  discard block
 block discarded – undo
301 301
 
302 302
         'email_completed_invoice_header'         => array(
303 303
             'id'   => 'email_completed_invoice_header',
304
-            'name' => '<h3>' . __( 'Paid Invoice', 'invoicing' ) . '</h3>',
305
-            'desc' => __( 'These emails are sent to customers when their invoices are marked as paid.', 'invoicing' ),
304
+            'name' => '<h3>' . __('Paid Invoice', 'invoicing') . '</h3>',
305
+            'desc' => __('These emails are sent to customers when their invoices are marked as paid.', 'invoicing'),
306 306
             'type' => 'header',
307 307
         ),
308 308
 
309 309
         'email_completed_invoice_active'         => array(
310 310
             'id'   => 'email_completed_invoice_active',
311
-            'name' => __( 'Enable/Disable', 'invoicing' ),
312
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
311
+            'name' => __('Enable/Disable', 'invoicing'),
312
+            'desc' => __('Enable this email notification', 'invoicing'),
313 313
             'type' => 'checkbox',
314 314
             'std'  => 1,
315 315
         ),
316 316
 
317 317
         'email_completed_invoice_renewal_active' => array(
318 318
             'id'   => 'email_completed_invoice_renewal_active',
319
-            'name' => __( 'Enable renewal notification', 'invoicing' ),
320
-            'desc' => __( 'Should this email be sent for renewals too?', 'invoicing' ),
319
+            'name' => __('Enable renewal notification', 'invoicing'),
320
+            'desc' => __('Should this email be sent for renewals too?', 'invoicing'),
321 321
             'type' => 'checkbox',
322 322
             'std'  => 1,
323 323
         ),
324 324
 
325 325
         'email_completed_invoice_admin_bcc'      => array(
326 326
             'id'   => 'email_completed_invoice_admin_bcc',
327
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
328
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
327
+            'name' => __('Enable Admin BCC', 'invoicing'),
328
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
329 329
             'type' => 'checkbox',
330 330
             'std'  => 1,
331 331
         ),
332 332
 
333 333
         'email_completed_invoice_subject'        => array(
334 334
             'id'       => 'email_completed_invoice_subject',
335
-            'name'     => __( 'Subject', 'invoicing' ),
336
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
335
+            'name'     => __('Subject', 'invoicing'),
336
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
337 337
             'help-tip' => true,
338 338
             'type'     => 'text',
339
-            'std'      => __( '[{site_title}] Your invoice from {invoice_date} has been paid', 'invoicing' ),
339
+            'std'      => __('[{site_title}] Your invoice from {invoice_date} has been paid', 'invoicing'),
340 340
             'size'     => 'large',
341 341
         ),
342 342
 
343 343
         'email_completed_invoice_heading'        => array(
344 344
             'id'       => 'email_completed_invoice_heading',
345
-            'name'     => __( 'Email Heading', 'invoicing' ),
346
-            'desc'     => __( 'Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing' ),
345
+            'name'     => __('Email Heading', 'invoicing'),
346
+            'desc'     => __('Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing'),
347 347
             'help-tip' => true,
348 348
             'type'     => 'text',
349
-            'std'      => __( 'Your invoice has been paid', 'invoicing' ),
349
+            'std'      => __('Your invoice has been paid', 'invoicing'),
350 350
             'size'     => 'large',
351 351
         ),
352 352
 
353 353
         'email_completed_invoice_body'           => array(
354 354
             'id'    => 'email_completed_invoice_body',
355
-            'name'  => __( 'Email Content', 'invoicing' ),
355
+            'name'  => __('Email Content', 'invoicing'),
356 356
             'desc'  => wpinv_get_merge_tags_help_text(),
357 357
             'type'  => 'rich_editor',
358
-            'std'   => __( '<p>Hi {name},</p><p>Your recent invoice on {site_title} has been paid. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ),
358
+            'std'   => __('<p>Hi {name},</p><p>Your recent invoice on {site_title} has been paid. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'),
359 359
             'class' => 'large',
360 360
             'size'  => '10',
361 361
         ),
@@ -366,53 +366,53 @@  discard block
 block discarded – undo
366 366
 
367 367
         'email_refunded_invoice_header'    => array(
368 368
             'id'   => 'email_refunded_invoice_header',
369
-            'name' => '<h3>' . __( 'Refunded Invoice', 'invoicing' ) . '</h3>',
370
-            'desc' => __( 'These emails are sent to users when their invoices are marked as refunded.', 'invoicing' ),
369
+            'name' => '<h3>' . __('Refunded Invoice', 'invoicing') . '</h3>',
370
+            'desc' => __('These emails are sent to users when their invoices are marked as refunded.', 'invoicing'),
371 371
             'type' => 'header',
372 372
         ),
373 373
 
374 374
         'email_refunded_invoice_active'    => array(
375 375
             'id'   => 'email_refunded_invoice_active',
376
-            'name' => __( 'Enable/Disable', 'invoicing' ),
377
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
376
+            'name' => __('Enable/Disable', 'invoicing'),
377
+            'desc' => __('Enable this email notification', 'invoicing'),
378 378
             'type' => 'checkbox',
379 379
             'std'  => 1,
380 380
         ),
381 381
 
382 382
         'email_refunded_invoice_admin_bcc' => array(
383 383
             'id'   => 'email_refunded_invoice_admin_bcc',
384
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
385
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
384
+            'name' => __('Enable Admin BCC', 'invoicing'),
385
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
386 386
             'type' => 'checkbox',
387 387
             'std'  => 1,
388 388
         ),
389 389
 
390 390
         'email_refunded_invoice_subject'   => array(
391 391
             'id'       => 'email_refunded_invoice_subject',
392
-            'name'     => __( 'Subject', 'invoicing' ),
393
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
392
+            'name'     => __('Subject', 'invoicing'),
393
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
394 394
             'help-tip' => true,
395 395
             'type'     => 'text',
396
-            'std'      => __( '[{site_title}] Your invoice from {invoice_date} has been refunded', 'invoicing' ),
396
+            'std'      => __('[{site_title}] Your invoice from {invoice_date} has been refunded', 'invoicing'),
397 397
             'size'     => 'large',
398 398
         ),
399 399
 
400 400
         'email_refunded_invoice_heading'   => array(
401 401
             'id'       => 'email_refunded_invoice_heading',
402
-            'name'     => __( 'Email Heading', 'invoicing' ),
403
-            'desc'     => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),
402
+            'name'     => __('Email Heading', 'invoicing'),
403
+            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'),
404 404
             'help-tip' => true,
405 405
             'type'     => 'text',
406
-            'std'      => __( 'Your invoice has been refunded', 'invoicing' ),
406
+            'std'      => __('Your invoice has been refunded', 'invoicing'),
407 407
             'size'     => 'large',
408 408
         ),
409 409
 
410 410
         'email_refunded_invoice_body'      => array(
411 411
             'id'    => 'email_refunded_invoice_body',
412
-            'name'  => __( 'Email Content', 'invoicing' ),
412
+            'name'  => __('Email Content', 'invoicing'),
413 413
             'desc'  => wpinv_get_merge_tags_help_text(),
414 414
             'type'  => 'rich_editor',
415
-            'std'   => __( '<p>Hi {name},</p><p>Your invoice on {site_title} has been refunded. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing' ),
415
+            'std'   => __('<p>Hi {name},</p><p>Your invoice on {site_title} has been refunded. <a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a></p>', 'invoicing'),
416 416
             'class' => 'large',
417 417
             'size'  => '10',
418 418
         ),
@@ -423,53 +423,53 @@  discard block
 block discarded – undo
423 423
 
424 424
         'email_user_invoice_header'    => array(
425 425
             'id'   => 'email_user_invoice_header',
426
-            'name' => '<h3>' . __( 'Customer Invoice', 'invoicing' ) . '</h3>',
427
-            'desc' => __( 'These emails are sent to customers containing their invoice information and payment links.', 'invoicing' ),
426
+            'name' => '<h3>' . __('Customer Invoice', 'invoicing') . '</h3>',
427
+            'desc' => __('These emails are sent to customers containing their invoice information and payment links.', 'invoicing'),
428 428
             'type' => 'header',
429 429
         ),
430 430
 
431 431
         'email_user_invoice_active'    => array(
432 432
             'id'   => 'email_user_invoice_active',
433
-            'name' => __( 'Enable/Disable', 'invoicing' ),
434
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
433
+            'name' => __('Enable/Disable', 'invoicing'),
434
+            'desc' => __('Enable this email notification', 'invoicing'),
435 435
             'type' => 'checkbox',
436 436
             'std'  => 1,
437 437
         ),
438 438
 
439 439
         'email_user_invoice_admin_bcc' => array(
440 440
             'id'   => 'email_user_invoice_admin_bcc',
441
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
442
-            'desc' => __( 'Check if you want to send a copy of this notification email to to the site admin.', 'invoicing' ),
441
+            'name' => __('Enable Admin BCC', 'invoicing'),
442
+            'desc' => __('Check if you want to send a copy of this notification email to to the site admin.', 'invoicing'),
443 443
             'type' => 'checkbox',
444 444
             'std'  => 0,
445 445
         ),
446 446
 
447 447
         'email_user_invoice_subject'   => array(
448 448
             'id'       => 'email_user_invoice_subject',
449
-            'name'     => __( 'Subject', 'invoicing' ),
450
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
449
+            'name'     => __('Subject', 'invoicing'),
450
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
451 451
             'help-tip' => true,
452 452
             'type'     => 'text',
453
-            'std'      => __( '[{site_title}] Your invoice from {invoice_date}', 'invoicing' ),
453
+            'std'      => __('[{site_title}] Your invoice from {invoice_date}', 'invoicing'),
454 454
             'size'     => 'large',
455 455
         ),
456 456
 
457 457
         'email_user_invoice_heading'   => array(
458 458
             'id'       => 'email_user_invoice_heading',
459
-            'name'     => __( 'Email Heading', 'invoicing' ),
460
-            'desc'     => __( 'Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing' ),
459
+            'name'     => __('Email Heading', 'invoicing'),
460
+            'desc'     => __('Enter the main heading contained within the email notification for the invoice receipt email.', 'invoicing'),
461 461
             'help-tip' => true,
462 462
             'type'     => 'text',
463
-            'std'      => __( 'Your invoice {invoice_number} details', 'invoicing' ),
463
+            'std'      => __('Your invoice {invoice_number} details', 'invoicing'),
464 464
             'size'     => 'large',
465 465
         ),
466 466
 
467 467
         'email_user_invoice_body'      => array(
468 468
             'id'    => 'email_user_invoice_body',
469
-            'name'  => __( 'Email Content', 'invoicing' ),
469
+            'name'  => __('Email Content', 'invoicing'),
470 470
             'desc'  => wpinv_get_merge_tags_help_text(),
471 471
             'type'  => 'rich_editor',
472
-            'std'   => __( '<p>Hi {name},</p><p>An invoice of {invoice_total} has been created for you on {site_title}. You can <a href="{invoice_link}">view</a> or <a href="{invoice_pay_link}">pay</a> the invoice. Please reply to this email if you have any questions about the invoice.', 'invoicing' ),
472
+            'std'   => __('<p>Hi {name},</p><p>An invoice of {invoice_total} has been created for you on {site_title}. You can <a href="{invoice_link}">view</a> or <a href="{invoice_pay_link}">pay</a> the invoice. Please reply to this email if you have any questions about the invoice.', 'invoicing'),
473 473
             'class' => 'large',
474 474
             'size'  => '10',
475 475
         ),
@@ -479,53 +479,53 @@  discard block
 block discarded – undo
479 479
 
480 480
         'email_user_note_header'    => array(
481 481
             'id'   => 'email_user_note_header',
482
-            'name' => '<h3>' . __( 'Customer Note', 'invoicing' ) . '</h3>',
483
-            'desc' => __( 'These emails are sent when you add a customer note to an invoice/quote.', 'invoicing' ),
482
+            'name' => '<h3>' . __('Customer Note', 'invoicing') . '</h3>',
483
+            'desc' => __('These emails are sent when you add a customer note to an invoice/quote.', 'invoicing'),
484 484
             'type' => 'header',
485 485
         ),
486 486
 
487 487
         'email_user_note_active'    => array(
488 488
             'id'   => 'email_user_note_active',
489
-            'name' => __( 'Enable/Disable', 'invoicing' ),
490
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
489
+            'name' => __('Enable/Disable', 'invoicing'),
490
+            'desc' => __('Enable this email notification', 'invoicing'),
491 491
             'type' => 'checkbox',
492 492
             'std'  => 1,
493 493
         ),
494 494
 
495 495
         'email_user_note_admin_bcc' => array(
496 496
             'id'   => 'email_user_note_admin_bcc',
497
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
498
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
497
+            'name' => __('Enable Admin BCC', 'invoicing'),
498
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
499 499
             'type' => 'checkbox',
500 500
             'std'  => 0,
501 501
         ),
502 502
 
503 503
         'email_user_note_subject'   => array(
504 504
             'id'       => 'email_user_note_subject',
505
-            'name'     => __( 'Subject', 'invoicing' ),
506
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
505
+            'name'     => __('Subject', 'invoicing'),
506
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
507 507
             'help-tip' => true,
508 508
             'type'     => 'text',
509
-            'std'      => __( '[{site_title}] Note added to your {invoice_label} #{invoice_number} from {invoice_date}', 'invoicing' ),
509
+            'std'      => __('[{site_title}] Note added to your {invoice_label} #{invoice_number} from {invoice_date}', 'invoicing'),
510 510
             'size'     => 'large',
511 511
         ),
512 512
 
513 513
         'email_user_note_heading'   => array(
514 514
             'id'       => 'email_user_note_heading',
515
-            'name'     => __( 'Email Heading', 'invoicing' ),
516
-            'desc'     => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),
515
+            'name'     => __('Email Heading', 'invoicing'),
516
+            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'),
517 517
             'help-tip' => true,
518 518
             'type'     => 'text',
519
-            'std'      => __( 'A note has been added to your {invoice_label}', 'invoicing' ),
519
+            'std'      => __('A note has been added to your {invoice_label}', 'invoicing'),
520 520
             'size'     => 'large',
521 521
         ),
522 522
 
523 523
         'email_user_note_body'      => array(
524 524
             'id'    => 'email_user_note_body',
525
-            'name'  => __( 'Email Content', 'invoicing' ),
525
+            'name'  => __('Email Content', 'invoicing'),
526 526
             'desc'  => wpinv_get_merge_tags_help_text(),
527 527
             'type'  => 'rich_editor',
528
-            'std'   => __( '<p>Hi {name},</p><p>The following note has been added to your {invoice_label} <a href="{invoice_link}">#{invoice_number}</a>:</p><blockquote class="wpinv-note">{customer_note}</blockquote><a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a>', 'invoicing' ),
528
+            'std'   => __('<p>Hi {name},</p><p>The following note has been added to your {invoice_label} <a href="{invoice_link}">#{invoice_number}</a>:</p><blockquote class="wpinv-note">{customer_note}</blockquote><a class="btn btn-success" href="{invoice_link}">View / Print Invoice</a>', 'invoicing'),
529 529
             'class' => 'large',
530 530
             'size'  => '10',
531 531
         ),
@@ -535,63 +535,63 @@  discard block
 block discarded – undo
535 535
 
536 536
         'email_overdue_header'    => array(
537 537
             'id'   => 'email_overdue_header',
538
-            'name' => '<h3>' . __( 'Payment Reminder', 'invoicing' ) . '</h3>',
539
-            'desc' => __( 'Payment reminder emails are sent to customers whenever their invoices are due.', 'invoicing' ),
538
+            'name' => '<h3>' . __('Payment Reminder', 'invoicing') . '</h3>',
539
+            'desc' => __('Payment reminder emails are sent to customers whenever their invoices are due.', 'invoicing'),
540 540
             'type' => 'header',
541 541
         ),
542 542
 
543 543
         'email_overdue_active'    => array(
544 544
             'id'   => 'email_overdue_active',
545
-            'name' => __( 'Enable/Disable', 'invoicing' ),
546
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
545
+            'name' => __('Enable/Disable', 'invoicing'),
546
+            'desc' => __('Enable this email notification', 'invoicing'),
547 547
             'type' => 'checkbox',
548 548
             'std'  => 1,
549 549
         ),
550 550
 
551 551
         'email_overdue_admin_bcc' => array(
552 552
             'id'   => 'email_overdue_admin_bcc',
553
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
554
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
553
+            'name' => __('Enable Admin BCC', 'invoicing'),
554
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
555 555
             'type' => 'checkbox',
556 556
             'std'  => 0,
557 557
         ),
558 558
 
559 559
         'email_overdue_days'      => array(
560 560
             'id'       => 'email_overdue_days',
561
-            'name'     => __( 'When to Send', 'invoicing' ),
562
-            'desc'     => __( 'Check when you would like payment reminders sent out.', 'invoicing' ),
561
+            'name'     => __('When to Send', 'invoicing'),
562
+            'desc'     => __('Check when you would like payment reminders sent out.', 'invoicing'),
563 563
             'help-tip' => true,
564
-            'std'      => array( '1' ),
564
+            'std'      => array('1'),
565 565
             'type'     => 'multicheck',
566 566
             'options'  => $overdue_days_options,
567 567
         ),
568 568
 
569 569
         'email_overdue_subject'   => array(
570 570
             'id'       => 'email_overdue_subject',
571
-            'name'     => __( 'Subject', 'invoicing' ),
572
-            'desc'     => __( 'Enter the subject line for the invoice receipt email.', 'invoicing' ),
571
+            'name'     => __('Subject', 'invoicing'),
572
+            'desc'     => __('Enter the subject line for the invoice receipt email.', 'invoicing'),
573 573
             'help-tip' => true,
574 574
             'type'     => 'text',
575
-            'std'      => __( '[{site_title}] Payment Reminder', 'invoicing' ),
575
+            'std'      => __('[{site_title}] Payment Reminder', 'invoicing'),
576 576
             'size'     => 'large',
577 577
         ),
578 578
 
579 579
         'email_overdue_heading'   => array(
580 580
             'id'       => 'email_overdue_heading',
581
-            'name'     => __( 'Email Heading', 'invoicing' ),
582
-            'desc'     => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),
581
+            'name'     => __('Email Heading', 'invoicing'),
582
+            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'),
583 583
             'help-tip' => true,
584 584
             'type'     => 'text',
585
-            'std'      => __( 'Payment reminder for your invoice', 'invoicing' ),
585
+            'std'      => __('Payment reminder for your invoice', 'invoicing'),
586 586
             'size'     => 'large',
587 587
         ),
588 588
 
589 589
         'email_overdue_body'      => array(
590 590
             'id'    => 'email_overdue_body',
591
-            'name'  => __( 'Email Content', 'invoicing' ),
591
+            'name'  => __('Email Content', 'invoicing'),
592 592
             'desc'  => wpinv_get_merge_tags_help_text(),
593 593
             'type'  => 'rich_editor',
594
-            'std'   => __( '<p>Hi {full_name},</p><p>This is just a friendly reminder that your invoice <a href="{invoice_link}">#{invoice_number}</a> {is_was} due on {invoice_due_date}.</p><p>The total of this invoice is {invoice_total}</p><p>To view / pay now for this invoice please use the following link: <a class="btn btn-success" href="{invoice_link}">View / Pay</a></p>', 'invoicing' ),
594
+            'std'   => __('<p>Hi {full_name},</p><p>This is just a friendly reminder that your invoice <a href="{invoice_link}">#{invoice_number}</a> {is_was} due on {invoice_due_date}.</p><p>The total of this invoice is {invoice_total}</p><p>To view / pay now for this invoice please use the following link: <a class="btn btn-success" href="{invoice_link}">View / Pay</a></p>', 'invoicing'),
595 595
             'class' => 'large',
596 596
             'size'  => 10,
597 597
         ),
@@ -602,63 +602,63 @@  discard block
 block discarded – undo
602 602
 
603 603
         'email_renewal_reminder_header'    => array(
604 604
             'id'   => 'email_renewal_reminder_header',
605
-            'name' => '<h3>' . __( 'Renewal Reminder', 'invoicing' ) . '</h3>',
606
-            'desc' => __( 'These emails are sent to customers whenever their subscription is about to renew.', 'invoicing' ),
605
+            'name' => '<h3>' . __('Renewal Reminder', 'invoicing') . '</h3>',
606
+            'desc' => __('These emails are sent to customers whenever their subscription is about to renew.', 'invoicing'),
607 607
             'type' => 'header',
608 608
         ),
609 609
 
610 610
         'email_renewal_reminder_active'    => array(
611 611
             'id'   => 'email_renewal_reminder_active',
612
-            'name' => __( 'Enable/Disable', 'invoicing' ),
613
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
612
+            'name' => __('Enable/Disable', 'invoicing'),
613
+            'desc' => __('Enable this email notification', 'invoicing'),
614 614
             'type' => 'checkbox',
615 615
             'std'  => 0,
616 616
         ),
617 617
 
618 618
         'email_renewal_reminder_admin_bcc' => array(
619 619
             'id'   => 'email_renewal_reminder_admin_bcc',
620
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
621
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
620
+            'name' => __('Enable Admin BCC', 'invoicing'),
621
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
622 622
             'type' => 'checkbox',
623 623
             'std'  => 0,
624 624
         ),
625 625
 
626 626
         'email_renewal_reminder_days'      => array(
627 627
             'id'       => 'email_renewal_reminder_days',
628
-            'name'     => __( 'When to Send', 'invoicing' ),
629
-            'desc'     => __( 'Check when you would like renewal reminders sent out.', 'invoicing' ),
628
+            'name'     => __('When to Send', 'invoicing'),
629
+            'desc'     => __('Check when you would like renewal reminders sent out.', 'invoicing'),
630 630
             'help-tip' => true,
631
-            'std'      => array( '1', '5', '10' ),
631
+            'std'      => array('1', '5', '10'),
632 632
             'type'     => 'multicheck',
633 633
             'options'  => $renewal_days_options,
634 634
         ),
635 635
 
636 636
         'email_renewal_reminder_subject'   => array(
637 637
             'id'       => 'email_renewal_reminder_subject',
638
-            'name'     => __( 'Subject', 'invoicing' ),
639
-            'desc'     => __( 'Enter the subject line for the email.', 'invoicing' ),
638
+            'name'     => __('Subject', 'invoicing'),
639
+            'desc'     => __('Enter the subject line for the email.', 'invoicing'),
640 640
             'help-tip' => true,
641 641
             'type'     => 'text',
642
-            'std'      => __( '[{site_title}] Renewal Reminder', 'invoicing' ),
642
+            'std'      => __('[{site_title}] Renewal Reminder', 'invoicing'),
643 643
             'size'     => 'large',
644 644
         ),
645 645
 
646 646
         'email_renewal_reminder_heading'   => array(
647 647
             'id'       => 'email_renewal_reminder_heading',
648
-            'name'     => __( 'Email Heading', 'invoicing' ),
649
-            'desc'     => __( 'Enter the main heading contained within the email notification.', 'invoicing' ),
648
+            'name'     => __('Email Heading', 'invoicing'),
649
+            'desc'     => __('Enter the main heading contained within the email notification.', 'invoicing'),
650 650
             'help-tip' => true,
651 651
             'type'     => 'text',
652
-            'std'      => __( 'Upcoming renewal reminder', 'invoicing' ),
652
+            'std'      => __('Upcoming renewal reminder', 'invoicing'),
653 653
             'size'     => 'large',
654 654
         ),
655 655
 
656 656
         'email_renewal_reminder_body'      => array(
657 657
             'id'    => 'email_renewal_reminder_body',
658
-            'name'  => __( 'Email Content', 'invoicing' ),
659
-            'desc'  => wpinv_get_merge_tags_help_text( true ),
658
+            'name'  => __('Email Content', 'invoicing'),
659
+            'desc'  => wpinv_get_merge_tags_help_text(true),
660 660
             'type'  => 'rich_editor',
661
-            'std'   => __( '<p>Hi {full_name},</p><p>This is just a friendly reminder that your subscription for invoice <a href="{invoice_link}">#{invoice_number}</a> will renew on {subscription_renewal_date}.</p>', 'invoicing' ),
661
+            'std'   => __('<p>Hi {full_name},</p><p>This is just a friendly reminder that your subscription for invoice <a href="{invoice_link}">#{invoice_number}</a> will renew on {subscription_renewal_date}.</p>', 'invoicing'),
662 662
             'class' => 'large',
663 663
             'size'  => 10,
664 664
         ),
@@ -669,53 +669,53 @@  discard block
 block discarded – undo
669 669
 
670 670
         'email_subscription_active_header'    => array(
671 671
             'id'   => 'email_subscription_active_header',
672
-            'name' => '<h3>' . __( 'Subscription Active', 'invoicing' ) . '</h3>',
673
-            'desc' => __( 'This email is sent when a subscription is activated.', 'invoicing' ),
672
+            'name' => '<h3>' . __('Subscription Active', 'invoicing') . '</h3>',
673
+            'desc' => __('This email is sent when a subscription is activated.', 'invoicing'),
674 674
             'type' => 'header',
675 675
         ),
676 676
 
677 677
         'email_subscription_active_active'    => array(
678 678
             'id'   => 'email_subscription_active_active',
679
-            'name' => __( 'Enable/Disable', 'invoicing' ),
680
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
679
+            'name' => __('Enable/Disable', 'invoicing'),
680
+            'desc' => __('Enable this email notification', 'invoicing'),
681 681
             'type' => 'checkbox',
682 682
             'std'  => 1,
683 683
         ),
684 684
 
685 685
         'email_subscription_active_admin_bcc' => array(
686 686
             'id'   => 'email_subscription_active_admin_bcc',
687
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
688
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
687
+            'name' => __('Enable Admin BCC', 'invoicing'),
688
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
689 689
             'type' => 'checkbox',
690 690
             'std'  => 1,
691 691
         ),
692 692
 
693 693
         'email_subscription_active_subject'   => array(
694 694
             'id'       => 'email_subscription_active_subject',
695
-            'name'     => __( 'Subject', 'invoicing' ),
696
-            'desc'     => __( 'Enter the subject line for the subscription active email.', 'invoicing' ),
695
+            'name'     => __('Subject', 'invoicing'),
696
+            'desc'     => __('Enter the subject line for the subscription active email.', 'invoicing'),
697 697
             'help-tip' => true,
698 698
             'type'     => 'text',
699
-            'std'      => __( '[{site_title}] Your subscription #{subscription_id} has been activated', 'invoicing' ),
699
+            'std'      => __('[{site_title}] Your subscription #{subscription_id} has been activated', 'invoicing'),
700 700
             'size'     => 'large',
701 701
         ),
702 702
 
703 703
         'email_subscription_active_heading'   => array(
704 704
             'id'       => 'email_subscription_active_heading',
705
-            'name'     => __( 'Email Heading', 'invoicing' ),
706
-            'desc'     => __( 'Enter the main heading of this email.', 'invoicing' ),
705
+            'name'     => __('Email Heading', 'invoicing'),
706
+            'desc'     => __('Enter the main heading of this email.', 'invoicing'),
707 707
             'help-tip' => true,
708 708
             'type'     => 'text',
709
-            'std'      => __( 'Subscription Activated', 'invoicing' ),
709
+            'std'      => __('Subscription Activated', 'invoicing'),
710 710
             'size'     => 'large',
711 711
         ),
712 712
 
713 713
         'email_subscription_active_body'      => array(
714 714
             'id'    => 'email_subscription_active_body',
715
-            'name'  => __( 'Email Content', 'invoicing' ),
716
-            'desc'  => wpinv_get_merge_tags_help_text( true ),
715
+            'name'  => __('Email Content', 'invoicing'),
716
+            'desc'  => wpinv_get_merge_tags_help_text(true),
717 717
             'type'  => 'rich_editor',
718
-            'std'   => __( '<p>Hi {first_name},</p><p>Your subscription #{subscription_id} for {subscription_name} has been activated.</p>', 'invoicing' ),
718
+            'std'   => __('<p>Hi {first_name},</p><p>Your subscription #{subscription_id} for {subscription_name} has been activated.</p>', 'invoicing'),
719 719
             'class' => 'large',
720 720
             'size'  => 10,
721 721
         ),
@@ -725,53 +725,53 @@  discard block
 block discarded – undo
725 725
 
726 726
         'email_subscription_trial_header'    => array(
727 727
             'id'   => 'email_subscription_trial_header',
728
-            'name' => '<h3>' . __( 'Trial Started', 'invoicing' ) . '</h3>',
729
-            'desc' => __( 'These emails are sent when a customer starts a subscription trial.', 'invoicing' ),
728
+            'name' => '<h3>' . __('Trial Started', 'invoicing') . '</h3>',
729
+            'desc' => __('These emails are sent when a customer starts a subscription trial.', 'invoicing'),
730 730
             'type' => 'header',
731 731
         ),
732 732
 
733 733
         'email_subscription_trial_active'    => array(
734 734
             'id'   => 'email_subscription_trial_active',
735
-            'name' => __( 'Enable/Disable', 'invoicing' ),
736
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
735
+            'name' => __('Enable/Disable', 'invoicing'),
736
+            'desc' => __('Enable this email notification', 'invoicing'),
737 737
             'type' => 'checkbox',
738 738
             'std'  => 0,
739 739
         ),
740 740
 
741 741
         'email_subscription_trial_admin_bcc' => array(
742 742
             'id'   => 'email_subscription_trial_admin_bcc',
743
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
744
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
743
+            'name' => __('Enable Admin BCC', 'invoicing'),
744
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
745 745
             'type' => 'checkbox',
746 746
             'std'  => 0,
747 747
         ),
748 748
 
749 749
         'email_subscription_trial_subject'   => array(
750 750
             'id'       => 'email_subscription_trial_subject',
751
-            'name'     => __( 'Subject', 'invoicing' ),
752
-            'desc'     => __( 'Enter the subject line for the subscription trial email.', 'invoicing' ),
751
+            'name'     => __('Subject', 'invoicing'),
752
+            'desc'     => __('Enter the subject line for the subscription trial email.', 'invoicing'),
753 753
             'help-tip' => true,
754 754
             'type'     => 'text',
755
-            'std'      => __( '[{site_title}] Trial Started', 'invoicing' ),
755
+            'std'      => __('[{site_title}] Trial Started', 'invoicing'),
756 756
             'size'     => 'large',
757 757
         ),
758 758
 
759 759
         'email_subscription_trial_heading'   => array(
760 760
             'id'       => 'email_subscription_trial_heading',
761
-            'name'     => __( 'Email Heading', 'invoicing' ),
762
-            'desc'     => __( 'Enter the main heading of this email.', 'invoicing' ),
761
+            'name'     => __('Email Heading', 'invoicing'),
762
+            'desc'     => __('Enter the main heading of this email.', 'invoicing'),
763 763
             'help-tip' => true,
764 764
             'type'     => 'text',
765
-            'std'      => __( 'Trial Started', 'invoicing' ),
765
+            'std'      => __('Trial Started', 'invoicing'),
766 766
             'size'     => 'large',
767 767
         ),
768 768
 
769 769
         'email_subscription_trial_body'      => array(
770 770
             'id'    => 'email_subscription_trial_body',
771
-            'name'  => __( 'Email Content', 'invoicing' ),
772
-            'desc'  => wpinv_get_merge_tags_help_text( true ),
771
+            'name'  => __('Email Content', 'invoicing'),
772
+            'desc'  => wpinv_get_merge_tags_help_text(true),
773 773
             'type'  => 'rich_editor',
774
-            'std'   => __( '<p>Hi {first_name},</p><p>Your trial for {subscription_name} is now active and will renew on {subscription_renewal_date}.</p>', 'invoicing' ),
774
+            'std'   => __('<p>Hi {first_name},</p><p>Your trial for {subscription_name} is now active and will renew on {subscription_renewal_date}.</p>', 'invoicing'),
775 775
             'class' => 'large',
776 776
             'size'  => 10,
777 777
         ),
@@ -781,53 +781,53 @@  discard block
 block discarded – undo
781 781
 
782 782
         'email_subscription_cancelled_header'    => array(
783 783
             'id'   => 'email_subscription_cancelled_header',
784
-            'name' => '<h3>' . __( 'Subscription Cancelled', 'invoicing' ) . '</h3>',
785
-            'desc' => __( 'These emails are sent when a customer cancels their subscription.', 'invoicing' ),
784
+            'name' => '<h3>' . __('Subscription Cancelled', 'invoicing') . '</h3>',
785
+            'desc' => __('These emails are sent when a customer cancels their subscription.', 'invoicing'),
786 786
             'type' => 'header',
787 787
         ),
788 788
 
789 789
         'email_subscription_cancelled_active'    => array(
790 790
             'id'   => 'email_subscription_cancelled_active',
791
-            'name' => __( 'Enable/Disable', 'invoicing' ),
792
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
791
+            'name' => __('Enable/Disable', 'invoicing'),
792
+            'desc' => __('Enable this email notification', 'invoicing'),
793 793
             'type' => 'checkbox',
794 794
             'std'  => 1,
795 795
         ),
796 796
 
797 797
         'email_subscription_cancelled_admin_bcc' => array(
798 798
             'id'   => 'email_subscription_cancelled_admin_bcc',
799
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
800
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
799
+            'name' => __('Enable Admin BCC', 'invoicing'),
800
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
801 801
             'type' => 'checkbox',
802 802
             'std'  => 1,
803 803
         ),
804 804
 
805 805
         'email_subscription_cancelled_subject'   => array(
806 806
             'id'       => 'email_subscription_cancelled_subject',
807
-            'name'     => __( 'Subject', 'invoicing' ),
808
-            'desc'     => __( 'Enter the subject line for the subscription cancelled email.', 'invoicing' ),
807
+            'name'     => __('Subject', 'invoicing'),
808
+            'desc'     => __('Enter the subject line for the subscription cancelled email.', 'invoicing'),
809 809
             'help-tip' => true,
810 810
             'type'     => 'text',
811
-            'std'      => __( '[{site_title}] Subscription Cancelled', 'invoicing' ),
811
+            'std'      => __('[{site_title}] Subscription Cancelled', 'invoicing'),
812 812
             'size'     => 'large',
813 813
         ),
814 814
 
815 815
         'email_subscription_cancelled_heading'   => array(
816 816
             'id'       => 'email_subscription_cancelled_heading',
817
-            'name'     => __( 'Email Heading', 'invoicing' ),
818
-            'desc'     => __( 'Enter the main heading of this email.', 'invoicing' ),
817
+            'name'     => __('Email Heading', 'invoicing'),
818
+            'desc'     => __('Enter the main heading of this email.', 'invoicing'),
819 819
             'help-tip' => true,
820 820
             'type'     => 'text',
821
-            'std'      => __( 'Subscription Cancelled', 'invoicing' ),
821
+            'std'      => __('Subscription Cancelled', 'invoicing'),
822 822
             'size'     => 'large',
823 823
         ),
824 824
 
825 825
         'email_subscription_cancelled_body'      => array(
826 826
             'id'    => 'email_subscription_cancelled_body',
827
-            'name'  => __( 'Email Content', 'invoicing' ),
828
-            'desc'  => wpinv_get_merge_tags_help_text( true ),
827
+            'name'  => __('Email Content', 'invoicing'),
828
+            'desc'  => wpinv_get_merge_tags_help_text(true),
829 829
             'type'  => 'rich_editor',
830
-            'std'   => __( '<p>Hi {first_name},</p><p>Your subscription for {subscription_name} has been cancelled and will no longer renew.</p>', 'invoicing' ),
830
+            'std'   => __('<p>Hi {first_name},</p><p>Your subscription for {subscription_name} has been cancelled and will no longer renew.</p>', 'invoicing'),
831 831
             'class' => 'large',
832 832
             'size'  => 10,
833 833
         ),
@@ -837,53 +837,53 @@  discard block
 block discarded – undo
837 837
 
838 838
         'email_subscription_expired_header'    => array(
839 839
             'id'   => 'email_subscription_expired_header',
840
-            'name' => '<h3>' . __( 'Subscription Expired', 'invoicing' ) . '</h3>',
841
-            'desc' => __( "These emails are sent when a customer's subscription expires and automatic renewal fails.", 'invoicing' ),
840
+            'name' => '<h3>' . __('Subscription Expired', 'invoicing') . '</h3>',
841
+            'desc' => __("These emails are sent when a customer's subscription expires and automatic renewal fails.", 'invoicing'),
842 842
             'type' => 'header',
843 843
         ),
844 844
 
845 845
         'email_subscription_expired_active'    => array(
846 846
             'id'   => 'email_subscription_expired_active',
847
-            'name' => __( 'Enable/Disable', 'invoicing' ),
848
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
847
+            'name' => __('Enable/Disable', 'invoicing'),
848
+            'desc' => __('Enable this email notification', 'invoicing'),
849 849
             'type' => 'checkbox',
850 850
             'std'  => 1,
851 851
         ),
852 852
 
853 853
         'email_subscription_expired_admin_bcc' => array(
854 854
             'id'   => 'email_subscription_expired_admin_bcc',
855
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
856
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
855
+            'name' => __('Enable Admin BCC', 'invoicing'),
856
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
857 857
             'type' => 'checkbox',
858 858
             'std'  => 1,
859 859
         ),
860 860
 
861 861
         'email_subscription_expired_subject'   => array(
862 862
             'id'       => 'email_subscription_expired_subject',
863
-            'name'     => __( 'Subject', 'invoicing' ),
864
-            'desc'     => __( 'Enter the subject line for the subscription expired email.', 'invoicing' ),
863
+            'name'     => __('Subject', 'invoicing'),
864
+            'desc'     => __('Enter the subject line for the subscription expired email.', 'invoicing'),
865 865
             'help-tip' => true,
866 866
             'type'     => 'text',
867
-            'std'      => __( '[{site_title}] Subscription Expired', 'invoicing' ),
867
+            'std'      => __('[{site_title}] Subscription Expired', 'invoicing'),
868 868
             'size'     => 'large',
869 869
         ),
870 870
 
871 871
         'email_subscription_expired_heading'   => array(
872 872
             'id'       => 'email_subscription_expired_heading',
873
-            'name'     => __( 'Email Heading', 'invoicing' ),
874
-            'desc'     => __( 'Enter the main heading of this email.', 'invoicing' ),
873
+            'name'     => __('Email Heading', 'invoicing'),
874
+            'desc'     => __('Enter the main heading of this email.', 'invoicing'),
875 875
             'type'     => 'text',
876
-            'std'      => __( 'Subscription Expired', 'invoicing' ),
876
+            'std'      => __('Subscription Expired', 'invoicing'),
877 877
             'help-tip' => true,
878 878
             'size'     => 'large',
879 879
         ),
880 880
 
881 881
         'email_subscription_expired_body'      => array(
882 882
             'id'    => 'email_subscription_expired_body',
883
-            'name'  => __( 'Email Content', 'invoicing' ),
884
-            'desc'  => wpinv_get_merge_tags_help_text( true ),
883
+            'name'  => __('Email Content', 'invoicing'),
884
+            'desc'  => wpinv_get_merge_tags_help_text(true),
885 885
             'type'  => 'rich_editor',
886
-            'std'   => __( '<p>Hi {first_name},</p><p>Your subscription for {subscription_name} has expired.</p>', 'invoicing' ),
886
+            'std'   => __('<p>Hi {first_name},</p><p>Your subscription for {subscription_name} has expired.</p>', 'invoicing'),
887 887
             'class' => 'large',
888 888
             'size'  => 10,
889 889
         ),
@@ -893,53 +893,53 @@  discard block
 block discarded – undo
893 893
 
894 894
         'email_subscription_complete_header'    => array(
895 895
             'id'   => 'email_subscription_complete_header',
896
-            'name' => '<h3>' . __( 'Subscription Complete', 'invoicing' ) . '</h3>',
897
-            'desc' => __( 'These emails are sent when a customer completes their subscription.', 'invoicing' ),
896
+            'name' => '<h3>' . __('Subscription Complete', 'invoicing') . '</h3>',
897
+            'desc' => __('These emails are sent when a customer completes their subscription.', 'invoicing'),
898 898
             'type' => 'header',
899 899
         ),
900 900
 
901 901
         'email_subscription_complete_active'    => array(
902 902
             'id'   => 'email_subscription_complete_active',
903
-            'name' => __( 'Enable/Disable', 'invoicing' ),
904
-            'desc' => __( 'Enable this email notification', 'invoicing' ),
903
+            'name' => __('Enable/Disable', 'invoicing'),
904
+            'desc' => __('Enable this email notification', 'invoicing'),
905 905
             'type' => 'checkbox',
906 906
             'std'  => 1,
907 907
         ),
908 908
 
909 909
         'email_subscription_complete_admin_bcc' => array(
910 910
             'id'   => 'email_subscription_complete_admin_bcc',
911
-            'name' => __( 'Enable Admin BCC', 'invoicing' ),
912
-            'desc' => __( 'Check if you want to send a copy of this notification email to the site admin.', 'invoicing' ),
911
+            'name' => __('Enable Admin BCC', 'invoicing'),
912
+            'desc' => __('Check if you want to send a copy of this notification email to the site admin.', 'invoicing'),
913 913
             'type' => 'checkbox',
914 914
             'std'  => 1,
915 915
         ),
916 916
 
917 917
         'email_subscription_complete_subject'   => array(
918 918
             'id'       => 'email_subscription_complete_subject',
919
-            'name'     => __( 'Subject', 'invoicing' ),
920
-            'desc'     => __( 'Enter the subject line for the subscription complete email.', 'invoicing' ),
919
+            'name'     => __('Subject', 'invoicing'),
920
+            'desc'     => __('Enter the subject line for the subscription complete email.', 'invoicing'),
921 921
             'help-tip' => true,
922 922
             'type'     => 'text',
923
-            'std'      => __( '[{site_title}] Subscription Complete', 'invoicing' ),
923
+            'std'      => __('[{site_title}] Subscription Complete', 'invoicing'),
924 924
             'size'     => 'large',
925 925
         ),
926 926
 
927 927
         'email_subscription_complete_heading'   => array(
928 928
             'id'       => 'email_subscription_complete_heading',
929
-            'name'     => __( 'Email Heading', 'invoicing' ),
930
-            'desc'     => __( 'Enter the main heading of this email.', 'invoicing' ),
929
+            'name'     => __('Email Heading', 'invoicing'),
930
+            'desc'     => __('Enter the main heading of this email.', 'invoicing'),
931 931
             'help-tip' => true,
932 932
             'type'     => 'text',
933
-            'std'      => __( 'Subscription Complete', 'invoicing' ),
933
+            'std'      => __('Subscription Complete', 'invoicing'),
934 934
             'size'     => 'large',
935 935
         ),
936 936
 
937 937
         'email_subscription_complete_body'      => array(
938 938
             'id'    => 'email_subscription_complete_body',
939
-            'name'  => __( 'Email Content', 'invoicing' ),
940
-            'desc'  => wpinv_get_merge_tags_help_text( true ),
939
+            'name'  => __('Email Content', 'invoicing'),
940
+            'desc'  => wpinv_get_merge_tags_help_text(true),
941 941
             'type'  => 'rich_editor',
942
-            'std'   => __( '<p>Hi {first_name},</p><p>Your subscription for {subscription_name} is now complete.</p>', 'invoicing' ),
942
+            'std'   => __('<p>Hi {first_name},</p><p>Your subscription for {subscription_name} is now complete.</p>', 'invoicing'),
943 943
             'class' => 'large',
944 944
             'size'  => 10,
945 945
         ),
Please login to merge, or discard this patch.
templates/emails/wpinv-email-subscription_active.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -8,15 +8,15 @@
 block discarded – undo
8 8
  * @var WPInv_Subscription $object
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 $invoice = $object->get_parent_payment();
14 14
 
15 15
 // Print the email header.
16
-do_action( 'wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin );
16
+do_action('wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin);
17 17
 
18 18
 // Generate the custom message body.
19
-echo wp_kses_post( $message_body );
19
+echo wp_kses_post($message_body);
20 20
 
21 21
 // Print the email footer.
22
-do_action( 'wpinv_email_footer', $invoice, $email_type, $sent_to_admin );
22
+do_action('wpinv_email_footer', $invoice, $email_type, $sent_to_admin);
Please login to merge, or discard this patch.
wp-ayecode-ui/includes/components/class-aui-component-pagination.php 3 patches
Indentation   +108 added lines, -108 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
4
+    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -11,112 +11,112 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Pagination {
13 13
 
14
-	/**
15
-	 * Build the component.
16
-	 *
17
-	 * @param array $args
18
-	 *
19
-	 * @return string The rendered component.
20
-	 */
21
-	public static function get( $args = array() ) {
22
-		global $wp_query, $aui_bs5;
23
-
24
-		$defaults = array(
25
-			'class'              => '',
26
-			'mid_size'           => 2,
27
-			'prev_text'          => '<i class="fas fa-chevron-left"></i>',
28
-			'next_text'          => '<i class="fas fa-chevron-right"></i>',
29
-			'screen_reader_text' => __( 'Posts navigation', 'ayecode-connect' ),
30
-			'before_paging'      => '',
31
-			'after_paging'       => '',
32
-			'type'               => 'array',
33
-			'total'              => isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1,
34
-			'links'              => array(), // an array of links if using custom links, this includes the a tag.
35
-			'rounded_style'      => false,
36
-			'custom_next_text'   => '', // Custom next page text
37
-			'custom_prev_text'   => '', // Custom prev page text
38
-		);
39
-
40
-		/**
41
-		 * Parse incoming $args into an array and merge it with $defaults
42
-		 */
43
-		$args = wp_parse_args( $args, $defaults );
44
-
45
-		$output = '';
46
-
47
-		// Don't print empty markup if there's only one page.
48
-		if ( $args['total'] > 1 ) {
49
-			// Set up paginated links.
50
-			$links = !empty(  $args['links'] ) ? $args['links'] :  paginate_links( $args );
51
-
52
-			$class = !empty($args['class']) ? $args['class'] : '';
53
-
54
-			$custom_prev_link = '';
55
-			$custom_next_link = '';
56
-
57
-			// make the output bootstrap ready
58
-			$links_html = "<ul class='pagination m-0 p-0 $class'>";
59
-			if ( ! empty( $links ) ) {
60
-				foreach ( $links as $link ) {
61
-					$_link = $link;
62
-
63
-					if ( $aui_bs5 ) {
64
-						$link_class = $args['rounded_style'] ? 'page-link badge rounded-pill border-0 mx-1 fs-base text-dark link-primary' : 'page-link';
65
-						$link_class_active = $args['rounded_style'] ? ' current active fw-bold badge rounded-pill' : ' current active';
66
-						$links_html .= "<li class='page-item mx-0'>";
67
-						$link = str_replace( array( "page-numbers", " current" ), array( $link_class, $link_class_active ), $link );
68
-						$link = str_replace( 'text-dark link-primary current', 'current', $link );
69
-						$links_html .=  $link;
70
-						$links_html .= "</li>";
71
-					} else {
72
-						$active = strpos( $link, 'current' ) !== false ? 'active' : '';
73
-						$links_html .= "<li class='page-item $active'>";
74
-						$links_html .= str_replace( "page-numbers", "page-link", $link );
75
-						$links_html .= "</li>";
76
-					}
77
-
78
-					if ( strpos( $_link, 'next page-numbers' ) || strpos( $_link, 'prev page-numbers' ) ) {
79
-						$link = str_replace( array( "page-numbers", " current" ), array( 'btn btn-outline-primary rounded' . ( $args['rounded_style'] ? '-pill' : '' ) . ' mx-1 fs-base text-dark link-primary', ' current active fw-bold badge rounded-pill' ), $_link );
80
-						$link = str_replace( 'text-dark link-primary current', 'current', $link );
81
-
82
-						if ( strpos( $_link, 'next page-numbers' ) && ! empty( $args['custom_next_text'] ) ) {
83
-							$custom_next_link = str_replace( $args['next_text'], $args['custom_next_text'], $link );
84
-						} else if ( strpos( $_link, 'prev page-numbers' ) && ! empty( $args['custom_prev_text'] ) ) {
85
-							$custom_prev_link = str_replace( $args['prev_text'], $args['custom_prev_text'], $link );
86
-						}
87
-					}
88
-				}
89
-			}
90
-			$links_html .= "</ul>";
91
-
92
-			if ( $links ) {
93
-				$output .= '<section class="px-0 py-2 w-100">';
94
-				$output .= _navigation_markup( $links_html, 'aui-pagination', $args['screen_reader_text'] );
95
-				$output .= '</section>';
96
-			}
97
-
98
-			$output = str_replace( "screen-reader-text", "screen-reader-text sr-only", $output );
99
-			$output = str_replace( "nav-links", "aui-nav-links", $output );
100
-		}
101
-
102
-		if ( $output ) {
103
-			if ( $custom_next_link || $custom_prev_link ) {
104
-				$total   = isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1;
105
-				$current = get_query_var( 'paged' ) ? (int) get_query_var( 'paged' ) : 1;
106
-
107
-				$output = '<div class="row d-flex align-items-center justify-content-between"><div class="col text-start">' . $custom_prev_link . '</div><div class="col text-center d-none d-md-block">' . $output . '</div><div class="col text-center d-md-none">' . $current . '/' . $args['total'] . '</div><div class="col text-end">' . $custom_next_link . '</div></div>';
108
-			}
109
-
110
-			if ( ! empty( $args['before_paging'] ) ) {
111
-				$output = $args['before_paging'] . $output;
112
-			}
113
-
114
-			if ( ! empty( $args['after_paging'] ) ) {
115
-				$output = $output . $args['after_paging'];
116
-			}
117
-		}
118
-
119
-		return $output;
120
-	}
14
+    /**
15
+     * Build the component.
16
+     *
17
+     * @param array $args
18
+     *
19
+     * @return string The rendered component.
20
+     */
21
+    public static function get( $args = array() ) {
22
+        global $wp_query, $aui_bs5;
23
+
24
+        $defaults = array(
25
+            'class'              => '',
26
+            'mid_size'           => 2,
27
+            'prev_text'          => '<i class="fas fa-chevron-left"></i>',
28
+            'next_text'          => '<i class="fas fa-chevron-right"></i>',
29
+            'screen_reader_text' => __( 'Posts navigation', 'ayecode-connect' ),
30
+            'before_paging'      => '',
31
+            'after_paging'       => '',
32
+            'type'               => 'array',
33
+            'total'              => isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1,
34
+            'links'              => array(), // an array of links if using custom links, this includes the a tag.
35
+            'rounded_style'      => false,
36
+            'custom_next_text'   => '', // Custom next page text
37
+            'custom_prev_text'   => '', // Custom prev page text
38
+        );
39
+
40
+        /**
41
+         * Parse incoming $args into an array and merge it with $defaults
42
+         */
43
+        $args = wp_parse_args( $args, $defaults );
44
+
45
+        $output = '';
46
+
47
+        // Don't print empty markup if there's only one page.
48
+        if ( $args['total'] > 1 ) {
49
+            // Set up paginated links.
50
+            $links = !empty(  $args['links'] ) ? $args['links'] :  paginate_links( $args );
51
+
52
+            $class = !empty($args['class']) ? $args['class'] : '';
53
+
54
+            $custom_prev_link = '';
55
+            $custom_next_link = '';
56
+
57
+            // make the output bootstrap ready
58
+            $links_html = "<ul class='pagination m-0 p-0 $class'>";
59
+            if ( ! empty( $links ) ) {
60
+                foreach ( $links as $link ) {
61
+                    $_link = $link;
62
+
63
+                    if ( $aui_bs5 ) {
64
+                        $link_class = $args['rounded_style'] ? 'page-link badge rounded-pill border-0 mx-1 fs-base text-dark link-primary' : 'page-link';
65
+                        $link_class_active = $args['rounded_style'] ? ' current active fw-bold badge rounded-pill' : ' current active';
66
+                        $links_html .= "<li class='page-item mx-0'>";
67
+                        $link = str_replace( array( "page-numbers", " current" ), array( $link_class, $link_class_active ), $link );
68
+                        $link = str_replace( 'text-dark link-primary current', 'current', $link );
69
+                        $links_html .=  $link;
70
+                        $links_html .= "</li>";
71
+                    } else {
72
+                        $active = strpos( $link, 'current' ) !== false ? 'active' : '';
73
+                        $links_html .= "<li class='page-item $active'>";
74
+                        $links_html .= str_replace( "page-numbers", "page-link", $link );
75
+                        $links_html .= "</li>";
76
+                    }
77
+
78
+                    if ( strpos( $_link, 'next page-numbers' ) || strpos( $_link, 'prev page-numbers' ) ) {
79
+                        $link = str_replace( array( "page-numbers", " current" ), array( 'btn btn-outline-primary rounded' . ( $args['rounded_style'] ? '-pill' : '' ) . ' mx-1 fs-base text-dark link-primary', ' current active fw-bold badge rounded-pill' ), $_link );
80
+                        $link = str_replace( 'text-dark link-primary current', 'current', $link );
81
+
82
+                        if ( strpos( $_link, 'next page-numbers' ) && ! empty( $args['custom_next_text'] ) ) {
83
+                            $custom_next_link = str_replace( $args['next_text'], $args['custom_next_text'], $link );
84
+                        } else if ( strpos( $_link, 'prev page-numbers' ) && ! empty( $args['custom_prev_text'] ) ) {
85
+                            $custom_prev_link = str_replace( $args['prev_text'], $args['custom_prev_text'], $link );
86
+                        }
87
+                    }
88
+                }
89
+            }
90
+            $links_html .= "</ul>";
91
+
92
+            if ( $links ) {
93
+                $output .= '<section class="px-0 py-2 w-100">';
94
+                $output .= _navigation_markup( $links_html, 'aui-pagination', $args['screen_reader_text'] );
95
+                $output .= '</section>';
96
+            }
97
+
98
+            $output = str_replace( "screen-reader-text", "screen-reader-text sr-only", $output );
99
+            $output = str_replace( "nav-links", "aui-nav-links", $output );
100
+        }
101
+
102
+        if ( $output ) {
103
+            if ( $custom_next_link || $custom_prev_link ) {
104
+                $total   = isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1;
105
+                $current = get_query_var( 'paged' ) ? (int) get_query_var( 'paged' ) : 1;
106
+
107
+                $output = '<div class="row d-flex align-items-center justify-content-between"><div class="col text-start">' . $custom_prev_link . '</div><div class="col text-center d-none d-md-block">' . $output . '</div><div class="col text-center d-md-none">' . $current . '/' . $args['total'] . '</div><div class="col text-end">' . $custom_next_link . '</div></div>';
108
+            }
109
+
110
+            if ( ! empty( $args['before_paging'] ) ) {
111
+                $output = $args['before_paging'] . $output;
112
+            }
113
+
114
+            if ( ! empty( $args['after_paging'] ) ) {
115
+                $output = $output . $args['after_paging'];
116
+            }
117
+        }
118
+
119
+        return $output;
120
+    }
121 121
 
122 122
 }
123 123
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
3
+if (!defined('ABSPATH')) {
4 4
 	exit; // Exit if accessed directly
5 5
 }
6 6
 
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 20
 	 */
21
-	public static function get( $args = array() ) {
21
+	public static function get($args = array()) {
22 22
 		global $wp_query, $aui_bs5;
23 23
 
24 24
 		$defaults = array(
@@ -26,11 +26,11 @@  discard block
 block discarded – undo
26 26
 			'mid_size'           => 2,
27 27
 			'prev_text'          => '<i class="fas fa-chevron-left"></i>',
28 28
 			'next_text'          => '<i class="fas fa-chevron-right"></i>',
29
-			'screen_reader_text' => __( 'Posts navigation', 'ayecode-connect' ),
29
+			'screen_reader_text' => __('Posts navigation', 'ayecode-connect'),
30 30
 			'before_paging'      => '',
31 31
 			'after_paging'       => '',
32 32
 			'type'               => 'array',
33
-			'total'              => isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1,
33
+			'total'              => isset($wp_query->max_num_pages) ? $wp_query->max_num_pages : 1,
34 34
 			'links'              => array(), // an array of links if using custom links, this includes the a tag.
35 35
 			'rounded_style'      => false,
36 36
 			'custom_next_text'   => '', // Custom next page text
@@ -40,14 +40,14 @@  discard block
 block discarded – undo
40 40
 		/**
41 41
 		 * Parse incoming $args into an array and merge it with $defaults
42 42
 		 */
43
-		$args = wp_parse_args( $args, $defaults );
43
+		$args = wp_parse_args($args, $defaults);
44 44
 
45 45
 		$output = '';
46 46
 
47 47
 		// Don't print empty markup if there's only one page.
48
-		if ( $args['total'] > 1 ) {
48
+		if ($args['total'] > 1) {
49 49
 			// Set up paginated links.
50
-			$links = !empty(  $args['links'] ) ? $args['links'] :  paginate_links( $args );
50
+			$links = !empty($args['links']) ? $args['links'] : paginate_links($args);
51 51
 
52 52
 			$class = !empty($args['class']) ? $args['class'] : '';
53 53
 
@@ -56,62 +56,62 @@  discard block
 block discarded – undo
56 56
 
57 57
 			// make the output bootstrap ready
58 58
 			$links_html = "<ul class='pagination m-0 p-0 $class'>";
59
-			if ( ! empty( $links ) ) {
60
-				foreach ( $links as $link ) {
59
+			if (!empty($links)) {
60
+				foreach ($links as $link) {
61 61
 					$_link = $link;
62 62
 
63
-					if ( $aui_bs5 ) {
63
+					if ($aui_bs5) {
64 64
 						$link_class = $args['rounded_style'] ? 'page-link badge rounded-pill border-0 mx-1 fs-base text-dark link-primary' : 'page-link';
65 65
 						$link_class_active = $args['rounded_style'] ? ' current active fw-bold badge rounded-pill' : ' current active';
66 66
 						$links_html .= "<li class='page-item mx-0'>";
67
-						$link = str_replace( array( "page-numbers", " current" ), array( $link_class, $link_class_active ), $link );
68
-						$link = str_replace( 'text-dark link-primary current', 'current', $link );
69
-						$links_html .=  $link;
67
+						$link = str_replace(array("page-numbers", " current"), array($link_class, $link_class_active), $link);
68
+						$link = str_replace('text-dark link-primary current', 'current', $link);
69
+						$links_html .= $link;
70 70
 						$links_html .= "</li>";
71 71
 					} else {
72
-						$active = strpos( $link, 'current' ) !== false ? 'active' : '';
72
+						$active = strpos($link, 'current') !== false ? 'active' : '';
73 73
 						$links_html .= "<li class='page-item $active'>";
74
-						$links_html .= str_replace( "page-numbers", "page-link", $link );
74
+						$links_html .= str_replace("page-numbers", "page-link", $link);
75 75
 						$links_html .= "</li>";
76 76
 					}
77 77
 
78
-					if ( strpos( $_link, 'next page-numbers' ) || strpos( $_link, 'prev page-numbers' ) ) {
79
-						$link = str_replace( array( "page-numbers", " current" ), array( 'btn btn-outline-primary rounded' . ( $args['rounded_style'] ? '-pill' : '' ) . ' mx-1 fs-base text-dark link-primary', ' current active fw-bold badge rounded-pill' ), $_link );
80
-						$link = str_replace( 'text-dark link-primary current', 'current', $link );
78
+					if (strpos($_link, 'next page-numbers') || strpos($_link, 'prev page-numbers')) {
79
+						$link = str_replace(array("page-numbers", " current"), array('btn btn-outline-primary rounded' . ($args['rounded_style'] ? '-pill' : '') . ' mx-1 fs-base text-dark link-primary', ' current active fw-bold badge rounded-pill'), $_link);
80
+						$link = str_replace('text-dark link-primary current', 'current', $link);
81 81
 
82
-						if ( strpos( $_link, 'next page-numbers' ) && ! empty( $args['custom_next_text'] ) ) {
83
-							$custom_next_link = str_replace( $args['next_text'], $args['custom_next_text'], $link );
84
-						} else if ( strpos( $_link, 'prev page-numbers' ) && ! empty( $args['custom_prev_text'] ) ) {
85
-							$custom_prev_link = str_replace( $args['prev_text'], $args['custom_prev_text'], $link );
82
+						if (strpos($_link, 'next page-numbers') && !empty($args['custom_next_text'])) {
83
+							$custom_next_link = str_replace($args['next_text'], $args['custom_next_text'], $link);
84
+						} else if (strpos($_link, 'prev page-numbers') && !empty($args['custom_prev_text'])) {
85
+							$custom_prev_link = str_replace($args['prev_text'], $args['custom_prev_text'], $link);
86 86
 						}
87 87
 					}
88 88
 				}
89 89
 			}
90 90
 			$links_html .= "</ul>";
91 91
 
92
-			if ( $links ) {
92
+			if ($links) {
93 93
 				$output .= '<section class="px-0 py-2 w-100">';
94
-				$output .= _navigation_markup( $links_html, 'aui-pagination', $args['screen_reader_text'] );
94
+				$output .= _navigation_markup($links_html, 'aui-pagination', $args['screen_reader_text']);
95 95
 				$output .= '</section>';
96 96
 			}
97 97
 
98
-			$output = str_replace( "screen-reader-text", "screen-reader-text sr-only", $output );
99
-			$output = str_replace( "nav-links", "aui-nav-links", $output );
98
+			$output = str_replace("screen-reader-text", "screen-reader-text sr-only", $output);
99
+			$output = str_replace("nav-links", "aui-nav-links", $output);
100 100
 		}
101 101
 
102
-		if ( $output ) {
103
-			if ( $custom_next_link || $custom_prev_link ) {
104
-				$total   = isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1;
105
-				$current = get_query_var( 'paged' ) ? (int) get_query_var( 'paged' ) : 1;
102
+		if ($output) {
103
+			if ($custom_next_link || $custom_prev_link) {
104
+				$total   = isset($wp_query->max_num_pages) ? $wp_query->max_num_pages : 1;
105
+				$current = get_query_var('paged') ? (int) get_query_var('paged') : 1;
106 106
 
107 107
 				$output = '<div class="row d-flex align-items-center justify-content-between"><div class="col text-start">' . $custom_prev_link . '</div><div class="col text-center d-none d-md-block">' . $output . '</div><div class="col text-center d-md-none">' . $current . '/' . $args['total'] . '</div><div class="col text-end">' . $custom_next_link . '</div></div>';
108 108
 			}
109 109
 
110
-			if ( ! empty( $args['before_paging'] ) ) {
110
+			if (!empty($args['before_paging'])) {
111 111
 				$output = $args['before_paging'] . $output;
112 112
 			}
113 113
 
114
-			if ( ! empty( $args['after_paging'] ) ) {
114
+			if (!empty($args['after_paging'])) {
115 115
 				$output = $output . $args['after_paging'];
116 116
 			}
117 117
 		}
Please login to merge, or discard this patch.
Switch Indentation   +103 added lines, -103 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1
-<?php
1
+    <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
3
+    if ( ! defined( 'ABSPATH' ) ) {
4
+	    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -9,114 +9,114 @@  discard block
 block discarded – undo
9 9
  *
10 10
  * @since 1.0.0
11 11
  */
12
-class AUI_Component_Pagination {
12
+    class AUI_Component_Pagination {
13 13
 
14
-	/**
14
+	    /**
15 15
 	 * Build the component.
16 16
 	 *
17 17
 	 * @param array $args
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 20
 	 */
21
-	public static function get( $args = array() ) {
22
-		global $wp_query, $aui_bs5;
23
-
24
-		$defaults = array(
25
-			'class'              => '',
26
-			'mid_size'           => 2,
27
-			'prev_text'          => '<i class="fas fa-chevron-left"></i>',
28
-			'next_text'          => '<i class="fas fa-chevron-right"></i>',
29
-			'screen_reader_text' => __( 'Posts navigation', 'ayecode-connect' ),
30
-			'before_paging'      => '',
31
-			'after_paging'       => '',
32
-			'type'               => 'array',
33
-			'total'              => isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1,
34
-			'links'              => array(), // an array of links if using custom links, this includes the a tag.
35
-			'rounded_style'      => false,
36
-			'custom_next_text'   => '', // Custom next page text
37
-			'custom_prev_text'   => '', // Custom prev page text
38
-		);
39
-
40
-		/**
21
+	    public static function get( $args = array() ) {
22
+		    global $wp_query, $aui_bs5;
23
+
24
+		    $defaults = array(
25
+			    'class'              => '',
26
+			    'mid_size'           => 2,
27
+			    'prev_text'          => '<i class="fas fa-chevron-left"></i>',
28
+			    'next_text'          => '<i class="fas fa-chevron-right"></i>',
29
+			    'screen_reader_text' => __( 'Posts navigation', 'ayecode-connect' ),
30
+			    'before_paging'      => '',
31
+			    'after_paging'       => '',
32
+			    'type'               => 'array',
33
+			    'total'              => isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1,
34
+			    'links'              => array(), // an array of links if using custom links, this includes the a tag.
35
+			    'rounded_style'      => false,
36
+			    'custom_next_text'   => '', // Custom next page text
37
+			    'custom_prev_text'   => '', // Custom prev page text
38
+		    );
39
+
40
+		    /**
41 41
 		 * Parse incoming $args into an array and merge it with $defaults
42 42
 		 */
43
-		$args = wp_parse_args( $args, $defaults );
44
-
45
-		$output = '';
46
-
47
-		// Don't print empty markup if there's only one page.
48
-		if ( $args['total'] > 1 ) {
49
-			// Set up paginated links.
50
-			$links = !empty(  $args['links'] ) ? $args['links'] :  paginate_links( $args );
51
-
52
-			$class = !empty($args['class']) ? $args['class'] : '';
53
-
54
-			$custom_prev_link = '';
55
-			$custom_next_link = '';
56
-
57
-			// make the output bootstrap ready
58
-			$links_html = "<ul class='pagination m-0 p-0 $class'>";
59
-			if ( ! empty( $links ) ) {
60
-				foreach ( $links as $link ) {
61
-					$_link = $link;
62
-
63
-					if ( $aui_bs5 ) {
64
-						$link_class = $args['rounded_style'] ? 'page-link badge rounded-pill border-0 mx-1 fs-base text-dark link-primary' : 'page-link';
65
-						$link_class_active = $args['rounded_style'] ? ' current active fw-bold badge rounded-pill' : ' current active';
66
-						$links_html .= "<li class='page-item mx-0'>";
67
-						$link = str_replace( array( "page-numbers", " current" ), array( $link_class, $link_class_active ), $link );
68
-						$link = str_replace( 'text-dark link-primary current', 'current', $link );
69
-						$links_html .=  $link;
70
-						$links_html .= "</li>";
71
-					} else {
72
-						$active = strpos( $link, 'current' ) !== false ? 'active' : '';
73
-						$links_html .= "<li class='page-item $active'>";
74
-						$links_html .= str_replace( "page-numbers", "page-link", $link );
75
-						$links_html .= "</li>";
76
-					}
77
-
78
-					if ( strpos( $_link, 'next page-numbers' ) || strpos( $_link, 'prev page-numbers' ) ) {
79
-						$link = str_replace( array( "page-numbers", " current" ), array( 'btn btn-outline-primary rounded' . ( $args['rounded_style'] ? '-pill' : '' ) . ' mx-1 fs-base text-dark link-primary', ' current active fw-bold badge rounded-pill' ), $_link );
80
-						$link = str_replace( 'text-dark link-primary current', 'current', $link );
81
-
82
-						if ( strpos( $_link, 'next page-numbers' ) && ! empty( $args['custom_next_text'] ) ) {
83
-							$custom_next_link = str_replace( $args['next_text'], $args['custom_next_text'], $link );
84
-						} else if ( strpos( $_link, 'prev page-numbers' ) && ! empty( $args['custom_prev_text'] ) ) {
85
-							$custom_prev_link = str_replace( $args['prev_text'], $args['custom_prev_text'], $link );
86
-						}
87
-					}
88
-				}
89
-			}
90
-			$links_html .= "</ul>";
91
-
92
-			if ( $links ) {
93
-				$output .= '<section class="px-0 py-2 w-100">';
94
-				$output .= _navigation_markup( $links_html, 'aui-pagination', $args['screen_reader_text'] );
95
-				$output .= '</section>';
96
-			}
97
-
98
-			$output = str_replace( "screen-reader-text", "screen-reader-text sr-only", $output );
99
-			$output = str_replace( "nav-links", "aui-nav-links", $output );
100
-		}
101
-
102
-		if ( $output ) {
103
-			if ( $custom_next_link || $custom_prev_link ) {
104
-				$total   = isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1;
105
-				$current = get_query_var( 'paged' ) ? (int) get_query_var( 'paged' ) : 1;
106
-
107
-				$output = '<div class="row d-flex align-items-center justify-content-between"><div class="col text-start">' . $custom_prev_link . '</div><div class="col text-center d-none d-md-block">' . $output . '</div><div class="col text-center d-md-none">' . $current . '/' . $args['total'] . '</div><div class="col text-end">' . $custom_next_link . '</div></div>';
108
-			}
109
-
110
-			if ( ! empty( $args['before_paging'] ) ) {
111
-				$output = $args['before_paging'] . $output;
112
-			}
113
-
114
-			if ( ! empty( $args['after_paging'] ) ) {
115
-				$output = $output . $args['after_paging'];
116
-			}
117
-		}
118
-
119
-		return $output;
120
-	}
43
+		    $args = wp_parse_args( $args, $defaults );
44
+
45
+		    $output = '';
46
+
47
+		    // Don't print empty markup if there's only one page.
48
+		    if ( $args['total'] > 1 ) {
49
+			    // Set up paginated links.
50
+			    $links = !empty(  $args['links'] ) ? $args['links'] :  paginate_links( $args );
51
+
52
+			    $class = !empty($args['class']) ? $args['class'] : '';
53
+
54
+			    $custom_prev_link = '';
55
+			    $custom_next_link = '';
56
+
57
+			    // make the output bootstrap ready
58
+			    $links_html = "<ul class='pagination m-0 p-0 $class'>";
59
+			    if ( ! empty( $links ) ) {
60
+				    foreach ( $links as $link ) {
61
+					    $_link = $link;
62
+
63
+					    if ( $aui_bs5 ) {
64
+						    $link_class = $args['rounded_style'] ? 'page-link badge rounded-pill border-0 mx-1 fs-base text-dark link-primary' : 'page-link';
65
+						    $link_class_active = $args['rounded_style'] ? ' current active fw-bold badge rounded-pill' : ' current active';
66
+						    $links_html .= "<li class='page-item mx-0'>";
67
+						    $link = str_replace( array( "page-numbers", " current" ), array( $link_class, $link_class_active ), $link );
68
+						    $link = str_replace( 'text-dark link-primary current', 'current', $link );
69
+						    $links_html .=  $link;
70
+						    $links_html .= "</li>";
71
+					    } else {
72
+						    $active = strpos( $link, 'current' ) !== false ? 'active' : '';
73
+						    $links_html .= "<li class='page-item $active'>";
74
+						    $links_html .= str_replace( "page-numbers", "page-link", $link );
75
+						    $links_html .= "</li>";
76
+					    }
77
+
78
+					    if ( strpos( $_link, 'next page-numbers' ) || strpos( $_link, 'prev page-numbers' ) ) {
79
+						    $link = str_replace( array( "page-numbers", " current" ), array( 'btn btn-outline-primary rounded' . ( $args['rounded_style'] ? '-pill' : '' ) . ' mx-1 fs-base text-dark link-primary', ' current active fw-bold badge rounded-pill' ), $_link );
80
+						    $link = str_replace( 'text-dark link-primary current', 'current', $link );
81
+
82
+						    if ( strpos( $_link, 'next page-numbers' ) && ! empty( $args['custom_next_text'] ) ) {
83
+							    $custom_next_link = str_replace( $args['next_text'], $args['custom_next_text'], $link );
84
+						    } else if ( strpos( $_link, 'prev page-numbers' ) && ! empty( $args['custom_prev_text'] ) ) {
85
+							    $custom_prev_link = str_replace( $args['prev_text'], $args['custom_prev_text'], $link );
86
+						    }
87
+					    }
88
+				    }
89
+			    }
90
+			    $links_html .= "</ul>";
91
+
92
+			    if ( $links ) {
93
+				    $output .= '<section class="px-0 py-2 w-100">';
94
+				    $output .= _navigation_markup( $links_html, 'aui-pagination', $args['screen_reader_text'] );
95
+				    $output .= '</section>';
96
+			    }
97
+
98
+			    $output = str_replace( "screen-reader-text", "screen-reader-text sr-only", $output );
99
+			    $output = str_replace( "nav-links", "aui-nav-links", $output );
100
+		    }
101
+
102
+		    if ( $output ) {
103
+			    if ( $custom_next_link || $custom_prev_link ) {
104
+				    $total   = isset( $wp_query->max_num_pages ) ? $wp_query->max_num_pages : 1;
105
+				    $current = get_query_var( 'paged' ) ? (int) get_query_var( 'paged' ) : 1;
106
+
107
+				    $output = '<div class="row d-flex align-items-center justify-content-between"><div class="col text-start">' . $custom_prev_link . '</div><div class="col text-center d-none d-md-block">' . $output . '</div><div class="col text-center d-md-none">' . $current . '/' . $args['total'] . '</div><div class="col text-end">' . $custom_next_link . '</div></div>';
108
+			    }
109
+
110
+			    if ( ! empty( $args['before_paging'] ) ) {
111
+				    $output = $args['before_paging'] . $output;
112
+			    }
113
+
114
+			    if ( ! empty( $args['after_paging'] ) ) {
115
+				    $output = $output . $args['after_paging'];
116
+			    }
117
+		    }
118
+
119
+		    return $output;
120
+	    }
121 121
 
122 122
 }
123 123
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/includes/inc/bs5-js.php 3 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1001,8 +1001,8 @@
 block discarded – undo
1001 1001
     aui_flip_color_scheme_on_scroll();
1002 1002
 
1003 1003
 	<?php
1004
-	// FSE tweaks.
1005
-	if(!empty($_REQUEST['postType'])){ ?>
1004
+    // FSE tweaks.
1005
+    if(!empty($_REQUEST['postType'])){ ?>
1006 1006
     function aui_fse_set_data_scroll() {
1007 1007
         console.log('init scroll');
1008 1008
         let Iframe = document.getElementsByClassName("edit-site-visual-editor__editor-canvas");
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -252,7 +252,7 @@  discard block
 block discarded – undo
252 252
     function aui_init_flatpickr(){
253 253
         if ( typeof jQuery.fn.flatpickr === "function" && !$aui_doing_init_flatpickr) {
254 254
             $aui_doing_init_flatpickr = true;
255
-			<?php if ( ! empty( $flatpickr_locale ) ) { ?>try{flatpickr.localize(<?php echo $flatpickr_locale; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>);}catch(err){console.log(err.message);}<?php } ?>
255
+			<?php if (!empty($flatpickr_locale)) { ?>try{flatpickr.localize(<?php echo $flatpickr_locale; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>);}catch(err){console.log(err.message);}<?php } ?>
256 256
             jQuery('input[data-aui-init="flatpickr"]:not(.flatpickr-input)').flatpickr();
257 257
         }
258 258
         $aui_doing_init_flatpickr = false;
@@ -1013,7 +1013,7 @@  discard block
 block discarded – undo
1013 1013
 
1014 1014
 	<?php
1015 1015
 	// FSE tweaks.
1016
-	if(!empty($_REQUEST['postType'])){ ?>
1016
+	if (!empty($_REQUEST['postType'])) { ?>
1017 1017
     function aui_fse_set_data_scroll() {
1018 1018
         console.log('init scroll');
1019 1019
         let Iframe = document.getElementsByClassName("edit-site-visual-editor__editor-canvas");
Please login to merge, or discard this patch.
Switch Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php // @todo eventually we need to convert this to non jQuery ?>
1
+    <?php // @todo eventually we need to convert this to non jQuery ?>
2 2
 <script>
3 3
     /**
4 4
      * An AUI bootstrap adaptation of GreedyNav.js ( by Luke Jackson ).
@@ -1066,8 +1066,8 @@  discard block
 block discarded – undo
1066 1066
     aui_flip_color_scheme_on_scroll();
1067 1067
 
1068 1068
 	<?php
1069
-	// FSE tweaks.
1070
-	if(!empty($_REQUEST['postType'])){ ?>
1069
+	    // FSE tweaks.
1070
+	    if(!empty($_REQUEST['postType'])){ ?>
1071 1071
     function aui_fse_set_data_scroll() {
1072 1072
         console.log('init scroll');
1073 1073
         let Iframe = document.getElementsByClassName("edit-site-visual-editor__editor-canvas");
Please login to merge, or discard this patch.
vendor/ayecode/ayecode-connect-helper/ayecode-connect-helper.php 2 patches
Indentation   +302 added lines, -302 removed lines patch added patch discarded remove patch
@@ -1,264 +1,264 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 if ( ! class_exists( "AyeCode_Connect_Helper" ) ) {
7
-	/**
8
-	 * Allow the quick setup and connection of our AyeCode Connect plugin.
9
-	 *
10
-	 * Class AyeCode_Connect_Helper
11
-	 */
12
-	class AyeCode_Connect_Helper {
13
-
14
-		// Hold the version number
15
-		var $version = "1.0.4";
16
-
17
-		// Hold the default strings.
18
-		var $strings = array();
19
-
20
-		// Hold the default pages.
21
-		var $pages = array();
22
-
23
-		/**
24
-		 * The constructor.
25
-		 *
26
-		 * AyeCode_Connect_Helper constructor.
27
-		 *
28
-		 * @param array $strings
29
-		 * @param array $pages
30
-		 */
31
-		public function __construct( $strings = array(), $pages = array() ) {
32
-			// Only fire if not localhost and the current user has the right permissions.
33
-			if ( ! $this->is_localhost() && current_user_can( 'manage_options' ) ) {
34
-				// set default strings
35
-				$default_strings = array(
36
-					'connect_title'     => __( "Thanks for choosing an AyeCode Product!", 'ayecode-connect' ),
37
-					'connect_external'  => __( "Please confirm you wish to connect your site?", 'ayecode-connect' ),
38
-					'connect'           => wp_sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s", 'ayecode-connect' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>" ),
39
-					'connect_button'    => __( "Connect Site", 'ayecode-connect' ),
40
-					'connecting_button' => __( "Connecting...", 'ayecode-connect' ),
41
-					'error_localhost'   => __( "This service will only work with a live domain, not a localhost.", 'ayecode-connect' ),
42
-					'error'             => __( "Something went wrong, please refresh and try again.", 'ayecode-connect' ),
43
-				);
44
-				$this->strings   = array_merge( $default_strings, $strings );
45
-
46
-				// set default pages
47
-				$default_pages = array();
48
-				$this->pages   = array_merge( $default_pages, $pages );
49
-
50
-				// maybe show connect site notice
51
-				add_action( 'admin_notices', array( $this, 'ayecode_connect_install_notice' ) );
52
-
53
-				// add ajax action if not already added
54
-				if ( ! has_action( 'wp_ajax_ayecode_connect_helper' ) ) {
55
-					add_action( 'wp_ajax_ayecode_connect_helper', array( $this, 'ayecode_connect_install' ) );
56
-				}
57
-			}
58
-
59
-			// add ajax action if not already added
60
-			if ( ! has_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed' ) ) {
61
-				add_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed', array( $this, 'ayecode_connect_helper_installed' ) );
62
-			}
63
-		}
64
-
65
-		/**
66
-		 * Give a way to check we can connect via a external redirect.
67
-		 */
68
-		public function ayecode_connect_helper_installed(){
69
-			$active = array(
70
-				'gd'    =>  defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION,'2.0.0.79','>') ? 1 : 0,
71
-				'uwp'    =>  defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION,'1.2.1.5','>') ? 1 : 0,
72
-				'wpi'    =>  defined('WPINV_VERSION') && version_compare(WPINV_VERSION,'1.0.14','>') ? 1 : 0,
73
-			);
74
-			wp_send_json_success( $active );
75
-			wp_die();
76
-		}
77
-
78
-		/**
79
-		 * Get slug from path
80
-		 *
81
-		 * @param  string $key
82
-		 *
83
-		 * @return string
84
-		 */
85
-		private function format_plugin_slug( $key ) {
86
-			$slug = explode( '/', $key );
87
-			$slug = explode( '.', end( $slug ) );
88
-
89
-			return $slug[0];
90
-		}
91
-
92
-		/**
93
-		 * Install and activate the AyeCode Connect Plugin
94
-		 */
95
-		public function ayecode_connect_install() {
96
-			// bail if localhost
97
-			if ( $this->is_localhost() ) {
98
-				wp_send_json_error( $this->strings['error_localhost'] );
99
-			}
100
-
101
-			// Explicitly clear the event.
102
-			wp_clear_scheduled_hook( 'geodir_plugin_background_installer', func_get_args() );
103
-
104
-			$success     = true;
105
-			$plugin_slug = "ayecode-connect";
106
-			if ( ! empty( $plugin_slug ) ) {
107
-				require_once( ABSPATH . 'wp-admin/includes/file.php' );
108
-				require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
109
-				require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
110
-				require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
111
-
112
-				WP_Filesystem();
113
-
114
-				$skin              = new Automatic_Upgrader_Skin;
115
-				$upgrader          = new WP_Upgrader( $skin );
116
-				$installed_plugins = array_map( array( $this, 'format_plugin_slug' ), array_keys( get_plugins() ) );
117
-				$plugin_slug       = $plugin_slug;
118
-				$plugin            = $plugin_slug . '/' . $plugin_slug . '.php';
119
-				$installed         = false;
120
-				$activate          = false;
121
-
122
-				// See if the plugin is installed already
123
-				if ( in_array( $plugin_slug, $installed_plugins ) ) {
124
-					$installed = true;
125
-					$activate  = ! is_plugin_active( $plugin );
126
-				}
127
-
128
-				// Install this thing!
129
-				if ( ! $installed ) {
130
-
131
-					// Suppress feedback
132
-					ob_start();
133
-
134
-					try {
135
-						$plugin_information = plugins_api( 'plugin_information', array(
136
-							'slug'   => $plugin_slug,
137
-							'fields' => array(
138
-								'short_description' => false,
139
-								'sections'          => false,
140
-								'requires'          => false,
141
-								'rating'            => false,
142
-								'ratings'           => false,
143
-								'downloaded'        => false,
144
-								'last_updated'      => false,
145
-								'added'             => false,
146
-								'tags'              => false,
147
-								'homepage'          => false,
148
-								'donate_link'       => false,
149
-								'author_profile'    => false,
150
-								'author'            => false,
151
-							),
152
-						) );
153
-
154
-						if ( is_wp_error( $plugin_information ) ) {
155
-							throw new Exception( $plugin_information->get_error_message() );
156
-						}
157
-
158
-						$package  = $plugin_information->download_link;
159
-						$download = $upgrader->download_package( $package );
160
-
161
-						if ( is_wp_error( $download ) ) {
162
-							throw new Exception( $download->get_error_message() );
163
-						}
164
-
165
-						$working_dir = $upgrader->unpack_package( $download, true );
166
-
167
-						if ( is_wp_error( $working_dir ) ) {
168
-							throw new Exception( $working_dir->get_error_message() );
169
-						}
170
-
171
-						$result = $upgrader->install_package( array(
172
-							'source'                      => $working_dir,
173
-							'destination'                 => WP_PLUGIN_DIR,
174
-							'clear_destination'           => false,
175
-							'abort_if_destination_exists' => false,
176
-							'clear_working'               => true,
177
-							'hook_extra'                  => array(
178
-								'type'   => 'plugin',
179
-								'action' => 'install',
180
-							),
181
-						) );
182
-
183
-						if ( is_wp_error( $result ) ) {
184
-							throw new Exception( $result->get_error_message() );
185
-						}
186
-
187
-						$activate = true;
188
-
189
-					} catch ( Exception $e ) {
190
-						$success = false;
191
-					}
192
-
193
-					// Discard feedback
194
-					ob_end_clean();
195
-				}
196
-
197
-				wp_clean_plugins_cache();
198
-
199
-				// Activate this thing
200
-				if ( $activate ) {
201
-					try {
202
-						$result = activate_plugin( $plugin );
203
-
204
-						if ( is_wp_error( $result ) ) {
205
-							$success = false;
206
-						} else {
207
-							$success = true;
208
-						}
209
-					} catch ( Exception $e ) {
210
-						$success = false;
211
-					}
212
-				}
213
-			}
214
-
215
-			if ( $success && function_exists( 'ayecode_connect_args' ) ) {
216
-				ayecode_connect();// init
217
-				$args        = ayecode_connect_args();
218
-				$client      = new AyeCode_Connect( $args );
219
-				$redirect_to = ! empty( $_POST['redirect_to'] ) ? esc_url_raw( $_POST['redirect_to'] ) : '';
220
-				$redirect    = $client->build_connect_url( $redirect_to );
221
-				wp_send_json_success( array( 'connect_url' => $redirect ) );
222
-			} else {
223
-				wp_send_json_error( $this->strings['error_localhost'] );
224
-			}
225
-			wp_die();
226
-		}
227
-
228
-		/**
229
-		 * Check if maybe localhost.
230
-		 *
231
-		 * @return bool
232
-		 */
233
-		public function is_localhost() {
234
-			$localhost = false;
235
-
236
-			$host              = isset( $_SERVER['HTTP_HOST'] ) ? $_SERVER['HTTP_HOST'] : '';
237
-			$localhost_domains = array(
238
-				'localhost',
239
-				'localhost.localdomain',
240
-				'127.0.0.1',
241
-				'::1'
242
-			);
243
-
244
-			if ( in_array( $host, $localhost_domains ) ) {
245
-				$localhost = true;
246
-			}
247
-
248
-			return $localhost;
249
-		}
250
-
251
-		/**
252
-		 * Show notice to connect site.
253
-		 */
254
-		public function ayecode_connect_install_notice() {
255
-			if ( $this->maybe_show() ) {
256
-				$connect_title_string     = $this->strings['connect_title'];
257
-				$connect_external_string  = $this->strings['connect_external'];
258
-				$connect_string           = $this->strings['connect'];
259
-				$connect_button_string    = $this->strings['connect_button'];
260
-				$connecting_button_string = $this->strings['connecting_button'];
261
-				?>
7
+    /**
8
+     * Allow the quick setup and connection of our AyeCode Connect plugin.
9
+     *
10
+     * Class AyeCode_Connect_Helper
11
+     */
12
+    class AyeCode_Connect_Helper {
13
+
14
+        // Hold the version number
15
+        var $version = "1.0.4";
16
+
17
+        // Hold the default strings.
18
+        var $strings = array();
19
+
20
+        // Hold the default pages.
21
+        var $pages = array();
22
+
23
+        /**
24
+         * The constructor.
25
+         *
26
+         * AyeCode_Connect_Helper constructor.
27
+         *
28
+         * @param array $strings
29
+         * @param array $pages
30
+         */
31
+        public function __construct( $strings = array(), $pages = array() ) {
32
+            // Only fire if not localhost and the current user has the right permissions.
33
+            if ( ! $this->is_localhost() && current_user_can( 'manage_options' ) ) {
34
+                // set default strings
35
+                $default_strings = array(
36
+                    'connect_title'     => __( "Thanks for choosing an AyeCode Product!", 'ayecode-connect' ),
37
+                    'connect_external'  => __( "Please confirm you wish to connect your site?", 'ayecode-connect' ),
38
+                    'connect'           => wp_sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s", 'ayecode-connect' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>" ),
39
+                    'connect_button'    => __( "Connect Site", 'ayecode-connect' ),
40
+                    'connecting_button' => __( "Connecting...", 'ayecode-connect' ),
41
+                    'error_localhost'   => __( "This service will only work with a live domain, not a localhost.", 'ayecode-connect' ),
42
+                    'error'             => __( "Something went wrong, please refresh and try again.", 'ayecode-connect' ),
43
+                );
44
+                $this->strings   = array_merge( $default_strings, $strings );
45
+
46
+                // set default pages
47
+                $default_pages = array();
48
+                $this->pages   = array_merge( $default_pages, $pages );
49
+
50
+                // maybe show connect site notice
51
+                add_action( 'admin_notices', array( $this, 'ayecode_connect_install_notice' ) );
52
+
53
+                // add ajax action if not already added
54
+                if ( ! has_action( 'wp_ajax_ayecode_connect_helper' ) ) {
55
+                    add_action( 'wp_ajax_ayecode_connect_helper', array( $this, 'ayecode_connect_install' ) );
56
+                }
57
+            }
58
+
59
+            // add ajax action if not already added
60
+            if ( ! has_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed' ) ) {
61
+                add_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed', array( $this, 'ayecode_connect_helper_installed' ) );
62
+            }
63
+        }
64
+
65
+        /**
66
+         * Give a way to check we can connect via a external redirect.
67
+         */
68
+        public function ayecode_connect_helper_installed(){
69
+            $active = array(
70
+                'gd'    =>  defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION,'2.0.0.79','>') ? 1 : 0,
71
+                'uwp'    =>  defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION,'1.2.1.5','>') ? 1 : 0,
72
+                'wpi'    =>  defined('WPINV_VERSION') && version_compare(WPINV_VERSION,'1.0.14','>') ? 1 : 0,
73
+            );
74
+            wp_send_json_success( $active );
75
+            wp_die();
76
+        }
77
+
78
+        /**
79
+         * Get slug from path
80
+         *
81
+         * @param  string $key
82
+         *
83
+         * @return string
84
+         */
85
+        private function format_plugin_slug( $key ) {
86
+            $slug = explode( '/', $key );
87
+            $slug = explode( '.', end( $slug ) );
88
+
89
+            return $slug[0];
90
+        }
91
+
92
+        /**
93
+         * Install and activate the AyeCode Connect Plugin
94
+         */
95
+        public function ayecode_connect_install() {
96
+            // bail if localhost
97
+            if ( $this->is_localhost() ) {
98
+                wp_send_json_error( $this->strings['error_localhost'] );
99
+            }
100
+
101
+            // Explicitly clear the event.
102
+            wp_clear_scheduled_hook( 'geodir_plugin_background_installer', func_get_args() );
103
+
104
+            $success     = true;
105
+            $plugin_slug = "ayecode-connect";
106
+            if ( ! empty( $plugin_slug ) ) {
107
+                require_once( ABSPATH . 'wp-admin/includes/file.php' );
108
+                require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
109
+                require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
110
+                require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
111
+
112
+                WP_Filesystem();
113
+
114
+                $skin              = new Automatic_Upgrader_Skin;
115
+                $upgrader          = new WP_Upgrader( $skin );
116
+                $installed_plugins = array_map( array( $this, 'format_plugin_slug' ), array_keys( get_plugins() ) );
117
+                $plugin_slug       = $plugin_slug;
118
+                $plugin            = $plugin_slug . '/' . $plugin_slug . '.php';
119
+                $installed         = false;
120
+                $activate          = false;
121
+
122
+                // See if the plugin is installed already
123
+                if ( in_array( $plugin_slug, $installed_plugins ) ) {
124
+                    $installed = true;
125
+                    $activate  = ! is_plugin_active( $plugin );
126
+                }
127
+
128
+                // Install this thing!
129
+                if ( ! $installed ) {
130
+
131
+                    // Suppress feedback
132
+                    ob_start();
133
+
134
+                    try {
135
+                        $plugin_information = plugins_api( 'plugin_information', array(
136
+                            'slug'   => $plugin_slug,
137
+                            'fields' => array(
138
+                                'short_description' => false,
139
+                                'sections'          => false,
140
+                                'requires'          => false,
141
+                                'rating'            => false,
142
+                                'ratings'           => false,
143
+                                'downloaded'        => false,
144
+                                'last_updated'      => false,
145
+                                'added'             => false,
146
+                                'tags'              => false,
147
+                                'homepage'          => false,
148
+                                'donate_link'       => false,
149
+                                'author_profile'    => false,
150
+                                'author'            => false,
151
+                            ),
152
+                        ) );
153
+
154
+                        if ( is_wp_error( $plugin_information ) ) {
155
+                            throw new Exception( $plugin_information->get_error_message() );
156
+                        }
157
+
158
+                        $package  = $plugin_information->download_link;
159
+                        $download = $upgrader->download_package( $package );
160
+
161
+                        if ( is_wp_error( $download ) ) {
162
+                            throw new Exception( $download->get_error_message() );
163
+                        }
164
+
165
+                        $working_dir = $upgrader->unpack_package( $download, true );
166
+
167
+                        if ( is_wp_error( $working_dir ) ) {
168
+                            throw new Exception( $working_dir->get_error_message() );
169
+                        }
170
+
171
+                        $result = $upgrader->install_package( array(
172
+                            'source'                      => $working_dir,
173
+                            'destination'                 => WP_PLUGIN_DIR,
174
+                            'clear_destination'           => false,
175
+                            'abort_if_destination_exists' => false,
176
+                            'clear_working'               => true,
177
+                            'hook_extra'                  => array(
178
+                                'type'   => 'plugin',
179
+                                'action' => 'install',
180
+                            ),
181
+                        ) );
182
+
183
+                        if ( is_wp_error( $result ) ) {
184
+                            throw new Exception( $result->get_error_message() );
185
+                        }
186
+
187
+                        $activate = true;
188
+
189
+                    } catch ( Exception $e ) {
190
+                        $success = false;
191
+                    }
192
+
193
+                    // Discard feedback
194
+                    ob_end_clean();
195
+                }
196
+
197
+                wp_clean_plugins_cache();
198
+
199
+                // Activate this thing
200
+                if ( $activate ) {
201
+                    try {
202
+                        $result = activate_plugin( $plugin );
203
+
204
+                        if ( is_wp_error( $result ) ) {
205
+                            $success = false;
206
+                        } else {
207
+                            $success = true;
208
+                        }
209
+                    } catch ( Exception $e ) {
210
+                        $success = false;
211
+                    }
212
+                }
213
+            }
214
+
215
+            if ( $success && function_exists( 'ayecode_connect_args' ) ) {
216
+                ayecode_connect();// init
217
+                $args        = ayecode_connect_args();
218
+                $client      = new AyeCode_Connect( $args );
219
+                $redirect_to = ! empty( $_POST['redirect_to'] ) ? esc_url_raw( $_POST['redirect_to'] ) : '';
220
+                $redirect    = $client->build_connect_url( $redirect_to );
221
+                wp_send_json_success( array( 'connect_url' => $redirect ) );
222
+            } else {
223
+                wp_send_json_error( $this->strings['error_localhost'] );
224
+            }
225
+            wp_die();
226
+        }
227
+
228
+        /**
229
+         * Check if maybe localhost.
230
+         *
231
+         * @return bool
232
+         */
233
+        public function is_localhost() {
234
+            $localhost = false;
235
+
236
+            $host              = isset( $_SERVER['HTTP_HOST'] ) ? $_SERVER['HTTP_HOST'] : '';
237
+            $localhost_domains = array(
238
+                'localhost',
239
+                'localhost.localdomain',
240
+                '127.0.0.1',
241
+                '::1'
242
+            );
243
+
244
+            if ( in_array( $host, $localhost_domains ) ) {
245
+                $localhost = true;
246
+            }
247
+
248
+            return $localhost;
249
+        }
250
+
251
+        /**
252
+         * Show notice to connect site.
253
+         */
254
+        public function ayecode_connect_install_notice() {
255
+            if ( $this->maybe_show() ) {
256
+                $connect_title_string     = $this->strings['connect_title'];
257
+                $connect_external_string  = $this->strings['connect_external'];
258
+                $connect_string           = $this->strings['connect'];
259
+                $connect_button_string    = $this->strings['connect_button'];
260
+                $connecting_button_string = $this->strings['connecting_button'];
261
+                ?>
262 262
 				<div class="notice notice-info acch-notice">
263 263
 					<span class="acch-float-left">
264 264
 						<svg width="61px" height="61px" viewBox="0 0 61 61" version="1.1"
@@ -305,9 +305,9 @@  discard block
 block discarded – undo
305 305
 				</div>
306 306
 
307 307
 				<?php
308
-				// only include the popup HTML if needed.
309
-				if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
310
-					?>
308
+                // only include the popup HTML if needed.
309
+                if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
310
+                    ?>
311 311
 					<div id="ayecode-connect-helper-external-confirm" style="display:none;">
312 312
 						<div class="noticex notice-info acch-notice" style="border: none;">
313 313
 					<span class="acch-float-left">
@@ -353,23 +353,23 @@  discard block
 block discarded – undo
353 353
 						</div>
354 354
 					</div>
355 355
 					<?php
356
-				}
357
-
358
-				// add required scripts
359
-				$this->script();
360
-			}
361
-		}
362
-
363
-		/**
364
-		 * Get the JS Script.
365
-		 */
366
-		public function script() {
367
-
368
-			// add thickbox if external request is requested
369
-			if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
370
-				add_thickbox();
371
-			}
372
-			?>
356
+                }
357
+
358
+                // add required scripts
359
+                $this->script();
360
+            }
361
+        }
362
+
363
+        /**
364
+         * Get the JS Script.
365
+         */
366
+        public function script() {
367
+
368
+            // add thickbox if external request is requested
369
+            if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
370
+                add_thickbox();
371
+            }
372
+            ?>
373 373
 			<style>
374 374
 				.acch-title {
375 375
 					margin: 0;
@@ -435,38 +435,38 @@  discard block
 block discarded – undo
435 435
 					});
436 436
 				} 
437 437
 				<?php
438
-				// add thickbox if external request is requested
439
-				if(! empty( $_REQUEST['external-connect-request'] )) {
440
-				?>
438
+                // add thickbox if external request is requested
439
+                if(! empty( $_REQUEST['external-connect-request'] )) {
440
+                ?>
441 441
 				jQuery(function () {
442 442
 					setTimeout(function () {
443 443
 						tb_show("AyeCode Connect", "?TB_inline?width=300&height=80&inlineId=ayecode-connect-helper-external-confirm");
444 444
 					}, 200);
445 445
 				});
446 446
 				<?php
447
-				}
448
-				?>
447
+                }
448
+                ?>
449 449
 			</script>
450 450
 			<?php
451
-		}
452
-
453
-		/**
454
-		 * Decide what pages to show on.
455
-		 *
456
-		 * @return bool
457
-		 */
458
-		public function maybe_show() {
459
-			$show = false;
460
-
461
-			// check if on a page set to show
462
-			if ( isset( $_REQUEST['page'] ) && in_array( $_REQUEST['page'], $this->pages ) ) {
463
-				// check if not active and connected
464
-				if ( ! defined( 'AYECODE_CONNECT_VERSION' ) || ! get_option( 'ayecode_connect_blog_token' ) ) {
465
-					$show = true;
466
-				}
467
-			}
468
-
469
-			return $show;
470
-		}
471
-	}
451
+        }
452
+
453
+        /**
454
+         * Decide what pages to show on.
455
+         *
456
+         * @return bool
457
+         */
458
+        public function maybe_show() {
459
+            $show = false;
460
+
461
+            // check if on a page set to show
462
+            if ( isset( $_REQUEST['page'] ) && in_array( $_REQUEST['page'], $this->pages ) ) {
463
+                // check if not active and connected
464
+                if ( ! defined( 'AYECODE_CONNECT_VERSION' ) || ! get_option( 'ayecode_connect_blog_token' ) ) {
465
+                    $show = true;
466
+                }
467
+            }
468
+
469
+            return $show;
470
+        }
471
+    }
472 472
 }
Please login to merge, or discard this patch.
Spacing   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -1,9 +1,9 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
6
-if ( ! class_exists( "AyeCode_Connect_Helper" ) ) {
6
+if (!class_exists("AyeCode_Connect_Helper")) {
7 7
 	/**
8 8
 	 * Allow the quick setup and connection of our AyeCode Connect plugin.
9 9
 	 *
@@ -28,50 +28,50 @@  discard block
 block discarded – undo
28 28
 		 * @param array $strings
29 29
 		 * @param array $pages
30 30
 		 */
31
-		public function __construct( $strings = array(), $pages = array() ) {
31
+		public function __construct($strings = array(), $pages = array()) {
32 32
 			// Only fire if not localhost and the current user has the right permissions.
33
-			if ( ! $this->is_localhost() && current_user_can( 'manage_options' ) ) {
33
+			if (!$this->is_localhost() && current_user_can('manage_options')) {
34 34
 				// set default strings
35 35
 				$default_strings = array(
36
-					'connect_title'     => __( "Thanks for choosing an AyeCode Product!", 'ayecode-connect' ),
37
-					'connect_external'  => __( "Please confirm you wish to connect your site?", 'ayecode-connect' ),
38
-					'connect'           => wp_sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s", 'ayecode-connect' ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>" ),
39
-					'connect_button'    => __( "Connect Site", 'ayecode-connect' ),
40
-					'connecting_button' => __( "Connecting...", 'ayecode-connect' ),
41
-					'error_localhost'   => __( "This service will only work with a live domain, not a localhost.", 'ayecode-connect' ),
42
-					'error'             => __( "Something went wrong, please refresh and try again.", 'ayecode-connect' ),
36
+					'connect_title'     => __("Thanks for choosing an AyeCode Product!", 'ayecode-connect'),
37
+					'connect_external'  => __("Please confirm you wish to connect your site?", 'ayecode-connect'),
38
+					'connect'           => wp_sprintf(__("<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s", 'ayecode-connect'), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>"),
39
+					'connect_button'    => __("Connect Site", 'ayecode-connect'),
40
+					'connecting_button' => __("Connecting...", 'ayecode-connect'),
41
+					'error_localhost'   => __("This service will only work with a live domain, not a localhost.", 'ayecode-connect'),
42
+					'error'             => __("Something went wrong, please refresh and try again.", 'ayecode-connect'),
43 43
 				);
44
-				$this->strings   = array_merge( $default_strings, $strings );
44
+				$this->strings = array_merge($default_strings, $strings);
45 45
 
46 46
 				// set default pages
47 47
 				$default_pages = array();
48
-				$this->pages   = array_merge( $default_pages, $pages );
48
+				$this->pages   = array_merge($default_pages, $pages);
49 49
 
50 50
 				// maybe show connect site notice
51
-				add_action( 'admin_notices', array( $this, 'ayecode_connect_install_notice' ) );
51
+				add_action('admin_notices', array($this, 'ayecode_connect_install_notice'));
52 52
 
53 53
 				// add ajax action if not already added
54
-				if ( ! has_action( 'wp_ajax_ayecode_connect_helper' ) ) {
55
-					add_action( 'wp_ajax_ayecode_connect_helper', array( $this, 'ayecode_connect_install' ) );
54
+				if (!has_action('wp_ajax_ayecode_connect_helper')) {
55
+					add_action('wp_ajax_ayecode_connect_helper', array($this, 'ayecode_connect_install'));
56 56
 				}
57 57
 			}
58 58
 
59 59
 			// add ajax action if not already added
60
-			if ( ! has_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed' ) ) {
61
-				add_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed', array( $this, 'ayecode_connect_helper_installed' ) );
60
+			if (!has_action('wp_ajax_nopriv_ayecode_connect_helper_installed')) {
61
+				add_action('wp_ajax_nopriv_ayecode_connect_helper_installed', array($this, 'ayecode_connect_helper_installed'));
62 62
 			}
63 63
 		}
64 64
 
65 65
 		/**
66 66
 		 * Give a way to check we can connect via a external redirect.
67 67
 		 */
68
-		public function ayecode_connect_helper_installed(){
68
+		public function ayecode_connect_helper_installed() {
69 69
 			$active = array(
70
-				'gd'    =>  defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION,'2.0.0.79','>') ? 1 : 0,
71
-				'uwp'    =>  defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION,'1.2.1.5','>') ? 1 : 0,
72
-				'wpi'    =>  defined('WPINV_VERSION') && version_compare(WPINV_VERSION,'1.0.14','>') ? 1 : 0,
70
+				'gd'    =>  defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION, '2.0.0.79', '>') ? 1 : 0,
71
+				'uwp'    =>  defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION, '1.2.1.5', '>') ? 1 : 0,
72
+				'wpi'    =>  defined('WPINV_VERSION') && version_compare(WPINV_VERSION, '1.0.14', '>') ? 1 : 0,
73 73
 			);
74
-			wp_send_json_success( $active );
74
+			wp_send_json_success($active);
75 75
 			wp_die();
76 76
 		}
77 77
 
@@ -82,9 +82,9 @@  discard block
 block discarded – undo
82 82
 		 *
83 83
 		 * @return string
84 84
 		 */
85
-		private function format_plugin_slug( $key ) {
86
-			$slug = explode( '/', $key );
87
-			$slug = explode( '.', end( $slug ) );
85
+		private function format_plugin_slug($key) {
86
+			$slug = explode('/', $key);
87
+			$slug = explode('.', end($slug));
88 88
 
89 89
 			return $slug[0];
90 90
 		}
@@ -94,45 +94,45 @@  discard block
 block discarded – undo
94 94
 		 */
95 95
 		public function ayecode_connect_install() {
96 96
 			// bail if localhost
97
-			if ( $this->is_localhost() ) {
98
-				wp_send_json_error( $this->strings['error_localhost'] );
97
+			if ($this->is_localhost()) {
98
+				wp_send_json_error($this->strings['error_localhost']);
99 99
 			}
100 100
 
101 101
 			// Explicitly clear the event.
102
-			wp_clear_scheduled_hook( 'geodir_plugin_background_installer', func_get_args() );
102
+			wp_clear_scheduled_hook('geodir_plugin_background_installer', func_get_args());
103 103
 
104 104
 			$success     = true;
105 105
 			$plugin_slug = "ayecode-connect";
106
-			if ( ! empty( $plugin_slug ) ) {
107
-				require_once( ABSPATH . 'wp-admin/includes/file.php' );
108
-				require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
109
-				require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
110
-				require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
106
+			if (!empty($plugin_slug)) {
107
+				require_once(ABSPATH . 'wp-admin/includes/file.php');
108
+				require_once(ABSPATH . 'wp-admin/includes/plugin-install.php');
109
+				require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
110
+				require_once(ABSPATH . 'wp-admin/includes/plugin.php');
111 111
 
112 112
 				WP_Filesystem();
113 113
 
114 114
 				$skin              = new Automatic_Upgrader_Skin;
115
-				$upgrader          = new WP_Upgrader( $skin );
116
-				$installed_plugins = array_map( array( $this, 'format_plugin_slug' ), array_keys( get_plugins() ) );
115
+				$upgrader          = new WP_Upgrader($skin);
116
+				$installed_plugins = array_map(array($this, 'format_plugin_slug'), array_keys(get_plugins()));
117 117
 				$plugin_slug       = $plugin_slug;
118 118
 				$plugin            = $plugin_slug . '/' . $plugin_slug . '.php';
119 119
 				$installed         = false;
120 120
 				$activate          = false;
121 121
 
122 122
 				// See if the plugin is installed already
123
-				if ( in_array( $plugin_slug, $installed_plugins ) ) {
123
+				if (in_array($plugin_slug, $installed_plugins)) {
124 124
 					$installed = true;
125
-					$activate  = ! is_plugin_active( $plugin );
125
+					$activate  = !is_plugin_active($plugin);
126 126
 				}
127 127
 
128 128
 				// Install this thing!
129
-				if ( ! $installed ) {
129
+				if (!$installed) {
130 130
 
131 131
 					// Suppress feedback
132 132
 					ob_start();
133 133
 
134 134
 					try {
135
-						$plugin_information = plugins_api( 'plugin_information', array(
135
+						$plugin_information = plugins_api('plugin_information', array(
136 136
 							'slug'   => $plugin_slug,
137 137
 							'fields' => array(
138 138
 								'short_description' => false,
@@ -149,26 +149,26 @@  discard block
 block discarded – undo
149 149
 								'author_profile'    => false,
150 150
 								'author'            => false,
151 151
 							),
152
-						) );
152
+						));
153 153
 
154
-						if ( is_wp_error( $plugin_information ) ) {
155
-							throw new Exception( $plugin_information->get_error_message() );
154
+						if (is_wp_error($plugin_information)) {
155
+							throw new Exception($plugin_information->get_error_message());
156 156
 						}
157 157
 
158 158
 						$package  = $plugin_information->download_link;
159
-						$download = $upgrader->download_package( $package );
159
+						$download = $upgrader->download_package($package);
160 160
 
161
-						if ( is_wp_error( $download ) ) {
162
-							throw new Exception( $download->get_error_message() );
161
+						if (is_wp_error($download)) {
162
+							throw new Exception($download->get_error_message());
163 163
 						}
164 164
 
165
-						$working_dir = $upgrader->unpack_package( $download, true );
165
+						$working_dir = $upgrader->unpack_package($download, true);
166 166
 
167
-						if ( is_wp_error( $working_dir ) ) {
168
-							throw new Exception( $working_dir->get_error_message() );
167
+						if (is_wp_error($working_dir)) {
168
+							throw new Exception($working_dir->get_error_message());
169 169
 						}
170 170
 
171
-						$result = $upgrader->install_package( array(
171
+						$result = $upgrader->install_package(array(
172 172
 							'source'                      => $working_dir,
173 173
 							'destination'                 => WP_PLUGIN_DIR,
174 174
 							'clear_destination'           => false,
@@ -178,15 +178,15 @@  discard block
 block discarded – undo
178 178
 								'type'   => 'plugin',
179 179
 								'action' => 'install',
180 180
 							),
181
-						) );
181
+						));
182 182
 
183
-						if ( is_wp_error( $result ) ) {
184
-							throw new Exception( $result->get_error_message() );
183
+						if (is_wp_error($result)) {
184
+							throw new Exception($result->get_error_message());
185 185
 						}
186 186
 
187 187
 						$activate = true;
188 188
 
189
-					} catch ( Exception $e ) {
189
+					} catch (Exception $e) {
190 190
 						$success = false;
191 191
 					}
192 192
 
@@ -197,30 +197,30 @@  discard block
 block discarded – undo
197 197
 				wp_clean_plugins_cache();
198 198
 
199 199
 				// Activate this thing
200
-				if ( $activate ) {
200
+				if ($activate) {
201 201
 					try {
202
-						$result = activate_plugin( $plugin );
202
+						$result = activate_plugin($plugin);
203 203
 
204
-						if ( is_wp_error( $result ) ) {
204
+						if (is_wp_error($result)) {
205 205
 							$success = false;
206 206
 						} else {
207 207
 							$success = true;
208 208
 						}
209
-					} catch ( Exception $e ) {
209
+					} catch (Exception $e) {
210 210
 						$success = false;
211 211
 					}
212 212
 				}
213 213
 			}
214 214
 
215
-			if ( $success && function_exists( 'ayecode_connect_args' ) ) {
216
-				ayecode_connect();// init
215
+			if ($success && function_exists('ayecode_connect_args')) {
216
+				ayecode_connect(); // init
217 217
 				$args        = ayecode_connect_args();
218
-				$client      = new AyeCode_Connect( $args );
219
-				$redirect_to = ! empty( $_POST['redirect_to'] ) ? esc_url_raw( $_POST['redirect_to'] ) : '';
220
-				$redirect    = $client->build_connect_url( $redirect_to );
221
-				wp_send_json_success( array( 'connect_url' => $redirect ) );
218
+				$client      = new AyeCode_Connect($args);
219
+				$redirect_to = !empty($_POST['redirect_to']) ? esc_url_raw($_POST['redirect_to']) : '';
220
+				$redirect    = $client->build_connect_url($redirect_to);
221
+				wp_send_json_success(array('connect_url' => $redirect));
222 222
 			} else {
223
-				wp_send_json_error( $this->strings['error_localhost'] );
223
+				wp_send_json_error($this->strings['error_localhost']);
224 224
 			}
225 225
 			wp_die();
226 226
 		}
@@ -233,7 +233,7 @@  discard block
 block discarded – undo
233 233
 		public function is_localhost() {
234 234
 			$localhost = false;
235 235
 
236
-			$host              = isset( $_SERVER['HTTP_HOST'] ) ? $_SERVER['HTTP_HOST'] : '';
236
+			$host              = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
237 237
 			$localhost_domains = array(
238 238
 				'localhost',
239 239
 				'localhost.localdomain',
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
 				'::1'
242 242
 			);
243 243
 
244
-			if ( in_array( $host, $localhost_domains ) ) {
244
+			if (in_array($host, $localhost_domains)) {
245 245
 				$localhost = true;
246 246
 			}
247 247
 
@@ -252,7 +252,7 @@  discard block
 block discarded – undo
252 252
 		 * Show notice to connect site.
253 253
 		 */
254 254
 		public function ayecode_connect_install_notice() {
255
-			if ( $this->maybe_show() ) {
255
+			if ($this->maybe_show()) {
256 256
 				$connect_title_string     = $this->strings['connect_title'];
257 257
 				$connect_external_string  = $this->strings['connect_external'];
258 258
 				$connect_string           = $this->strings['connect'];
@@ -294,19 +294,19 @@  discard block
 block discarded – undo
294 294
 					</svg>
295 295
 					</span>
296 296
 					<span class="acch-float-left acch-text">
297
-						<h3 class="acch-title"><?php echo esc_attr( $connect_title_string ); ?></h3>
297
+						<h3 class="acch-title"><?php echo esc_attr($connect_title_string); ?></h3>
298 298
 					<p><?php echo $connect_string; ?>
299 299
 					</p>
300 300
 					</span>
301 301
 
302 302
 					<span class="acch-float-left acch-button">
303
-						<button onclick="ayecode_connect_helper(this);" id="gd-connect-site" class="button button-primary" data-connecting="<?php echo esc_attr( $connecting_button_string ); ?>"><?php echo esc_attr( $connect_button_string ) ?></button>
303
+						<button onclick="ayecode_connect_helper(this);" id="gd-connect-site" class="button button-primary" data-connecting="<?php echo esc_attr($connecting_button_string); ?>"><?php echo esc_attr($connect_button_string) ?></button>
304 304
 					</span>
305 305
 				</div>
306 306
 
307 307
 				<?php
308 308
 				// only include the popup HTML if needed.
309
-				if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
309
+				if (!empty($_REQUEST['external-connect-request'])) {
310 310
 					?>
311 311
 					<div id="ayecode-connect-helper-external-confirm" style="display:none;">
312 312
 						<div class="noticex notice-info acch-notice" style="border: none;">
@@ -344,11 +344,11 @@  discard block
 block discarded – undo
344 344
 					</svg>
345 345
 					</span>
346 346
 					<span class="acch-float-left acch-text">
347
-						<h3 class="acch-title"><?php echo esc_attr( $connect_external_string ); ?></h3>
347
+						<h3 class="acch-title"><?php echo esc_attr($connect_external_string); ?></h3>
348 348
 					</span>
349 349
 
350 350
 					<span class="acch-float-left acch-button">
351
-						<button onclick="ayecode_connect_helper(this);" id="gd-connect-site" class="button button-primary" data-connecting="<?php echo esc_attr( $connecting_button_string ); ?>"><?php echo esc_attr( $connect_button_string ) ?></button>
351
+						<button onclick="ayecode_connect_helper(this);" id="gd-connect-site" class="button button-primary" data-connecting="<?php echo esc_attr($connecting_button_string); ?>"><?php echo esc_attr($connect_button_string) ?></button>
352 352
 					</span>
353 353
 						</div>
354 354
 					</div>
@@ -366,7 +366,7 @@  discard block
 block discarded – undo
366 366
 		public function script() {
367 367
 
368 368
 			// add thickbox if external request is requested
369
-			if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
369
+			if (!empty($_REQUEST['external-connect-request'])) {
370 370
 				add_thickbox();
371 371
 			}
372 372
 			?>
@@ -417,7 +417,7 @@  discard block
 block discarded – undo
417 417
 						url: ajaxurl,
418 418
 						data: {
419 419
 							action: 'ayecode_connect_helper',
420
-							security: '<?php echo wp_create_nonce( 'ayecode-connect-helper' );?>',
420
+							security: '<?php echo wp_create_nonce('ayecode-connect-helper'); ?>',
421 421
 							redirect_to: $current_url
422 422
 						},
423 423
 						beforeSend: function () {
@@ -436,7 +436,7 @@  discard block
 block discarded – undo
436 436
 				} 
437 437
 				<?php
438 438
 				// add thickbox if external request is requested
439
-				if(! empty( $_REQUEST['external-connect-request'] )) {
439
+				if (!empty($_REQUEST['external-connect-request'])) {
440 440
 				?>
441 441
 				jQuery(function () {
442 442
 					setTimeout(function () {
@@ -459,9 +459,9 @@  discard block
 block discarded – undo
459 459
 			$show = false;
460 460
 
461 461
 			// check if on a page set to show
462
-			if ( isset( $_REQUEST['page'] ) && in_array( $_REQUEST['page'], $this->pages ) ) {
462
+			if (isset($_REQUEST['page']) && in_array($_REQUEST['page'], $this->pages)) {
463 463
 				// check if not active and connected
464
-				if ( ! defined( 'AYECODE_CONNECT_VERSION' ) || ! get_option( 'ayecode_connect_blog_token' ) ) {
464
+				if (!defined('AYECODE_CONNECT_VERSION') || !get_option('ayecode_connect_blog_token')) {
465 465
 					$show = true;
466 466
 				}
467 467
 			}
Please login to merge, or discard this patch.