Passed
Pull Request — master (#262)
by Brian
04:33
created
includes/class-wpinv-addons.php 3 patches
Braces   +11 added lines, -12 removed lines patch added patch discarded remove patch
@@ -45,8 +45,7 @@  discard block
 block discarded – undo
45 45
 
46 46
 		if($section_id=='recommended_plugins'){
47 47
 			$section_data->products = self::get_recommend_wp_plugins_edd_formatted();
48
-		}
49
-		elseif ( ! empty( $section ) ) {
48
+		} elseif ( ! empty( $section ) ) {
50 49
 			if ( false === ( $section_data = get_transient( 'wpi_addons_section_' . $section_id ) ) ) { //@todo restore after testing
51 50
 			//if ( 1==1) {
52 51
 
@@ -121,13 +120,13 @@  discard block
 block discarded – undo
121 120
 			$button_args['file'] = isset($status['file']) ? $status['file'] : '';
122 121
 			if(isset($status['status'])){$button_args['install_status'] = $status['status'];}
123 122
 			$button_args['update_url'] = "https://wpinvoicing.com";
124
-		}elseif($current_tab == 'themes' && isset($addon->info->id) && $addon->info->id) {
123
+		} elseif($current_tab == 'themes' && isset($addon->info->id) && $addon->info->id) {
125 124
 			if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
126 125
 			$button_args['installed'] = self::is_theme_installed($addon);
127 126
 			if(!in_array($button_args['slug'],$wp_org_themes)){
128 127
 				$button_args['update_url'] = "https://wpinvoicing.com";
129 128
 			}
130
-		}elseif($current_tab == 'recommended_plugins' && isset($addon->info->slug) && $addon->info->slug){
129
+		} elseif($current_tab == 'recommended_plugins' && isset($addon->info->slug) && $addon->info->slug){
131 130
 			include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
132 131
 			$status = install_plugin_install_status(array("slug"=>$button_args['slug'],"version"=>""));
133 132
 			$button_args['install_status'] = isset($status['status']) ? $status['status'] : 'install';
@@ -139,7 +138,7 @@  discard block
 block discarded – undo
139 138
 			if(is_object($addon->pricing)){
140 139
 				$prices = (Array)$addon->pricing;
141 140
 				$button_args['price'] = reset($prices);
142
-			}elseif(isset($addon->pricing)){
141
+			} elseif(isset($addon->pricing)){
143 142
 				$button_args['price'] = $addon->pricing;
144 143
 			}
145 144
 		}
@@ -160,7 +159,7 @@  discard block
 block discarded – undo
160 159
 		if($button_args['installed'] && ($button_args['file'] || $button_args['type'] == 'themes')){
161 160
 			if($button_args['type'] != 'themes'){
162 161
 				$button_args['active'] = is_plugin_active($button_args['file']);
163
-			}else{
162
+			} else{
164 163
 				$button_args['active'] = self::is_theme_active($addon);
165 164
 			}
166 165
 		}
@@ -169,27 +168,27 @@  discard block
 block discarded – undo
169 168
 		if($button_args['active']){
170 169
 			$button_args['button_text'] = __('Active','invoicing');
171 170
 			$button_args['class'] = ' button-secondary disabled ';
172
-		}elseif($button_args['installed']){
171
+		} elseif($button_args['installed']){
173 172
 			$button_args['button_text'] = __('Activate','invoicing');
174 173
 
175 174
 			if($button_args['type'] != 'themes'){
176 175
 				if ( current_user_can( 'manage_options' ) ) {
177 176
 					$button_args['url'] = wp_nonce_url(admin_url('plugins.php?action=activate&plugin='.$button_args['file']), 'activate-plugin_' . $button_args['file']);
178
-				}else{
177
+				} else{
179 178
 					$button_args['url'] = '#';
180 179
 				}
181
-			}else{
180
+			} else{
182 181
 				if ( current_user_can( 'switch_themes' ) ) {
183 182
 					$button_args['url'] = self::get_theme_activation_url($addon);
184
-				}else{
183
+				} else{
185 184
 					$button_args['url'] = '#';
186 185
 				}
187 186
 			}
188 187
 
189
-		}else{
188
+		} else{
190 189
 			if($button_args['type'] == 'recommended_plugins'){
191 190
 				$button_args['button_text'] = __('Install','invoicing');
192
-			}else{
191
+			} else{
193 192
 				$button_args['button_text'] = __('Get it','invoicing');
194 193
 
195 194
 				/*if($button_args['type'] == 'themes' && in_array($button_args['slug'],$wp_org_themes) ){
Please login to merge, or discard this patch.
Indentation   +201 added lines, -201 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  *
7 7
  */
8 8
 if ( ! defined( 'ABSPATH' ) ) {
9
-	exit;
9
+    exit;
10 10
 }
11 11
 
12 12
 /**
@@ -15,71 +15,71 @@  discard block
 block discarded – undo
15 15
 class WPInv_Admin_Addons extends Ayecode_Addons {
16 16
 
17 17
 
18
-	/**
19
-	 * Get the extensions page tabs.
20
-	 *
21
-	 * @return array of tabs.
22
-	 */
23
-	public function get_tabs(){
24
-		$tabs = array(
25
-			'addons' => __("Addons", "invoicing"),
18
+    /**
19
+     * Get the extensions page tabs.
20
+     *
21
+     * @return array of tabs.
22
+     */
23
+    public function get_tabs(){
24
+        $tabs = array(
25
+            'addons' => __("Addons", "invoicing"),
26 26
             'gateways' => __("Payment Gateways", "invoicing"),
27 27
             'recommended_plugins' => __("Recommended plugins", "invoicing"),
28 28
             'membership' => __("Membership", "invoicing"),
29
-		);
30
-
31
-		return $tabs;
32
-	}
33
-
34
-	/**
35
-	 * Get section content for the addons screen.
36
-	 *
37
-	 * @param  string $section_id
38
-	 *
39
-	 * @return array
40
-	 */
41
-	public function get_section_data( $section_id ) {
42
-		$section      = self::get_tab( $section_id );
43
-		$api_url = "https://wpinvoicing.com/edd-api/v2/products/";
44
-		$section_data = new stdClass();
45
-
46
-		if($section_id=='recommended_plugins'){
47
-			$section_data->products = self::get_recommend_wp_plugins_edd_formatted();
48
-		}
49
-		elseif ( ! empty( $section ) ) {
50
-			if ( false === ( $section_data = get_transient( 'wpi_addons_section_' . $section_id ) ) ) { //@todo restore after testing
51
-			//if ( 1==1) {
52
-
53
-				$query_args = array( 'category' => $section_id, 'number' => 100);
54
-				$query_args = apply_filters('wpeu_edd_api_query_args',$query_args,$api_url,$section_id);
55
-
56
-				$raw_section = wp_safe_remote_get( esc_url_raw( add_query_arg($query_args ,$api_url) ), array( 'user-agent' => 'Invoicing Addons Page','timeout'     => 15, ) );
57
-
58
-				if ( ! is_wp_error( $raw_section ) ) {
59
-					$section_data = json_decode( wp_remote_retrieve_body( $raw_section ) );
60
-
61
-					if ( ! empty( $section_data->products ) ) {
62
-						set_transient( 'wpi_addons_section_' . $section_id, $section_data, DAY_IN_SECONDS );
63
-					}
64
-				}
65
-			}
66
-		}
67
-
68
-		$products = isset($section_data->products) ? $section_data->products : '';
69
-
70
-		return apply_filters( 'wpi_addons_section_data', $products, $section_id );
71
-	}
72
-
73
-	/**
74
-	 * Outputs a button.
75
-	 *ccc
76
-	 * @param string $url
77
-	 * @param string $text
78
-	 * @param string $theme
79
-	 * @param string $plugin
80
-	 */
81
-	public function output_button( $addon ) {
82
-		$current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
29
+        );
30
+
31
+        return $tabs;
32
+    }
33
+
34
+    /**
35
+     * Get section content for the addons screen.
36
+     *
37
+     * @param  string $section_id
38
+     *
39
+     * @return array
40
+     */
41
+    public function get_section_data( $section_id ) {
42
+        $section      = self::get_tab( $section_id );
43
+        $api_url = "https://wpinvoicing.com/edd-api/v2/products/";
44
+        $section_data = new stdClass();
45
+
46
+        if($section_id=='recommended_plugins'){
47
+            $section_data->products = self::get_recommend_wp_plugins_edd_formatted();
48
+        }
49
+        elseif ( ! empty( $section ) ) {
50
+            if ( false === ( $section_data = get_transient( 'wpi_addons_section_' . $section_id ) ) ) { //@todo restore after testing
51
+            //if ( 1==1) {
52
+
53
+                $query_args = array( 'category' => $section_id, 'number' => 100);
54
+                $query_args = apply_filters('wpeu_edd_api_query_args',$query_args,$api_url,$section_id);
55
+
56
+                $raw_section = wp_safe_remote_get( esc_url_raw( add_query_arg($query_args ,$api_url) ), array( 'user-agent' => 'Invoicing Addons Page','timeout'     => 15, ) );
57
+
58
+                if ( ! is_wp_error( $raw_section ) ) {
59
+                    $section_data = json_decode( wp_remote_retrieve_body( $raw_section ) );
60
+
61
+                    if ( ! empty( $section_data->products ) ) {
62
+                        set_transient( 'wpi_addons_section_' . $section_id, $section_data, DAY_IN_SECONDS );
63
+                    }
64
+                }
65
+            }
66
+        }
67
+
68
+        $products = isset($section_data->products) ? $section_data->products : '';
69
+
70
+        return apply_filters( 'wpi_addons_section_data', $products, $section_id );
71
+    }
72
+
73
+    /**
74
+     * Outputs a button.
75
+     *ccc
76
+     * @param string $url
77
+     * @param string $text
78
+     * @param string $theme
79
+     * @param string $plugin
80
+     */
81
+    public function output_button( $addon ) {
82
+        $current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
83 83
 //		$button_text = __('Free','invoicing');
84 84
 //		$licensing = false;
85 85
 //		$installed = false;
@@ -91,123 +91,123 @@  discard block
 block discarded – undo
91 91
 //		$install_status = 'get';
92 92
 //		$onclick = '';
93 93
 
94
-		$wp_org_themes = array('supreme-directory','directory-starter');
95
-
96
-		$button_args = array(
97
-			'type' => ($current_tab == 'addons' || $current_tab =='gateways') ? 'addons' : $current_tab,
98
-			'id' => isset($addon->info->id) ? absint($addon->info->id) : '',
99
-			'title' => isset($addon->info->title) ? $addon->info->title : '',
100
-			'button_text' => __('Free','invoicing'),
101
-			'price_text' => __('Free','invoicing'),
102
-			'link' => isset($addon->info->link) ? $addon->info->link : '', // link to product
103
-			'url' => isset($addon->info->link) ? $addon->info->link : '', // button url
104
-			'class' => 'button-primary',
105
-			'install_status' => 'get',
106
-			'installed' => false,
107
-			'price' => '',
108
-			'licensing' => isset($addon->licensing->enabled) && $addon->licensing->enabled ? true : false,
109
-			'license' => isset($addon->licensing->license) && $addon->licensing->license ? $addon->licensing->license : '',
110
-			'onclick' => '',
111
-			'slug' => isset($addon->info->slug) ? $addon->info->slug : '',
112
-			'active' => false,
113
-			'file' => '',
114
-			'update_url' => '',
115
-		);
116
-
117
-		if( ($current_tab == 'addons' || $current_tab =='gateways') && isset($addon->info->id) && $addon->info->id){
118
-			include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
119
-			if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
120
-			$status = self::install_plugin_install_status($addon);
121
-			$button_args['file'] = isset($status['file']) ? $status['file'] : '';
122
-			if(isset($status['status'])){$button_args['install_status'] = $status['status'];}
123
-			$button_args['update_url'] = "https://wpinvoicing.com";
124
-		}elseif($current_tab == 'themes' && isset($addon->info->id) && $addon->info->id) {
125
-			if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
126
-			$button_args['installed'] = self::is_theme_installed($addon);
127
-			if(!in_array($button_args['slug'],$wp_org_themes)){
128
-				$button_args['update_url'] = "https://wpinvoicing.com";
129
-			}
130
-		}elseif($current_tab == 'recommended_plugins' && isset($addon->info->slug) && $addon->info->slug){
131
-			include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
132
-			$status = install_plugin_install_status(array("slug"=>$button_args['slug'],"version"=>""));
133
-			$button_args['install_status'] = isset($status['status']) ? $status['status'] : 'install';
134
-			$button_args['file'] = isset($status['file']) ? $status['file'] : '';
135
-		}
136
-
137
-		// set price
138
-		if(isset($addon->pricing) && !empty($addon->pricing)){
139
-			if(is_object($addon->pricing)){
140
-				$prices = (Array)$addon->pricing;
141
-				$button_args['price'] = reset($prices);
142
-			}elseif(isset($addon->pricing)){
143
-				$button_args['price'] = $addon->pricing;
144
-			}
145
-		}
146
-
147
-		// set price text
148
-		if( $button_args['price'] && $button_args['price'] != '0.00' ){
149
-			$button_args['price_text'] = sprintf( __('From: $%d', 'invoicing'), $button_args['price']);
150
-		}
151
-
152
-
153
-		// set if installed
154
-		if(in_array($button_args['install_status'], array('installed','latest_installed','update_available','newer_installed'))){
155
-			$button_args['installed'] = true;
156
-		}
94
+        $wp_org_themes = array('supreme-directory','directory-starter');
95
+
96
+        $button_args = array(
97
+            'type' => ($current_tab == 'addons' || $current_tab =='gateways') ? 'addons' : $current_tab,
98
+            'id' => isset($addon->info->id) ? absint($addon->info->id) : '',
99
+            'title' => isset($addon->info->title) ? $addon->info->title : '',
100
+            'button_text' => __('Free','invoicing'),
101
+            'price_text' => __('Free','invoicing'),
102
+            'link' => isset($addon->info->link) ? $addon->info->link : '', // link to product
103
+            'url' => isset($addon->info->link) ? $addon->info->link : '', // button url
104
+            'class' => 'button-primary',
105
+            'install_status' => 'get',
106
+            'installed' => false,
107
+            'price' => '',
108
+            'licensing' => isset($addon->licensing->enabled) && $addon->licensing->enabled ? true : false,
109
+            'license' => isset($addon->licensing->license) && $addon->licensing->license ? $addon->licensing->license : '',
110
+            'onclick' => '',
111
+            'slug' => isset($addon->info->slug) ? $addon->info->slug : '',
112
+            'active' => false,
113
+            'file' => '',
114
+            'update_url' => '',
115
+        );
116
+
117
+        if( ($current_tab == 'addons' || $current_tab =='gateways') && isset($addon->info->id) && $addon->info->id){
118
+            include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
119
+            if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
120
+            $status = self::install_plugin_install_status($addon);
121
+            $button_args['file'] = isset($status['file']) ? $status['file'] : '';
122
+            if(isset($status['status'])){$button_args['install_status'] = $status['status'];}
123
+            $button_args['update_url'] = "https://wpinvoicing.com";
124
+        }elseif($current_tab == 'themes' && isset($addon->info->id) && $addon->info->id) {
125
+            if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
126
+            $button_args['installed'] = self::is_theme_installed($addon);
127
+            if(!in_array($button_args['slug'],$wp_org_themes)){
128
+                $button_args['update_url'] = "https://wpinvoicing.com";
129
+            }
130
+        }elseif($current_tab == 'recommended_plugins' && isset($addon->info->slug) && $addon->info->slug){
131
+            include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
132
+            $status = install_plugin_install_status(array("slug"=>$button_args['slug'],"version"=>""));
133
+            $button_args['install_status'] = isset($status['status']) ? $status['status'] : 'install';
134
+            $button_args['file'] = isset($status['file']) ? $status['file'] : '';
135
+        }
136
+
137
+        // set price
138
+        if(isset($addon->pricing) && !empty($addon->pricing)){
139
+            if(is_object($addon->pricing)){
140
+                $prices = (Array)$addon->pricing;
141
+                $button_args['price'] = reset($prices);
142
+            }elseif(isset($addon->pricing)){
143
+                $button_args['price'] = $addon->pricing;
144
+            }
145
+        }
146
+
147
+        // set price text
148
+        if( $button_args['price'] && $button_args['price'] != '0.00' ){
149
+            $button_args['price_text'] = sprintf( __('From: $%d', 'invoicing'), $button_args['price']);
150
+        }
151
+
152
+
153
+        // set if installed
154
+        if(in_array($button_args['install_status'], array('installed','latest_installed','update_available','newer_installed'))){
155
+            $button_args['installed'] = true;
156
+        }
157 157
 
158 158
 //		print_r($button_args);
159
-		// set if active
160
-		if($button_args['installed'] && ($button_args['file'] || $button_args['type'] == 'themes')){
161
-			if($button_args['type'] != 'themes'){
162
-				$button_args['active'] = is_plugin_active($button_args['file']);
163
-			}else{
164
-				$button_args['active'] = self::is_theme_active($addon);
165
-			}
166
-		}
167
-
168
-		// set button text and class
169
-		if($button_args['active']){
170
-			$button_args['button_text'] = __('Active','invoicing');
171
-			$button_args['class'] = ' button-secondary disabled ';
172
-		}elseif($button_args['installed']){
173
-			$button_args['button_text'] = __('Activate','invoicing');
174
-
175
-			if($button_args['type'] != 'themes'){
176
-				if ( current_user_can( 'manage_options' ) ) {
177
-					$button_args['url'] = wp_nonce_url(admin_url('plugins.php?action=activate&plugin='.$button_args['file']), 'activate-plugin_' . $button_args['file']);
178
-				}else{
179
-					$button_args['url'] = '#';
180
-				}
181
-			}else{
182
-				if ( current_user_can( 'switch_themes' ) ) {
183
-					$button_args['url'] = self::get_theme_activation_url($addon);
184
-				}else{
185
-					$button_args['url'] = '#';
186
-				}
187
-			}
188
-
189
-		}else{
190
-			if($button_args['type'] == 'recommended_plugins'){
191
-				$button_args['button_text'] = __('Install','invoicing');
192
-			}else{
193
-				$button_args['button_text'] = __('Get it','invoicing');
194
-
195
-				/*if($button_args['type'] == 'themes' && in_array($button_args['slug'],$wp_org_themes) ){
159
+        // set if active
160
+        if($button_args['installed'] && ($button_args['file'] || $button_args['type'] == 'themes')){
161
+            if($button_args['type'] != 'themes'){
162
+                $button_args['active'] = is_plugin_active($button_args['file']);
163
+            }else{
164
+                $button_args['active'] = self::is_theme_active($addon);
165
+            }
166
+        }
167
+
168
+        // set button text and class
169
+        if($button_args['active']){
170
+            $button_args['button_text'] = __('Active','invoicing');
171
+            $button_args['class'] = ' button-secondary disabled ';
172
+        }elseif($button_args['installed']){
173
+            $button_args['button_text'] = __('Activate','invoicing');
174
+
175
+            if($button_args['type'] != 'themes'){
176
+                if ( current_user_can( 'manage_options' ) ) {
177
+                    $button_args['url'] = wp_nonce_url(admin_url('plugins.php?action=activate&plugin='.$button_args['file']), 'activate-plugin_' . $button_args['file']);
178
+                }else{
179
+                    $button_args['url'] = '#';
180
+                }
181
+            }else{
182
+                if ( current_user_can( 'switch_themes' ) ) {
183
+                    $button_args['url'] = self::get_theme_activation_url($addon);
184
+                }else{
185
+                    $button_args['url'] = '#';
186
+                }
187
+            }
188
+
189
+        }else{
190
+            if($button_args['type'] == 'recommended_plugins'){
191
+                $button_args['button_text'] = __('Install','invoicing');
192
+            }else{
193
+                $button_args['button_text'] = __('Get it','invoicing');
194
+
195
+                /*if($button_args['type'] == 'themes' && in_array($button_args['slug'],$wp_org_themes) ){
196 196
 					$button_args['button_text'] = __('Install','invoicing');
197 197
 					$button_args['url'] = self::get_theme_install_url($button_args['slug']);
198 198
 					$button_args['onclick'] = 'gd_set_button_installing(this);';
199 199
 				}*/
200 200
 
201
-			}
202
-		}
201
+            }
202
+        }
203 203
 
204 204
 		
205
-		// filter the button arguments
206
-		$button_args = apply_filters('edd_api_button_args',$button_args);
205
+        // filter the button arguments
206
+        $button_args = apply_filters('edd_api_button_args',$button_args);
207 207
 //		print_r($button_args);
208
-		// set price text
209
-		if(isset($button_args['price_text'])){
210
-			?>
208
+        // set price text
209
+        if(isset($button_args['price_text'])){
210
+            ?>
211 211
 			<a
212 212
 				target="_blank"
213 213
 				class="addons-price-text"
@@ -215,15 +215,15 @@  discard block
 block discarded – undo
215 215
 				<?php echo esc_html( $button_args['price_text'] ); ?>
216 216
 			</a>
217 217
 			<?php
218
-		}
218
+        }
219 219
 
220 220
 
221
-		$target = '';
222
-		if ( ! empty( $button_args['url'] ) ) {
223
-			$target = strpos($button_args['url'], get_site_url()) !== false ? '' : ' target="_blank" ';
224
-		}
221
+        $target = '';
222
+        if ( ! empty( $button_args['url'] ) ) {
223
+            $target = strpos($button_args['url'], get_site_url()) !== false ? '' : ' target="_blank" ';
224
+        }
225 225
 
226
-		?>
226
+        ?>
227 227
 		<a
228 228
 			data-licence="<?php echo esc_attr($button_args['license']);?>"
229 229
 			data-licensing="<?php echo $button_args['licensing'] ? 1 : 0;?>"
@@ -246,28 +246,28 @@  discard block
 block discarded – undo
246 246
 		<?php
247 247
 
248 248
 
249
-	}
250
-
251
-
252
-	/**
253
-	 * Handles output of the addons page in admin.
254
-	 */
255
-	public function output() {
256
-		$tabs            = self::get_tabs();
257
-		$sections        = self::get_sections();
258
-		$theme           = wp_get_theme();
259
-		$section_keys    = array_keys( $sections );
260
-		$current_section = isset( $_GET['section'] ) ? sanitize_text_field( $_GET['section'] ) : current( $section_keys );
261
-		$current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
262
-		include_once( WPINV_PLUGIN_DIR . '/includes/admin/html-admin-page-addons.php' );
263
-	}
264
-
265
-	/**
266
-	 * A list of recommended wp.org plugins.
267
-	 * @return array
268
-	 */
269
-	public function get_recommend_wp_plugins(){
270
-		$plugins = array(
249
+    }
250
+
251
+
252
+    /**
253
+     * Handles output of the addons page in admin.
254
+     */
255
+    public function output() {
256
+        $tabs            = self::get_tabs();
257
+        $sections        = self::get_sections();
258
+        $theme           = wp_get_theme();
259
+        $section_keys    = array_keys( $sections );
260
+        $current_section = isset( $_GET['section'] ) ? sanitize_text_field( $_GET['section'] ) : current( $section_keys );
261
+        $current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
262
+        include_once( WPINV_PLUGIN_DIR . '/includes/admin/html-admin-page-addons.php' );
263
+    }
264
+
265
+    /**
266
+     * A list of recommended wp.org plugins.
267
+     * @return array
268
+     */
269
+    public function get_recommend_wp_plugins(){
270
+        $plugins = array(
271 271
             'invoicing-quotes' => array(
272 272
                 'url'   => 'https://wordpress.org/plugins/invoicing-quotes/',
273 273
                 'slug'   => 'invoicing-quotes',
@@ -286,8 +286,8 @@  discard block
 block discarded – undo
286 286
                 'name'   => 'UsersWP',
287 287
                 'desc'   => __('Allow frontend user login and registration as well as have slick profile pages.','invoicing'),
288 288
             ),
289
-		);
289
+        );
290 290
 
291
-		return $plugins;
292
-	}
291
+        return $plugins;
292
+    }
293 293
 }
Please login to merge, or discard this patch.
Spacing   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * All Invoicing extensions screen related functions can be found here.
6 6
  *
7 7
  */
8
-if ( ! defined( 'ABSPATH' ) ) {
8
+if (!defined('ABSPATH')) {
9 9
 	exit;
10 10
 }
11 11
 
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
 	 *
21 21
 	 * @return array of tabs.
22 22
 	 */
23
-	public function get_tabs(){
23
+	public function get_tabs() {
24 24
 		$tabs = array(
25 25
 			'addons' => __("Addons", "invoicing"),
26 26
             'gateways' => __("Payment Gateways", "invoicing"),
@@ -38,28 +38,28 @@  discard block
 block discarded – undo
38 38
 	 *
39 39
 	 * @return array
40 40
 	 */
41
-	public function get_section_data( $section_id ) {
42
-		$section      = self::get_tab( $section_id );
41
+	public function get_section_data($section_id) {
42
+		$section      = self::get_tab($section_id);
43 43
 		$api_url = "https://wpinvoicing.com/edd-api/v2/products/";
44 44
 		$section_data = new stdClass();
45 45
 
46
-		if($section_id=='recommended_plugins'){
46
+		if ($section_id == 'recommended_plugins') {
47 47
 			$section_data->products = self::get_recommend_wp_plugins_edd_formatted();
48 48
 		}
49
-		elseif ( ! empty( $section ) ) {
50
-			if ( false === ( $section_data = get_transient( 'wpi_addons_section_' . $section_id ) ) ) { //@todo restore after testing
49
+		elseif (!empty($section)) {
50
+			if (false === ($section_data = get_transient('wpi_addons_section_' . $section_id))) { //@todo restore after testing
51 51
 			//if ( 1==1) {
52 52
 
53
-				$query_args = array( 'category' => $section_id, 'number' => 100);
54
-				$query_args = apply_filters('wpeu_edd_api_query_args',$query_args,$api_url,$section_id);
53
+				$query_args = array('category' => $section_id, 'number' => 100);
54
+				$query_args = apply_filters('wpeu_edd_api_query_args', $query_args, $api_url, $section_id);
55 55
 
56
-				$raw_section = wp_safe_remote_get( esc_url_raw( add_query_arg($query_args ,$api_url) ), array( 'user-agent' => 'Invoicing Addons Page','timeout'     => 15, ) );
56
+				$raw_section = wp_safe_remote_get(esc_url_raw(add_query_arg($query_args, $api_url)), array('user-agent' => 'Invoicing Addons Page', 'timeout'     => 15,));
57 57
 
58
-				if ( ! is_wp_error( $raw_section ) ) {
59
-					$section_data = json_decode( wp_remote_retrieve_body( $raw_section ) );
58
+				if (!is_wp_error($raw_section)) {
59
+					$section_data = json_decode(wp_remote_retrieve_body($raw_section));
60 60
 
61
-					if ( ! empty( $section_data->products ) ) {
62
-						set_transient( 'wpi_addons_section_' . $section_id, $section_data, DAY_IN_SECONDS );
61
+					if (!empty($section_data->products)) {
62
+						set_transient('wpi_addons_section_' . $section_id, $section_data, DAY_IN_SECONDS);
63 63
 					}
64 64
 				}
65 65
 			}
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
 
68 68
 		$products = isset($section_data->products) ? $section_data->products : '';
69 69
 
70
-		return apply_filters( 'wpi_addons_section_data', $products, $section_id );
70
+		return apply_filters('wpi_addons_section_data', $products, $section_id);
71 71
 	}
72 72
 
73 73
 	/**
@@ -78,8 +78,8 @@  discard block
 block discarded – undo
78 78
 	 * @param string $theme
79 79
 	 * @param string $plugin
80 80
 	 */
81
-	public function output_button( $addon ) {
82
-		$current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
81
+	public function output_button($addon) {
82
+		$current_tab = empty($_GET['tab']) ? 'addons' : sanitize_title($_GET['tab']);
83 83
 //		$button_text = __('Free','invoicing');
84 84
 //		$licensing = false;
85 85
 //		$installed = false;
@@ -91,14 +91,14 @@  discard block
 block discarded – undo
91 91
 //		$install_status = 'get';
92 92
 //		$onclick = '';
93 93
 
94
-		$wp_org_themes = array('supreme-directory','directory-starter');
94
+		$wp_org_themes = array('supreme-directory', 'directory-starter');
95 95
 
96 96
 		$button_args = array(
97
-			'type' => ($current_tab == 'addons' || $current_tab =='gateways') ? 'addons' : $current_tab,
97
+			'type' => ($current_tab == 'addons' || $current_tab == 'gateways') ? 'addons' : $current_tab,
98 98
 			'id' => isset($addon->info->id) ? absint($addon->info->id) : '',
99 99
 			'title' => isset($addon->info->title) ? $addon->info->title : '',
100
-			'button_text' => __('Free','invoicing'),
101
-			'price_text' => __('Free','invoicing'),
100
+			'button_text' => __('Free', 'invoicing'),
101
+			'price_text' => __('Free', 'invoicing'),
102 102
 			'link' => isset($addon->info->link) ? $addon->info->link : '', // link to product
103 103
 			'url' => isset($addon->info->link) ? $addon->info->link : '', // button url
104 104
 			'class' => 'button-primary',
@@ -114,83 +114,83 @@  discard block
 block discarded – undo
114 114
 			'update_url' => '',
115 115
 		);
116 116
 
117
-		if( ($current_tab == 'addons' || $current_tab =='gateways') && isset($addon->info->id) && $addon->info->id){
118
-			include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
119
-			if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
117
+		if (($current_tab == 'addons' || $current_tab == 'gateways') && isset($addon->info->id) && $addon->info->id) {
118
+			include_once(ABSPATH . 'wp-admin/includes/plugin-install.php'); //for plugins_api..
119
+			if (!empty($addon->licensing->edd_slug)) {$button_args['slug'] = $addon->licensing->edd_slug; }
120 120
 			$status = self::install_plugin_install_status($addon);
121 121
 			$button_args['file'] = isset($status['file']) ? $status['file'] : '';
122
-			if(isset($status['status'])){$button_args['install_status'] = $status['status'];}
122
+			if (isset($status['status'])) {$button_args['install_status'] = $status['status']; }
123 123
 			$button_args['update_url'] = "https://wpinvoicing.com";
124
-		}elseif($current_tab == 'themes' && isset($addon->info->id) && $addon->info->id) {
125
-			if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
124
+		}elseif ($current_tab == 'themes' && isset($addon->info->id) && $addon->info->id) {
125
+			if (!empty($addon->licensing->edd_slug)) {$button_args['slug'] = $addon->licensing->edd_slug; }
126 126
 			$button_args['installed'] = self::is_theme_installed($addon);
127
-			if(!in_array($button_args['slug'],$wp_org_themes)){
127
+			if (!in_array($button_args['slug'], $wp_org_themes)) {
128 128
 				$button_args['update_url'] = "https://wpinvoicing.com";
129 129
 			}
130
-		}elseif($current_tab == 'recommended_plugins' && isset($addon->info->slug) && $addon->info->slug){
131
-			include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
132
-			$status = install_plugin_install_status(array("slug"=>$button_args['slug'],"version"=>""));
130
+		}elseif ($current_tab == 'recommended_plugins' && isset($addon->info->slug) && $addon->info->slug) {
131
+			include_once(ABSPATH . 'wp-admin/includes/plugin-install.php'); //for plugins_api..
132
+			$status = install_plugin_install_status(array("slug"=>$button_args['slug'], "version"=>""));
133 133
 			$button_args['install_status'] = isset($status['status']) ? $status['status'] : 'install';
134 134
 			$button_args['file'] = isset($status['file']) ? $status['file'] : '';
135 135
 		}
136 136
 
137 137
 		// set price
138
-		if(isset($addon->pricing) && !empty($addon->pricing)){
139
-			if(is_object($addon->pricing)){
140
-				$prices = (Array)$addon->pricing;
138
+		if (isset($addon->pricing) && !empty($addon->pricing)) {
139
+			if (is_object($addon->pricing)) {
140
+				$prices = (Array) $addon->pricing;
141 141
 				$button_args['price'] = reset($prices);
142
-			}elseif(isset($addon->pricing)){
142
+			}elseif (isset($addon->pricing)) {
143 143
 				$button_args['price'] = $addon->pricing;
144 144
 			}
145 145
 		}
146 146
 
147 147
 		// set price text
148
-		if( $button_args['price'] && $button_args['price'] != '0.00' ){
149
-			$button_args['price_text'] = sprintf( __('From: $%d', 'invoicing'), $button_args['price']);
148
+		if ($button_args['price'] && $button_args['price'] != '0.00') {
149
+			$button_args['price_text'] = sprintf(__('From: $%d', 'invoicing'), $button_args['price']);
150 150
 		}
151 151
 
152 152
 
153 153
 		// set if installed
154
-		if(in_array($button_args['install_status'], array('installed','latest_installed','update_available','newer_installed'))){
154
+		if (in_array($button_args['install_status'], array('installed', 'latest_installed', 'update_available', 'newer_installed'))) {
155 155
 			$button_args['installed'] = true;
156 156
 		}
157 157
 
158 158
 //		print_r($button_args);
159 159
 		// set if active
160
-		if($button_args['installed'] && ($button_args['file'] || $button_args['type'] == 'themes')){
161
-			if($button_args['type'] != 'themes'){
160
+		if ($button_args['installed'] && ($button_args['file'] || $button_args['type'] == 'themes')) {
161
+			if ($button_args['type'] != 'themes') {
162 162
 				$button_args['active'] = is_plugin_active($button_args['file']);
163
-			}else{
163
+			} else {
164 164
 				$button_args['active'] = self::is_theme_active($addon);
165 165
 			}
166 166
 		}
167 167
 
168 168
 		// set button text and class
169
-		if($button_args['active']){
170
-			$button_args['button_text'] = __('Active','invoicing');
169
+		if ($button_args['active']) {
170
+			$button_args['button_text'] = __('Active', 'invoicing');
171 171
 			$button_args['class'] = ' button-secondary disabled ';
172
-		}elseif($button_args['installed']){
173
-			$button_args['button_text'] = __('Activate','invoicing');
172
+		}elseif ($button_args['installed']) {
173
+			$button_args['button_text'] = __('Activate', 'invoicing');
174 174
 
175
-			if($button_args['type'] != 'themes'){
176
-				if ( current_user_can( 'manage_options' ) ) {
177
-					$button_args['url'] = wp_nonce_url(admin_url('plugins.php?action=activate&plugin='.$button_args['file']), 'activate-plugin_' . $button_args['file']);
178
-				}else{
175
+			if ($button_args['type'] != 'themes') {
176
+				if (current_user_can('manage_options')) {
177
+					$button_args['url'] = wp_nonce_url(admin_url('plugins.php?action=activate&plugin=' . $button_args['file']), 'activate-plugin_' . $button_args['file']);
178
+				} else {
179 179
 					$button_args['url'] = '#';
180 180
 				}
181
-			}else{
182
-				if ( current_user_can( 'switch_themes' ) ) {
181
+			} else {
182
+				if (current_user_can('switch_themes')) {
183 183
 					$button_args['url'] = self::get_theme_activation_url($addon);
184
-				}else{
184
+				} else {
185 185
 					$button_args['url'] = '#';
186 186
 				}
187 187
 			}
188 188
 
189
-		}else{
190
-			if($button_args['type'] == 'recommended_plugins'){
191
-				$button_args['button_text'] = __('Install','invoicing');
192
-			}else{
193
-				$button_args['button_text'] = __('Get it','invoicing');
189
+		} else {
190
+			if ($button_args['type'] == 'recommended_plugins') {
191
+				$button_args['button_text'] = __('Install', 'invoicing');
192
+			} else {
193
+				$button_args['button_text'] = __('Get it', 'invoicing');
194 194
 
195 195
 				/*if($button_args['type'] == 'themes' && in_array($button_args['slug'],$wp_org_themes) ){
196 196
 					$button_args['button_text'] = __('Install','invoicing');
@@ -203,45 +203,45 @@  discard block
 block discarded – undo
203 203
 
204 204
 		
205 205
 		// filter the button arguments
206
-		$button_args = apply_filters('edd_api_button_args',$button_args);
206
+		$button_args = apply_filters('edd_api_button_args', $button_args);
207 207
 //		print_r($button_args);
208 208
 		// set price text
209
-		if(isset($button_args['price_text'])){
209
+		if (isset($button_args['price_text'])) {
210 210
 			?>
211 211
 			<a
212 212
 				target="_blank"
213 213
 				class="addons-price-text"
214
-				href="<?php echo esc_url( $button_args['link'] ); ?>">
215
-				<?php echo esc_html( $button_args['price_text'] ); ?>
214
+				href="<?php echo esc_url($button_args['link']); ?>">
215
+				<?php echo esc_html($button_args['price_text']); ?>
216 216
 			</a>
217 217
 			<?php
218 218
 		}
219 219
 
220 220
 
221 221
 		$target = '';
222
-		if ( ! empty( $button_args['url'] ) ) {
222
+		if (!empty($button_args['url'])) {
223 223
 			$target = strpos($button_args['url'], get_site_url()) !== false ? '' : ' target="_blank" ';
224 224
 		}
225 225
 
226 226
 		?>
227 227
 		<a
228
-			data-licence="<?php echo esc_attr($button_args['license']);?>"
229
-			data-licensing="<?php echo $button_args['licensing'] ? 1 : 0;?>"
230
-			data-title="<?php echo esc_attr($button_args['title']);?>"
231
-			data-type="<?php echo esc_attr($button_args['type']);?>"
232
-			data-text-error-message="<?php _e('Something went wrong!','invoicing');?>"
233
-			data-text-activate="<?php _e('Activate','invoicing');?>"
234
-			data-text-activating="<?php _e('Activating','invoicing');?>"
235
-			data-text-deactivate="<?php _e('Deactivate','invoicing');?>"
236
-			data-text-installed="<?php _e('Installed','invoicing');?>"
237
-			data-text-install="<?php _e('Install','invoicing');?>"
238
-			data-text-installing="<?php _e('Installing','invoicing');?>"
239
-			data-text-error="<?php _e('Error','invoicing');?>"
240
-			<?php if(!empty($button_args['onclick'])){echo " onclick='".$button_args['onclick']."' ";}?>
241
-			<?php echo $target;?>
242
-			class="addons-button  <?php echo esc_attr( $button_args['class'] ); ?>"
243
-			href="<?php echo esc_url( $button_args['url'] ); ?>">
244
-			<?php echo esc_html( $button_args['button_text'] ); ?>
228
+			data-licence="<?php echo esc_attr($button_args['license']); ?>"
229
+			data-licensing="<?php echo $button_args['licensing'] ? 1 : 0; ?>"
230
+			data-title="<?php echo esc_attr($button_args['title']); ?>"
231
+			data-type="<?php echo esc_attr($button_args['type']); ?>"
232
+			data-text-error-message="<?php _e('Something went wrong!', 'invoicing'); ?>"
233
+			data-text-activate="<?php _e('Activate', 'invoicing'); ?>"
234
+			data-text-activating="<?php _e('Activating', 'invoicing'); ?>"
235
+			data-text-deactivate="<?php _e('Deactivate', 'invoicing'); ?>"
236
+			data-text-installed="<?php _e('Installed', 'invoicing'); ?>"
237
+			data-text-install="<?php _e('Install', 'invoicing'); ?>"
238
+			data-text-installing="<?php _e('Installing', 'invoicing'); ?>"
239
+			data-text-error="<?php _e('Error', 'invoicing'); ?>"
240
+			<?php if (!empty($button_args['onclick'])) {echo " onclick='" . $button_args['onclick'] . "' "; }?>
241
+			<?php echo $target; ?>
242
+			class="addons-button  <?php echo esc_attr($button_args['class']); ?>"
243
+			href="<?php echo esc_url($button_args['url']); ?>">
244
+			<?php echo esc_html($button_args['button_text']); ?>
245 245
 		</a>
246 246
 		<?php
247 247
 
@@ -256,35 +256,35 @@  discard block
 block discarded – undo
256 256
 		$tabs            = self::get_tabs();
257 257
 		$sections        = self::get_sections();
258 258
 		$theme           = wp_get_theme();
259
-		$section_keys    = array_keys( $sections );
260
-		$current_section = isset( $_GET['section'] ) ? sanitize_text_field( $_GET['section'] ) : current( $section_keys );
261
-		$current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
262
-		include_once( WPINV_PLUGIN_DIR . '/includes/admin/html-admin-page-addons.php' );
259
+		$section_keys    = array_keys($sections);
260
+		$current_section = isset($_GET['section']) ? sanitize_text_field($_GET['section']) : current($section_keys);
261
+		$current_tab     = empty($_GET['tab']) ? 'addons' : sanitize_title($_GET['tab']);
262
+		include_once(WPINV_PLUGIN_DIR . '/includes/admin/html-admin-page-addons.php');
263 263
 	}
264 264
 
265 265
 	/**
266 266
 	 * A list of recommended wp.org plugins.
267 267
 	 * @return array
268 268
 	 */
269
-	public function get_recommend_wp_plugins(){
269
+	public function get_recommend_wp_plugins() {
270 270
 		$plugins = array(
271 271
             'invoicing-quotes' => array(
272 272
                 'url'   => 'https://wordpress.org/plugins/invoicing-quotes/',
273 273
                 'slug'   => 'invoicing-quotes',
274 274
                 'name'   => 'Quotes',
275
-                'desc'   => __('Allows you to create quotes, send them to clients and convert them to Invoices when accepted by the customer.','invoicing'),
275
+                'desc'   => __('Allows you to create quotes, send them to clients and convert them to Invoices when accepted by the customer.', 'invoicing'),
276 276
             ),
277 277
             'geodirectory' => array(
278 278
                 'url'   => 'https://wordpress.org/plugins/geodirectory/',
279 279
                 'slug'   => 'geodirectory',
280 280
                 'name'   => 'GeoDirectory',
281
-                'desc'   => __('Turn any WordPress theme into a global business directory portal.','invoicing'),
281
+                'desc'   => __('Turn any WordPress theme into a global business directory portal.', 'invoicing'),
282 282
             ),
283 283
             'userswp' => array(
284 284
                 'url'   => 'https://wordpress.org/plugins/userswp/',
285 285
                 'slug'   => 'userswp',
286 286
                 'name'   => 'UsersWP',
287
-                'desc'   => __('Allow frontend user login and registration as well as have slick profile pages.','invoicing'),
287
+                'desc'   => __('Allow frontend user login and registration as well as have slick profile pages.', 'invoicing'),
288 288
             ),
289 289
 		);
290 290
 
Please login to merge, or discard this patch.
includes/libraries/class-ayecode-addons.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@
 block discarded – undo
1 1
 <?php
2 2
 // Exit if accessed directly
3
-if ( ! defined( 'ABSPATH' ) ) exit;
4
-if(!class_exists('Ayecode_Addons')) {
3
+if (!defined('ABSPATH')) exit;
4
+if (!class_exists('Ayecode_Addons')) {
5 5
 
6 6
     abstract class Ayecode_Addons
7 7
     {
Please login to merge, or discard this patch.
Braces   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,6 +1,8 @@
 block discarded – undo
1 1
 <?php
2 2
 // Exit if accessed directly
3
-if ( ! defined( 'ABSPATH' ) ) exit;
3
+if ( ! defined( 'ABSPATH' ) ) {
4
+    exit;
5
+}
4 6
 if(!class_exists('Ayecode_Addons')) {
5 7
 
6 8
     abstract class Ayecode_Addons
Please login to merge, or discard this patch.
vendor/ayecode/wp-font-awesome-settings/wp-font-awesome-settings.php 2 patches
Indentation   +385 added lines, -385 removed lines patch added patch discarded remove patch
@@ -13,7 +13,7 @@  discard block
 block discarded – undo
13 13
  * Bail if we are not in WP.
14 14
  */
15 15
 if ( ! defined( 'ABSPATH' ) ) {
16
-	exit;
16
+    exit;
17 17
 }
18 18
 
19 19
 /**
@@ -21,294 +21,294 @@  discard block
 block discarded – undo
21 21
  */
22 22
 if ( ! class_exists( 'WP_Font_Awesome_Settings' ) ) {
23 23
 
24
-	/**
25
-	 * A Class to be able to change settings for Font Awesome.
26
-	 *
27
-	 * Class WP_Font_Awesome_Settings
28
-	 * @since 1.0.10 Now able to pass wp.org theme check.
29
-	 * @since 1.0.11 Font Awesome Pro now supported.
30
-	 * @since 1.0.11 Font Awesome Kits now supported.
31
-	 * @ver 1.0.11
32
-	 * @todo decide how to implement textdomain
33
-	 */
34
-	class WP_Font_Awesome_Settings {
35
-
36
-		/**
37
-		 * Class version version.
38
-		 *
39
-		 * @var string
40
-		 */
41
-		public $version = '1.0.11';
42
-
43
-		/**
44
-		 * Class textdomain.
45
-		 *
46
-		 * @var string
47
-		 */
48
-		public $textdomain = 'font-awesome-settings';
49
-
50
-		/**
51
-		 * Latest version of Font Awesome at time of publish published.
52
-		 *
53
-		 * @var string
54
-		 */
55
-		public $latest = "5.8.2";
56
-
57
-		/**
58
-		 * The title.
59
-		 *
60
-		 * @var string
61
-		 */
62
-		public $name = 'Font Awesome';
63
-
64
-		/**
65
-		 * Holds the settings values.
66
-		 *
67
-		 * @var array
68
-		 */
69
-		private $settings;
70
-
71
-		/**
72
-		 * WP_Font_Awesome_Settings instance.
73
-		 *
74
-		 * @access private
75
-		 * @since  1.0.0
76
-		 * @var    WP_Font_Awesome_Settings There can be only one!
77
-		 */
78
-		private static $instance = null;
79
-
80
-		/**
81
-		 * Main WP_Font_Awesome_Settings Instance.
82
-		 *
83
-		 * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded.
84
-		 *
85
-		 * @since 1.0.0
86
-		 * @static
87
-		 * @return WP_Font_Awesome_Settings - Main instance.
88
-		 */
89
-		public static function instance() {
90
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) {
91
-				self::$instance = new WP_Font_Awesome_Settings;
92
-
93
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
94
-
95
-				if ( is_admin() ) {
96
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
97
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
98
-				}
99
-
100
-				do_action( 'wp_font_awesome_settings_loaded' );
101
-			}
102
-
103
-			return self::$instance;
104
-		}
105
-
106
-		/**
107
-		 * Initiate the settings and add the required action hooks.
108
-		 *
109
-		 * @since 1.0.8 Settings name wrong - FIXED
110
-		 */
111
-		public function init() {
112
-			$this->settings = $this->get_settings();
113
-
114
-			if ( $this->settings['type'] == 'CSS' ) {
115
-
116
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
117
-					add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
118
-				}
119
-
120
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
121
-					add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
122
-				}
123
-
124
-			} else {
125
-
126
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
127
-					add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
128
-				}
129
-
130
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
131
-					add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
132
-				}
133
-			}
134
-
135
-			// remove font awesome if set to do so
136
-			if ( $this->settings['dequeue'] == '1' ) {
137
-				add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 );
138
-			}
139
-
140
-		}
141
-
142
-		/**
143
-		 * Adds the Font Awesome styles.
144
-		 */
145
-		public function enqueue_style() {
146
-			// build url
147
-			$url = $this->get_url();
148
-
149
-			wp_deregister_style( 'font-awesome' ); // deregister in case its already there
150
-			wp_register_style( 'font-awesome', $url, array(), null );
151
-			wp_enqueue_style( 'font-awesome' );
152
-
153
-			if ( $this->settings['shims'] ) {
154
-				$url = $this->get_url( true );
155
-				wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there
156
-				wp_register_style( 'font-awesome-shims', $url, array(), null );
157
-				wp_enqueue_style( 'font-awesome-shims' );
158
-			}
159
-		}
160
-
161
-		/**
162
-		 * Adds the Font Awesome JS.
163
-		 */
164
-		public function enqueue_scripts() {
165
-			// build url
166
-			$url = $this->get_url();
167
-
168
-			$deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script';
169
-			call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there
170
-			wp_register_script( 'font-awesome', $url, array(), null );
171
-			wp_enqueue_script( 'font-awesome' );
172
-
173
-			if ( $this->settings['shims'] ) {
174
-				$url = $this->get_url( true );
175
-				call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there
176
-				wp_register_script( 'font-awesome-shims', $url, array(), null );
177
-				wp_enqueue_script( 'font-awesome-shims' );
178
-			}
179
-		}
180
-
181
-		/**
182
-		 * Get the url of the Font Awesome files.
183
-		 *
184
-		 * @param bool $shims If this is a shim file or not.
185
-		 *
186
-		 * @return string The url to the file.
187
-		 */
188
-		public function get_url( $shims = false ) {
189
-			$script  = $shims ? 'v4-shims' : 'all';
190
-			$sub     = $this->settings['pro'] ? 'pro' : 'use';
191
-			$type    = $this->settings['type'];
192
-			$version = $this->settings['version'];
193
-			$kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : '';
194
-			$url     = '';
195
-
196
-			if ( $type == 'KIT' && $kit_url ) {
197
-				if ( $shims ) {
198
-					// if its a kit then we don't add shims here
199
-					return '';
200
-				}
201
-				$url .= $kit_url; // CDN
202
-				$url .= "?wpfas=true"; // set our var so our version is not removed
203
-			} else {
204
-				$url .= "https://$sub.fontawesome.com/releases/"; // CDN
205
-				$url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
206
-				$url .= $type == 'CSS' ? 'css/' : 'js/'; // type
207
-				$url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type
208
-				$url .= "?wpfas=true"; // set our var so our version is not removed
209
-			}
210
-
211
-			return $url;
212
-		}
213
-
214
-		/**
215
-		 * Try and remove any other versions of Font Awesome added by other plugins/themes.
216
-		 *
217
-		 * Uses the clean_url filter to try and remove any other Font Awesome files added, it can also add pseudo-elements flag for the JS version.
218
-		 *
219
-		 * @param $url
220
-		 * @param $original_url
221
-		 * @param $_context
222
-		 *
223
-		 * @return string The filtered url.
224
-		 */
225
-		public function remove_font_awesome( $url, $original_url, $_context ) {
226
-
227
-			if ( $_context == 'display'
228
-			     && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false )
229
-			     && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false )
230
-			) {// it's a font-awesome-url (probably)
231
-
232
-				if ( strstr( $url, "wpfas=true" ) !== false ) {
233
-					if ( $this->settings['type'] == 'JS' ) {
234
-						if ( $this->settings['js-pseudo'] ) {
235
-							$url .= "' data-search-pseudo-elements defer='defer";
236
-						} else {
237
-							$url .= "' defer='defer";
238
-						}
239
-					}
240
-				} else {
241
-					$url = ''; // removing the url removes the file
242
-				}
243
-
244
-			}
245
-
246
-			return $url;
247
-		}
248
-
249
-		/**
250
-		 * Register the database settings with WordPress.
251
-		 */
252
-		public function register_settings() {
253
-			register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' );
254
-		}
255
-
256
-		/**
257
-		 * Add the WordPress settings menu item.
258
-		 * @since 1.0.10 Calling function name direct will fail theme check so we don't.
259
-		 */
260
-		public function menu_item() {
261
-			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
262
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
263
-				$this,
264
-				'settings_page'
265
-			) );
266
-		}
267
-
268
-		/**
269
-		 * Get the current Font Awesome output settings.
270
-		 *
271
-		 * @return array The array of settings.
272
-		 */
273
-		public function get_settings() {
274
-
275
-			$db_settings = get_option( 'wp-font-awesome-settings' );
276
-
277
-			$defaults = array(
278
-				'type'      => 'CSS', // type to use, CSS or JS or KIT
279
-				'version'   => '', // latest
280
-				'enqueue'   => '', // front and backend
281
-				'shims'     => '1', // default on for now, @todo maybe change to off in 2020
282
-				'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive)
283
-				'dequeue'   => '0', // if we should try to remove other versions added by other plugins/themes
284
-				'pro'       => '0', // if pro CDN url should be used
285
-				'kit-url'   => '', // the kit url
286
-			);
287
-
288
-			$settings = wp_parse_args( $db_settings, $defaults );
289
-
290
-			/**
291
-			 * Filter the Font Awesome settings.
292
-			 *
293
-			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
294
-			 */
295
-			return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults );
296
-		}
297
-
298
-
299
-		/**
300
-		 * The settings page html output.
301
-		 */
302
-		public function settings_page() {
303
-			if ( ! current_user_can( 'manage_options' ) ) {
304
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) );
305
-			}
306
-
307
-			// a hidden way to force the update of the verison number vai api instead of waiting the 48 hours
308
-			if ( isset( $_REQUEST['force-version-check'] ) ) {
309
-				$this->get_latest_version( $force_api = true );
310
-			}
311
-			?>
24
+    /**
25
+     * A Class to be able to change settings for Font Awesome.
26
+     *
27
+     * Class WP_Font_Awesome_Settings
28
+     * @since 1.0.10 Now able to pass wp.org theme check.
29
+     * @since 1.0.11 Font Awesome Pro now supported.
30
+     * @since 1.0.11 Font Awesome Kits now supported.
31
+     * @ver 1.0.11
32
+     * @todo decide how to implement textdomain
33
+     */
34
+    class WP_Font_Awesome_Settings {
35
+
36
+        /**
37
+         * Class version version.
38
+         *
39
+         * @var string
40
+         */
41
+        public $version = '1.0.11';
42
+
43
+        /**
44
+         * Class textdomain.
45
+         *
46
+         * @var string
47
+         */
48
+        public $textdomain = 'font-awesome-settings';
49
+
50
+        /**
51
+         * Latest version of Font Awesome at time of publish published.
52
+         *
53
+         * @var string
54
+         */
55
+        public $latest = "5.8.2";
56
+
57
+        /**
58
+         * The title.
59
+         *
60
+         * @var string
61
+         */
62
+        public $name = 'Font Awesome';
63
+
64
+        /**
65
+         * Holds the settings values.
66
+         *
67
+         * @var array
68
+         */
69
+        private $settings;
70
+
71
+        /**
72
+         * WP_Font_Awesome_Settings instance.
73
+         *
74
+         * @access private
75
+         * @since  1.0.0
76
+         * @var    WP_Font_Awesome_Settings There can be only one!
77
+         */
78
+        private static $instance = null;
79
+
80
+        /**
81
+         * Main WP_Font_Awesome_Settings Instance.
82
+         *
83
+         * Ensures only one instance of WP_Font_Awesome_Settings is loaded or can be loaded.
84
+         *
85
+         * @since 1.0.0
86
+         * @static
87
+         * @return WP_Font_Awesome_Settings - Main instance.
88
+         */
89
+        public static function instance() {
90
+            if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) {
91
+                self::$instance = new WP_Font_Awesome_Settings;
92
+
93
+                add_action( 'init', array( self::$instance, 'init' ) ); // set settings
94
+
95
+                if ( is_admin() ) {
96
+                    add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
97
+                    add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
98
+                }
99
+
100
+                do_action( 'wp_font_awesome_settings_loaded' );
101
+            }
102
+
103
+            return self::$instance;
104
+        }
105
+
106
+        /**
107
+         * Initiate the settings and add the required action hooks.
108
+         *
109
+         * @since 1.0.8 Settings name wrong - FIXED
110
+         */
111
+        public function init() {
112
+            $this->settings = $this->get_settings();
113
+
114
+            if ( $this->settings['type'] == 'CSS' ) {
115
+
116
+                if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
117
+                    add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
118
+                }
119
+
120
+                if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
121
+                    add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
122
+                }
123
+
124
+            } else {
125
+
126
+                if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
127
+                    add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
128
+                }
129
+
130
+                if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
131
+                    add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
132
+                }
133
+            }
134
+
135
+            // remove font awesome if set to do so
136
+            if ( $this->settings['dequeue'] == '1' ) {
137
+                add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 );
138
+            }
139
+
140
+        }
141
+
142
+        /**
143
+         * Adds the Font Awesome styles.
144
+         */
145
+        public function enqueue_style() {
146
+            // build url
147
+            $url = $this->get_url();
148
+
149
+            wp_deregister_style( 'font-awesome' ); // deregister in case its already there
150
+            wp_register_style( 'font-awesome', $url, array(), null );
151
+            wp_enqueue_style( 'font-awesome' );
152
+
153
+            if ( $this->settings['shims'] ) {
154
+                $url = $this->get_url( true );
155
+                wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there
156
+                wp_register_style( 'font-awesome-shims', $url, array(), null );
157
+                wp_enqueue_style( 'font-awesome-shims' );
158
+            }
159
+        }
160
+
161
+        /**
162
+         * Adds the Font Awesome JS.
163
+         */
164
+        public function enqueue_scripts() {
165
+            // build url
166
+            $url = $this->get_url();
167
+
168
+            $deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script';
169
+            call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there
170
+            wp_register_script( 'font-awesome', $url, array(), null );
171
+            wp_enqueue_script( 'font-awesome' );
172
+
173
+            if ( $this->settings['shims'] ) {
174
+                $url = $this->get_url( true );
175
+                call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there
176
+                wp_register_script( 'font-awesome-shims', $url, array(), null );
177
+                wp_enqueue_script( 'font-awesome-shims' );
178
+            }
179
+        }
180
+
181
+        /**
182
+         * Get the url of the Font Awesome files.
183
+         *
184
+         * @param bool $shims If this is a shim file or not.
185
+         *
186
+         * @return string The url to the file.
187
+         */
188
+        public function get_url( $shims = false ) {
189
+            $script  = $shims ? 'v4-shims' : 'all';
190
+            $sub     = $this->settings['pro'] ? 'pro' : 'use';
191
+            $type    = $this->settings['type'];
192
+            $version = $this->settings['version'];
193
+            $kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : '';
194
+            $url     = '';
195
+
196
+            if ( $type == 'KIT' && $kit_url ) {
197
+                if ( $shims ) {
198
+                    // if its a kit then we don't add shims here
199
+                    return '';
200
+                }
201
+                $url .= $kit_url; // CDN
202
+                $url .= "?wpfas=true"; // set our var so our version is not removed
203
+            } else {
204
+                $url .= "https://$sub.fontawesome.com/releases/"; // CDN
205
+                $url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
206
+                $url .= $type == 'CSS' ? 'css/' : 'js/'; // type
207
+                $url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type
208
+                $url .= "?wpfas=true"; // set our var so our version is not removed
209
+            }
210
+
211
+            return $url;
212
+        }
213
+
214
+        /**
215
+         * Try and remove any other versions of Font Awesome added by other plugins/themes.
216
+         *
217
+         * Uses the clean_url filter to try and remove any other Font Awesome files added, it can also add pseudo-elements flag for the JS version.
218
+         *
219
+         * @param $url
220
+         * @param $original_url
221
+         * @param $_context
222
+         *
223
+         * @return string The filtered url.
224
+         */
225
+        public function remove_font_awesome( $url, $original_url, $_context ) {
226
+
227
+            if ( $_context == 'display'
228
+                 && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false )
229
+                 && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false )
230
+            ) {// it's a font-awesome-url (probably)
231
+
232
+                if ( strstr( $url, "wpfas=true" ) !== false ) {
233
+                    if ( $this->settings['type'] == 'JS' ) {
234
+                        if ( $this->settings['js-pseudo'] ) {
235
+                            $url .= "' data-search-pseudo-elements defer='defer";
236
+                        } else {
237
+                            $url .= "' defer='defer";
238
+                        }
239
+                    }
240
+                } else {
241
+                    $url = ''; // removing the url removes the file
242
+                }
243
+
244
+            }
245
+
246
+            return $url;
247
+        }
248
+
249
+        /**
250
+         * Register the database settings with WordPress.
251
+         */
252
+        public function register_settings() {
253
+            register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' );
254
+        }
255
+
256
+        /**
257
+         * Add the WordPress settings menu item.
258
+         * @since 1.0.10 Calling function name direct will fail theme check so we don't.
259
+         */
260
+        public function menu_item() {
261
+            $menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
262
+            call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
263
+                $this,
264
+                'settings_page'
265
+            ) );
266
+        }
267
+
268
+        /**
269
+         * Get the current Font Awesome output settings.
270
+         *
271
+         * @return array The array of settings.
272
+         */
273
+        public function get_settings() {
274
+
275
+            $db_settings = get_option( 'wp-font-awesome-settings' );
276
+
277
+            $defaults = array(
278
+                'type'      => 'CSS', // type to use, CSS or JS or KIT
279
+                'version'   => '', // latest
280
+                'enqueue'   => '', // front and backend
281
+                'shims'     => '1', // default on for now, @todo maybe change to off in 2020
282
+                'js-pseudo' => '0', // if the pseudo elements flag should be set (CPU intensive)
283
+                'dequeue'   => '0', // if we should try to remove other versions added by other plugins/themes
284
+                'pro'       => '0', // if pro CDN url should be used
285
+                'kit-url'   => '', // the kit url
286
+            );
287
+
288
+            $settings = wp_parse_args( $db_settings, $defaults );
289
+
290
+            /**
291
+             * Filter the Font Awesome settings.
292
+             *
293
+             * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
294
+             */
295
+            return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults );
296
+        }
297
+
298
+
299
+        /**
300
+         * The settings page html output.
301
+         */
302
+        public function settings_page() {
303
+            if ( ! current_user_can( 'manage_options' ) ) {
304
+                wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) );
305
+            }
306
+
307
+            // a hidden way to force the update of the verison number vai api instead of waiting the 48 hours
308
+            if ( isset( $_REQUEST['force-version-check'] ) ) {
309
+                $this->get_latest_version( $force_api = true );
310
+            }
311
+            ?>
312 312
 			<style>
313 313
 				.wpfas-kit-show {
314 314
 					display: none;
@@ -326,10 +326,10 @@  discard block
 block discarded – undo
326 326
 				<h1><?php echo $this->name; ?></h1>
327 327
 				<form method="post" action="options.php">
328 328
 					<?php
329
-					settings_fields( 'wp-font-awesome-settings' );
330
-					do_settings_sections( 'wp-font-awesome-settings' );
331
-					$kit_set = $this->settings['type'] == 'KIT' ? 'wpfas-kit-set' : '';
332
-					?>
329
+                    settings_fields( 'wp-font-awesome-settings' );
330
+                    do_settings_sections( 'wp-font-awesome-settings' );
331
+                    $kit_set = $this->settings['type'] == 'KIT' ? 'wpfas-kit-set' : '';
332
+                    ?>
333 333
 					<table class="form-table wpfas-table-settings <?php echo esc_attr( $kit_set ); ?>">
334 334
 						<tr valign="top">
335 335
 							<th scope="row"><label
@@ -355,12 +355,12 @@  discard block
 block discarded – undo
355 355
 								       value="<?php echo esc_attr( $this->settings['kit-url'] ); ?>"
356 356
 								       placeholder="https://kit.fontawesome.com/123abc.js"/>
357 357
 								<span><?php
358
-									echo sprintf(
359
-										__( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ),
360
-										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>',
361
-										'</a>'
362
-									);
363
-									?></span>
358
+                                    echo sprintf(
359
+                                        __( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ),
360
+                                        '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>',
361
+                                        '</a>'
362
+                                    );
363
+                                    ?></span>
364 364
 							</td>
365 365
 						</tr>
366 366
 
@@ -420,14 +420,14 @@  discard block
 block discarded – undo
420 420
 								<input type="checkbox" name="wp-font-awesome-settings[pro]"
421 421
 								       value="1" <?php checked( $this->settings['pro'], '1' ); ?> id="wpfas-pro"/>
422 422
 								<span><?php
423
-									echo sprintf(
424
-										__( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings' ),
425
-										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/pro"><i class="fas fa-external-link-alt"></i>',
426
-										'</a>',
427
-										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn"><i class="fas fa-external-link-alt"></i>',
428
-										'</a>'
429
-									);
430
-									?></span>
423
+                                    echo sprintf(
424
+                                        __( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings' ),
425
+                                        '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/pro"><i class="fas fa-external-link-alt"></i>',
426
+                                        '</a>',
427
+                                        '<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn"><i class="fas fa-external-link-alt"></i>',
428
+                                        '</a>'
429
+                                    );
430
+                                    ?></span>
431 431
 							</td>
432 432
 						</tr>
433 433
 
@@ -470,88 +470,88 @@  discard block
 block discarded – undo
470 470
 
471 471
 					</table>
472 472
 					<?php
473
-					submit_button();
474
-					?>
473
+                    submit_button();
474
+                    ?>
475 475
 				</form>
476 476
 
477 477
 				<div id="wpfas-version"><?php echo $this->version; ?></div>
478 478
 			</div>
479 479
 
480 480
 			<?php
481
-		}
482
-
483
-		/**
484
-		 * Check a version number is valid and if so return it or else return an empty string.
485
-		 *
486
-		 * @param $version string The version number to check.
487
-		 *
488
-		 * @since 1.0.6
489
-		 *
490
-		 * @return string Either a valid version number or an empty string.
491
-		 */
492
-		public function validate_version_number( $version ) {
493
-
494
-			if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) {
495
-				// valid
496
-			} else {
497
-				$version = '';// not validated
498
-			}
499
-
500
-			return $version;
501
-		}
502
-
503
-
504
-		/**
505
-		 * Get the latest version of Font Awesome.
506
-		 *
507
-		 * We check for a cached bersion and if none we will check for a live version via API and then cache it for 48 hours.
508
-		 *
509
-		 * @since 1.0.7
510
-		 * @return mixed|string The latest version number found.
511
-		 */
512
-		public function get_latest_version( $force_api = false ) {
513
-			$latest_version = $this->latest;
514
-
515
-			$cache = get_transient( 'wp-font-awesome-settings-version' );
516
-
517
-			if ( $cache === false || $force_api ) { // its not set
518
-				$api_ver = $this->get_latest_version_from_api();
519
-				if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) {
520
-					$latest_version = $api_ver;
521
-					set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS );
522
-				}
523
-			} elseif ( $this->validate_version_number( $cache ) ) {
524
-				if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) {
525
-					$latest_version = $cache;
526
-				}
527
-			}
528
-
529
-			return $latest_version;
530
-		}
531
-
532
-		/**
533
-		 * Get the latest Font Awesome version from the github API.
534
-		 *
535
-		 * @since 1.0.7
536
-		 * @return string The latest version number or `0` on API fail.
537
-		 */
538
-		public function get_latest_version_from_api() {
539
-			$version  = "0";
540
-			$response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" );
541
-			if ( ! is_wp_error( $response ) && is_array( $response ) ) {
542
-				$api_response = json_decode( wp_remote_retrieve_body( $response ), true );
543
-				if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) {
544
-					$version = $api_response['tag_name'];
545
-				}
546
-			}
547
-
548
-			return $version;
549
-		}
550
-
551
-	}
552
-
553
-	/**
554
-	 * Run the class if found.
555
-	 */
556
-	WP_Font_Awesome_Settings::instance();
481
+        }
482
+
483
+        /**
484
+         * Check a version number is valid and if so return it or else return an empty string.
485
+         *
486
+         * @param $version string The version number to check.
487
+         *
488
+         * @since 1.0.6
489
+         *
490
+         * @return string Either a valid version number or an empty string.
491
+         */
492
+        public function validate_version_number( $version ) {
493
+
494
+            if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) {
495
+                // valid
496
+            } else {
497
+                $version = '';// not validated
498
+            }
499
+
500
+            return $version;
501
+        }
502
+
503
+
504
+        /**
505
+         * Get the latest version of Font Awesome.
506
+         *
507
+         * We check for a cached bersion and if none we will check for a live version via API and then cache it for 48 hours.
508
+         *
509
+         * @since 1.0.7
510
+         * @return mixed|string The latest version number found.
511
+         */
512
+        public function get_latest_version( $force_api = false ) {
513
+            $latest_version = $this->latest;
514
+
515
+            $cache = get_transient( 'wp-font-awesome-settings-version' );
516
+
517
+            if ( $cache === false || $force_api ) { // its not set
518
+                $api_ver = $this->get_latest_version_from_api();
519
+                if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) {
520
+                    $latest_version = $api_ver;
521
+                    set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS );
522
+                }
523
+            } elseif ( $this->validate_version_number( $cache ) ) {
524
+                if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) {
525
+                    $latest_version = $cache;
526
+                }
527
+            }
528
+
529
+            return $latest_version;
530
+        }
531
+
532
+        /**
533
+         * Get the latest Font Awesome version from the github API.
534
+         *
535
+         * @since 1.0.7
536
+         * @return string The latest version number or `0` on API fail.
537
+         */
538
+        public function get_latest_version_from_api() {
539
+            $version  = "0";
540
+            $response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" );
541
+            if ( ! is_wp_error( $response ) && is_array( $response ) ) {
542
+                $api_response = json_decode( wp_remote_retrieve_body( $response ), true );
543
+                if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) {
544
+                    $version = $api_response['tag_name'];
545
+                }
546
+            }
547
+
548
+            return $version;
549
+        }
550
+
551
+    }
552
+
553
+    /**
554
+     * Run the class if found.
555
+     */
556
+    WP_Font_Awesome_Settings::instance();
557 557
 }
558 558
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -12,14 +12,14 @@  discard block
 block discarded – undo
12 12
 /**
13 13
  * Bail if we are not in WP.
14 14
  */
15
-if ( ! defined( 'ABSPATH' ) ) {
15
+if (!defined('ABSPATH')) {
16 16
 	exit;
17 17
 }
18 18
 
19 19
 /**
20 20
  * Only add if the class does not already exist.
21 21
  */
22
-if ( ! class_exists( 'WP_Font_Awesome_Settings' ) ) {
22
+if (!class_exists('WP_Font_Awesome_Settings')) {
23 23
 
24 24
 	/**
25 25
 	 * A Class to be able to change settings for Font Awesome.
@@ -87,17 +87,17 @@  discard block
 block discarded – undo
87 87
 		 * @return WP_Font_Awesome_Settings - Main instance.
88 88
 		 */
89 89
 		public static function instance() {
90
-			if ( ! isset( self::$instance ) && ! ( self::$instance instanceof WP_Font_Awesome_Settings ) ) {
90
+			if (!isset(self::$instance) && !(self::$instance instanceof WP_Font_Awesome_Settings)) {
91 91
 				self::$instance = new WP_Font_Awesome_Settings;
92 92
 
93
-				add_action( 'init', array( self::$instance, 'init' ) ); // set settings
93
+				add_action('init', array(self::$instance, 'init')); // set settings
94 94
 
95
-				if ( is_admin() ) {
96
-					add_action( 'admin_menu', array( self::$instance, 'menu_item' ) );
97
-					add_action( 'admin_init', array( self::$instance, 'register_settings' ) );
95
+				if (is_admin()) {
96
+					add_action('admin_menu', array(self::$instance, 'menu_item'));
97
+					add_action('admin_init', array(self::$instance, 'register_settings'));
98 98
 				}
99 99
 
100
-				do_action( 'wp_font_awesome_settings_loaded' );
100
+				do_action('wp_font_awesome_settings_loaded');
101 101
 			}
102 102
 
103 103
 			return self::$instance;
@@ -111,30 +111,30 @@  discard block
 block discarded – undo
111 111
 		public function init() {
112 112
 			$this->settings = $this->get_settings();
113 113
 
114
-			if ( $this->settings['type'] == 'CSS' ) {
114
+			if ($this->settings['type'] == 'CSS') {
115 115
 
116
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
117
-					add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
116
+				if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend') {
117
+					add_action('wp_enqueue_scripts', array($this, 'enqueue_style'), 5000);
118 118
 				}
119 119
 
120
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
121
-					add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_style' ), 5000 );
120
+				if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend') {
121
+					add_action('admin_enqueue_scripts', array($this, 'enqueue_style'), 5000);
122 122
 				}
123 123
 
124 124
 			} else {
125 125
 
126
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend' ) {
127
-					add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
126
+				if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'frontend') {
127
+					add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 5000);
128 128
 				}
129 129
 
130
-				if ( $this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend' ) {
131
-					add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 5000 );
130
+				if ($this->settings['enqueue'] == '' || $this->settings['enqueue'] == 'backend') {
131
+					add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'), 5000);
132 132
 				}
133 133
 			}
134 134
 
135 135
 			// remove font awesome if set to do so
136
-			if ( $this->settings['dequeue'] == '1' ) {
137
-				add_action( 'clean_url', array( $this, 'remove_font_awesome' ), 5000, 3 );
136
+			if ($this->settings['dequeue'] == '1') {
137
+				add_action('clean_url', array($this, 'remove_font_awesome'), 5000, 3);
138 138
 			}
139 139
 
140 140
 		}
@@ -146,15 +146,15 @@  discard block
 block discarded – undo
146 146
 			// build url
147 147
 			$url = $this->get_url();
148 148
 
149
-			wp_deregister_style( 'font-awesome' ); // deregister in case its already there
150
-			wp_register_style( 'font-awesome', $url, array(), null );
151
-			wp_enqueue_style( 'font-awesome' );
149
+			wp_deregister_style('font-awesome'); // deregister in case its already there
150
+			wp_register_style('font-awesome', $url, array(), null);
151
+			wp_enqueue_style('font-awesome');
152 152
 
153
-			if ( $this->settings['shims'] ) {
154
-				$url = $this->get_url( true );
155
-				wp_deregister_style( 'font-awesome-shims' ); // deregister in case its already there
156
-				wp_register_style( 'font-awesome-shims', $url, array(), null );
157
-				wp_enqueue_style( 'font-awesome-shims' );
153
+			if ($this->settings['shims']) {
154
+				$url = $this->get_url(true);
155
+				wp_deregister_style('font-awesome-shims'); // deregister in case its already there
156
+				wp_register_style('font-awesome-shims', $url, array(), null);
157
+				wp_enqueue_style('font-awesome-shims');
158 158
 			}
159 159
 		}
160 160
 
@@ -166,15 +166,15 @@  discard block
 block discarded – undo
166 166
 			$url = $this->get_url();
167 167
 
168 168
 			$deregister_function = 'wp' . '_' . 'deregister' . '_' . 'script';
169
-			call_user_func( $deregister_function, 'font-awesome' ); // deregister in case its already there
170
-			wp_register_script( 'font-awesome', $url, array(), null );
171
-			wp_enqueue_script( 'font-awesome' );
172
-
173
-			if ( $this->settings['shims'] ) {
174
-				$url = $this->get_url( true );
175
-				call_user_func( $deregister_function, 'font-awesome-shims' ); // deregister in case its already there
176
-				wp_register_script( 'font-awesome-shims', $url, array(), null );
177
-				wp_enqueue_script( 'font-awesome-shims' );
169
+			call_user_func($deregister_function, 'font-awesome'); // deregister in case its already there
170
+			wp_register_script('font-awesome', $url, array(), null);
171
+			wp_enqueue_script('font-awesome');
172
+
173
+			if ($this->settings['shims']) {
174
+				$url = $this->get_url(true);
175
+				call_user_func($deregister_function, 'font-awesome-shims'); // deregister in case its already there
176
+				wp_register_script('font-awesome-shims', $url, array(), null);
177
+				wp_enqueue_script('font-awesome-shims');
178 178
 			}
179 179
 		}
180 180
 
@@ -185,16 +185,16 @@  discard block
 block discarded – undo
185 185
 		 *
186 186
 		 * @return string The url to the file.
187 187
 		 */
188
-		public function get_url( $shims = false ) {
188
+		public function get_url($shims = false) {
189 189
 			$script  = $shims ? 'v4-shims' : 'all';
190 190
 			$sub     = $this->settings['pro'] ? 'pro' : 'use';
191 191
 			$type    = $this->settings['type'];
192 192
 			$version = $this->settings['version'];
193
-			$kit_url = $this->settings['kit-url'] ? esc_url( $this->settings['kit-url'] ) : '';
193
+			$kit_url = $this->settings['kit-url'] ? esc_url($this->settings['kit-url']) : '';
194 194
 			$url     = '';
195 195
 
196
-			if ( $type == 'KIT' && $kit_url ) {
197
-				if ( $shims ) {
196
+			if ($type == 'KIT' && $kit_url) {
197
+				if ($shims) {
198 198
 					// if its a kit then we don't add shims here
199 199
 					return '';
200 200
 				}
@@ -202,7 +202,7 @@  discard block
 block discarded – undo
202 202
 				$url .= "?wpfas=true"; // set our var so our version is not removed
203 203
 			} else {
204 204
 				$url .= "https://$sub.fontawesome.com/releases/"; // CDN
205
-				$url .= ! empty( $version ) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
205
+				$url .= !empty($version) ? "v" . $version . '/' : "v" . $this->get_latest_version() . '/'; // version
206 206
 				$url .= $type == 'CSS' ? 'css/' : 'js/'; // type
207 207
 				$url .= $type == 'CSS' ? $script . '.css' : $script . '.js'; // type
208 208
 				$url .= "?wpfas=true"; // set our var so our version is not removed
@@ -222,16 +222,16 @@  discard block
 block discarded – undo
222 222
 		 *
223 223
 		 * @return string The filtered url.
224 224
 		 */
225
-		public function remove_font_awesome( $url, $original_url, $_context ) {
225
+		public function remove_font_awesome($url, $original_url, $_context) {
226 226
 
227
-			if ( $_context == 'display'
228
-			     && ( strstr( $url, "fontawesome" ) !== false || strstr( $url, "font-awesome" ) !== false )
229
-			     && ( strstr( $url, ".js" ) !== false || strstr( $url, ".css" ) !== false )
227
+			if ($_context == 'display'
228
+			     && (strstr($url, "fontawesome") !== false || strstr($url, "font-awesome") !== false)
229
+			     && (strstr($url, ".js") !== false || strstr($url, ".css") !== false)
230 230
 			) {// it's a font-awesome-url (probably)
231 231
 
232
-				if ( strstr( $url, "wpfas=true" ) !== false ) {
233
-					if ( $this->settings['type'] == 'JS' ) {
234
-						if ( $this->settings['js-pseudo'] ) {
232
+				if (strstr($url, "wpfas=true") !== false) {
233
+					if ($this->settings['type'] == 'JS') {
234
+						if ($this->settings['js-pseudo']) {
235 235
 							$url .= "' data-search-pseudo-elements defer='defer";
236 236
 						} else {
237 237
 							$url .= "' defer='defer";
@@ -250,7 +250,7 @@  discard block
 block discarded – undo
250 250
 		 * Register the database settings with WordPress.
251 251
 		 */
252 252
 		public function register_settings() {
253
-			register_setting( 'wp-font-awesome-settings', 'wp-font-awesome-settings' );
253
+			register_setting('wp-font-awesome-settings', 'wp-font-awesome-settings');
254 254
 		}
255 255
 
256 256
 		/**
@@ -259,10 +259,10 @@  discard block
 block discarded – undo
259 259
 		 */
260 260
 		public function menu_item() {
261 261
 			$menu_function = 'add' . '_' . 'options' . '_' . 'page'; // won't pass theme check if function name present in theme
262
-			call_user_func( $menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
262
+			call_user_func($menu_function, $this->name, $this->name, 'manage_options', 'wp-font-awesome-settings', array(
263 263
 				$this,
264 264
 				'settings_page'
265
-			) );
265
+			));
266 266
 		}
267 267
 
268 268
 		/**
@@ -272,7 +272,7 @@  discard block
 block discarded – undo
272 272
 		 */
273 273
 		public function get_settings() {
274 274
 
275
-			$db_settings = get_option( 'wp-font-awesome-settings' );
275
+			$db_settings = get_option('wp-font-awesome-settings');
276 276
 
277 277
 			$defaults = array(
278 278
 				'type'      => 'CSS', // type to use, CSS or JS or KIT
@@ -285,14 +285,14 @@  discard block
 block discarded – undo
285 285
 				'kit-url'   => '', // the kit url
286 286
 			);
287 287
 
288
-			$settings = wp_parse_args( $db_settings, $defaults );
288
+			$settings = wp_parse_args($db_settings, $defaults);
289 289
 
290 290
 			/**
291 291
 			 * Filter the Font Awesome settings.
292 292
 			 *
293 293
 			 * @todo if we add this filer people might use it and then it defeates the purpose of this class :/
294 294
 			 */
295
-			return $this->settings = apply_filters( 'wp-font-awesome-settings', $settings, $db_settings, $defaults );
295
+			return $this->settings = apply_filters('wp-font-awesome-settings', $settings, $db_settings, $defaults);
296 296
 		}
297 297
 
298 298
 
@@ -300,13 +300,13 @@  discard block
 block discarded – undo
300 300
 		 * The settings page html output.
301 301
 		 */
302 302
 		public function settings_page() {
303
-			if ( ! current_user_can( 'manage_options' ) ) {
304
-				wp_die( __( 'You do not have sufficient permissions to access this page.', 'font-awesome-settings' ) );
303
+			if (!current_user_can('manage_options')) {
304
+				wp_die(__('You do not have sufficient permissions to access this page.', 'font-awesome-settings'));
305 305
 			}
306 306
 
307 307
 			// a hidden way to force the update of the verison number vai api instead of waiting the 48 hours
308
-			if ( isset( $_REQUEST['force-version-check'] ) ) {
309
-				$this->get_latest_version( $force_api = true );
308
+			if (isset($_REQUEST['force-version-check'])) {
309
+				$this->get_latest_version($force_api = true);
310 310
 			}
311 311
 			?>
312 312
 			<style>
@@ -326,37 +326,37 @@  discard block
 block discarded – undo
326 326
 				<h1><?php echo $this->name; ?></h1>
327 327
 				<form method="post" action="options.php">
328 328
 					<?php
329
-					settings_fields( 'wp-font-awesome-settings' );
330
-					do_settings_sections( 'wp-font-awesome-settings' );
329
+					settings_fields('wp-font-awesome-settings');
330
+					do_settings_sections('wp-font-awesome-settings');
331 331
 					$kit_set = $this->settings['type'] == 'KIT' ? 'wpfas-kit-set' : '';
332 332
 					?>
333
-					<table class="form-table wpfas-table-settings <?php echo esc_attr( $kit_set ); ?>">
333
+					<table class="form-table wpfas-table-settings <?php echo esc_attr($kit_set); ?>">
334 334
 						<tr valign="top">
335 335
 							<th scope="row"><label
336
-									for="wpfas-type"><?php _e( 'Type', 'font-awesome-settings' ); ?></label></th>
336
+									for="wpfas-type"><?php _e('Type', 'font-awesome-settings'); ?></label></th>
337 337
 							<td>
338 338
 								<select name="wp-font-awesome-settings[type]" id="wpfas-type"
339 339
 								        onchange="if(this.value=='KIT'){jQuery('.wpfas-table-settings').addClass('wpfas-kit-set');}else{jQuery('.wpfas-table-settings').removeClass('wpfas-kit-set');}">
340 340
 									<option
341
-										value="CSS" <?php selected( $this->settings['type'], 'CSS' ); ?>><?php _e( 'CSS (default)', 'font-awesome-settings' ); ?></option>
342
-									<option value="JS" <?php selected( $this->settings['type'], 'JS' ); ?>>JS</option>
341
+										value="CSS" <?php selected($this->settings['type'], 'CSS'); ?>><?php _e('CSS (default)', 'font-awesome-settings'); ?></option>
342
+									<option value="JS" <?php selected($this->settings['type'], 'JS'); ?>>JS</option>
343 343
 									<option
344
-										value="KIT" <?php selected( $this->settings['type'], 'KIT' ); ?>><?php _e( 'Kits (settings managed on fontawesome.com)', 'font-awesome-settings' ); ?></option>
344
+										value="KIT" <?php selected($this->settings['type'], 'KIT'); ?>><?php _e('Kits (settings managed on fontawesome.com)', 'font-awesome-settings'); ?></option>
345 345
 								</select>
346 346
 							</td>
347 347
 						</tr>
348 348
 
349 349
 						<tr valign="top" class="wpfas-kit-show">
350 350
 							<th scope="row"><label
351
-									for="wpfas-kit-url"><?php _e( 'Kit URL', 'font-awesome-settings' ); ?></label></th>
351
+									for="wpfas-kit-url"><?php _e('Kit URL', 'font-awesome-settings'); ?></label></th>
352 352
 							<td>
353 353
 								<input class="regular-text" id="wpfas-kit-url" type="url"
354 354
 								       name="wp-font-awesome-settings[kit-url]"
355
-								       value="<?php echo esc_attr( $this->settings['kit-url'] ); ?>"
355
+								       value="<?php echo esc_attr($this->settings['kit-url']); ?>"
356 356
 								       placeholder="https://kit.fontawesome.com/123abc.js"/>
357 357
 								<span><?php
358 358
 									echo sprintf(
359
-										__( 'Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings' ),
359
+										__('Requires a free account with Font Awesome. %sGet kit url%s', 'font-awesome-settings'),
360 360
 										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/kits"><i class="fas fa-external-link-alt"></i>',
361 361
 										'</a>'
362 362
 									);
@@ -366,31 +366,31 @@  discard block
 block discarded – undo
366 366
 
367 367
 						<tr valign="top" class="wpfas-kit-hide">
368 368
 							<th scope="row"><label
369
-									for="wpfas-version"><?php _e( 'Version', 'font-awesome-settings' ); ?></label></th>
369
+									for="wpfas-version"><?php _e('Version', 'font-awesome-settings'); ?></label></th>
370 370
 							<td>
371 371
 								<select name="wp-font-awesome-settings[version]" id="wpfas-version">
372 372
 									<option
373
-										value="" <?php selected( $this->settings['version'], '' ); ?>><?php echo sprintf( __( 'Latest - %s (default)', 'font-awesome-settings' ), $this->get_latest_version() ); ?>
373
+										value="" <?php selected($this->settings['version'], ''); ?>><?php echo sprintf(__('Latest - %s (default)', 'font-awesome-settings'), $this->get_latest_version()); ?>
374 374
 									</option>
375
-									<option value="5.6.0" <?php selected( $this->settings['version'], '5.6.0' ); ?>>
375
+									<option value="5.6.0" <?php selected($this->settings['version'], '5.6.0'); ?>>
376 376
 										5.6.0
377 377
 									</option>
378
-									<option value="5.5.0" <?php selected( $this->settings['version'], '5.5.0' ); ?>>
378
+									<option value="5.5.0" <?php selected($this->settings['version'], '5.5.0'); ?>>
379 379
 										5.5.0
380 380
 									</option>
381
-									<option value="5.4.0" <?php selected( $this->settings['version'], '5.4.0' ); ?>>
381
+									<option value="5.4.0" <?php selected($this->settings['version'], '5.4.0'); ?>>
382 382
 										5.4.0
383 383
 									</option>
384
-									<option value="5.3.0" <?php selected( $this->settings['version'], '5.3.0' ); ?>>
384
+									<option value="5.3.0" <?php selected($this->settings['version'], '5.3.0'); ?>>
385 385
 										5.3.0
386 386
 									</option>
387
-									<option value="5.2.0" <?php selected( $this->settings['version'], '5.2.0' ); ?>>
387
+									<option value="5.2.0" <?php selected($this->settings['version'], '5.2.0'); ?>>
388 388
 										5.2.0
389 389
 									</option>
390
-									<option value="5.1.0" <?php selected( $this->settings['version'], '5.1.0' ); ?>>
390
+									<option value="5.1.0" <?php selected($this->settings['version'], '5.1.0'); ?>>
391 391
 										5.1.0
392 392
 									</option>
393
-									<option value="4.7.0" <?php selected( $this->settings['version'], '4.7.0' ); ?>>
393
+									<option value="4.7.0" <?php selected($this->settings['version'], '4.7.0'); ?>>
394 394
 										4.7.1 (CSS only)
395 395
 									</option>
396 396
 								</select>
@@ -399,29 +399,29 @@  discard block
 block discarded – undo
399 399
 
400 400
 						<tr valign="top">
401 401
 							<th scope="row"><label
402
-									for="wpfas-enqueue"><?php _e( 'Enqueue', 'font-awesome-settings' ); ?></label></th>
402
+									for="wpfas-enqueue"><?php _e('Enqueue', 'font-awesome-settings'); ?></label></th>
403 403
 							<td>
404 404
 								<select name="wp-font-awesome-settings[enqueue]" id="wpfas-enqueue">
405 405
 									<option
406
-										value="" <?php selected( $this->settings['enqueue'], '' ); ?>><?php _e( 'Frontend + Backend (default)', 'font-awesome-settings' ); ?></option>
406
+										value="" <?php selected($this->settings['enqueue'], ''); ?>><?php _e('Frontend + Backend (default)', 'font-awesome-settings'); ?></option>
407 407
 									<option
408
-										value="frontend" <?php selected( $this->settings['enqueue'], 'frontend' ); ?>><?php _e( 'Frontend', 'font-awesome-settings' ); ?></option>
408
+										value="frontend" <?php selected($this->settings['enqueue'], 'frontend'); ?>><?php _e('Frontend', 'font-awesome-settings'); ?></option>
409 409
 									<option
410
-										value="backend" <?php selected( $this->settings['enqueue'], 'backend' ); ?>><?php _e( 'Backend', 'font-awesome-settings' ); ?></option>
410
+										value="backend" <?php selected($this->settings['enqueue'], 'backend'); ?>><?php _e('Backend', 'font-awesome-settings'); ?></option>
411 411
 								</select>
412 412
 							</td>
413 413
 						</tr>
414 414
 
415 415
 						<tr valign="top" class="wpfas-kit-hide">
416 416
 							<th scope="row"><label
417
-									for="wpfas-pro"><?php _e( 'Enable pro', 'font-awesome-settings' ); ?></label></th>
417
+									for="wpfas-pro"><?php _e('Enable pro', 'font-awesome-settings'); ?></label></th>
418 418
 							<td>
419 419
 								<input type="hidden" name="wp-font-awesome-settings[pro]" value="0"/>
420 420
 								<input type="checkbox" name="wp-font-awesome-settings[pro]"
421
-								       value="1" <?php checked( $this->settings['pro'], '1' ); ?> id="wpfas-pro"/>
421
+								       value="1" <?php checked($this->settings['pro'], '1'); ?> id="wpfas-pro"/>
422 422
 								<span><?php
423 423
 									echo sprintf(
424
-										__( 'Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings' ),
424
+										__('Requires a subscription. %sLearn more%s %sManage my allowed domains%s', 'font-awesome-settings'),
425 425
 										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/pro"><i class="fas fa-external-link-alt"></i>',
426 426
 										'</a>',
427 427
 										'<a rel="noopener noreferrer" target="_blank" href="https://fontawesome.com/account/cdn"><i class="fas fa-external-link-alt"></i>',
@@ -433,38 +433,38 @@  discard block
 block discarded – undo
433 433
 
434 434
 						<tr valign="top" class="wpfas-kit-hide">
435 435
 							<th scope="row"><label
436
-									for="wpfas-shims"><?php _e( 'Enable v4 shims compatibility', 'font-awesome-settings' ); ?></label>
436
+									for="wpfas-shims"><?php _e('Enable v4 shims compatibility', 'font-awesome-settings'); ?></label>
437 437
 							</th>
438 438
 							<td>
439 439
 								<input type="hidden" name="wp-font-awesome-settings[shims]" value="0"/>
440 440
 								<input type="checkbox" name="wp-font-awesome-settings[shims]"
441
-								       value="1" <?php checked( $this->settings['shims'], '1' ); ?> id="wpfas-shims"/>
442
-								<span><?php _e( 'This enables v4 classes to work with v5, sort of like a band-aid until everyone has updated everything to v5.', 'font-awesome-settings' ); ?></span>
441
+								       value="1" <?php checked($this->settings['shims'], '1'); ?> id="wpfas-shims"/>
442
+								<span><?php _e('This enables v4 classes to work with v5, sort of like a band-aid until everyone has updated everything to v5.', 'font-awesome-settings'); ?></span>
443 443
 							</td>
444 444
 						</tr>
445 445
 
446 446
 						<tr valign="top" class="wpfas-kit-hide">
447 447
 							<th scope="row"><label
448
-									for="wpfas-js-pseudo"><?php _e( 'Enable JS pseudo elements (not recommended)', 'font-awesome-settings' ); ?></label>
448
+									for="wpfas-js-pseudo"><?php _e('Enable JS pseudo elements (not recommended)', 'font-awesome-settings'); ?></label>
449 449
 							</th>
450 450
 							<td>
451 451
 								<input type="hidden" name="wp-font-awesome-settings[js-pseudo]" value="0"/>
452 452
 								<input type="checkbox" name="wp-font-awesome-settings[js-pseudo]"
453
-								       value="1" <?php checked( $this->settings['js-pseudo'], '1' ); ?>
453
+								       value="1" <?php checked($this->settings['js-pseudo'], '1'); ?>
454 454
 								       id="wpfas-js-pseudo"/>
455
-								<span><?php _e( 'Used only with the JS version, this will make pseudo-elements work but can be CPU intensive on some sites.', 'font-awesome-settings' ); ?></span>
455
+								<span><?php _e('Used only with the JS version, this will make pseudo-elements work but can be CPU intensive on some sites.', 'font-awesome-settings'); ?></span>
456 456
 							</td>
457 457
 						</tr>
458 458
 
459 459
 						<tr valign="top">
460 460
 							<th scope="row"><label
461
-									for="wpfas-dequeue"><?php _e( 'Dequeue', 'font-awesome-settings' ); ?></label></th>
461
+									for="wpfas-dequeue"><?php _e('Dequeue', 'font-awesome-settings'); ?></label></th>
462 462
 							<td>
463 463
 								<input type="hidden" name="wp-font-awesome-settings[dequeue]" value="0"/>
464 464
 								<input type="checkbox" name="wp-font-awesome-settings[dequeue]"
465
-								       value="1" <?php checked( $this->settings['dequeue'], '1' ); ?>
465
+								       value="1" <?php checked($this->settings['dequeue'], '1'); ?>
466 466
 								       id="wpfas-dequeue"/>
467
-								<span><?php _e( 'This will try to dequeue any other Font Awesome versions loaded by other sources if they are added with `font-awesome` or `fontawesome` in the name.', 'font-awesome-settings' ); ?></span>
467
+								<span><?php _e('This will try to dequeue any other Font Awesome versions loaded by other sources if they are added with `font-awesome` or `fontawesome` in the name.', 'font-awesome-settings'); ?></span>
468 468
 							</td>
469 469
 						</tr>
470 470
 
@@ -489,12 +489,12 @@  discard block
 block discarded – undo
489 489
 		 *
490 490
 		 * @return string Either a valid version number or an empty string.
491 491
 		 */
492
-		public function validate_version_number( $version ) {
492
+		public function validate_version_number($version) {
493 493
 
494
-			if ( version_compare( $version, '0.0.1', '>=' ) >= 0 ) {
494
+			if (version_compare($version, '0.0.1', '>=') >= 0) {
495 495
 				// valid
496 496
 			} else {
497
-				$version = '';// not validated
497
+				$version = ''; // not validated
498 498
 			}
499 499
 
500 500
 			return $version;
@@ -509,19 +509,19 @@  discard block
 block discarded – undo
509 509
 		 * @since 1.0.7
510 510
 		 * @return mixed|string The latest version number found.
511 511
 		 */
512
-		public function get_latest_version( $force_api = false ) {
512
+		public function get_latest_version($force_api = false) {
513 513
 			$latest_version = $this->latest;
514 514
 
515
-			$cache = get_transient( 'wp-font-awesome-settings-version' );
515
+			$cache = get_transient('wp-font-awesome-settings-version');
516 516
 
517
-			if ( $cache === false || $force_api ) { // its not set
517
+			if ($cache === false || $force_api) { // its not set
518 518
 				$api_ver = $this->get_latest_version_from_api();
519
-				if ( version_compare( $api_ver, $this->latest, '>=' ) >= 0 ) {
519
+				if (version_compare($api_ver, $this->latest, '>=') >= 0) {
520 520
 					$latest_version = $api_ver;
521
-					set_transient( 'wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS );
521
+					set_transient('wp-font-awesome-settings-version', $api_ver, 48 * HOUR_IN_SECONDS);
522 522
 				}
523
-			} elseif ( $this->validate_version_number( $cache ) ) {
524
-				if ( version_compare( $cache, $this->latest, '>=' ) >= 0 ) {
523
+			} elseif ($this->validate_version_number($cache)) {
524
+				if (version_compare($cache, $this->latest, '>=') >= 0) {
525 525
 					$latest_version = $cache;
526 526
 				}
527 527
 			}
@@ -537,10 +537,10 @@  discard block
 block discarded – undo
537 537
 		 */
538 538
 		public function get_latest_version_from_api() {
539 539
 			$version  = "0";
540
-			$response = wp_remote_get( "https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest" );
541
-			if ( ! is_wp_error( $response ) && is_array( $response ) ) {
542
-				$api_response = json_decode( wp_remote_retrieve_body( $response ), true );
543
-				if ( isset( $api_response['tag_name'] ) && version_compare( $api_response['tag_name'], $this->latest, '>=' ) >= 0 && empty( $api_response['prerelease'] ) ) {
540
+			$response = wp_remote_get("https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest");
541
+			if (!is_wp_error($response) && is_array($response)) {
542
+				$api_response = json_decode(wp_remote_retrieve_body($response), true);
543
+				if (isset($api_response['tag_name']) && version_compare($api_response['tag_name'], $this->latest, '>=') >= 0 && empty($api_response['prerelease'])) {
544 544
 					$version = $api_response['tag_name'];
545 545
 				}
546 546
 			}
Please login to merge, or discard this patch.
includes/abstracts/abstract-wpinv-privacy.php 1 patch
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Abstract privacy class.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * Abstract class that is intended to be extended by
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
      *
39 39
      * @param string $name Plugin identifier.
40 40
      */
41
-    public function __construct( $name = '' ) {
41
+    public function __construct($name = '') {
42 42
         $this->name = $name;
43 43
         $this->init();
44 44
     }
@@ -47,22 +47,22 @@  discard block
 block discarded – undo
47 47
      * Hook in events.
48 48
      */
49 49
     protected function init() {
50
-        add_action( 'admin_init', array( $this, 'add_privacy_message' ) );
50
+        add_action('admin_init', array($this, 'add_privacy_message'));
51 51
         // Register data exporters
52
-        add_filter( 'wp_privacy_personal_data_exporters', array( $this, 'register_exporters' ), 10 );
52
+        add_filter('wp_privacy_personal_data_exporters', array($this, 'register_exporters'), 10);
53 53
         // Register data erasers
54
-        add_filter( 'wp_privacy_personal_data_erasers', array( $this, 'register_erasers' ) );
54
+        add_filter('wp_privacy_personal_data_erasers', array($this, 'register_erasers'));
55 55
     }
56 56
 
57 57
     /**
58 58
      * Adds the privacy message on invoicing privacy page.
59 59
      */
60 60
     public function add_privacy_message() {
61
-        if ( function_exists( 'wp_add_privacy_policy_content' ) ) {
61
+        if (function_exists('wp_add_privacy_policy_content')) {
62 62
             $content = $this->get_privacy_message();
63 63
 
64
-            if ( $content ) {
65
-                wp_add_privacy_policy_content( $this->name, $this->get_privacy_message() );
64
+            if ($content) {
65
+                wp_add_privacy_policy_content($this->name, $this->get_privacy_message());
66 66
             }
67 67
         }
68 68
     }
@@ -83,9 +83,9 @@  discard block
 block discarded – undo
83 83
      * @param array $exporters List of exporter callbacks.
84 84
      * @return array
85 85
      */
86
-    public function register_exporters( $exporters = array() ) {
87
-        foreach ( $this->exporters as $id => $exporter ) {
88
-            $exporters[ $id ] = $exporter;
86
+    public function register_exporters($exporters = array()) {
87
+        foreach ($this->exporters as $id => $exporter) {
88
+            $exporters[$id] = $exporter;
89 89
         }
90 90
         return $exporters;
91 91
     }
@@ -96,9 +96,9 @@  discard block
 block discarded – undo
96 96
      * @param array $erasers List of eraser callbacks.
97 97
      * @return array
98 98
      */
99
-    public function register_erasers( $erasers = array() ) {
100
-        foreach ( $this->erasers as $id => $eraser ) {
101
-            $erasers[ $id ] = $eraser;
99
+    public function register_erasers($erasers = array()) {
100
+        foreach ($this->erasers as $id => $eraser) {
101
+            $erasers[$id] = $eraser;
102 102
         }
103 103
         return $erasers;
104 104
     }
@@ -112,8 +112,8 @@  discard block
 block discarded – undo
112 112
      *
113 113
      * @return array
114 114
      */
115
-    public function add_exporter( $id, $name, $callback ) {
116
-        $this->exporters[ $id ] = array(
115
+    public function add_exporter($id, $name, $callback) {
116
+        $this->exporters[$id] = array(
117 117
             'exporter_friendly_name' => $name,
118 118
             'callback'               => $callback,
119 119
         );
@@ -129,8 +129,8 @@  discard block
 block discarded – undo
129 129
      *
130 130
      * @return array
131 131
      */
132
-    public function add_eraser( $id, $name, $callback ) {
133
-        $this->erasers[ $id ] = array(
132
+    public function add_eraser($id, $name, $callback) {
133
+        $this->erasers[$id] = array(
134 134
             'eraser_friendly_name' => $name,
135 135
             'callback'             => $callback,
136 136
         );
Please login to merge, or discard this patch.
includes/abstracts/abstract-wpinv-session.php 2 patches
Indentation   +98 added lines, -98 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  */
5 5
 
6 6
 if ( ! defined( 'ABSPATH' ) ) {
7
-	exit;
7
+    exit;
8 8
 }
9 9
 
10 10
 /**
@@ -12,112 +12,112 @@  discard block
 block discarded – undo
12 12
  */
13 13
 abstract class WPInv_Session {
14 14
 
15
-	/**
16
-	 * Customer ID.
17
-	 *
18
-	 * @var int $_customer_id Customer ID.
19
-	 */
20
-	protected $_customer_id;
15
+    /**
16
+     * Customer ID.
17
+     *
18
+     * @var int $_customer_id Customer ID.
19
+     */
20
+    protected $_customer_id;
21 21
 
22
-	/**
23
-	 * Session Data.
24
-	 *
25
-	 * @var array $_data Data array.
26
-	 */
27
-	protected $_data = array();
22
+    /**
23
+     * Session Data.
24
+     *
25
+     * @var array $_data Data array.
26
+     */
27
+    protected $_data = array();
28 28
 
29
-	/**
30
-	 * Dirty when the session needs saving.
31
-	 *
32
-	 * @var bool $_dirty When something changes
33
-	 */
34
-	protected $_dirty = false;
29
+    /**
30
+     * Dirty when the session needs saving.
31
+     *
32
+     * @var bool $_dirty When something changes
33
+     */
34
+    protected $_dirty = false;
35 35
 
36
-	/**
37
-	 * Init hooks and session data. Extended by child classes.
38
-	 *
39
-	 * @since 3.3.0
40
-	 */
41
-	public function init() {}
36
+    /**
37
+     * Init hooks and session data. Extended by child classes.
38
+     *
39
+     * @since 3.3.0
40
+     */
41
+    public function init() {}
42 42
 
43
-	/**
44
-	 * Cleanup session data. Extended by child classes.
45
-	 */
46
-	public function cleanup_sessions() {}
43
+    /**
44
+     * Cleanup session data. Extended by child classes.
45
+     */
46
+    public function cleanup_sessions() {}
47 47
 
48
-	/**
49
-	 * Magic get method.
50
-	 *
51
-	 * @param mixed $key Key to get.
52
-	 * @return mixed
53
-	 */
54
-	public function __get( $key ) {
55
-		return $this->get( $key );
56
-	}
48
+    /**
49
+     * Magic get method.
50
+     *
51
+     * @param mixed $key Key to get.
52
+     * @return mixed
53
+     */
54
+    public function __get( $key ) {
55
+        return $this->get( $key );
56
+    }
57 57
 
58
-	/**
59
-	 * Magic set method.
60
-	 *
61
-	 * @param mixed $key Key to set.
62
-	 * @param mixed $value Value to set.
63
-	 */
64
-	public function __set( $key, $value ) {
65
-		$this->set( $key, $value );
66
-	}
58
+    /**
59
+     * Magic set method.
60
+     *
61
+     * @param mixed $key Key to set.
62
+     * @param mixed $value Value to set.
63
+     */
64
+    public function __set( $key, $value ) {
65
+        $this->set( $key, $value );
66
+    }
67 67
 
68
-	/**
69
-	 * Magic isset method.
70
-	 *
71
-	 * @param mixed $key Key to check.
72
-	 * @return bool
73
-	 */
74
-	public function __isset( $key ) {
75
-		return isset( $this->_data[ sanitize_title( $key ) ] );
76
-	}
68
+    /**
69
+     * Magic isset method.
70
+     *
71
+     * @param mixed $key Key to check.
72
+     * @return bool
73
+     */
74
+    public function __isset( $key ) {
75
+        return isset( $this->_data[ sanitize_title( $key ) ] );
76
+    }
77 77
 
78
-	/**
79
-	 * Magic unset method.
80
-	 *
81
-	 * @param mixed $key Key to unset.
82
-	 */
83
-	public function __unset( $key ) {
84
-		if ( isset( $this->_data[ $key ] ) ) {
85
-			unset( $this->_data[ $key ] );
86
-			$this->_dirty = true;
87
-		}
88
-	}
78
+    /**
79
+     * Magic unset method.
80
+     *
81
+     * @param mixed $key Key to unset.
82
+     */
83
+    public function __unset( $key ) {
84
+        if ( isset( $this->_data[ $key ] ) ) {
85
+            unset( $this->_data[ $key ] );
86
+            $this->_dirty = true;
87
+        }
88
+    }
89 89
 
90
-	/**
91
-	 * Get a session variable.
92
-	 *
93
-	 * @param string $key Key to get.
94
-	 * @param mixed  $default used if the session variable isn't set.
95
-	 * @return array|string value of session variable
96
-	 */
97
-	public function get( $key, $default = null ) {
98
-		$key = sanitize_key( $key );
99
-		return isset( $this->_data[ $key ] ) ? maybe_unserialize( $this->_data[ $key ] ) : $default;
100
-	}
90
+    /**
91
+     * Get a session variable.
92
+     *
93
+     * @param string $key Key to get.
94
+     * @param mixed  $default used if the session variable isn't set.
95
+     * @return array|string value of session variable
96
+     */
97
+    public function get( $key, $default = null ) {
98
+        $key = sanitize_key( $key );
99
+        return isset( $this->_data[ $key ] ) ? maybe_unserialize( $this->_data[ $key ] ) : $default;
100
+    }
101 101
 
102
-	/**
103
-	 * Set a session variable.
104
-	 *
105
-	 * @param string $key Key to set.
106
-	 * @param mixed  $value Value to set.
107
-	 */
108
-	public function set( $key, $value ) {
109
-		if ( $value !== $this->get( $key ) ) {
110
-			$this->_data[ sanitize_key( $key ) ] = maybe_serialize( $value );
111
-			$this->_dirty                        = true;
112
-		}
113
-	}
102
+    /**
103
+     * Set a session variable.
104
+     *
105
+     * @param string $key Key to set.
106
+     * @param mixed  $value Value to set.
107
+     */
108
+    public function set( $key, $value ) {
109
+        if ( $value !== $this->get( $key ) ) {
110
+            $this->_data[ sanitize_key( $key ) ] = maybe_serialize( $value );
111
+            $this->_dirty                        = true;
112
+        }
113
+    }
114 114
 
115
-	/**
116
-	 * Get customer ID.
117
-	 *
118
-	 * @return int
119
-	 */
120
-	public function get_customer_id() {
121
-		return $this->_customer_id;
122
-	}
115
+    /**
116
+     * Get customer ID.
117
+     *
118
+     * @return int
119
+     */
120
+    public function get_customer_id() {
121
+        return $this->_customer_id;
122
+    }
123 123
 }
Please login to merge, or discard this patch.
Spacing   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Handle data for the current customer session
4 4
  */
5 5
 
6
-if ( ! defined( 'ABSPATH' ) ) {
6
+if (!defined('ABSPATH')) {
7 7
 	exit;
8 8
 }
9 9
 
@@ -51,8 +51,8 @@  discard block
 block discarded – undo
51 51
 	 * @param mixed $key Key to get.
52 52
 	 * @return mixed
53 53
 	 */
54
-	public function __get( $key ) {
55
-		return $this->get( $key );
54
+	public function __get($key) {
55
+		return $this->get($key);
56 56
 	}
57 57
 
58 58
 	/**
@@ -61,8 +61,8 @@  discard block
 block discarded – undo
61 61
 	 * @param mixed $key Key to set.
62 62
 	 * @param mixed $value Value to set.
63 63
 	 */
64
-	public function __set( $key, $value ) {
65
-		$this->set( $key, $value );
64
+	public function __set($key, $value) {
65
+		$this->set($key, $value);
66 66
 	}
67 67
 
68 68
 	/**
@@ -71,8 +71,8 @@  discard block
 block discarded – undo
71 71
 	 * @param mixed $key Key to check.
72 72
 	 * @return bool
73 73
 	 */
74
-	public function __isset( $key ) {
75
-		return isset( $this->_data[ sanitize_title( $key ) ] );
74
+	public function __isset($key) {
75
+		return isset($this->_data[sanitize_title($key)]);
76 76
 	}
77 77
 
78 78
 	/**
@@ -80,9 +80,9 @@  discard block
 block discarded – undo
80 80
 	 *
81 81
 	 * @param mixed $key Key to unset.
82 82
 	 */
83
-	public function __unset( $key ) {
84
-		if ( isset( $this->_data[ $key ] ) ) {
85
-			unset( $this->_data[ $key ] );
83
+	public function __unset($key) {
84
+		if (isset($this->_data[$key])) {
85
+			unset($this->_data[$key]);
86 86
 			$this->_dirty = true;
87 87
 		}
88 88
 	}
@@ -94,9 +94,9 @@  discard block
 block discarded – undo
94 94
 	 * @param mixed  $default used if the session variable isn't set.
95 95
 	 * @return array|string value of session variable
96 96
 	 */
97
-	public function get( $key, $default = null ) {
98
-		$key = sanitize_key( $key );
99
-		return isset( $this->_data[ $key ] ) ? maybe_unserialize( $this->_data[ $key ] ) : $default;
97
+	public function get($key, $default = null) {
98
+		$key = sanitize_key($key);
99
+		return isset($this->_data[$key]) ? maybe_unserialize($this->_data[$key]) : $default;
100 100
 	}
101 101
 
102 102
 	/**
@@ -105,9 +105,9 @@  discard block
 block discarded – undo
105 105
 	 * @param string $key Key to set.
106 106
 	 * @param mixed  $value Value to set.
107 107
 	 */
108
-	public function set( $key, $value ) {
109
-		if ( $value !== $this->get( $key ) ) {
110
-			$this->_data[ sanitize_key( $key ) ] = maybe_serialize( $value );
108
+	public function set($key, $value) {
109
+		if ($value !== $this->get($key)) {
110
+			$this->_data[sanitize_key($key)] = maybe_serialize($value);
111 111
 			$this->_dirty                        = true;
112 112
 		}
113 113
 	}
Please login to merge, or discard this patch.
includes/wpinv-template-functions.php 3 patches
Braces   +16 added lines, -11 removed lines patch added patch discarded remove patch
@@ -159,8 +159,9 @@  discard block
 block discarded – undo
159 159
 
160 160
 	// Setup possible parts
161 161
 	$templates = array();
162
-	if ( isset( $name ) )
163
-		$templates[] = $slug . '-' . $name . '.php';
162
+	if ( isset( $name ) ) {
163
+			$templates[] = $slug . '-' . $name . '.php';
164
+	}
164 165
 	$templates[] = $slug . '.php';
165 166
 
166 167
 	// Allow template parts to be filtered
@@ -178,8 +179,9 @@  discard block
 block discarded – undo
178 179
 	foreach ( (array)$template_names as $template_name ) {
179 180
 
180 181
 		// Continue if template is empty
181
-		if ( empty( $template_name ) )
182
-			continue;
182
+		if ( empty( $template_name ) ) {
183
+					continue;
184
+		}
183 185
 
184 186
 		// Trim off any slashes from the template name
185 187
 		$template_name = ltrim( $template_name, '/' );
@@ -198,8 +200,9 @@  discard block
 block discarded – undo
198 200
 		}
199 201
 	}
200 202
 
201
-	if ( ( true == $load ) && ! empty( $located ) )
202
-		load_template( $located, $require_once );
203
+	if ( ( true == $load ) && ! empty( $located ) ) {
204
+			load_template( $located, $require_once );
205
+	}
203 206
 
204 207
 	return $located;
205 208
 }
@@ -281,8 +284,9 @@  discard block
 block discarded – undo
281 284
 function wpinv_html_dropdown( $name = 'wpinv_discounts', $selected = 0, $status = '' ) {
282 285
     $args = array( 'nopaging' => true );
283 286
 
284
-    if ( ! empty( $status ) )
285
-        $args['post_status'] = $status;
287
+    if ( ! empty( $status ) ) {
288
+            $args['post_status'] = $status;
289
+    }
286 290
 
287 291
     $discounts = wpinv_get_discounts( $args );
288 292
     $options   = array();
@@ -1424,9 +1428,10 @@  discard block
 block discarded – undo
1424 1428
 add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' );
1425 1429
 
1426 1430
 function wpinv_update_cart_button() {
1427
-    if ( !wpinv_item_quantities_enabled() )
1428
-        return;
1429
-?>
1431
+    if ( !wpinv_item_quantities_enabled() ) {
1432
+            return;
1433
+    }
1434
+    ?>
1430 1435
     <input type="submit" name="wpinv_update_cart_submit" class="wpinv-submit wpinv-no-js button" value="<?php _e( 'Update Cart', 'invoicing' ); ?>"/>
1431 1436
     <input type="hidden" name="wpi_action" value="update_cart"/>
1432 1437
 <?php
Please login to merge, or discard this patch.
Indentation   +104 added lines, -104 removed lines patch added patch discarded remove patch
@@ -103,29 +103,29 @@  discard block
 block discarded – undo
103 103
 
104 104
 function wpinv_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
105 105
     if ( ! empty( $args ) && is_array( $args ) ) {
106
-		extract( $args );
107
-	}
106
+        extract( $args );
107
+    }
108 108
 
109
-	$located = wpinv_locate_template( $template_name, $template_path, $default_path );
110
-	// Allow 3rd party plugin filter template file from their plugin.
111
-	$located = apply_filters( 'wpinv_get_template', $located, $template_name, $args, $template_path, $default_path );
109
+    $located = wpinv_locate_template( $template_name, $template_path, $default_path );
110
+    // Allow 3rd party plugin filter template file from their plugin.
111
+    $located = apply_filters( 'wpinv_get_template', $located, $template_name, $args, $template_path, $default_path );
112 112
 
113
-	if ( ! file_exists( $located ) ) {
113
+    if ( ! file_exists( $located ) ) {
114 114
         _doing_it_wrong( __FUNCTION__, sprintf( '<code>%s</code> does not exist.', $located ), '2.1' );
115
-		return;
116
-	}
115
+        return;
116
+    }
117 117
 
118
-	do_action( 'wpinv_before_template_part', $template_name, $template_path, $located, $args );
118
+    do_action( 'wpinv_before_template_part', $template_name, $template_path, $located, $args );
119 119
 
120
-	include( $located );
120
+    include( $located );
121 121
 
122
-	do_action( 'wpinv_after_template_part', $template_name, $template_path, $located, $args );
122
+    do_action( 'wpinv_after_template_part', $template_name, $template_path, $located, $args );
123 123
 }
124 124
 
125 125
 function wpinv_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
126
-	ob_start();
127
-	wpinv_get_template( $template_name, $args, $template_path, $default_path );
128
-	return ob_get_clean();
126
+    ob_start();
127
+    wpinv_get_template( $template_name, $args, $template_path, $default_path );
128
+    return ob_get_clean();
129 129
 }
130 130
 
131 131
 function wpinv_locate_template( $template_name, $template_path = '', $default_path = '' ) {
@@ -155,126 +155,126 @@  discard block
 block discarded – undo
155 155
 }
156 156
 
157 157
 function wpinv_get_template_part( $slug, $name = null, $load = true ) {
158
-	do_action( 'get_template_part_' . $slug, $slug, $name );
158
+    do_action( 'get_template_part_' . $slug, $slug, $name );
159 159
 
160
-	// Setup possible parts
161
-	$templates = array();
162
-	if ( isset( $name ) )
163
-		$templates[] = $slug . '-' . $name . '.php';
164
-	$templates[] = $slug . '.php';
160
+    // Setup possible parts
161
+    $templates = array();
162
+    if ( isset( $name ) )
163
+        $templates[] = $slug . '-' . $name . '.php';
164
+    $templates[] = $slug . '.php';
165 165
 
166
-	// Allow template parts to be filtered
167
-	$templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name );
166
+    // Allow template parts to be filtered
167
+    $templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name );
168 168
 
169
-	// Return the part that is found
170
-	return wpinv_locate_tmpl( $templates, $load, false );
169
+    // Return the part that is found
170
+    return wpinv_locate_tmpl( $templates, $load, false );
171 171
 }
172 172
 
173 173
 function wpinv_locate_tmpl( $template_names, $load = false, $require_once = true ) {
174
-	// No file found yet
175
-	$located = false;
174
+    // No file found yet
175
+    $located = false;
176 176
 
177
-	// Try to find a template file
178
-	foreach ( (array)$template_names as $template_name ) {
177
+    // Try to find a template file
178
+    foreach ( (array)$template_names as $template_name ) {
179 179
 
180
-		// Continue if template is empty
181
-		if ( empty( $template_name ) )
182
-			continue;
180
+        // Continue if template is empty
181
+        if ( empty( $template_name ) )
182
+            continue;
183 183
 
184
-		// Trim off any slashes from the template name
185
-		$template_name = ltrim( $template_name, '/' );
184
+        // Trim off any slashes from the template name
185
+        $template_name = ltrim( $template_name, '/' );
186 186
 
187
-		// try locating this template file by looping through the template paths
188
-		foreach( wpinv_get_theme_template_paths() as $template_path ) {
187
+        // try locating this template file by looping through the template paths
188
+        foreach( wpinv_get_theme_template_paths() as $template_path ) {
189 189
 
190
-			if( file_exists( $template_path . $template_name ) ) {
191
-				$located = $template_path . $template_name;
192
-				break;
193
-			}
194
-		}
190
+            if( file_exists( $template_path . $template_name ) ) {
191
+                $located = $template_path . $template_name;
192
+                break;
193
+            }
194
+        }
195 195
 
196
-		if( !empty( $located ) ) {
197
-			break;
198
-		}
199
-	}
196
+        if( !empty( $located ) ) {
197
+            break;
198
+        }
199
+    }
200 200
 
201
-	if ( ( true == $load ) && ! empty( $located ) )
202
-		load_template( $located, $require_once );
201
+    if ( ( true == $load ) && ! empty( $located ) )
202
+        load_template( $located, $require_once );
203 203
 
204
-	return $located;
204
+    return $located;
205 205
 }
206 206
 
207 207
 function wpinv_get_theme_template_paths() {
208
-	$template_dir = wpinv_get_theme_template_dir_name();
208
+    $template_dir = wpinv_get_theme_template_dir_name();
209 209
 
210
-	$file_paths = array(
211
-		1 => trailingslashit( get_stylesheet_directory() ) . $template_dir,
212
-		10 => trailingslashit( get_template_directory() ) . $template_dir,
213
-		100 => wpinv_get_templates_dir()
214
-	);
210
+    $file_paths = array(
211
+        1 => trailingslashit( get_stylesheet_directory() ) . $template_dir,
212
+        10 => trailingslashit( get_template_directory() ) . $template_dir,
213
+        100 => wpinv_get_templates_dir()
214
+    );
215 215
 
216
-	$file_paths = apply_filters( 'wpinv_template_paths', $file_paths );
216
+    $file_paths = apply_filters( 'wpinv_template_paths', $file_paths );
217 217
 
218
-	// sort the file paths based on priority
219
-	ksort( $file_paths, SORT_NUMERIC );
218
+    // sort the file paths based on priority
219
+    ksort( $file_paths, SORT_NUMERIC );
220 220
 
221
-	return array_map( 'trailingslashit', $file_paths );
221
+    return array_map( 'trailingslashit', $file_paths );
222 222
 }
223 223
 
224 224
 function wpinv_get_theme_template_dir_name() {
225
-	return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) );
225
+    return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) );
226 226
 }
227 227
 
228 228
 function wpinv_checkout_meta_tags() {
229 229
 
230
-	$pages   = array();
231
-	$pages[] = wpinv_get_option( 'success_page' );
232
-	$pages[] = wpinv_get_option( 'failure_page' );
233
-	$pages[] = wpinv_get_option( 'invoice_history_page' );
234
-	$pages[] = wpinv_get_option( 'invoice_subscription_page' );
230
+    $pages   = array();
231
+    $pages[] = wpinv_get_option( 'success_page' );
232
+    $pages[] = wpinv_get_option( 'failure_page' );
233
+    $pages[] = wpinv_get_option( 'invoice_history_page' );
234
+    $pages[] = wpinv_get_option( 'invoice_subscription_page' );
235 235
 
236
-	if( !wpinv_is_checkout() && !is_page( $pages ) ) {
237
-		return;
238
-	}
236
+    if( !wpinv_is_checkout() && !is_page( $pages ) ) {
237
+        return;
238
+    }
239 239
 
240
-	echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
240
+    echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
241 241
 }
242 242
 add_action( 'wp_head', 'wpinv_checkout_meta_tags' );
243 243
 
244 244
 function wpinv_add_body_classes( $class ) {
245
-	$classes = (array)$class;
245
+    $classes = (array)$class;
246 246
 
247
-	if( wpinv_is_checkout() ) {
248
-		$classes[] = 'wpinv-checkout';
249
-		$classes[] = 'wpinv-page';
250
-	}
247
+    if( wpinv_is_checkout() ) {
248
+        $classes[] = 'wpinv-checkout';
249
+        $classes[] = 'wpinv-page';
250
+    }
251 251
 
252
-	if( wpinv_is_success_page() ) {
253
-		$classes[] = 'wpinv-success';
254
-		$classes[] = 'wpinv-page';
255
-	}
252
+    if( wpinv_is_success_page() ) {
253
+        $classes[] = 'wpinv-success';
254
+        $classes[] = 'wpinv-page';
255
+    }
256 256
 
257
-	if( wpinv_is_failed_transaction_page() ) {
258
-		$classes[] = 'wpinv-failed-transaction';
259
-		$classes[] = 'wpinv-page';
260
-	}
257
+    if( wpinv_is_failed_transaction_page() ) {
258
+        $classes[] = 'wpinv-failed-transaction';
259
+        $classes[] = 'wpinv-page';
260
+    }
261 261
 
262
-	if( wpinv_is_invoice_history_page() ) {
263
-		$classes[] = 'wpinv-history';
264
-		$classes[] = 'wpinv-page';
265
-	}
262
+    if( wpinv_is_invoice_history_page() ) {
263
+        $classes[] = 'wpinv-history';
264
+        $classes[] = 'wpinv-page';
265
+    }
266 266
 
267
-	if( wpinv_is_subscriptions_history_page() ) {
268
-		$classes[] = 'wpinv-subscription';
269
-		$classes[] = 'wpinv-page';
270
-	}
267
+    if( wpinv_is_subscriptions_history_page() ) {
268
+        $classes[] = 'wpinv-subscription';
269
+        $classes[] = 'wpinv-page';
270
+    }
271 271
 
272
-	if( wpinv_is_test_mode() ) {
273
-		$classes[] = 'wpinv-test-mode';
274
-		$classes[] = 'wpinv-page';
275
-	}
272
+    if( wpinv_is_test_mode() ) {
273
+        $classes[] = 'wpinv-test-mode';
274
+        $classes[] = 'wpinv-page';
275
+    }
276 276
 
277
-	return array_unique( $classes );
277
+    return array_unique( $classes );
278 278
 }
279 279
 add_filter( 'body_class', 'wpinv_add_body_classes' );
280 280
 
@@ -947,21 +947,21 @@  discard block
 block discarded – undo
947 947
 
948 948
     $formatted_address = str_ireplace( array_keys( $replacements ), $replacements, $format );
949 949
     
950
-	// Remove unavailable tags.
950
+    // Remove unavailable tags.
951 951
     $formatted_address = preg_replace( "/\{\{\w+\}\}/", '', $formatted_address );
952 952
 
953 953
     // Clean up white space.
954
-	$formatted_address = preg_replace( '/  +/', ' ', trim( $formatted_address ) );
954
+    $formatted_address = preg_replace( '/  +/', ' ', trim( $formatted_address ) );
955 955
     $formatted_address = preg_replace( '/\n\n+/', "\n", $formatted_address );
956 956
     
957 957
     // Break newlines apart and remove empty lines/trim commas and white space.
958
-	$formatted_address = array_filter( array_map( 'wpinv_trim_formatted_address_line', explode( "\n", $formatted_address ) ) );
958
+    $formatted_address = array_filter( array_map( 'wpinv_trim_formatted_address_line', explode( "\n", $formatted_address ) ) );
959 959
 
960 960
     // Add html breaks.
961
-	$formatted_address = implode( $separator, $formatted_address );
961
+    $formatted_address = implode( $separator, $formatted_address );
962 962
 
963
-	// We're done!
964
-	return $formatted_address;
963
+    // We're done!
964
+    return $formatted_address;
965 965
     
966 966
 }
967 967
 
@@ -1048,7 +1048,7 @@  discard block
 block discarded – undo
1048 1048
 
1049 1049
                     $item       = $item_id ? new WPInv_Item( $item_id ) : NULL;
1050 1050
                     $summary    = '';
1051
-	                $item_name    = '';
1051
+                    $item_name    = '';
1052 1052
                     $cols       = 3;
1053 1053
                     if ( !empty($item) ) {
1054 1054
                         $item_name  = $item->get_name();
@@ -1426,7 +1426,7 @@  discard block
 block discarded – undo
1426 1426
     $form_action  = esc_url( wpinv_get_checkout_uri() );
1427 1427
 
1428 1428
     ob_start();
1429
-	    do_action( 'wpinv_checkout_content_before' );
1429
+        do_action( 'wpinv_checkout_content_before' );
1430 1430
         echo '<div id="wpinv_checkout_wrap">';
1431 1431
 
1432 1432
         if ( wpinv_get_cart_contents() || wpinv_cart_has_fees() ) {
@@ -1449,7 +1449,7 @@  discard block
 block discarded – undo
1449 1449
             do_action( 'wpinv_cart_empty' );
1450 1450
         }
1451 1451
         echo '</div><!--end #wpinv_checkout_wrap-->';
1452
-	    do_action( 'wpinv_checkout_content_after' );
1452
+        do_action( 'wpinv_checkout_content_after' );
1453 1453
     return ob_get_clean();
1454 1454
 }
1455 1455
 
@@ -1476,7 +1476,7 @@  discard block
 block discarded – undo
1476 1476
 add_action( 'wpinv_checkout_cart', 'wpinv_checkout_cart', 10 );
1477 1477
 
1478 1478
 function wpinv_empty_cart_message() {
1479
-	return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1479
+    return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1480 1480
 }
1481 1481
 
1482 1482
 /**
@@ -1486,7 +1486,7 @@  discard block
 block discarded – undo
1486 1486
  * @return void
1487 1487
  */
1488 1488
 function wpinv_empty_checkout_cart() {
1489
-	echo wpinv_empty_cart_message();
1489
+    echo wpinv_empty_cart_message();
1490 1490
 }
1491 1491
 add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' );
1492 1492
 
Please login to merge, or discard this patch.
Spacing   +736 added lines, -736 removed lines patch added patch discarded remove patch
@@ -7,91 +7,91 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14
-if ( !is_admin() ) {
15
-    add_filter( 'template_include', 'wpinv_template', 10, 1 );
16
-    add_action( 'wpinv_invoice_print_body_start', 'wpinv_display_invoice_top_bar' );
17
-    add_action( 'wpinv_invoice_top_bar_left', 'wpinv_invoice_display_left_actions' );
18
-    add_action( 'wpinv_invoice_top_bar_right', 'wpinv_invoice_display_right_actions' );
14
+if (!is_admin()) {
15
+    add_filter('template_include', 'wpinv_template', 10, 1);
16
+    add_action('wpinv_invoice_print_body_start', 'wpinv_display_invoice_top_bar');
17
+    add_action('wpinv_invoice_top_bar_left', 'wpinv_invoice_display_left_actions');
18
+    add_action('wpinv_invoice_top_bar_right', 'wpinv_invoice_display_right_actions');
19 19
 }
20 20
 
21 21
 function wpinv_template_path() {
22
-    return apply_filters( 'wpinv_template_path', wpinv_get_theme_template_dir_name() );
22
+    return apply_filters('wpinv_template_path', wpinv_get_theme_template_dir_name());
23 23
 }
24 24
 
25
-function wpinv_display_invoice_top_bar( $invoice ) {
26
-    if ( empty( $invoice ) ) {
25
+function wpinv_display_invoice_top_bar($invoice) {
26
+    if (empty($invoice)) {
27 27
         return;
28 28
     }
29 29
     ?>
30 30
     <div class="row wpinv-top-bar no-print">
31 31
         <div class="container">
32 32
             <div class="col-xs-6">
33
-                <?php do_action( 'wpinv_invoice_top_bar_left', $invoice );?>
33
+                <?php do_action('wpinv_invoice_top_bar_left', $invoice); ?>
34 34
             </div>
35 35
             <div class="col-xs-6 text-right">
36
-                <?php do_action( 'wpinv_invoice_top_bar_right', $invoice );?>
36
+                <?php do_action('wpinv_invoice_top_bar_right', $invoice); ?>
37 37
             </div>
38 38
         </div>
39 39
     </div>
40 40
     <?php
41 41
 }
42 42
 
43
-function wpinv_invoice_display_left_actions( $invoice ) {
44
-    if ( empty( $invoice ) ) {
43
+function wpinv_invoice_display_left_actions($invoice) {
44
+    if (empty($invoice)) {
45 45
         return; // Exit if invoice is not set.
46 46
     }
47 47
     
48
-    if ( $invoice->post_type == 'wpi_invoice' ) {
49
-        if ( $invoice->needs_payment() ) {
50
-            ?> <a class="btn btn-success btn-sm" title="<?php esc_attr_e( 'Pay This Invoice', 'invoicing' ); ?>" href="<?php echo esc_url( $invoice->get_checkout_payment_url() ); ?>"><?php _e( 'Pay For Invoice', 'invoicing' ); ?></a><?php
48
+    if ($invoice->post_type == 'wpi_invoice') {
49
+        if ($invoice->needs_payment()) {
50
+            ?> <a class="btn btn-success btn-sm" title="<?php esc_attr_e('Pay This Invoice', 'invoicing'); ?>" href="<?php echo esc_url($invoice->get_checkout_payment_url()); ?>"><?php _e('Pay For Invoice', 'invoicing'); ?></a><?php
51 51
         }
52 52
     }
53 53
     do_action('wpinv_invoice_display_left_actions', $invoice);
54 54
 }
55 55
 
56
-function wpinv_invoice_display_right_actions( $invoice ) {
57
-    if ( empty( $invoice ) ) {
56
+function wpinv_invoice_display_right_actions($invoice) {
57
+    if (empty($invoice)) {
58 58
         return; // Exit if invoice is not set.
59 59
     }
60 60
 
61
-    if ( $invoice->post_type == 'wpi_invoice' ) { ?>
62
-        <a class="btn btn-primary btn-sm btn-print-invoice" onclick="window.print();" href="javascript:void(0)"><?php _e( 'Print Invoice', 'invoicing' ); ?></a>
63
-        <?php if ( is_user_logged_in() ) { ?>
64
-        &nbsp;&nbsp;<a class="btn btn-warning btn-sm btn-invoice-history" href="<?php echo esc_url( wpinv_get_history_page_uri() ); ?>"><?php _e( 'Invoice History', 'invoicing' ); ?></a>
61
+    if ($invoice->post_type == 'wpi_invoice') { ?>
62
+        <a class="btn btn-primary btn-sm btn-print-invoice" onclick="window.print();" href="javascript:void(0)"><?php _e('Print Invoice', 'invoicing'); ?></a>
63
+        <?php if (is_user_logged_in()) { ?>
64
+        &nbsp;&nbsp;<a class="btn btn-warning btn-sm btn-invoice-history" href="<?php echo esc_url(wpinv_get_history_page_uri()); ?>"><?php _e('Invoice History', 'invoicing'); ?></a>
65 65
         <?php }
66 66
     }
67 67
     do_action('wpinv_invoice_display_right_actions', $invoice);
68 68
 }
69 69
 
70
-function wpinv_before_invoice_content( $content ) {
70
+function wpinv_before_invoice_content($content) {
71 71
     global $post;
72 72
 
73
-    if ( !empty( $post ) && $post->post_type == 'wpi_invoice' && is_singular( 'wpi_invoice' ) && is_main_query() ) {
73
+    if (!empty($post) && $post->post_type == 'wpi_invoice' && is_singular('wpi_invoice') && is_main_query()) {
74 74
         ob_start();
75
-        do_action( 'wpinv_before_invoice_content', $post->ID );
75
+        do_action('wpinv_before_invoice_content', $post->ID);
76 76
         $content = ob_get_clean() . $content;
77 77
     }
78 78
 
79 79
     return $content;
80 80
 }
81
-add_filter( 'the_content', 'wpinv_before_invoice_content' );
81
+add_filter('the_content', 'wpinv_before_invoice_content');
82 82
 
83
-function wpinv_after_invoice_content( $content ) {
83
+function wpinv_after_invoice_content($content) {
84 84
     global $post;
85 85
 
86
-    if ( !empty( $post ) && $post->post_type == 'wpi_invoice' && is_singular( 'wpi_invoice' ) && is_main_query() ) {
86
+    if (!empty($post) && $post->post_type == 'wpi_invoice' && is_singular('wpi_invoice') && is_main_query()) {
87 87
         ob_start();
88
-        do_action( 'wpinv_after_invoice_content', $post->ID );
88
+        do_action('wpinv_after_invoice_content', $post->ID);
89 89
         $content .= ob_get_clean();
90 90
     }
91 91
 
92 92
     return $content;
93 93
 }
94
-add_filter( 'the_content', 'wpinv_after_invoice_content' );
94
+add_filter('the_content', 'wpinv_after_invoice_content');
95 95
 
96 96
 function wpinv_get_templates_dir() {
97 97
     return WPINV_PLUGIN_DIR . 'templates';
@@ -101,105 +101,105 @@  discard block
 block discarded – undo
101 101
     return WPINV_PLUGIN_URL . 'templates';
102 102
 }
103 103
 
104
-function wpinv_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
105
-    if ( ! empty( $args ) && is_array( $args ) ) {
106
-		extract( $args );
104
+function wpinv_get_template($template_name, $args = array(), $template_path = '', $default_path = '') {
105
+    if (!empty($args) && is_array($args)) {
106
+		extract($args);
107 107
 	}
108 108
 
109
-	$located = wpinv_locate_template( $template_name, $template_path, $default_path );
109
+	$located = wpinv_locate_template($template_name, $template_path, $default_path);
110 110
 	// Allow 3rd party plugin filter template file from their plugin.
111
-	$located = apply_filters( 'wpinv_get_template', $located, $template_name, $args, $template_path, $default_path );
111
+	$located = apply_filters('wpinv_get_template', $located, $template_name, $args, $template_path, $default_path);
112 112
 
113
-	if ( ! file_exists( $located ) ) {
114
-        _doing_it_wrong( __FUNCTION__, sprintf( '<code>%s</code> does not exist.', $located ), '2.1' );
113
+	if (!file_exists($located)) {
114
+        _doing_it_wrong(__FUNCTION__, sprintf('<code>%s</code> does not exist.', $located), '2.1');
115 115
 		return;
116 116
 	}
117 117
 
118
-	do_action( 'wpinv_before_template_part', $template_name, $template_path, $located, $args );
118
+	do_action('wpinv_before_template_part', $template_name, $template_path, $located, $args);
119 119
 
120
-	include( $located );
120
+	include($located);
121 121
 
122
-	do_action( 'wpinv_after_template_part', $template_name, $template_path, $located, $args );
122
+	do_action('wpinv_after_template_part', $template_name, $template_path, $located, $args);
123 123
 }
124 124
 
125
-function wpinv_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
125
+function wpinv_get_template_html($template_name, $args = array(), $template_path = '', $default_path = '') {
126 126
 	ob_start();
127
-	wpinv_get_template( $template_name, $args, $template_path, $default_path );
127
+	wpinv_get_template($template_name, $args, $template_path, $default_path);
128 128
 	return ob_get_clean();
129 129
 }
130 130
 
131
-function wpinv_locate_template( $template_name, $template_path = '', $default_path = '' ) {
132
-    if ( ! $template_path ) {
131
+function wpinv_locate_template($template_name, $template_path = '', $default_path = '') {
132
+    if (!$template_path) {
133 133
         $template_path = wpinv_template_path();
134 134
     }
135 135
 
136
-    if ( ! $default_path ) {
136
+    if (!$default_path) {
137 137
         $default_path = WPINV_PLUGIN_DIR . 'templates/';
138 138
     }
139 139
 
140 140
     // Look within passed path within the theme - this is priority.
141 141
     $template = locate_template(
142 142
         array(
143
-            trailingslashit( $template_path ) . $template_name,
143
+            trailingslashit($template_path) . $template_name,
144 144
             $template_name
145 145
         )
146 146
     );
147 147
 
148 148
     // Get default templates/
149
-    if ( !$template && $default_path ) {
150
-        $template = trailingslashit( $default_path ) . $template_name;
149
+    if (!$template && $default_path) {
150
+        $template = trailingslashit($default_path) . $template_name;
151 151
     }
152 152
 
153 153
     // Return what we found.
154
-    return apply_filters( 'wpinv_locate_template', $template, $template_name, $template_path );
154
+    return apply_filters('wpinv_locate_template', $template, $template_name, $template_path);
155 155
 }
156 156
 
157
-function wpinv_get_template_part( $slug, $name = null, $load = true ) {
158
-	do_action( 'get_template_part_' . $slug, $slug, $name );
157
+function wpinv_get_template_part($slug, $name = null, $load = true) {
158
+	do_action('get_template_part_' . $slug, $slug, $name);
159 159
 
160 160
 	// Setup possible parts
161 161
 	$templates = array();
162
-	if ( isset( $name ) )
162
+	if (isset($name))
163 163
 		$templates[] = $slug . '-' . $name . '.php';
164 164
 	$templates[] = $slug . '.php';
165 165
 
166 166
 	// Allow template parts to be filtered
167
-	$templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name );
167
+	$templates = apply_filters('wpinv_get_template_part', $templates, $slug, $name);
168 168
 
169 169
 	// Return the part that is found
170
-	return wpinv_locate_tmpl( $templates, $load, false );
170
+	return wpinv_locate_tmpl($templates, $load, false);
171 171
 }
172 172
 
173
-function wpinv_locate_tmpl( $template_names, $load = false, $require_once = true ) {
173
+function wpinv_locate_tmpl($template_names, $load = false, $require_once = true) {
174 174
 	// No file found yet
175 175
 	$located = false;
176 176
 
177 177
 	// Try to find a template file
178
-	foreach ( (array)$template_names as $template_name ) {
178
+	foreach ((array) $template_names as $template_name) {
179 179
 
180 180
 		// Continue if template is empty
181
-		if ( empty( $template_name ) )
181
+		if (empty($template_name))
182 182
 			continue;
183 183
 
184 184
 		// Trim off any slashes from the template name
185
-		$template_name = ltrim( $template_name, '/' );
185
+		$template_name = ltrim($template_name, '/');
186 186
 
187 187
 		// try locating this template file by looping through the template paths
188
-		foreach( wpinv_get_theme_template_paths() as $template_path ) {
188
+		foreach (wpinv_get_theme_template_paths() as $template_path) {
189 189
 
190
-			if( file_exists( $template_path . $template_name ) ) {
190
+			if (file_exists($template_path . $template_name)) {
191 191
 				$located = $template_path . $template_name;
192 192
 				break;
193 193
 			}
194 194
 		}
195 195
 
196
-		if( !empty( $located ) ) {
196
+		if (!empty($located)) {
197 197
 			break;
198 198
 		}
199 199
 	}
200 200
 
201
-	if ( ( true == $load ) && ! empty( $located ) )
202
-		load_template( $located, $require_once );
201
+	if ((true == $load) && !empty($located))
202
+		load_template($located, $require_once);
203 203
 
204 204
 	return $located;
205 205
 }
@@ -208,159 +208,159 @@  discard block
 block discarded – undo
208 208
 	$template_dir = wpinv_get_theme_template_dir_name();
209 209
 
210 210
 	$file_paths = array(
211
-		1 => trailingslashit( get_stylesheet_directory() ) . $template_dir,
212
-		10 => trailingslashit( get_template_directory() ) . $template_dir,
211
+		1 => trailingslashit(get_stylesheet_directory()) . $template_dir,
212
+		10 => trailingslashit(get_template_directory()) . $template_dir,
213 213
 		100 => wpinv_get_templates_dir()
214 214
 	);
215 215
 
216
-	$file_paths = apply_filters( 'wpinv_template_paths', $file_paths );
216
+	$file_paths = apply_filters('wpinv_template_paths', $file_paths);
217 217
 
218 218
 	// sort the file paths based on priority
219
-	ksort( $file_paths, SORT_NUMERIC );
219
+	ksort($file_paths, SORT_NUMERIC);
220 220
 
221
-	return array_map( 'trailingslashit', $file_paths );
221
+	return array_map('trailingslashit', $file_paths);
222 222
 }
223 223
 
224 224
 function wpinv_get_theme_template_dir_name() {
225
-	return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) );
225
+	return trailingslashit(apply_filters('wpinv_templates_dir', 'invoicing'));
226 226
 }
227 227
 
228 228
 function wpinv_checkout_meta_tags() {
229 229
 
230 230
 	$pages   = array();
231
-	$pages[] = wpinv_get_option( 'success_page' );
232
-	$pages[] = wpinv_get_option( 'failure_page' );
233
-	$pages[] = wpinv_get_option( 'invoice_history_page' );
234
-	$pages[] = wpinv_get_option( 'invoice_subscription_page' );
231
+	$pages[] = wpinv_get_option('success_page');
232
+	$pages[] = wpinv_get_option('failure_page');
233
+	$pages[] = wpinv_get_option('invoice_history_page');
234
+	$pages[] = wpinv_get_option('invoice_subscription_page');
235 235
 
236
-	if( !wpinv_is_checkout() && !is_page( $pages ) ) {
236
+	if (!wpinv_is_checkout() && !is_page($pages)) {
237 237
 		return;
238 238
 	}
239 239
 
240 240
 	echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
241 241
 }
242
-add_action( 'wp_head', 'wpinv_checkout_meta_tags' );
242
+add_action('wp_head', 'wpinv_checkout_meta_tags');
243 243
 
244
-function wpinv_add_body_classes( $class ) {
245
-	$classes = (array)$class;
244
+function wpinv_add_body_classes($class) {
245
+	$classes = (array) $class;
246 246
 
247
-	if( wpinv_is_checkout() ) {
247
+	if (wpinv_is_checkout()) {
248 248
 		$classes[] = 'wpinv-checkout';
249 249
 		$classes[] = 'wpinv-page';
250 250
 	}
251 251
 
252
-	if( wpinv_is_success_page() ) {
252
+	if (wpinv_is_success_page()) {
253 253
 		$classes[] = 'wpinv-success';
254 254
 		$classes[] = 'wpinv-page';
255 255
 	}
256 256
 
257
-	if( wpinv_is_failed_transaction_page() ) {
257
+	if (wpinv_is_failed_transaction_page()) {
258 258
 		$classes[] = 'wpinv-failed-transaction';
259 259
 		$classes[] = 'wpinv-page';
260 260
 	}
261 261
 
262
-	if( wpinv_is_invoice_history_page() ) {
262
+	if (wpinv_is_invoice_history_page()) {
263 263
 		$classes[] = 'wpinv-history';
264 264
 		$classes[] = 'wpinv-page';
265 265
 	}
266 266
 
267
-	if( wpinv_is_subscriptions_history_page() ) {
267
+	if (wpinv_is_subscriptions_history_page()) {
268 268
 		$classes[] = 'wpinv-subscription';
269 269
 		$classes[] = 'wpinv-page';
270 270
 	}
271 271
 
272
-	if( wpinv_is_test_mode() ) {
272
+	if (wpinv_is_test_mode()) {
273 273
 		$classes[] = 'wpinv-test-mode';
274 274
 		$classes[] = 'wpinv-page';
275 275
 	}
276 276
 
277
-	return array_unique( $classes );
277
+	return array_unique($classes);
278 278
 }
279
-add_filter( 'body_class', 'wpinv_add_body_classes' );
279
+add_filter('body_class', 'wpinv_add_body_classes');
280 280
 
281
-function wpinv_html_dropdown( $name = 'wpinv_discounts', $selected = 0, $status = '' ) {
282
-    $args = array( 'nopaging' => true );
281
+function wpinv_html_dropdown($name = 'wpinv_discounts', $selected = 0, $status = '') {
282
+    $args = array('nopaging' => true);
283 283
 
284
-    if ( ! empty( $status ) )
284
+    if (!empty($status))
285 285
         $args['post_status'] = $status;
286 286
 
287
-    $discounts = wpinv_get_discounts( $args );
287
+    $discounts = wpinv_get_discounts($args);
288 288
     $options   = array();
289 289
 
290
-    if ( $discounts ) {
291
-        foreach ( $discounts as $discount ) {
292
-            $options[ absint( $discount->ID ) ] = esc_html( get_the_title( $discount->ID ) );
290
+    if ($discounts) {
291
+        foreach ($discounts as $discount) {
292
+            $options[absint($discount->ID)] = esc_html(get_the_title($discount->ID));
293 293
         }
294 294
     } else {
295
-        $options[0] = __( 'No discounts found', 'invoicing' );
295
+        $options[0] = __('No discounts found', 'invoicing');
296 296
     }
297 297
 
298
-    $output = wpinv_html_select( array(
298
+    $output = wpinv_html_select(array(
299 299
         'name'             => $name,
300 300
         'selected'         => $selected,
301 301
         'options'          => $options,
302 302
         'show_option_all'  => false,
303 303
         'show_option_none' => false,
304
-    ) );
304
+    ));
305 305
 
306 306
     return $output;
307 307
 }
308 308
 
309
-function wpinv_html_year_dropdown( $name = 'year', $selected = 0, $years_before = 5, $years_after = 0 ) {
310
-    $current     = date( 'Y' );
311
-    $start_year  = $current - absint( $years_before );
312
-    $end_year    = $current + absint( $years_after );
313
-    $selected    = empty( $selected ) ? date( 'Y' ) : $selected;
309
+function wpinv_html_year_dropdown($name = 'year', $selected = 0, $years_before = 5, $years_after = 0) {
310
+    $current     = date('Y');
311
+    $start_year  = $current - absint($years_before);
312
+    $end_year    = $current + absint($years_after);
313
+    $selected    = empty($selected) ? date('Y') : $selected;
314 314
     $options     = array();
315 315
 
316
-    while ( $start_year <= $end_year ) {
317
-        $options[ absint( $start_year ) ] = $start_year;
316
+    while ($start_year <= $end_year) {
317
+        $options[absint($start_year)] = $start_year;
318 318
         $start_year++;
319 319
     }
320 320
 
321
-    $output = wpinv_html_select( array(
321
+    $output = wpinv_html_select(array(
322 322
         'name'             => $name,
323 323
         'selected'         => $selected,
324 324
         'options'          => $options,
325 325
         'show_option_all'  => false,
326 326
         'show_option_none' => false
327
-    ) );
327
+    ));
328 328
 
329 329
     return $output;
330 330
 }
331 331
 
332
-function wpinv_html_month_dropdown( $name = 'month', $selected = 0 ) {
332
+function wpinv_html_month_dropdown($name = 'month', $selected = 0) {
333 333
 
334 334
     $options = array(
335
-        '1'  => __( 'January', 'invoicing' ),
336
-        '2'  => __( 'February', 'invoicing' ),
337
-        '3'  => __( 'March', 'invoicing' ),
338
-        '4'  => __( 'April', 'invoicing' ),
339
-        '5'  => __( 'May', 'invoicing' ),
340
-        '6'  => __( 'June', 'invoicing' ),
341
-        '7'  => __( 'July', 'invoicing' ),
342
-        '8'  => __( 'August', 'invoicing' ),
343
-        '9'  => __( 'September', 'invoicing' ),
344
-        '10' => __( 'October', 'invoicing' ),
345
-        '11' => __( 'November', 'invoicing' ),
346
-        '12' => __( 'December', 'invoicing' ),
335
+        '1'  => __('January', 'invoicing'),
336
+        '2'  => __('February', 'invoicing'),
337
+        '3'  => __('March', 'invoicing'),
338
+        '4'  => __('April', 'invoicing'),
339
+        '5'  => __('May', 'invoicing'),
340
+        '6'  => __('June', 'invoicing'),
341
+        '7'  => __('July', 'invoicing'),
342
+        '8'  => __('August', 'invoicing'),
343
+        '9'  => __('September', 'invoicing'),
344
+        '10' => __('October', 'invoicing'),
345
+        '11' => __('November', 'invoicing'),
346
+        '12' => __('December', 'invoicing'),
347 347
     );
348 348
 
349 349
     // If no month is selected, default to the current month
350
-    $selected = empty( $selected ) ? date( 'n' ) : $selected;
350
+    $selected = empty($selected) ? date('n') : $selected;
351 351
 
352
-    $output = wpinv_html_select( array(
352
+    $output = wpinv_html_select(array(
353 353
         'name'             => $name,
354 354
         'selected'         => $selected,
355 355
         'options'          => $options,
356 356
         'show_option_all'  => false,
357 357
         'show_option_none' => false
358
-    ) );
358
+    ));
359 359
 
360 360
     return $output;
361 361
 }
362 362
 
363
-function wpinv_html_select( $args = array() ) {
363
+function wpinv_html_select($args = array()) {
364 364
     $defaults = array(
365 365
         'options'          => array(),
366 366
         'name'             => null,
@@ -369,8 +369,8 @@  discard block
 block discarded – undo
369 369
         'selected'         => 0,
370 370
         'placeholder'      => null,
371 371
         'multiple'         => false,
372
-        'show_option_all'  => _x( 'All', 'all dropdown items', 'invoicing' ),
373
-        'show_option_none' => _x( 'None', 'no dropdown items', 'invoicing' ),
372
+        'show_option_all'  => _x('All', 'all dropdown items', 'invoicing'),
373
+        'show_option_none' => _x('None', 'no dropdown items', 'invoicing'),
374 374
         'data'             => array(),
375 375
         'onchange'         => null,
376 376
         'required'         => false,
@@ -378,74 +378,74 @@  discard block
 block discarded – undo
378 378
         'readonly'         => false,
379 379
     );
380 380
 
381
-    $args = wp_parse_args( $args, $defaults );
381
+    $args = wp_parse_args($args, $defaults);
382 382
 
383 383
     $data_elements = '';
384
-    foreach ( $args['data'] as $key => $value ) {
385
-        $data_elements .= ' data-' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
384
+    foreach ($args['data'] as $key => $value) {
385
+        $data_elements .= ' data-' . esc_attr($key) . '="' . esc_attr($value) . '"';
386 386
     }
387 387
 
388
-    if( $args['multiple'] ) {
388
+    if ($args['multiple']) {
389 389
         $multiple = ' MULTIPLE';
390 390
     } else {
391 391
         $multiple = '';
392 392
     }
393 393
 
394
-    if( $args['placeholder'] ) {
394
+    if ($args['placeholder']) {
395 395
         $placeholder = $args['placeholder'];
396 396
     } else {
397 397
         $placeholder = '';
398 398
     }
399 399
     
400 400
     $options = '';
401
-    if( !empty( $args['onchange'] ) ) {
402
-        $options .= ' onchange="' . esc_attr( $args['onchange'] ) . '"';
401
+    if (!empty($args['onchange'])) {
402
+        $options .= ' onchange="' . esc_attr($args['onchange']) . '"';
403 403
     }
404 404
     
405
-    if( !empty( $args['required'] ) ) {
405
+    if (!empty($args['required'])) {
406 406
         $options .= ' required="required"';
407 407
     }
408 408
     
409
-    if( !empty( $args['disabled'] ) ) {
409
+    if (!empty($args['disabled'])) {
410 410
         $options .= ' disabled';
411 411
     }
412 412
     
413
-    if( !empty( $args['readonly'] ) ) {
413
+    if (!empty($args['readonly'])) {
414 414
         $options .= ' readonly';
415 415
     }
416 416
 
417
-    $class  = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
418
-    $output = '<select name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim( $options ) . $data_elements . '>';
417
+    $class  = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
418
+    $output = '<select name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim($options) . $data_elements . '>';
419 419
 
420
-    if ( $args['show_option_all'] ) {
421
-        if( $args['multiple'] ) {
422
-            $selected = selected( true, in_array( 0, $args['selected'] ), false );
420
+    if ($args['show_option_all']) {
421
+        if ($args['multiple']) {
422
+            $selected = selected(true, in_array(0, $args['selected']), false);
423 423
         } else {
424
-            $selected = selected( $args['selected'], 0, false );
424
+            $selected = selected($args['selected'], 0, false);
425 425
         }
426
-        $output .= '<option value="all"' . $selected . '>' . esc_html( $args['show_option_all'] ) . '</option>';
426
+        $output .= '<option value="all"' . $selected . '>' . esc_html($args['show_option_all']) . '</option>';
427 427
     }
428 428
 
429
-    if ( !empty( $args['options'] ) ) {
429
+    if (!empty($args['options'])) {
430 430
 
431
-        if ( $args['show_option_none'] ) {
432
-            if( $args['multiple'] ) {
433
-                $selected = selected( true, in_array( "", $args['selected'] ), false );
431
+        if ($args['show_option_none']) {
432
+            if ($args['multiple']) {
433
+                $selected = selected(true, in_array("", $args['selected']), false);
434 434
             } else {
435
-                $selected = selected( $args['selected'] === "", true, false );
435
+                $selected = selected($args['selected'] === "", true, false);
436 436
             }
437
-            $output .= '<option value=""' . $selected . '>' . esc_html( $args['show_option_none'] ) . '</option>';
437
+            $output .= '<option value=""' . $selected . '>' . esc_html($args['show_option_none']) . '</option>';
438 438
         }
439 439
 
440
-        foreach( $args['options'] as $key => $option ) {
440
+        foreach ($args['options'] as $key => $option) {
441 441
 
442
-            if( $args['multiple'] && is_array( $args['selected'] ) ) {
443
-                $selected = selected( true, (bool)in_array( $key, $args['selected'] ), false );
442
+            if ($args['multiple'] && is_array($args['selected'])) {
443
+                $selected = selected(true, (bool) in_array($key, $args['selected']), false);
444 444
             } else {
445
-                $selected = selected( $args['selected'], $key, false );
445
+                $selected = selected($args['selected'], $key, false);
446 446
             }
447 447
 
448
-            $output .= '<option value="' . esc_attr( $key ) . '"' . $selected . '>' . esc_html( $option ) . '</option>';
448
+            $output .= '<option value="' . esc_attr($key) . '"' . $selected . '>' . esc_html($option) . '</option>';
449 449
         }
450 450
     }
451 451
 
@@ -454,7 +454,7 @@  discard block
 block discarded – undo
454 454
     return $output;
455 455
 }
456 456
 
457
-function wpinv_item_dropdown( $args = array() ) {
457
+function wpinv_item_dropdown($args = array()) {
458 458
     $defaults = array(
459 459
         'name'              => 'wpi_item',
460 460
         'id'                => 'wpi_item',
@@ -462,14 +462,14 @@  discard block
 block discarded – undo
462 462
         'multiple'          => false,
463 463
         'selected'          => 0,
464 464
         'number'            => 100,
465
-        'placeholder'       => __( 'Choose a item', 'invoicing' ),
466
-        'data'              => array( 'search-type' => 'item' ),
465
+        'placeholder'       => __('Choose a item', 'invoicing'),
466
+        'data'              => array('search-type' => 'item'),
467 467
         'show_option_all'   => false,
468 468
         'show_option_none'  => false,
469 469
         'show_recurring'    => false,
470 470
     );
471 471
 
472
-    $args = wp_parse_args( $args, $defaults );
472
+    $args = wp_parse_args($args, $defaults);
473 473
 
474 474
     $item_args = array(
475 475
         'post_type'      => 'wpi_item',
@@ -478,44 +478,44 @@  discard block
 block discarded – undo
478 478
         'posts_per_page' => $args['number']
479 479
     );
480 480
     
481
-    $item_args  = apply_filters( 'wpinv_item_dropdown_query_args', $item_args, $args, $defaults );
481
+    $item_args  = apply_filters('wpinv_item_dropdown_query_args', $item_args, $args, $defaults);
482 482
 
483
-    $items      = get_posts( $item_args );
483
+    $items      = get_posts($item_args);
484 484
     $options    = array();
485
-    if ( $items ) {
486
-        foreach ( $items as $item ) {
487
-            $title = esc_html( $item->post_title );
485
+    if ($items) {
486
+        foreach ($items as $item) {
487
+            $title = esc_html($item->post_title);
488 488
             
489
-            if ( !empty( $args['show_recurring'] ) ) {
490
-                $title .= wpinv_get_item_suffix( $item->ID, false );
489
+            if (!empty($args['show_recurring'])) {
490
+                $title .= wpinv_get_item_suffix($item->ID, false);
491 491
             }
492 492
             
493
-            $options[ absint( $item->ID ) ] = $title;
493
+            $options[absint($item->ID)] = $title;
494 494
         }
495 495
     }
496 496
 
497 497
     // This ensures that any selected items are included in the drop down
498
-    if( is_array( $args['selected'] ) ) {
499
-        foreach( $args['selected'] as $item ) {
500
-            if( ! in_array( $item, $options ) ) {
501
-                $title = get_the_title( $item );
502
-                if ( !empty( $args['show_recurring'] ) ) {
503
-                    $title .= wpinv_get_item_suffix( $item, false );
498
+    if (is_array($args['selected'])) {
499
+        foreach ($args['selected'] as $item) {
500
+            if (!in_array($item, $options)) {
501
+                $title = get_the_title($item);
502
+                if (!empty($args['show_recurring'])) {
503
+                    $title .= wpinv_get_item_suffix($item, false);
504 504
                 }
505 505
                 $options[$item] = $title;
506 506
             }
507 507
         }
508
-    } elseif ( is_numeric( $args['selected'] ) && $args['selected'] !== 0 ) {
509
-        if ( ! in_array( $args['selected'], $options ) ) {
510
-            $title = get_the_title( $args['selected'] );
511
-            if ( !empty( $args['show_recurring'] ) ) {
512
-                $title .= wpinv_get_item_suffix( $args['selected'], false );
508
+    } elseif (is_numeric($args['selected']) && $args['selected'] !== 0) {
509
+        if (!in_array($args['selected'], $options)) {
510
+            $title = get_the_title($args['selected']);
511
+            if (!empty($args['show_recurring'])) {
512
+                $title .= wpinv_get_item_suffix($args['selected'], false);
513 513
             }
514
-            $options[$args['selected']] = get_the_title( $args['selected'] );
514
+            $options[$args['selected']] = get_the_title($args['selected']);
515 515
         }
516 516
     }
517 517
 
518
-    $output = wpinv_html_select( array(
518
+    $output = wpinv_html_select(array(
519 519
         'name'             => $args['name'],
520 520
         'selected'         => $args['selected'],
521 521
         'id'               => $args['id'],
@@ -526,12 +526,12 @@  discard block
 block discarded – undo
526 526
         'show_option_all'  => $args['show_option_all'],
527 527
         'show_option_none' => $args['show_option_none'],
528 528
         'data'             => $args['data'],
529
-    ) );
529
+    ));
530 530
 
531 531
     return $output;
532 532
 }
533 533
 
534
-function wpinv_html_checkbox( $args = array() ) {
534
+function wpinv_html_checkbox($args = array()) {
535 535
     $defaults = array(
536 536
         'name'     => null,
537 537
         'current'  => null,
@@ -542,38 +542,38 @@  discard block
 block discarded – undo
542 542
         )
543 543
     );
544 544
 
545
-    $args = wp_parse_args( $args, $defaults );
545
+    $args = wp_parse_args($args, $defaults);
546 546
 
547
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
547
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
548 548
     $options = '';
549
-    if ( ! empty( $args['options']['disabled'] ) ) {
549
+    if (!empty($args['options']['disabled'])) {
550 550
         $options .= ' disabled="disabled"';
551
-    } elseif ( ! empty( $args['options']['readonly'] ) ) {
551
+    } elseif (!empty($args['options']['readonly'])) {
552 552
         $options .= ' readonly';
553 553
     }
554 554
 
555
-    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['name'] ) . '" class="' . $class . ' ' . esc_attr( $args['name'] ) . '" ' . checked( 1, $args['current'], false ) . ' />';
555
+    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['name']) . '" class="' . $class . ' ' . esc_attr($args['name']) . '" ' . checked(1, $args['current'], false) . ' />';
556 556
 
557 557
     return $output;
558 558
 }
559 559
 
560
-function wpinv_html_text( $args = array() ) {
560
+function wpinv_html_text($args = array()) {
561 561
     // Backwards compatibility
562
-    if ( func_num_args() > 1 ) {
562
+    if (func_num_args() > 1) {
563 563
         $args = func_get_args();
564 564
 
565 565
         $name  = $args[0];
566
-        $value = isset( $args[1] ) ? $args[1] : '';
567
-        $label = isset( $args[2] ) ? $args[2] : '';
568
-        $desc  = isset( $args[3] ) ? $args[3] : '';
566
+        $value = isset($args[1]) ? $args[1] : '';
567
+        $label = isset($args[2]) ? $args[2] : '';
568
+        $desc  = isset($args[3]) ? $args[3] : '';
569 569
     }
570 570
 
571 571
     $defaults = array(
572 572
         'id'           => '',
573
-        'name'         => isset( $name )  ? $name  : 'text',
574
-        'value'        => isset( $value ) ? $value : null,
575
-        'label'        => isset( $label ) ? $label : null,
576
-        'desc'         => isset( $desc )  ? $desc  : null,
573
+        'name'         => isset($name) ? $name : 'text',
574
+        'value'        => isset($value) ? $value : null,
575
+        'label'        => isset($label) ? $label : null,
576
+        'desc'         => isset($desc) ? $desc : null,
577 577
         'placeholder'  => '',
578 578
         'class'        => 'regular-text',
579 579
         'disabled'     => false,
@@ -583,51 +583,51 @@  discard block
 block discarded – undo
583 583
         'data'         => false
584 584
     );
585 585
 
586
-    $args = wp_parse_args( $args, $defaults );
586
+    $args = wp_parse_args($args, $defaults);
587 587
 
588
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
588
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
589 589
     $options = '';
590
-    if( $args['required'] ) {
590
+    if ($args['required']) {
591 591
         $options .= ' required="required"';
592 592
     }
593
-    if( $args['readonly'] ) {
593
+    if ($args['readonly']) {
594 594
         $options .= ' readonly';
595 595
     }
596
-    if( $args['readonly'] ) {
596
+    if ($args['readonly']) {
597 597
         $options .= ' readonly';
598 598
     }
599 599
 
600 600
     $data = '';
601
-    if ( !empty( $args['data'] ) ) {
602
-        foreach ( $args['data'] as $key => $value ) {
603
-            $data .= 'data-' . wpinv_sanitize_key( $key ) . '="' . esc_attr( $value ) . '" ';
601
+    if (!empty($args['data'])) {
602
+        foreach ($args['data'] as $key => $value) {
603
+            $data .= 'data-' . wpinv_sanitize_key($key) . '="' . esc_attr($value) . '" ';
604 604
         }
605 605
     }
606 606
 
607
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
608
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['id'] ) . '">' . esc_html( $args['label'] ) . '</label>';
609
-    if ( ! empty( $args['desc'] ) ) {
610
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
607
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
608
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['id']) . '">' . esc_html($args['label']) . '</label>';
609
+    if (!empty($args['desc'])) {
610
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
611 611
     }
612 612
 
613
-    $output .= '<input type="text" name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] )  . '" autocomplete="' . esc_attr( $args['autocomplete'] )  . '" value="' . esc_attr( $args['value'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" class="' . $class . '" ' . $data . ' ' . trim( $options ) . '/>';
613
+    $output .= '<input type="text" name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" autocomplete="' . esc_attr($args['autocomplete']) . '" value="' . esc_attr($args['value']) . '" placeholder="' . esc_attr($args['placeholder']) . '" class="' . $class . '" ' . $data . ' ' . trim($options) . '/>';
614 614
 
615 615
     $output .= '</span>';
616 616
 
617 617
     return $output;
618 618
 }
619 619
 
620
-function wpinv_html_date_field( $args = array() ) {
621
-    if( empty( $args['class'] ) ) {
620
+function wpinv_html_date_field($args = array()) {
621
+    if (empty($args['class'])) {
622 622
         $args['class'] = 'wpiDatepicker';
623
-    } elseif( ! strpos( $args['class'], 'wpiDatepicker' ) ) {
623
+    } elseif (!strpos($args['class'], 'wpiDatepicker')) {
624 624
         $args['class'] .= ' wpiDatepicker';
625 625
     }
626 626
 
627
-    return wpinv_html_text( $args );
627
+    return wpinv_html_text($args);
628 628
 }
629 629
 
630
-function wpinv_html_textarea( $args = array() ) {
630
+function wpinv_html_textarea($args = array()) {
631 631
     $defaults = array(
632 632
         'name'        => 'textarea',
633 633
         'value'       => null,
@@ -637,31 +637,31 @@  discard block
 block discarded – undo
637 637
         'disabled'    => false
638 638
     );
639 639
 
640
-    $args = wp_parse_args( $args, $defaults );
640
+    $args = wp_parse_args($args, $defaults);
641 641
 
642
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
642
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
643 643
     $disabled = '';
644
-    if( $args['disabled'] ) {
644
+    if ($args['disabled']) {
645 645
         $disabled = ' disabled="disabled"';
646 646
     }
647 647
 
648
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
649
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['name'] ) . '">' . esc_html( $args['label'] ) . '</label>';
650
-    $output .= '<textarea name="' . esc_attr( $args['name'] ) . '" id="' . wpinv_sanitize_key( $args['name'] ) . '" class="' . $class . '"' . $disabled . '>' . esc_attr( $args['value'] ) . '</textarea>';
648
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
649
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['name']) . '">' . esc_html($args['label']) . '</label>';
650
+    $output .= '<textarea name="' . esc_attr($args['name']) . '" id="' . wpinv_sanitize_key($args['name']) . '" class="' . $class . '"' . $disabled . '>' . esc_attr($args['value']) . '</textarea>';
651 651
 
652
-    if ( ! empty( $args['desc'] ) ) {
653
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
652
+    if (!empty($args['desc'])) {
653
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
654 654
     }
655 655
     $output .= '</span>';
656 656
 
657 657
     return $output;
658 658
 }
659 659
 
660
-function wpinv_html_ajax_user_search( $args = array() ) {
660
+function wpinv_html_ajax_user_search($args = array()) {
661 661
     $defaults = array(
662 662
         'name'        => 'user_id',
663 663
         'value'       => null,
664
-        'placeholder' => __( 'Enter username', 'invoicing' ),
664
+        'placeholder' => __('Enter username', 'invoicing'),
665 665
         'label'       => null,
666 666
         'desc'        => null,
667 667
         'class'       => '',
@@ -670,13 +670,13 @@  discard block
 block discarded – undo
670 670
         'data'        => false
671 671
     );
672 672
 
673
-    $args = wp_parse_args( $args, $defaults );
673
+    $args = wp_parse_args($args, $defaults);
674 674
 
675 675
     $args['class'] = 'wpinv-ajax-user-search ' . $args['class'];
676 676
 
677 677
     $output  = '<span class="wpinv_user_search_wrap">';
678
-        $output .= wpinv_html_text( $args );
679
-        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __( 'Cancel', 'invoicing' ) . '" aria-label="' . __( 'Cancel', 'invoicing' ) . '" href="#">x</a><span></span></span>';
678
+        $output .= wpinv_html_text($args);
679
+        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __('Cancel', 'invoicing') . '" aria-label="' . __('Cancel', 'invoicing') . '" href="#">x</a><span></span></span>';
680 680
     $output .= '</span>';
681 681
 
682 682
     return $output;
@@ -685,7 +685,7 @@  discard block
 block discarded – undo
685 685
 function wpinv_ip_geolocation() {
686 686
     global $wpinv_euvat;
687 687
     
688
-    $ip         = !empty( $_GET['ip'] ) ? sanitize_text_field( $_GET['ip'] ) : '';    
688
+    $ip         = !empty($_GET['ip']) ? sanitize_text_field($_GET['ip']) : '';    
689 689
     $content    = '';
690 690
     $iso        = '';
691 691
     $country    = '';
@@ -696,69 +696,69 @@  discard block
 block discarded – undo
696 696
     $credit     = '';
697 697
     $address    = '';
698 698
     
699
-    if ( wpinv_get_option( 'vat_ip_lookup' ) == 'geoip2' && $geoip2_city = $wpinv_euvat->geoip2_city_record( $ip ) ) {
699
+    if (wpinv_get_option('vat_ip_lookup') == 'geoip2' && $geoip2_city = $wpinv_euvat->geoip2_city_record($ip)) {
700 700
         try {
701 701
             $iso        = $geoip2_city->country->isoCode;
702 702
             $country    = $geoip2_city->country->name;
703
-            $region     = !empty( $geoip2_city->subdivisions ) && !empty( $geoip2_city->subdivisions[0]->name ) ? $geoip2_city->subdivisions[0]->name : '';
703
+            $region     = !empty($geoip2_city->subdivisions) && !empty($geoip2_city->subdivisions[0]->name) ? $geoip2_city->subdivisions[0]->name : '';
704 704
             $city       = $geoip2_city->city->name;
705 705
             $longitude  = $geoip2_city->location->longitude;
706 706
             $latitude   = $geoip2_city->location->latitude;
707
-            $credit     = __( 'Geolocated using the information by MaxMind, available from <a href="http://www.maxmind.com" target="_blank">www.maxmind.com</a>', 'invoicing' );
708
-        } catch( Exception $e ) { }
707
+            $credit     = __('Geolocated using the information by MaxMind, available from <a href="http://www.maxmind.com" target="_blank">www.maxmind.com</a>', 'invoicing');
708
+        } catch (Exception $e) { }
709 709
     }
710 710
     
711
-    if ( !( $iso && $longitude && $latitude ) && function_exists( 'simplexml_load_file' ) ) {
711
+    if (!($iso && $longitude && $latitude) && function_exists('simplexml_load_file')) {
712 712
         try {
713
-            $load_xml = simplexml_load_file( 'http://www.geoplugin.net/xml.gp?ip=' . $ip );
713
+            $load_xml = simplexml_load_file('http://www.geoplugin.net/xml.gp?ip=' . $ip);
714 714
             
715
-            if ( !empty( $load_xml ) && isset( $load_xml->geoplugin_countryCode ) && !empty( $load_xml->geoplugin_latitude ) && !empty( $load_xml->geoplugin_longitude ) ) {
715
+            if (!empty($load_xml) && isset($load_xml->geoplugin_countryCode) && !empty($load_xml->geoplugin_latitude) && !empty($load_xml->geoplugin_longitude)) {
716 716
                 $iso        = $load_xml->geoplugin_countryCode;
717 717
                 $country    = $load_xml->geoplugin_countryName;
718
-                $region     = !empty( $load_xml->geoplugin_regionName ) ? $load_xml->geoplugin_regionName : '';
719
-                $city       = !empty( $load_xml->geoplugin_city ) ? $load_xml->geoplugin_city : '';
718
+                $region     = !empty($load_xml->geoplugin_regionName) ? $load_xml->geoplugin_regionName : '';
719
+                $city       = !empty($load_xml->geoplugin_city) ? $load_xml->geoplugin_city : '';
720 720
                 $longitude  = $load_xml->geoplugin_longitude;
721 721
                 $latitude   = $load_xml->geoplugin_latitude;
722 722
                 $credit     = $load_xml->geoplugin_credit;
723
-                $credit     = __( 'Geolocated using the information by geoPlugin, available from <a href="http://www.geoplugin.com" target="_blank">www.geoplugin.com</a>', 'invoicing' ) . '<br>' . $load_xml->geoplugin_credit;
723
+                $credit     = __('Geolocated using the information by geoPlugin, available from <a href="http://www.geoplugin.com" target="_blank">www.geoplugin.com</a>', 'invoicing') . '<br>' . $load_xml->geoplugin_credit;
724 724
             }
725
-        } catch( Exception $e ) { }
725
+        } catch (Exception $e) { }
726 726
     }
727 727
     
728
-    if ( $iso && $longitude && $latitude ) {
729
-        if ( $city ) {
728
+    if ($iso && $longitude && $latitude) {
729
+        if ($city) {
730 730
             $address .= $city . ', ';
731 731
         }
732 732
         
733
-        if ( $region ) {
733
+        if ($region) {
734 734
             $address .= $region . ', ';
735 735
         }
736 736
         
737 737
         $address .= $country . ' (' . $iso . ')';
738
-        $content = '<p>'. sprintf( __( '<b>Address:</b> %s', 'invoicing' ), $address ) . '</p>';
739
-        $content .= '<p>'. $credit . '</p>';
738
+        $content = '<p>' . sprintf(__('<b>Address:</b> %s', 'invoicing'), $address) . '</p>';
739
+        $content .= '<p>' . $credit . '</p>';
740 740
     } else {
741
-        $content = '<p>'. sprintf( __( 'Unable to find geolocation for the IP address: %s', 'invoicing' ), $ip ) . '</p>';
741
+        $content = '<p>' . sprintf(__('Unable to find geolocation for the IP address: %s', 'invoicing'), $ip) . '</p>';
742 742
     }
743 743
     ?>
744 744
 <!DOCTYPE html>
745
-<html><head><title><?php echo sprintf( __( 'IP: %s', 'invoicing' ), $ip );?></title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.css" /><style>html,body{height:100%;margin:0;padding:0;width:100%}body{text-align:center;background:#fff;color:#222;font-size:small;}body,p{font-family: arial,sans-serif}#map{margin:auto;width:100%;height:calc(100% - 120px);min-height:240px}</style></head>
745
+<html><head><title><?php echo sprintf(__('IP: %s', 'invoicing'), $ip); ?></title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.css" /><style>html,body{height:100%;margin:0;padding:0;width:100%}body{text-align:center;background:#fff;color:#222;font-size:small;}body,p{font-family: arial,sans-serif}#map{margin:auto;width:100%;height:calc(100% - 120px);min-height:240px}</style></head>
746 746
 <body>
747
-    <?php if ( $latitude && $latitude ) { ?>
747
+    <?php if ($latitude && $latitude) { ?>
748 748
     <div id="map"></div>
749 749
         <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.js"></script>
750 750
         <script type="text/javascript">
751 751
         var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
752 752
             osmAttrib = '&copy; <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
753 753
             osm = L.tileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib}),
754
-            latlng = new L.LatLng(<?php echo $latitude;?>, <?php echo $longitude;?>);
754
+            latlng = new L.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>);
755 755
 
756 756
         var map = new L.Map('map', {center: latlng, zoom: 12, layers: [osm]});
757 757
 
758 758
         var marker = new L.Marker(latlng);
759 759
         map.addLayer(marker);
760 760
 
761
-        marker.bindPopup("<p><?php esc_attr_e( $address );?></p>");
761
+        marker.bindPopup("<p><?php esc_attr_e($address); ?></p>");
762 762
     </script>
763 763
     <?php } ?>
764 764
     <div style="height:100px"><?php echo $content; ?></div>
@@ -766,18 +766,18 @@  discard block
 block discarded – undo
766 766
 <?php
767 767
     exit;
768 768
 }
769
-add_action( 'wp_ajax_wpinv_ip_geolocation', 'wpinv_ip_geolocation' );
770
-add_action( 'wp_ajax_nopriv_wpinv_ip_geolocation', 'wpinv_ip_geolocation' );
769
+add_action('wp_ajax_wpinv_ip_geolocation', 'wpinv_ip_geolocation');
770
+add_action('wp_ajax_nopriv_wpinv_ip_geolocation', 'wpinv_ip_geolocation');
771 771
 
772 772
 // Set up the template for the invoice.
773
-function wpinv_template( $template ) {
773
+function wpinv_template($template) {
774 774
     global $post, $wp_query;
775 775
     
776
-    if ( ( is_single() || is_404() ) && !empty( $post->ID ) && (get_post_type( $post->ID ) == 'wpi_invoice' or get_post_type( $post->ID ) == 'wpi_quote')) {
777
-        if ( wpinv_user_can_view_invoice( $post->ID ) ) {
778
-            $template = wpinv_get_template_part( 'wpinv-invoice-print', false, false );
776
+    if ((is_single() || is_404()) && !empty($post->ID) && (get_post_type($post->ID) == 'wpi_invoice' or get_post_type($post->ID) == 'wpi_quote')) {
777
+        if (wpinv_user_can_view_invoice($post->ID)) {
778
+            $template = wpinv_get_template_part('wpinv-invoice-print', false, false);
779 779
         } else {
780
-            $template = wpinv_get_template_part( 'wpinv-invalid-access', false, false );
780
+            $template = wpinv_get_template_part('wpinv-invalid-access', false, false);
781 781
         }
782 782
     }
783 783
 
@@ -786,7 +786,7 @@  discard block
 block discarded – undo
786 786
 
787 787
 function wpinv_get_business_address() {
788 788
     $business_address   = wpinv_store_address();
789
-    $business_address   = !empty( $business_address ) ? wpautop( wp_kses_post( $business_address ) ) : '';
789
+    $business_address   = !empty($business_address) ? wpautop(wp_kses_post($business_address)) : '';
790 790
     
791 791
     /*
792 792
     $default_country    = wpinv_get_default_country();
@@ -810,7 +810,7 @@  discard block
 block discarded – undo
810 810
     
811 811
     $business_address = $business_address ? '<div class="address">' . $business_address . '</div>' : '';
812 812
     
813
-    return apply_filters( 'wpinv_get_business_address', $business_address );
813
+    return apply_filters('wpinv_get_business_address', $business_address);
814 814
 }
815 815
 
816 816
 function wpinv_display_from_address() {
@@ -820,107 +820,107 @@  discard block
 block discarded – undo
820 820
     if (empty($from_name)) {
821 821
         $from_name = wpinv_get_business_name();
822 822
     }
823
-    ?><div class="from col-xs-2"><strong><?php _e( 'From:', 'invoicing' ) ?></strong></div>
823
+    ?><div class="from col-xs-2"><strong><?php _e('From:', 'invoicing') ?></strong></div>
824 824
     <div class="wrapper col-xs-10">
825
-        <div class="name"><?php echo esc_html( $from_name ); ?></div>
826
-        <?php if ( $address = wpinv_get_business_address() ) { ?>
827
-        <div class="address"><?php echo wpautop( wp_kses_post( $address ) );?></div>
825
+        <div class="name"><?php echo esc_html($from_name); ?></div>
826
+        <?php if ($address = wpinv_get_business_address()) { ?>
827
+        <div class="address"><?php echo wpautop(wp_kses_post($address)); ?></div>
828 828
         <?php } ?>
829
-        <?php if ( $email_from = wpinv_mail_get_from_address() ) { ?>
830
-        <div class="email_from"><?php echo wp_sprintf( __( 'Email: %s', 'invoicing' ), $email_from );?></div>
829
+        <?php if ($email_from = wpinv_mail_get_from_address()) { ?>
830
+        <div class="email_from"><?php echo wp_sprintf(__('Email: %s', 'invoicing'), $email_from); ?></div>
831 831
         <?php } ?>
832 832
     </div>
833 833
     <?php
834 834
 }
835 835
 
836
-function wpinv_watermark( $id = 0 ) {
837
-    $output = wpinv_get_watermark( $id );
836
+function wpinv_watermark($id = 0) {
837
+    $output = wpinv_get_watermark($id);
838 838
     
839
-    return apply_filters( 'wpinv_get_watermark', $output, $id );
839
+    return apply_filters('wpinv_get_watermark', $output, $id);
840 840
 }
841 841
 
842
-function wpinv_get_watermark( $id ) {
843
-    if ( !$id > 0 ) {
842
+function wpinv_get_watermark($id) {
843
+    if (!$id > 0) {
844 844
         return NULL;
845 845
     }
846
-    $invoice = wpinv_get_invoice( $id );
846
+    $invoice = wpinv_get_invoice($id);
847 847
     
848
-    if ( !empty( $invoice ) && "wpi_invoice" === $invoice->post_type ) {
849
-        if ( $invoice->is_paid() ) {
850
-            return __( 'Paid', 'invoicing' );
848
+    if (!empty($invoice) && "wpi_invoice" === $invoice->post_type) {
849
+        if ($invoice->is_paid()) {
850
+            return __('Paid', 'invoicing');
851 851
         }
852
-        if ( $invoice->is_refunded() ) {
853
-            return __( 'Refunded', 'invoicing' );
852
+        if ($invoice->is_refunded()) {
853
+            return __('Refunded', 'invoicing');
854 854
         }
855
-        if ( $invoice->has_status( array( 'wpi-cancelled' ) ) ) {
856
-            return __( 'Cancelled', 'invoicing' );
855
+        if ($invoice->has_status(array('wpi-cancelled'))) {
856
+            return __('Cancelled', 'invoicing');
857 857
         }
858 858
     }
859 859
     
860 860
     return NULL;
861 861
 }
862 862
 
863
-function wpinv_display_invoice_details( $invoice ) {
863
+function wpinv_display_invoice_details($invoice) {
864 864
     global $wpinv_euvat;
865 865
     
866 866
     $invoice_id = $invoice->ID;
867 867
     $vat_name   = $wpinv_euvat->get_vat_name();
868 868
     $use_taxes  = wpinv_use_taxes();
869 869
     
870
-    $invoice_status = wpinv_get_invoice_status( $invoice_id );
870
+    $invoice_status = wpinv_get_invoice_status($invoice_id);
871 871
     ?>
872 872
     <table class="table table-bordered table-sm">
873
-        <?php if ( $invoice_number = wpinv_get_invoice_number( $invoice_id ) ) { ?>
873
+        <?php if ($invoice_number = wpinv_get_invoice_number($invoice_id)) { ?>
874 874
             <tr class="wpi-row-number">
875
-                <th><?php echo apply_filters( 'wpinv_invoice_number_label', __( 'Invoice Number', 'invoicing' ), $invoice ); ?></th>
876
-                <td><?php echo esc_html( $invoice_number ); ?></td>
875
+                <th><?php echo apply_filters('wpinv_invoice_number_label', __('Invoice Number', 'invoicing'), $invoice); ?></th>
876
+                <td><?php echo esc_html($invoice_number); ?></td>
877 877
             </tr>
878 878
         <?php } ?>
879 879
         <tr class="wpi-row-status">
880
-            <th><?php echo apply_filters( 'wpinv_invoice_status_label', __( 'Invoice Status', 'invoicing' ), $invoice ); ?></th>
881
-            <td><?php echo wpinv_invoice_status_label( $invoice_status, wpinv_get_invoice_status( $invoice_id, true ) ); ?></td>
880
+            <th><?php echo apply_filters('wpinv_invoice_status_label', __('Invoice Status', 'invoicing'), $invoice); ?></th>
881
+            <td><?php echo wpinv_invoice_status_label($invoice_status, wpinv_get_invoice_status($invoice_id, true)); ?></td>
882 882
         </tr>
883
-        <?php if ( $invoice->is_renewal() ) { ?>
883
+        <?php if ($invoice->is_renewal()) { ?>
884 884
         <tr class="wpi-row-parent">
885
-            <th><?php echo apply_filters( 'wpinv_invoice_parent_invoice_label', __( 'Parent Invoice', 'invoicing' ), $invoice ); ?></th>
886
-            <td><?php echo wpinv_invoice_link( $invoice->parent_invoice ); ?></td>
885
+            <th><?php echo apply_filters('wpinv_invoice_parent_invoice_label', __('Parent Invoice', 'invoicing'), $invoice); ?></th>
886
+            <td><?php echo wpinv_invoice_link($invoice->parent_invoice); ?></td>
887 887
         </tr>
888 888
         <?php } ?>
889
-        <?php if ( ( $gateway_name = wpinv_get_payment_gateway_name( $invoice_id ) ) && ( $invoice->is_paid() || $invoice->is_refunded() ) ) { ?>
889
+        <?php if (($gateway_name = wpinv_get_payment_gateway_name($invoice_id)) && ($invoice->is_paid() || $invoice->is_refunded())) { ?>
890 890
             <tr class="wpi-row-gateway">
891
-                <th><?php echo apply_filters( 'wpinv_invoice_payment_method_label', __( 'Payment Method', 'invoicing' ), $invoice ); ?></th>
891
+                <th><?php echo apply_filters('wpinv_invoice_payment_method_label', __('Payment Method', 'invoicing'), $invoice); ?></th>
892 892
                 <td><?php echo $gateway_name; ?></td>
893 893
             </tr>
894 894
         <?php } ?>
895
-        <?php if ( $invoice_date = wpinv_get_invoice_date( $invoice_id ) ) { ?>
895
+        <?php if ($invoice_date = wpinv_get_invoice_date($invoice_id)) { ?>
896 896
             <tr class="wpi-row-date">
897
-                <th><?php echo apply_filters( 'wpinv_invoice_date_label', __( 'Invoice Date', 'invoicing' ), $invoice ); ?></th>
897
+                <th><?php echo apply_filters('wpinv_invoice_date_label', __('Invoice Date', 'invoicing'), $invoice); ?></th>
898 898
                 <td><?php echo $invoice_date; ?></td>
899 899
             </tr>
900 900
         <?php } ?>
901
-        <?php if ( wpinv_get_option( 'overdue_active' ) && $invoice->needs_payment() && ( $due_date = $invoice->get_due_date( true ) ) ) { ?>
901
+        <?php if (wpinv_get_option('overdue_active') && $invoice->needs_payment() && ($due_date = $invoice->get_due_date(true))) { ?>
902 902
             <tr class="wpi-row-date">
903
-                <th><?php echo apply_filters( 'wpinv_invoice_due_date_label', __( 'Due Date', 'invoicing' ), $invoice ); ?></th>
903
+                <th><?php echo apply_filters('wpinv_invoice_due_date_label', __('Due Date', 'invoicing'), $invoice); ?></th>
904 904
                 <td><?php echo $due_date; ?></td>
905 905
             </tr>
906 906
         <?php } ?>
907
-        <?php do_action( 'wpinv_display_details_after_due_date', $invoice_id ); ?>
908
-        <?php if ( $owner_vat_number = $wpinv_euvat->get_vat_number() ) { ?>
907
+        <?php do_action('wpinv_display_details_after_due_date', $invoice_id); ?>
908
+        <?php if ($owner_vat_number = $wpinv_euvat->get_vat_number()) { ?>
909 909
             <tr class="wpi-row-ovatno">
910
-                <th><?php echo apply_filters( 'wpinv_invoice_owner_vat_number_label', wp_sprintf( __( 'Owner %s Number', 'invoicing' ), $vat_name ), $invoice, $vat_name ); ?></th>
910
+                <th><?php echo apply_filters('wpinv_invoice_owner_vat_number_label', wp_sprintf(__('Owner %s Number', 'invoicing'), $vat_name), $invoice, $vat_name); ?></th>
911 911
                 <td><?php echo $owner_vat_number; ?></td>
912 912
             </tr>
913 913
         <?php } ?>
914
-        <?php do_action( 'wpinv_display_details_after_due_date', $invoice_id ); ?>
915
-        <?php if ( $use_taxes && ( $user_vat_number = wpinv_get_invoice_vat_number( $invoice_id ) ) ) { ?>
914
+        <?php do_action('wpinv_display_details_after_due_date', $invoice_id); ?>
915
+        <?php if ($use_taxes && ($user_vat_number = wpinv_get_invoice_vat_number($invoice_id))) { ?>
916 916
             <tr class="wpi-row-uvatno">
917
-                <th><?php echo apply_filters( 'wpinv_invoice_user_vat_number_label', wp_sprintf( __( 'Invoice %s Number', 'invoicing' ), $vat_name ), $invoice, $vat_name ); ?></th>
917
+                <th><?php echo apply_filters('wpinv_invoice_user_vat_number_label', wp_sprintf(__('Invoice %s Number', 'invoicing'), $vat_name), $invoice, $vat_name); ?></th>
918 918
                 <td><?php echo $user_vat_number; ?></td>
919 919
             </tr>
920 920
         <?php } ?>
921 921
         <tr class="table-active tr-total wpi-row-total">
922
-            <th><strong><?php _e( 'Total Amount', 'invoicing' ) ?></strong></th>
923
-            <td><strong><?php echo wpinv_payment_total( $invoice_id, true ); ?></strong></td>
922
+            <th><strong><?php _e('Total Amount', 'invoicing') ?></strong></th>
923
+            <td><strong><?php echo wpinv_payment_total($invoice_id, true); ?></strong></td>
924 924
         </tr>
925 925
     </table>
926 926
 <?php
@@ -936,84 +936,84 @@  discard block
 block discarded – undo
936 936
  * @param  string $separator How to separate address lines.
937 937
  * @return string
938 938
  */
939
-function wpinv_get_invoice_address_markup( $billing_details, $separator = '<br/>' ) {
939
+function wpinv_get_invoice_address_markup($billing_details, $separator = '<br/>') {
940 940
 
941 941
     // Retrieve the address markup...
942
-    $country= empty( $billing_details['country'] ) ? '' : $billing_details['country'];
943
-    $format = wpinv_get_full_address_format( $country );
942
+    $country = empty($billing_details['country']) ? '' : $billing_details['country'];
943
+    $format = wpinv_get_full_address_format($country);
944 944
 
945 945
     // ... and the replacements.
946
-    $replacements = wpinv_get_invoice_address_replacements( $billing_details );
946
+    $replacements = wpinv_get_invoice_address_replacements($billing_details);
947 947
 
948
-    $formatted_address = str_ireplace( array_keys( $replacements ), $replacements, $format );
948
+    $formatted_address = str_ireplace(array_keys($replacements), $replacements, $format);
949 949
     
950 950
 	// Remove unavailable tags.
951
-    $formatted_address = preg_replace( "/\{\{\w+\}\}/", '', $formatted_address );
951
+    $formatted_address = preg_replace("/\{\{\w+\}\}/", '', $formatted_address);
952 952
 
953 953
     // Clean up white space.
954
-	$formatted_address = preg_replace( '/  +/', ' ', trim( $formatted_address ) );
955
-    $formatted_address = preg_replace( '/\n\n+/', "\n", $formatted_address );
954
+	$formatted_address = preg_replace('/  +/', ' ', trim($formatted_address));
955
+    $formatted_address = preg_replace('/\n\n+/', "\n", $formatted_address);
956 956
     
957 957
     // Break newlines apart and remove empty lines/trim commas and white space.
958
-	$formatted_address = array_filter( array_map( 'wpinv_trim_formatted_address_line', explode( "\n", $formatted_address ) ) );
958
+	$formatted_address = array_filter(array_map('wpinv_trim_formatted_address_line', explode("\n", $formatted_address)));
959 959
 
960 960
     // Add html breaks.
961
-	$formatted_address = implode( $separator, $formatted_address );
961
+	$formatted_address = implode($separator, $formatted_address);
962 962
 
963 963
 	// We're done!
964 964
 	return $formatted_address;
965 965
     
966 966
 }
967 967
 
968
-function wpinv_display_to_address( $invoice_id = 0 ) {
969
-    $invoice = wpinv_get_invoice( $invoice_id );
968
+function wpinv_display_to_address($invoice_id = 0) {
969
+    $invoice = wpinv_get_invoice($invoice_id);
970 970
     
971
-    if ( empty( $invoice ) ) {
971
+    if (empty($invoice)) {
972 972
         return NULL;
973 973
     }
974 974
     
975 975
     $billing_details = $invoice->get_user_info();
976
-    $output = '<div class="to col-xs-2"><strong>' . __( 'To:', 'invoicing' ) . '</strong></div>';
976
+    $output = '<div class="to col-xs-2"><strong>' . __('To:', 'invoicing') . '</strong></div>';
977 977
     $output .= '<div class="wrapper col-xs-10">';
978 978
     
979 979
     ob_start();
980
-    do_action( 'wpinv_display_to_address_top', $invoice );
980
+    do_action('wpinv_display_to_address_top', $invoice);
981 981
     $output .= ob_get_clean();
982 982
     
983
-    $address_row = wpinv_get_invoice_address_markup( $billing_details );
983
+    $address_row = wpinv_get_invoice_address_markup($billing_details);
984 984
 
985
-    if ( $address_row ) {
985
+    if ($address_row) {
986 986
         $output .= '<div class="address">' . $address_row . '</div>';
987 987
     }
988 988
 
989
-    if ( $phone = $invoice->get_phone() ) {
990
-        $output .= '<div class="phone">' . wp_sprintf( __( 'Phone: %s', 'invoicing' ), esc_html( $phone ) ) . '</div>';
989
+    if ($phone = $invoice->get_phone()) {
990
+        $output .= '<div class="phone">' . wp_sprintf(__('Phone: %s', 'invoicing'), esc_html($phone)) . '</div>';
991 991
     }
992
-    if ( $email = $invoice->get_email() ) {
993
-        $output .= '<div class="email">' . wp_sprintf( __( 'Email: %s' , 'invoicing'), esc_html( $email ) ) . '</div>';
992
+    if ($email = $invoice->get_email()) {
993
+        $output .= '<div class="email">' . wp_sprintf(__('Email: %s', 'invoicing'), esc_html($email)) . '</div>';
994 994
     }
995 995
 
996 996
     ob_start();
997
-    do_action( 'wpinv_display_to_address_bottom', $invoice );
997
+    do_action('wpinv_display_to_address_bottom', $invoice);
998 998
     $output .= ob_get_clean();
999 999
     
1000 1000
     $output .= '</div>';
1001
-    $output = apply_filters( 'wpinv_display_to_address', $output, $invoice );
1001
+    $output = apply_filters('wpinv_display_to_address', $output, $invoice);
1002 1002
 
1003 1003
     echo $output;
1004 1004
 }
1005 1005
 
1006
-function wpinv_display_line_items( $invoice_id = 0 ) {
1006
+function wpinv_display_line_items($invoice_id = 0) {
1007 1007
     global $wpinv_euvat, $ajax_cart_details;
1008
-    $invoice            = wpinv_get_invoice( $invoice_id );
1008
+    $invoice            = wpinv_get_invoice($invoice_id);
1009 1009
     $quantities_enabled = wpinv_item_quantities_enabled();
1010 1010
     $use_taxes          = wpinv_use_taxes();
1011
-    if ( !$use_taxes && (float)$invoice->get_tax() > 0 ) {
1011
+    if (!$use_taxes && (float) $invoice->get_tax() > 0) {
1012 1012
         $use_taxes = true;
1013 1013
     }
1014
-    $zero_tax           = !(float)$invoice->get_tax() > 0 ? true : false;
1015
-    $tax_label           = $use_taxes && $invoice->has_vat() ? $wpinv_euvat->get_vat_name() : __( 'Tax', 'invoicing' );
1016
-    $tax_title          = !$zero_tax && $use_taxes ? ( wpinv_prices_include_tax() ? wp_sprintf( __( '(%s Incl.)', 'invoicing' ), $tax_label ) : wp_sprintf( __( '(%s Excl.)', 'invoicing' ), $tax_label ) ) : '';
1014
+    $zero_tax           = !(float) $invoice->get_tax() > 0 ? true : false;
1015
+    $tax_label = $use_taxes && $invoice->has_vat() ? $wpinv_euvat->get_vat_name() : __('Tax', 'invoicing');
1016
+    $tax_title          = !$zero_tax && $use_taxes ? (wpinv_prices_include_tax() ? wp_sprintf(__('(%s Incl.)', 'invoicing'), $tax_label) : wp_sprintf(__('(%s Excl.)', 'invoicing'), $tax_label)) : '';
1017 1017
 
1018 1018
     $cart_details       = $invoice->get_cart_details();
1019 1019
     $ajax_cart_details  = $cart_details;
@@ -1022,67 +1022,67 @@  discard block
 block discarded – undo
1022 1022
     <table class="table table-sm table-bordered table-responsive">
1023 1023
         <thead>
1024 1024
             <tr>
1025
-                <th class="name"><strong><?php _e( "Item Name", "invoicing" );?></strong></th>
1026
-                <th class="rate"><strong><?php _e( "Price", "invoicing" );?></strong></th>
1025
+                <th class="name"><strong><?php _e("Item Name", "invoicing"); ?></strong></th>
1026
+                <th class="rate"><strong><?php _e("Price", "invoicing"); ?></strong></th>
1027 1027
                 <?php if ($quantities_enabled) { ?>
1028
-                    <th class="qty"><strong><?php _e( "Qty", "invoicing" );?></strong></th>
1028
+                    <th class="qty"><strong><?php _e("Qty", "invoicing"); ?></strong></th>
1029 1029
                 <?php } ?>
1030 1030
                 <?php if ($use_taxes && !$zero_tax) { ?>
1031 1031
                     <th class="tax"><strong><?php echo $tax_label . ' <span class="normal small">(%)</span>'; ?></strong></th>
1032 1032
                 <?php } ?>
1033
-                <th class="total"><strong><?php echo __( "Item Total", "invoicing" ) . ' <span class="normal small">' . $tax_title . '<span>';?></strong></th>
1033
+                <th class="total"><strong><?php echo __("Item Total", "invoicing") . ' <span class="normal small">' . $tax_title . '<span>'; ?></strong></th>
1034 1034
             </tr>
1035 1035
         </thead>
1036 1036
         <tbody>
1037 1037
         <?php 
1038
-            if ( !empty( $cart_details ) ) {
1039
-                do_action( 'wpinv_display_line_items_start', $invoice );
1038
+            if (!empty($cart_details)) {
1039
+                do_action('wpinv_display_line_items_start', $invoice);
1040 1040
 
1041 1041
                 $count = 0;
1042 1042
                 $cols  = 3;
1043
-                foreach ( $cart_details as $key => $cart_item ) {
1044
-                    $item_id    = !empty($cart_item['id']) ? absint( $cart_item['id'] ) : '';
1045
-                    $item_price = isset($cart_item["item_price"]) ? wpinv_round_amount( $cart_item["item_price"] ) : 0;
1046
-                    $line_total = isset($cart_item["subtotal"]) ? wpinv_round_amount( $cart_item["subtotal"] ) : 0;
1047
-                    $quantity   = !empty($cart_item['quantity']) && (int)$cart_item['quantity'] > 0 ? absint( $cart_item['quantity'] ) : 1;
1043
+                foreach ($cart_details as $key => $cart_item) {
1044
+                    $item_id    = !empty($cart_item['id']) ? absint($cart_item['id']) : '';
1045
+                    $item_price = isset($cart_item["item_price"]) ? wpinv_round_amount($cart_item["item_price"]) : 0;
1046
+                    $line_total = isset($cart_item["subtotal"]) ? wpinv_round_amount($cart_item["subtotal"]) : 0;
1047
+                    $quantity   = !empty($cart_item['quantity']) && (int) $cart_item['quantity'] > 0 ? absint($cart_item['quantity']) : 1;
1048 1048
 
1049
-                    $item       = $item_id ? new WPInv_Item( $item_id ) : NULL;
1049
+                    $item       = $item_id ? new WPInv_Item($item_id) : NULL;
1050 1050
                     $summary    = '';
1051
-	                $item_name    = '';
1051
+	                $item_name = '';
1052 1052
                     $cols       = 3;
1053
-                    if ( !empty($item) ) {
1053
+                    if (!empty($item)) {
1054 1054
                         $item_name  = $item->get_name();
1055 1055
                         $summary    = $item->get_summary();
1056 1056
                     }
1057
-                    $item_name  = !empty($cart_item['name']) ? $cart_item['name'] : $item_name;
1057
+                    $item_name = !empty($cart_item['name']) ? $cart_item['name'] : $item_name;
1058 1058
 
1059
-                    $summary = apply_filters( 'wpinv_print_invoice_line_item_summary', $summary, $cart_item, $item, $invoice );
1059
+                    $summary = apply_filters('wpinv_print_invoice_line_item_summary', $summary, $cart_item, $item, $invoice);
1060 1060
 
1061 1061
                     $item_tax       = '';
1062 1062
                     $tax_rate       = '';
1063
-                    if ( $use_taxes && $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0 ) {
1064
-                        $item_tax = wpinv_price( wpinv_format_amount( $cart_item['tax'] ), $invoice->get_currency() );
1065
-                        $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : ( $cart_item['tax'] / $cart_item['subtotal'] ) * 100;
1066
-                        $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount( $tax_rate, 4 ) : '';
1063
+                    if ($use_taxes && $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0) {
1064
+                        $item_tax = wpinv_price(wpinv_format_amount($cart_item['tax']), $invoice->get_currency());
1065
+                        $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : ($cart_item['tax'] / $cart_item['subtotal']) * 100;
1066
+                        $tax_rate = $tax_rate > 0 ? (float) wpinv_round_amount($tax_rate, 4) : '';
1067 1067
                         $tax_rate = $tax_rate != '' ? ' <small class="tax-rate">(' . $tax_rate . '%)</small>' : '';
1068 1068
                     }
1069 1069
 
1070 1070
                     $line_item_tax = $item_tax . $tax_rate;
1071 1071
 
1072
-                    if ( $line_item_tax === '' ) {
1072
+                    if ($line_item_tax === '') {
1073 1073
                         $line_item_tax = 0; // Zero tax
1074 1074
                     }
1075 1075
 
1076
-                    $action = apply_filters( 'wpinv_display_line_item_action', '', $cart_item, $invoice, $cols );
1076
+                    $action = apply_filters('wpinv_display_line_item_action', '', $cart_item, $invoice, $cols);
1077 1077
 
1078
-                    $line_item = '<tr class="row-' . ( ($count % 2 == 0) ? 'even' : 'odd' ) . ' wpinv-item">';
1079
-                        $line_item .= '<td class="name">' . $action. esc_html__( $item_name, 'invoicing' ) . wpinv_get_item_suffix( $item );
1080
-                        if ( $summary !== '' ) {
1081
-                            $line_item .= '<br/><small class="meta">' . wpautop( wp_kses_post( $summary ) ) . '</small>';
1078
+                    $line_item = '<tr class="row-' . (($count % 2 == 0) ? 'even' : 'odd') . ' wpinv-item">';
1079
+                        $line_item .= '<td class="name">' . $action . esc_html__($item_name, 'invoicing') . wpinv_get_item_suffix($item);
1080
+                        if ($summary !== '') {
1081
+                            $line_item .= '<br/><small class="meta">' . wpautop(wp_kses_post($summary)) . '</small>';
1082 1082
                         }
1083 1083
                         $line_item .= '</td>';
1084 1084
 
1085
-                        $line_item .= '<td class="rate">' . esc_html__( wpinv_price( wpinv_format_amount( $item_price ), $invoice->get_currency() ) ) . '</td>';
1085
+                        $line_item .= '<td class="rate">' . esc_html__(wpinv_price(wpinv_format_amount($item_price), $invoice->get_currency())) . '</td>';
1086 1086
                         if ($quantities_enabled) {
1087 1087
                             $cols++;
1088 1088
                             $line_item .= '<td class="qty">' . $quantity . '</td>';
@@ -1091,55 +1091,55 @@  discard block
 block discarded – undo
1091 1091
                             $cols++;
1092 1092
                             $line_item .= '<td class="tax">' . $line_item_tax . '</td>';
1093 1093
                         }
1094
-                        $line_item .= '<td class="total">' . esc_html__( wpinv_price( wpinv_format_amount( $line_total ), $invoice->get_currency() ) ) . '</td>';
1094
+                        $line_item .= '<td class="total">' . esc_html__(wpinv_price(wpinv_format_amount($line_total), $invoice->get_currency())) . '</td>';
1095 1095
                     $line_item .= '</tr>';
1096 1096
 
1097
-                    echo apply_filters( 'wpinv_display_line_item', $line_item, $cart_item, $invoice, $cols );
1097
+                    echo apply_filters('wpinv_display_line_item', $line_item, $cart_item, $invoice, $cols);
1098 1098
 
1099 1099
                     $count++;
1100 1100
                 }
1101 1101
 
1102
-                do_action( 'wpinv_display_before_subtotal', $invoice, $cols );
1102
+                do_action('wpinv_display_before_subtotal', $invoice, $cols);
1103 1103
                 ?>
1104 1104
                 <tr class="row-sub-total row_odd">
1105
-                    <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_subtotal_label', '<strong>' . __( 'Sub Total', 'invoicing' ) . ':</strong>', $invoice ); ?></td>
1106
-                    <td class="total"><strong><?php _e( wpinv_subtotal( $invoice_id, true ) ) ?></strong></td>
1105
+                    <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_subtotal_label', '<strong>' . __('Sub Total', 'invoicing') . ':</strong>', $invoice); ?></td>
1106
+                    <td class="total"><strong><?php _e(wpinv_subtotal($invoice_id, true)) ?></strong></td>
1107 1107
                 </tr>
1108 1108
                 <?php
1109
-                do_action( 'wpinv_display_after_subtotal', $invoice, $cols );
1109
+                do_action('wpinv_display_after_subtotal', $invoice, $cols);
1110 1110
                 
1111
-                if ( wpinv_discount( $invoice_id, false ) > 0 ) {
1112
-                    do_action( 'wpinv_display_before_discount', $invoice, $cols );
1111
+                if (wpinv_discount($invoice_id, false) > 0) {
1112
+                    do_action('wpinv_display_before_discount', $invoice, $cols);
1113 1113
                     ?>
1114 1114
                         <tr class="row-discount">
1115
-                            <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice_id ) ); ?>:</td>
1116
-                            <td class="total"><?php echo wpinv_discount( $invoice_id, true, true ); ?></td>
1115
+                            <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php wpinv_get_discount_label(wpinv_discount_code($invoice_id)); ?>:</td>
1116
+                            <td class="total"><?php echo wpinv_discount($invoice_id, true, true); ?></td>
1117 1117
                         </tr>
1118 1118
                     <?php
1119
-                    do_action( 'wpinv_display_after_discount', $invoice, $cols );
1119
+                    do_action('wpinv_display_after_discount', $invoice, $cols);
1120 1120
                 }
1121 1121
 
1122
-                if ( $use_taxes ) {
1123
-                    do_action( 'wpinv_display_before_tax', $invoice, $cols );
1122
+                if ($use_taxes) {
1123
+                    do_action('wpinv_display_before_tax', $invoice, $cols);
1124 1124
                     ?>
1125 1125
                     <tr class="row-tax">
1126
-                        <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_tax_label', '<strong>' . $tax_label . ':</strong>', $invoice ); ?></td>
1127
-                        <td class="total"><?php _e( wpinv_tax( $invoice_id, true ) ) ?></td>
1126
+                        <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_tax_label', '<strong>' . $tax_label . ':</strong>', $invoice); ?></td>
1127
+                        <td class="total"><?php _e(wpinv_tax($invoice_id, true)) ?></td>
1128 1128
                     </tr>
1129 1129
                     <?php
1130
-                    do_action( 'wpinv_display_after_tax', $invoice, $cols );
1130
+                    do_action('wpinv_display_after_tax', $invoice, $cols);
1131 1131
                 }
1132 1132
 
1133
-                do_action( 'wpinv_display_before_total', $invoice, $cols );
1133
+                do_action('wpinv_display_before_total', $invoice, $cols);
1134 1134
                 ?>
1135 1135
                 <tr class="table-active row-total">
1136
-                    <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_total_label', '<strong>' . __( 'Total', 'invoicing' ) . ':</strong>', $invoice ); ?></td>
1137
-                    <td class="total"><strong><?php _e( wpinv_payment_total( $invoice_id, true ) ) ?></strong></td>
1136
+                    <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_total_label', '<strong>' . __('Total', 'invoicing') . ':</strong>', $invoice); ?></td>
1137
+                    <td class="total"><strong><?php _e(wpinv_payment_total($invoice_id, true)) ?></strong></td>
1138 1138
                 </tr>
1139 1139
                 <?php
1140
-                do_action( 'wpinv_display_after_total', $invoice, $cols );
1140
+                do_action('wpinv_display_after_total', $invoice, $cols);
1141 1141
 
1142
-                do_action( 'wpinv_display_line_end', $invoice, $cols );
1142
+                do_action('wpinv_display_line_end', $invoice, $cols);
1143 1143
             }
1144 1144
         ?>
1145 1145
         </tbody>
@@ -1148,35 +1148,35 @@  discard block
 block discarded – undo
1148 1148
     echo ob_get_clean();
1149 1149
 }
1150 1150
 
1151
-function wpinv_display_invoice_totals( $invoice_id = 0 ) {
1151
+function wpinv_display_invoice_totals($invoice_id = 0) {
1152 1152
     $use_taxes = wpinv_use_taxes();
1153 1153
 
1154
-    do_action( 'wpinv_before_display_totals_table', $invoice_id ); 
1154
+    do_action('wpinv_before_display_totals_table', $invoice_id); 
1155 1155
     ?>
1156 1156
     <table class="table table-sm table-bordered table-responsive">
1157 1157
         <tbody>
1158
-            <?php do_action( 'wpinv_before_display_totals' ); ?>
1158
+            <?php do_action('wpinv_before_display_totals'); ?>
1159 1159
             <tr class="row-sub-total">
1160
-                <td class="rate"><strong><?php _e( 'Sub Total', 'invoicing' ); ?></strong></td>
1161
-                <td class="total"><strong><?php _e( wpinv_subtotal( $invoice_id, true ) ) ?></strong></td>
1160
+                <td class="rate"><strong><?php _e('Sub Total', 'invoicing'); ?></strong></td>
1161
+                <td class="total"><strong><?php _e(wpinv_subtotal($invoice_id, true)) ?></strong></td>
1162 1162
             </tr>
1163
-            <?php do_action( 'wpinv_after_display_totals' ); ?>
1164
-            <?php if ( wpinv_discount( $invoice_id, false ) > 0 ) { ?>
1163
+            <?php do_action('wpinv_after_display_totals'); ?>
1164
+            <?php if (wpinv_discount($invoice_id, false) > 0) { ?>
1165 1165
                 <tr class="row-discount">
1166
-                    <td class="rate"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice_id ) ); ?></td>
1167
-                    <td class="total"><?php echo wpinv_discount( $invoice_id, true, true ); ?></td>
1166
+                    <td class="rate"><?php wpinv_get_discount_label(wpinv_discount_code($invoice_id)); ?></td>
1167
+                    <td class="total"><?php echo wpinv_discount($invoice_id, true, true); ?></td>
1168 1168
                 </tr>
1169
-            <?php do_action( 'wpinv_after_display_discount' ); ?>
1169
+            <?php do_action('wpinv_after_display_discount'); ?>
1170 1170
             <?php } ?>
1171
-            <?php if ( $use_taxes ) { ?>
1171
+            <?php if ($use_taxes) { ?>
1172 1172
             <tr class="row-tax">
1173
-                <td class="rate"><?php _e( 'Tax', 'invoicing' ); ?></td>
1174
-                <td class="total"><?php _e( wpinv_tax( $invoice_id, true ) ) ?></td>
1173
+                <td class="rate"><?php _e('Tax', 'invoicing'); ?></td>
1174
+                <td class="total"><?php _e(wpinv_tax($invoice_id, true)) ?></td>
1175 1175
             </tr>
1176
-            <?php do_action( 'wpinv_after_display_tax' ); ?>
1176
+            <?php do_action('wpinv_after_display_tax'); ?>
1177 1177
             <?php } ?>
1178
-            <?php if ( $fees = wpinv_get_fees( $invoice_id ) ) { ?>
1179
-                <?php foreach ( $fees as $fee ) { ?>
1178
+            <?php if ($fees = wpinv_get_fees($invoice_id)) { ?>
1179
+                <?php foreach ($fees as $fee) { ?>
1180 1180
                     <tr class="row-fee">
1181 1181
                         <td class="rate"><?php echo $fee['label']; ?></td>
1182 1182
                         <td class="total"><?php echo $fee['amount_display']; ?></td>
@@ -1184,82 +1184,82 @@  discard block
 block discarded – undo
1184 1184
                 <?php } ?>
1185 1185
             <?php } ?>
1186 1186
             <tr class="table-active row-total">
1187
-                <td class="rate"><strong><?php _e( 'Total', 'invoicing' ) ?></strong></td>
1188
-                <td class="total"><strong><?php _e( wpinv_payment_total( $invoice_id, true ) ) ?></strong></td>
1187
+                <td class="rate"><strong><?php _e('Total', 'invoicing') ?></strong></td>
1188
+                <td class="total"><strong><?php _e(wpinv_payment_total($invoice_id, true)) ?></strong></td>
1189 1189
             </tr>
1190
-            <?php do_action( 'wpinv_after_totals' ); ?>
1190
+            <?php do_action('wpinv_after_totals'); ?>
1191 1191
         </tbody>
1192 1192
 
1193 1193
     </table>
1194 1194
 
1195
-    <?php do_action( 'wpinv_after_totals_table' );
1195
+    <?php do_action('wpinv_after_totals_table');
1196 1196
 }
1197 1197
 
1198
-function wpinv_display_payments_info( $invoice_id = 0, $echo = true ) {
1199
-    $invoice = wpinv_get_invoice( $invoice_id );
1198
+function wpinv_display_payments_info($invoice_id = 0, $echo = true) {
1199
+    $invoice = wpinv_get_invoice($invoice_id);
1200 1200
 
1201 1201
     ob_start();
1202
-    do_action( 'wpinv_before_display_payments_info', $invoice_id );
1203
-    if ( ( $gateway_title = $invoice->get_gateway_title() ) || $invoice->is_paid() || $invoice->is_refunded() ) {
1202
+    do_action('wpinv_before_display_payments_info', $invoice_id);
1203
+    if (($gateway_title = $invoice->get_gateway_title()) || $invoice->is_paid() || $invoice->is_refunded()) {
1204 1204
         ?>
1205 1205
         <div class="wpi-payment-info">
1206
-            <p class="wpi-payment-gateway"><?php echo wp_sprintf( __( 'Payment via %s', 'invoicing' ), $gateway_title ? $gateway_title : __( 'Manually', 'invoicing' ) ); ?></p>
1207
-            <?php if ( $gateway_title ) { ?>
1208
-            <p class="wpi-payment-transid"><?php echo wp_sprintf( __( 'Transaction ID: %s', 'invoicing' ), $invoice->get_transaction_id() ); ?></p>
1206
+            <p class="wpi-payment-gateway"><?php echo wp_sprintf(__('Payment via %s', 'invoicing'), $gateway_title ? $gateway_title : __('Manually', 'invoicing')); ?></p>
1207
+            <?php if ($gateway_title) { ?>
1208
+            <p class="wpi-payment-transid"><?php echo wp_sprintf(__('Transaction ID: %s', 'invoicing'), $invoice->get_transaction_id()); ?></p>
1209 1209
             <?php } ?>
1210 1210
         </div>
1211 1211
         <?php
1212 1212
     }
1213
-    do_action( 'wpinv_after_display_payments_info', $invoice_id );
1213
+    do_action('wpinv_after_display_payments_info', $invoice_id);
1214 1214
     $outout = ob_get_clean();
1215 1215
 
1216
-    if ( $echo ) {
1216
+    if ($echo) {
1217 1217
         echo $outout;
1218 1218
     } else {
1219 1219
         return $outout;
1220 1220
     }
1221 1221
 }
1222 1222
 
1223
-function wpinv_display_style( $invoice ) {
1224
-    wp_register_style( 'wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), WPINV_VERSION );
1223
+function wpinv_display_style($invoice) {
1224
+    wp_register_style('wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), WPINV_VERSION);
1225 1225
 
1226
-    wp_print_styles( 'open-sans' );
1227
-    wp_print_styles( 'wpinv-single-style' );
1226
+    wp_print_styles('open-sans');
1227
+    wp_print_styles('wpinv-single-style');
1228 1228
 
1229 1229
     $custom_css = wpinv_get_option('template_custom_css');
1230
-    if(isset($custom_css) && !empty($custom_css)){
1231
-        $custom_css     = wp_kses( $custom_css, array( '\'', '\"' ) );
1232
-        $custom_css     = str_replace( '&gt;', '>', $custom_css );
1230
+    if (isset($custom_css) && !empty($custom_css)) {
1231
+        $custom_css     = wp_kses($custom_css, array('\'', '\"'));
1232
+        $custom_css     = str_replace('&gt;', '>', $custom_css);
1233 1233
         echo '<style type="text/css">';
1234 1234
         echo $custom_css;
1235 1235
         echo '</style>';
1236 1236
     }
1237 1237
 }
1238
-add_action( 'wpinv_invoice_print_head', 'wpinv_display_style' );
1239
-add_action( 'wpinv_invalid_invoice_head', 'wpinv_display_style' );
1238
+add_action('wpinv_invoice_print_head', 'wpinv_display_style');
1239
+add_action('wpinv_invalid_invoice_head', 'wpinv_display_style');
1240 1240
 
1241 1241
 function wpinv_checkout_billing_details() {
1242
-    $invoice_id = (int)wpinv_get_invoice_cart_id();
1242
+    $invoice_id = (int) wpinv_get_invoice_cart_id();
1243 1243
     if (empty($invoice_id)) {
1244
-        wpinv_error_log( 'Invoice id not found', 'ERROR', __FILE__, __LINE__ );
1244
+        wpinv_error_log('Invoice id not found', 'ERROR', __FILE__, __LINE__);
1245 1245
         return null;
1246 1246
     }
1247 1247
 
1248
-    $invoice = wpinv_get_invoice_cart( $invoice_id );
1248
+    $invoice = wpinv_get_invoice_cart($invoice_id);
1249 1249
     if (empty($invoice)) {
1250
-        wpinv_error_log( 'Invoice not found', 'ERROR', __FILE__, __LINE__ );
1250
+        wpinv_error_log('Invoice not found', 'ERROR', __FILE__, __LINE__);
1251 1251
         return null;
1252 1252
     }
1253 1253
     $user_id        = $invoice->get_user_id();
1254 1254
     $user_info      = $invoice->get_user_info();
1255
-    $address_info   = wpinv_get_user_address( $user_id );
1255
+    $address_info   = wpinv_get_user_address($user_id);
1256 1256
 
1257
-    if ( empty( $user_info['first_name'] ) && !empty( $user_info['first_name'] ) ) {
1257
+    if (empty($user_info['first_name']) && !empty($user_info['first_name'])) {
1258 1258
         $user_info['first_name'] = $user_info['first_name'];
1259 1259
         $user_info['last_name'] = $user_info['last_name'];
1260 1260
     }
1261 1261
 
1262
-    if ( ( ( empty( $user_info['country'] ) && !empty( $address_info['country'] ) ) || ( empty( $user_info['state'] ) && !empty( $address_info['state'] ) && $user_info['country'] == $address_info['country'] ) ) ) {
1262
+    if (((empty($user_info['country']) && !empty($address_info['country'])) || (empty($user_info['state']) && !empty($address_info['state']) && $user_info['country'] == $address_info['country']))) {
1263 1263
         $user_info['country']   = $address_info['country'];
1264 1264
         $user_info['state']     = $address_info['state'];
1265 1265
         $user_info['city']      = $address_info['city'];
@@ -1275,98 +1275,98 @@  discard block
 block discarded – undo
1275 1275
         'address'
1276 1276
     );
1277 1277
 
1278
-    foreach ( $address_fields as $field ) {
1279
-        if ( empty( $user_info[$field] ) ) {
1278
+    foreach ($address_fields as $field) {
1279
+        if (empty($user_info[$field])) {
1280 1280
             $user_info[$field] = $address_info[$field];
1281 1281
         }
1282 1282
     }
1283 1283
 
1284
-    return apply_filters( 'wpinv_checkout_billing_details', $user_info, $invoice );
1284
+    return apply_filters('wpinv_checkout_billing_details', $user_info, $invoice);
1285 1285
 }
1286 1286
 
1287 1287
 function wpinv_admin_get_line_items($invoice = array()) {
1288 1288
     $item_quantities    = wpinv_item_quantities_enabled();
1289 1289
     $use_taxes          = wpinv_use_taxes();
1290 1290
 
1291
-    if ( empty( $invoice ) ) {
1291
+    if (empty($invoice)) {
1292 1292
         return NULL;
1293 1293
     }
1294 1294
 
1295 1295
     $cart_items = $invoice->get_cart_details();
1296
-    if ( empty( $cart_items ) ) {
1296
+    if (empty($cart_items)) {
1297 1297
         return NULL;
1298 1298
     }
1299 1299
     ob_start();
1300 1300
 
1301
-    do_action( 'wpinv_admin_before_line_items', $cart_items, $invoice );
1301
+    do_action('wpinv_admin_before_line_items', $cart_items, $invoice);
1302 1302
 
1303 1303
     $count = 0;
1304
-    foreach ( $cart_items as $key => $cart_item ) {
1304
+    foreach ($cart_items as $key => $cart_item) {
1305 1305
         $item_id    = $cart_item['id'];
1306
-        $wpi_item   = $item_id > 0 ? new WPInv_Item( $item_id ) : NULL;
1306
+        $wpi_item   = $item_id > 0 ? new WPInv_Item($item_id) : NULL;
1307 1307
 
1308 1308
         if (empty($wpi_item)) {
1309 1309
             continue;
1310 1310
         }
1311 1311
 
1312
-        $item_price     = wpinv_price( wpinv_format_amount( $cart_item['item_price'] ), $invoice->get_currency() );
1313
-        $quantity       = !empty( $cart_item['quantity'] ) && $cart_item['quantity'] > 0 ? $cart_item['quantity'] : 1;
1314
-        $item_subtotal  = wpinv_price( wpinv_format_amount( $cart_item['subtotal'] ), $invoice->get_currency() );
1312
+        $item_price     = wpinv_price(wpinv_format_amount($cart_item['item_price']), $invoice->get_currency());
1313
+        $quantity       = !empty($cart_item['quantity']) && $cart_item['quantity'] > 0 ? $cart_item['quantity'] : 1;
1314
+        $item_subtotal  = wpinv_price(wpinv_format_amount($cart_item['subtotal']), $invoice->get_currency());
1315 1315
         $can_remove     = true;
1316 1316
 
1317
-        $summary = apply_filters( 'wpinv_admin_invoice_line_item_summary', '', $cart_item, $wpi_item, $invoice );
1317
+        $summary = apply_filters('wpinv_admin_invoice_line_item_summary', '', $cart_item, $wpi_item, $invoice);
1318 1318
 
1319 1319
         $item_tax       = '';
1320 1320
         $tax_rate       = '';
1321
-        if ( $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0 ) {
1322
-            $item_tax = wpinv_price( wpinv_format_amount( $cart_item['tax'] ), $invoice->get_currency() );
1323
-            $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : ( $cart_item['tax'] / $cart_item['subtotal'] ) * 100;
1324
-            $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount( $tax_rate, 4 ) : '';
1321
+        if ($cart_item['tax'] > 0 && $cart_item['subtotal'] > 0) {
1322
+            $item_tax = wpinv_price(wpinv_format_amount($cart_item['tax']), $invoice->get_currency());
1323
+            $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : ($cart_item['tax'] / $cart_item['subtotal']) * 100;
1324
+            $tax_rate = $tax_rate > 0 ? (float) wpinv_round_amount($tax_rate, 4) : '';
1325 1325
             $tax_rate = $tax_rate != '' ? ' <span class="tax-rate">(' . $tax_rate . '%)</span>' : '';
1326 1326
         }
1327 1327
         $line_item_tax = $item_tax . $tax_rate;
1328 1328
 
1329
-        if ( $line_item_tax === '' ) {
1329
+        if ($line_item_tax === '') {
1330 1330
             $line_item_tax = 0; // Zero tax
1331 1331
         }
1332 1332
 
1333
-        $line_item = '<tr class="item item-' . ( ($count % 2 == 0) ? 'even' : 'odd' ) . '" data-item-id="' . $item_id . '">';
1333
+        $line_item = '<tr class="item item-' . (($count % 2 == 0) ? 'even' : 'odd') . '" data-item-id="' . $item_id . '">';
1334 1334
             $line_item .= '<td class="id">' . $item_id . '</td>';
1335
-            $line_item .= '<td class="title"><a href="' . get_edit_post_link( $item_id ) . '" target="_blank">' . $cart_item['name'] . '</a>' . wpinv_get_item_suffix( $wpi_item );
1336
-            if ( $summary !== '' ) {
1337
-                $line_item .= '<span class="meta">' . wpautop( wp_kses_post( $summary ) ) . '</span>';
1335
+            $line_item .= '<td class="title"><a href="' . get_edit_post_link($item_id) . '" target="_blank">' . $cart_item['name'] . '</a>' . wpinv_get_item_suffix($wpi_item);
1336
+            if ($summary !== '') {
1337
+                $line_item .= '<span class="meta">' . wpautop(wp_kses_post($summary)) . '</span>';
1338 1338
             }
1339 1339
             $line_item .= '</td>';
1340 1340
             $line_item .= '<td class="price">' . $item_price . '</td>';
1341 1341
             
1342
-            if ( $item_quantities ) {
1343
-                if ( count( $cart_items ) == 1 && $quantity <= 1 ) {
1342
+            if ($item_quantities) {
1343
+                if (count($cart_items) == 1 && $quantity <= 1) {
1344 1344
                     $can_remove = false;
1345 1345
                 }
1346 1346
                 $line_item .= '<td class="qty" data-quantity="' . $quantity . '">&nbsp;&times;&nbsp;' . $quantity . '</td>';
1347 1347
             } else {
1348
-                if ( count( $cart_items ) == 1 ) {
1348
+                if (count($cart_items) == 1) {
1349 1349
                     $can_remove = false;
1350 1350
                 }
1351 1351
             }
1352 1352
             $line_item .= '<td class="total">' . $item_subtotal . '</td>';
1353 1353
             
1354
-            if ( $use_taxes ) {
1354
+            if ($use_taxes) {
1355 1355
                 $line_item .= '<td class="tax">' . $line_item_tax . '</td>';
1356 1356
             }
1357 1357
             $line_item .= '<td class="action">';
1358
-            if ( !$invoice->is_paid() && !$invoice->is_refunded() ) {
1358
+            if (!$invoice->is_paid() && !$invoice->is_refunded()) {
1359 1359
                 $line_item .= '<i class="fa fa-remove wpinv-item-remove"></i>';
1360 1360
             }
1361 1361
             $line_item .= '</td>';
1362 1362
         $line_item .= '</tr>';
1363 1363
 
1364
-        echo apply_filters( 'wpinv_admin_line_item', $line_item, $cart_item, $invoice );
1364
+        echo apply_filters('wpinv_admin_line_item', $line_item, $cart_item, $invoice);
1365 1365
 
1366 1366
         $count++;
1367 1367
     } 
1368 1368
 
1369
-    do_action( 'wpinv_admin_after_line_items', $cart_items, $invoice );
1369
+    do_action('wpinv_admin_after_line_items', $cart_items, $invoice);
1370 1370
 
1371 1371
     return ob_get_clean();
1372 1372
 }
@@ -1378,32 +1378,32 @@  discard block
 block discarded – undo
1378 1378
     $wpi_checkout_id = wpinv_get_invoice_cart_id();
1379 1379
 
1380 1380
     //Maybe update the prices
1381
-    if(! empty( $_GET['wpi_dynamic_item'] ) && ! empty( $_GET['wpi_dynamic_price'] ) ) {
1381
+    if (!empty($_GET['wpi_dynamic_item']) && !empty($_GET['wpi_dynamic_price'])) {
1382 1382
 
1383 1383
         //If the invoice exists, update it with new pricing details
1384
-        if (! empty( $wpi_checkout_id ) ) {
1384
+        if (!empty($wpi_checkout_id)) {
1385 1385
 
1386 1386
             $_invoice       = wpinv_get_invoice_cart();
1387 1387
             $_cart_details  = $_invoice->get_cart_details();
1388
-            $_dynamic_item  = sanitize_text_field( $_GET['wpi_dynamic_item'] );
1388
+            $_dynamic_item  = sanitize_text_field($_GET['wpi_dynamic_item']);
1389 1389
 
1390 1390
             //First, fetch the item
1391
-            $item    = new WPInv_Item( $_dynamic_item );
1391
+            $item = new WPInv_Item($_dynamic_item);
1392 1392
     
1393 1393
             //Next, ensure it supports dynamic pricing...
1394
-            if( $item->supports_dynamic_pricing() && $item->get_is_dynamic_pricing() ) {
1394
+            if ($item->supports_dynamic_pricing() && $item->get_is_dynamic_pricing()) {
1395 1395
                 
1396 1396
                 //... and that the new price is not lower than the minimum price
1397
-                $_dynamic_price = (float) wpinv_sanitize_amount( sanitize_text_field( $_GET['wpi_dynamic_price'] ) );
1398
-                if( $_dynamic_price < $item->get_minimum_price() ) {
1397
+                $_dynamic_price = (float) wpinv_sanitize_amount(sanitize_text_field($_GET['wpi_dynamic_price']));
1398
+                if ($_dynamic_price < $item->get_minimum_price()) {
1399 1399
                     $_dynamic_price = $item->get_minimum_price();
1400 1400
                 }
1401 1401
 
1402 1402
                 //Finally, update our invoice with the new price
1403
-                if ( !empty( $_cart_details ) ) {
1403
+                if (!empty($_cart_details)) {
1404 1404
 
1405
-                    foreach ( $_cart_details as $key => $item ) {
1406
-                        if ( !empty( $item['id'] ) && $_dynamic_item == $item['id'] ) {
1405
+                    foreach ($_cart_details as $key => $item) {
1406
+                        if (!empty($item['id']) && $_dynamic_item == $item['id']) {
1407 1407
                             $_cart_details[$key]['custom_price'] = $_dynamic_price;
1408 1408
                             $_cart_details[$key]['item_price']   = $_dynamic_price;
1409 1409
                         }
@@ -1411,8 +1411,8 @@  discard block
 block discarded – undo
1411 1411
 
1412 1412
                     $_meta = $_invoice->get_meta();
1413 1413
                     $_meta['cart_details'] = $_cart_details;
1414
-                    $_invoice->set( 'payment_meta', $_meta );
1415
-                    $_invoice->set( 'cart_details', $_cart_details );
1414
+                    $_invoice->set('payment_meta', $_meta);
1415
+                    $_invoice->set('cart_details', $_cart_details);
1416 1416
                     $_invoice->recalculate_totals();
1417 1417
 
1418 1418
                 }
@@ -1423,60 +1423,60 @@  discard block
 block discarded – undo
1423 1423
 
1424 1424
     }
1425 1425
 
1426
-    $form_action  = esc_url( wpinv_get_checkout_uri() );
1426
+    $form_action = esc_url(wpinv_get_checkout_uri());
1427 1427
 
1428 1428
     ob_start();
1429
-	    do_action( 'wpinv_checkout_content_before' );
1429
+	    do_action('wpinv_checkout_content_before');
1430 1430
         echo '<div id="wpinv_checkout_wrap">';
1431 1431
 
1432
-        if ( wpinv_get_cart_contents() || wpinv_cart_has_fees() ) {
1432
+        if (wpinv_get_cart_contents() || wpinv_cart_has_fees()) {
1433 1433
             ?>
1434 1434
             <div id="wpinv_checkout_form_wrap" class="wpinv_clearfix table-responsive">
1435
-                <?php do_action( 'wpinv_before_checkout_form' ); ?>
1435
+                <?php do_action('wpinv_before_checkout_form'); ?>
1436 1436
                 <form id="wpinv_checkout_form" class="wpi-form" action="<?php echo $form_action; ?>" method="POST">
1437 1437
                     <?php
1438
-                    do_action( 'wpinv_checkout_form_top' );
1439
-                    do_action( 'wpinv_checkout_billing_info' );
1440
-                    do_action( 'wpinv_checkout_cart' );
1441
-                    do_action( 'wpinv_payment_mode_select'  );
1442
-                    do_action( 'wpinv_checkout_form_bottom' )
1438
+                    do_action('wpinv_checkout_form_top');
1439
+                    do_action('wpinv_checkout_billing_info');
1440
+                    do_action('wpinv_checkout_cart');
1441
+                    do_action('wpinv_payment_mode_select');
1442
+                    do_action('wpinv_checkout_form_bottom')
1443 1443
                     ?>
1444 1444
                 </form>
1445
-                <?php do_action( 'wpinv_after_purchase_form' ); ?>
1445
+                <?php do_action('wpinv_after_purchase_form'); ?>
1446 1446
             </div><!--end #wpinv_checkout_form_wrap-->
1447 1447
         <?php
1448 1448
         } else {
1449
-            do_action( 'wpinv_cart_empty' );
1449
+            do_action('wpinv_cart_empty');
1450 1450
         }
1451 1451
         echo '</div><!--end #wpinv_checkout_wrap-->';
1452
-	    do_action( 'wpinv_checkout_content_after' );
1452
+	    do_action('wpinv_checkout_content_after');
1453 1453
     return ob_get_clean();
1454 1454
 }
1455 1455
 
1456
-function wpinv_checkout_cart( $cart_details = array(), $echo = true ) {
1456
+function wpinv_checkout_cart($cart_details = array(), $echo = true) {
1457 1457
     global $ajax_cart_details;
1458 1458
     $ajax_cart_details = $cart_details;
1459 1459
 
1460 1460
     ob_start();
1461
-    do_action( 'wpinv_before_checkout_cart' );
1461
+    do_action('wpinv_before_checkout_cart');
1462 1462
     echo '<div id="wpinv_checkout_cart_form" method="post">';
1463 1463
         echo '<div id="wpinv_checkout_cart_wrap">';
1464
-            wpinv_get_template_part( 'wpinv-checkout-cart' );
1464
+            wpinv_get_template_part('wpinv-checkout-cart');
1465 1465
         echo '</div>';
1466 1466
     echo '</div>';
1467
-    do_action( 'wpinv_after_checkout_cart' );
1467
+    do_action('wpinv_after_checkout_cart');
1468 1468
     $content = ob_get_clean();
1469 1469
     
1470
-    if ( $echo ) {
1470
+    if ($echo) {
1471 1471
         echo $content;
1472 1472
     } else {
1473 1473
         return $content;
1474 1474
     }
1475 1475
 }
1476
-add_action( 'wpinv_checkout_cart', 'wpinv_checkout_cart', 10 );
1476
+add_action('wpinv_checkout_cart', 'wpinv_checkout_cart', 10);
1477 1477
 
1478 1478
 function wpinv_empty_cart_message() {
1479
-	return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1479
+	return apply_filters('wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __('Your cart is empty.', 'invoicing') . '</span>');
1480 1480
 }
1481 1481
 
1482 1482
 /**
@@ -1488,83 +1488,83 @@  discard block
 block discarded – undo
1488 1488
 function wpinv_empty_checkout_cart() {
1489 1489
 	echo wpinv_empty_cart_message();
1490 1490
 }
1491
-add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' );
1491
+add_action('wpinv_cart_empty', 'wpinv_empty_checkout_cart');
1492 1492
 
1493 1493
 function wpinv_update_cart_button() {
1494
-    if ( !wpinv_item_quantities_enabled() )
1494
+    if (!wpinv_item_quantities_enabled())
1495 1495
         return;
1496 1496
 ?>
1497
-    <input type="submit" name="wpinv_update_cart_submit" class="wpinv-submit wpinv-no-js button" value="<?php _e( 'Update Cart', 'invoicing' ); ?>"/>
1497
+    <input type="submit" name="wpinv_update_cart_submit" class="wpinv-submit wpinv-no-js button" value="<?php _e('Update Cart', 'invoicing'); ?>"/>
1498 1498
     <input type="hidden" name="wpi_action" value="update_cart"/>
1499 1499
 <?php
1500 1500
 }
1501 1501
 
1502 1502
 function wpinv_checkout_cart_columns() {
1503 1503
     $default = 3;
1504
-    if ( wpinv_item_quantities_enabled() ) {
1504
+    if (wpinv_item_quantities_enabled()) {
1505 1505
         $default++;
1506 1506
     }
1507 1507
     
1508
-    if ( wpinv_use_taxes() ) {
1508
+    if (wpinv_use_taxes()) {
1509 1509
         $default++;
1510 1510
     }
1511 1511
 
1512
-    return apply_filters( 'wpinv_checkout_cart_columns', $default );
1512
+    return apply_filters('wpinv_checkout_cart_columns', $default);
1513 1513
 }
1514 1514
 
1515 1515
 function wpinv_display_cart_messages() {
1516 1516
     global $wpi_session;
1517 1517
 
1518
-    $messages = $wpi_session->get( 'wpinv_cart_messages' );
1518
+    $messages = $wpi_session->get('wpinv_cart_messages');
1519 1519
 
1520
-    if ( $messages ) {
1521
-        foreach ( $messages as $message_id => $message ) {
1520
+    if ($messages) {
1521
+        foreach ($messages as $message_id => $message) {
1522 1522
             // Try and detect what type of message this is
1523
-            if ( strpos( strtolower( $message ), 'error' ) ) {
1523
+            if (strpos(strtolower($message), 'error')) {
1524 1524
                 $type = 'error';
1525
-            } elseif ( strpos( strtolower( $message ), 'success' ) ) {
1525
+            } elseif (strpos(strtolower($message), 'success')) {
1526 1526
                 $type = 'success';
1527 1527
             } else {
1528 1528
                 $type = 'info';
1529 1529
             }
1530 1530
 
1531
-            $classes = apply_filters( 'wpinv_' . $type . '_class', array( 'wpinv_errors', 'wpinv-alert', 'wpinv-alert-' . $type ) );
1531
+            $classes = apply_filters('wpinv_' . $type . '_class', array('wpinv_errors', 'wpinv-alert', 'wpinv-alert-' . $type));
1532 1532
 
1533
-            echo '<div class="' . implode( ' ', $classes ) . '">';
1533
+            echo '<div class="' . implode(' ', $classes) . '">';
1534 1534
                 // Loop message codes and display messages
1535 1535
                     echo '<p class="wpinv_error" id="wpinv_msg_' . $message_id . '">' . $message . '</p>';
1536 1536
             echo '</div>';
1537 1537
         }
1538 1538
 
1539 1539
         // Remove all of the cart saving messages
1540
-        $wpi_session->set( 'wpinv_cart_messages', null );
1540
+        $wpi_session->set('wpinv_cart_messages', null);
1541 1541
     }
1542 1542
 }
1543
-add_action( 'wpinv_before_checkout_cart', 'wpinv_display_cart_messages' );
1543
+add_action('wpinv_before_checkout_cart', 'wpinv_display_cart_messages');
1544 1544
 
1545 1545
 function wpinv_discount_field() {
1546
-    if ( isset( $_GET['wpi-gateway'] ) && wpinv_is_ajax_disabled() ) {
1546
+    if (isset($_GET['wpi-gateway']) && wpinv_is_ajax_disabled()) {
1547 1547
         return; // Only show before a payment method has been selected if ajax is disabled
1548 1548
     }
1549 1549
 
1550
-    if ( !wpinv_is_checkout() ) {
1550
+    if (!wpinv_is_checkout()) {
1551 1551
         return;
1552 1552
     }
1553 1553
 
1554
-    if ( wpinv_has_active_discounts() && wpinv_get_cart_total() ) {
1554
+    if (wpinv_has_active_discounts() && wpinv_get_cart_total()) {
1555 1555
     ?>
1556 1556
     <div id="wpinv-discount-field" class="panel panel-default">
1557 1557
         <div class="panel-body">
1558 1558
             <p>
1559
-                <label class="wpinv-label" for="wpinv_discount_code"><strong><?php _e( 'Discount', 'invoicing' ); ?></strong></label>
1560
-                <span class="wpinv-description"><?php _e( 'Enter a discount code if you have one.', 'invoicing' ); ?></span>
1559
+                <label class="wpinv-label" for="wpinv_discount_code"><strong><?php _e('Discount', 'invoicing'); ?></strong></label>
1560
+                <span class="wpinv-description"><?php _e('Enter a discount code if you have one.', 'invoicing'); ?></span>
1561 1561
             </p>
1562 1562
             <div class="form-group row">
1563 1563
                 <div class="col-sm-4">
1564
-                    <input class="wpinv-input form-control" type="text" id="wpinv_discount_code" name="wpinv_discount_code" placeholder="<?php _e( 'Enter discount code', 'invoicing' ); ?>"/>
1564
+                    <input class="wpinv-input form-control" type="text" id="wpinv_discount_code" name="wpinv_discount_code" placeholder="<?php _e('Enter discount code', 'invoicing'); ?>"/>
1565 1565
                 </div>
1566 1566
                 <div class="col-sm-3">
1567
-                    <button id="wpi-apply-discount" type="button" class="btn btn-success btn-sm"><?php _e( 'Apply Discount', 'invoicing' ); ?></button>
1567
+                    <button id="wpi-apply-discount" type="button" class="btn btn-success btn-sm"><?php _e('Apply Discount', 'invoicing'); ?></button>
1568 1568
                 </div>
1569 1569
                 <div style="clear:both"></div>
1570 1570
                 <div class="col-sm-12 wpinv-discount-msg">
@@ -1577,10 +1577,10 @@  discard block
 block discarded – undo
1577 1577
 <?php
1578 1578
     }
1579 1579
 }
1580
-add_action( 'wpinv_after_checkout_cart', 'wpinv_discount_field', -10 );
1580
+add_action('wpinv_after_checkout_cart', 'wpinv_discount_field', -10);
1581 1581
 
1582 1582
 function wpinv_agree_to_terms_js() {
1583
-    if ( wpinv_get_option( 'show_agree_to_terms', false ) ) {
1583
+    if (wpinv_get_option('show_agree_to_terms', false)) {
1584 1584
 ?>
1585 1585
 <script type="text/javascript">
1586 1586
     jQuery(document).ready(function($){
@@ -1595,125 +1595,125 @@  discard block
 block discarded – undo
1595 1595
 <?php
1596 1596
     }
1597 1597
 }
1598
-add_action( 'wpinv_checkout_form_top', 'wpinv_agree_to_terms_js' );
1598
+add_action('wpinv_checkout_form_top', 'wpinv_agree_to_terms_js');
1599 1599
 
1600 1600
 function wpinv_payment_mode_select() {
1601
-    $gateways = wpinv_get_enabled_payment_gateways( true );
1602
-    $gateways = apply_filters( 'wpinv_payment_gateways_on_cart', $gateways );
1603
-    $invoice = wpinv_get_invoice( 0, true );
1601
+    $gateways = wpinv_get_enabled_payment_gateways(true);
1602
+    $gateways = apply_filters('wpinv_payment_gateways_on_cart', $gateways);
1603
+    $invoice = wpinv_get_invoice(0, true);
1604 1604
 
1605 1605
     do_action('wpinv_payment_mode_top');
1606
-    $invoice_id = (int)$invoice->ID;
1607
-    $chosen_gateway = wpinv_get_chosen_gateway( $invoice_id );
1606
+    $invoice_id = (int) $invoice->ID;
1607
+    $chosen_gateway = wpinv_get_chosen_gateway($invoice_id);
1608 1608
     ?>
1609
-    <div id="wpinv_payment_mode_select" data-gateway="<?php echo $chosen_gateway; ?>" <?php echo ( $invoice->is_free() ? 'style="display:none;" data-free="1"' : '' ); ?>>
1610
-            <?php do_action( 'wpinv_payment_mode_before_gateways_wrap' ); ?>
1609
+    <div id="wpinv_payment_mode_select" data-gateway="<?php echo $chosen_gateway; ?>" <?php echo ($invoice->is_free() ? 'style="display:none;" data-free="1"' : ''); ?>>
1610
+            <?php do_action('wpinv_payment_mode_before_gateways_wrap'); ?>
1611 1611
             <div id="wpinv-payment-mode-wrap" class="panel panel-default">
1612
-                <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Select Payment Method', 'invoicing' ); ?></h3></div>
1612
+                <div class="panel-heading"><h3 class="panel-title"><?php _e('Select Payment Method', 'invoicing'); ?></h3></div>
1613 1613
                 <div class="panel-body list-group wpi-payment_methods">
1614 1614
                     <?php
1615
-                    do_action( 'wpinv_payment_mode_before_gateways' );
1616
-
1617
-                    if ( !empty( $gateways ) ) {
1618
-                        foreach ( $gateways as $gateway_id => $gateway ) {
1619
-                            $checked       = checked( $gateway_id, $chosen_gateway, false );
1620
-                            $button_label  = wpinv_get_gateway_button_label( $gateway_id );
1621
-                            $gateway_label = wpinv_get_gateway_checkout_label( $gateway_id );
1622
-                            $description   = wpinv_get_gateway_description( $gateway_id );
1615
+                    do_action('wpinv_payment_mode_before_gateways');
1616
+
1617
+                    if (!empty($gateways)) {
1618
+                        foreach ($gateways as $gateway_id => $gateway) {
1619
+                            $checked       = checked($gateway_id, $chosen_gateway, false);
1620
+                            $button_label  = wpinv_get_gateway_button_label($gateway_id);
1621
+                            $gateway_label = wpinv_get_gateway_checkout_label($gateway_id);
1622
+                            $description   = wpinv_get_gateway_description($gateway_id);
1623 1623
                             ?>
1624 1624
                             <div class="list-group-item">
1625 1625
                                 <div class="radio">
1626
-                                    <label><input type="radio" data-button-text="<?php echo esc_attr( $button_label );?>" value="<?php echo esc_attr( $gateway_id ) ;?>" <?php echo $checked ;?> id="wpi_gateway_<?php echo esc_attr( $gateway_id );?>" name="wpi-gateway" class="wpi-pmethod"><?php echo esc_html( $gateway_label ); ?></label>
1626
+                                    <label><input type="radio" data-button-text="<?php echo esc_attr($button_label); ?>" value="<?php echo esc_attr($gateway_id); ?>" <?php echo $checked; ?> id="wpi_gateway_<?php echo esc_attr($gateway_id); ?>" name="wpi-gateway" class="wpi-pmethod"><?php echo esc_html($gateway_label); ?></label>
1627 1627
                                 </div>
1628
-                                <div style="display:none;" class="payment_box wpi_gateway_<?php echo esc_attr( $gateway_id );?>" role="alert">
1629
-                                    <?php if ( !empty( $description ) ) { ?>
1630
-                                        <div class="wpi-gateway-desc alert alert-info"><?php _e( $description, 'invoicing' ); ?></div>
1628
+                                <div style="display:none;" class="payment_box wpi_gateway_<?php echo esc_attr($gateway_id); ?>" role="alert">
1629
+                                    <?php if (!empty($description)) { ?>
1630
+                                        <div class="wpi-gateway-desc alert alert-info"><?php _e($description, 'invoicing'); ?></div>
1631 1631
                                     <?php } ?>
1632
-                                    <?php do_action( 'wpinv_' . $gateway_id . '_cc_form', $invoice_id ) ;?>
1632
+                                    <?php do_action('wpinv_' . $gateway_id . '_cc_form', $invoice_id); ?>
1633 1633
                                 </div>
1634 1634
                             </div>
1635 1635
                             <?php
1636 1636
                         }
1637 1637
                     } else {
1638
-                        echo '<div class="alert alert-warning">'. __( 'No payment gateway active', 'invoicing' ) .'</div>';
1638
+                        echo '<div class="alert alert-warning">' . __('No payment gateway active', 'invoicing') . '</div>';
1639 1639
                     }
1640 1640
 
1641
-                    do_action( 'wpinv_payment_mode_after_gateways' );
1641
+                    do_action('wpinv_payment_mode_after_gateways');
1642 1642
                     ?>
1643 1643
                 </div>
1644 1644
             </div>
1645
-            <?php do_action( 'wpinv_payment_mode_after_gateways_wrap' ); ?>
1645
+            <?php do_action('wpinv_payment_mode_after_gateways_wrap'); ?>
1646 1646
     </div>
1647 1647
     <?php
1648 1648
     do_action('wpinv_payment_mode_bottom');
1649 1649
 }
1650
-add_action( 'wpinv_payment_mode_select', 'wpinv_payment_mode_select' );
1650
+add_action('wpinv_payment_mode_select', 'wpinv_payment_mode_select');
1651 1651
 
1652 1652
 function wpinv_checkout_billing_info() {
1653
-    if ( wpinv_is_checkout() ) {
1653
+    if (wpinv_is_checkout()) {
1654 1654
         $billing_details    = wpinv_checkout_billing_details();
1655
-        $selected_country   = !empty( $billing_details['country'] ) ? $billing_details['country'] : wpinv_default_billing_country();
1655
+        $selected_country   = !empty($billing_details['country']) ? $billing_details['country'] : wpinv_default_billing_country();
1656 1656
         ?>
1657 1657
         <div id="wpinv-fields" class="clearfix">
1658 1658
             <div id="wpi-billing" class="wpi-billing clearfix panel panel-default">
1659
-                <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Billing Details', 'invoicing' );?></h3></div>
1659
+                <div class="panel-heading"><h3 class="panel-title"><?php _e('Billing Details', 'invoicing'); ?></h3></div>
1660 1660
                 <div id="wpinv-fields-box" class="panel-body">
1661
-                    <?php do_action( 'wpinv_checkout_billing_fields_first', $billing_details ); ?>
1661
+                    <?php do_action('wpinv_checkout_billing_fields_first', $billing_details); ?>
1662 1662
                     <p class="wpi-cart-field wpi-col2 wpi-colf">
1663
-                        <label for="wpinv_first_name" class="wpi-label"><?php _e( 'First Name', 'invoicing' );?><?php if ( wpinv_get_option( 'fname_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1663
+                        <label for="wpinv_first_name" class="wpi-label"><?php _e('First Name', 'invoicing'); ?><?php if (wpinv_get_option('fname_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1664 1664
                         <?php
1665
-                        echo wpinv_html_text( array(
1665
+                        echo wpinv_html_text(array(
1666 1666
                                 'id'            => 'wpinv_first_name',
1667 1667
                                 'name'          => 'wpinv_first_name',
1668 1668
                                 'value'         => $billing_details['first_name'],
1669 1669
                                 'class'         => 'wpi-input form-control',
1670
-                                'placeholder'   => __( 'First name', 'invoicing' ),
1671
-                                'required'      => (bool)wpinv_get_option( 'fname_mandatory' ),
1672
-                            ) );
1670
+                                'placeholder'   => __('First name', 'invoicing'),
1671
+                                'required'      => (bool) wpinv_get_option('fname_mandatory'),
1672
+                            ));
1673 1673
                         ?>
1674 1674
                     </p>
1675 1675
                     <p class="wpi-cart-field wpi-col2 wpi-coll">
1676
-                        <label for="wpinv_last_name" class="wpi-label"><?php _e( 'Last Name', 'invoicing' );?><?php if ( wpinv_get_option( 'lname_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1676
+                        <label for="wpinv_last_name" class="wpi-label"><?php _e('Last Name', 'invoicing'); ?><?php if (wpinv_get_option('lname_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1677 1677
                         <?php
1678
-                        echo wpinv_html_text( array(
1678
+                        echo wpinv_html_text(array(
1679 1679
                                 'id'            => 'wpinv_last_name',
1680 1680
                                 'name'          => 'wpinv_last_name',
1681 1681
                                 'value'         => $billing_details['last_name'],
1682 1682
                                 'class'         => 'wpi-input form-control',
1683
-                                'placeholder'   => __( 'Last name', 'invoicing' ),
1684
-                                'required'      => (bool)wpinv_get_option( 'lname_mandatory' ),
1685
-                            ) );
1683
+                                'placeholder'   => __('Last name', 'invoicing'),
1684
+                                'required'      => (bool) wpinv_get_option('lname_mandatory'),
1685
+                            ));
1686 1686
                         ?>
1687 1687
                     </p>
1688 1688
                     <p class="wpi-cart-field wpi-col2 wpi-colf">
1689
-                        <label for="wpinv_address" class="wpi-label"><?php _e( 'Address', 'invoicing' );?><?php if ( wpinv_get_option( 'address_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1689
+                        <label for="wpinv_address" class="wpi-label"><?php _e('Address', 'invoicing'); ?><?php if (wpinv_get_option('address_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1690 1690
                         <?php
1691
-                        echo wpinv_html_text( array(
1691
+                        echo wpinv_html_text(array(
1692 1692
                                 'id'            => 'wpinv_address',
1693 1693
                                 'name'          => 'wpinv_address',
1694 1694
                                 'value'         => $billing_details['address'],
1695 1695
                                 'class'         => 'wpi-input form-control',
1696
-                                'placeholder'   => __( 'Address', 'invoicing' ),
1697
-                                'required'      => (bool)wpinv_get_option( 'address_mandatory' ),
1698
-                            ) );
1696
+                                'placeholder'   => __('Address', 'invoicing'),
1697
+                                'required'      => (bool) wpinv_get_option('address_mandatory'),
1698
+                            ));
1699 1699
                         ?>
1700 1700
                     </p>
1701 1701
                     <p class="wpi-cart-field wpi-col2 wpi-coll">
1702
-                        <label for="wpinv_city" class="wpi-label"><?php _e( 'City', 'invoicing' );?><?php if ( wpinv_get_option( 'city_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1702
+                        <label for="wpinv_city" class="wpi-label"><?php _e('City', 'invoicing'); ?><?php if (wpinv_get_option('city_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1703 1703
                         <?php
1704
-                        echo wpinv_html_text( array(
1704
+                        echo wpinv_html_text(array(
1705 1705
                                 'id'            => 'wpinv_city',
1706 1706
                                 'name'          => 'wpinv_city',
1707 1707
                                 'value'         => $billing_details['city'],
1708 1708
                                 'class'         => 'wpi-input form-control',
1709
-                                'placeholder'   => __( 'City', 'invoicing' ),
1710
-                                'required'      => (bool)wpinv_get_option( 'city_mandatory' ),
1711
-                            ) );
1709
+                                'placeholder'   => __('City', 'invoicing'),
1710
+                                'required'      => (bool) wpinv_get_option('city_mandatory'),
1711
+                            ));
1712 1712
                         ?>
1713 1713
                     </p>
1714 1714
                     <p id="wpinv_country_box" class="wpi-cart-field wpi-col2 wpi-colf">
1715
-                        <label for="wpinv_country" class="wpi-label"><?php _e( 'Country', 'invoicing' );?><?php if ( wpinv_get_option( 'country_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1716
-                        <?php echo wpinv_html_select( array(
1715
+                        <label for="wpinv_country" class="wpi-label"><?php _e('Country', 'invoicing'); ?><?php if (wpinv_get_option('country_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1716
+                        <?php echo wpinv_html_select(array(
1717 1717
                             'options'          => wpinv_get_country_list(),
1718 1718
                             'name'             => 'wpinv_country',
1719 1719
                             'id'               => 'wpinv_country',
@@ -1721,16 +1721,16 @@  discard block
 block discarded – undo
1721 1721
                             'show_option_all'  => false,
1722 1722
                             'show_option_none' => false,
1723 1723
                             'class'            => 'wpi-input form-control wpi_select2',
1724
-                            'placeholder'      => __( 'Choose a country', 'invoicing' ),
1725
-                            'required'         => (bool)wpinv_get_option( 'country_mandatory' ),
1726
-                        ) ); ?>
1724
+                            'placeholder'      => __('Choose a country', 'invoicing'),
1725
+                            'required'         => (bool) wpinv_get_option('country_mandatory'),
1726
+                        )); ?>
1727 1727
                     </p>
1728 1728
                     <p id="wpinv_state_box" class="wpi-cart-field wpi-col2 wpi-coll">
1729
-                        <label for="wpinv_state" class="wpi-label"><?php _e( 'State / Province', 'invoicing' );?><?php if ( wpinv_get_option( 'state_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1729
+                        <label for="wpinv_state" class="wpi-label"><?php _e('State / Province', 'invoicing'); ?><?php if (wpinv_get_option('state_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1730 1730
                         <?php
1731
-                        $states = wpinv_get_country_states( $selected_country );
1732
-                        if( !empty( $states ) ) {
1733
-                            echo wpinv_html_select( array(
1731
+                        $states = wpinv_get_country_states($selected_country);
1732
+                        if (!empty($states)) {
1733
+                            echo wpinv_html_select(array(
1734 1734
                                 'options'          => $states,
1735 1735
                                 'name'             => 'wpinv_state',
1736 1736
                                 'id'               => 'wpinv_state',
@@ -1738,61 +1738,61 @@  discard block
 block discarded – undo
1738 1738
                                 'show_option_all'  => false,
1739 1739
                                 'show_option_none' => false,
1740 1740
                                 'class'            => 'wpi-input form-control wpi_select2',
1741
-                                'placeholder'      => __( 'Choose a state', 'invoicing' ),
1742
-                                'required'         => (bool)wpinv_get_option( 'state_mandatory' ),
1743
-                            ) );
1741
+                                'placeholder'      => __('Choose a state', 'invoicing'),
1742
+                                'required'         => (bool) wpinv_get_option('state_mandatory'),
1743
+                            ));
1744 1744
                         } else {
1745
-                            echo wpinv_html_text( array(
1745
+                            echo wpinv_html_text(array(
1746 1746
                                 'name'          => 'wpinv_state',
1747 1747
                                 'value'         => $billing_details['state'],
1748 1748
                                 'id'            => 'wpinv_state',
1749 1749
                                 'class'         => 'wpi-input form-control',
1750
-                                'placeholder'   => __( 'State / Province', 'invoicing' ),
1751
-                                'required'      => (bool)wpinv_get_option( 'state_mandatory' ),
1752
-                            ) );
1750
+                                'placeholder'   => __('State / Province', 'invoicing'),
1751
+                                'required'      => (bool) wpinv_get_option('state_mandatory'),
1752
+                            ));
1753 1753
                         }
1754 1754
                         ?>
1755 1755
                     </p>
1756 1756
                     <p class="wpi-cart-field wpi-col2 wpi-colf">
1757
-                        <label for="wpinv_zip" class="wpi-label"><?php _e( 'ZIP / Postcode', 'invoicing' );?><?php if ( wpinv_get_option( 'zip_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1757
+                        <label for="wpinv_zip" class="wpi-label"><?php _e('ZIP / Postcode', 'invoicing'); ?><?php if (wpinv_get_option('zip_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1758 1758
                         <?php
1759
-                        echo wpinv_html_text( array(
1759
+                        echo wpinv_html_text(array(
1760 1760
                                 'name'          => 'wpinv_zip',
1761 1761
                                 'value'         => $billing_details['zip'],
1762 1762
                                 'id'            => 'wpinv_zip',
1763 1763
                                 'class'         => 'wpi-input form-control',
1764
-                                'placeholder'   => __( 'ZIP / Postcode', 'invoicing' ),
1765
-                                'required'      => (bool)wpinv_get_option( 'zip_mandatory' ),
1766
-                            ) );
1764
+                                'placeholder'   => __('ZIP / Postcode', 'invoicing'),
1765
+                                'required'      => (bool) wpinv_get_option('zip_mandatory'),
1766
+                            ));
1767 1767
                         ?>
1768 1768
                     </p>
1769 1769
                     <p class="wpi-cart-field wpi-col2 wpi-coll">
1770
-                        <label for="wpinv_phone" class="wpi-label"><?php _e( 'Phone', 'invoicing' );?><?php if ( wpinv_get_option( 'phone_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1770
+                        <label for="wpinv_phone" class="wpi-label"><?php _e('Phone', 'invoicing'); ?><?php if (wpinv_get_option('phone_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1771 1771
                         <?php
1772
-                        echo wpinv_html_text( array(
1772
+                        echo wpinv_html_text(array(
1773 1773
                                 'id'            => 'wpinv_phone',
1774 1774
                                 'name'          => 'wpinv_phone',
1775 1775
                                 'value'         => $billing_details['phone'],
1776 1776
                                 'class'         => 'wpi-input form-control',
1777
-                                'placeholder'   => __( 'Phone', 'invoicing' ),
1778
-                                'required'      => (bool)wpinv_get_option( 'phone_mandatory' ),
1779
-                            ) );
1777
+                                'placeholder'   => __('Phone', 'invoicing'),
1778
+                                'required'      => (bool) wpinv_get_option('phone_mandatory'),
1779
+                            ));
1780 1780
                         ?>
1781 1781
                     </p>
1782
-                    <?php do_action( 'wpinv_checkout_billing_fields_last', $billing_details ); ?>
1782
+                    <?php do_action('wpinv_checkout_billing_fields_last', $billing_details); ?>
1783 1783
                     <div class="clearfix"></div>
1784 1784
                 </div>
1785 1785
             </div>
1786
-            <?php do_action( 'wpinv_after_billing_fields', $billing_details ); ?>
1786
+            <?php do_action('wpinv_after_billing_fields', $billing_details); ?>
1787 1787
         </div>
1788 1788
         <?php
1789 1789
     }
1790 1790
 }
1791
-add_action( 'wpinv_checkout_billing_info', 'wpinv_checkout_billing_info' );
1791
+add_action('wpinv_checkout_billing_info', 'wpinv_checkout_billing_info');
1792 1792
 
1793 1793
 function wpinv_checkout_hidden_fields() {
1794 1794
 ?>
1795
-    <?php if ( is_user_logged_in() ) { ?>
1795
+    <?php if (is_user_logged_in()) { ?>
1796 1796
     <input type="hidden" name="wpinv_user_id" value="<?php echo get_current_user_id(); ?>"/>
1797 1797
     <?php } ?>
1798 1798
     <input type="hidden" name="wpi_action" value="payment" />
@@ -1802,9 +1802,9 @@  discard block
 block discarded – undo
1802 1802
 function wpinv_checkout_button_purchase() {
1803 1803
     ob_start();
1804 1804
 ?>
1805
-    <input type="submit" class="btn btn-success wpinv-submit" id="wpinv-payment-button" data-value="<?php esc_attr_e( 'Proceed to Pay', 'invoicing' ) ?>" name="wpinv_payment" value="<?php esc_attr_e( 'Proceed to Pay', 'invoicing' ) ?>"/>
1805
+    <input type="submit" class="btn btn-success wpinv-submit" id="wpinv-payment-button" data-value="<?php esc_attr_e('Proceed to Pay', 'invoicing') ?>" name="wpinv_payment" value="<?php esc_attr_e('Proceed to Pay', 'invoicing') ?>"/>
1806 1806
 <?php
1807
-    return apply_filters( 'wpinv_checkout_button_purchase', ob_get_clean() );
1807
+    return apply_filters('wpinv_checkout_button_purchase', ob_get_clean());
1808 1808
 }
1809 1809
 
1810 1810
 function wpinv_checkout_total() {
@@ -1813,84 +1813,84 @@  discard block
 block discarded – undo
1813 1813
 <div id="wpinv_checkout_total" class="panel panel-info">
1814 1814
     <div class="panel-body">
1815 1815
     <?php
1816
-    do_action( 'wpinv_purchase_form_before_checkout_total' );
1816
+    do_action('wpinv_purchase_form_before_checkout_total');
1817 1817
     ?>
1818
-    <strong><?php _e( 'Invoice Total:', 'invoicing' ) ?></strong> <span class="wpinv-chdeckout-total"><?php echo $cart_total;?></span>
1818
+    <strong><?php _e('Invoice Total:', 'invoicing') ?></strong> <span class="wpinv-chdeckout-total"><?php echo $cart_total; ?></span>
1819 1819
     <?php
1820
-    do_action( 'wpinv_purchase_form_after_checkout_total' );
1820
+    do_action('wpinv_purchase_form_after_checkout_total');
1821 1821
     ?>
1822 1822
     </div>
1823 1823
 </div>
1824 1824
 <?php
1825 1825
 }
1826
-add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_total', 9998 );
1826
+add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_total', 9998);
1827 1827
 
1828 1828
 function wpinv_checkout_accept_tandc() {
1829
-    $page = wpinv_get_option( 'tandc_page' );
1829
+    $page = wpinv_get_option('tandc_page');
1830 1830
     ?>
1831 1831
     <div id="wpinv_checkout_tandc" class="panel panel-success">
1832 1832
         <div class="panel-body">
1833 1833
             <?php echo wpinv_get_policy_text(); ?>
1834 1834
             <?php
1835
-            if(isset($page) && (int)$page > 0 && apply_filters( 'wpinv_checkout_show_terms', true )){
1836
-                $terms_link = esc_url( get_permalink( $page ) );
1835
+            if (isset($page) && (int) $page > 0 && apply_filters('wpinv_checkout_show_terms', true)) {
1836
+                $terms_link = esc_url(get_permalink($page));
1837 1837
                 ?>
1838 1838
                 <label class="">
1839
-                    <input type="checkbox" class="wpi-terms-checkbox" name="wpi_terms" id="wpi-terms" <?php checked( apply_filters( 'wpinv_terms_is_checked_default', isset( $_POST['wpi_terms'] ) ), true ); ?>> <span><?php printf( __( 'I&rsquo;ve read and accept the <a href="%s" target="_blank" class="wpi-terms-and-conditions-link">terms &amp; conditions</a>', 'invoicing' ), $terms_link ); ?></span> <span class="wpi-required">*</span>
1839
+                    <input type="checkbox" class="wpi-terms-checkbox" name="wpi_terms" id="wpi-terms" <?php checked(apply_filters('wpinv_terms_is_checked_default', isset($_POST['wpi_terms'])), true); ?>> <span><?php printf(__('I&rsquo;ve read and accept the <a href="%s" target="_blank" class="wpi-terms-and-conditions-link">terms &amp; conditions</a>', 'invoicing'), $terms_link); ?></span> <span class="wpi-required">*</span>
1840 1840
                 </label>
1841 1841
             <?php } ?>
1842 1842
         </div>
1843 1843
     </div>
1844 1844
     <?php
1845 1845
 }
1846
-add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_accept_tandc', 9995 );
1846
+add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_accept_tandc', 9995);
1847 1847
 
1848 1848
 function wpinv_checkout_submit() {
1849 1849
 ?>
1850 1850
 <div id="wpinv_purchase_submit" class="panel panel-success">
1851 1851
     <div class="panel-body text-center">
1852 1852
     <?php
1853
-    do_action( 'wpinv_purchase_form_before_submit' );
1853
+    do_action('wpinv_purchase_form_before_submit');
1854 1854
     wpinv_checkout_hidden_fields();
1855 1855
     echo wpinv_checkout_button_purchase();
1856
-    do_action( 'wpinv_purchase_form_after_submit' );
1856
+    do_action('wpinv_purchase_form_after_submit');
1857 1857
     ?>
1858 1858
     </div>
1859 1859
 </div>
1860 1860
 <?php
1861 1861
 }
1862
-add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_submit', 9999 );
1862
+add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_submit', 9999);
1863 1863
 
1864
-function wpinv_receipt_billing_address( $invoice_id = 0 ) {
1865
-    $invoice = wpinv_get_invoice( $invoice_id );
1864
+function wpinv_receipt_billing_address($invoice_id = 0) {
1865
+    $invoice = wpinv_get_invoice($invoice_id);
1866 1866
 
1867
-    if ( empty( $invoice ) ) {
1867
+    if (empty($invoice)) {
1868 1868
         return NULL;
1869 1869
     }
1870 1870
 
1871 1871
     $billing_details = $invoice->get_user_info();
1872
-    $address_row = wpinv_get_invoice_address_markup( $billing_details );
1872
+    $address_row = wpinv_get_invoice_address_markup($billing_details);
1873 1873
 
1874 1874
     ob_start();
1875 1875
     ?>
1876 1876
     <table class="table table-bordered table-sm wpi-billing-details">
1877 1877
         <tbody>
1878 1878
             <tr class="wpi-receipt-name">
1879
-                <th class="text-left"><?php _e( 'Name', 'invoicing' ); ?></th>
1880
-                <td><?php echo esc_html( trim( $billing_details['first_name'] . ' ' . $billing_details['last_name'] ) ) ;?></td>
1879
+                <th class="text-left"><?php _e('Name', 'invoicing'); ?></th>
1880
+                <td><?php echo esc_html(trim($billing_details['first_name'] . ' ' . $billing_details['last_name'])); ?></td>
1881 1881
             </tr>
1882 1882
             <tr class="wpi-receipt-email">
1883
-                <th class="text-left"><?php _e( 'Email', 'invoicing' ); ?></th>
1884
-                <td><?php echo $billing_details['email'] ;?></td>
1883
+                <th class="text-left"><?php _e('Email', 'invoicing'); ?></th>
1884
+                <td><?php echo $billing_details['email']; ?></td>
1885 1885
             </tr>
1886 1886
             <tr class="wpi-receipt-address">
1887
-                <th class="text-left"><?php _e( 'Address', 'invoicing' ); ?></th>
1888
-                <td><?php echo $address_row ;?></td>
1887
+                <th class="text-left"><?php _e('Address', 'invoicing'); ?></th>
1888
+                <td><?php echo $address_row; ?></td>
1889 1889
             </tr>
1890
-            <?php if ( $billing_details['phone'] ) { ?>
1890
+            <?php if ($billing_details['phone']) { ?>
1891 1891
             <tr class="wpi-receipt-phone">
1892
-                <th class="text-left"><?php _e( 'Phone', 'invoicing' ); ?></th>
1893
-                <td><?php echo esc_html( $billing_details['phone'] ) ;?></td>
1892
+                <th class="text-left"><?php _e('Phone', 'invoicing'); ?></th>
1893
+                <td><?php echo esc_html($billing_details['phone']); ?></td>
1894 1894
             </tr>
1895 1895
             <?php } ?>
1896 1896
         </tbody>
@@ -1898,74 +1898,74 @@  discard block
 block discarded – undo
1898 1898
     <?php
1899 1899
     $output = ob_get_clean();
1900 1900
     
1901
-    $output = apply_filters( 'wpinv_receipt_billing_address', $output, $invoice_id );
1901
+    $output = apply_filters('wpinv_receipt_billing_address', $output, $invoice_id);
1902 1902
 
1903 1903
     echo $output;
1904 1904
 }
1905 1905
 
1906
-function wpinv_filter_success_page_content( $content ) {
1907
-    if ( isset( $_GET['payment-confirm'] ) && wpinv_is_success_page() ) {
1908
-        if ( has_filter( 'wpinv_payment_confirm_' . sanitize_text_field( $_GET['payment-confirm'] ) ) ) {
1909
-            $content = apply_filters( 'wpinv_payment_confirm_' . sanitize_text_field( $_GET['payment-confirm'] ), $content );
1906
+function wpinv_filter_success_page_content($content) {
1907
+    if (isset($_GET['payment-confirm']) && wpinv_is_success_page()) {
1908
+        if (has_filter('wpinv_payment_confirm_' . sanitize_text_field($_GET['payment-confirm']))) {
1909
+            $content = apply_filters('wpinv_payment_confirm_' . sanitize_text_field($_GET['payment-confirm']), $content);
1910 1910
         }
1911 1911
     }
1912 1912
 
1913 1913
     return $content;
1914 1914
 }
1915
-add_filter( 'the_content', 'wpinv_filter_success_page_content', 99999 );
1915
+add_filter('the_content', 'wpinv_filter_success_page_content', 99999);
1916 1916
 
1917
-function wpinv_receipt_actions( $invoice ) {
1918
-    if ( !empty( $invoice ) ) {
1917
+function wpinv_receipt_actions($invoice) {
1918
+    if (!empty($invoice)) {
1919 1919
         $actions = array();
1920 1920
 
1921
-        if ( wpinv_user_can_view_invoice( $invoice->ID ) ) {
1922
-            $actions['print']   = array(
1923
-                'url'  => $invoice->get_view_url( true ),
1924
-                'name' => __( 'Print Invoice', 'invoicing' ),
1921
+        if (wpinv_user_can_view_invoice($invoice->ID)) {
1922
+            $actions['print'] = array(
1923
+                'url'  => $invoice->get_view_url(true),
1924
+                'name' => __('Print Invoice', 'invoicing'),
1925 1925
                 'class' => 'btn-primary',
1926 1926
             );
1927 1927
         }
1928 1928
 
1929
-        if ( is_user_logged_in() ) {
1929
+        if (is_user_logged_in()) {
1930 1930
             $actions['history'] = array(
1931 1931
                 'url'  => wpinv_get_history_page_uri(),
1932
-                'name' => __( 'Invoice History', 'invoicing' ),
1932
+                'name' => __('Invoice History', 'invoicing'),
1933 1933
                 'class' => 'btn-warning',
1934 1934
             );
1935 1935
         }
1936 1936
 
1937
-        $actions = apply_filters( 'wpinv_invoice_receipt_actions', $actions, $invoice );
1937
+        $actions = apply_filters('wpinv_invoice_receipt_actions', $actions, $invoice);
1938 1938
 
1939
-        if ( !empty( $actions ) ) {
1939
+        if (!empty($actions)) {
1940 1940
         ?>
1941 1941
         <div class="wpinv-receipt-actions text-right">
1942
-            <?php foreach ( $actions as $key => $action ) { $class = !empty($action['class']) ? sanitize_html_class( $action['class'] ) : ''; ?>
1943
-            <a href="<?php echo esc_url( $action['url'] );?>" class="btn btn-sm <?php echo $class . ' ' . sanitize_html_class( $key );?>" <?php echo ( !empty($action['attrs']) ? $action['attrs'] : '' ) ;?>><?php echo esc_html( $action['name'] );?></a>
1942
+            <?php foreach ($actions as $key => $action) { $class = !empty($action['class']) ? sanitize_html_class($action['class']) : ''; ?>
1943
+            <a href="<?php echo esc_url($action['url']); ?>" class="btn btn-sm <?php echo $class . ' ' . sanitize_html_class($key); ?>" <?php echo (!empty($action['attrs']) ? $action['attrs'] : ''); ?>><?php echo esc_html($action['name']); ?></a>
1944 1944
             <?php } ?>
1945 1945
         </div>
1946 1946
         <?php
1947 1947
         }
1948 1948
     }
1949 1949
 }
1950
-add_action( 'wpinv_receipt_start', 'wpinv_receipt_actions', -10, 1 );
1950
+add_action('wpinv_receipt_start', 'wpinv_receipt_actions', -10, 1);
1951 1951
 
1952
-function wpinv_invoice_link( $invoice_id ) {
1953
-    $invoice = wpinv_get_invoice( $invoice_id );
1952
+function wpinv_invoice_link($invoice_id) {
1953
+    $invoice = wpinv_get_invoice($invoice_id);
1954 1954
 
1955
-    if ( empty( $invoice ) ) {
1955
+    if (empty($invoice)) {
1956 1956
         return NULL;
1957 1957
     }
1958 1958
 
1959
-    $invoice_link = '<a href="' . esc_url( $invoice->get_view_url() ) . '">' . $invoice->get_number() . '</a>';
1959
+    $invoice_link = '<a href="' . esc_url($invoice->get_view_url()) . '">' . $invoice->get_number() . '</a>';
1960 1960
 
1961
-    return apply_filters( 'wpinv_get_invoice_link', $invoice_link, $invoice );
1961
+    return apply_filters('wpinv_get_invoice_link', $invoice_link, $invoice);
1962 1962
 }
1963 1963
 
1964
-function wpinv_invoice_subscription_details( $invoice ) {
1965
-    if ( !empty( $invoice ) && $invoice->is_recurring() && ! wpinv_is_subscription_payment( $invoice ) ) {
1966
-        $subscription = wpinv_get_subscription( $invoice, true );
1964
+function wpinv_invoice_subscription_details($invoice) {
1965
+    if (!empty($invoice) && $invoice->is_recurring() && !wpinv_is_subscription_payment($invoice)) {
1966
+        $subscription = wpinv_get_subscription($invoice, true);
1967 1967
 
1968
-        if ( empty( $subscription ) ) {
1968
+        if (empty($subscription)) {
1969 1969
             return;
1970 1970
         }
1971 1971
 
@@ -1976,15 +1976,15 @@  discard block
 block discarded – undo
1976 1976
         $payments = $subscription->get_child_payments();
1977 1977
         ?>
1978 1978
         <div class="wpinv-subscriptions-details">
1979
-            <h3 class="wpinv-subscriptions-t"><?php echo apply_filters( 'wpinv_subscription_details_title', __( 'Subscription Details', 'invoicing' ) ); ?></h3>
1979
+            <h3 class="wpinv-subscriptions-t"><?php echo apply_filters('wpinv_subscription_details_title', __('Subscription Details', 'invoicing')); ?></h3>
1980 1980
             <table class="table">
1981 1981
                 <thead>
1982 1982
                     <tr>
1983
-                        <th><?php _e( 'Billing Cycle', 'invoicing' ) ;?></th>
1984
-                        <th><?php _e( 'Start Date', 'invoicing' ) ;?></th>
1985
-                        <th><?php _e( 'Expiration Date', 'invoicing' ) ;?></th>
1986
-                        <th class="text-center"><?php _e( 'Times Billed', 'invoicing' ) ;?></th>
1987
-                        <th class="text-center"><?php _e( 'Status', 'invoicing' ) ;?></th>
1983
+                        <th><?php _e('Billing Cycle', 'invoicing'); ?></th>
1984
+                        <th><?php _e('Start Date', 'invoicing'); ?></th>
1985
+                        <th><?php _e('Expiration Date', 'invoicing'); ?></th>
1986
+                        <th class="text-center"><?php _e('Times Billed', 'invoicing'); ?></th>
1987
+                        <th class="text-center"><?php _e('Status', 'invoicing'); ?></th>
1988 1988
                     </tr>
1989 1989
                 </thead>
1990 1990
                 <tbody>
@@ -1998,29 +1998,29 @@  discard block
 block discarded – undo
1998 1998
                 </tbody>
1999 1999
             </table>
2000 2000
         </div>
2001
-        <?php if ( !empty( $payments ) ) { ?>
2001
+        <?php if (!empty($payments)) { ?>
2002 2002
         <div class="wpinv-renewal-payments">
2003
-            <h3 class="wpinv-renewals-t"><?php echo apply_filters( 'wpinv_renewal_payments_title', __( 'Renewal Payments', 'invoicing' ) ); ?></h3>
2003
+            <h3 class="wpinv-renewals-t"><?php echo apply_filters('wpinv_renewal_payments_title', __('Renewal Payments', 'invoicing')); ?></h3>
2004 2004
             <table class="table">
2005 2005
                 <thead>
2006 2006
                     <tr>
2007 2007
                         <th>#</th>
2008
-                        <th><?php _e( 'Invoice', 'invoicing' ) ;?></th>
2009
-                        <th><?php _e( 'Date', 'invoicing' ) ;?></th>
2010
-                        <th class="text-right"><?php _e( 'Amount', 'invoicing' ) ;?></th>
2008
+                        <th><?php _e('Invoice', 'invoicing'); ?></th>
2009
+                        <th><?php _e('Date', 'invoicing'); ?></th>
2010
+                        <th class="text-right"><?php _e('Amount', 'invoicing'); ?></th>
2011 2011
                     </tr>
2012 2012
                 </thead>
2013 2013
                 <tbody>
2014 2014
                     <?php
2015 2015
                         $i = 1;
2016
-                        foreach ( $payments as $payment ) {
2016
+                        foreach ($payments as $payment) {
2017 2017
                             $invoice_id = $payment->ID;
2018 2018
                     ?>
2019 2019
                     <tr>
2020
-                        <th scope="row"><?php echo $i;?></th>
2021
-                        <td><?php echo wpinv_invoice_link( $invoice_id ) ;?></td>
2022
-                        <td><?php echo wpinv_get_invoice_date( $invoice_id ); ?></td>
2023
-                        <td class="text-right"><?php echo wpinv_payment_total( $invoice_id, true ); ?></td>
2020
+                        <th scope="row"><?php echo $i; ?></th>
2021
+                        <td><?php echo wpinv_invoice_link($invoice_id); ?></td>
2022
+                        <td><?php echo wpinv_get_invoice_date($invoice_id); ?></td>
2023
+                        <td class="text-right"><?php echo wpinv_payment_total($invoice_id, true); ?></td>
2024 2024
                     </tr>
2025 2025
                     <?php $i++; } ?>
2026 2026
                 </tbody>
@@ -2031,52 +2031,52 @@  discard block
 block discarded – undo
2031 2031
     }
2032 2032
 }
2033 2033
 
2034
-function wpinv_cart_total_label( $label, $invoice ) {
2035
-    if ( empty( $invoice ) ) {
2034
+function wpinv_cart_total_label($label, $invoice) {
2035
+    if (empty($invoice)) {
2036 2036
         return $label;
2037 2037
     }
2038 2038
 
2039 2039
     $prefix_label = '';
2040
-    if ( $invoice->is_parent() && $item_id = $invoice->get_recurring() ) {
2041
-        $prefix_label   = '<span class="label label-primary label-recurring">' . __( 'Recurring Payment', 'invoicing' ) . '</span> ' . wpinv_subscription_payment_desc( $invoice );
2042
-    } else if ( $invoice->is_renewal() ) {
2043
-        $prefix_label   = '<span class="label label-primary label-renewal">' . __( 'Renewal Payment', 'invoicing' ) . '</span> ';        
2040
+    if ($invoice->is_parent() && $item_id = $invoice->get_recurring()) {
2041
+        $prefix_label   = '<span class="label label-primary label-recurring">' . __('Recurring Payment', 'invoicing') . '</span> ' . wpinv_subscription_payment_desc($invoice);
2042
+    } else if ($invoice->is_renewal()) {
2043
+        $prefix_label   = '<span class="label label-primary label-renewal">' . __('Renewal Payment', 'invoicing') . '</span> ';        
2044 2044
     }
2045 2045
 
2046
-    if ( $prefix_label != '' ) {
2047
-        $label  = '<span class="wpinv-cart-sub-desc">' . $prefix_label . '</span> ' . $label;
2046
+    if ($prefix_label != '') {
2047
+        $label = '<span class="wpinv-cart-sub-desc">' . $prefix_label . '</span> ' . $label;
2048 2048
     }
2049 2049
 
2050 2050
     return $label;
2051 2051
 }
2052
-add_filter( 'wpinv_cart_total_label', 'wpinv_cart_total_label', 10, 2 );
2053
-add_filter( 'wpinv_email_cart_total_label', 'wpinv_cart_total_label', 10, 2 );
2054
-add_filter( 'wpinv_print_cart_total_label', 'wpinv_cart_total_label', 10, 2 );
2052
+add_filter('wpinv_cart_total_label', 'wpinv_cart_total_label', 10, 2);
2053
+add_filter('wpinv_email_cart_total_label', 'wpinv_cart_total_label', 10, 2);
2054
+add_filter('wpinv_print_cart_total_label', 'wpinv_cart_total_label', 10, 2);
2055 2055
 
2056
-add_action( 'wpinv_invoice_print_middle', 'wpinv_invoice_subscription_details', 10, 1 );
2056
+add_action('wpinv_invoice_print_middle', 'wpinv_invoice_subscription_details', 10, 1);
2057 2057
 
2058
-function wpinv_invoice_print_description( $invoice ) {
2059
-    if ( empty( $invoice ) ) {
2058
+function wpinv_invoice_print_description($invoice) {
2059
+    if (empty($invoice)) {
2060 2060
         return NULL;
2061 2061
     }
2062
-    if ( $description = wpinv_get_invoice_description( $invoice->ID ) ) {
2062
+    if ($description = wpinv_get_invoice_description($invoice->ID)) {
2063 2063
         ?>
2064 2064
         <div class="row wpinv-lower">
2065 2065
             <div class="col-sm-12 wpinv-description">
2066
-                <?php echo wpautop( $description ); ?>
2066
+                <?php echo wpautop($description); ?>
2067 2067
             </div>
2068 2068
         </div>
2069 2069
         <?php
2070 2070
     }
2071 2071
 }
2072
-add_action( 'wpinv_invoice_print_middle', 'wpinv_invoice_print_description', 10.1, 1 );
2072
+add_action('wpinv_invoice_print_middle', 'wpinv_invoice_print_description', 10.1, 1);
2073 2073
 
2074
-function wpinv_invoice_print_payment_info( $invoice ) {
2075
-    if ( empty( $invoice ) ) {
2074
+function wpinv_invoice_print_payment_info($invoice) {
2075
+    if (empty($invoice)) {
2076 2076
         return NULL;
2077 2077
     }
2078 2078
 
2079
-    if ( $payments_info = wpinv_display_payments_info( $invoice->ID, false ) ) {
2079
+    if ($payments_info = wpinv_display_payments_info($invoice->ID, false)) {
2080 2080
         ?>
2081 2081
         <div class="row wpinv-payments">
2082 2082
             <div class="col-sm-12">
@@ -2088,43 +2088,43 @@  discard block
 block discarded – undo
2088 2088
 }
2089 2089
 // add_action( 'wpinv_invoice_print_after_line_items', 'wpinv_invoice_print_payment_info', 10, 1 );
2090 2090
 
2091
-function wpinv_get_invoice_note_line_item( $note, $echo = true ) {
2092
-    if ( empty( $note ) ) {
2091
+function wpinv_get_invoice_note_line_item($note, $echo = true) {
2092
+    if (empty($note)) {
2093 2093
         return NULL;
2094 2094
     }
2095 2095
 
2096
-    if ( is_int( $note ) ) {
2097
-        $note = get_comment( $note );
2096
+    if (is_int($note)) {
2097
+        $note = get_comment($note);
2098 2098
     }
2099 2099
 
2100
-    if ( !( is_object( $note ) && is_a( $note, 'WP_Comment' ) ) ) {
2100
+    if (!(is_object($note) && is_a($note, 'WP_Comment'))) {
2101 2101
         return NULL;
2102 2102
     }
2103 2103
 
2104
-    $note_classes   = array( 'note' );
2105
-    $note_classes[] = get_comment_meta( $note->comment_ID, '_wpi_customer_note', true ) ? 'customer-note' : '';
2104
+    $note_classes   = array('note');
2105
+    $note_classes[] = get_comment_meta($note->comment_ID, '_wpi_customer_note', true) ? 'customer-note' : '';
2106 2106
     $note_classes[] = $note->comment_author === 'System' ? 'system-note' : '';
2107
-    $note_classes   = apply_filters( 'wpinv_invoice_note_class', array_filter( $note_classes ), $note );
2108
-    $note_classes   = !empty( $note_classes ) ? implode( ' ', $note_classes ) : '';
2107
+    $note_classes   = apply_filters('wpinv_invoice_note_class', array_filter($note_classes), $note);
2108
+    $note_classes   = !empty($note_classes) ? implode(' ', $note_classes) : '';
2109 2109
 
2110 2110
     ob_start();
2111 2111
     ?>
2112
-    <li rel="<?php echo absint( $note->comment_ID ) ; ?>" class="<?php echo esc_attr( $note_classes ); ?>">
2112
+    <li rel="<?php echo absint($note->comment_ID); ?>" class="<?php echo esc_attr($note_classes); ?>">
2113 2113
         <div class="note_content">
2114
-            <?php echo wpautop( wptexturize( wp_kses_post( $note->comment_content ) ) ); ?>
2114
+            <?php echo wpautop(wptexturize(wp_kses_post($note->comment_content))); ?>
2115 2115
         </div>
2116 2116
         <p class="meta">
2117
-            <abbr class="exact-date" title="<?php echo $note->comment_date; ?>"><?php printf( __( '%1$s - %2$s at %3$s', 'invoicing' ), $note->comment_author, date_i18n( get_option( 'date_format' ), strtotime( $note->comment_date ) ), date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) ) ); ?></abbr>&nbsp;&nbsp;
2118
-            <?php if ( $note->comment_author !== 'System' || wpinv_current_user_can_manage_invoicing() ) { ?>
2119
-                <a href="#" class="delete_note"><?php _e( 'Delete note', 'invoicing' ); ?></a>
2117
+            <abbr class="exact-date" title="<?php echo $note->comment_date; ?>"><?php printf(__('%1$s - %2$s at %3$s', 'invoicing'), $note->comment_author, date_i18n(get_option('date_format'), strtotime($note->comment_date)), date_i18n(get_option('time_format'), strtotime($note->comment_date))); ?></abbr>&nbsp;&nbsp;
2118
+            <?php if ($note->comment_author !== 'System' || wpinv_current_user_can_manage_invoicing()) { ?>
2119
+                <a href="#" class="delete_note"><?php _e('Delete note', 'invoicing'); ?></a>
2120 2120
             <?php } ?>
2121 2121
         </p>
2122 2122
     </li>
2123 2123
     <?php
2124 2124
     $note_content = ob_get_clean();
2125
-    $note_content = apply_filters( 'wpinv_get_invoice_note_line_item', $note_content, $note, $echo );
2125
+    $note_content = apply_filters('wpinv_get_invoice_note_line_item', $note_content, $note, $echo);
2126 2126
 
2127
-    if ( $echo ) {
2127
+    if ($echo) {
2128 2128
         echo $note_content;
2129 2129
     } else {
2130 2130
         return $note_content;
@@ -2134,43 +2134,43 @@  discard block
 block discarded – undo
2134 2134
 function wpinv_invalid_invoice_content() {
2135 2135
     global $post;
2136 2136
 
2137
-    $invoice = wpinv_get_invoice( $post->ID );
2137
+    $invoice = wpinv_get_invoice($post->ID);
2138 2138
 
2139
-    $error = __( 'This invoice is only viewable by clicking on the invoice link that was sent to you via email.', 'invoicing' );
2140
-    if ( !empty( $invoice->ID ) && $invoice->has_status( array_keys( wpinv_get_invoice_statuses() ) ) ) {
2141
-        if ( is_user_logged_in() ) {
2142
-            if ( wpinv_require_login_to_checkout() ) {
2143
-                if ( isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2144
-                    $error = __( 'You are not allowed to view this invoice.', 'invoicing' );
2139
+    $error = __('This invoice is only viewable by clicking on the invoice link that was sent to you via email.', 'invoicing');
2140
+    if (!empty($invoice->ID) && $invoice->has_status(array_keys(wpinv_get_invoice_statuses()))) {
2141
+        if (is_user_logged_in()) {
2142
+            if (wpinv_require_login_to_checkout()) {
2143
+                if (isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
2144
+                    $error = __('You are not allowed to view this invoice.', 'invoicing');
2145 2145
                 }
2146 2146
             }
2147 2147
         } else {
2148
-            if ( wpinv_require_login_to_checkout() ) {
2149
-                if ( isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2150
-                    $error = __( 'You must be logged in to view this invoice.', 'invoicing' );
2148
+            if (wpinv_require_login_to_checkout()) {
2149
+                if (isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
2150
+                    $error = __('You must be logged in to view this invoice.', 'invoicing');
2151 2151
                 }
2152 2152
             }
2153 2153
         }
2154 2154
     } else {
2155
-        $error = __( 'This invoice is deleted or does not exist.', 'invoicing' );
2155
+        $error = __('This invoice is deleted or does not exist.', 'invoicing');
2156 2156
     }
2157 2157
     ?>
2158 2158
     <div class="row wpinv-row-invalid">
2159 2159
         <div class="col-md-6 col-md-offset-3 wpinv-message error">
2160
-            <h3><?php _e( 'Access Denied', 'invoicing' ); ?></h3>
2160
+            <h3><?php _e('Access Denied', 'invoicing'); ?></h3>
2161 2161
             <p class="wpinv-msg-text"><?php echo $error; ?></p>
2162 2162
         </div>
2163 2163
     </div>
2164 2164
     <?php
2165 2165
 }
2166
-add_action( 'wpinv_invalid_invoice_content', 'wpinv_invalid_invoice_content' );
2166
+add_action('wpinv_invalid_invoice_content', 'wpinv_invalid_invoice_content');
2167 2167
 
2168
-add_action( 'wpinv_checkout_billing_fields_last', 'wpinv_force_company_name_field');
2169
-function wpinv_force_company_name_field(){
2168
+add_action('wpinv_checkout_billing_fields_last', 'wpinv_force_company_name_field');
2169
+function wpinv_force_company_name_field() {
2170 2170
     $invoice = wpinv_get_invoice_cart();
2171
-    $user_id = wpinv_get_user_id( $invoice->ID );
2172
-    $company = empty( $user_id ) ? "" : get_user_meta( $user_id, '_wpinv_company', true );
2173
-    if ( 1 == wpinv_get_option( 'force_show_company' ) && !wpinv_use_taxes() ) {
2171
+    $user_id = wpinv_get_user_id($invoice->ID);
2172
+    $company = empty($user_id) ? "" : get_user_meta($user_id, '_wpinv_company', true);
2173
+    if (1 == wpinv_get_option('force_show_company') && !wpinv_use_taxes()) {
2174 2174
         ?>
2175 2175
         <p class="wpi-cart-field wpi-col2 wpi-colf">
2176 2176
             <label for="wpinv_company" class="wpi-label"><?php _e('Company Name', 'invoicing'); ?></label>
@@ -2195,21 +2195,21 @@  discard block
 block discarded – undo
2195 2195
  * @return string
2196 2196
  */
2197 2197
 function wpinv_get_policy_text() {
2198
-    $privacy_page_id = get_option( 'wp_page_for_privacy_policy', 0 );
2198
+    $privacy_page_id = get_option('wp_page_for_privacy_policy', 0);
2199 2199
 
2200
-    $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf( __( 'Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing' ), '[wpinv_privacy_policy]' ));
2200
+    $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf(__('Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing'), '[wpinv_privacy_policy]'));
2201 2201
 
2202
-    if(!$privacy_page_id){
2203
-        $privacy_page_id = wpinv_get_option( 'privacy_page', 0 );
2202
+    if (!$privacy_page_id) {
2203
+        $privacy_page_id = wpinv_get_option('privacy_page', 0);
2204 2204
     }
2205 2205
 
2206
-    $privacy_link    = $privacy_page_id ? '<a href="' . esc_url( get_permalink( $privacy_page_id ) ) . '" class="wpinv-privacy-policy-link" target="_blank">' . __( 'privacy policy', 'invoicing' ) . '</a>' : __( 'privacy policy', 'invoicing' );
2206
+    $privacy_link = $privacy_page_id ? '<a href="' . esc_url(get_permalink($privacy_page_id)) . '" class="wpinv-privacy-policy-link" target="_blank">' . __('privacy policy', 'invoicing') . '</a>' : __('privacy policy', 'invoicing');
2207 2207
 
2208 2208
     $find_replace = array(
2209 2209
         '[wpinv_privacy_policy]' => $privacy_link,
2210 2210
     );
2211 2211
 
2212
-    $privacy_text = str_replace( array_keys( $find_replace ), array_values( $find_replace ), $text );
2212
+    $privacy_text = str_replace(array_keys($find_replace), array_values($find_replace), $text);
2213 2213
 
2214 2214
     return wp_kses_post(wpautop($privacy_text));
2215 2215
 }
@@ -2218,25 +2218,25 @@  discard block
 block discarded – undo
2218 2218
 /**
2219 2219
  * Allows the user to set their own price for an invoice item
2220 2220
  */
2221
-function wpinv_checkout_cart_item_name_your_price( $cart_item, $key ) {
2221
+function wpinv_checkout_cart_item_name_your_price($cart_item, $key) {
2222 2222
     
2223 2223
     //Ensure we have an item id
2224
-    if(! is_array( $cart_item ) || empty( $cart_item['id'] ) ) {
2224
+    if (!is_array($cart_item) || empty($cart_item['id'])) {
2225 2225
         return;
2226 2226
     }
2227 2227
 
2228 2228
     //Fetch the item
2229 2229
     $item_id = $cart_item['id'];
2230
-    $item    = new WPInv_Item( $item_id );
2230
+    $item    = new WPInv_Item($item_id);
2231 2231
     
2232
-    if(! $item->supports_dynamic_pricing() || !$item->get_is_dynamic_pricing() ) {
2232
+    if (!$item->supports_dynamic_pricing() || !$item->get_is_dynamic_pricing()) {
2233 2233
         return;
2234 2234
     }
2235 2235
 
2236 2236
     //Fetch the dynamic pricing "strings"
2237
-    $suggested_price_text = esc_html( wpinv_get_option( 'suggested_price_text', __( 'Suggested Price:', 'invoicing' ) ) );
2238
-    $minimum_price_text   = esc_html( wpinv_get_option( 'minimum_price_text', __( 'Minimum Price:', 'invoicing' ) ) );
2239
-    $name_your_price_text = esc_html( wpinv_get_option( 'name_your_price_text', __( 'Name Your Price', 'invoicing' ) ) );
2237
+    $suggested_price_text = esc_html(wpinv_get_option('suggested_price_text', __('Suggested Price:', 'invoicing')));
2238
+    $minimum_price_text   = esc_html(wpinv_get_option('minimum_price_text', __('Minimum Price:', 'invoicing')));
2239
+    $name_your_price_text = esc_html(wpinv_get_option('name_your_price_text', __('Name Your Price', 'invoicing')));
2240 2240
 
2241 2241
     //Display a "name_your_price" button
2242 2242
     echo " &mdash; <a href='#' class='wpinv-name-your-price-frontend small'>$name_your_price_text</a></div>";
@@ -2245,7 +2245,7 @@  discard block
 block discarded – undo
2245 2245
     echo '<div class="name-your-price-miniform">';
2246 2246
     
2247 2247
     //Maybe display the recommended price
2248
-    if( $item->get_price() > 0 && !empty( $suggested_price_text ) ) {
2248
+    if ($item->get_price() > 0 && !empty($suggested_price_text)) {
2249 2249
         $suggested_price = $item->get_the_price();
2250 2250
         echo "<div>$suggested_price_text &mdash; $suggested_price</div>";
2251 2251
     }
@@ -2253,50 +2253,50 @@  discard block
 block discarded – undo
2253 2253
     //Display the update price form
2254 2254
     $symbol         = wpinv_currency_symbol();
2255 2255
     $position       = wpinv_currency_position();
2256
-    $minimum        = esc_attr( $item->get_minimum_price() );
2257
-    $price          = esc_attr( $cart_item['item_price'] );
2258
-    $update         = esc_attr__( "Update", 'invoicing' );
2256
+    $minimum        = esc_attr($item->get_minimum_price());
2257
+    $price          = esc_attr($cart_item['item_price']);
2258
+    $update         = esc_attr__("Update", 'invoicing');
2259 2259
 
2260 2260
     //Ensure it supports dynamic prici
2261
-    if( $price < $minimum ) {
2261
+    if ($price < $minimum) {
2262 2262
         $price = $minimum;
2263 2263
     }
2264 2264
 
2265 2265
     echo '<label>';
2266 2266
     echo $position != 'right' ? $symbol . '&nbsp;' : '';
2267 2267
     echo "<input type='number' min='$minimum' placeholder='$price' value='$price' class='wpi-field-price' />";
2268
-    echo $position == 'right' ? '&nbsp;' . $symbol : '' ;
2268
+    echo $position == 'right' ? '&nbsp;' . $symbol : '';
2269 2269
     echo "</label>";
2270 2270
     echo "<input type='hidden' value='$item_id' class='wpi-field-item' />";
2271 2271
     echo "<a class='btn btn-success wpinv-submit wpinv-update-dynamic-price-frontend'>$update</a>";
2272 2272
 
2273 2273
     //Maybe display the minimum price
2274
-    if( $item->get_minimum_price() > 0 && !empty( $minimum_price_text ) ) {
2275
-        $minimum_price = wpinv_price( wpinv_format_amount( $item->get_minimum_price() ) );
2274
+    if ($item->get_minimum_price() > 0 && !empty($minimum_price_text)) {
2275
+        $minimum_price = wpinv_price(wpinv_format_amount($item->get_minimum_price()));
2276 2276
         echo "<div>$minimum_price_text &mdash; $minimum_price</div>";
2277 2277
     }
2278 2278
 
2279 2279
     echo "</div>";
2280 2280
 
2281 2281
 }
2282
-add_action( 'wpinv_checkout_cart_item_price_after', 'wpinv_checkout_cart_item_name_your_price', 10, 2 );
2282
+add_action('wpinv_checkout_cart_item_price_after', 'wpinv_checkout_cart_item_name_your_price', 10, 2);
2283 2283
 
2284 2284
 function wpinv_oxygen_fix_conflict() {
2285 2285
     global $ct_ignore_post_types;
2286 2286
 
2287
-    if ( ! is_array( $ct_ignore_post_types ) ) {
2287
+    if (!is_array($ct_ignore_post_types)) {
2288 2288
         $ct_ignore_post_types = array();
2289 2289
     }
2290 2290
 
2291
-    $post_types = array( 'wpi_discount', 'wpi_invoice', 'wpi_item' );
2291
+    $post_types = array('wpi_discount', 'wpi_invoice', 'wpi_item');
2292 2292
 
2293
-    foreach ( $post_types as $post_type ) {
2293
+    foreach ($post_types as $post_type) {
2294 2294
         $ct_ignore_post_types[] = $post_type;
2295 2295
 
2296 2296
         // Ignore post type
2297
-        add_filter( 'pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999 );
2297
+        add_filter('pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999);
2298 2298
     }
2299 2299
 
2300
-    remove_filter( 'template_include', 'wpinv_template', 10, 1 );
2301
-    add_filter( 'template_include', 'wpinv_template', 999, 1 );
2300
+    remove_filter('template_include', 'wpinv_template', 10, 1);
2301
+    add_filter('template_include', 'wpinv_template', 999, 1);
2302 2302
 }
2303 2303
\ No newline at end of file
Please login to merge, or discard this patch.
includes/class-wpinv-invoice.php 3 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -1355,10 +1355,10 @@
 block discarded – undo
1355 1355
                         $data['cart_details'][$key]['price']      = wpinv_round_amount( $item_total );
1356 1356
                     }
1357 1357
 
1358
-	                $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1359
-	                if ( $total < 0 ) {
1360
-		                $total = 0;
1361
-	                }
1358
+                    $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1359
+                    if ( $total < 0 ) {
1360
+                        $total = 0;
1361
+                    }
1362 1362
 
1363 1363
                     $data['subtotal'] = wpinv_round_amount( $cart_subtotal );
1364 1364
                     $data['discount'] = wpinv_round_amount( $cart_discount );
Please login to merge, or discard this patch.
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -974,8 +974,9 @@
 block discarded – undo
974 974
             return false;
975 975
         }
976 976
 
977
-        if ( empty( $this->ID ) )
978
-            return false;
977
+        if ( empty( $this->ID ) ) {
978
+                    return false;
979
+        }
979 980
         
980 981
         if ( ( ( is_user_logged_in() && wpinv_current_user_can_manage_invoicing() ) || $added_by_user ) && !$system ) {
981 982
             $user                 = get_user_by( 'id', get_current_user_id() );
Please login to merge, or discard this patch.
Spacing   +617 added lines, -617 removed lines patch added patch discarded remove patch
@@ -7,12 +7,12 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 final class WPInv_Invoice {
15
-    public $ID  = 0;
15
+    public $ID = 0;
16 16
     public $title;
17 17
     public $post_type;
18 18
     
@@ -65,17 +65,17 @@  discard block
 block discarded – undo
65 65
     public $full_name = '';
66 66
     public $parent_invoice = 0;
67 67
     
68
-    public function __construct( $invoice_id = false ) {
69
-        if( empty( $invoice_id ) ) {
68
+    public function __construct($invoice_id = false) {
69
+        if (empty($invoice_id)) {
70 70
             return false;
71 71
         }
72 72
 
73
-        $this->setup_invoice( $invoice_id );
73
+        $this->setup_invoice($invoice_id);
74 74
     }
75 75
 
76
-    public function get( $key ) {
77
-        if ( method_exists( $this, 'get_' . $key ) ) {
78
-            $value = call_user_func( array( $this, 'get_' . $key ) );
76
+    public function get($key) {
77
+        if (method_exists($this, 'get_' . $key)) {
78
+            $value = call_user_func(array($this, 'get_' . $key));
79 79
         } else {
80 80
             $value = $this->$key;
81 81
         }
@@ -83,51 +83,51 @@  discard block
 block discarded – undo
83 83
         return $value;
84 84
     }
85 85
 
86
-    public function set( $key, $value ) {
87
-        $ignore = array( 'items', 'cart_details', 'fees', '_ID' );
86
+    public function set($key, $value) {
87
+        $ignore = array('items', 'cart_details', 'fees', '_ID');
88 88
 
89
-        if ( $key === 'status' ) {
89
+        if ($key === 'status') {
90 90
             $this->old_status = $this->status;
91 91
         }
92 92
 
93
-        if ( ! in_array( $key, $ignore ) ) {
94
-            $this->pending[ $key ] = $value;
93
+        if (!in_array($key, $ignore)) {
94
+            $this->pending[$key] = $value;
95 95
         }
96 96
 
97
-        if( '_ID' !== $key ) {
97
+        if ('_ID' !== $key) {
98 98
             $this->$key = $value;
99 99
         }
100 100
     }
101 101
 
102
-    public function _isset( $name ) {
103
-        if ( property_exists( $this, $name) ) {
104
-            return false === empty( $this->$name );
102
+    public function _isset($name) {
103
+        if (property_exists($this, $name)) {
104
+            return false === empty($this->$name);
105 105
         } else {
106 106
             return null;
107 107
         }
108 108
     }
109 109
 
110
-    private function setup_invoice( $invoice_id ) {
110
+    private function setup_invoice($invoice_id) {
111 111
         $this->pending = array();
112 112
 
113
-        if ( empty( $invoice_id ) ) {
113
+        if (empty($invoice_id)) {
114 114
             return false;
115 115
         }
116 116
 
117
-        $invoice = get_post( $invoice_id );
117
+        $invoice = get_post($invoice_id);
118 118
 
119
-        if( !$invoice || is_wp_error( $invoice ) ) {
119
+        if (!$invoice || is_wp_error($invoice)) {
120 120
             return false;
121 121
         }
122 122
 
123
-        if( !('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type) ) {
123
+        if (!('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type)) {
124 124
             return false;
125 125
         }
126 126
 
127
-        do_action( 'wpinv_pre_setup_invoice', $this, $invoice_id );
127
+        do_action('wpinv_pre_setup_invoice', $this, $invoice_id);
128 128
         
129 129
         // Primary Identifier
130
-        $this->ID              = absint( $invoice_id );
130
+        $this->ID              = absint($invoice_id);
131 131
         $this->post_type       = $invoice->post_type;
132 132
         
133 133
         // We have a payment, get the generic payment_meta item to reduce calls to it
@@ -139,7 +139,7 @@  discard block
 block discarded – undo
139 139
         $this->post_status     = $this->status;
140 140
         $this->mode            = $this->setup_mode();
141 141
         $this->parent_invoice  = $invoice->post_parent;
142
-        $this->post_name       = $this->setup_post_name( $invoice );
142
+        $this->post_name       = $this->setup_post_name($invoice);
143 143
         $this->status_nicename = $this->setup_status_nicename($invoice->post_status);
144 144
 
145 145
         // Items
@@ -161,8 +161,8 @@  discard block
 block discarded – undo
161 161
         
162 162
         // User based
163 163
         $this->ip              = $this->setup_ip();
164
-        $this->user_id         = !empty( $invoice->post_author ) ? $invoice->post_author : get_current_user_id();///$this->setup_user_id();
165
-        $this->email           = get_the_author_meta( 'email', $this->user_id );
164
+        $this->user_id         = !empty($invoice->post_author) ? $invoice->post_author : get_current_user_id(); ///$this->setup_user_id();
165
+        $this->email           = get_the_author_meta('email', $this->user_id);
166 166
         
167 167
         $this->user_info       = $this->setup_user_info();
168 168
                 
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
         $this->company         = $this->user_info['company'];
172 172
         $this->vat_number      = $this->user_info['vat_number'];
173 173
         $this->vat_rate        = $this->user_info['vat_rate'];
174
-        $this->adddress_confirmed  = $this->user_info['adddress_confirmed'];
174
+        $this->adddress_confirmed = $this->user_info['adddress_confirmed'];
175 175
         $this->address         = $this->user_info['address'];
176 176
         $this->city            = $this->user_info['city'];
177 177
         $this->country         = $this->user_info['country'];
@@ -186,35 +186,35 @@  discard block
 block discarded – undo
186 186
         // Other Identifiers
187 187
         $this->key             = $this->setup_invoice_key();
188 188
         $this->number          = $this->setup_invoice_number();
189
-        $this->title           = !empty( $invoice->post_title ) ? $invoice->post_title : $this->number;
189
+        $this->title           = !empty($invoice->post_title) ? $invoice->post_title : $this->number;
190 190
         
191
-        $this->full_name       = trim( $this->first_name . ' '. $this->last_name );
191
+        $this->full_name       = trim($this->first_name . ' ' . $this->last_name);
192 192
         
193 193
         // Allow extensions to add items to this object via hook
194
-        do_action( 'wpinv_setup_invoice', $this, $invoice_id );
194
+        do_action('wpinv_setup_invoice', $this, $invoice_id);
195 195
 
196 196
         return true;
197 197
     }
198 198
     
199
-    private function setup_status_nicename( $status ) {
200
-        $all_invoice_statuses  = wpinv_get_invoice_statuses( true, true, $this );
201
-        $status   = isset( $all_invoice_statuses[$status] ) ? $all_invoice_statuses[$status] : __( $status, 'invoicing' );
199
+    private function setup_status_nicename($status) {
200
+        $all_invoice_statuses = wpinv_get_invoice_statuses(true, true, $this);
201
+        $status = isset($all_invoice_statuses[$status]) ? $all_invoice_statuses[$status] : __($status, 'invoicing');
202 202
 
203
-        return apply_filters( 'setup_status_nicename', $status );
203
+        return apply_filters('setup_status_nicename', $status);
204 204
     }
205 205
     
206
-    private function setup_post_name( $post = NULL ) {
206
+    private function setup_post_name($post = NULL) {
207 207
         global $wpdb;
208 208
         
209 209
         $post_name = '';
210 210
         
211
-        if ( !empty( $post ) ) {
212
-            if( !empty( $post->post_name ) ) {
211
+        if (!empty($post)) {
212
+            if (!empty($post->post_name)) {
213 213
                 $post_name = $post->post_name;
214
-            } else if ( !empty( $post->ID ) ) {
215
-                $post_name = wpinv_generate_post_name( $post->ID );
214
+            } else if (!empty($post->ID)) {
215
+                $post_name = wpinv_generate_post_name($post->ID);
216 216
 
217
-                $wpdb->update( $wpdb->posts, array( 'post_name' => $post_name ), array( 'ID' => $post->ID ) );
217
+                $wpdb->update($wpdb->posts, array('post_name' => $post_name), array('ID' => $post->ID));
218 218
             }
219 219
         }
220 220
 
@@ -222,12 +222,12 @@  discard block
 block discarded – undo
222 222
     }
223 223
     
224 224
     private function setup_due_date() {
225
-        $due_date = $this->get_meta( '_wpinv_due_date' );
225
+        $due_date = $this->get_meta('_wpinv_due_date');
226 226
         
227
-        if ( empty( $due_date ) ) {
228
-            $overdue_time = strtotime( $this->date ) + ( DAY_IN_SECONDS * absint( wpinv_get_option( 'overdue_days' ) ) );
229
-            $due_date = date_i18n( 'Y-m-d', $overdue_time );
230
-        } else if ( $due_date == 'none' ) {
227
+        if (empty($due_date)) {
228
+            $overdue_time = strtotime($this->date) + (DAY_IN_SECONDS * absint(wpinv_get_option('overdue_days')));
229
+            $due_date = date_i18n('Y-m-d', $overdue_time);
230
+        } else if ($due_date == 'none') {
231 231
             $due_date = '';
232 232
         }
233 233
         
@@ -235,66 +235,66 @@  discard block
 block discarded – undo
235 235
     }
236 236
     
237 237
     private function setup_completed_date() {
238
-        $invoice = get_post( $this->ID );
238
+        $invoice = get_post($this->ID);
239 239
 
240
-        if ( 'wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status ) {
240
+        if ('wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status) {
241 241
             return false; // This invoice was never paid
242 242
         }
243 243
 
244
-        $date = ( $date = $this->get_meta( '_wpinv_completed_date', true ) ) ? $date : $invoice->modified_date;
244
+        $date = ($date = $this->get_meta('_wpinv_completed_date', true)) ? $date : $invoice->modified_date;
245 245
 
246 246
         return $date;
247 247
     }
248 248
     
249 249
     private function setup_cart_details() {
250
-        $cart_details = isset( $this->payment_meta['cart_details'] ) ? maybe_unserialize( $this->payment_meta['cart_details'] ) : array();
250
+        $cart_details = isset($this->payment_meta['cart_details']) ? maybe_unserialize($this->payment_meta['cart_details']) : array();
251 251
         return $cart_details;
252 252
     }
253 253
     
254 254
     public function array_convert() {
255
-        return get_object_vars( $this );
255
+        return get_object_vars($this);
256 256
     }
257 257
     
258 258
     private function setup_items() {
259
-        $items = isset( $this->payment_meta['items'] ) ? maybe_unserialize( $this->payment_meta['items'] ) : array();
259
+        $items = isset($this->payment_meta['items']) ? maybe_unserialize($this->payment_meta['items']) : array();
260 260
         return $items;
261 261
     }
262 262
     
263 263
     private function setup_fees() {
264
-        $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array();
264
+        $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array();
265 265
         return $payment_fees;
266 266
     }
267 267
         
268 268
     private function setup_currency() {
269
-        $currency = isset( $this->payment_meta['currency'] ) ? $this->payment_meta['currency'] : apply_filters( 'wpinv_currency_default', wpinv_get_currency(), $this );
269
+        $currency = isset($this->payment_meta['currency']) ? $this->payment_meta['currency'] : apply_filters('wpinv_currency_default', wpinv_get_currency(), $this);
270 270
         return $currency;
271 271
     }
272 272
     
273 273
     private function setup_discount() {
274 274
         //$discount = $this->get_meta( '_wpinv_discount', true );
275
-        $discount = (float)$this->subtotal - ( (float)$this->total - (float)$this->tax - (float)$this->fees_total );
276
-        if ( $discount < 0 ) {
275
+        $discount = (float) $this->subtotal - ((float) $this->total - (float) $this->tax - (float) $this->fees_total);
276
+        if ($discount < 0) {
277 277
             $discount = 0;
278 278
         }
279
-        $discount = wpinv_round_amount( $discount );
279
+        $discount = wpinv_round_amount($discount);
280 280
         
281 281
         return $discount;
282 282
     }
283 283
     
284 284
     private function setup_discount_code() {
285
-        $discount_code = !empty( $this->discounts ) ? $this->discounts : $this->get_meta( '_wpinv_discount_code', true );
285
+        $discount_code = !empty($this->discounts) ? $this->discounts : $this->get_meta('_wpinv_discount_code', true);
286 286
         return $discount_code;
287 287
     }
288 288
     
289 289
     private function setup_tax() {
290
-        $tax = $this->get_meta( '_wpinv_tax', true );
290
+        $tax = $this->get_meta('_wpinv_tax', true);
291 291
 
292 292
         // We don't have tax as it's own meta and no meta was passed
293
-        if ( '' === $tax ) {            
294
-            $tax = isset( $this->payment_meta['tax'] ) ? $this->payment_meta['tax'] : 0;
293
+        if ('' === $tax) {            
294
+            $tax = isset($this->payment_meta['tax']) ? $this->payment_meta['tax'] : 0;
295 295
         }
296 296
         
297
-        if ( $tax < 0 ) {
297
+        if ($tax < 0) {
298 298
             $tax = 0;
299 299
         }
300 300
 
@@ -305,9 +305,9 @@  discard block
 block discarded – undo
305 305
         $subtotal     = 0;
306 306
         $cart_details = $this->cart_details;
307 307
 
308
-        if ( is_array( $cart_details ) ) {
309
-            foreach ( $cart_details as $item ) {
310
-                if ( isset( $item['subtotal'] ) ) {
308
+        if (is_array($cart_details)) {
309
+            foreach ($cart_details as $item) {
310
+                if (isset($item['subtotal'])) {
311 311
                     $subtotal += $item['subtotal'];
312 312
                 }
313 313
             }
@@ -321,23 +321,23 @@  discard block
 block discarded – undo
321 321
     }
322 322
     
323 323
     private function setup_discounts() {
324
-        $discounts = ! empty( $this->payment_meta['user_info']['discount'] ) ? $this->payment_meta['user_info']['discount'] : array();
324
+        $discounts = !empty($this->payment_meta['user_info']['discount']) ? $this->payment_meta['user_info']['discount'] : array();
325 325
         return $discounts;
326 326
     }
327 327
     
328 328
     private function setup_total() {
329
-        $amount = $this->get_meta( '_wpinv_total', true );
329
+        $amount = $this->get_meta('_wpinv_total', true);
330 330
 
331
-        if ( empty( $amount ) && '0.00' != $amount ) {
332
-            $meta   = $this->get_meta( '_wpinv_payment_meta', true );
333
-            $meta   = maybe_unserialize( $meta );
331
+        if (empty($amount) && '0.00' != $amount) {
332
+            $meta   = $this->get_meta('_wpinv_payment_meta', true);
333
+            $meta   = maybe_unserialize($meta);
334 334
 
335
-            if ( isset( $meta['amount'] ) ) {
335
+            if (isset($meta['amount'])) {
336 336
                 $amount = $meta['amount'];
337 337
             }
338 338
         }
339 339
 
340
-        if($amount < 0){
340
+        if ($amount < 0) {
341 341
             $amount = 0;
342 342
         }
343 343
 
@@ -345,13 +345,13 @@  discard block
 block discarded – undo
345 345
     }
346 346
     
347 347
     private function setup_mode() {
348
-        return $this->get_meta( '_wpinv_mode' );
348
+        return $this->get_meta('_wpinv_mode');
349 349
     }
350 350
 
351 351
     private function setup_gateway() {
352
-        $gateway = $this->get_meta( '_wpinv_gateway' );
352
+        $gateway = $this->get_meta('_wpinv_gateway');
353 353
         
354
-        if ( empty( $gateway ) && 'publish' === $this->status ) {
354
+        if (empty($gateway) && 'publish' === $this->status) {
355 355
             $gateway = 'manual';
356 356
         }
357 357
         
@@ -359,23 +359,23 @@  discard block
 block discarded – undo
359 359
     }
360 360
     
361 361
     private function setup_gateway_title() {
362
-        $gateway_title = wpinv_get_gateway_checkout_label( $this->gateway );
362
+        $gateway_title = wpinv_get_gateway_checkout_label($this->gateway);
363 363
         return $gateway_title;
364 364
     }
365 365
 
366 366
     private function setup_transaction_id() {
367
-        $transaction_id = $this->get_meta( '_wpinv_transaction_id' );
367
+        $transaction_id = $this->get_meta('_wpinv_transaction_id');
368 368
 
369
-        if ( empty( $transaction_id ) || (int) $transaction_id === (int) $this->ID ) {
369
+        if (empty($transaction_id) || (int) $transaction_id === (int) $this->ID) {
370 370
             $gateway        = $this->gateway;
371
-            $transaction_id = apply_filters( 'wpinv_get_invoice_transaction_id-' . $gateway, $this->ID );
371
+            $transaction_id = apply_filters('wpinv_get_invoice_transaction_id-' . $gateway, $this->ID);
372 372
         }
373 373
 
374 374
         return $transaction_id;
375 375
     }
376 376
 
377 377
     private function setup_ip() {
378
-        $ip = $this->get_meta( '_wpinv_user_ip' );
378
+        $ip = $this->get_meta('_wpinv_user_ip');
379 379
         return $ip;
380 380
     }
381 381
 
@@ -385,62 +385,62 @@  discard block
 block discarded – undo
385 385
     ///}
386 386
         
387 387
     private function setup_first_name() {
388
-        $first_name = $this->get_meta( '_wpinv_first_name' );
388
+        $first_name = $this->get_meta('_wpinv_first_name');
389 389
         return $first_name;
390 390
     }
391 391
     
392 392
     private function setup_last_name() {
393
-        $last_name = $this->get_meta( '_wpinv_last_name' );
393
+        $last_name = $this->get_meta('_wpinv_last_name');
394 394
         return $last_name;
395 395
     }
396 396
     
397 397
     private function setup_company() {
398
-        $company = $this->get_meta( '_wpinv_company' );
398
+        $company = $this->get_meta('_wpinv_company');
399 399
         return $company;
400 400
     }
401 401
     
402 402
     private function setup_vat_number() {
403
-        $vat_number = $this->get_meta( '_wpinv_vat_number' );
403
+        $vat_number = $this->get_meta('_wpinv_vat_number');
404 404
         return $vat_number;
405 405
     }
406 406
     
407 407
     private function setup_vat_rate() {
408
-        $vat_rate = $this->get_meta( '_wpinv_vat_rate' );
408
+        $vat_rate = $this->get_meta('_wpinv_vat_rate');
409 409
         return $vat_rate;
410 410
     }
411 411
     
412 412
     private function setup_adddress_confirmed() {
413
-        $adddress_confirmed = $this->get_meta( '_wpinv_adddress_confirmed' );
413
+        $adddress_confirmed = $this->get_meta('_wpinv_adddress_confirmed');
414 414
         return $adddress_confirmed;
415 415
     }
416 416
     
417 417
     private function setup_phone() {
418
-        $phone = $this->get_meta( '_wpinv_phone' );
418
+        $phone = $this->get_meta('_wpinv_phone');
419 419
         return $phone;
420 420
     }
421 421
     
422 422
     private function setup_address() {
423
-        $address = $this->get_meta( '_wpinv_address', true );
423
+        $address = $this->get_meta('_wpinv_address', true);
424 424
         return $address;
425 425
     }
426 426
     
427 427
     private function setup_city() {
428
-        $city = $this->get_meta( '_wpinv_city', true );
428
+        $city = $this->get_meta('_wpinv_city', true);
429 429
         return $city;
430 430
     }
431 431
     
432 432
     private function setup_country() {
433
-        $country = $this->get_meta( '_wpinv_country', true );
433
+        $country = $this->get_meta('_wpinv_country', true);
434 434
         return $country;
435 435
     }
436 436
     
437 437
     private function setup_state() {
438
-        $state = $this->get_meta( '_wpinv_state', true );
438
+        $state = $this->get_meta('_wpinv_state', true);
439 439
         return $state;
440 440
     }
441 441
     
442 442
     private function setup_zip() {
443
-        $zip = $this->get_meta( '_wpinv_zip', true );
443
+        $zip = $this->get_meta('_wpinv_zip', true);
444 444
         return $zip;
445 445
     }
446 446
 
@@ -449,7 +449,7 @@  discard block
 block discarded – undo
449 449
             'user_id'        => $this->user_id,
450 450
             'first_name'     => $this->first_name,
451 451
             'last_name'      => $this->last_name,
452
-            'email'          => get_the_author_meta( 'email', $this->user_id ),
452
+            'email'          => get_the_author_meta('email', $this->user_id),
453 453
             'phone'          => $this->phone,
454 454
             'address'        => $this->address,
455 455
             'city'           => $this->city,
@@ -464,12 +464,12 @@  discard block
 block discarded – undo
464 464
         );
465 465
         
466 466
         $user_info = array();
467
-        if ( isset( $this->payment_meta['user_info'] ) ) {
468
-            $user_info = maybe_unserialize( $this->payment_meta['user_info'] );
467
+        if (isset($this->payment_meta['user_info'])) {
468
+            $user_info = maybe_unserialize($this->payment_meta['user_info']);
469 469
             
470
-            if ( !empty( $user_info ) && isset( $user_info['user_id'] ) && $post = get_post( $this->ID ) ) {
470
+            if (!empty($user_info) && isset($user_info['user_id']) && $post = get_post($this->ID)) {
471 471
                 $this->user_id = $post->post_author;
472
-                $this->email = get_the_author_meta( 'email', $this->user_id );
472
+                $this->email = get_the_author_meta('email', $this->user_id);
473 473
                 
474 474
                 $user_info['user_id'] = $this->user_id;
475 475
                 $user_info['email'] = $this->email;
@@ -478,13 +478,13 @@  discard block
 block discarded – undo
478 478
             }
479 479
         }
480 480
         
481
-        $user_info    = wp_parse_args( $user_info, $defaults );
481
+        $user_info = wp_parse_args($user_info, $defaults);
482 482
         
483 483
         // Get the user, but only if it's been created
484
-        $user = get_userdata( $this->user_id );
484
+        $user = get_userdata($this->user_id);
485 485
         
486
-        if ( !empty( $user ) && $user->ID > 0 ) {
487
-            if ( empty( $user_info ) ) {
486
+        if (!empty($user) && $user->ID > 0) {
487
+            if (empty($user_info)) {
488 488
                 $user_info = array(
489 489
                     'user_id'    => $user->ID,
490 490
                     'first_name' => $user->first_name,
@@ -493,23 +493,23 @@  discard block
 block discarded – undo
493 493
                     'discount'   => '',
494 494
                 );
495 495
             } else {
496
-                foreach ( $user_info as $key => $value ) {
497
-                    if ( ! empty( $value ) ) {
496
+                foreach ($user_info as $key => $value) {
497
+                    if (!empty($value)) {
498 498
                         continue;
499 499
                     }
500 500
 
501
-                    switch( $key ) {
501
+                    switch ($key) {
502 502
                         case 'user_id':
503
-                            $user_info[ $key ] = $user->ID;
503
+                            $user_info[$key] = $user->ID;
504 504
                             break;
505 505
                         case 'first_name':
506
-                            $user_info[ $key ] = $user->first_name;
506
+                            $user_info[$key] = $user->first_name;
507 507
                             break;
508 508
                         case 'last_name':
509
-                            $user_info[ $key ] = $user->last_name;
509
+                            $user_info[$key] = $user->last_name;
510 510
                             break;
511 511
                         case 'email':
512
-                            $user_info[ $key ] = $user->user_email;
512
+                            $user_info[$key] = $user->user_email;
513 513
                             break;
514 514
                     }
515 515
                 }
@@ -520,25 +520,25 @@  discard block
 block discarded – undo
520 520
     }
521 521
 
522 522
     private function setup_invoice_key() {
523
-        $key = $this->get_meta( '_wpinv_key', true );
523
+        $key = $this->get_meta('_wpinv_key', true);
524 524
         
525 525
         return $key;
526 526
     }
527 527
 
528 528
     private function setup_invoice_number() {
529
-        $number = $this->get_meta( '_wpinv_number', true );
529
+        $number = $this->get_meta('_wpinv_number', true);
530 530
 
531
-        if ( !$number ) {
531
+        if (!$number) {
532 532
             $number = $this->ID;
533 533
 
534
-            if ( $this->status == 'auto-draft' ) {
535
-                if ( wpinv_sequential_number_active( $this->post_type ) ) {
536
-                    $next_number = wpinv_get_next_invoice_number( $this->post_type );
534
+            if ($this->status == 'auto-draft') {
535
+                if (wpinv_sequential_number_active($this->post_type)) {
536
+                    $next_number = wpinv_get_next_invoice_number($this->post_type);
537 537
                     $number      = $next_number;
538 538
                 }
539 539
             }
540 540
             
541
-            $number = wpinv_format_invoice_number( $number, $this->post_type );
541
+            $number = wpinv_format_invoice_number($number, $this->post_type);
542 542
         }
543 543
 
544 544
         return $number;
@@ -547,10 +547,10 @@  discard block
 block discarded – undo
547 547
     private function insert_invoice() {
548 548
         global $wpdb;
549 549
 
550
-        if ( empty( $this->post_type ) ) {
551
-            if ( !empty( $this->ID ) && $post_type = get_post_type( $this->ID ) ) {
550
+        if (empty($this->post_type)) {
551
+            if (!empty($this->ID) && $post_type = get_post_type($this->ID)) {
552 552
                 $this->post_type = $post_type;
553
-            } else if ( !empty( $this->parent_invoice ) && $post_type = get_post_type( $this->parent_invoice ) ) {
553
+            } else if (!empty($this->parent_invoice) && $post_type = get_post_type($this->parent_invoice)) {
554 554
                 $this->post_type = $post_type;
555 555
             } else {
556 556
                 $this->post_type = 'wpi_invoice';
@@ -558,16 +558,16 @@  discard block
 block discarded – undo
558 558
         }
559 559
 
560 560
         $invoice_number = $this->ID;
561
-        if ( $number = $this->get_meta( '_wpinv_number', true ) ) {
561
+        if ($number = $this->get_meta('_wpinv_number', true)) {
562 562
             $invoice_number = $number;
563 563
         }
564 564
 
565
-        if ( empty( $this->key ) ) {
565
+        if (empty($this->key)) {
566 566
             $this->key = self::generate_key();
567 567
             $this->pending['key'] = $this->key;
568 568
         }
569 569
 
570
-        if ( empty( $this->ip ) ) {
570
+        if (empty($this->ip)) {
571 571
             $this->ip = wpinv_get_ip();
572 572
             $this->pending['ip'] = $this->ip;
573 573
         }
@@ -604,61 +604,61 @@  discard block
 block discarded – undo
604 604
                         'post_status'   => $this->status,
605 605
                         'post_author'   => $this->user_id,
606 606
                         'post_type'     => $this->post_type,
607
-                        'post_date'     => ! empty( $this->date ) && $this->date != '0000-00-00 00:00:00' ? $this->date : current_time( 'mysql' ),
608
-                        'post_date_gmt' => ! empty( $this->date ) && $this->date != '0000-00-00 00:00:00' ? get_gmt_from_date( $this->date ) : current_time( 'mysql', 1 ),
607
+                        'post_date'     => !empty($this->date) && $this->date != '0000-00-00 00:00:00' ? $this->date : current_time('mysql'),
608
+                        'post_date_gmt' => !empty($this->date) && $this->date != '0000-00-00 00:00:00' ? get_gmt_from_date($this->date) : current_time('mysql', 1),
609 609
                         'post_parent'   => $this->parent_invoice,
610 610
                     );
611
-        $args = apply_filters( 'wpinv_insert_invoice_args', $post_data, $this );
611
+        $args = apply_filters('wpinv_insert_invoice_args', $post_data, $this);
612 612
 
613 613
         // Create a blank invoice
614
-        if ( !empty( $this->ID ) ) {
615
-            $args['ID']         = $this->ID;
614
+        if (!empty($this->ID)) {
615
+            $args['ID'] = $this->ID;
616 616
 
617
-            $invoice_id = wp_update_post( $args, true );
617
+            $invoice_id = wp_update_post($args, true);
618 618
         } else {
619
-            $invoice_id = wp_insert_post( $args, true );
619
+            $invoice_id = wp_insert_post($args, true);
620 620
         }
621 621
 
622
-        if ( is_wp_error( $invoice_id ) ) {
622
+        if (is_wp_error($invoice_id)) {
623 623
             return false;
624 624
         }
625 625
 
626
-        if ( !empty( $invoice_id ) ) {
626
+        if (!empty($invoice_id)) {
627 627
             $this->ID  = $invoice_id;
628 628
             $this->_ID = $invoice_id;
629 629
 
630
-            $this->payment_meta = apply_filters( 'wpinv_payment_meta', $this->payment_meta, $payment_data );
631
-            if ( ! empty( $this->payment_meta['fees'] ) ) {
632
-                $this->fees = array_merge( $this->fees, $this->payment_meta['fees'] );
633
-                foreach( $this->fees as $fee ) {
634
-                    $this->increase_fees( $fee['amount'] );
630
+            $this->payment_meta = apply_filters('wpinv_payment_meta', $this->payment_meta, $payment_data);
631
+            if (!empty($this->payment_meta['fees'])) {
632
+                $this->fees = array_merge($this->fees, $this->payment_meta['fees']);
633
+                foreach ($this->fees as $fee) {
634
+                    $this->increase_fees($fee['amount']);
635 635
                 }
636 636
             }
637 637
 
638
-            $this->update_meta( '_wpinv_payment_meta', $this->payment_meta );            
638
+            $this->update_meta('_wpinv_payment_meta', $this->payment_meta);            
639 639
             $this->new = true;
640 640
         }
641 641
 
642 642
         return $this->ID;
643 643
     }
644 644
 
645
-    public function save( $setup = false ) {
645
+    public function save($setup = false) {
646 646
         global $wpi_session;
647 647
         
648 648
         $saved = false;
649
-        if ( empty( $this->items ) ) {
649
+        if (empty($this->items)) {
650 650
             return $saved; // Don't save empty invoice.
651 651
         }
652 652
         
653
-        if ( empty( $this->key ) ) {
653
+        if (empty($this->key)) {
654 654
             $this->key = self::generate_key();
655 655
             $this->pending['key'] = $this->key;
656 656
         }
657 657
         
658
-        if ( empty( $this->ID ) ) {
658
+        if (empty($this->ID)) {
659 659
             $invoice_id = $this->insert_invoice();
660 660
 
661
-            if ( false === $invoice_id ) {
661
+            if (false === $invoice_id) {
662 662
                 $saved = false;
663 663
             } else {
664 664
                 $this->ID = $invoice_id;
@@ -666,27 +666,27 @@  discard block
 block discarded – undo
666 666
         }
667 667
 
668 668
         // If we have something pending, let's save it
669
-        if ( !empty( $this->pending ) ) {
669
+        if (!empty($this->pending)) {
670 670
             $total_increase = 0;
671 671
             $total_decrease = 0;
672 672
 
673
-            foreach ( $this->pending as $key => $value ) {
674
-                switch( $key ) {
673
+            foreach ($this->pending as $key => $value) {
674
+                switch ($key) {
675 675
                     case 'items':
676 676
                         // Update totals for pending items
677
-                        foreach ( $this->pending[ $key ] as $item ) {
678
-                            switch( $item['action'] ) {
677
+                        foreach ($this->pending[$key] as $item) {
678
+                            switch ($item['action']) {
679 679
                                 case 'add':
680 680
                                     $price = $item['price'];
681 681
                                     $taxes = $item['tax'];
682 682
 
683
-                                    if ( 'publish' === $this->status ) {
683
+                                    if ('publish' === $this->status) {
684 684
                                         $total_increase += $price;
685 685
                                     }
686 686
                                     break;
687 687
 
688 688
                                 case 'remove':
689
-                                    if ( 'publish' === $this->status ) {
689
+                                    if ('publish' === $this->status) {
690 690
                                         $total_decrease += $item['price'];
691 691
                                     }
692 692
                                     break;
@@ -694,16 +694,16 @@  discard block
 block discarded – undo
694 694
                         }
695 695
                         break;
696 696
                     case 'fees':
697
-                        if ( 'publish' !== $this->status ) {
697
+                        if ('publish' !== $this->status) {
698 698
                             break;
699 699
                         }
700 700
 
701
-                        if ( empty( $this->pending[ $key ] ) ) {
701
+                        if (empty($this->pending[$key])) {
702 702
                             break;
703 703
                         }
704 704
 
705
-                        foreach ( $this->pending[ $key ] as $fee ) {
706
-                            switch( $fee['action'] ) {
705
+                        foreach ($this->pending[$key] as $fee) {
706
+                            switch ($fee['action']) {
707 707
                                 case 'add':
708 708
                                     $total_increase += $fee['amount'];
709 709
                                     break;
@@ -715,83 +715,83 @@  discard block
 block discarded – undo
715 715
                         }
716 716
                         break;
717 717
                     case 'status':
718
-                        $this->update_status( $this->status );
718
+                        $this->update_status($this->status);
719 719
                         break;
720 720
                     case 'gateway':
721
-                        $this->update_meta( '_wpinv_gateway', $this->gateway );
721
+                        $this->update_meta('_wpinv_gateway', $this->gateway);
722 722
                         break;
723 723
                     case 'mode':
724
-                        $this->update_meta( '_wpinv_mode', $this->mode );
724
+                        $this->update_meta('_wpinv_mode', $this->mode);
725 725
                         break;
726 726
                     case 'transaction_id':
727
-                        $this->update_meta( '_wpinv_transaction_id', $this->transaction_id );
727
+                        $this->update_meta('_wpinv_transaction_id', $this->transaction_id);
728 728
                         break;
729 729
                     case 'ip':
730
-                        $this->update_meta( '_wpinv_user_ip', $this->ip );
730
+                        $this->update_meta('_wpinv_user_ip', $this->ip);
731 731
                         break;
732 732
                     ///case 'user_id':
733 733
                         ///$this->update_meta( '_wpinv_user_id', $this->user_id );
734 734
                         ///$this->user_info['user_id'] = $this->user_id;
735 735
                         ///break;
736 736
                     case 'first_name':
737
-                        $this->update_meta( '_wpinv_first_name', $this->first_name );
737
+                        $this->update_meta('_wpinv_first_name', $this->first_name);
738 738
                         $this->user_info['first_name'] = $this->first_name;
739 739
                         break;
740 740
                     case 'last_name':
741
-                        $this->update_meta( '_wpinv_last_name', $this->last_name );
741
+                        $this->update_meta('_wpinv_last_name', $this->last_name);
742 742
                         $this->user_info['last_name'] = $this->last_name;
743 743
                         break;
744 744
                     case 'phone':
745
-                        $this->update_meta( '_wpinv_phone', $this->phone );
745
+                        $this->update_meta('_wpinv_phone', $this->phone);
746 746
                         $this->user_info['phone'] = $this->phone;
747 747
                         break;
748 748
                     case 'address':
749
-                        $this->update_meta( '_wpinv_address', $this->address );
749
+                        $this->update_meta('_wpinv_address', $this->address);
750 750
                         $this->user_info['address'] = $this->address;
751 751
                         break;
752 752
                     case 'city':
753
-                        $this->update_meta( '_wpinv_city', $this->city );
753
+                        $this->update_meta('_wpinv_city', $this->city);
754 754
                         $this->user_info['city'] = $this->city;
755 755
                         break;
756 756
                     case 'country':
757
-                        $this->update_meta( '_wpinv_country', $this->country );
757
+                        $this->update_meta('_wpinv_country', $this->country);
758 758
                         $this->user_info['country'] = $this->country;
759 759
                         break;
760 760
                     case 'state':
761
-                        $this->update_meta( '_wpinv_state', $this->state );
761
+                        $this->update_meta('_wpinv_state', $this->state);
762 762
                         $this->user_info['state'] = $this->state;
763 763
                         break;
764 764
                     case 'zip':
765
-                        $this->update_meta( '_wpinv_zip', $this->zip );
765
+                        $this->update_meta('_wpinv_zip', $this->zip);
766 766
                         $this->user_info['zip'] = $this->zip;
767 767
                         break;
768 768
                     case 'company':
769
-                        $this->update_meta( '_wpinv_company', $this->company );
769
+                        $this->update_meta('_wpinv_company', $this->company);
770 770
                         $this->user_info['company'] = $this->company;
771 771
                         break;
772 772
                     case 'vat_number':
773
-                        $this->update_meta( '_wpinv_vat_number', $this->vat_number );
773
+                        $this->update_meta('_wpinv_vat_number', $this->vat_number);
774 774
                         $this->user_info['vat_number'] = $this->vat_number;
775 775
                         
776
-                        $vat_info = $wpi_session->get( 'user_vat_data' );
777
-                        if ( $this->vat_number && !empty( $vat_info ) && isset( $vat_info['number'] ) && isset( $vat_info['valid'] ) && $vat_info['number'] == $this->vat_number ) {
778
-                            $adddress_confirmed = isset( $vat_info['adddress_confirmed'] ) ? $vat_info['adddress_confirmed'] : false;
779
-                            $this->update_meta( '_wpinv_adddress_confirmed', (bool)$adddress_confirmed );
780
-                            $this->user_info['adddress_confirmed'] = (bool)$adddress_confirmed;
776
+                        $vat_info = $wpi_session->get('user_vat_data');
777
+                        if ($this->vat_number && !empty($vat_info) && isset($vat_info['number']) && isset($vat_info['valid']) && $vat_info['number'] == $this->vat_number) {
778
+                            $adddress_confirmed = isset($vat_info['adddress_confirmed']) ? $vat_info['adddress_confirmed'] : false;
779
+                            $this->update_meta('_wpinv_adddress_confirmed', (bool) $adddress_confirmed);
780
+                            $this->user_info['adddress_confirmed'] = (bool) $adddress_confirmed;
781 781
                         }
782 782
     
783 783
                         break;
784 784
                     case 'vat_rate':
785
-                        $this->update_meta( '_wpinv_vat_rate', $this->vat_rate );
785
+                        $this->update_meta('_wpinv_vat_rate', $this->vat_rate);
786 786
                         $this->user_info['vat_rate'] = $this->vat_rate;
787 787
                         break;
788 788
                     case 'adddress_confirmed':
789
-                        $this->update_meta( '_wpinv_adddress_confirmed', $this->adddress_confirmed );
789
+                        $this->update_meta('_wpinv_adddress_confirmed', $this->adddress_confirmed);
790 790
                         $this->user_info['adddress_confirmed'] = $this->adddress_confirmed;
791 791
                         break;
792 792
                     
793 793
                     case 'key':
794
-                        $this->update_meta( '_wpinv_key', $this->key );
794
+                        $this->update_meta('_wpinv_key', $this->key);
795 795
                         break;
796 796
                     case 'date':
797 797
                         $args = array(
@@ -800,49 +800,49 @@  discard block
 block discarded – undo
800 800
                             'edit_date' => true,
801 801
                         );
802 802
 
803
-                        wp_update_post( $args );
803
+                        wp_update_post($args);
804 804
                         break;
805 805
                     case 'due_date':
806
-                        if ( empty( $this->due_date ) ) {
806
+                        if (empty($this->due_date)) {
807 807
                             $this->due_date = 'none';
808 808
                         }
809 809
                         
810
-                        $this->update_meta( '_wpinv_due_date', $this->due_date );
810
+                        $this->update_meta('_wpinv_due_date', $this->due_date);
811 811
                         break;
812 812
                     case 'completed_date':
813
-                        $this->update_meta( '_wpinv_completed_date', $this->completed_date );
813
+                        $this->update_meta('_wpinv_completed_date', $this->completed_date);
814 814
                         break;
815 815
                     case 'discounts':
816
-                        if ( ! is_array( $this->discounts ) ) {
817
-                            $this->discounts = explode( ',', $this->discounts );
816
+                        if (!is_array($this->discounts)) {
817
+                            $this->discounts = explode(',', $this->discounts);
818 818
                         }
819 819
 
820
-                        $this->user_info['discount'] = implode( ',', $this->discounts );
820
+                        $this->user_info['discount'] = implode(',', $this->discounts);
821 821
                         break;
822 822
                     case 'discount':
823
-                        $this->update_meta( '_wpinv_discount', wpinv_round_amount( $this->discount ) );
823
+                        $this->update_meta('_wpinv_discount', wpinv_round_amount($this->discount));
824 824
                         break;
825 825
                     case 'discount_code':
826
-                        $this->update_meta( '_wpinv_discount_code', $this->discount_code );
826
+                        $this->update_meta('_wpinv_discount_code', $this->discount_code);
827 827
                         break;
828 828
                     case 'parent_invoice':
829 829
                         $args = array(
830 830
                             'ID'          => $this->ID,
831 831
                             'post_parent' => $this->parent_invoice,
832 832
                         );
833
-                        wp_update_post( $args );
833
+                        wp_update_post($args);
834 834
                         break;
835 835
                     default:
836
-                        do_action( 'wpinv_save', $this, $key );
836
+                        do_action('wpinv_save', $this, $key);
837 837
                         break;
838 838
                 }
839 839
             }
840 840
 
841
-            $this->update_meta( '_wpinv_subtotal', wpinv_round_amount( $this->subtotal ) );
842
-            $this->update_meta( '_wpinv_total', wpinv_round_amount( $this->total ) );
843
-            $this->update_meta( '_wpinv_tax', wpinv_round_amount( $this->tax ) );
841
+            $this->update_meta('_wpinv_subtotal', wpinv_round_amount($this->subtotal));
842
+            $this->update_meta('_wpinv_total', wpinv_round_amount($this->total));
843
+            $this->update_meta('_wpinv_tax', wpinv_round_amount($this->tax));
844 844
             
845
-            $this->items    = array_values( $this->items );
845
+            $this->items = array_values($this->items);
846 846
             
847 847
             $new_meta = array(
848 848
                 'items'         => $this->items,
@@ -853,12 +853,12 @@  discard block
 block discarded – undo
853 853
             );
854 854
             
855 855
             $meta        = $this->get_meta();
856
-            $merged_meta = array_merge( $meta, $new_meta );
856
+            $merged_meta = array_merge($meta, $new_meta);
857 857
 
858 858
             // Only save the payment meta if it's changed
859
-            if ( md5( serialize( $meta ) ) !== md5( serialize( $merged_meta) ) ) {
860
-                $updated     = $this->update_meta( '_wpinv_payment_meta', $merged_meta );
861
-                if ( false !== $updated ) {
859
+            if (md5(serialize($meta)) !== md5(serialize($merged_meta))) {
860
+                $updated = $this->update_meta('_wpinv_payment_meta', $merged_meta);
861
+                if (false !== $updated) {
862 862
                     $saved = true;
863 863
                 }
864 864
             }
@@ -866,15 +866,15 @@  discard block
 block discarded – undo
866 866
             $this->pending = array();
867 867
             $saved         = true;
868 868
         } else {
869
-            $this->update_meta( '_wpinv_subtotal', wpinv_round_amount( $this->subtotal ) );
870
-            $this->update_meta( '_wpinv_total', wpinv_round_amount( $this->total ) );
871
-            $this->update_meta( '_wpinv_tax', wpinv_round_amount( $this->tax ) );
869
+            $this->update_meta('_wpinv_subtotal', wpinv_round_amount($this->subtotal));
870
+            $this->update_meta('_wpinv_total', wpinv_round_amount($this->total));
871
+            $this->update_meta('_wpinv_tax', wpinv_round_amount($this->tax));
872 872
         }
873 873
         
874
-        do_action( 'wpinv_invoice_save', $this, $saved );
874
+        do_action('wpinv_invoice_save', $this, $saved);
875 875
 
876
-        if ( true === $saved || $setup ) {
877
-            $this->setup_invoice( $this->ID );
876
+        if (true === $saved || $setup) {
877
+            $this->setup_invoice($this->ID);
878 878
         }
879 879
         
880 880
         $this->refresh_item_ids();
@@ -882,7 +882,7 @@  discard block
 block discarded – undo
882 882
         return $saved;
883 883
     }
884 884
     
885
-    public function add_fee( $args, $global = true ) {
885
+    public function add_fee($args, $global = true) {
886 886
         $default_args = array(
887 887
             'label'       => '',
888 888
             'amount'      => 0,
@@ -892,75 +892,75 @@  discard block
 block discarded – undo
892 892
             'item_id'     => 0,
893 893
         );
894 894
 
895
-        $fee = wp_parse_args( $args, $default_args );
895
+        $fee = wp_parse_args($args, $default_args);
896 896
         
897
-        if ( empty( $fee['label'] ) ) {
897
+        if (empty($fee['label'])) {
898 898
             return false;
899 899
         }
900 900
         
901
-        $fee['id']  = sanitize_title( $fee['label'] );
901
+        $fee['id'] = sanitize_title($fee['label']);
902 902
         
903
-        $this->fees[]               = $fee;
903
+        $this->fees[] = $fee;
904 904
         
905 905
         $added_fee               = $fee;
906 906
         $added_fee['action']     = 'add';
907 907
         $this->pending['fees'][] = $added_fee;
908
-        reset( $this->fees );
908
+        reset($this->fees);
909 909
 
910
-        $this->increase_fees( $fee['amount'] );
910
+        $this->increase_fees($fee['amount']);
911 911
         return true;
912 912
     }
913 913
 
914
-    public function remove_fee( $key ) {
914
+    public function remove_fee($key) {
915 915
         $removed = false;
916 916
 
917
-        if ( is_numeric( $key ) ) {
918
-            $removed = $this->remove_fee_by( 'index', $key );
917
+        if (is_numeric($key)) {
918
+            $removed = $this->remove_fee_by('index', $key);
919 919
         }
920 920
 
921 921
         return $removed;
922 922
     }
923 923
 
924
-    public function remove_fee_by( $key, $value, $global = false ) {
925
-        $allowed_fee_keys = apply_filters( 'wpinv_fee_keys', array(
924
+    public function remove_fee_by($key, $value, $global = false) {
925
+        $allowed_fee_keys = apply_filters('wpinv_fee_keys', array(
926 926
             'index', 'label', 'amount', 'type',
927
-        ) );
927
+        ));
928 928
 
929
-        if ( ! in_array( $key, $allowed_fee_keys ) ) {
929
+        if (!in_array($key, $allowed_fee_keys)) {
930 930
             return false;
931 931
         }
932 932
 
933 933
         $removed = false;
934
-        if ( 'index' === $key && array_key_exists( $value, $this->fees ) ) {
935
-            $removed_fee             = $this->fees[ $value ];
934
+        if ('index' === $key && array_key_exists($value, $this->fees)) {
935
+            $removed_fee             = $this->fees[$value];
936 936
             $removed_fee['action']   = 'remove';
937 937
             $this->pending['fees'][] = $removed_fee;
938 938
 
939
-            $this->decrease_fees( $removed_fee['amount'] );
939
+            $this->decrease_fees($removed_fee['amount']);
940 940
 
941
-            unset( $this->fees[ $value ] );
941
+            unset($this->fees[$value]);
942 942
             $removed = true;
943
-        } else if ( 'index' !== $key ) {
944
-            foreach ( $this->fees as $index => $fee ) {
945
-                if ( isset( $fee[ $key ] ) && $fee[ $key ] == $value ) {
943
+        } else if ('index' !== $key) {
944
+            foreach ($this->fees as $index => $fee) {
945
+                if (isset($fee[$key]) && $fee[$key] == $value) {
946 946
                     $removed_fee             = $fee;
947 947
                     $removed_fee['action']   = 'remove';
948 948
                     $this->pending['fees'][] = $removed_fee;
949 949
 
950
-                    $this->decrease_fees( $removed_fee['amount'] );
950
+                    $this->decrease_fees($removed_fee['amount']);
951 951
 
952
-                    unset( $this->fees[ $index ] );
952
+                    unset($this->fees[$index]);
953 953
                     $removed = true;
954 954
 
955
-                    if ( false === $global ) {
955
+                    if (false === $global) {
956 956
                         break;
957 957
                     }
958 958
                 }
959 959
             }
960 960
         }
961 961
 
962
-        if ( true === $removed ) {
963
-            $this->fees = array_values( $this->fees );
962
+        if (true === $removed) {
963
+            $this->fees = array_values($this->fees);
964 964
         }
965 965
 
966 966
         return $removed;
@@ -968,35 +968,35 @@  discard block
 block discarded – undo
968 968
 
969 969
     
970 970
 
971
-    public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
971
+    public function add_note($note = '', $customer_type = false, $added_by_user = false, $system = false) {
972 972
         // Bail if no note specified
973
-        if( !$note ) {
973
+        if (!$note) {
974 974
             return false;
975 975
         }
976 976
 
977
-        if ( empty( $this->ID ) )
977
+        if (empty($this->ID))
978 978
             return false;
979 979
         
980
-        if ( ( ( is_user_logged_in() && wpinv_current_user_can_manage_invoicing() ) || $added_by_user ) && !$system ) {
981
-            $user                 = get_user_by( 'id', get_current_user_id() );
980
+        if (((is_user_logged_in() && wpinv_current_user_can_manage_invoicing()) || $added_by_user) && !$system) {
981
+            $user                 = get_user_by('id', get_current_user_id());
982 982
             $comment_author       = $user->display_name;
983 983
             $comment_author_email = $user->user_email;
984 984
         } else {
985 985
             $comment_author       = 'System';
986 986
             $comment_author_email = 'system@';
987
-            $comment_author_email .= isset( $_SERVER['HTTP_HOST'] ) ? str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ) : 'noreply.com';
988
-            $comment_author_email = sanitize_email( $comment_author_email );
987
+            $comment_author_email .= isset($_SERVER['HTTP_HOST']) ? str_replace('www.', '', $_SERVER['HTTP_HOST']) : 'noreply.com';
988
+            $comment_author_email = sanitize_email($comment_author_email);
989 989
         }
990 990
 
991
-        do_action( 'wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type );
991
+        do_action('wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type);
992 992
 
993
-        $note_id = wp_insert_comment( wp_filter_comment( array(
993
+        $note_id = wp_insert_comment(wp_filter_comment(array(
994 994
             'comment_post_ID'      => $this->ID,
995 995
             'comment_content'      => $note,
996 996
             'comment_agent'        => 'WPInvoicing',
997 997
             'user_id'              => is_admin() ? get_current_user_id() : 0,
998
-            'comment_date'         => current_time( 'mysql' ),
999
-            'comment_date_gmt'     => current_time( 'mysql', 1 ),
998
+            'comment_date'         => current_time('mysql'),
999
+            'comment_date_gmt'     => current_time('mysql', 1),
1000 1000
             'comment_approved'     => 1,
1001 1001
             'comment_parent'       => 0,
1002 1002
             'comment_author'       => $comment_author,
@@ -1004,53 +1004,53 @@  discard block
 block discarded – undo
1004 1004
             'comment_author_url'   => '',
1005 1005
             'comment_author_email' => $comment_author_email,
1006 1006
             'comment_type'         => 'wpinv_note'
1007
-        ) ) );
1007
+        )));
1008 1008
 
1009
-        do_action( 'wpinv_insert_payment_note', $note_id, $this->ID, $note );
1009
+        do_action('wpinv_insert_payment_note', $note_id, $this->ID, $note);
1010 1010
         
1011
-        if ( $customer_type ) {
1012
-            add_comment_meta( $note_id, '_wpi_customer_note', 1 );
1011
+        if ($customer_type) {
1012
+            add_comment_meta($note_id, '_wpi_customer_note', 1);
1013 1013
 
1014
-            do_action( 'wpinv_new_customer_note', array( 'invoice_id' => $this->ID, 'user_note' => $note ) );
1014
+            do_action('wpinv_new_customer_note', array('invoice_id' => $this->ID, 'user_note' => $note));
1015 1015
         }
1016 1016
 
1017 1017
         return $note_id;
1018 1018
     }
1019 1019
 
1020
-    private function increase_subtotal( $amount = 0.00 ) {
1020
+    private function increase_subtotal($amount = 0.00) {
1021 1021
         $amount          = (float) $amount;
1022 1022
         $this->subtotal += $amount;
1023
-        $this->subtotal  = wpinv_round_amount( $this->subtotal );
1023
+        $this->subtotal  = wpinv_round_amount($this->subtotal);
1024 1024
 
1025 1025
         $this->recalculate_total();
1026 1026
     }
1027 1027
 
1028
-    private function decrease_subtotal( $amount = 0.00 ) {
1028
+    private function decrease_subtotal($amount = 0.00) {
1029 1029
         $amount          = (float) $amount;
1030 1030
         $this->subtotal -= $amount;
1031
-        $this->subtotal  = wpinv_round_amount( $this->subtotal );
1031
+        $this->subtotal  = wpinv_round_amount($this->subtotal);
1032 1032
 
1033
-        if ( $this->subtotal < 0 ) {
1033
+        if ($this->subtotal < 0) {
1034 1034
             $this->subtotal = 0;
1035 1035
         }
1036 1036
 
1037 1037
         $this->recalculate_total();
1038 1038
     }
1039 1039
 
1040
-    private function increase_fees( $amount = 0.00 ) {
1041
-        $amount            = (float)$amount;
1040
+    private function increase_fees($amount = 0.00) {
1041
+        $amount            = (float) $amount;
1042 1042
         $this->fees_total += $amount;
1043
-        $this->fees_total  = wpinv_round_amount( $this->fees_total );
1043
+        $this->fees_total  = wpinv_round_amount($this->fees_total);
1044 1044
 
1045 1045
         $this->recalculate_total();
1046 1046
     }
1047 1047
 
1048
-    private function decrease_fees( $amount = 0.00 ) {
1048
+    private function decrease_fees($amount = 0.00) {
1049 1049
         $amount            = (float) $amount;
1050 1050
         $this->fees_total -= $amount;
1051
-        $this->fees_total  = wpinv_round_amount( $this->fees_total );
1051
+        $this->fees_total  = wpinv_round_amount($this->fees_total);
1052 1052
 
1053
-        if ( $this->fees_total < 0 ) {
1053
+        if ($this->fees_total < 0) {
1054 1054
             $this->fees_total = 0;
1055 1055
         }
1056 1056
 
@@ -1061,54 +1061,54 @@  discard block
 block discarded – undo
1061 1061
         global $wpi_nosave;
1062 1062
         
1063 1063
         $this->total = $this->subtotal + $this->tax + $this->fees_total;
1064
-        $this->total = wpinv_round_amount( $this->total );
1064
+        $this->total = wpinv_round_amount($this->total);
1065 1065
         
1066
-        do_action( 'wpinv_invoice_recalculate_total', $this, $wpi_nosave );
1066
+        do_action('wpinv_invoice_recalculate_total', $this, $wpi_nosave);
1067 1067
     }
1068 1068
     
1069
-    public function increase_tax( $amount = 0.00 ) {
1069
+    public function increase_tax($amount = 0.00) {
1070 1070
         $amount       = (float) $amount;
1071 1071
         $this->tax   += $amount;
1072 1072
 
1073 1073
         $this->recalculate_total();
1074 1074
     }
1075 1075
 
1076
-    public function decrease_tax( $amount = 0.00 ) {
1076
+    public function decrease_tax($amount = 0.00) {
1077 1077
         $amount     = (float) $amount;
1078 1078
         $this->tax -= $amount;
1079 1079
 
1080
-        if ( $this->tax < 0 ) {
1080
+        if ($this->tax < 0) {
1081 1081
             $this->tax = 0;
1082 1082
         }
1083 1083
 
1084 1084
         $this->recalculate_total();
1085 1085
     }
1086 1086
 
1087
-    public function update_status( $new_status = false, $note = '', $manual = false ) {
1088
-        $old_status = ! empty( $this->old_status ) ? $this->old_status : get_post_status( $this->ID );
1087
+    public function update_status($new_status = false, $note = '', $manual = false) {
1088
+        $old_status = !empty($this->old_status) ? $this->old_status : get_post_status($this->ID);
1089 1089
 
1090
-        if ( $old_status === $new_status && in_array( $new_status, array_keys( wpinv_get_invoice_statuses( true ) ) ) ) {
1090
+        if ($old_status === $new_status && in_array($new_status, array_keys(wpinv_get_invoice_statuses(true)))) {
1091 1091
             return false; // Don't permit status changes that aren't changes
1092 1092
         }
1093 1093
 
1094
-        $do_change = apply_filters( 'wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status );
1094
+        $do_change = apply_filters('wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status);
1095 1095
         $updated = false;
1096 1096
 
1097
-        if ( $do_change ) {
1098
-            do_action( 'wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status );
1097
+        if ($do_change) {
1098
+            do_action('wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status);
1099 1099
 
1100 1100
             $update_post_data                   = array();
1101 1101
             $update_post_data['ID']             = $this->ID;
1102 1102
             $update_post_data['post_status']    = $new_status;
1103
-            $update_post_data['edit_date']      = current_time( 'mysql', 0 );
1104
-            $update_post_data['edit_date_gmt']  = current_time( 'mysql', 1 );
1103
+            $update_post_data['edit_date']      = current_time('mysql', 0);
1104
+            $update_post_data['edit_date_gmt']  = current_time('mysql', 1);
1105 1105
             
1106
-            $update_post_data = apply_filters( 'wpinv_update_invoice_status_fields', $update_post_data, $this->ID );
1106
+            $update_post_data = apply_filters('wpinv_update_invoice_status_fields', $update_post_data, $this->ID);
1107 1107
 
1108
-            $updated = wp_update_post( $update_post_data );     
1108
+            $updated = wp_update_post($update_post_data);     
1109 1109
            
1110 1110
             // Process any specific status functions
1111
-            switch( $new_status ) {
1111
+            switch ($new_status) {
1112 1112
                 case 'wpi-refunded':
1113 1113
                     $this->process_refund();
1114 1114
                     break;
@@ -1121,9 +1121,9 @@  discard block
 block discarded – undo
1121 1121
             }
1122 1122
             
1123 1123
             // Status was changed.
1124
-            do_action( 'wpinv_status_' . $new_status, $this->ID, $old_status );
1125
-            do_action( 'wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status );
1126
-            do_action( 'wpinv_update_status', $this->ID, $new_status, $old_status );
1124
+            do_action('wpinv_status_' . $new_status, $this->ID, $old_status);
1125
+            do_action('wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status);
1126
+            do_action('wpinv_update_status', $this->ID, $new_status, $old_status);
1127 1127
         }
1128 1128
 
1129 1129
         return $updated;
@@ -1137,20 +1137,20 @@  discard block
 block discarded – undo
1137 1137
         $this->save();
1138 1138
     }
1139 1139
 
1140
-    public function update_meta( $meta_key = '', $meta_value = '', $prev_value = '' ) {
1141
-        if ( empty( $meta_key ) ) {
1140
+    public function update_meta($meta_key = '', $meta_value = '', $prev_value = '') {
1141
+        if (empty($meta_key)) {
1142 1142
             return false;
1143 1143
         }
1144 1144
 
1145
-        if ( $meta_key == 'key' || $meta_key == 'date' ) {
1145
+        if ($meta_key == 'key' || $meta_key == 'date') {
1146 1146
             $current_meta = $this->get_meta();
1147
-            $current_meta[ $meta_key ] = $meta_value;
1147
+            $current_meta[$meta_key] = $meta_value;
1148 1148
 
1149 1149
             $meta_key     = '_wpinv_payment_meta';
1150 1150
             $meta_value   = $current_meta;
1151 1151
         }
1152 1152
 
1153
-        $meta_value = apply_filters( 'wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID );
1153
+        $meta_value = apply_filters('wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID);
1154 1154
         
1155 1155
         // Do not update created date on invoice marked as paid.
1156 1156
         /*if ( $meta_key == '_wpinv_completed_date' && !empty( $meta_value ) ) {
@@ -1165,45 +1165,45 @@  discard block
 block discarded – undo
1165 1165
             wp_update_post( $args );
1166 1166
         }*/
1167 1167
         
1168
-        return update_post_meta( $this->ID, $meta_key, $meta_value, $prev_value );
1168
+        return update_post_meta($this->ID, $meta_key, $meta_value, $prev_value);
1169 1169
     }
1170 1170
 
1171 1171
     private function process_refund() {
1172 1172
         $process_refund = true;
1173 1173
 
1174 1174
         // If the payment was not in publish, don't decrement stats as they were never incremented
1175
-        if ( 'publish' != $this->old_status || 'wpi-refunded' != $this->status ) {
1175
+        if ('publish' != $this->old_status || 'wpi-refunded' != $this->status) {
1176 1176
             $process_refund = false;
1177 1177
         }
1178 1178
 
1179 1179
         // Allow extensions to filter for their own payment types, Example: Recurring Payments
1180
-        $process_refund = apply_filters( 'wpinv_should_process_refund', $process_refund, $this );
1180
+        $process_refund = apply_filters('wpinv_should_process_refund', $process_refund, $this);
1181 1181
 
1182
-        if ( false === $process_refund ) {
1182
+        if (false === $process_refund) {
1183 1183
             return;
1184 1184
         }
1185 1185
 
1186
-        do_action( 'wpinv_pre_refund_invoice', $this );
1186
+        do_action('wpinv_pre_refund_invoice', $this);
1187 1187
         
1188
-        $decrease_store_earnings = apply_filters( 'wpinv_decrease_store_earnings_on_refund', true, $this );
1189
-        $decrease_customer_value = apply_filters( 'wpinv_decrease_customer_value_on_refund', true, $this );
1190
-        $decrease_purchase_count = apply_filters( 'wpinv_decrease_customer_purchase_count_on_refund', true, $this );
1188
+        $decrease_store_earnings = apply_filters('wpinv_decrease_store_earnings_on_refund', true, $this);
1189
+        $decrease_customer_value = apply_filters('wpinv_decrease_customer_value_on_refund', true, $this);
1190
+        $decrease_purchase_count = apply_filters('wpinv_decrease_customer_purchase_count_on_refund', true, $this);
1191 1191
         
1192
-        do_action( 'wpinv_post_refund_invoice', $this );
1192
+        do_action('wpinv_post_refund_invoice', $this);
1193 1193
     }
1194 1194
 
1195 1195
     private function process_failure() {
1196 1196
         $discounts = $this->discounts;
1197
-        if ( empty( $discounts ) ) {
1197
+        if (empty($discounts)) {
1198 1198
             return;
1199 1199
         }
1200 1200
 
1201
-        if ( ! is_array( $discounts ) ) {
1202
-            $discounts = array_map( 'trim', explode( ',', $discounts ) );
1201
+        if (!is_array($discounts)) {
1202
+            $discounts = array_map('trim', explode(',', $discounts));
1203 1203
         }
1204 1204
 
1205
-        foreach ( $discounts as $discount ) {
1206
-            wpinv_decrease_discount_usage( $discount );
1205
+        foreach ($discounts as $discount) {
1206
+            wpinv_decrease_discount_usage($discount);
1207 1207
         }
1208 1208
     }
1209 1209
     
@@ -1211,92 +1211,92 @@  discard block
 block discarded – undo
1211 1211
         $process_pending = true;
1212 1212
 
1213 1213
         // If the payment was not in publish or revoked status, don't decrement stats as they were never incremented
1214
-        if ( ( 'publish' != $this->old_status && 'revoked' != $this->old_status ) || 'wpi-pending' != $this->status ) {
1214
+        if (('publish' != $this->old_status && 'revoked' != $this->old_status) || 'wpi-pending' != $this->status) {
1215 1215
             $process_pending = false;
1216 1216
         }
1217 1217
 
1218 1218
         // Allow extensions to filter for their own payment types, Example: Recurring Payments
1219
-        $process_pending = apply_filters( 'wpinv_should_process_pending', $process_pending, $this );
1219
+        $process_pending = apply_filters('wpinv_should_process_pending', $process_pending, $this);
1220 1220
 
1221
-        if ( false === $process_pending ) {
1221
+        if (false === $process_pending) {
1222 1222
             return;
1223 1223
         }
1224 1224
 
1225
-        $decrease_store_earnings = apply_filters( 'wpinv_decrease_store_earnings_on_pending', true, $this );
1226
-        $decrease_customer_value = apply_filters( 'wpinv_decrease_customer_value_on_pending', true, $this );
1227
-        $decrease_purchase_count = apply_filters( 'wpinv_decrease_customer_purchase_count_on_pending', true, $this );
1225
+        $decrease_store_earnings = apply_filters('wpinv_decrease_store_earnings_on_pending', true, $this);
1226
+        $decrease_customer_value = apply_filters('wpinv_decrease_customer_value_on_pending', true, $this);
1227
+        $decrease_purchase_count = apply_filters('wpinv_decrease_customer_purchase_count_on_pending', true, $this);
1228 1228
 
1229 1229
         $this->completed_date = '';
1230
-        $this->update_meta( '_wpinv_completed_date', '' );
1230
+        $this->update_meta('_wpinv_completed_date', '');
1231 1231
     }
1232 1232
     
1233 1233
     // get data
1234
-    public function get_meta( $meta_key = '_wpinv_payment_meta', $single = true ) {
1235
-        $meta = get_post_meta( $this->ID, $meta_key, $single );
1234
+    public function get_meta($meta_key = '_wpinv_payment_meta', $single = true) {
1235
+        $meta = get_post_meta($this->ID, $meta_key, $single);
1236 1236
 
1237
-        if ( $meta_key === '_wpinv_payment_meta' ) {
1237
+        if ($meta_key === '_wpinv_payment_meta') {
1238 1238
 
1239
-            if(!is_array($meta)){$meta = array();} // we need this to be an array so make sure it is.
1239
+            if (!is_array($meta)) {$meta = array(); } // we need this to be an array so make sure it is.
1240 1240
 
1241
-            if ( empty( $meta['key'] ) ) {
1241
+            if (empty($meta['key'])) {
1242 1242
                 $meta['key'] = $this->setup_invoice_key();
1243 1243
             }
1244 1244
 
1245
-            if ( empty( $meta['date'] ) ) {
1246
-                $meta['date'] = get_post_field( 'post_date', $this->ID );
1245
+            if (empty($meta['date'])) {
1246
+                $meta['date'] = get_post_field('post_date', $this->ID);
1247 1247
             }
1248 1248
         }
1249 1249
 
1250
-        $meta = apply_filters( 'wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID );
1250
+        $meta = apply_filters('wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID);
1251 1251
 
1252
-        return apply_filters( 'wpinv_get_invoice_meta', $meta, $this->ID, $meta_key );
1252
+        return apply_filters('wpinv_get_invoice_meta', $meta, $this->ID, $meta_key);
1253 1253
     }
1254 1254
     
1255 1255
     public function get_description() {
1256
-        $post = get_post( $this->ID );
1256
+        $post = get_post($this->ID);
1257 1257
         
1258
-        $description = !empty( $post ) ? $post->post_content : '';
1259
-        return apply_filters( 'wpinv_get_description', $description, $this->ID, $this );
1258
+        $description = !empty($post) ? $post->post_content : '';
1259
+        return apply_filters('wpinv_get_description', $description, $this->ID, $this);
1260 1260
     }
1261 1261
     
1262
-    public function get_status( $nicename = false ) {
1263
-        if ( !$nicename ) {
1262
+    public function get_status($nicename = false) {
1263
+        if (!$nicename) {
1264 1264
             $status = $this->status;
1265 1265
         } else {
1266 1266
             $status = $this->status_nicename;
1267 1267
         }
1268 1268
         
1269
-        return apply_filters( 'wpinv_get_status', $status, $nicename, $this->ID, $this );
1269
+        return apply_filters('wpinv_get_status', $status, $nicename, $this->ID, $this);
1270 1270
     }
1271 1271
     
1272 1272
     public function get_cart_details() {
1273
-        return apply_filters( 'wpinv_cart_details', $this->cart_details, $this->ID, $this );
1273
+        return apply_filters('wpinv_cart_details', $this->cart_details, $this->ID, $this);
1274 1274
     }
1275 1275
     
1276
-    public function get_subtotal( $currency = false ) {
1277
-        $subtotal = wpinv_round_amount( $this->subtotal );
1276
+    public function get_subtotal($currency = false) {
1277
+        $subtotal = wpinv_round_amount($this->subtotal);
1278 1278
         
1279
-        if ( $currency ) {
1280
-            $subtotal = wpinv_price( wpinv_format_amount( $subtotal, NULL, !$currency ), $this->get_currency() );
1279
+        if ($currency) {
1280
+            $subtotal = wpinv_price(wpinv_format_amount($subtotal, NULL, !$currency), $this->get_currency());
1281 1281
         }
1282 1282
         
1283
-        return apply_filters( 'wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency );
1283
+        return apply_filters('wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency);
1284 1284
     }
1285 1285
     
1286
-    public function get_total( $currency = false ) {        
1287
-        if ( $this->is_free_trial() ) {
1288
-            $total = wpinv_round_amount( 0 );
1286
+    public function get_total($currency = false) {        
1287
+        if ($this->is_free_trial()) {
1288
+            $total = wpinv_round_amount(0);
1289 1289
         } else {
1290
-            $total = wpinv_round_amount( $this->total );
1290
+            $total = wpinv_round_amount($this->total);
1291 1291
         }
1292
-        if ( $currency ) {
1293
-            $total = wpinv_price( wpinv_format_amount( $total, NULL, !$currency ), $this->get_currency() );
1292
+        if ($currency) {
1293
+            $total = wpinv_price(wpinv_format_amount($total, NULL, !$currency), $this->get_currency());
1294 1294
         }
1295 1295
         
1296
-        return apply_filters( 'wpinv_get_invoice_total', $total, $this->ID, $this, $currency );
1296
+        return apply_filters('wpinv_get_invoice_total', $total, $this->ID, $this, $currency);
1297 1297
     }
1298 1298
     
1299
-    public function get_recurring_details( $field = '', $currency = false ) {        
1299
+    public function get_recurring_details($field = '', $currency = false) {        
1300 1300
         $data                 = array();
1301 1301
         $data['cart_details'] = $this->cart_details;
1302 1302
         $data['subtotal']     = $this->get_subtotal();
@@ -1304,164 +1304,164 @@  discard block
 block discarded – undo
1304 1304
         $data['tax']          = $this->get_tax();
1305 1305
         $data['total']        = $this->get_total();
1306 1306
     
1307
-        if ( !empty( $this->cart_details ) && ( $this->is_parent() || $this->is_renewal() ) ) {
1307
+        if (!empty($this->cart_details) && ($this->is_parent() || $this->is_renewal())) {
1308 1308
             $is_free_trial = $this->is_free_trial();
1309
-            $discounts = $this->get_discounts( true );
1309
+            $discounts = $this->get_discounts(true);
1310 1310
             
1311
-            if ( $is_free_trial || !empty( $discounts ) ) {
1311
+            if ($is_free_trial || !empty($discounts)) {
1312 1312
                 $first_use_only = false;
1313 1313
                 
1314
-                if ( !empty( $discounts ) ) {
1315
-                    foreach ( $discounts as $key => $code ) {
1316
-                        if ( wpinv_discount_is_recurring( $code, true ) && !$this->is_renewal() ) {
1314
+                if (!empty($discounts)) {
1315
+                    foreach ($discounts as $key => $code) {
1316
+                        if (wpinv_discount_is_recurring($code, true) && !$this->is_renewal()) {
1317 1317
                             $first_use_only = true;
1318 1318
                             break;
1319 1319
                         }
1320 1320
                     }
1321 1321
                 }
1322 1322
                     
1323
-                if ( !$first_use_only ) {
1324
-                    $data['subtotal'] = wpinv_round_amount( $this->subtotal );
1325
-                    $data['discount'] = wpinv_round_amount( $this->discount );
1326
-                    $data['tax']      = wpinv_round_amount( $this->tax );
1327
-                    $data['total']    = wpinv_round_amount( $this->total );
1323
+                if (!$first_use_only) {
1324
+                    $data['subtotal'] = wpinv_round_amount($this->subtotal);
1325
+                    $data['discount'] = wpinv_round_amount($this->discount);
1326
+                    $data['tax']      = wpinv_round_amount($this->tax);
1327
+                    $data['total']    = wpinv_round_amount($this->total);
1328 1328
                 } else {
1329 1329
                     $cart_subtotal   = 0;
1330 1330
                     $cart_discount   = $this->discount;
1331 1331
                     $cart_tax        = 0;
1332 1332
 
1333
-                    foreach ( $this->cart_details as $key => $item ) {
1334
-                        $item_quantity  = $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1;
1335
-                        $item_subtotal  = !empty( $item['subtotal'] ) ? $item['subtotal'] : $item['item_price'] * $item_quantity;
1333
+                    foreach ($this->cart_details as $key => $item) {
1334
+                        $item_quantity  = $item['quantity'] > 0 ? absint($item['quantity']) : 1;
1335
+                        $item_subtotal  = !empty($item['subtotal']) ? $item['subtotal'] : $item['item_price'] * $item_quantity;
1336 1336
                         $item_discount  = 0;
1337
-                        $item_tax       = $item_subtotal > 0 && !empty( $item['vat_rate'] ) ? ( $item_subtotal * 0.01 * (float)$item['vat_rate'] ) : 0;
1337
+                        $item_tax       = $item_subtotal > 0 && !empty($item['vat_rate']) ? ($item_subtotal * 0.01 * (float) $item['vat_rate']) : 0;
1338 1338
                         
1339
-                        if ( wpinv_prices_include_tax() ) {
1340
-                            $item_subtotal -= wpinv_round_amount( $item_tax );
1339
+                        if (wpinv_prices_include_tax()) {
1340
+                            $item_subtotal -= wpinv_round_amount($item_tax);
1341 1341
                         }
1342 1342
                         
1343 1343
                         $item_total     = $item_subtotal - $item_discount + $item_tax;
1344 1344
                         // Do not allow totals to go negative
1345
-                        if ( $item_total < 0 ) {
1345
+                        if ($item_total < 0) {
1346 1346
                             $item_total = 0;
1347 1347
                         }
1348 1348
                         
1349
-                        $cart_subtotal  += (float)($item_subtotal);
1350
-                        $cart_discount  += (float)($item_discount);
1351
-                        $cart_tax       += (float)($item_tax);
1349
+                        $cart_subtotal  += (float) ($item_subtotal);
1350
+                        $cart_discount  += (float) ($item_discount);
1351
+                        $cart_tax       += (float) ($item_tax);
1352 1352
                         
1353
-                        $data['cart_details'][$key]['discount']   = wpinv_round_amount( $item_discount );
1354
-                        $data['cart_details'][$key]['tax']        = wpinv_round_amount( $item_tax );
1355
-                        $data['cart_details'][$key]['price']      = wpinv_round_amount( $item_total );
1353
+                        $data['cart_details'][$key]['discount']   = wpinv_round_amount($item_discount);
1354
+                        $data['cart_details'][$key]['tax']        = wpinv_round_amount($item_tax);
1355
+                        $data['cart_details'][$key]['price']      = wpinv_round_amount($item_total);
1356 1356
                     }
1357 1357
 
1358 1358
 	                $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1359
-	                if ( $total < 0 ) {
1359
+	                if ($total < 0) {
1360 1360
 		                $total = 0;
1361 1361
 	                }
1362 1362
 
1363
-                    $data['subtotal'] = wpinv_round_amount( $cart_subtotal );
1364
-                    $data['discount'] = wpinv_round_amount( $cart_discount );
1365
-                    $data['tax']      = wpinv_round_amount( $cart_tax );
1366
-                    $data['total']    = wpinv_round_amount( $total );
1363
+                    $data['subtotal'] = wpinv_round_amount($cart_subtotal);
1364
+                    $data['discount'] = wpinv_round_amount($cart_discount);
1365
+                    $data['tax']      = wpinv_round_amount($cart_tax);
1366
+                    $data['total']    = wpinv_round_amount($total);
1367 1367
                 }
1368 1368
             }
1369 1369
         }
1370 1370
         
1371
-        $data = apply_filters( 'wpinv_get_invoice_recurring_details', $data, $this, $field, $currency );
1371
+        $data = apply_filters('wpinv_get_invoice_recurring_details', $data, $this, $field, $currency);
1372 1372
 
1373
-        if ( isset( $data[$field] ) ) {
1374
-            return ( $currency ? wpinv_price( $data[$field], $this->get_currency() ) : $data[$field] );
1373
+        if (isset($data[$field])) {
1374
+            return ($currency ? wpinv_price($data[$field], $this->get_currency()) : $data[$field]);
1375 1375
         }
1376 1376
         
1377 1377
         return $data;
1378 1378
     }
1379 1379
     
1380
-    public function get_final_tax( $currency = false ) {        
1381
-        $final_total = wpinv_round_amount( $this->tax );
1382
-        if ( $currency ) {
1383
-            $final_total = wpinv_price( wpinv_format_amount( $final_total, NULL, !$currency ), $this->get_currency() );
1380
+    public function get_final_tax($currency = false) {        
1381
+        $final_total = wpinv_round_amount($this->tax);
1382
+        if ($currency) {
1383
+            $final_total = wpinv_price(wpinv_format_amount($final_total, NULL, !$currency), $this->get_currency());
1384 1384
         }
1385 1385
         
1386
-        return apply_filters( 'wpinv_get_invoice_final_total', $final_total, $this, $currency );
1386
+        return apply_filters('wpinv_get_invoice_final_total', $final_total, $this, $currency);
1387 1387
     }
1388 1388
     
1389
-    public function get_discounts( $array = false ) {
1389
+    public function get_discounts($array = false) {
1390 1390
         $discounts = $this->discounts;
1391
-        if ( $array && $discounts ) {
1392
-            $discounts = explode( ',', $discounts );
1391
+        if ($array && $discounts) {
1392
+            $discounts = explode(',', $discounts);
1393 1393
         }
1394
-        return apply_filters( 'wpinv_payment_discounts', $discounts, $this->ID, $this, $array );
1394
+        return apply_filters('wpinv_payment_discounts', $discounts, $this->ID, $this, $array);
1395 1395
     }
1396 1396
     
1397
-    public function get_discount( $currency = false, $dash = false ) {
1398
-        if ( !empty( $this->discounts ) ) {
1397
+    public function get_discount($currency = false, $dash = false) {
1398
+        if (!empty($this->discounts)) {
1399 1399
             global $ajax_cart_details;
1400 1400
             $ajax_cart_details = $this->get_cart_details();
1401 1401
             
1402
-            if ( !empty( $ajax_cart_details ) && count( $ajax_cart_details ) == count( $this->items ) ) {
1402
+            if (!empty($ajax_cart_details) && count($ajax_cart_details) == count($this->items)) {
1403 1403
                 $cart_items = $ajax_cart_details;
1404 1404
             } else {
1405 1405
                 $cart_items = $this->items;
1406 1406
             }
1407 1407
 
1408
-            $this->discount = wpinv_get_cart_items_discount_amount( $cart_items , $this->discounts );
1408
+            $this->discount = wpinv_get_cart_items_discount_amount($cart_items, $this->discounts);
1409 1409
         }
1410
-        $discount   = wpinv_round_amount( $this->discount );
1410
+        $discount   = wpinv_round_amount($this->discount);
1411 1411
         $dash       = $dash && $discount > 0 ? '&ndash;' : '';
1412 1412
         
1413
-        if ( $currency ) {
1414
-            $discount = wpinv_price( wpinv_format_amount( $discount, NULL, !$currency ), $this->get_currency() );
1413
+        if ($currency) {
1414
+            $discount = wpinv_price(wpinv_format_amount($discount, NULL, !$currency), $this->get_currency());
1415 1415
         }
1416 1416
         
1417
-        $discount   = $dash . $discount;
1417
+        $discount = $dash . $discount;
1418 1418
         
1419
-        return apply_filters( 'wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash );
1419
+        return apply_filters('wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash);
1420 1420
     }
1421 1421
     
1422 1422
     public function get_discount_code() {
1423 1423
         return $this->discount_code;
1424 1424
     }
1425 1425
     
1426
-    public function get_tax( $currency = false ) {
1427
-        $tax = wpinv_round_amount( $this->tax );
1426
+    public function get_tax($currency = false) {
1427
+        $tax = wpinv_round_amount($this->tax);
1428 1428
         
1429
-        if ( $currency ) {
1430
-            $tax = wpinv_price( wpinv_format_amount( $tax, NULL, !$currency ), $this->get_currency() );
1429
+        if ($currency) {
1430
+            $tax = wpinv_price(wpinv_format_amount($tax, NULL, !$currency), $this->get_currency());
1431 1431
         }
1432 1432
         
1433
-        return apply_filters( 'wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency );
1433
+        return apply_filters('wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency);
1434 1434
     }
1435 1435
     
1436
-    public function get_fees( $type = 'all' ) {
1437
-        $fees    = array();
1436
+    public function get_fees($type = 'all') {
1437
+        $fees = array();
1438 1438
 
1439
-        if ( ! empty( $this->fees ) && is_array( $this->fees ) ) {
1440
-            foreach ( $this->fees as $fee ) {
1441
-                if( 'all' != $type && ! empty( $fee['type'] ) && $type != $fee['type'] ) {
1439
+        if (!empty($this->fees) && is_array($this->fees)) {
1440
+            foreach ($this->fees as $fee) {
1441
+                if ('all' != $type && !empty($fee['type']) && $type != $fee['type']) {
1442 1442
                     continue;
1443 1443
                 }
1444 1444
 
1445
-                $fee['label'] = stripslashes( $fee['label'] );
1446
-                $fee['amount_display'] = wpinv_price( $fee['amount'], $this->get_currency() );
1447
-                $fees[]    = $fee;
1445
+                $fee['label'] = stripslashes($fee['label']);
1446
+                $fee['amount_display'] = wpinv_price($fee['amount'], $this->get_currency());
1447
+                $fees[] = $fee;
1448 1448
             }
1449 1449
         }
1450 1450
 
1451
-        return apply_filters( 'wpinv_get_invoice_fees', $fees, $this->ID, $this );
1451
+        return apply_filters('wpinv_get_invoice_fees', $fees, $this->ID, $this);
1452 1452
     }
1453 1453
     
1454
-    public function get_fees_total( $type = 'all' ) {
1454
+    public function get_fees_total($type = 'all') {
1455 1455
         $fees_total = (float) 0.00;
1456 1456
 
1457
-        $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array();
1458
-        if ( ! empty( $payment_fees ) ) {
1459
-            foreach ( $payment_fees as $fee ) {
1457
+        $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array();
1458
+        if (!empty($payment_fees)) {
1459
+            foreach ($payment_fees as $fee) {
1460 1460
                 $fees_total += (float) $fee['amount'];
1461 1461
             }
1462 1462
         }
1463 1463
 
1464
-        return apply_filters( 'wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this );
1464
+        return apply_filters('wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this);
1465 1465
         /*
1466 1466
         $fees = $this->get_fees( $type );
1467 1467
 
@@ -1481,116 +1481,116 @@  discard block
 block discarded – undo
1481 1481
     }
1482 1482
 
1483 1483
     public function get_user_id() {
1484
-        return apply_filters( 'wpinv_user_id', $this->user_id, $this->ID, $this );
1484
+        return apply_filters('wpinv_user_id', $this->user_id, $this->ID, $this);
1485 1485
     }
1486 1486
     
1487 1487
     public function get_first_name() {
1488
-        return apply_filters( 'wpinv_first_name', $this->first_name, $this->ID, $this );
1488
+        return apply_filters('wpinv_first_name', $this->first_name, $this->ID, $this);
1489 1489
     }
1490 1490
     
1491 1491
     public function get_last_name() {
1492
-        return apply_filters( 'wpinv_last_name', $this->last_name, $this->ID, $this );
1492
+        return apply_filters('wpinv_last_name', $this->last_name, $this->ID, $this);
1493 1493
     }
1494 1494
     
1495 1495
     public function get_user_full_name() {
1496
-        return apply_filters( 'wpinv_user_full_name', $this->full_name, $this->ID, $this );
1496
+        return apply_filters('wpinv_user_full_name', $this->full_name, $this->ID, $this);
1497 1497
     }
1498 1498
     
1499 1499
     public function get_user_info() {
1500
-        return apply_filters( 'wpinv_user_info', $this->user_info, $this->ID, $this );
1500
+        return apply_filters('wpinv_user_info', $this->user_info, $this->ID, $this);
1501 1501
     }
1502 1502
     
1503 1503
     public function get_email() {
1504
-        return apply_filters( 'wpinv_user_email', $this->email, $this->ID, $this );
1504
+        return apply_filters('wpinv_user_email', $this->email, $this->ID, $this);
1505 1505
     }
1506 1506
     
1507 1507
     public function get_address() {
1508
-        return apply_filters( 'wpinv_address', $this->address, $this->ID, $this );
1508
+        return apply_filters('wpinv_address', $this->address, $this->ID, $this);
1509 1509
     }
1510 1510
     
1511 1511
     public function get_phone() {
1512
-        return apply_filters( 'wpinv_phone', $this->phone, $this->ID, $this );
1512
+        return apply_filters('wpinv_phone', $this->phone, $this->ID, $this);
1513 1513
     }
1514 1514
     
1515 1515
     public function get_number() {
1516
-        return apply_filters( 'wpinv_number', $this->number, $this->ID, $this );
1516
+        return apply_filters('wpinv_number', $this->number, $this->ID, $this);
1517 1517
     }
1518 1518
     
1519 1519
     public function get_items() {
1520
-        return apply_filters( 'wpinv_payment_meta_items', $this->items, $this->ID, $this );
1520
+        return apply_filters('wpinv_payment_meta_items', $this->items, $this->ID, $this);
1521 1521
     }
1522 1522
     
1523 1523
     public function get_key() {
1524
-        return apply_filters( 'wpinv_key', $this->key, $this->ID, $this );
1524
+        return apply_filters('wpinv_key', $this->key, $this->ID, $this);
1525 1525
     }
1526 1526
     
1527 1527
     public function get_transaction_id() {
1528
-        return apply_filters( 'wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this );
1528
+        return apply_filters('wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this);
1529 1529
     }
1530 1530
     
1531 1531
     public function get_gateway() {
1532
-        return apply_filters( 'wpinv_gateway', $this->gateway, $this->ID, $this );
1532
+        return apply_filters('wpinv_gateway', $this->gateway, $this->ID, $this);
1533 1533
     }
1534 1534
     
1535 1535
     public function get_gateway_title() {
1536
-        $this->gateway_title = !empty( $this->gateway_title ) ? $this->gateway_title : wpinv_get_gateway_checkout_label( $this->gateway );
1536
+        $this->gateway_title = !empty($this->gateway_title) ? $this->gateway_title : wpinv_get_gateway_checkout_label($this->gateway);
1537 1537
         
1538
-        return apply_filters( 'wpinv_gateway_title', $this->gateway_title, $this->ID, $this );
1538
+        return apply_filters('wpinv_gateway_title', $this->gateway_title, $this->ID, $this);
1539 1539
     }
1540 1540
     
1541 1541
     public function get_currency() {
1542
-        return apply_filters( 'wpinv_currency_code', $this->currency, $this->ID, $this );
1542
+        return apply_filters('wpinv_currency_code', $this->currency, $this->ID, $this);
1543 1543
     }
1544 1544
     
1545 1545
     public function get_created_date() {
1546
-        return apply_filters( 'wpinv_created_date', $this->date, $this->ID, $this );
1546
+        return apply_filters('wpinv_created_date', $this->date, $this->ID, $this);
1547 1547
     }
1548 1548
     
1549
-    public function get_due_date( $display = false ) {
1550
-        $due_date = apply_filters( 'wpinv_due_date', $this->due_date, $this->ID, $this );
1549
+    public function get_due_date($display = false) {
1550
+        $due_date = apply_filters('wpinv_due_date', $this->due_date, $this->ID, $this);
1551 1551
         
1552
-        if ( !$display || empty( $due_date ) ) {
1552
+        if (!$display || empty($due_date)) {
1553 1553
             return $due_date;
1554 1554
         }
1555 1555
         
1556
-        return date_i18n( get_option( 'date_format' ), strtotime( $due_date ) );
1556
+        return date_i18n(get_option('date_format'), strtotime($due_date));
1557 1557
     }
1558 1558
     
1559 1559
     public function get_completed_date() {
1560
-        return apply_filters( 'wpinv_completed_date', $this->completed_date, $this->ID, $this );
1560
+        return apply_filters('wpinv_completed_date', $this->completed_date, $this->ID, $this);
1561 1561
     }
1562 1562
     
1563
-    public function get_invoice_date( $formatted = true ) {
1563
+    public function get_invoice_date($formatted = true) {
1564 1564
         $date_completed = $this->completed_date;
1565 1565
         $invoice_date   = $date_completed != '' && $date_completed != '0000-00-00 00:00:00' ? $date_completed : '';
1566 1566
         
1567
-        if ( $invoice_date == '' ) {
1567
+        if ($invoice_date == '') {
1568 1568
             $date_created   = $this->date;
1569 1569
             $invoice_date   = $date_created != '' && $date_created != '0000-00-00 00:00:00' ? $date_created : '';
1570 1570
         }
1571 1571
         
1572
-        if ( $formatted && $invoice_date ) {
1573
-            $invoice_date   = date_i18n( get_option( 'date_format' ), strtotime( $invoice_date ) );
1572
+        if ($formatted && $invoice_date) {
1573
+            $invoice_date = date_i18n(get_option('date_format'), strtotime($invoice_date));
1574 1574
         }
1575 1575
 
1576
-        return apply_filters( 'wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this );
1576
+        return apply_filters('wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this);
1577 1577
     }
1578 1578
     
1579 1579
     public function get_ip() {
1580
-        return apply_filters( 'wpinv_user_ip', $this->ip, $this->ID, $this );
1580
+        return apply_filters('wpinv_user_ip', $this->ip, $this->ID, $this);
1581 1581
     }
1582 1582
         
1583
-    public function has_status( $status ) {
1584
-        return apply_filters( 'wpinv_has_status', ( is_array( $status ) && in_array( $this->get_status(), $status ) ) || $this->get_status() === $status ? true : false, $this, $status );
1583
+    public function has_status($status) {
1584
+        return apply_filters('wpinv_has_status', (is_array($status) && in_array($this->get_status(), $status)) || $this->get_status() === $status ? true : false, $this, $status);
1585 1585
     }
1586 1586
     
1587
-    public function add_item( $item_id = 0, $args = array() ) {
1587
+    public function add_item($item_id = 0, $args = array()) {
1588 1588
         global $wpi_current_id, $wpi_item_id;
1589 1589
         
1590
-        $item = new WPInv_Item( $item_id );
1590
+        $item = new WPInv_Item($item_id);
1591 1591
 
1592 1592
         // Bail if this post isn't a item
1593
-        if( !$item || $item->post_type !== 'wpi_item' ) {
1593
+        if (!$item || $item->post_type !== 'wpi_item') {
1594 1594
             return false;
1595 1595
         }
1596 1596
         
@@ -1609,8 +1609,8 @@  discard block
 block discarded – undo
1609 1609
             'fees'          => array()
1610 1610
         );
1611 1611
 
1612
-        $args = wp_parse_args( apply_filters( 'wpinv_add_item_args', $args, $item->ID ), $defaults );
1613
-        $args['quantity']   = $has_quantities && $args['quantity'] > 0 ? absint( $args['quantity'] ) : 1;
1612
+        $args = wp_parse_args(apply_filters('wpinv_add_item_args', $args, $item->ID), $defaults);
1613
+        $args['quantity'] = $has_quantities && $args['quantity'] > 0 ? absint($args['quantity']) : 1;
1614 1614
 
1615 1615
         $wpi_current_id         = $this->ID;
1616 1616
         $wpi_item_id            = $item->ID;
@@ -1622,19 +1622,19 @@  discard block
 block discarded – undo
1622 1622
         $found_cart_key         = false;
1623 1623
         
1624 1624
         if ($has_quantities) {
1625
-            $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details;
1625
+            $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details;
1626 1626
             
1627
-            foreach ( $this->items as $key => $cart_item ) {
1628
-                if ( (int)$item_id !== (int)$cart_item['id'] ) {
1627
+            foreach ($this->items as $key => $cart_item) {
1628
+                if ((int) $item_id !== (int) $cart_item['id']) {
1629 1629
                     continue;
1630 1630
                 }
1631 1631
 
1632
-                $this->items[ $key ]['quantity'] += $args['quantity'];
1632
+                $this->items[$key]['quantity'] += $args['quantity'];
1633 1633
                 break;
1634 1634
             }
1635 1635
             
1636
-            foreach ( $this->cart_details as $cart_key => $cart_item ) {
1637
-                if ( $item_id != $cart_item['id'] ) {
1636
+            foreach ($this->cart_details as $cart_key => $cart_item) {
1637
+                if ($item_id != $cart_item['id']) {
1638 1638
                     continue;
1639 1639
                 }
1640 1640
 
@@ -1646,29 +1646,29 @@  discard block
 block discarded – undo
1646 1646
         if ($has_quantities && $found_cart_key !== false) {
1647 1647
             $cart_item          = $this->cart_details[$found_cart_key];
1648 1648
             $item_price         = $cart_item['item_price'];
1649
-            $quantity           = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1;
1650
-            $tax_rate           = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0;
1649
+            $quantity           = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1;
1650
+            $tax_rate           = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0;
1651 1651
             
1652 1652
             $new_quantity       = $quantity + $args['quantity'];
1653 1653
             $subtotal           = $item_price * $new_quantity;
1654 1654
             
1655 1655
             $args['quantity']   = $new_quantity;
1656
-            $discount           = !empty( $args['discount'] ) ? $args['discount'] : 0;
1657
-            $tax                = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1656
+            $discount           = !empty($args['discount']) ? $args['discount'] : 0;
1657
+            $tax                = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1658 1658
             
1659
-            $discount_increased = $discount > 0 && $subtotal > 0 && $discount > (float)$cart_item['discount'] ? $discount - (float)$cart_item['discount'] : 0;
1660
-            $tax_increased      = $tax > 0 && $subtotal > 0 && $tax > (float)$cart_item['tax'] ? $tax - (float)$cart_item['tax'] : 0;
1659
+            $discount_increased = $discount > 0 && $subtotal > 0 && $discount > (float) $cart_item['discount'] ? $discount - (float) $cart_item['discount'] : 0;
1660
+            $tax_increased      = $tax > 0 && $subtotal > 0 && $tax > (float) $cart_item['tax'] ? $tax - (float) $cart_item['tax'] : 0;
1661 1661
             // The total increase equals the number removed * the item_price
1662
-            $total_increased    = wpinv_round_amount( $item_price );
1662
+            $total_increased    = wpinv_round_amount($item_price);
1663 1663
             
1664
-            if ( wpinv_prices_include_tax() ) {
1665
-                $subtotal -= wpinv_round_amount( $tax );
1664
+            if (wpinv_prices_include_tax()) {
1665
+                $subtotal -= wpinv_round_amount($tax);
1666 1666
             }
1667 1667
 
1668
-            $total              = $subtotal - $discount + $tax;
1668
+            $total = $subtotal - $discount + $tax;
1669 1669
 
1670 1670
             // Do not allow totals to go negative
1671
-            if( $total < 0 ) {
1671
+            if ($total < 0) {
1672 1672
                 $total = 0;
1673 1673
             }
1674 1674
             
@@ -1684,25 +1684,25 @@  discard block
 block discarded – undo
1684 1684
             $this->cart_details[$found_cart_key] = $cart_item;
1685 1685
         } else {
1686 1686
             // Set custom price.
1687
-            if ( $args['custom_price'] !== '' ) {
1687
+            if ($args['custom_price'] !== '') {
1688 1688
                 $item_price = $args['custom_price'];
1689 1689
             } else {
1690 1690
                 // Allow overriding the price
1691
-                if ( false !== $args['item_price'] ) {
1691
+                if (false !== $args['item_price']) {
1692 1692
                     $item_price = $args['item_price'];
1693 1693
                 } else {
1694
-                    $item_price = wpinv_get_item_price( $item->ID );
1694
+                    $item_price = wpinv_get_item_price($item->ID);
1695 1695
                 }
1696 1696
             }
1697 1697
 
1698 1698
             // Sanitizing the price here so we don't have a dozen calls later
1699
-            $item_price = wpinv_sanitize_amount( $item_price );
1700
-            $subtotal   = wpinv_round_amount( $item_price * $args['quantity'] );
1699
+            $item_price = wpinv_sanitize_amount($item_price);
1700
+            $subtotal   = wpinv_round_amount($item_price * $args['quantity']);
1701 1701
         
1702
-            $discount   = !empty( $args['discount'] ) ? $args['discount'] : 0;
1703
-            $tax_class  = !empty( $args['vat_class'] ) ? $args['vat_class'] : '';
1704
-            $tax_rate   = !empty( $args['vat_rate'] ) ? $args['vat_rate'] : 0;
1705
-            $tax        = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1702
+            $discount   = !empty($args['discount']) ? $args['discount'] : 0;
1703
+            $tax_class  = !empty($args['vat_class']) ? $args['vat_class'] : '';
1704
+            $tax_rate   = !empty($args['vat_rate']) ? $args['vat_rate'] : 0;
1705
+            $tax        = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1706 1706
 
1707 1707
             // Setup the items meta item
1708 1708
             $new_item = array(
@@ -1710,29 +1710,29 @@  discard block
 block discarded – undo
1710 1710
                 'quantity' => $args['quantity'],
1711 1711
             );
1712 1712
 
1713
-            $this->items[]  = $new_item;
1713
+            $this->items[] = $new_item;
1714 1714
 
1715
-            if ( wpinv_prices_include_tax() ) {
1716
-                $subtotal -= wpinv_round_amount( $tax );
1715
+            if (wpinv_prices_include_tax()) {
1716
+                $subtotal -= wpinv_round_amount($tax);
1717 1717
             }
1718 1718
 
1719
-            $total      = $subtotal - $discount + $tax;
1719
+            $total = $subtotal - $discount + $tax;
1720 1720
 
1721 1721
             // Do not allow totals to go negative
1722
-            if( $total < 0 ) {
1722
+            if ($total < 0) {
1723 1723
                 $total = 0;
1724 1724
             }
1725 1725
         
1726 1726
             $this->cart_details[] = array(
1727 1727
                 'name'          => !empty($args['name']) ? $args['name'] : $item->get_name(),
1728 1728
                 'id'            => $item->ID,
1729
-                'item_price'    => wpinv_round_amount( $item_price ),
1730
-                'custom_price'  => ( $args['custom_price'] !== '' ? wpinv_round_amount( $args['custom_price'] ) : '' ),
1729
+                'item_price'    => wpinv_round_amount($item_price),
1730
+                'custom_price'  => ($args['custom_price'] !== '' ? wpinv_round_amount($args['custom_price']) : ''),
1731 1731
                 'quantity'      => $args['quantity'],
1732 1732
                 'discount'      => $discount,
1733
-                'subtotal'      => wpinv_round_amount( $subtotal ),
1734
-                'tax'           => wpinv_round_amount( $tax ),
1735
-                'price'         => wpinv_round_amount( $total ),
1733
+                'subtotal'      => wpinv_round_amount($subtotal),
1734
+                'tax'           => wpinv_round_amount($tax),
1735
+                'price'         => wpinv_round_amount($total),
1736 1736
                 'vat_rate'      => $tax_rate,
1737 1737
                 'vat_class'     => $tax_class,
1738 1738
                 'meta'          => $args['meta'],
@@ -1742,18 +1742,18 @@  discard block
 block discarded – undo
1742 1742
             $subtotal = $subtotal - $discount;
1743 1743
         }
1744 1744
         
1745
-        $added_item = end( $this->cart_details );
1746
-        $added_item['action']  = 'add';
1745
+        $added_item = end($this->cart_details);
1746
+        $added_item['action'] = 'add';
1747 1747
         
1748 1748
         $this->pending['items'][] = $added_item;
1749 1749
         
1750
-        $this->increase_subtotal( $subtotal );
1751
-        $this->increase_tax( $tax );
1750
+        $this->increase_subtotal($subtotal);
1751
+        $this->increase_tax($tax);
1752 1752
 
1753 1753
         return true;
1754 1754
     }
1755 1755
     
1756
-    public function remove_item( $item_id, $args = array() ) {
1756
+    public function remove_item($item_id, $args = array()) {
1757 1757
         // Set some defaults
1758 1758
         $defaults = array(
1759 1759
             'quantity'      => 1,
@@ -1761,51 +1761,51 @@  discard block
 block discarded – undo
1761 1761
             'custom_price'  => '',
1762 1762
             'cart_index'    => false,
1763 1763
         );
1764
-        $args = wp_parse_args( $args, $defaults );
1764
+        $args = wp_parse_args($args, $defaults);
1765 1765
 
1766 1766
         // Bail if this post isn't a item
1767
-        if ( get_post_type( $item_id ) !== 'wpi_item' ) {
1767
+        if (get_post_type($item_id) !== 'wpi_item') {
1768 1768
             return false;
1769 1769
         }
1770 1770
         
1771
-        $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details;
1771
+        $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details;
1772 1772
 
1773
-        foreach ( $this->items as $key => $item ) {
1774
-            if ( !empty($item['id']) && (int)$item_id !== (int)$item['id'] ) {
1773
+        foreach ($this->items as $key => $item) {
1774
+            if (!empty($item['id']) && (int) $item_id !== (int) $item['id']) {
1775 1775
                 continue;
1776 1776
             }
1777 1777
 
1778
-            if ( false !== $args['cart_index'] ) {
1779
-                $cart_index = absint( $args['cart_index'] );
1780
-                $cart_item  = ! empty( $this->cart_details[ $cart_index ] ) ? $this->cart_details[ $cart_index ] : false;
1778
+            if (false !== $args['cart_index']) {
1779
+                $cart_index = absint($args['cart_index']);
1780
+                $cart_item  = !empty($this->cart_details[$cart_index]) ? $this->cart_details[$cart_index] : false;
1781 1781
 
1782
-                if ( ! empty( $cart_item ) ) {
1782
+                if (!empty($cart_item)) {
1783 1783
                     // If the cart index item isn't the same item ID, don't remove it
1784
-                    if ( !empty($cart_item['id']) && $cart_item['id'] != $item['id'] ) {
1784
+                    if (!empty($cart_item['id']) && $cart_item['id'] != $item['id']) {
1785 1785
                         continue;
1786 1786
                     }
1787 1787
                 }
1788 1788
             }
1789 1789
 
1790
-            $item_quantity = $this->items[ $key ]['quantity'];
1791
-            if ( $item_quantity > $args['quantity'] ) {
1792
-                $this->items[ $key ]['quantity'] -= $args['quantity'];
1790
+            $item_quantity = $this->items[$key]['quantity'];
1791
+            if ($item_quantity > $args['quantity']) {
1792
+                $this->items[$key]['quantity'] -= $args['quantity'];
1793 1793
                 break;
1794 1794
             } else {
1795
-                unset( $this->items[ $key ] );
1795
+                unset($this->items[$key]);
1796 1796
                 break;
1797 1797
             }
1798 1798
         }
1799 1799
 
1800 1800
         $found_cart_key = false;
1801
-        if ( false === $args['cart_index'] ) {
1802
-            foreach ( $this->cart_details as $cart_key => $item ) {
1803
-                if ( $item_id != $item['id'] ) {
1801
+        if (false === $args['cart_index']) {
1802
+            foreach ($this->cart_details as $cart_key => $item) {
1803
+                if ($item_id != $item['id']) {
1804 1804
                     continue;
1805 1805
                 }
1806 1806
 
1807
-                if ( false !== $args['item_price'] ) {
1808
-                    if ( isset( $item['item_price'] ) && (float) $args['item_price'] != (float) $item['item_price'] ) {
1807
+                if (false !== $args['item_price']) {
1808
+                    if (isset($item['item_price']) && (float) $args['item_price'] != (float) $item['item_price']) {
1809 1809
                         continue;
1810 1810
                     }
1811 1811
                 }
@@ -1814,13 +1814,13 @@  discard block
 block discarded – undo
1814 1814
                 break;
1815 1815
             }
1816 1816
         } else {
1817
-            $cart_index = absint( $args['cart_index'] );
1817
+            $cart_index = absint($args['cart_index']);
1818 1818
 
1819
-            if ( ! array_key_exists( $cart_index, $this->cart_details ) ) {
1819
+            if (!array_key_exists($cart_index, $this->cart_details)) {
1820 1820
                 return false; // Invalid cart index passed.
1821 1821
             }
1822 1822
 
1823
-            if ( (int) $this->cart_details[ $cart_index ]['id'] > 0 && (int) $this->cart_details[ $cart_index ]['id'] !== (int) $item_id ) {
1823
+            if ((int) $this->cart_details[$cart_index]['id'] > 0 && (int) $this->cart_details[$cart_index]['id'] !== (int) $item_id) {
1824 1824
                 return false; // We still need the proper Item ID to be sure.
1825 1825
             }
1826 1826
 
@@ -1828,41 +1828,41 @@  discard block
 block discarded – undo
1828 1828
         }
1829 1829
         
1830 1830
         $cart_item  = $this->cart_details[$found_cart_key];
1831
-        $quantity   = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1;
1831
+        $quantity   = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1;
1832 1832
         
1833
-        if ( count( $this->cart_details ) == 1 && ( $quantity - $args['quantity'] ) < 1 ) {
1833
+        if (count($this->cart_details) == 1 && ($quantity - $args['quantity']) < 1) {
1834 1834
             //return false; // Invoice must contain at least one item.
1835 1835
         }
1836 1836
         
1837
-        $discounts  = $this->get_discounts();
1837
+        $discounts = $this->get_discounts();
1838 1838
         
1839
-        if ( $quantity > $args['quantity'] ) {
1839
+        if ($quantity > $args['quantity']) {
1840 1840
             $item_price         = $cart_item['item_price'];
1841
-            $tax_rate           = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0;
1841
+            $tax_rate           = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0;
1842 1842
             
1843
-            $new_quantity       = max( $quantity - $args['quantity'], 1);
1843
+            $new_quantity       = max($quantity - $args['quantity'], 1);
1844 1844
             $subtotal           = $item_price * $new_quantity;
1845 1845
             
1846 1846
             $args['quantity']   = $new_quantity;
1847
-            $discount           = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0;
1848
-            $tax                = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1847
+            $discount           = !empty($cart_item['discount']) ? $cart_item['discount'] : 0;
1848
+            $tax                = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1849 1849
             
1850
-            $discount_decrease  = (float)$cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['discount'] / $quantity ) ) : 0;
1851
-            $discount_decrease  = $discount > 0 && $subtotal > 0 && (float)$cart_item['discount'] > $discount ? (float)$cart_item['discount'] - $discount : $discount_decrease; 
1852
-            $tax_decrease       = (float)$cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['tax'] / $quantity ) ) : 0;
1853
-            $tax_decrease       = $tax > 0 && $subtotal > 0 && (float)$cart_item['tax'] > $tax ? (float)$cart_item['tax'] - $tax : $tax_decrease;
1850
+            $discount_decrease  = (float) $cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount(((float) $cart_item['discount'] / $quantity)) : 0;
1851
+            $discount_decrease  = $discount > 0 && $subtotal > 0 && (float) $cart_item['discount'] > $discount ? (float) $cart_item['discount'] - $discount : $discount_decrease; 
1852
+            $tax_decrease       = (float) $cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount(((float) $cart_item['tax'] / $quantity)) : 0;
1853
+            $tax_decrease       = $tax > 0 && $subtotal > 0 && (float) $cart_item['tax'] > $tax ? (float) $cart_item['tax'] - $tax : $tax_decrease;
1854 1854
             
1855 1855
             // The total increase equals the number removed * the item_price
1856
-            $total_decrease     = wpinv_round_amount( $item_price );
1856
+            $total_decrease     = wpinv_round_amount($item_price);
1857 1857
             
1858
-            if ( wpinv_prices_include_tax() ) {
1859
-                $subtotal -= wpinv_round_amount( $tax );
1858
+            if (wpinv_prices_include_tax()) {
1859
+                $subtotal -= wpinv_round_amount($tax);
1860 1860
             }
1861 1861
 
1862
-            $total              = $subtotal - $discount + $tax;
1862
+            $total = $subtotal - $discount + $tax;
1863 1863
 
1864 1864
             // Do not allow totals to go negative
1865
-            if( $total < 0 ) {
1865
+            if ($total < 0) {
1866 1866
                 $total = 0;
1867 1867
             }
1868 1868
             
@@ -1881,16 +1881,16 @@  discard block
 block discarded – undo
1881 1881
             
1882 1882
             $this->cart_details[$found_cart_key] = $cart_item;
1883 1883
             
1884
-            $remove_item = end( $this->cart_details );
1884
+            $remove_item = end($this->cart_details);
1885 1885
         } else {
1886 1886
             $item_price     = $cart_item['item_price'];
1887
-            $discount       = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0;
1888
-            $tax            = !empty( $cart_item['tax'] ) ? $cart_item['tax'] : 0;
1887
+            $discount       = !empty($cart_item['discount']) ? $cart_item['discount'] : 0;
1888
+            $tax            = !empty($cart_item['tax']) ? $cart_item['tax'] : 0;
1889 1889
         
1890
-            $subtotal_decrease  = ( $item_price * $quantity ) - $discount;
1890
+            $subtotal_decrease  = ($item_price * $quantity) - $discount;
1891 1891
             $tax_decrease       = $tax;
1892 1892
 
1893
-            unset( $this->cart_details[$found_cart_key] );
1893
+            unset($this->cart_details[$found_cart_key]);
1894 1894
             
1895 1895
             $remove_item             = $args;
1896 1896
             $remove_item['id']       = $item_id;
@@ -1901,8 +1901,8 @@  discard block
 block discarded – undo
1901 1901
         $remove_item['action']      = 'remove';
1902 1902
         $this->pending['items'][]   = $remove_item;
1903 1903
                
1904
-        $this->decrease_subtotal( $subtotal_decrease );
1905
-        $this->decrease_tax( $tax_decrease );
1904
+        $this->decrease_subtotal($subtotal_decrease);
1905
+        $this->decrease_tax($tax_decrease);
1906 1906
         
1907 1907
         return true;
1908 1908
     }
@@ -1910,7 +1910,7 @@  discard block
 block discarded – undo
1910 1910
     public function update_items($temp = false) {
1911 1911
         global $wpinv_euvat, $wpi_current_id, $wpi_item_id, $wpi_nosave;
1912 1912
         
1913
-        if ( !empty( $this->cart_details ) ) {
1913
+        if (!empty($this->cart_details)) {
1914 1914
             $wpi_nosave             = $temp;
1915 1915
             $cart_subtotal          = 0;
1916 1916
             $cart_discount          = 0;
@@ -1920,61 +1920,61 @@  discard block
 block discarded – undo
1920 1920
             $_POST['wpinv_country'] = $this->country;
1921 1921
             $_POST['wpinv_state']   = $this->state;
1922 1922
             
1923
-            foreach ( $this->cart_details as $key => $item ) {
1923
+            foreach ($this->cart_details as $key => $item) {
1924 1924
                 $item_price = $item['item_price'];
1925
-                $quantity   = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1;
1926
-                $amount     = wpinv_round_amount( $item_price * $quantity );
1925
+                $quantity   = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint($item['quantity']) : 1;
1926
+                $amount     = wpinv_round_amount($item_price * $quantity);
1927 1927
                 $subtotal   = $item_price * $quantity;
1928 1928
                 
1929 1929
                 $wpi_current_id         = $this->ID;
1930 1930
                 $wpi_item_id            = $item['id'];
1931 1931
                 
1932
-                $discount   = wpinv_get_cart_item_discount_amount( $item, $this->get_discounts() );
1932
+                $discount   = wpinv_get_cart_item_discount_amount($item, $this->get_discounts());
1933 1933
                 
1934
-                $tax_rate   = wpinv_get_tax_rate( $this->country, $this->state, $wpi_item_id );
1935
-                $tax_class  = $wpinv_euvat->get_item_class( $wpi_item_id );
1936
-                $tax        = $item_price > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1934
+                $tax_rate   = wpinv_get_tax_rate($this->country, $this->state, $wpi_item_id);
1935
+                $tax_class  = $wpinv_euvat->get_item_class($wpi_item_id);
1936
+                $tax        = $item_price > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1937 1937
 
1938
-                if ( wpinv_prices_include_tax() ) {
1939
-                    $subtotal -= wpinv_round_amount( $tax );
1938
+                if (wpinv_prices_include_tax()) {
1939
+                    $subtotal -= wpinv_round_amount($tax);
1940 1940
                 }
1941 1941
 
1942
-                $total      = $subtotal - $discount + $tax;
1942
+                $total = $subtotal - $discount + $tax;
1943 1943
 
1944 1944
                 // Do not allow totals to go negative
1945
-                if( $total < 0 ) {
1945
+                if ($total < 0) {
1946 1946
                     $total = 0;
1947 1947
                 }
1948 1948
 
1949 1949
                 $cart_details[] = array(
1950 1950
                     'id'          => $item['id'],
1951 1951
                     'name'        => $item['name'],
1952
-                    'item_price'  => wpinv_round_amount( $item_price ),
1953
-                    'custom_price'=> ( isset( $item['custom_price'] ) ? $item['custom_price'] : '' ),
1952
+                    'item_price'  => wpinv_round_amount($item_price),
1953
+                    'custom_price'=> (isset($item['custom_price']) ? $item['custom_price'] : ''),
1954 1954
                     'quantity'    => $quantity,
1955 1955
                     'discount'    => $discount,
1956
-                    'subtotal'    => wpinv_round_amount( $subtotal ),
1957
-                    'tax'         => wpinv_round_amount( $tax ),
1958
-                    'price'       => wpinv_round_amount( $total ),
1956
+                    'subtotal'    => wpinv_round_amount($subtotal),
1957
+                    'tax'         => wpinv_round_amount($tax),
1958
+                    'price'       => wpinv_round_amount($total),
1959 1959
                     'vat_rate'    => $tax_rate,
1960 1960
                     'vat_class'   => $tax_class,
1961 1961
                     'meta'        => isset($item['meta']) ? $item['meta'] : array(),
1962 1962
                     'fees'        => isset($item['fees']) ? $item['fees'] : array(),
1963 1963
                 );
1964 1964
                 
1965
-                $cart_subtotal  += (float)($subtotal - $discount); // TODO
1966
-                $cart_discount  += (float)($discount);
1967
-                $cart_tax       += (float)($tax);
1965
+                $cart_subtotal  += (float) ($subtotal - $discount); // TODO
1966
+                $cart_discount  += (float) ($discount);
1967
+                $cart_tax       += (float) ($tax);
1968 1968
             }
1969
-            if ( $cart_subtotal < 0 ) {
1969
+            if ($cart_subtotal < 0) {
1970 1970
                 $cart_subtotal = 0;
1971 1971
             }
1972
-            if ( $cart_tax < 0 ) {
1972
+            if ($cart_tax < 0) {
1973 1973
                 $cart_tax = 0;
1974 1974
             }
1975
-            $this->subtotal = wpinv_round_amount( $cart_subtotal );
1976
-            $this->tax      = wpinv_round_amount( $cart_tax );
1977
-            $this->discount = wpinv_round_amount( $cart_discount );
1975
+            $this->subtotal = wpinv_round_amount($cart_subtotal);
1976
+            $this->tax      = wpinv_round_amount($cart_tax);
1977
+            $this->discount = wpinv_round_amount($cart_discount);
1978 1978
             
1979 1979
             $this->recalculate_total();
1980 1980
             
@@ -1986,197 +1986,197 @@  discard block
 block discarded – undo
1986 1986
     
1987 1987
     public function recalculate_totals($temp = false) {        
1988 1988
         $this->update_items($temp);
1989
-        $this->save( true );
1989
+        $this->save(true);
1990 1990
         
1991 1991
         return $this;
1992 1992
     }
1993 1993
     
1994 1994
     public function needs_payment() {
1995
-        $valid_invoice_statuses = apply_filters( 'wpinv_valid_invoice_statuses_for_payment', array( 'wpi-pending' ), $this );
1995
+        $valid_invoice_statuses = apply_filters('wpinv_valid_invoice_statuses_for_payment', array('wpi-pending'), $this);
1996 1996
 
1997
-        if ( $this->has_status( $valid_invoice_statuses ) && ( $this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free() ) ) {
1997
+        if ($this->has_status($valid_invoice_statuses) && ($this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free())) {
1998 1998
             $needs_payment = true;
1999 1999
         } else {
2000 2000
             $needs_payment = false;
2001 2001
         }
2002 2002
 
2003
-        return apply_filters( 'wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses );
2003
+        return apply_filters('wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses);
2004 2004
     }
2005 2005
     
2006
-    public function get_checkout_payment_url( $with_key = false, $secret = false ) {
2006
+    public function get_checkout_payment_url($with_key = false, $secret = false) {
2007 2007
         $pay_url = wpinv_get_checkout_uri();
2008 2008
 
2009
-        if ( is_ssl() ) {
2010
-            $pay_url = str_replace( 'http:', 'https:', $pay_url );
2009
+        if (is_ssl()) {
2010
+            $pay_url = str_replace('http:', 'https:', $pay_url);
2011 2011
         }
2012 2012
         
2013 2013
         $key = $this->get_key();
2014 2014
 
2015
-        if ( $with_key ) {
2016
-            $pay_url = add_query_arg( 'invoice_key', $key, $pay_url );
2015
+        if ($with_key) {
2016
+            $pay_url = add_query_arg('invoice_key', $key, $pay_url);
2017 2017
         } else {
2018
-            $pay_url = add_query_arg( array( 'wpi_action' => 'pay_for_invoice', 'invoice_key' => $key ), $pay_url );
2018
+            $pay_url = add_query_arg(array('wpi_action' => 'pay_for_invoice', 'invoice_key' => $key), $pay_url);
2019 2019
         }
2020 2020
         
2021
-        if ( $secret ) {
2022
-            $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $key ) ), $pay_url );
2021
+        if ($secret) {
2022
+            $pay_url = add_query_arg(array('_wpipay' => md5($this->get_user_id() . '::' . $this->get_email() . '::' . $key)), $pay_url);
2023 2023
         }
2024 2024
 
2025
-        return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret );
2025
+        return apply_filters('wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret);
2026 2026
     }
2027 2027
     
2028
-    public function get_view_url( $with_key = false ) {
2029
-        $invoice_url = get_permalink( $this->ID );
2028
+    public function get_view_url($with_key = false) {
2029
+        $invoice_url = get_permalink($this->ID);
2030 2030
 
2031
-        if ( $with_key ) {
2032
-            $invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
2031
+        if ($with_key) {
2032
+            $invoice_url = add_query_arg('invoice_key', $this->get_key(), $invoice_url);
2033 2033
         }
2034 2034
 
2035
-        return apply_filters( 'wpinv_get_view_url', $invoice_url, $this, $with_key );
2035
+        return apply_filters('wpinv_get_view_url', $invoice_url, $this, $with_key);
2036 2036
     }
2037 2037
     
2038
-    public function generate_key( $string = '' ) {
2039
-        $auth_key  = defined( 'AUTH_KEY' ) ? AUTH_KEY : '';
2040
-        return strtolower( md5( $string . date( 'Y-m-d H:i:s' ) . $auth_key . uniqid( 'wpinv', true ) ) );  // Unique key
2038
+    public function generate_key($string = '') {
2039
+        $auth_key = defined('AUTH_KEY') ? AUTH_KEY : '';
2040
+        return strtolower(md5($string . date('Y-m-d H:i:s') . $auth_key . uniqid('wpinv', true))); // Unique key
2041 2041
     }
2042 2042
     
2043 2043
     public function is_recurring() {
2044
-        if ( empty( $this->cart_details ) ) {
2044
+        if (empty($this->cart_details)) {
2045 2045
             return false;
2046 2046
         }
2047 2047
         
2048 2048
         $has_subscription = false;
2049
-        foreach( $this->cart_details as $cart_item ) {
2050
-            if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] )  ) {
2049
+        foreach ($this->cart_details as $cart_item) {
2050
+            if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) {
2051 2051
                 $has_subscription = true;
2052 2052
                 break;
2053 2053
             }
2054 2054
         }
2055 2055
         
2056
-        if ( count( $this->cart_details ) > 1 ) {
2056
+        if (count($this->cart_details) > 1) {
2057 2057
             $has_subscription = false;
2058 2058
         }
2059 2059
 
2060
-        return apply_filters( 'wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details );
2060
+        return apply_filters('wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details);
2061 2061
     }
2062 2062
     
2063 2063
     public function is_free_trial() {
2064 2064
         $is_free_trial = false;
2065 2065
         
2066
-        if ( $this->is_parent() && $item = $this->get_recurring( true ) ) {
2067
-            if ( !empty( $item ) && $item->has_free_trial() ) {
2066
+        if ($this->is_parent() && $item = $this->get_recurring(true)) {
2067
+            if (!empty($item) && $item->has_free_trial()) {
2068 2068
                 $is_free_trial = true;
2069 2069
             }
2070 2070
         }
2071 2071
 
2072
-        return apply_filters( 'wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details );
2072
+        return apply_filters('wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details);
2073 2073
     }
2074 2074
     
2075 2075
     public function is_initial_free() {
2076 2076
         $is_initial_free = false;
2077 2077
         
2078
-        if ( ! ( (float)wpinv_round_amount( $this->get_total() ) > 0 ) && $this->is_parent() && $this->is_recurring() && ! $this->is_free_trial() && ! $this->is_free() ) {
2078
+        if (!((float) wpinv_round_amount($this->get_total()) > 0) && $this->is_parent() && $this->is_recurring() && !$this->is_free_trial() && !$this->is_free()) {
2079 2079
             $is_initial_free = true;
2080 2080
         }
2081 2081
 
2082
-        return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details );
2082
+        return apply_filters('wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details);
2083 2083
     }
2084 2084
     
2085
-    public function get_recurring( $object = false ) {
2085
+    public function get_recurring($object = false) {
2086 2086
         $item = NULL;
2087 2087
         
2088
-        if ( empty( $this->cart_details ) ) {
2088
+        if (empty($this->cart_details)) {
2089 2089
             return $item;
2090 2090
         }
2091 2091
         
2092
-        foreach( $this->cart_details as $cart_item ) {
2093
-            if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] )  ) {
2092
+        foreach ($this->cart_details as $cart_item) {
2093
+            if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) {
2094 2094
                 $item = $cart_item['id'];
2095 2095
                 break;
2096 2096
             }
2097 2097
         }
2098 2098
         
2099
-        if ( $object ) {
2100
-            $item = $item ? new WPInv_Item( $item ) : NULL;
2099
+        if ($object) {
2100
+            $item = $item ? new WPInv_Item($item) : NULL;
2101 2101
             
2102
-            apply_filters( 'wpinv_invoice_get_recurring_item', $item, $this );
2102
+            apply_filters('wpinv_invoice_get_recurring_item', $item, $this);
2103 2103
         }
2104 2104
 
2105
-        return apply_filters( 'wpinv_invoice_get_recurring_item_id', $item, $this );
2105
+        return apply_filters('wpinv_invoice_get_recurring_item_id', $item, $this);
2106 2106
     }
2107 2107
     
2108 2108
     public function get_subscription_name() {
2109
-        $item = $this->get_recurring( true );
2109
+        $item = $this->get_recurring(true);
2110 2110
         
2111
-        if ( empty( $item ) ) {
2111
+        if (empty($item)) {
2112 2112
             return NULL;
2113 2113
         }
2114 2114
         
2115
-        if ( !($name = $item->get_name()) ) {
2115
+        if (!($name = $item->get_name())) {
2116 2116
             $name = $item->post_name;
2117 2117
         }
2118 2118
 
2119
-        return apply_filters( 'wpinv_invoice_get_subscription_name', $name, $this );
2119
+        return apply_filters('wpinv_invoice_get_subscription_name', $name, $this);
2120 2120
     }
2121 2121
     
2122 2122
     public function get_subscription_id() {
2123
-        $subscription_id = $this->get_meta( '_wpinv_subscr_profile_id', true );
2123
+        $subscription_id = $this->get_meta('_wpinv_subscr_profile_id', true);
2124 2124
         
2125
-        if ( empty( $subscription_id ) && !empty( $this->parent_invoice ) ) {
2126
-            $parent_invoice = wpinv_get_invoice( $this->parent_invoice );
2125
+        if (empty($subscription_id) && !empty($this->parent_invoice)) {
2126
+            $parent_invoice = wpinv_get_invoice($this->parent_invoice);
2127 2127
             
2128
-            $subscription_id = $parent_invoice->get_meta( '_wpinv_subscr_profile_id', true );
2128
+            $subscription_id = $parent_invoice->get_meta('_wpinv_subscr_profile_id', true);
2129 2129
         }
2130 2130
         
2131 2131
         return $subscription_id;
2132 2132
     }
2133 2133
     
2134 2134
     public function is_parent() {
2135
-        $is_parent = empty( $this->parent_invoice ) ? true : false;
2135
+        $is_parent = empty($this->parent_invoice) ? true : false;
2136 2136
 
2137
-        return apply_filters( 'wpinv_invoice_is_parent', $is_parent, $this );
2137
+        return apply_filters('wpinv_invoice_is_parent', $is_parent, $this);
2138 2138
     }
2139 2139
     
2140 2140
     public function is_renewal() {
2141 2141
         $is_renewal = $this->parent_invoice && $this->parent_invoice != $this->ID ? true : false;
2142 2142
 
2143
-        return apply_filters( 'wpinv_invoice_is_renewal', $is_renewal, $this );
2143
+        return apply_filters('wpinv_invoice_is_renewal', $is_renewal, $this);
2144 2144
     }
2145 2145
     
2146 2146
     public function get_parent_payment() {
2147 2147
         $parent_payment = NULL;
2148 2148
         
2149
-        if ( $this->is_renewal() ) {
2150
-            $parent_payment = wpinv_get_invoice( $this->parent_invoice );
2149
+        if ($this->is_renewal()) {
2150
+            $parent_payment = wpinv_get_invoice($this->parent_invoice);
2151 2151
         }
2152 2152
         
2153 2153
         return $parent_payment;
2154 2154
     }
2155 2155
     
2156 2156
     public function is_paid() {
2157
-        $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
2157
+        $is_paid = $this->has_status(array('publish', 'wpi-processing', 'wpi-renewal'));
2158 2158
 
2159
-        return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
2159
+        return apply_filters('wpinv_invoice_is_paid', $is_paid, $this);
2160 2160
     }
2161 2161
     
2162 2162
     public function is_refunded() {
2163
-        $is_refunded = $this->has_status( array( 'wpi-refunded' ) );
2163
+        $is_refunded = $this->has_status(array('wpi-refunded'));
2164 2164
 
2165
-        return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
2165
+        return apply_filters('wpinv_invoice_is_refunded', $is_refunded, $this);
2166 2166
     }
2167 2167
     
2168 2168
     public function is_free() {
2169 2169
         $is_free = false;
2170 2170
         
2171
-        if ( !( (float)wpinv_round_amount( $this->get_total() ) > 0 ) ) {
2172
-            if ( $this->is_parent() && $this->is_recurring() ) {
2173
-                $is_free = (float)wpinv_round_amount( $this->get_recurring_details( 'total' ) ) > 0 ? false : true;
2171
+        if (!((float) wpinv_round_amount($this->get_total()) > 0)) {
2172
+            if ($this->is_parent() && $this->is_recurring()) {
2173
+                $is_free = (float) wpinv_round_amount($this->get_recurring_details('total')) > 0 ? false : true;
2174 2174
             } else {
2175 2175
                 $is_free = true;
2176 2176
             }
2177 2177
         }
2178 2178
         
2179
-        return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
2179
+        return apply_filters('wpinv_invoice_is_free', $is_free, $this);
2180 2180
     }
2181 2181
     
2182 2182
     public function has_vat() {
@@ -2184,41 +2184,41 @@  discard block
 block discarded – undo
2184 2184
         
2185 2185
         $requires_vat = false;
2186 2186
         
2187
-        if ( $this->country ) {
2187
+        if ($this->country) {
2188 2188
             $wpi_country        = $this->country;
2189 2189
             
2190
-            $requires_vat       = $wpinv_euvat->requires_vat( $requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule( $this ) );
2190
+            $requires_vat       = $wpinv_euvat->requires_vat($requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule($this));
2191 2191
         }
2192 2192
         
2193
-        return apply_filters( 'wpinv_invoice_has_vat', $requires_vat, $this );
2193
+        return apply_filters('wpinv_invoice_has_vat', $requires_vat, $this);
2194 2194
     }
2195 2195
     
2196 2196
     public function refresh_item_ids() {
2197 2197
         $item_ids = array();
2198 2198
         
2199
-        if ( !empty( $this->cart_details ) ) {
2200
-            foreach ( $this->cart_details as $key => $item ) {
2201
-                if ( !empty( $item['id'] ) ) {
2199
+        if (!empty($this->cart_details)) {
2200
+            foreach ($this->cart_details as $key => $item) {
2201
+                if (!empty($item['id'])) {
2202 2202
                     $item_ids[] = $item['id'];
2203 2203
                 }
2204 2204
             }
2205 2205
         }
2206 2206
         
2207
-        $item_ids = !empty( $item_ids ) ? implode( ',', array_unique( $item_ids ) ) : '';
2207
+        $item_ids = !empty($item_ids) ? implode(',', array_unique($item_ids)) : '';
2208 2208
         
2209
-        update_post_meta( $this->ID, '_wpinv_item_ids', $item_ids );
2209
+        update_post_meta($this->ID, '_wpinv_item_ids', $item_ids);
2210 2210
     }
2211 2211
     
2212
-    public function get_invoice_quote_type( $post_id ) {
2213
-        if ( empty( $post_id ) ) {
2212
+    public function get_invoice_quote_type($post_id) {
2213
+        if (empty($post_id)) {
2214 2214
             return '';
2215 2215
         }
2216 2216
 
2217
-        $type = get_post_type( $post_id );
2217
+        $type = get_post_type($post_id);
2218 2218
 
2219
-        if ( 'wpi_invoice' === $type ) {
2219
+        if ('wpi_invoice' === $type) {
2220 2220
             $post_type = __('Invoice', 'invoicing');
2221
-        } else{
2221
+        } else {
2222 2222
             $post_type = __('Quote', 'invoicing');
2223 2223
         }
2224 2224
 
Please login to merge, or discard this patch.
includes/admin/admin-meta-boxes.php 2 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@
 block discarded – undo
29 29
     add_meta_box( 'wpinv-items', __( 'Invoice Items', 'invoicing' ), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high' );
30 30
     add_meta_box( 'wpinv-notes', __( 'Invoice Notes', 'invoicing' ), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high' );
31 31
 
32
-	remove_meta_box('wpseo_meta', 'wpi_invoice', 'normal');
32
+    remove_meta_box('wpseo_meta', 'wpi_invoice', 'normal');
33 33
 }
34 34
 add_action( 'add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2 );
35 35
 
Please login to merge, or discard this patch.
Spacing   +149 added lines, -149 removed lines patch added patch discarded remove patch
@@ -1,67 +1,67 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // MUST have WordPress.
3
-if ( !defined( 'WPINC' ) ) {
4
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
3
+if (!defined('WPINC')) {
4
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
5 5
 }
6 6
 
7
-function wpinv_add_meta_boxes( $post_type, $post ) {
7
+function wpinv_add_meta_boxes($post_type, $post) {
8 8
     global $wpi_mb_invoice;
9
-    if ( $post_type == 'wpi_invoice' && !empty( $post->ID ) ) {
10
-        $wpi_mb_invoice = wpinv_get_invoice( $post->ID );
9
+    if ($post_type == 'wpi_invoice' && !empty($post->ID)) {
10
+        $wpi_mb_invoice = wpinv_get_invoice($post->ID);
11 11
     }
12 12
     
13
-    if ( !empty( $wpi_mb_invoice ) && !$wpi_mb_invoice->has_status( array( 'draft', 'auto-draft' ) ) ) {
14
-        add_meta_box( 'wpinv-mb-resend-invoice', __( 'Resend Invoice', 'invoicing' ), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high' );
13
+    if (!empty($wpi_mb_invoice) && !$wpi_mb_invoice->has_status(array('draft', 'auto-draft'))) {
14
+        add_meta_box('wpinv-mb-resend-invoice', __('Resend Invoice', 'invoicing'), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high');
15 15
     }
16 16
     
17
-    if ( !empty( $wpi_mb_invoice ) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent() ) {
18
-        add_meta_box( 'wpinv-mb-subscriptions', __( 'Subscriptions', 'invoicing' ), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high' );
17
+    if (!empty($wpi_mb_invoice) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent()) {
18
+        add_meta_box('wpinv-mb-subscriptions', __('Subscriptions', 'invoicing'), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high');
19 19
     }
20 20
     
21
-    if ( wpinv_is_subscription_payment( $wpi_mb_invoice ) ) {
22
-        add_meta_box( 'wpinv-mb-renewals', __( 'Renewal Payment', 'invoicing' ), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high' );
21
+    if (wpinv_is_subscription_payment($wpi_mb_invoice)) {
22
+        add_meta_box('wpinv-mb-renewals', __('Renewal Payment', 'invoicing'), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high');
23 23
     }
24 24
     
25
-    add_meta_box( 'wpinv-details', __( 'Invoice Details', 'invoicing' ), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default' );
26
-    add_meta_box( 'wpinv-payment-meta', __( 'Payment Meta', 'invoicing' ), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default' );
25
+    add_meta_box('wpinv-details', __('Invoice Details', 'invoicing'), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default');
26
+    add_meta_box('wpinv-payment-meta', __('Payment Meta', 'invoicing'), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default');
27 27
    
28
-    add_meta_box( 'wpinv-address', __( 'Billing Details', 'invoicing' ), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high' );
29
-    add_meta_box( 'wpinv-items', __( 'Invoice Items', 'invoicing' ), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high' );
30
-    add_meta_box( 'wpinv-notes', __( 'Invoice Notes', 'invoicing' ), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high' );
28
+    add_meta_box('wpinv-address', __('Billing Details', 'invoicing'), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high');
29
+    add_meta_box('wpinv-items', __('Invoice Items', 'invoicing'), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high');
30
+    add_meta_box('wpinv-notes', __('Invoice Notes', 'invoicing'), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high');
31 31
 
32 32
 	remove_meta_box('wpseo_meta', 'wpi_invoice', 'normal');
33 33
 }
34
-add_action( 'add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2 );
34
+add_action('add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2);
35 35
 
36
-function wpinv_save_meta_boxes( $post_id, $post, $update = false ) {
37
-    remove_action( 'save_post', __FUNCTION__ );
36
+function wpinv_save_meta_boxes($post_id, $post, $update = false) {
37
+    remove_action('save_post', __FUNCTION__);
38 38
     
39 39
     // $post_id and $post are required
40
-    if ( empty( $post_id ) || empty( $post ) ) {
40
+    if (empty($post_id) || empty($post)) {
41 41
         return;
42 42
     }
43 43
         
44
-    if ( !current_user_can( 'edit_post', $post_id ) || empty( $post->post_type ) ) {
44
+    if (!current_user_can('edit_post', $post_id) || empty($post->post_type)) {
45 45
         return;
46 46
     }
47 47
     
48 48
     // Dont' save meta boxes for revisions or autosaves
49
-    if ( defined( 'DOING_AUTOSAVE' ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
49
+    if (defined('DOING_AUTOSAVE') || is_int(wp_is_post_revision($post)) || is_int(wp_is_post_autosave($post))) {
50 50
         return;
51 51
     }
52 52
         
53
-    if ( $post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote' ) {
54
-        if ( ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
53
+    if ($post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote') {
54
+        if ((defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) {
55 55
             return;
56 56
         }
57 57
     
58
-        if ( isset( $_POST['wpinv_save_invoice'] ) && wp_verify_nonce( $_POST['wpinv_save_invoice'], 'wpinv_save_invoice' ) ) {
59
-            WPInv_Meta_Box_Items::save( $post_id, $_POST, $post );
58
+        if (isset($_POST['wpinv_save_invoice']) && wp_verify_nonce($_POST['wpinv_save_invoice'], 'wpinv_save_invoice')) {
59
+            WPInv_Meta_Box_Items::save($post_id, $_POST, $post);
60 60
         }
61
-    } else if ( $post->post_type == 'wpi_item' ) {
61
+    } else if ($post->post_type == 'wpi_item') {
62 62
         // verify nonce
63
-        if ( isset( $_POST['wpinv_vat_meta_box_nonce'] ) && wp_verify_nonce( $_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save' ) ) {
64
-            $fields                                 = array();
63
+        if (isset($_POST['wpinv_vat_meta_box_nonce']) && wp_verify_nonce($_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save')) {
64
+            $fields = array();
65 65
             $fields['_wpinv_price']              = 'wpinv_item_price';
66 66
             $fields['_wpinv_vat_class']          = 'wpinv_vat_class';
67 67
             $fields['_wpinv_vat_rule']           = 'wpinv_vat_rules';
@@ -76,96 +76,96 @@  discard block
 block discarded – undo
76 76
             $fields['_wpinv_dynamic_pricing']    = 'wpinv_name_your_price';
77 77
             $fields['_minimum_price']            = 'wpinv_minimum_price';
78 78
             
79
-            if ( !isset( $_POST['wpinv_is_recurring'] ) ) {
79
+            if (!isset($_POST['wpinv_is_recurring'])) {
80 80
                 $_POST['wpinv_is_recurring'] = 0;
81 81
             }
82 82
 
83
-            if ( !isset( $_POST['wpinv_name_your_price'] ) ) {
83
+            if (!isset($_POST['wpinv_name_your_price'])) {
84 84
                 $_POST['wpinv_name_your_price'] = 0;
85 85
             }
86 86
             
87
-            if ( !isset( $_POST['wpinv_free_trial'] ) || empty( $_POST['wpinv_is_recurring'] ) ) {
87
+            if (!isset($_POST['wpinv_free_trial']) || empty($_POST['wpinv_is_recurring'])) {
88 88
                 $_POST['wpinv_free_trial'] = 0;
89 89
             }
90 90
             
91
-            foreach ( $fields as $field => $name ) {
92
-                if ( isset( $_POST[ $name ] ) ) {
93
-                    $allowed = apply_filters( 'wpinv_item_allowed_save_meta_value', true, $field, $post_id );
91
+            foreach ($fields as $field => $name) {
92
+                if (isset($_POST[$name])) {
93
+                    $allowed = apply_filters('wpinv_item_allowed_save_meta_value', true, $field, $post_id);
94 94
 
95
-                    if ( !$allowed ) {
95
+                    if (!$allowed) {
96 96
                         continue;
97 97
                     }
98 98
 
99
-                    if ( $field == '_wpinv_price' ) {
100
-                        $value = wpinv_sanitize_amount( $_POST[ $name ] );
99
+                    if ($field == '_wpinv_price') {
100
+                        $value = wpinv_sanitize_amount($_POST[$name]);
101 101
                     } else {
102
-                        $value = is_string( $_POST[ $name ] ) ? sanitize_text_field( $_POST[ $name ] ) : $_POST[ $name ];
102
+                        $value = is_string($_POST[$name]) ? sanitize_text_field($_POST[$name]) : $_POST[$name];
103 103
                     }
104 104
                     
105
-                    $value = apply_filters( 'wpinv_item_metabox_save_' . $field, $value, $name );
106
-                    update_post_meta( $post_id, $field, $value );
105
+                    $value = apply_filters('wpinv_item_metabox_save_' . $field, $value, $name);
106
+                    update_post_meta($post_id, $field, $value);
107 107
                 }
108 108
             }
109 109
             
110
-            if ( !get_post_meta( $post_id, '_wpinv_custom_id', true ) ) {
111
-                update_post_meta( $post_id, '_wpinv_custom_id', $post_id );
110
+            if (!get_post_meta($post_id, '_wpinv_custom_id', true)) {
111
+                update_post_meta($post_id, '_wpinv_custom_id', $post_id);
112 112
             }
113 113
         }
114 114
     }
115 115
 }
116
-add_action( 'save_post', 'wpinv_save_meta_boxes', 10, 3 );
116
+add_action('save_post', 'wpinv_save_meta_boxes', 10, 3);
117 117
 
118 118
 function wpinv_register_item_meta_boxes() {    
119 119
     global $wpinv_euvat;
120 120
     
121
-    add_meta_box( 'wpinv_field_prices', __( 'Item Price', 'invoicing' ), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high' );
121
+    add_meta_box('wpinv_field_prices', __('Item Price', 'invoicing'), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high');
122 122
 
123
-    if ( $wpinv_euvat->allow_vat_rules() ) {
124
-        add_meta_box( 'wpinv_field_vat_rules', __( 'VAT rules type to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high' );
123
+    if ($wpinv_euvat->allow_vat_rules()) {
124
+        add_meta_box('wpinv_field_vat_rules', __('VAT rules type to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high');
125 125
     }
126 126
     
127
-    if ( $wpinv_euvat->allow_vat_classes() ) {
128
-        add_meta_box( 'wpinv_field_vat_classes', __( 'VAT rates class to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high' );
127
+    if ($wpinv_euvat->allow_vat_classes()) {
128
+        add_meta_box('wpinv_field_vat_classes', __('VAT rates class to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high');
129 129
     }
130 130
     
131
-    add_meta_box( 'wpinv_field_item_info', __( 'Item info', 'invoicing' ), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core' );
132
-    add_meta_box( 'wpinv_field_meta_values', __( 'Item Meta Values', 'invoicing' ), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core' );
131
+    add_meta_box('wpinv_field_item_info', __('Item info', 'invoicing'), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core');
132
+    add_meta_box('wpinv_field_meta_values', __('Item Meta Values', 'invoicing'), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core');
133 133
 }
134 134
 
135 135
 function wpinv_register_discount_meta_boxes() {
136
-    add_meta_box( 'wpinv_discount_fields', __( 'Discount Details', 'invoicing' ), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high' );
136
+    add_meta_box('wpinv_discount_fields', __('Discount Details', 'invoicing'), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high');
137 137
 }
138 138
 
139
-function wpinv_discount_metabox_details( $post ) {
139
+function wpinv_discount_metabox_details($post) {
140 140
     $discount_id    = $post->ID;
141
-    $discount       = wpinv_get_discount( $discount_id );
141
+    $discount       = wpinv_get_discount($discount_id);
142 142
     
143
-    $type               = wpinv_get_discount_type( $discount_id );
144
-    $item_reqs          = wpinv_get_discount_item_reqs( $discount_id );
145
-    $excluded_items     = wpinv_get_discount_excluded_items( $discount_id );
146
-    $min_total          = wpinv_get_discount_min_total( $discount_id );
147
-    $max_total          = wpinv_get_discount_max_total( $discount_id );
148
-    $max_uses           = wpinv_get_discount_max_uses( $discount_id );
149
-    $single_use         = wpinv_discount_is_single_use( $discount_id );
150
-    $recurring          = (bool)wpinv_discount_is_recurring( $discount_id );
151
-    $start_date         = wpinv_get_discount_start_date( $discount_id );
152
-    $expiration_date    = wpinv_get_discount_expiration( $discount_id );
143
+    $type               = wpinv_get_discount_type($discount_id);
144
+    $item_reqs          = wpinv_get_discount_item_reqs($discount_id);
145
+    $excluded_items     = wpinv_get_discount_excluded_items($discount_id);
146
+    $min_total          = wpinv_get_discount_min_total($discount_id);
147
+    $max_total          = wpinv_get_discount_max_total($discount_id);
148
+    $max_uses           = wpinv_get_discount_max_uses($discount_id);
149
+    $single_use         = wpinv_discount_is_single_use($discount_id);
150
+    $recurring          = (bool) wpinv_discount_is_recurring($discount_id);
151
+    $start_date         = wpinv_get_discount_start_date($discount_id);
152
+    $expiration_date    = wpinv_get_discount_expiration($discount_id);
153 153
     
154
-    if ( ! empty( $start_date ) && strpos( $start_date, '0000' ) === false ) {
155
-        $start_time         = strtotime( $start_date );
156
-        $start_h            = date_i18n( 'H', $start_time );
157
-        $start_m            = date_i18n( 'i', $start_time );
158
-        $start_date         = date_i18n( 'Y-m-d', $start_time );
154
+    if (!empty($start_date) && strpos($start_date, '0000') === false) {
155
+        $start_time         = strtotime($start_date);
156
+        $start_h            = date_i18n('H', $start_time);
157
+        $start_m            = date_i18n('i', $start_time);
158
+        $start_date         = date_i18n('Y-m-d', $start_time);
159 159
     } else {
160 160
         $start_h            = '00';
161 161
         $start_m            = '00';
162 162
     }
163 163
 
164
-    if ( ! empty( $expiration_date ) && strpos( $expiration_date, '0000' ) === false ) {
165
-        $expiration_time    = strtotime( $expiration_date );
166
-        $expiration_h       = date_i18n( 'H', $expiration_time );
167
-        $expiration_m       = date_i18n( 'i', $expiration_time );
168
-        $expiration_date    = date_i18n( 'Y-m-d', $expiration_time );
164
+    if (!empty($expiration_date) && strpos($expiration_date, '0000') === false) {
165
+        $expiration_time    = strtotime($expiration_date);
166
+        $expiration_h       = date_i18n('H', $expiration_time);
167
+        $expiration_m       = date_i18n('i', $expiration_time);
168
+        $expiration_date    = date_i18n('Y-m-d', $expiration_time);
169 169
     } else {
170 170
         $expiration_h       = '23';
171 171
         $expiration_m       = '59';
@@ -175,207 +175,207 @@  discard block
 block discarded – undo
175 175
     $max_total          = $max_total > 0 ? $max_total : '';
176 176
     $max_uses           = $max_uses > 0 ? $max_uses : '';
177 177
 ?>
178
-<?php do_action( 'wpinv_discount_form_top', $post ); ?>
179
-<?php wp_nonce_field( 'wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce' ); ;?>
178
+<?php do_action('wpinv_discount_form_top', $post); ?>
179
+<?php wp_nonce_field('wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce'); ;?>
180 180
 <table class="form-table wpi-form-table">
181 181
     <tbody>
182
-        <?php do_action( 'wpinv_discount_form_first', $post ); ?>
183
-        <?php do_action( 'wpinv_discount_form_before_code', $post ); ?>
182
+        <?php do_action('wpinv_discount_form_first', $post); ?>
183
+        <?php do_action('wpinv_discount_form_before_code', $post); ?>
184 184
         <tr>
185 185
             <th valign="top" scope="row">
186
-                <label for="wpinv_discount_code"><?php _e( 'Discount Code', 'invoicing' ); ?></label>
186
+                <label for="wpinv_discount_code"><?php _e('Discount Code', 'invoicing'); ?></label>
187 187
             </th>
188 188
             <td>
189
-                <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr( wpinv_get_discount_code( $discount_id ) ); ?>" required>
190
-                <p class="description"><?php _e( 'Enter a code for this discount, such as 10OFF', 'invoicing' ); ?></p>
189
+                <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr(wpinv_get_discount_code($discount_id)); ?>" required>
190
+                <p class="description"><?php _e('Enter a code for this discount, such as 10OFF', 'invoicing'); ?></p>
191 191
             </td>
192 192
         </tr>
193
-        <?php do_action( 'wpinv_discount_form_before_type', $post ); ?>
193
+        <?php do_action('wpinv_discount_form_before_type', $post); ?>
194 194
         <tr>
195 195
             <th valign="top" scope="row">
196
-                <label for="wpinv_discount_type"><?php _e( 'Discount Type', 'invoicing' ); ?></label>
196
+                <label for="wpinv_discount_type"><?php _e('Discount Type', 'invoicing'); ?></label>
197 197
             </th>
198 198
             <td>
199 199
                 <select id="wpinv_discount_type" name="type" class="medium-text wpi_select2">
200
-                    <?php foreach ( wpinv_get_discount_types() as $value => $label ) { ?>
201
-                    <option value="<?php echo $value ;?>" <?php selected( $type, $value ); ?>><?php echo $label; ?></option>
200
+                    <?php foreach (wpinv_get_discount_types() as $value => $label) { ?>
201
+                    <option value="<?php echo $value; ?>" <?php selected($type, $value); ?>><?php echo $label; ?></option>
202 202
                     <?php } ?>
203 203
                 </select>
204
-                <p class="description"><?php _e( 'The kind of discount to apply for this discount.', 'invoicing' ); ?></p>
204
+                <p class="description"><?php _e('The kind of discount to apply for this discount.', 'invoicing'); ?></p>
205 205
             </td>
206 206
         </tr>
207
-        <?php do_action( 'wpinv_discount_form_before_amount', $post ); ?>
207
+        <?php do_action('wpinv_discount_form_before_amount', $post); ?>
208 208
         <tr>
209 209
             <th valign="top" scope="row">
210
-                <label for="wpinv_discount_amount"><?php _e( 'Amount', 'invoicing' ); ?></label>
210
+                <label for="wpinv_discount_amount"><?php _e('Amount', 'invoicing'); ?></label>
211 211
             </th>
212 212
             <td>
213
-                <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr( wpinv_get_discount_amount( $discount_id ) ); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol() ;?></font>
214
-                <p style="display:none;" class="description"><?php _e( 'Enter the discount amount in USD', 'invoicing' ); ?></p>
215
-                <p class="description"><?php _e( 'Enter the discount value. Ex: 10', 'invoicing' ); ?></p>
213
+                <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr(wpinv_get_discount_amount($discount_id)); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol(); ?></font>
214
+                <p style="display:none;" class="description"><?php _e('Enter the discount amount in USD', 'invoicing'); ?></p>
215
+                <p class="description"><?php _e('Enter the discount value. Ex: 10', 'invoicing'); ?></p>
216 216
             </td>
217 217
         </tr>
218
-        <?php do_action( 'wpinv_discount_form_before_items', $post ); ?>
218
+        <?php do_action('wpinv_discount_form_before_items', $post); ?>
219 219
         <tr>
220 220
             <th valign="top" scope="row">
221
-                <label for="wpinv_discount_items"><?php _e( 'Items', 'invoicing' ); ?></label>
221
+                <label for="wpinv_discount_items"><?php _e('Items', 'invoicing'); ?></label>
222 222
             </th>
223 223
             <td>
224
-                <p><?php echo wpinv_item_dropdown( array(
224
+                <p><?php echo wpinv_item_dropdown(array(
225 225
                         'name'              => 'items[]',
226 226
                         'id'                => 'items',
227 227
                         'selected'          => $item_reqs,
228 228
                         'multiple'          => true,
229 229
                         'class'             => 'medium-text wpi_select2',
230
-                        'placeholder'       => __( 'Select one or more Items', 'invoicing' ),
230
+                        'placeholder'       => __('Select one or more Items', 'invoicing'),
231 231
                         'show_recurring'    => true,
232
-                    ) ); ?>
232
+                    )); ?>
233 233
                 </p>
234
-                <p class="description"><?php _e( 'Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing' ); ?></p>
234
+                <p class="description"><?php _e('Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing'); ?></p>
235 235
             </td>
236 236
         </tr>
237
-        <?php do_action( 'wpinv_discount_form_before_excluded_items', $post ); ?>
237
+        <?php do_action('wpinv_discount_form_before_excluded_items', $post); ?>
238 238
         <tr>
239 239
             <th valign="top" scope="row">
240
-                <label for="wpinv_discount_excluded_items"><?php _e( 'Excluded Items', 'invoicing' ); ?></label>
240
+                <label for="wpinv_discount_excluded_items"><?php _e('Excluded Items', 'invoicing'); ?></label>
241 241
             </th>
242 242
             <td>
243
-                <p><?php echo wpinv_item_dropdown( array(
243
+                <p><?php echo wpinv_item_dropdown(array(
244 244
                         'name'              => 'excluded_items[]',
245 245
                         'id'                => 'excluded_items',
246 246
                         'selected'          => $excluded_items,
247 247
                         'multiple'          => true,
248 248
                         'class'             => 'medium-text wpi_select2',
249
-                        'placeholder'       => __( 'Select one or more Items', 'invoicing' ),
249
+                        'placeholder'       => __('Select one or more Items', 'invoicing'),
250 250
                         'show_recurring'    => true,
251
-                    ) ); ?>
251
+                    )); ?>
252 252
                 </p>
253
-                <p class="description"><?php _e( 'Items which are NOT allowed to use this discount.', 'invoicing' ); ?></p>
253
+                <p class="description"><?php _e('Items which are NOT allowed to use this discount.', 'invoicing'); ?></p>
254 254
             </td>
255 255
         </tr>
256
-        <?php do_action( 'wpinv_discount_form_before_start', $post ); ?>
256
+        <?php do_action('wpinv_discount_form_before_start', $post); ?>
257 257
         <tr>
258 258
             <th valign="top" scope="row">
259
-                <label for="wpinv_discount_start"><?php _e( 'Start Date', 'invoicing' ); ?></label>
259
+                <label for="wpinv_discount_start"><?php _e('Start Date', 'invoicing'); ?></label>
260 260
             </th>
261 261
             <td>
262
-                <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr( $start_date ); ?>"> @ <select id="wpinv_discount_start_h" name="start_h">
263
-                    <?php for ( $i = 0; $i <= 23; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?>
264
-                    <option value="<?php echo $value;?>" <?php selected( $value, $start_h ); ?>><?php echo $value;?></option>
262
+                <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr($start_date); ?>"> @ <select id="wpinv_discount_start_h" name="start_h">
263
+                    <?php for ($i = 0; $i <= 23; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?>
264
+                    <option value="<?php echo $value; ?>" <?php selected($value, $start_h); ?>><?php echo $value; ?></option>
265 265
                     <?php } ?>
266 266
                 </select> : <select id="wpinv_discount_start_m" name="start_m">
267
-                    <?php for ( $i = 0; $i <= 59; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?>
268
-                    <option value="<?php echo $value;?>" <?php selected( $value, $start_m ); ?>><?php echo $value;?></option>
267
+                    <?php for ($i = 0; $i <= 59; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?>
268
+                    <option value="<?php echo $value; ?>" <?php selected($value, $start_m); ?>><?php echo $value; ?></option>
269 269
                     <?php } ?>
270 270
                 </select>
271
-                <p class="description"><?php _e( 'Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing' ); ?></p>
271
+                <p class="description"><?php _e('Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing'); ?></p>
272 272
             </td>
273 273
         </tr>
274
-        <?php do_action( 'wpinv_discount_form_before_expiration', $post ); ?>
274
+        <?php do_action('wpinv_discount_form_before_expiration', $post); ?>
275 275
         <tr>
276 276
             <th valign="top" scope="row">
277
-                <label for="wpinv_discount_expiration"><?php _e( 'Expiration Date', 'invoicing' ); ?></label>
277
+                <label for="wpinv_discount_expiration"><?php _e('Expiration Date', 'invoicing'); ?></label>
278 278
             </th>
279 279
             <td>
280
-                <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr( $expiration_date ); ?>"> @ <select id="wpinv_discount_expiration_h" name="expiration_h">
281
-                    <?php for ( $i = 0; $i <= 23; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?>
282
-                    <option value="<?php echo $value;?>" <?php selected( $value, $expiration_h ); ?>><?php echo $value;?></option>
280
+                <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr($expiration_date); ?>"> @ <select id="wpinv_discount_expiration_h" name="expiration_h">
281
+                    <?php for ($i = 0; $i <= 23; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?>
282
+                    <option value="<?php echo $value; ?>" <?php selected($value, $expiration_h); ?>><?php echo $value; ?></option>
283 283
                     <?php } ?>
284 284
                 </select> : <select id="wpinv_discount_expiration_m" name="expiration_m">
285
-                    <?php for ( $i = 0; $i <= 59; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?>
286
-                    <option value="<?php echo $value;?>" <?php selected( $value, $expiration_m ); ?>><?php echo $value;?></option>
285
+                    <?php for ($i = 0; $i <= 59; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?>
286
+                    <option value="<?php echo $value; ?>" <?php selected($value, $expiration_m); ?>><?php echo $value; ?></option>
287 287
                     <?php } ?>
288 288
                 </select>
289
-                <p class="description"><?php _e( 'Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing' ); ?></p>
289
+                <p class="description"><?php _e('Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing'); ?></p>
290 290
             </td>
291 291
         </tr>
292
-        <?php do_action( 'wpinv_discount_form_before_min_total', $post ); ?>
292
+        <?php do_action('wpinv_discount_form_before_min_total', $post); ?>
293 293
         <tr>
294 294
             <th valign="top" scope="row">
295
-                <label for="wpinv_discount_min_total"><?php _e( 'Minimum Amount', 'invoicing' ); ?></label>
295
+                <label for="wpinv_discount_min_total"><?php _e('Minimum Amount', 'invoicing'); ?></label>
296 296
             </th>
297 297
             <td>
298 298
                 <input type="text" name="min_total" id="wpinv_discount_min_total" class="wpi-field-price wpi-price" value="<?php echo $min_total; ?>">
299
-                <p class="description"><?php _e( 'This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p>
299
+                <p class="description"><?php _e('This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p>
300 300
             </td>
301 301
         </tr>
302
-        <?php do_action( 'wpinv_discount_form_before_max_total', $post ); ?>
302
+        <?php do_action('wpinv_discount_form_before_max_total', $post); ?>
303 303
         <tr>
304 304
             <th valign="top" scope="row">
305
-                <label for="wpinv_discount_max_total"><?php _e( 'Maximum Amount', 'invoicing' ); ?></label>
305
+                <label for="wpinv_discount_max_total"><?php _e('Maximum Amount', 'invoicing'); ?></label>
306 306
             </th>
307 307
             <td>
308 308
                 <input type="text" name="max_total" id="wpinv_discount_max_total" class="wpi-field-price wpi-price" value="<?php echo $max_total; ?>">
309
-                <p class="description"><?php _e( 'This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p>
309
+                <p class="description"><?php _e('This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p>
310 310
             </td>
311 311
         </tr>
312
-        <?php do_action( 'wpinv_discount_form_before_recurring', $post ); ?>
312
+        <?php do_action('wpinv_discount_form_before_recurring', $post); ?>
313 313
         <tr>
314 314
             <th valign="top" scope="row">
315
-                <label for="wpinv_discount_recurring"><?php _e( 'For recurring apply to', 'invoicing' ); ?></label>
315
+                <label for="wpinv_discount_recurring"><?php _e('For recurring apply to', 'invoicing'); ?></label>
316 316
             </th>
317 317
             <td>
318 318
                 <select id="wpinv_discount_recurring" name="recurring" class="medium-text wpi_select2">
319
-                    <option value="0" <?php selected( false, $recurring ); ?>><?php _e( 'All payments', 'invoicing' ); ?></option>
320
-                    <option value="1" <?php selected( true, $recurring ); ?>><?php _e( 'First payment only', 'invoicing' ); ?></option>
319
+                    <option value="0" <?php selected(false, $recurring); ?>><?php _e('All payments', 'invoicing'); ?></option>
320
+                    <option value="1" <?php selected(true, $recurring); ?>><?php _e('First payment only', 'invoicing'); ?></option>
321 321
                 </select>
322
-                <p class="description"><?php _e( '<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing' ); ?></p>
322
+                <p class="description"><?php _e('<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing'); ?></p>
323 323
             </td>
324 324
         </tr>
325
-        <?php do_action( 'wpinv_discount_form_before_max_uses', $post ); ?>
325
+        <?php do_action('wpinv_discount_form_before_max_uses', $post); ?>
326 326
         <tr>
327 327
             <th valign="top" scope="row">
328
-                <label for="wpinv_discount_max_uses"><?php _e( 'Max Uses', 'invoicing' ); ?></label>
328
+                <label for="wpinv_discount_max_uses"><?php _e('Max Uses', 'invoicing'); ?></label>
329 329
             </th>
330 330
             <td>
331 331
                 <input type="number" min="0" step="1" id="wpinv_discount_max_uses" name="max_uses" class="medium-text" value="<?php echo $max_uses; ?>">
332
-                <p class="description"><?php _e( 'The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing' ); ?></p>
332
+                <p class="description"><?php _e('The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing'); ?></p>
333 333
             </td>
334 334
         </tr>
335
-        <?php do_action( 'wpinv_discount_form_before_single_use', $post ); ?>
335
+        <?php do_action('wpinv_discount_form_before_single_use', $post); ?>
336 336
         <tr>
337 337
             <th valign="top" scope="row">
338
-                <label for="wpinv_discount_single_use"><?php _e( 'Use Once Per User', 'invoicing' ); ?></label>
338
+                <label for="wpinv_discount_single_use"><?php _e('Use Once Per User', 'invoicing'); ?></label>
339 339
             </th>
340 340
             <td>
341
-                <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked( true, $single_use ); ?>>
342
-                <span class="description"><?php _e( 'Limit this discount to a single use per user?', 'invoicing' ); ?></span>
341
+                <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked(true, $single_use); ?>>
342
+                <span class="description"><?php _e('Limit this discount to a single use per user?', 'invoicing'); ?></span>
343 343
             </td>
344 344
         </tr>
345
-        <?php do_action( 'wpinv_discount_form_last', $post ); ?>
345
+        <?php do_action('wpinv_discount_form_last', $post); ?>
346 346
     </tbody>
347 347
 </table>
348
-<?php do_action( 'wpinv_discount_form_bottom', $post ); ?>
348
+<?php do_action('wpinv_discount_form_bottom', $post); ?>
349 349
     <?php
350 350
 }
351 351
 
352
-function wpinv_discount_metabox_save( $post_id, $post, $update = false ) {
353
-    $post_type = !empty( $post ) ? $post->post_type : '';
352
+function wpinv_discount_metabox_save($post_id, $post, $update = false) {
353
+    $post_type = !empty($post) ? $post->post_type : '';
354 354
     
355
-    if ( $post_type != 'wpi_discount' ) {
355
+    if ($post_type != 'wpi_discount') {
356 356
         return;
357 357
     }
358 358
     
359
-    if ( !isset( $_POST['wpinv_discount_metabox_nonce'] ) || ( isset( $_POST['wpinv_discount_metabox_nonce'] ) && !wp_verify_nonce( $_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce' ) ) ) {
359
+    if (!isset($_POST['wpinv_discount_metabox_nonce']) || (isset($_POST['wpinv_discount_metabox_nonce']) && !wp_verify_nonce($_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce'))) {
360 360
         return;
361 361
     }
362 362
     
363
-    if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
363
+    if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) || (defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) {
364 364
         return;
365 365
     }
366 366
     
367
-    if ( !current_user_can( wpinv_get_capability(), $post_id ) ) {
367
+    if (!current_user_can(wpinv_get_capability(), $post_id)) {
368 368
         return;
369 369
     }
370 370
     
371
-    if ( !empty( $_POST['start'] ) && isset( $_POST['start_h'] ) && isset( $_POST['start_m'] ) && $_POST['start_h'] !== '' && $_POST['start_m'] !== '' ) {
371
+    if (!empty($_POST['start']) && isset($_POST['start_h']) && isset($_POST['start_m']) && $_POST['start_h'] !== '' && $_POST['start_m'] !== '') {
372 372
         $_POST['start'] = $_POST['start'] . ' ' . $_POST['start_h'] . ':' . $_POST['start_m'];
373 373
     }
374 374
 
375
-    if ( !empty( $_POST['expiration'] ) && isset( $_POST['expiration_h'] ) && isset( $_POST['expiration_m'] ) ) {
375
+    if (!empty($_POST['expiration']) && isset($_POST['expiration_h']) && isset($_POST['expiration_m'])) {
376 376
         $_POST['expiration'] = $_POST['expiration'] . ' ' . $_POST['expiration_h'] . ':' . $_POST['expiration_m'];
377 377
     }
378 378
     
379
-    return wpinv_store_discount( $post_id, $_POST, $post, $update );
379
+    return wpinv_store_discount($post_id, $_POST, $post, $update);
380 380
 }
381
-add_action( 'save_post', 'wpinv_discount_metabox_save', 10, 3 );
382 381
\ No newline at end of file
382
+add_action('save_post', 'wpinv_discount_metabox_save', 10, 3);
383 383
\ No newline at end of file
Please login to merge, or discard this patch.
includes/class-wpinv-session-handler.php 2 patches
Indentation   +276 added lines, -276 removed lines patch added patch discarded remove patch
@@ -12,124 +12,124 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class WPInv_Session_Handler extends WPInv_Session {
14 14
 
15
-	/**
16
-	 * Cookie name used for the session.
17
-	 *
18
-	 * @var string cookie name
19
-	 */
20
-	protected $_cookie;
21
-
22
-	/**
23
-	 * Stores session expiry.
24
-	 *
25
-	 * @var int session due to expire timestamp
26
-	 */
27
-	protected $_session_expiring;
28
-
29
-	/**
30
-	 * Stores session due to expire timestamp.
31
-	 *
32
-	 * @var string session expiration timestamp
33
-	 */
34
-	protected $_session_expiration;
35
-
36
-	/**
37
-	 * True when the cookie exists.
38
-	 *
39
-	 * @var bool Based on whether a cookie exists.
40
-	 */
41
-	protected $_has_cookie = false;
42
-
43
-	/**
44
-	 * Table name for session data.
45
-	 *
46
-	 * @var string Custom session table name
47
-	 */
48
-	protected $_table;
49
-
50
-	/**
51
-	 * Constructor for the session class.
52
-	 */
53
-	public function __construct() {
54
-
55
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
15
+    /**
16
+     * Cookie name used for the session.
17
+     *
18
+     * @var string cookie name
19
+     */
20
+    protected $_cookie;
21
+
22
+    /**
23
+     * Stores session expiry.
24
+     *
25
+     * @var int session due to expire timestamp
26
+     */
27
+    protected $_session_expiring;
28
+
29
+    /**
30
+     * Stores session due to expire timestamp.
31
+     *
32
+     * @var string session expiration timestamp
33
+     */
34
+    protected $_session_expiration;
35
+
36
+    /**
37
+     * True when the cookie exists.
38
+     *
39
+     * @var bool Based on whether a cookie exists.
40
+     */
41
+    protected $_has_cookie = false;
42
+
43
+    /**
44
+     * Table name for session data.
45
+     *
46
+     * @var string Custom session table name
47
+     */
48
+    protected $_table;
49
+
50
+    /**
51
+     * Constructor for the session class.
52
+     */
53
+    public function __construct() {
54
+
55
+        $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
56 56
         add_action( 'init', array( $this, 'init' ), -1 );
57
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
58
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
59
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
60
-	}
61
-
62
-	/**
63
-	 * Init hooks and session data.
64
-	 *
65
-	 * @since 3.3.0
66
-	 */
67
-	public function init() {
68
-		$this->init_session_cookie();
69
-
70
-		if ( ! is_user_logged_in() ) {
71
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) );
72
-		}
73
-	}
74
-
75
-	/**
76
-	 * Setup cookie and customer ID.
77
-	 *
78
-	 * @since 3.6.0
79
-	 */
80
-	public function init_session_cookie() {
81
-		$cookie = $this->get_session_cookie();
82
-
83
-		if ( $cookie ) {
84
-			$this->_customer_id        = $cookie[0];
85
-			$this->_session_expiration = $cookie[1];
86
-			$this->_session_expiring   = $cookie[2];
87
-			$this->_has_cookie         = true;
88
-			$this->_data               = $this->get_session_data();
89
-
90
-			// If the user logs in, update session.
91
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
92
-				$this->_customer_id = get_current_user_id();
93
-				$this->_dirty       = true;
94
-				$this->save_data();
95
-				$this->set_customer_session_cookie( true );
96
-			}
97
-
98
-			// Update session if its close to expiring.
99
-			if ( time() > $this->_session_expiring ) {
100
-				$this->set_session_expiration();
101
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
102
-			}
103
-		} else {
104
-			$this->set_session_expiration();
105
-			$this->_customer_id = $this->generate_customer_id();
106
-			$this->_data        = $this->get_session_data();
107
-		}
108
-	}
109
-
110
-	/**
111
-	 * Sets the session cookie on-demand (usually after adding an item to the cart).
112
-	 *
113
-	 * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
114
-	 *
115
-	 * Warning: Cookies will only be set if this is called before the headers are sent.
116
-	 *
117
-	 * @param bool $set Should the session cookie be set.
118
-	 */
119
-	public function set_customer_session_cookie( $set ) {
120
-		if ( $set ) {
121
-			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
122
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
123
-			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
124
-			$this->_has_cookie = true;
125
-
126
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
127
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
128
-			}
129
-		}
130
-	}
131
-
132
-	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false){
57
+        add_action( 'wp_logout', array( $this, 'destroy_session' ) );
58
+        add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
59
+        add_action( 'shutdown', array( $this, 'save_data' ), 20 );
60
+    }
61
+
62
+    /**
63
+     * Init hooks and session data.
64
+     *
65
+     * @since 3.3.0
66
+     */
67
+    public function init() {
68
+        $this->init_session_cookie();
69
+
70
+        if ( ! is_user_logged_in() ) {
71
+            add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) );
72
+        }
73
+    }
74
+
75
+    /**
76
+     * Setup cookie and customer ID.
77
+     *
78
+     * @since 3.6.0
79
+     */
80
+    public function init_session_cookie() {
81
+        $cookie = $this->get_session_cookie();
82
+
83
+        if ( $cookie ) {
84
+            $this->_customer_id        = $cookie[0];
85
+            $this->_session_expiration = $cookie[1];
86
+            $this->_session_expiring   = $cookie[2];
87
+            $this->_has_cookie         = true;
88
+            $this->_data               = $this->get_session_data();
89
+
90
+            // If the user logs in, update session.
91
+            if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
92
+                $this->_customer_id = get_current_user_id();
93
+                $this->_dirty       = true;
94
+                $this->save_data();
95
+                $this->set_customer_session_cookie( true );
96
+            }
97
+
98
+            // Update session if its close to expiring.
99
+            if ( time() > $this->_session_expiring ) {
100
+                $this->set_session_expiration();
101
+                $this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
102
+            }
103
+        } else {
104
+            $this->set_session_expiration();
105
+            $this->_customer_id = $this->generate_customer_id();
106
+            $this->_data        = $this->get_session_data();
107
+        }
108
+    }
109
+
110
+    /**
111
+     * Sets the session cookie on-demand (usually after adding an item to the cart).
112
+     *
113
+     * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
114
+     *
115
+     * Warning: Cookies will only be set if this is called before the headers are sent.
116
+     *
117
+     * @param bool $set Should the session cookie be set.
118
+     */
119
+    public function set_customer_session_cookie( $set ) {
120
+        if ( $set ) {
121
+            $to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
122
+            $cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
123
+            $cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
124
+            $this->_has_cookie = true;
125
+
126
+            if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
127
+                $this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
128
+            }
129
+        }
130
+    }
131
+
132
+    public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false){
133 133
         if ( ! headers_sent() ) {
134 134
             setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
135 135
         } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
@@ -138,96 +138,96 @@  discard block
 block discarded – undo
138 138
         }
139 139
     }
140 140
 
141
-	/**
142
-	 * Should the session cookie be secure?
143
-	 *
144
-	 * @since 3.6.0
145
-	 * @return bool
146
-	 */
147
-	protected function use_secure_cookie() {
141
+    /**
142
+     * Should the session cookie be secure?
143
+     *
144
+     * @since 3.6.0
145
+     * @return bool
146
+     */
147
+    protected function use_secure_cookie() {
148 148
         $is_https = false !== strstr( get_option( 'home' ), 'https:' );
149
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
150
-	}
151
-
152
-	/**
153
-	 * Return true if the current user has an active session, i.e. a cookie to retrieve values.
154
-	 *
155
-	 * @return bool
156
-	 */
157
-	public function has_session() {
158
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
159
-	}
160
-
161
-	/**
162
-	 * Set session expiration.
163
-	 */
164
-	public function set_session_expiration() {
165
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
166
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
167
-	}
168
-
169
-	/**
170
-	 * Generate a unique customer ID for guests, or return user ID if logged in.
171
-	 *
172
-	 * Uses Portable PHP password hashing framework to generate a unique cryptographically strong ID.
173
-	 *
174
-	 * @return string
175
-	 */
176
-	public function generate_customer_id() {
177
-		$customer_id = '';
178
-
179
-		if ( is_user_logged_in() ) {
180
-			$customer_id = get_current_user_id();
181
-		}
182
-
183
-		if ( empty( $customer_id ) ) {
149
+        return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
150
+    }
151
+
152
+    /**
153
+     * Return true if the current user has an active session, i.e. a cookie to retrieve values.
154
+     *
155
+     * @return bool
156
+     */
157
+    public function has_session() {
158
+        return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
159
+    }
160
+
161
+    /**
162
+     * Set session expiration.
163
+     */
164
+    public function set_session_expiration() {
165
+        $this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
166
+        $this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
167
+    }
168
+
169
+    /**
170
+     * Generate a unique customer ID for guests, or return user ID if logged in.
171
+     *
172
+     * Uses Portable PHP password hashing framework to generate a unique cryptographically strong ID.
173
+     *
174
+     * @return string
175
+     */
176
+    public function generate_customer_id() {
177
+        $customer_id = '';
178
+
179
+        if ( is_user_logged_in() ) {
180
+            $customer_id = get_current_user_id();
181
+        }
182
+
183
+        if ( empty( $customer_id ) ) {
184 184
             $customer_id = wp_create_nonce('wpinv-session-customer-id');
185
-		}
186
-
187
-		return $customer_id;
188
-	}
189
-
190
-	/**
191
-	 * Get the session cookie, if set. Otherwise return false.
192
-	 *
193
-	 * Session cookies without a customer ID are invalid.
194
-	 *
195
-	 * @return bool|array
196
-	 */
197
-	public function get_session_cookie() {
198
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
199
-
200
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
201
-			return false;
202
-		}
203
-
204
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
205
-
206
-		if ( empty( $customer_id ) ) {
207
-			return false;
208
-		}
209
-
210
-		// Validate hash.
211
-		$to_hash = $customer_id . '|' . $session_expiration;
212
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
213
-
214
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
215
-			return false;
216
-		}
217
-
218
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
219
-	}
220
-
221
-	/**
222
-	 * Get session data.
223
-	 *
224
-	 * @return array
225
-	 */
226
-	public function get_session_data() {
227
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
228
-	}
229
-
230
-	public function generate_key($customer_id){
185
+        }
186
+
187
+        return $customer_id;
188
+    }
189
+
190
+    /**
191
+     * Get the session cookie, if set. Otherwise return false.
192
+     *
193
+     * Session cookies without a customer ID are invalid.
194
+     *
195
+     * @return bool|array
196
+     */
197
+    public function get_session_cookie() {
198
+        $cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
199
+
200
+        if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
201
+            return false;
202
+        }
203
+
204
+        list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
205
+
206
+        if ( empty( $customer_id ) ) {
207
+            return false;
208
+        }
209
+
210
+        // Validate hash.
211
+        $to_hash = $customer_id . '|' . $session_expiration;
212
+        $hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
213
+
214
+        if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
215
+            return false;
216
+        }
217
+
218
+        return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
219
+    }
220
+
221
+    /**
222
+     * Get session data.
223
+     *
224
+     * @return array
225
+     */
226
+    public function get_session_data() {
227
+        return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
228
+    }
229
+
230
+    public function generate_key($customer_id){
231 231
         if(!$customer_id){
232 232
             return;
233 233
         }
@@ -235,62 +235,62 @@  discard block
 block discarded – undo
235 235
         return 'wpi_trans_'.$customer_id;
236 236
     }
237 237
 
238
-	/**
239
-	 * Save data.
240
-	 */
241
-	public function save_data() {
242
-		// Dirty if something changed - prevents saving nothing new.
243
-		if ( $this->_dirty && $this->has_session() ) {
238
+    /**
239
+     * Save data.
240
+     */
241
+    public function save_data() {
242
+        // Dirty if something changed - prevents saving nothing new.
243
+        if ( $this->_dirty && $this->has_session() ) {
244 244
 
245 245
             set_transient( $this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
246 246
 
247
-			$this->_dirty = false;
248
-		}
249
-	}
250
-
251
-	/**
252
-	 * Destroy all session data.
253
-	 */
254
-	public function destroy_session() {
255
-		$this->delete_session( $this->_customer_id );
256
-		$this->forget_session();
257
-	}
258
-
259
-	/**
260
-	 * Forget all session data without destroying it.
261
-	 */
262
-	public function forget_session() {
263
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
264
-
265
-		wpinv_empty_cart();
266
-
267
-		$this->_data        = array();
268
-		$this->_dirty       = false;
269
-		$this->_customer_id = $this->generate_customer_id();
270
-	}
271
-
272
-	/**
273
-	 * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
274
-	 *
275
-	 * @param int $uid User ID.
276
-	 * @return string
277
-	 */
278
-	public function nonce_user_logged_out( $uid ) {
279
-		return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
280
-	}
281
-
282
-	/**
283
-	 * Returns the session.
284
-	 *
285
-	 * @param string $customer_id Customer ID.
286
-	 * @param mixed  $default Default session value.
287
-	 * @return string|array
288
-	 */
289
-	public function get_session( $customer_id, $default = false ) {
290
-
291
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
292
-			return array();
293
-		}
247
+            $this->_dirty = false;
248
+        }
249
+    }
250
+
251
+    /**
252
+     * Destroy all session data.
253
+     */
254
+    public function destroy_session() {
255
+        $this->delete_session( $this->_customer_id );
256
+        $this->forget_session();
257
+    }
258
+
259
+    /**
260
+     * Forget all session data without destroying it.
261
+     */
262
+    public function forget_session() {
263
+        $this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
264
+
265
+        wpinv_empty_cart();
266
+
267
+        $this->_data        = array();
268
+        $this->_dirty       = false;
269
+        $this->_customer_id = $this->generate_customer_id();
270
+    }
271
+
272
+    /**
273
+     * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
274
+     *
275
+     * @param int $uid User ID.
276
+     * @return string
277
+     */
278
+    public function nonce_user_logged_out( $uid ) {
279
+        return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
280
+    }
281
+
282
+    /**
283
+     * Returns the session.
284
+     *
285
+     * @param string $customer_id Customer ID.
286
+     * @param mixed  $default Default session value.
287
+     * @return string|array
288
+     */
289
+    public function get_session( $customer_id, $default = false ) {
290
+
291
+        if ( defined( 'WP_SETUP_CONFIG' ) ) {
292
+            return array();
293
+        }
294 294
 
295 295
         if ( !is_user_logged_in() ) {
296 296
             if(!wp_verify_nonce( $customer_id, 'wpinv-session-customer-id' )){
@@ -305,32 +305,32 @@  discard block
 block discarded – undo
305 305
             $value = $default;
306 306
         }
307 307
 
308
-		return maybe_unserialize( $value );
309
-	}
308
+        return maybe_unserialize( $value );
309
+    }
310 310
 
311
-	/**
312
-	 * Delete the session from the cache and database.
313
-	 *
314
-	 * @param int $customer_id Customer ID.
315
-	 */
316
-	public function delete_session( $customer_id ) {
311
+    /**
312
+     * Delete the session from the cache and database.
313
+     *
314
+     * @param int $customer_id Customer ID.
315
+     */
316
+    public function delete_session( $customer_id ) {
317 317
 
318 318
         $key = $this->generate_key($customer_id);
319 319
 
320
-		delete_transient($key);
321
-	}
320
+        delete_transient($key);
321
+    }
322 322
 
323
-	/**
324
-	 * Update the session expiry timestamp.
325
-	 *
326
-	 * @param string $customer_id Customer ID.
327
-	 * @param int    $timestamp Timestamp to expire the cookie.
328
-	 */
329
-	public function update_session_timestamp( $customer_id, $timestamp ) {
323
+    /**
324
+     * Update the session expiry timestamp.
325
+     *
326
+     * @param string $customer_id Customer ID.
327
+     * @param int    $timestamp Timestamp to expire the cookie.
328
+     */
329
+    public function update_session_timestamp( $customer_id, $timestamp ) {
330 330
 
331 331
         set_transient( $this->generate_key($customer_id), maybe_serialize( $this->_data ), $timestamp);
332 332
 
333
-	}
333
+    }
334 334
 }
335 335
 
336 336
 global $wpi_session;
Please login to merge, or discard this patch.
Spacing   +56 added lines, -56 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Session handler class.
@@ -52,11 +52,11 @@  discard block
 block discarded – undo
52 52
 	 */
53 53
 	public function __construct() {
54 54
 
55
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
56
-        add_action( 'init', array( $this, 'init' ), -1 );
57
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
58
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
59
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
55
+	    $this->_cookie = apply_filters('wpinv_cookie', 'wpinv_session_' . COOKIEHASH);
56
+        add_action('init', array($this, 'init'), -1);
57
+		add_action('wp_logout', array($this, 'destroy_session'));
58
+		add_action('wp', array($this, 'set_customer_session_cookie'), 10);
59
+		add_action('shutdown', array($this, 'save_data'), 20);
60 60
 	}
61 61
 
62 62
 	/**
@@ -67,8 +67,8 @@  discard block
 block discarded – undo
67 67
 	public function init() {
68 68
 		$this->init_session_cookie();
69 69
 
70
-		if ( ! is_user_logged_in() ) {
71
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) );
70
+		if (!is_user_logged_in()) {
71
+			add_filter('nonce_user_logged_out', array($this, 'nonce_user_logged_out'));
72 72
 		}
73 73
 	}
74 74
 
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
 	public function init_session_cookie() {
81 81
 		$cookie = $this->get_session_cookie();
82 82
 
83
-		if ( $cookie ) {
83
+		if ($cookie) {
84 84
 			$this->_customer_id        = $cookie[0];
85 85
 			$this->_session_expiration = $cookie[1];
86 86
 			$this->_session_expiring   = $cookie[2];
@@ -88,17 +88,17 @@  discard block
 block discarded – undo
88 88
 			$this->_data               = $this->get_session_data();
89 89
 
90 90
 			// If the user logs in, update session.
91
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
91
+			if (is_user_logged_in() && get_current_user_id() != $this->_customer_id) {
92 92
 				$this->_customer_id = get_current_user_id();
93 93
 				$this->_dirty       = true;
94 94
 				$this->save_data();
95
-				$this->set_customer_session_cookie( true );
95
+				$this->set_customer_session_cookie(true);
96 96
 			}
97 97
 
98 98
 			// Update session if its close to expiring.
99
-			if ( time() > $this->_session_expiring ) {
99
+			if (time() > $this->_session_expiring) {
100 100
 				$this->set_session_expiration();
101
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
101
+				$this->update_session_timestamp($this->_customer_id, $this->_session_expiration);
102 102
 			}
103 103
 		} else {
104 104
 			$this->set_session_expiration();
@@ -116,25 +116,25 @@  discard block
 block discarded – undo
116 116
 	 *
117 117
 	 * @param bool $set Should the session cookie be set.
118 118
 	 */
119
-	public function set_customer_session_cookie( $set ) {
120
-		if ( $set ) {
119
+	public function set_customer_session_cookie($set) {
120
+		if ($set) {
121 121
 			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
122
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
122
+			$cookie_hash       = hash_hmac('md5', $to_hash, wp_hash($to_hash));
123 123
 			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
124 124
 			$this->_has_cookie = true;
125 125
 
126
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
127
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
126
+			if (!isset($_COOKIE[$this->_cookie]) || $_COOKIE[$this->_cookie] !== $cookie_value) {
127
+				$this->setcookie($this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true);
128 128
 			}
129 129
 		}
130 130
 	}
131 131
 
132
-	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false){
133
-        if ( ! headers_sent() ) {
134
-            setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
135
-        } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
136
-            headers_sent( $file, $line );
137
-            trigger_error( "{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE ); // @codingStandardsIgnoreLine
132
+	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false) {
133
+        if (!headers_sent()) {
134
+            setcookie($name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters('wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure));
135
+        } elseif (defined('WP_DEBUG') && WP_DEBUG) {
136
+            headers_sent($file, $line);
137
+            trigger_error("{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE); // @codingStandardsIgnoreLine
138 138
         }
139 139
     }
140 140
 
@@ -145,8 +145,8 @@  discard block
 block discarded – undo
145 145
 	 * @return bool
146 146
 	 */
147 147
 	protected function use_secure_cookie() {
148
-        $is_https = false !== strstr( get_option( 'home' ), 'https:' );
149
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
148
+        $is_https = false !== strstr(get_option('home'), 'https:');
149
+		return apply_filters('wpinv_session_use_secure_cookie', $is_https && is_ssl());
150 150
 	}
151 151
 
152 152
 	/**
@@ -155,15 +155,15 @@  discard block
 block discarded – undo
155 155
 	 * @return bool
156 156
 	 */
157 157
 	public function has_session() {
158
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
158
+		return isset($_COOKIE[$this->_cookie]) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
159 159
 	}
160 160
 
161 161
 	/**
162 162
 	 * Set session expiration.
163 163
 	 */
164 164
 	public function set_session_expiration() {
165
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
166
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
165
+		$this->_session_expiring   = time() + intval(apply_filters('wpinv_session_expiring', 60 * 60 * 47)); // 47 Hours.
166
+		$this->_session_expiration = time() + intval(apply_filters('wpinv_session_expiration', 60 * 60 * 48)); // 48 Hours.
167 167
 	}
168 168
 
169 169
 	/**
@@ -176,11 +176,11 @@  discard block
 block discarded – undo
176 176
 	public function generate_customer_id() {
177 177
 		$customer_id = '';
178 178
 
179
-		if ( is_user_logged_in() ) {
179
+		if (is_user_logged_in()) {
180 180
 			$customer_id = get_current_user_id();
181 181
 		}
182 182
 
183
-		if ( empty( $customer_id ) ) {
183
+		if (empty($customer_id)) {
184 184
             $customer_id = wp_create_nonce('wpinv-session-customer-id');
185 185
 		}
186 186
 
@@ -195,27 +195,27 @@  discard block
 block discarded – undo
195 195
 	 * @return bool|array
196 196
 	 */
197 197
 	public function get_session_cookie() {
198
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
198
+		$cookie_value = isset($_COOKIE[$this->_cookie]) ? wp_unslash($_COOKIE[$this->_cookie]) : false; // @codingStandardsIgnoreLine.
199 199
 
200
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
200
+		if (empty($cookie_value) || !is_string($cookie_value)) {
201 201
 			return false;
202 202
 		}
203 203
 
204
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
204
+		list($customer_id, $session_expiration, $session_expiring, $cookie_hash) = explode('||', $cookie_value);
205 205
 
206
-		if ( empty( $customer_id ) ) {
206
+		if (empty($customer_id)) {
207 207
 			return false;
208 208
 		}
209 209
 
210 210
 		// Validate hash.
211 211
 		$to_hash = $customer_id . '|' . $session_expiration;
212
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
212
+		$hash    = hash_hmac('md5', $to_hash, wp_hash($to_hash));
213 213
 
214
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
214
+		if (empty($cookie_hash) || !hash_equals($hash, $cookie_hash)) {
215 215
 			return false;
216 216
 		}
217 217
 
218
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
218
+		return array($customer_id, $session_expiration, $session_expiring, $cookie_hash);
219 219
 	}
220 220
 
221 221
 	/**
@@ -224,15 +224,15 @@  discard block
 block discarded – undo
224 224
 	 * @return array
225 225
 	 */
226 226
 	public function get_session_data() {
227
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
227
+		return $this->has_session() ? (array) $this->get_session($this->_customer_id) : array();
228 228
 	}
229 229
 
230
-	public function generate_key($customer_id){
231
-        if(!$customer_id){
230
+	public function generate_key($customer_id) {
231
+        if (!$customer_id) {
232 232
             return;
233 233
         }
234 234
 
235
-        return 'wpi_trans_'.$customer_id;
235
+        return 'wpi_trans_' . $customer_id;
236 236
     }
237 237
 
238 238
 	/**
@@ -240,9 +240,9 @@  discard block
 block discarded – undo
240 240
 	 */
241 241
 	public function save_data() {
242 242
 		// Dirty if something changed - prevents saving nothing new.
243
-		if ( $this->_dirty && $this->has_session() ) {
243
+		if ($this->_dirty && $this->has_session()) {
244 244
 
245
-            set_transient( $this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
245
+            set_transient($this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
246 246
 
247 247
 			$this->_dirty = false;
248 248
 		}
@@ -252,7 +252,7 @@  discard block
 block discarded – undo
252 252
 	 * Destroy all session data.
253 253
 	 */
254 254
 	public function destroy_session() {
255
-		$this->delete_session( $this->_customer_id );
255
+		$this->delete_session($this->_customer_id);
256 256
 		$this->forget_session();
257 257
 	}
258 258
 
@@ -260,7 +260,7 @@  discard block
 block discarded – undo
260 260
 	 * Forget all session data without destroying it.
261 261
 	 */
262 262
 	public function forget_session() {
263
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
263
+		$this->setcookie($this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true);
264 264
 
265 265
 		wpinv_empty_cart();
266 266
 
@@ -275,7 +275,7 @@  discard block
 block discarded – undo
275 275
 	 * @param int $uid User ID.
276 276
 	 * @return string
277 277
 	 */
278
-	public function nonce_user_logged_out( $uid ) {
278
+	public function nonce_user_logged_out($uid) {
279 279
 		return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
280 280
 	}
281 281
 
@@ -286,14 +286,14 @@  discard block
 block discarded – undo
286 286
 	 * @param mixed  $default Default session value.
287 287
 	 * @return string|array
288 288
 	 */
289
-	public function get_session( $customer_id, $default = false ) {
289
+	public function get_session($customer_id, $default = false) {
290 290
 
291
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
291
+		if (defined('WP_SETUP_CONFIG')) {
292 292
 			return array();
293 293
 		}
294 294
 
295
-        if ( !is_user_logged_in() ) {
296
-            if(!wp_verify_nonce( $customer_id, 'wpinv-session-customer-id' )){
295
+        if (!is_user_logged_in()) {
296
+            if (!wp_verify_nonce($customer_id, 'wpinv-session-customer-id')) {
297 297
                 return array();
298 298
             }
299 299
         }
@@ -301,11 +301,11 @@  discard block
 block discarded – undo
301 301
         $key = $this->generate_key($customer_id);
302 302
         $value = get_transient($key);
303 303
 
304
-        if ( !$value ) {
304
+        if (!$value) {
305 305
             $value = $default;
306 306
         }
307 307
 
308
-		return maybe_unserialize( $value );
308
+		return maybe_unserialize($value);
309 309
 	}
310 310
 
311 311
 	/**
@@ -313,7 +313,7 @@  discard block
 block discarded – undo
313 313
 	 *
314 314
 	 * @param int $customer_id Customer ID.
315 315
 	 */
316
-	public function delete_session( $customer_id ) {
316
+	public function delete_session($customer_id) {
317 317
 
318 318
         $key = $this->generate_key($customer_id);
319 319
 
@@ -326,9 +326,9 @@  discard block
 block discarded – undo
326 326
 	 * @param string $customer_id Customer ID.
327 327
 	 * @param int    $timestamp Timestamp to expire the cookie.
328 328
 	 */
329
-	public function update_session_timestamp( $customer_id, $timestamp ) {
329
+	public function update_session_timestamp($customer_id, $timestamp) {
330 330
 
331
-        set_transient( $this->generate_key($customer_id), maybe_serialize( $this->_data ), $timestamp);
331
+        set_transient($this->generate_key($customer_id), maybe_serialize($this->_data), $timestamp);
332 332
 
333 333
 	}
334 334
 }
Please login to merge, or discard this patch.